:root{font-family:system-ui,Arial,sans-serif;background:#111827;color:#f3f4f6}*{box-sizing:border-box}body{margin:0}main{max-width:1450px;margin:auto;padding:24px}h1{font-size:clamp(24px,3vw,35px)}h2{font-size:21px}p,small{color:#bac5d5}.panel{background:#1e293b;border:1px solid #37465c;border-radius:15px;padding:20px;margin:18px 0}.flex{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.btn,button{display:inline-block;background:#f2bf3c;color:#192235;padding:10px 14px;border:0;border-radius:8px;font-weight:700;text-decoration:none;cursor:pointer}.secondary{background:#40516b;color:#fff}.danger{background:#b73d4d;color:#fff}input,select,textarea{background:#101b2a;color:#fff;border:1px solid #718096;border-radius:7px;padding:10px;max-width:100%}textarea{width:100%;min-height:90px}label{display:block;font-size:13px;margin:8px 0 4px}.tablewrap{overflow-x:auto}table{border-collapse:separate;border-spacing:2px;width:100%;min-width:1020px}th{background:#9b7926;color:#fff;padding:8px 4px;font-size:12px}th.name{min-width:185px;background:#344052}td{text-align:center;padding:0}td.student{background:#304158;text-align:left;padding:8px;min-width:185px}td.student a{color:white}td.cell{min-width:32px;height:38px;color:#16212b}td.cell a{display:block;text-decoration:none;color:#17252b;padding:10px 0;font-weight:800}.legend{display:flex;gap:15px;flex-wrap:wrap}.swatch{display:inline-block;width:13px;height:13px;border-radius:3px;margin-right:5px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.metric{background:#2b3c52;padding:15px;border-radius:12px}.big{font-size:30px;font-weight:800}.bar{height:14px;background:#45536b;border-radius:10px;overflow:hidden}.fill{height:100%;background:#f2bf3c}.outcome{padding:15px 0;border-bottom:1px solid #3e4d60}.badge{padding:5px 9px;border-radius:6px;color:#17252b;font-size:12px;font-weight:700}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.notice{background:#413421;padding:12px;border-radius:8px}.login{max-width:460px;margin:8vh auto}.group{margin-top:28px}@media print{body{background:white;color:black}.panel{background:white;color:black;border-color:#bbb}.no-print{display:none!important}th,td.cell{print-color-adjust:exact;-webkit-print-color-adjust:exact}td.student{background:#ddd}td.student a{color:#111}}
