.sakelariou-adr-app {
  --adr-dark: #171717;
  --adr-red: #c8222a;
  --adr-blue: #247db5;
  --adr-green: #2e7d32;
  --adr-border: #dfe3e7;
  max-width: 900px;
  margin: 24px auto;
  color: var(--adr-dark);
  font-family: inherit;
}

.sakelariou-adr-app * { box-sizing: border-box; }
.sakelariou-adr-app .adr-card {
  background: #fff;
  border: 1px solid var(--adr-border);
  border-top: 5px solid var(--adr-red);
  border-radius: 8px;
  padding: clamp(20px, 4vw, 42px);
  box-shadow: 0 8px 28px rgba(0, 0, 0, .08);
}
.sakelariou-adr-app h2,
.sakelariou-adr-app h3 { color: var(--adr-dark); }
.sakelariou-adr-app fieldset { border: 0; padding: 0; margin: 28px 0 18px; }
.sakelariou-adr-app legend { width: 100%; font-size: 1.18rem; font-weight: 700; margin-bottom: 18px; }
.sakelariou-adr-app .adr-progress-meta { display: flex; justify-content: space-between; gap: 12px; font-size: .95rem; }
.sakelariou-adr-app .adr-progress-right { display: flex; align-items: center; gap: 18px; }
.sakelariou-adr-app .adr-timer { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; padding: 5px 9px; background: #f1f5f8; border-radius: 5px; }
.sakelariou-adr-app .adr-timer strong { min-width: 42px; text-align: right; font-variant-numeric: tabular-nums; }
.sakelariou-adr-app .adr-timer-note { color: #59636e; font-size: .92rem; }
.sakelariou-adr-app .adr-progress { height: 8px; margin-top: 8px; background: #e8edf1; border-radius: 99px; overflow: hidden; }
.sakelariou-adr-app .adr-progress span { display: block; height: 100%; background: var(--adr-blue); transition: width .2s ease; }
.sakelariou-adr-app .adr-answer { display: flex; align-items: flex-start; gap: 12px; padding: 14px; margin: 10px 0; border: 1px solid var(--adr-border); border-radius: 6px; cursor: pointer; }
.sakelariou-adr-app .adr-answer:hover { border-color: var(--adr-blue); background: #f5faff; }
.sakelariou-adr-app .adr-answer input { width: 18px; height: 18px; margin-top: 2px; flex: 0 0 auto; }
.sakelariou-adr-app .adr-answer.is-correct { border-color: var(--adr-green); background: #e8f5e9; }
.sakelariou-adr-app .adr-answer.is-wrong { border-color: var(--adr-red); background: #ffebee; }
.sakelariou-adr-app .adr-feedback { padding: 12px 14px; margin: 16px 0; border-radius: 6px; font-weight: 700; }
.sakelariou-adr-app .adr-feedback.correct { color: #1b5e20; background: #e8f5e9; }
.sakelariou-adr-app .adr-feedback.wrong { color: #8b1117; background: #ffebee; }
.sakelariou-adr-app .adr-required { color: #8b1117; font-weight: 700; }
.sakelariou-adr-app .adr-actions { display: flex; justify-content: flex-end; margin-top: 24px; }
.sakelariou-adr-app .adr-primary { border: 0; border-radius: 5px; padding: 12px 22px; color: #fff; background: var(--adr-blue); font: inherit; font-weight: 700; cursor: pointer; }
.sakelariou-adr-app .adr-primary:hover { background: #176796; }
.sakelariou-adr-app .adr-primary:disabled { opacity: .45; cursor: not-allowed; }
.sakelariou-adr-app .adr-score { display: flex; flex-direction: column; align-items: center; padding: 24px; margin: 22px 0; background: #f4f7f9; border-radius: 8px; }
.sakelariou-adr-app .adr-score strong { font-size: 2.4rem; color: var(--adr-blue); }
.sakelariou-adr-app .adr-final-time { margin-top: 12px; font-size: 1.05rem; }
.sakelariou-adr-app .adr-final-time strong { font-size: inherit; font-variant-numeric: tabular-nums; }
.sakelariou-adr-app .adr-review { border: 1px solid var(--adr-border); border-left: 5px solid var(--adr-green); border-radius: 5px; margin: 10px 0; padding: 12px 14px; }
.sakelariou-adr-app .adr-review.wrong { border-left-color: var(--adr-red); }
.sakelariou-adr-app .adr-review summary { cursor: pointer; font-weight: 700; }
.sakelariou-adr-app .adr-review p { margin: 10px 0 0; }

.adr-catalog { max-width: 1120px; margin: 30px auto; padding: 34px; background: #fff; border: 1px solid #d9dee3; border-top: 5px solid #cf2029; border-radius: 10px; }
.adr-catalog-header h2 { margin: 0 0 10px; }
.adr-catalog-header p { margin: 0 0 26px; }
.adr-category-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.adr-category-card { padding: 22px; border: 1px solid #d9dee3; border-radius: 8px; background: #fafbfc; }
.adr-category-card h3 { margin: 0 0 6px; font-size: 21px; }
.adr-category-card p { margin: 0 0 16px; color: #59636e; }
.adr-test-links { display: flex; flex-wrap: wrap; gap: 9px; }
.adr-test-links a { display: inline-block; padding: 10px 15px; border-radius: 5px; background: #2585bb; color: #fff !important; font-weight: 700; text-decoration: none !important; }
.adr-test-links a:hover, .adr-test-links a:focus { background: #17668f; }
.adr-catalog-back { max-width: 1120px; margin: 20px auto 10px; }
.adr-catalog-back a { font-weight: 700; }

@media (max-width: 600px) {
  .adr-catalog { margin: 15px auto; padding: 20px; }
  .adr-category-grid { grid-template-columns: 1fr; }
  .sakelariou-adr-app { margin: 12px 0; }
  .sakelariou-adr-app .adr-card { border-radius: 0; }
  .sakelariou-adr-app .adr-primary { width: 100%; }
  .sakelariou-adr-app .adr-progress-meta { align-items: flex-start; }
  .sakelariou-adr-app .adr-progress-right { align-items: flex-end; flex-direction: column; gap: 5px; }
  .sakelariou-adr-app .adr-timer-label { display: none; }
}
