 :root{
--teal:#0f766e;--deep:#064e5a;--emerald:#059669;--bg:#f5f8f7;--text:#172121;
--muted:#647474;--border:#e3ebe9;--warning:#d97706;--danger:#dc2626;
}
body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:var(--teal);text-decoration:none}.app-gradient{background:linear-gradient(135deg,var(--teal),var(--deep))}
.btn-primary{--bs-btn-bg:var(--teal);--bs-btn-border-color:var(--teal);--bs-btn-hover-bg:var(--deep);--bs-btn-hover-border-color:var(--deep)}
.card{border:1px solid var(--border);box-shadow:0 8px 24px rgba(6,78,90,.05);border-radius:16px}
.sidebar{min-height:100vh;background:linear-gradient(180deg,var(--deep),#0b5f62);color:#fff}
.sidebar a{color:#dcefed;padding:10px 14px;border-radius:10px;display:block;margin:2px 0}.sidebar a:hover,.sidebar a.active{background:rgba(255,255,255,.13);color:#fff}
.topbar{background:#fff;border-bottom:1px solid var(--border)}
.stat{border-left:4px solid var(--teal)}.timer{font-variant-numeric:tabular-nums;font-weight:800}
.question-btn{width:42px;height:42px;border:1px solid var(--border);background:#fff;border-radius:10px;margin:3px;font-weight:700}
.question-btn.current{outline:3px solid rgba(15,118,110,.16);border-color:var(--teal)}
.question-btn.answered{background:#059669;color:#fff;border-color:#059669}
.question-btn.review{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
.question-btn.answered-review{background:#0f766e;color:#fff;border:3px solid #f59e0b}
.login-shell{min-height:100vh}.login-panel{background:linear-gradient(145deg,var(--deep),var(--teal));color:#fff}
.exam-header{background:linear-gradient(90deg,var(--deep),var(--teal));color:#fff}
.option{border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:10px;cursor:pointer}.option:hover{border-color:var(--teal);background:#f0fdfa}.option input:checked + span{font-weight:700;color:var(--deep)}
.table thead th{background:#eef7f5;color:var(--deep);white-space:nowrap}
.badge-soft{background:#e7f5f2;color:var(--deep)}
@media(max-width:991px){.sidebar{min-height:auto}.question-panel{position:static}}
@media print{.no-print{display:none!important}.print-card{box-shadow:none;border:0}}
