:root{--ink:#061623;--navy:#0a2338;--panel:#0e2e47;--panel2:#133d5c;--line:#ffffff1c;--text:#f4f8fb;--muted:#9fb4c1;--green:#19b883;--mint:#77e8c1;--blue:#2d8cff;--legal:#164a76;--amber:#f4bd57;--red:#ff7c7c;--shadow:0 24px 70px #00000047}*{box-sizing:border-box}html{background:var(--ink)}body{background:radial-gradient(circle at 78% -10%,#2d8cff24,transparent 34%),var(--ink);color:var(--text);min-height:100vh;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button,a{transition:all .2s}a{color:inherit;text-decoration:none}.eyebrow{letter-spacing:.17em;color:#70b6ff;margin:0 0 10px;font-size:.7rem;font-weight:800}.muted,.page-header p{color:var(--muted)}.login-shell{grid-template-columns:minmax(0,1.15fr) minmax(430px,.85fr);min-height:100vh;display:grid}.login-brand{background:linear-gradient(145deg,#114369bd,#061623f5),radial-gradient(circle at 20% 70%,#2d8cff38,#0000 31%);flex-direction:column;justify-content:space-between;padding:clamp(32px,6vw,92px);display:flex}.login-brand h1{letter-spacing:-.065em;max-width:820px;margin:14px 0 26px;font-size:clamp(2.8rem,5.4vw,5.8rem);line-height:.96}.login-brand>div>p:not(.eyebrow){color:#c0d0da;max-width:660px;font-size:1.15rem;line-height:1.7}.trust-row{grid-template-columns:repeat(3,1fr);gap:12px;max-width:720px;display:grid}.trust-row div{border:1px solid var(--line);background:#ffffff0a;border-radius:14px;gap:5px;padding:16px;display:grid}.trust-row span{color:var(--muted);font-size:.74rem}.login-panel{border-left:1px solid var(--line);background:#04121dc7;flex-direction:column;justify-content:center;gap:22px;padding:clamp(32px,5vw,82px);display:flex}.login-heading h2{margin:4px 0;font-size:2.15rem}.login-panel form{gap:17px;display:grid}.login-panel label,.form-grid label,.toolbar label{color:#cedbe2;gap:8px;font-size:.8rem;font-weight:700;display:grid}.login-panel input,.form-grid input,.form-grid select,.form-grid textarea,.toolbar input,.context-selector select{border:1px solid var(--line);color:#fff;background:#092238;border-radius:12px;outline:none;width:100%;padding:13px 14px}.login-panel input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.toolbar input:focus,.context-selector select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2d8cff26}.password-field{display:flex;position:relative}.password-field input{padding-right:82px}.password-field button{color:#8bc1ff;cursor:pointer;background:#2d8cff1a;border:0;border-radius:8px;font-size:.72rem;font-weight:800;position:absolute;top:7px;bottom:7px;right:8px}.login-options{justify-content:space-between;align-items:center;gap:18px;display:flex}.remember{align-items:center;grid-template-columns:auto 1fr!important;gap:8px!important;font-weight:500!important;display:flex!important}.remember input{width:16px}.primary,.secondary,.logout,.menu-button,.compact{cursor:pointer;border:0;border-radius:12px;padding:13px 18px;font-weight:800}.primary{background:linear-gradient(135deg,var(--blue),#1873d5);color:#fff;box-shadow:0 10px 28px #2d8cff33}.primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.secondary{color:var(--text);border:1px solid var(--line);background:0 0}.compact{padding:9px 13px;font-size:.78rem}.link-button{color:#70b6ff;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:13px;height:13px;margin-right:8px;animation:.8s linear infinite spin;display:inline-block}.login-toast,.toast{color:#dbeeff;background:#2d8cff1a;border:1px solid #2d8cff3d;border-radius:13px;align-items:center;gap:11px;padding:14px 16px;display:flex}.login-toast p{flex:1;margin:0;line-height:1.45}.login-toast button,.toast button{color:#fff;cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:1.2rem}.login-security{border-top:1px solid var(--line);align-items:center;gap:12px;padding-top:18px;display:flex}.login-security span{color:var(--blue)}.login-security p{color:var(--muted);margin:0;font-size:.78rem;line-height:1.5}.login-panel small{color:var(--muted)}.app-grid{grid-template-columns:276px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);z-index:20;background:#041420fa;flex-direction:column;height:100vh;padding:22px 16px;display:flex;position:sticky;top:0}.sidebar-brand{padding:4px 10px 22px}.nav-scroll{scrollbar-width:thin;padding-right:3px;overflow:auto}.nav-label{letter-spacing:.16em;color:#688393;margin:8px 12px;font-size:.59rem}.future-label{margin-top:24px}.sidebar nav{gap:4px;display:grid}.sidebar nav a{color:#9db2bb;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;font-size:.84rem;display:flex}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#2d8cff1c}.sidebar nav a.active{box-shadow:inset 3px 0 var(--blue)}.sidebar nav a span{color:#70b6ff;width:20px;font-size:1rem}.sidebar nav a small{color:#668393;margin-left:auto;font-size:.55rem}.sidebar nav a.future{color:#d5e5ed}.phase-card{border:1px solid var(--line);background:linear-gradient(145deg,#2d8cff21,#ffffff08);border-radius:14px;gap:7px;margin-top:12px;padding:15px;display:grid}.phase-card p{letter-spacing:.13em;color:var(--muted);margin:0;font-size:.6rem}.workspace{min-width:0}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:10;background:#061623c2;align-items:center;gap:16px;height:78px;padding:0 clamp(20px,3vw,44px);display:flex;position:sticky;top:0}.context-copy{margin-right:auto;display:grid}.context-copy span{font-weight:800}.context-copy small{color:var(--muted);margin-top:3px}.context-selector{color:var(--muted);gap:3px;font-size:.6rem;display:grid}.context-selector select{max-width:350px;padding:7px 10px}.logout{color:#fff;border:1px solid var(--line);background:0 0;padding:9px 13px}.menu-button{color:#fff;background:0 0;display:none}.notification-wrap{position:relative}.icon-button{border:1px solid var(--line);color:#fff;cursor:pointer;background:#ffffff08;border-radius:11px;width:39px;height:39px;position:relative}.icon-button>span{background:var(--red);border-radius:50%;place-items:center;width:16px;height:16px;font-size:.58rem;display:grid;position:absolute;top:-4px;right:-3px}.notification-popover{border:1px solid var(--line);width:290px;box-shadow:var(--shadow);background:#0c2a41;border-radius:14px;padding:17px;position:absolute;top:48px;right:0}.notification-popover p{color:var(--muted);margin:8px 0 0;font-size:.8rem;line-height:1.45}.content{max-width:1700px;margin:0 auto;padding:clamp(26px,3.5vw,50px)}.page-header{justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:28px;display:flex}.page-header h1{letter-spacing:-.045em;margin:0;font-size:clamp(2rem,3.6vw,3.45rem)}.page-header p{max-width:760px;margin:9px 0 0;line-height:1.65}.hero-header h1{max-width:850px}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.status-badge{text-transform:uppercase;letter-spacing:.05em;color:#cad8dc;background:#ffffff14;border-radius:999px;align-items:center;width:max-content;padding:6px 10px;font-size:.65rem;font-weight:800;display:inline-flex}.status-badge[data-tone=positive]{color:var(--mint);background:#19b88324}.status-badge[data-tone=warning]{color:var(--amber);background:#f4bd5721}.status-badge[data-tone=danger]{color:var(--red);background:#ff7c7c21}.metric-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;display:grid}.metric-grid.executive{grid-template-columns:repeat(5,1fr)}.metric-card,.security-panel,.decision-panel,.table-card,.detail-card,.loading-card,.empty-state,.module-preview{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(145deg,#123a57d1,#092337c7);border-radius:17px}.metric-card{gap:10px;min-height:140px;padding:20px;display:grid}.metric-card span,.metric-card small{color:var(--muted)}.metric-card strong{font-size:2.25rem}.dashboard-columns{grid-template-columns:1.15fr .85fr;gap:18px;display:grid}.security-panel,.decision-panel{padding:25px}.panel-title{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.panel-title h2{margin:0 0 18px;font-size:1.35rem}.activity-row,.alert-row{border-top:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.activity-row>div,.alert-row>div{flex:1;gap:4px;display:grid}.activity-row small,.alert-row small,.activity-row time{color:var(--muted);font-size:.72rem}.activity-icon{width:28px;height:28px;color:var(--mint);background:#19b8831f;border-radius:9px;place-items:center;display:grid}.alert-row>span{width:28px;height:28px;color:var(--amber);background:#f4bd571f;border-radius:9px;place-items:center;font-weight:900;display:grid}.quiet-state{color:var(--muted);padding:24px 0}.platform-health{background:#2d8cff14;border-radius:13px;gap:12px;margin-top:20px;padding:17px;display:flex}.platform-health>span{background:var(--green);border-radius:50%;width:9px;height:9px;margin-top:5px;box-shadow:0 0 0 5px #19b8831f}.platform-health p{color:var(--muted);margin:5px 0 0;font-size:.78rem;line-height:1.5}.toolbar{align-items:end;gap:10px;margin-bottom:15px;display:flex}.toolbar label{flex:1;max-width:420px}.toolbar input{padding:10px 12px}.toast{margin-bottom:14px}.table-card{overflow:hidden}.table-summary{border-bottom:1px solid var(--line);color:var(--muted);padding:16px 20px}.table-summary strong{color:var(--text)}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;min-width:820px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:14px 17px;font-size:.79rem}th{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:#ffffff06;font-size:.61rem}td{color:#d9e5e7;max-width:280px}tr:hover td{background:#2d8cff09}.row-actions{flex-wrap:wrap;gap:5px;display:flex}.row-actions button{border:1px solid var(--line);color:#b8ccd6;cursor:pointer;background:0 0;border-radius:7px;padding:5px 7px;font-size:.58rem}.row-actions button:disabled{opacity:.35;cursor:not-allowed}.user-table table{min-width:1180px}.user-table .roles-column{white-space:normal;min-width:270px}.user-table .actions-column{z-index:2;background:#0d2d46;min-width:188px;position:sticky;right:0;box-shadow:-12px 0 18px #020f1947}.user-table th.actions-column{z-index:3;background:#0e304a}.role-list{flex-wrap:wrap;align-items:flex-start;gap:6px;max-width:340px;display:flex}.role-chip{color:#d9edff;background:#2d8cff1c;border:1px solid #70b6ff40;border-radius:10px;gap:2px;max-width:220px;padding:7px 9px;line-height:1.25;display:grid}.role-chip strong{font-size:.67rem}.role-chip small{color:#a9c2cf;font-size:.58rem}.role-chip-expired,.role-chip-revoked{background:#f4bd5717;border-color:#f4bd5747}.role-chip-revoked{background:#ff7c7c14;border-color:#ff7c7c47}.role-more{color:#c7d7df;cursor:help;background:#ffffff14;border-radius:999px;place-items:center;min-width:32px;height:32px;padding:0 8px;font-size:.65rem;font-weight:900;display:grid}.role-empty{color:var(--muted);font-size:.72rem}.loading-card,.empty-state,.detail-card{padding:32px}.empty-state p{color:var(--muted)}.detail-card{grid-template-columns:repeat(2,1fr);gap:2px;display:grid}.detail-card div{border-bottom:1px solid var(--line);gap:6px;padding:18px;display:grid}.detail-card span{text-transform:capitalize;color:var(--muted);font-size:.75rem}.detail-card strong{font-size:1rem}.modal-backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);z-index:100;background:#00090fc7;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--line);background:#092238;border-radius:19px;width:min(920px,100%);max-height:90vh;padding:25px;overflow:auto;box-shadow:0 40px 100px #0000008c}.modal-head{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.modal-head h2{margin:0;font-size:1.55rem}.modal-head>button{color:#fff;cursor:pointer;background:#ffffff0f;border:0;border-radius:9px;width:34px;height:34px;font-size:1.2rem}.form-grid{grid-template-columns:repeat(2,1fr);gap:15px;display:grid}.form-grid textarea{resize:vertical;min-height:90px}.form-grid .wide{grid-column:1/-1}.check{align-items:center;gap:9px;padding:12px 0;display:flex}.check input{width:17px}.modal-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;padding-top:8px;display:flex}.module-hero{padding-top:24px}.module-preview{grid-template-columns:1fr 1fr;align-items:center;gap:28px;padding:clamp(28px,5vw,60px);display:grid}.module-preview h2{margin:15px 0 10px;font-size:2rem}.module-preview p{color:var(--muted);line-height:1.65}.module-icon{background:linear-gradient(135deg,var(--blue),var(--legal));border-radius:18px;place-items:center;width:62px;height:62px;font-size:1.7rem;display:grid}.module-preview ul{margin:0;padding:0;list-style:none}.module-preview li{border-bottom:1px solid var(--line);gap:10px;padding:14px 0;display:flex}.module-preview li span{color:var(--mint)}.module-preview>a{width:max-content}.school-dashboard-title{margin-top:42px}.school-dashboard-title h2{margin:0;font-size:clamp(1.7rem,3vw,2.7rem)}.school-metrics{grid-template-columns:repeat(4,1fr)}.pickup-summary{margin-top:18px}.operations-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.operation-card{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(145deg,#123a57d1,#092337c7);border-radius:17px;padding:22px}.operation-card h2{margin:0 0 18px}.wide-operation{grid-column:1/-1}.compact-form{grid-template-columns:1fr 1fr}.operations-queue{margin-top:18px}.quick-links{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.quick-links a{border:1px solid var(--line);background:#2d8cff14;border-radius:11px;padding:12px 15px;font-size:.78rem;font-weight:700}.quick-links a:hover{border-color:var(--blue);background:#2d8cff29}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1250px){.metric-grid.executive,.school-metrics{grid-template-columns:repeat(3,1fr)}}@media (max-width:1000px){.metric-grid,.metric-grid.executive{grid-template-columns:repeat(2,1fr)}.dashboard-columns{grid-template-columns:1fr}.context-selector{display:none}.login-shell{grid-template-columns:1fr 430px}.trust-row{grid-template-columns:1fr}}@media (max-width:760px){.login-shell{grid-template-columns:1fr}.login-brand{min-height:52vh}.login-brand h1{font-size:3rem}.login-panel{border-left:0;border-top:1px solid var(--line)}.app-grid{grid-template-columns:1fr}.sidebar{width:276px;transition:all .25s;position:fixed;left:-290px}.sidebar.open{left:0;box-shadow:40px 0 80px #0000008c}.menu-button{display:block}.topbar{padding:0 14px}.context-copy small{white-space:nowrap;text-overflow:ellipsis;max-width:190px;overflow:hidden}.content{padding:27px 15px}.page-header{flex-direction:column}.header-actions{justify-content:flex-start}.metric-grid,.metric-grid.executive,.school-metrics,.detail-card,.form-grid,.module-preview,.operations-grid,.compact-form{grid-template-columns:1fr}.wide-operation,.form-grid .wide,.modal-actions{grid-column:1}.toolbar{flex-direction:column;align-items:stretch}.notification-popover{right:-48px}.trust-row{grid-template-columns:1fr}.login-options{flex-direction:column;align-items:flex-start}.user-table{box-shadow:none;background:0 0;border:0;overflow:visible}.user-table .table-summary{border:1px solid var(--line);background:#092337c7;border-radius:12px;margin-bottom:10px}.user-table .table-scroll{overflow:visible}.user-table table,.user-table tbody,.user-table tr,.user-table td{width:100%;min-width:0;display:block}.user-table thead{display:none}.user-table tr{border:1px solid var(--line);background:linear-gradient(145deg,#123a57e6,#092337e0);border-radius:14px;margin-bottom:12px;overflow:hidden}.user-table td{grid-template-columns:minmax(92px,.38fr) minmax(0,1fr);gap:12px;max-width:none;padding:11px 14px;display:grid}.user-table td:before{content:attr(data-label);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-size:.58rem;font-weight:800}.user-table .roles-column{min-width:0}.user-table .actions-column{min-width:0;box-shadow:none;background:#ffffff06;position:static}.user-table .role-list{max-width:none}.user-table .role-chip{max-width:100%}.user-table .row-actions{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
