@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#15342d;--green:#176b52;--muted:#72817c;--line:#e0e6e1;--paper:#f5f7f3;--orange:#e2a25e}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'DM Sans',system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}aside{position:fixed;width:235px;background:#103b31;color:#fff;height:100vh;padding:34px 24px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font:800 23px Manrope,sans-serif;letter-spacing:3px}.logo{display:grid;place-items:center;border:1px solid #6a9888;width:42px;height:46px;border-radius:12px 3px 12px 3px;color:#bce1c7}.brand-sub{display:block;font:10px 'DM Sans',sans-serif;letter-spacing:4px;margin-top:3px}.workspace{font-size:9px;letter-spacing:2px;color:#90b4a7;margin:52px 0 25px}.workspace span{display:block;color:#e3eee7;font-size:12px;letter-spacing:0;margin-top:9px}nav button{width:100%;border:0;background:transparent;color:#aac6ba;padding:15px 12px;text-align:left;border-radius:8px;margin:4px 0}nav button span{margin-left:11px}nav button.active{background:#2a594a;color:white}.aside-bottom{margin-top:auto;line-height:2}.aside-bottom small{color:#93b3a6;font-size:10px}.dot{display:inline-block;background:#9bd6aa;width:6px;height:6px;border-radius:50%;margin-right:8px}main{margin-left:235px}header{height:83px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 46px;color:var(--muted);font-size:12px}header b{padding:0 16px;font-weight:400}.avatar{background:#dce9dd;color:var(--green);border:4px solid white;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700}.content{max-width:1450px;margin:auto;padding:28px 46px}.notice{border:1px solid #dfe7d8;background:#ebf0e4;padding:11px 15px;border-radius:6px;font-size:9px;letter-spacing:1.7px;font-weight:700}.notice span{margin-left:16px;letter-spacing:0;font-weight:400;font-size:11px;color:#65755c}.heading{padding:37px 0 29px}.eyebrow{font-size:10px;letter-spacing:2.5px;color:var(--green);font-weight:700;margin-bottom:16px}h1{font:600 43px/1.17 Manrope,system-ui;letter-spacing:-1.8px;margin:0}h1 em{font-style:normal;color:#639078}p{line-height:1.65}h1+p,.title-row p{color:var(--muted);font-size:12px;margin-top:19px}.title-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.primary{border:0;border-radius:7px;background:var(--green);color:white;padding:13px 20px;font-size:12px;font-weight:600;box-shadow:0 4px 8px #16493310}.primary:hover{background:#0f513c}.primary:disabled{opacity:.5}.stats{display:grid;grid-template-columns:repeat(3,1fr) 1.6fr;gap:14px;margin:6px 0 38px}.stats article{background:#fff;border:1px solid var(--line);padding:22px;border-radius:9px}.stats span{font-size:9px;font-weight:700;letter-spacing:1px;color:var(--muted)}.stats strong{display:block;font:600 34px Manrope;margin:10px 0}.stats small{font-size:10px;color:var(--muted)}.stats .pattern{background:#e7eee4}.stats i{font:400 15px 'DM Sans';color:#69806d}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}h2{font:700 17px Manrope;margin:0 0 8px}.muted{color:var(--muted);font-size:11px}.exam-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.exam-card{background:white;border:1px solid var(--line);border-radius:10px;padding:24px}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.class-chip{background:#eef2eb;padding:7px 11px;font-size:11px;border-radius:5px}.pill{font-size:9px;border:1px solid #d8e5db;border-radius:20px;padding:5px 8px;color:#488563}.exam-card h3{font:600 18px Manrope;margin:0 0 8px}.card-meta{color:var(--muted);font-size:11px}.subject-bars{display:flex;gap:4px;margin:24px 0 9px}.subject-bars span{height:5px;background:#227258;border-radius:3px;flex:15}.subject-bars span:nth-child(2){background:#81a48b}.subject-bars span:nth-child(3){background:#d4b376;flex:10}.subject-bars span:nth-child(4){background:#c8d5bb;flex:10}.subjects{font-size:10px;color:#72817c}.actions{display:flex;gap:14px;align-items:center;margin-top:24px;flex-wrap:wrap}.actions a{font-size:11px;color:var(--green);text-decoration:none}.actions button{margin-left:auto}.empty{grid-column:1/-1;padding:35px;border:1px dashed #bcccbc;border-radius:10px;background:#ffffff70;display:flex;align-items:center;justify-content:space-between;gap:25px}.empty h3{font:600 19px Manrope;margin:0 0 8px}.empty p{color:var(--muted);font-size:12px}.workflow{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:35px;padding:24px 0;border-top:1px solid var(--line)}.workflow span{font:500 22px Manrope;color:#93ae97;display:block;margin-bottom:10px}.workflow b{font-size:12px}.workflow p{font-size:11px;color:var(--muted)}.hidden{display:none}dialog{border:1px solid var(--line);border-radius:15px;max-width:580px;width:95%;padding:28px;color:var(--ink);box-shadow:0 25px 100px #12372a40}dialog::backdrop{background:#0f2b2580;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center}.close{background:transparent;border:0;font-size:25px;color:var(--muted)}label{display:block;font-size:12px;margin:18px 0 8px;font-weight:600}input,select,textarea{display:block;width:100%;margin-top:8px;padding:11px;border:1px solid #cfdbd1;border-radius:6px;background:white;color:var(--ink)}textarea{min-height:95px;resize:vertical}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dialog-footer{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.dialog-footer span{font-size:10px;color:var(--muted)}.text-button{color:var(--green);border:0;background:transparent;font-size:11px;padding:4px 0}.error{color:#a23b2b;font-size:12px}.upload{padding:25px;border:1px dashed #b6cbbd;background:#f5f8f3;border-radius:8px;margin-bottom:25px}.checklist{background:white;border:1px solid var(--line);border-radius:10px;padding:30px}.checklist h2{margin-top:20px}.checklist p{color:var(--muted)}.result{background:white;border:1px solid var(--line);border-radius:10px;padding:25px;margin-bottom:18px}.result-head{display:flex;justify-content:space-between}.score{font:700 30px Manrope}.score small{font:400 12px 'DM Sans';color:var(--muted)}.result p{color:var(--muted);font-size:12px}.result .warning{color:#9a652b;background:#fff5df;padding:10px;border-radius:5px}.question-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;margin-top:20px}.question{padding:9px 4px;background:#edf4ed;border-radius:5px;text-align:center;font-size:10px}.question.uncertain,.question.multiple{background:#fff0d6;color:#8c5e25}.question.blank{background:#eef0f1;color:#75817e}#status{color:var(--green);font-size:12px}button:focus-visible,a:focus-visible{outline:3px solid #e2a25e;outline-offset:3px}@media(max-width:1000px){aside{width:190px;padding:25px 18px}main{margin-left:190px}.content{padding:25px}.stats{grid-template-columns:repeat(2,1fr)}header{padding:0 25px}h1{font-size:35px}}@media(max-width:700px){aside{position:relative;width:100%;height:auto;padding:16px}.brand{font-size:18px}.brand-sub{font-size:8px}.workspace,.aside-bottom{display:none}nav{display:flex;margin-top:16px}nav button{padding:10px;font-size:11px}nav button span{margin-left:4px}main{margin-left:0}header{height:55px}.content{padding:18px}.notice span{display:block;margin:7px 0 0}.title-row{align-items:flex-start;flex-direction:column}.exam-grid{grid-template-columns:1fr}.stats article{padding:16px}.workflow{gap:12px}.section-heading{align-items:flex-start;gap:10px}.question-grid{grid-template-columns:repeat(5,1fr)}.empty{flex-direction:column;align-items:flex-start}.stats small{line-height:1.5;display:block}}

.roster-heading{margin-top:32px}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:9px;margin:18px 0;max-height:500px}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}th,td{padding:13px 16px;border-bottom:1px solid var(--line);white-space:nowrap}th{background:#eaf0e7;position:sticky;top:0}a{color:var(--green)}.wide-dialog{max-width:1050px}.review-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.review-layout img{width:100%;height:auto;position:sticky;top:0}.review-answers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-height:400px;overflow:auto}.review-answers label{font-size:10px;margin:0;padding:8px}.review-answers .multiple,.review-answers .uncertain{background:#fff0d6}.review-answers input[type=checkbox]{width:auto;display:inline}.result>button{margin-top:18px}nav{overflow:auto}@media(max-width:700px){.review-layout{grid-template-columns:1fr}.review-layout img{max-height:400px;object-fit:contain}nav{flex-wrap:wrap}nav button{width:auto}.fields{grid-template-columns:1fr}}
