:root{--ink:#142338;--muted:#68788d;--line:#dce5ef;--paper:#fff;--bg:#f3f7fb;--brand:#17395c;--brand2:#24618f;--accent:#d99b2b;--danger:#b53a3a;--success:#21745a;--shadow:0 12px 38px #1535541a}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-layout{grid-template-columns:278px 1fr;min-height:100vh;display:grid}.sidebar{color:#f7fbff;z-index:30;background:linear-gradient(#102d49,#17395c 55%,#102a43);flex-direction:column;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0;overflow:auto}.brand{align-items:center;gap:11px;padding:4px 8px 18px;display:flex}.brand img{background:#fff;border-radius:12px;width:44px;height:44px;padding:4px}.brand b{font-size:18px;display:block}.brand span{opacity:.75;font-size:12px}.school-chip{background:#ffffff12;border:1px solid #ffffff24;border-radius:14px;margin:0 6px 18px;padding:12px}.school-chip strong{display:block}.school-chip span{opacity:.75;margin-top:2px;font-size:12px;display:block}.nav-group{margin:8px 0 14px}.nav-label{text-transform:uppercase;letter-spacing:.12em;opacity:.55;padding:0 10px 7px;font-size:10px;display:block}.nav-link{color:#eaf3fb;border-radius:10px;align-items:center;gap:10px;margin:2px 0;padding:9px 10px;font-size:13px;display:flex}.nav-link:hover,.nav-link.active{background:#ffffff1f}.nav-link.active{box-shadow:inset 3px 0 #f2bd55}.sidebar footer{opacity:.68;margin-top:auto;padding:16px 8px 5px;font-size:11px;line-height:1.5}.main-area{min-width:0}.topbar{border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;align-items:center;height:74px;padding:0 28px;display:flex;position:sticky;top:0}.menu-btn{display:none}.top-school{color:var(--muted);font-size:14px}.user-menu{align-items:center;gap:14px;margin-left:auto;display:flex}.user-menu div{text-align:right}.user-menu strong{font-size:13px;display:block}.user-menu span{color:var(--muted);text-transform:capitalize;font-size:11px;display:block}.user-menu button,.btn-secondary{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:9px;padding:8px 11px}.content{max-width:1600px;margin:0 auto;padding:28px}.page-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.page-head h1{letter-spacing:-.03em;margin:0 0 5px;font-size:28px}.page-head p{color:var(--muted);margin:0;font-size:14px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;margin-bottom:18px;padding:20px;box-shadow:0 2px 9px #18385608}.panel h2{margin:0 0 12px;font-size:17px}.grid-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px;box-shadow:0 2px 8px #142d4608}.stat-card span{color:var(--muted);font-size:12px}.stat-card strong{margin-top:7px;font-size:27px;display:block}.btn-primary{color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand2));border:0;border-radius:10px;padding:10px 14px;font-weight:650}.btn-danger{color:var(--danger);background:#fff6f6;border:1px solid #f0c9c9;border-radius:9px;padding:8px 11px}.btn-text{color:var(--brand2);background:0 0;border:0;padding:6px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field label{margin-bottom:6px;font-size:12px;font-weight:650;display:block}.field input,.field select,.field textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cdd9e6;border-radius:10px;outline:none;padding:10px 11px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#5886ad;box-shadow:0 0 0 3px #4077a41f}.field.full{grid-column:1/-1}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.table-wrap{border:1px solid var(--line);border-radius:12px;overflow:auto}table{border-collapse:collapse;background:#fff;width:100%;font-size:13px}th{text-align:left;text-transform:capitalize;letter-spacing:.02em;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;background:#f8fafc;padding:10px 12px;font-size:11px}td{vertical-align:top;border-bottom:1px solid #edf1f5;padding:11px 12px}tr:last-child td{border-bottom:0}.badge{text-transform:capitalize;background:#edf3f8;border-radius:999px;padding:4px 8px;font-size:11px;display:inline-flex}.badge.good{color:#176249;background:#e8f6f0}.badge.warn{color:#795513;background:#fff4da}.badge.bad{color:#9a2929;background:#fff0f0}.empty-state,.page-state{text-align:center;color:var(--muted);padding:38px}.page-state.error{color:var(--danger)}.notice{color:#315b7a;background:#f4f9fd;border:1px solid #d7e5f1;border-radius:12px;padding:12px 14px;font-size:13px}.notice.error{color:#912b2b;background:#fff5f5;border-color:#f0c7c7}.notice.success{color:#1d664f;background:#effaf5;border-color:#bfe4d5}.modal-backdrop{z-index:50;background:#0a192a8c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{width:min(680px,100%);max-height:92vh;box-shadow:var(--shadow);background:#fff;border-radius:18px;padding:22px;overflow:auto}.modal h2{margin-top:0}.auth-shell{background:#0d2943;grid-template-columns:1.15fr .85fr;min-height:100vh;display:grid}.auth-visual{color:#fff;background:radial-gradient(circle at 25% 18%,#4b97cf80,#0000 28%),radial-gradient(circle at 80% 70%,#d99b2b38,#0000 26%),linear-gradient(145deg,#0f2d49,#153c60);flex-direction:column;justify-content:flex-end;padding:64px;display:flex;position:relative;overflow:hidden}.auth-visual:before{content:"";background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:36px 36px;position:absolute;inset:0}.auth-copy{max-width:560px;position:relative}.auth-copy img{background:#fff;border-radius:18px;width:74px;height:74px;padding:6px}.auth-copy h1{letter-spacing:-.045em;margin:28px 0 12px;font-size:48px;line-height:1.05}.auth-copy p{color:#dceaf6;font-size:17px;line-height:1.6}.auth-copy small{opacity:.7;margin-top:38px;display:block}.auth-form-side{background:#f7f9fc;place-items:center;padding:34px;display:grid}.auth-card{border:1px solid var(--line);width:min(440px,100%);box-shadow:var(--shadow);background:#fff;border-radius:20px;padding:30px}.auth-card h2{margin:0 0 7px;font-size:25px}.auth-card>p{color:var(--muted);margin-top:0;font-size:13px}.auth-card .field{margin:14px 0}.password-wrap{position:relative}.password-wrap button{color:var(--muted);background:0 0;border:0;padding:5px;position:absolute;top:7px;right:8px}.auth-links{color:var(--brand2);justify-content:space-between;margin-top:12px;font-size:12px;display:flex}.fatal-shell{background:#eef3f7;place-items:center;min-height:100vh;padding:30px;display:grid}.fatal-card{background:#fff;border:1px solid #efd0d0;border-radius:16px;max-width:650px;padding:24px}.sidebar-scrim{display:none}.row-actions{white-space:nowrap;gap:6px;display:flex}.two-col{grid-template-columns:1fr 1fr;gap:18px;display:grid}.subtle{color:var(--muted);font-size:12px}.searchbar{gap:10px;margin-bottom:14px;display:flex}.searchbar input{border:1px solid var(--line);border-radius:10px;flex:1;padding:10px}.mfa-qr{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;max-width:230px;padding:10px}@media (max-width:1100px){.grid-cards{grid-template-columns:repeat(2,1fr)}.app-layout{grid-template-columns:1fr}.sidebar{width:278px;transition:left .2s;position:fixed;left:-290px}.sidebar.open{left:0}.menu-btn{background:0 0;border:0;margin-right:14px;font-size:22px;display:inline-flex}.sidebar-scrim{z-index:25;background:#00000059;border:0;display:block;position:fixed;inset:0}.two-col{grid-template-columns:1fr}}@media (max-width:760px){.content{padding:18px}.topbar{padding:0 16px}.top-school,.user-menu div{display:none}.grid-cards,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.page-head{display:block}.page-head .actions{margin-top:12px}.auth-shell{grid-template-columns:1fr}.auth-visual{display:none}.auth-form-side{min-height:100vh;padding:20px}.auth-card{padding:24px}.modal{padding:18px}}.workspace-tabs{gap:8px;margin-bottom:4px;padding:2px 2px 12px;display:flex;overflow:auto}.workspace-tabs button{white-space:nowrap;border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:650}.workspace-tabs button.active{background:var(--brand);border-color:var(--brand);color:#fff}.section-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.section-head h2{margin:0 0 4px}.section-head p{color:var(--muted);max-width:760px;margin:0;font-size:12px;line-height:1.5}.modal-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;display:flex}.checkbox-field{align-items:end;padding-bottom:8px;display:flex}.checkbox-field label{align-items:center;gap:8px;margin:0;display:flex}.checkbox-field input{width:18px;height:18px}.panel>.notice{margin-bottom:14px}@media (max-width:760px){.section-head{display:block}.section-head>.btn-primary{margin-top:12px}.workspace-tabs{margin-left:-4px;margin-right:-4px}}
