
:root{
  --bg:#f4f7fb;--card:#fff;--text:#182230;--muted:#64748b;--primary:#2563eb;
  --primary-dark:#1d4ed8;--border:#dbe3ef;--success:#15803d;--success-bg:#dcfce7;
  --danger:#b91c1c;--danger-bg:#fee2e2;--shadow:0 10px 30px rgba(15,23,42,.08);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
a{color:var(--primary);text-decoration:none}.container{max-width:1100px;margin:0 auto;padding:24px 16px 50px}
header.hero{background:linear-gradient(135deg,#172554,#2563eb);color:#fff;padding:36px 0 42px}
.hero h1{margin:0 0 8px;font-size:clamp(28px,5vw,44px)}.hero p{margin:0;opacity:.9}
.card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:22px;box-shadow:var(--shadow);margin-bottom:18px}
h2{margin:0 0 12px;font-size:22px}h3{margin:0 0 10px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.category{border:1px solid var(--border);border-radius:14px;padding:16px;display:flex;gap:12px;align-items:flex-start}
.category input[type=checkbox]{width:20px;height:20px;margin-top:3px;accent-color:var(--primary)}
.category .name{font-weight:700}.category .count{font-size:13px;color:var(--muted);margin-top:2px}
.category select{margin-left:auto;min-width:110px;padding:9px;border:1px solid var(--border);border-radius:10px;background:#fff}
button,.button{border:0;border-radius:11px;background:var(--primary);color:#fff;padding:12px 18px;font-weight:700;font-size:15px;cursor:pointer;display:inline-block}
button:hover,.button:hover{background:var(--primary-dark)}
.secondary{background:#e2e8f0;color:#0f172a}.secondary:hover{background:#cbd5e1}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.notice{padding:12px 14px;border-radius:10px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;margin:12px 0}
.error{padding:12px 14px;border-radius:10px;background:var(--danger-bg);border:1px solid #fecaca;color:var(--danger);margin:12px 0}
.test-top{position:sticky;top:0;z-index:5;background:rgba(244,247,251,.96);backdrop-filter:blur(8px);padding:10px 0}
.timer{font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}
.progress{height:9px;background:#e2e8f0;border-radius:99px;overflow:hidden;margin-top:8px}.progress>span{display:block;height:100%;background:var(--primary);width:0}
.question{scroll-margin-top:90px}.q-head{display:flex;gap:12px;align-items:flex-start}.q-num{min-width:42px;height:42px;border-radius:12px;background:#dbeafe;color:#1d4ed8;display:grid;place-items:center;font-weight:800}
.q-text{font-size:18px;font-weight:700}.option{display:block;border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin:9px 0;cursor:pointer;transition:.15s}
.option:hover{border-color:#93c5fd;background:#f8fbff}.option input{margin-right:10px;accent-color:var(--primary)}
.badge{display:inline-flex;align-items:center;border-radius:99px;padding:5px 10px;font-size:13px;font-weight:800}
.badge.success{background:var(--success-bg);color:var(--success)}.badge.danger{background:var(--danger-bg);color:var(--danger)}
.result-option{padding:10px 12px;border-radius:10px;margin:7px 0;border:1px solid var(--border)}
.result-option.correct{background:var(--success-bg);border-color:#86efac;color:#166534}
.result-option.wrong{background:var(--danger-bg);border-color:#fca5a5;color:#991b1b}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat{padding:16px;border:1px solid var(--border);border-radius:14px;background:#fff}.stat .value{font-size:28px;font-weight:850}.stat .label{color:var(--muted);font-size:13px}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:11px 10px;border-bottom:1px solid var(--border);text-align:left}th{font-size:13px;color:var(--muted);text-transform:uppercase}
footer{color:var(--muted);font-size:13px;text-align:center;padding:25px}
@media(max-width:650px){.container{padding:16px 10px 40px}.card{padding:16px}.category{align-items:center}.category select{min-width:90px}.q-text{font-size:16px}}

/* Πλαϊνή γρήγορη πλοήγηση ερωτήσεων */
.quiz-container{max-width:1400px}
.quiz-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:start}
.question-nav{position:sticky;top:14px;background:var(--card);border:1px solid var(--border);border-radius:18px;padding:14px;box-shadow:var(--shadow);max-height:calc(100vh - 28px);overflow:auto}
.question-nav-title{font-weight:850;font-size:18px}
.question-nav-subtitle{font-size:12px;color:var(--muted);margin-bottom:12px}
.question-nav-list{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.nav-q{border:1px solid var(--border);background:#f8fafc;color:var(--text);border-radius:9px;padding:8px 3px;font-size:13px;font-weight:750;cursor:pointer}
.nav-q:hover{border-color:#93c5fd;background:#eff6ff}
.nav-q.answered{background:var(--success-bg);border-color:#86efac;color:#166534}
.nav-q.current{outline:3px solid #bfdbfe;border-color:var(--primary);background:#dbeafe;color:#1d4ed8}
.nav-q.answered.current{background:#bbf7d0}
.nav-legend{display:grid;gap:6px;margin-top:13px;padding-top:12px;border-top:1px solid var(--border);font-size:11px;color:var(--muted)}
.nav-legend span{display:flex;align-items:center;gap:7px}
.legend-dot{width:10px;height:10px;border-radius:3px;background:var(--success-bg);border:1px solid #86efac;display:inline-block}
.legend-dot.current{background:#dbeafe;border-color:var(--primary)}
.test-top-row{display:flex;justify-content:space-between;gap:12px;align-items:center}
.progress-meta{font-size:13px;color:var(--muted);margin-top:5px}
.q-meta{font-size:13px;color:var(--muted);margin-bottom:5px}
.options-list{margin-top:15px}
@media(max-width:900px){
  .quiz-shell{display:block}
  .question-nav{position:sticky;top:0;z-index:20;max-height:none;margin-bottom:10px;padding:10px}
  .question-nav-title,.question-nav-subtitle,.nav-legend{display:none}
  .question-nav-list{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}
  .nav-q{flex:0 0 38px;padding:8px 2px}
  .test-top{top:62px}
}
@media(max-width:650px){
  .test-top-row{align-items:flex-start;flex-direction:column;gap:5px}
}
