:root{font-family:"Prompt",sans-serif;color:#202b3c;background:#f5f7fb;font-synthesis:none;text-rendering:optimizeLegibility;--ink:#202b3c;--muted:#7b8798;--line:#e8edf4;--blue:#4768df;--blue-soft:#eef2ff}
*{box-sizing:border-box}body{margin:0;min-width:320px}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:#fff;border-right:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column;z-index:2}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);padding:4px 8px 34px}.brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#526fe6,#8d9df5);display:grid;place-items:center;color:#fff;font-size:23px;font-weight:600}.brand strong,.brand small{display:block}.brand strong{font-size:16px}.brand small{font-size:11px;color:var(--muted);margin-top:2px}.school-label,.eyebrow{font-size:10px;letter-spacing:1.2px;color:#929caf;font-weight:600}.school-label{padding:0 12px 12px}.nav-list{display:grid;gap:7px}.nav-item{border:0;background:transparent;color:#667386;text-align:left;padding:12px 14px;border-radius:10px;font:500 13px inherit;cursor:pointer;font-family:inherit;font-size:13px}.nav-item span{display:inline-block;width:27px;font-size:17px;vertical-align:middle}.nav-item.active,.nav-item:hover{background:var(--blue-soft);color:var(--blue)}.sidebar-foot{margin-top:auto;color:#8b96a7;font-size:11px;padding:14px 10px;border-top:1px solid var(--line)}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#e7a84c;margin-right:8px}.main-content{margin-left:248px;padding:30px clamp(20px,4vw,54px) 24px;max-width:1600px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.topbar .eyebrow{margin:0 0 5px}.topbar h1{font-size:25px;margin:0;font-weight:600}.topbar-meta{display:flex;align-items:center;gap:10px;color:#687589;font-size:12px}.avatar{width:36px;height:36px;border-radius:50%;background:#e9edff;color:#5069d8;display:grid;place-items:center;font-weight:600}.toolbar{display:flex;align-items:end;gap:14px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px 17px;margin-bottom:20px;flex-wrap:wrap}.toolbar label,dialog label{font-size:11px;color:#748094;display:grid;gap:6px}.toolbar select,dialog input,dialog select{font:13px "Prompt",sans-serif;color:var(--ink);border:1px solid #dfe5ef;border-radius:8px;background:#fff;padding:9px 12px;min-width:150px}.max-score{margin-left:auto;font-size:12px;color:#7d8898}.max-score strong{font-size:18px;color:#29364a;margin-left:6px}.welcome-card{border-radius:16px;background:linear-gradient(110deg,#e9edff,#f1f3ff 60%,#e6f1ff);padding:25px 30px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;margin-bottom:20px}.welcome-kicker{font-size:11px;color:#6579d7;margin:0 0 5px}.welcome-card h2{font-size:20px;margin:0 0 6px;font-weight:600;color:#29385c}.welcome-card p:last-child{font-size:12px;color:#6f7d9d;margin:0}.welcome-art{width:92px;height:92px;border-radius:27px;background:#fff9;color:#6379df;display:grid;place-items:center;font-size:50px;transform:rotate(8deg);margin-right:20px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:20px}.stat-card,.panel{background:#fff;border:1px solid var(--line);border-radius:14px}.stat-card{padding:17px 18px;display:grid;grid-template-columns:36px 1fr;column-gap:10px;align-items:center}.stat-icon{grid-row:span 2;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:17px}.blue{background:#edf2ff;color:#5570df}.purple{background:#f3edff;color:#9268d9}.green{background:#e9f8f1;color:#3da57a}.orange{background:#fff3e7;color:#dc934d}.stat-label{font-size:10px;color:#8994a4}.stat-card strong{font-size:21px;font-weight:600;margin-top:2px}.stat-card small{grid-column:2;color:#a0a9b7;font-size:9px;margin-top:1px}.content-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:16px}.panel{padding:21px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-heading .eyebrow,.side-panel .eyebrow{margin:0 0 3px}.panel h2{font-size:16px;margin:0;font-weight:600}.primary-button,.outline-button{border-radius:8px;padding:9px 13px;font:500 11px "Prompt",sans-serif;cursor:pointer}.primary-button{background:#4d68da;color:#fff;border:1px solid #4d68da}.primary-button:hover{background:#3f59c7}.outline-button{background:#fff;border:1px solid #dfe5ef;color:#657187}.empty-state{text-align:center;padding:35px 16px 28px}.empty-icon{width:50px;height:50px;background:#f0f3ff;color:#7488e3;border-radius:15px;display:grid;place-items:center;margin:0 auto 12px;font-size:24px}.empty-state strong{font-size:13px}.empty-state p{font-size:11px;color:#8994a4;margin:5px 0 15px}.helper-note{font-size:10px;color:#a0a9b7;border-top:1px solid #f0f2f6;padding-top:12px;margin:0}.hidden{display:none!important}.table-wrap{overflow-x:auto;margin:18px -2px}.table-wrap table{border-collapse:collapse;width:100%;font-size:11px}.table-wrap th,.table-wrap td{padding:12px 9px;border-bottom:1px solid #edf0f5;text-align:left}.table-wrap th{color:#8994a4;font-weight:500}.table-wrap tfoot th{color:#36445b;font-weight:600}.number{text-align:right!important}.delete-button{border:0;background:#fff0f0;color:#ce5d5d;border-radius:6px;padding:5px 9px;cursor:pointer;font:inherit}.guide-list{list-style:none;padding:0;margin:20px 0;display:grid;gap:17px}.guide-list li{display:flex;gap:11px;align-items:center}.guide-list li>span{width:26px;height:26px;flex:none;border-radius:9px;background:#eff2ff;color:#5972de;display:grid;place-items:center;font-size:11px}.guide-list strong,.guide-list small{display:block}.guide-list strong{font-size:11px;font-weight:500}.guide-list small{font-size:9px;color:#929cab;margin-top:2px}.notice{background:#f5f7ff;border-radius:10px;padding:12px 14px}.notice strong{font-size:10px;color:#566cce}.notice p{font-size:10px;color:#7b8798;line-height:1.7;margin:4px 0 0}footer{text-align:center;color:#a1aab8;font-size:10px;padding:25px}footer span{padding:0 5px}dialog{border:0;border-radius:15px;padding:0;width:min(420px,calc(100% - 30px));box-shadow:0 20px 70px #1e2d4a33}dialog::backdrop{background:#17233c66;backdrop-filter:blur(3px)}dialog form{padding:23px;display:grid;gap:15px}.dialog-heading{display:flex;justify-content:space-between;align-items:start}.dialog-heading .eyebrow{margin:0}.dialog-heading h2{font-size:17px;margin:4px 0 0}.close-button{border:0;background:#f1f3f7;border-radius:50%;width:29px;height:29px;font-size:20px;color:#687386;cursor:pointer}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.form-error{color:#cb4d4d;font-size:10px;margin:0;min-height:13px}
@media(max-width:1050px){.sidebar{width:205px}.main-content{margin-left:205px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}}
@media(max-width:650px){.sidebar{position:static;width:auto;height:auto;padding:12px 14px;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:0 3px 12px}.brand-mark{width:35px;height:35px}.nav-list{display:flex;overflow:auto;gap:4px}.nav-item{white-space:nowrap;padding:8px 10px;font-size:11px}.nav-item span{width:20px}.school-label,.sidebar-foot{display:none}.main-content{margin:0;padding:20px 14px}.topbar h1{font-size:21px}.topbar-meta{font-size:0}.toolbar{gap:9px}.toolbar label{flex:1}.toolbar select{min-width:0;width:100%}.max-score{margin:3px 0 0}.welcome-card{padding:20px}.welcome-card h2{font-size:17px}.welcome-card p:last-child{max-width:250px;line-height:1.7}.welcome-art{width:58px;height:58px;font-size:32px;margin:0 0 0 8px}.stats-grid{gap:9px}.stat-card{padding:13px 10px;column-gap:7px}.stat-label{font-size:9px}.stat-card strong{font-size:18px}.panel{padding:16px}.panel-heading{align-items:start;flex-direction:column}.panel-heading .primary-button{width:100%}}
