:root{--navy:#1a2c55;--navy-2:#10203f;--blue:#446ed0;--teal:#40a0ad;--gold:#d8b24b;--bg:#f3f6fb;--card:#fff;--text:#17213a;--muted:#68738b;--line:#dfe6f1;--success:#17845d;--danger:#c53f4d;--warning:#b67812;--shadow:0 20px 60px #14264c1f}*{box-sizing:border-box}html{background:var(--bg)}body{color:var(--text);background:var(--bg);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea{font:inherit}a{color:inherit}.brand{align-items:center;gap:14px;display:flex}.brand img{object-fit:cover;border-radius:14px;box-shadow:0 10px 30px #0f1c3e2e}.brandName{letter-spacing:-.03em;color:var(--navy);font-size:34px;font-weight:800}.brandTag{color:var(--navy);font-size:13px}.brandCompact .brandName{font-size:24px}.brandCompact .brandTag{font-size:10px}.eyebrow{letter-spacing:.16em;color:#a8dbe2;font-size:12px;font-weight:800}.eyebrow.dark{color:var(--blue)}.authPage{grid-template-columns:1.15fr .85fr;min-height:100vh;display:grid}.authHero{background:radial-gradient(circle at top right, #40a0ad59, transparent 35%), linear-gradient(145deg, var(--navy-2), var(--navy));color:#fff;flex-direction:column;justify-content:center;gap:24px;padding:7vw;display:flex}.authHero .brandName,.authHero .brandTag{color:#fff}.authHero h1{letter-spacing:-.055em;max-width:760px;margin:0;font-size:clamp(48px,6vw,88px);line-height:.96}.heroLead{color:#d8e3f7;max-width:720px;margin:0;font-size:20px;line-height:1.65}.heroStats{grid-template-columns:repeat(3,1fr);gap:14px;max-width:720px;display:grid}.heroStats div{background:#ffffff12;border:1px solid #ffffff26;border-radius:16px;padding:18px}.heroStats strong{font-size:28px;display:block}.heroStats span{color:#cbd9f0;font-size:12px}.authCard{background:#fff;flex-direction:column;justify-content:center;padding:7vw 6vw;display:flex}.authCard h2,.panel h1{letter-spacing:-.03em;margin:12px 0 8px;font-size:38px}.authCard>p{color:var(--muted);line-height:1.6}.formStack{gap:16px;margin-top:22px;display:grid}label{color:var(--navy);gap:7px;font-size:13px;font-weight:700;display:grid}input,textarea{width:100%;color:var(--text);background:#fbfcfe;border:1px solid #cfd8e8;border-radius:12px;outline:none;padding:13px 14px}input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px #446ed01f}.adminLink{color:var(--blue);margin-top:22px;font-size:13px;font-weight:700;text-decoration:none}.button{cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;padding:11px 16px;font-weight:800;text-decoration:none;transition:all .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.5;cursor:not-allowed;transform:none}.buttonPrimary{background:var(--blue);color:#fff;box-shadow:0 10px 25px #446ed03d}.buttonSecondary{background:var(--navy);color:#fff}.buttonGhost{color:var(--navy);background:#eef3fb}.buttonDanger{background:var(--danger);color:#fff}.buttonLarge{padding:15px 20px}.alert{border-radius:12px;padding:13px 15px;font-size:14px;line-height:1.5}.alertError{color:#8d2330;background:#fff0f2;border:1px solid #f2c7cd}.alertInfo{color:#244b91;background:#eef5ff;border:1px solid #cfe0fb}.muted{color:var(--muted)}.small{font-size:12px}.centerPage{background:radial-gradient(circle at top left, #40a0ad24, transparent 35%), var(--bg);place-items:center;min-height:100vh;padding:30px;display:grid}.panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:20px;padding:28px}.narrowPanel{width:min(520px,100%)}.topBar{border-bottom:1px solid var(--line);z-index:10;background:#fff;justify-content:space-between;align-items:center;height:82px;padding:10px 4vw;display:flex;position:sticky;top:0}.topBarLabel{color:var(--navy);font-weight:800}.documentPage{min-height:100vh}.documentCard{border:1px solid var(--line);width:min(980px,100% - 32px);box-shadow:var(--shadow);background:#fff;border-radius:22px;margin:38px auto 70px;padding:clamp(26px,5vw,58px)}.documentCard h1{letter-spacing:-.04em;margin:10px 0;font-size:48px}.documentCard .lead{color:var(--muted);font-size:18px;line-height:1.65}.ruleGrid{grid-template-columns:repeat(4,1fr);gap:12px;margin:28px 0 36px;display:grid}.metricCard{border:1px solid var(--line);background:#f8faff;border-radius:14px;padding:18px}.metricCard strong{color:var(--navy);font-size:20px;display:block}.metricCard span{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.4;display:block}.rulesList{gap:11px;padding-left:24px;line-height:1.55;display:grid}.rulesList li::marker{color:var(--blue);font-weight:800}.startBox{border-top:1px solid var(--line);gap:16px;margin-top:28px;padding-top:22px;display:grid}.checkRow{color:var(--text);grid-template-columns:auto 1fr;align-items:start;font-weight:600}.checkRow input{width:18px;height:18px;margin-top:2px}.loadingPage{align-content:center;place-items:center;gap:16px;min-height:100vh;display:grid}.spinner{border:4px solid #d8e1f0;border-top-color:var(--blue);border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.examPage{grid-template:"header header"82px"sidebar main"1fr/300px 1fr;min-height:100vh;display:grid}.examHeader{border-bottom:1px solid var(--line);z-index:20;background:#fff;grid-area:header;grid-template-columns:300px 1fr auto;align-items:center;padding:10px 24px;display:grid;position:sticky;top:0}.examHeaderCenter{flex-direction:column;align-items:center;display:flex}.examHeaderCenter strong{color:var(--navy)}.examHeaderCenter span{color:var(--muted);font-size:12px}.timer{flex-direction:column;align-items:flex-end;min-width:150px;display:flex}.timer span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.timer strong{color:var(--navy);font-variant-numeric:tabular-nums;font-size:25px}.timerUrgent strong{color:var(--danger)}.examSidebar{border-right:1px solid var(--line);background:#fff;grid-area:sidebar;height:calc(100vh - 82px);padding:20px;position:sticky;top:82px;overflow-y:auto}.progressHeader{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.progressHeader strong{color:var(--navy)}.progressBar{background:#e6ecf5;border-radius:8px;height:8px;margin:12px 0 20px;overflow:hidden}.progressBar span{background:linear-gradient(90deg, var(--blue), var(--teal));height:100%;display:block}.categoryList{gap:6px;display:grid}.categoryList button{text-align:left;cursor:pointer;color:var(--text);background:0 0;border:0;border-radius:8px;justify-content:space-between;padding:9px 8px;display:flex}.categoryList button:hover{background:#f1f5fb}.categoryList span{font-size:12px;font-weight:700}.categoryList small{color:var(--muted)}.questionGrid{grid-template-columns:repeat(5,1fr);gap:7px;margin-top:22px;display:grid}.questionGrid button{aspect-ratio:1;border:1px solid var(--line);cursor:pointer;color:var(--muted);background:#fff;border-radius:7px;font-size:11px}.questionGrid button.answered{color:#146e4d;background:#e7f6f1;border-color:#8bcbb6}.questionGrid button.flagged{box-shadow:inset 0 -4px 0 var(--gold)}.questionGrid button.active{border-color:var(--blue);outline:3px solid #446ed040}.examMain{grid-area:main;width:min(980px,100%);margin:0 auto;padding:32px;position:relative}.saveToast{z-index:30;background:var(--success);color:#fff;box-shadow:var(--shadow);border-radius:10px;padding:9px 14px;font-size:12px;font-weight:800;position:fixed;top:100px;right:28px}.questionMeta{flex-wrap:wrap;gap:9px;margin-bottom:12px;display:flex}.questionMeta span{color:var(--navy);background:#e9eef7;border-radius:7px;padding:6px 9px;font-size:11px;font-weight:800}.questionMeta .practicalTag{color:#19717a;background:#dff5f4}.questionCard,.workbookCard,.submitCard{border:1px solid var(--line);background:#fff;border-radius:18px;box-shadow:0 12px 40px #182a5212}.questionCard{padding:30px}.questionCard h1{color:var(--navy);margin:0 0 24px;font-size:24px;line-height:1.45}.optionsList{gap:12px;display:grid}.optionButton{text-align:left;cursor:pointer;width:100%;color:var(--text);background:#fff;border:1px solid #d8e0ec;border-radius:13px;grid-template-columns:38px 1fr;align-items:center;gap:12px;padding:15px;line-height:1.45;display:grid}.optionButton:hover{background:#f8faff;border-color:#9db2df}.optionButton.selected{border-color:var(--blue);background:#edf3ff;box-shadow:0 0 0 3px #446ed01f}.optionLetter{width:34px;height:34px;color:var(--navy);background:#e9eef7;border-radius:50%;place-items:center;font-weight:900;display:grid}.optionButton.selected .optionLetter{background:var(--blue);color:#fff}.questionActions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:28px;padding-top:20px;display:flex}.navButtons{gap:9px;display:flex}.workbookCard{grid-template-columns:1fr auto;align-items:center;gap:24px;margin-top:20px;padding:24px;display:grid}.workbookCard h2{color:var(--navy);margin:5px 0}.workbookCard p{color:var(--muted);font-size:13px;line-height:1.5}.workbookActions{gap:10px;display:grid}.fileButton input{display:none}.uploadSuccess{color:#176d4d;background:#e9f8f2;border-radius:9px;grid-column:1/-1;padding:10px 13px;font-size:12px;font-weight:800}.submitCard{justify-content:space-between;align-items:center;margin-top:20px;padding:22px;display:flex}.submitCard div{flex-direction:column;gap:4px;display:flex}.submitCard span{color:var(--muted);font-size:12px}.resultPanel{text-align:center;width:min(720px,100%)}.resultPanel .brand{justify-content:center}.resultIcon{width:70px;height:70px;color:var(--blue);background:#dcecff;border-radius:50%;place-items:center;margin:28px auto 16px;font-size:36px;font-weight:900;display:grid}.resultIcon.pass{color:var(--success);background:#dff5eb}.scoreGrid{grid-template-columns:repeat(4,1fr);gap:10px;margin:28px 0;display:grid}.scoreGrid div{border:1px solid var(--line);background:#f7f9fd;border-radius:13px;padding:16px}.scoreGrid strong{color:var(--navy);font-size:23px;display:block}.scoreGrid span{color:var(--muted);font-size:11px}.adminPage{min-height:100vh}.adminHeader{border-bottom:1px solid var(--line);z-index:15;background:#fff;justify-content:space-between;align-items:center;height:82px;padding:10px 4vw;display:flex;position:sticky;top:0}.adminHeaderActions{gap:10px;display:flex}.adminContent{padding:38px 4vw 70px}.adminTitle h1,.reviewHeader h1{letter-spacing:-.04em;margin:8px 0;font-size:42px}.adminTitle p,.reviewHeader p{color:var(--muted)}.kpiRow{grid-template-columns:repeat(4,1fr);gap:14px;margin:25px 0;display:grid}.kpi{border:1px solid var(--line);background:#fff;border-radius:15px;padding:20px}.kpi strong{color:var(--navy);font-size:30px;display:block}.kpi span{color:var(--muted);font-size:12px}.tableWrap{border:1px solid var(--line);background:#fff;border-radius:16px;overflow-x:auto}.adminTable{border-collapse:collapse;width:100%;min-width:1050px}.adminTable th{text-align:left;background:var(--navy);color:#fff;letter-spacing:.04em;padding:13px 14px;font-size:11px}.adminTable td{border-bottom:1px solid var(--line);padding:14px;font-size:13px}.adminTable td strong{display:block}.adminTable td small{color:var(--muted);margin-top:3px;display:block}.tableLink{color:var(--blue);font-weight:800;text-decoration:none}.status{text-transform:uppercase;background:#edf1f7;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900;display:inline-block}.status-in_progress{color:#2d5ab0;background:#e6f0ff}.status-submitted_pending_review{color:#8e650a;background:#fff4d9}.status-graded{color:#176c4d;background:#e3f6ee}.emptyCell{text-align:center;color:var(--muted);padding:40px!important}.reviewHeader{justify-content:space-between;align-items:end;gap:20px;display:flex}.reviewScores{gap:10px;display:flex}.reviewScores div{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:120px;padding:14px 18px}.reviewScores strong{color:var(--navy);font-size:22px;display:block}.reviewScores span{color:var(--muted);font-size:10px}.reviewGrid{grid-template-columns:1.3fr .7fr;gap:18px;margin:24px 0;display:grid}.gradeForm{gap:15px;margin-top:20px;display:grid}.detailList{gap:0;display:grid}.detailList div{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:11px 0;display:flex}.detailList dt{color:var(--muted)}.detailList dd{text-align:right;margin:0;font-weight:800}.answerAudit{gap:9px;display:grid}.answerAudit details{border:1px solid var(--line);border-radius:11px;overflow:hidden}.answerAudit summary{cursor:pointer;grid-template-columns:60px 1fr auto;align-items:center;gap:12px;padding:13px;display:grid}.answerAudit summary span{color:var(--navy);font-weight:900}.answerAudit summary strong{font-size:12px}.answerAudit summary em{font-size:11px;font-style:normal;font-weight:900}.answerCorrect summary{background:#edf9f4}.answerWrong summary{background:#fff1f3}.answerAudit details>p,.answerCompare{margin:15px}.answerCompare{grid-template-columns:1fr 1fr;gap:12px;display:grid}.answerCompare div{background:#f7f9fd;border-radius:10px;padding:12px}.answerCompare small{color:var(--muted);margin-bottom:5px;display:block}.eventList{display:grid}.eventList div{border-bottom:1px solid var(--line);justify-content:space-between;padding:10px 0;display:flex}.eventList strong{text-transform:capitalize}.eventList span{color:var(--muted);font-size:12px}@media (max-width:1000px){.authPage{grid-template-columns:1fr}.authHero{min-height:620px}.authCard{padding:60px 8vw}.ruleGrid,.kpiRow{grid-template-columns:repeat(2,1fr)}.examPage{display:block}.examHeader{grid-template-columns:1fr auto}.examHeaderCenter{display:none}.examSidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;position:static}.categoryList{grid-template-columns:repeat(3,1fr)}.questionGrid{grid-template-columns:repeat(10,1fr)}.reviewGrid{grid-template-columns:1fr}.reviewHeader{flex-direction:column;align-items:start}}@media (max-width:650px){.heroStats,.ruleGrid,.kpiRow,.scoreGrid{grid-template-columns:1fr 1fr}.documentCard h1,.adminTitle h1,.reviewHeader h1{font-size:34px}.examHeader{padding:8px 12px}.examHeader .brandTag{display:none}.examHeader .brandName{font-size:20px}.timer{min-width:120px}.timer strong{font-size:20px}.examMain{padding:16px}.questionCard{padding:20px}.questionCard h1{font-size:20px}.workbookCard{grid-template-columns:1fr}.questionActions,.submitCard{flex-direction:column;align-items:stretch;gap:14px}.navButtons{grid-template-columns:1fr 1fr;display:grid}.categoryList{grid-template-columns:1fr 1fr}.questionGrid{grid-template-columns:repeat(8,1fr)}.reviewScores{grid-template-columns:repeat(3,1fr);width:100%;display:grid}.reviewScores div{min-width:0}.answerCompare{grid-template-columns:1fr}}
