.iep-shell{background:linear-gradient(130deg,#102b46,#104456);border:1px solid #294354;border-radius:14px;padding:18px;color:#eef7ff}.iep-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.iep-heading h1{font-size:25px;margin:3px 0}.iep-layout{display:grid;grid-template-columns:155px minmax(0,1fr);gap:16px}.iep-nav{display:flex;flex-direction:column;gap:6px}.iep-nav button,.iep-tabs button{background:transparent;border:1px solid transparent;color:#a9c5db;border-radius:8px;padding:12px;text-align:left;font:inherit;cursor:pointer}.iep-nav button[aria-current=page],.iep-tabs button[aria-current=page]{background:#13384b;border-color:#42c7ed;color:#53d6ff}.iep-main{background:#101b2b;border:1px solid #2b3c4d;border-radius:12px;padding:20px;min-width:0;min-height:420px}.iep-status:empty{display:none}.iep-status{color:#64d7f7;white-space:pre-line;overflow-wrap:anywhere}.iep-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.iep-stats>div{background:#102738;border:1px solid #294354;border-radius:10px;padding:16px;font-size:12px;color:#a9c5db}.iep-stats strong{display:block;font-size:29px;color:#eef7ff;margin-bottom:5px}.iep-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}.iep-toolbar h2,.iep-toolbar h3{margin:0}.iep-toolbar>.input{flex:1;min-width:140px}.iep-student{display:grid;grid-template-columns:1.2fr 1fr 1fr;align-items:center;width:100%;padding:16px 10px;gap:16px;border:0;border-bottom:1px solid #2b3c4d;background:transparent;color:#eef7ff;text-align:left;cursor:pointer;font:inherit}.iep-student:hover{background:#142b3d}.iep-student small{display:block;color:#a9c5db;margin-top:5px;font-size:12px}.iep-student-flags{display:flex;gap:6px;flex-wrap:wrap}.iep-pill{display:inline-block;background:#123c47;color:#7ce1e0;border:1px solid #2c5e66;border-radius:6px;padding:4px 8px;font-size:12px}.iep-tabs{display:flex;gap:5px;overflow-x:auto;margin:12px 0 20px;border-bottom:1px solid #294354}.iep-tabs button{white-space:nowrap}.iep-card{border:1px solid #294354;border-radius:10px;padding:16px;background:#101f30;margin:14px 0}.iep-card h3{font-size:16px;margin:0 0 10px}.iep-card p{line-height:1.5}.iep-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.iep-facts dt{color:#a9c5db;font-size:12px}.iep-facts dd{margin:5px 0 0;overflow-wrap:anywhere}.iep-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.iep-main label{display:flex;flex-direction:column;gap:7px;color:#abc9e0;font-size:13px}.iep-main .input{width:100%;box-sizing:border-box;color:#eef7ff;background:#152132;border:1px solid #364a5c}.iep-main select{color-scheme:dark}.iep-main details{margin-top:16px}.iep-main summary{cursor:pointer;color:#57d1f0}.iep-text{white-space:pre-wrap;overflow-wrap:anywhere}.iep-revision{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;max-height:400px;overflow:auto}.iep-table-wrap{overflow:auto}.iep-table-wrap table{border-collapse:collapse;width:100%;font-size:13px}.iep-table-wrap th,.iep-table-wrap td{text-align:left;padding:12px;border-bottom:1px solid #294354;min-width:110px}.iep-table-wrap th{color:#91bad3}.iep-empty{padding:30px 0}.iep-card input[type=file]{max-width:100%;margin-bottom:15px}.iep-main button:focus-visible{outline:2px solid #50d6ff;outline-offset:3px}.iep-period>summary{font-weight:700}.iep-main label.iep-candidate{display:flex;flex-direction:row;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #294354;color:#eef7ff;font-size:inherit;cursor:pointer}.iep-period[open]>.iep-candidate:first-of-type{margin-top:12px}.iep-candidate input{width:20px;height:20px;flex:0 0 20px}.iep-candidate span{display:grid;gap:4px}.iep-bulk-actions{justify-content:flex-end}.iep-candidate-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border-top:1px solid #294354}.iep-main .iep-candidate-row label.iep-candidate{border-top:0}.iep-main label.iep-candidate-bip{display:flex;flex-direction:row;align-items:center;gap:6px;color:#eef7ff;cursor:pointer}.iep-candidate-bip input{width:18px;height:18px;accent-color:#34c8ef}.iep-candidate-bip input:disabled{cursor:not-allowed;opacity:.55}@media(max-width:720px){.iep-shell{padding:9px}.iep-heading{margin:3px 3px 12px}.iep-heading h1{font-size:21px}.iep-layout{display:block}.iep-nav{flex-direction:row;overflow-x:auto;margin-bottom:10px}.iep-nav button{padding:10px;font-size:13px}.iep-main{padding:12px}.iep-stats{gap:6px}.iep-stats>div{padding:10px;font-size:11px}.iep-stats strong{font-size:23px}.iep-student{grid-template-columns:1fr 1fr;gap:8px;padding:13px 0;font-size:13px}.iep-manager-name{display:none}.iep-grid{grid-template-columns:1fr}.iep-toolbar h2{font-size:18px}.iep-card{padding:12px}.iep-toolbar .btn{padding:9px 12px;min-height:40px}.iep-bulk-actions{justify-content:stretch}.iep-bulk-actions .btn{flex:1}}.bip-tracker{min-width:0}.bip-tracker h3{margin:0}.bip-context{align-items:end}.bip-context label{max-width:300px}.bip-context>.btn{min-height:42px}.bip-context .input{min-height:42px}.bip-plan-picker{max-width:500px}.bip-tools{font-size:13px}.bip-tools [aria-pressed=true]{background:#154357;border-color:#51d3f8;color:#effaff}.bip-definitions{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px;margin:16px 0}.bip-definitions th,.bip-definitions td{border:1px solid #34516a;text-align:left;padding:10px;overflow-wrap:anywhere}.bip-definitions th{background:#193349}.bip-scroll{max-width:100%;overflow:auto;border:1px solid #34516a;border-radius:6px}.bip-grid{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;table-layout:fixed;font-size:12px}.bip-grid th,.bip-grid td{border-right:1px solid #34516a;border-bottom:1px solid #34516a;padding:0;text-align:center;background:#102235;vertical-align:middle}.bip-grid tr>:last-child{border-right:0}.bip-grid thead th{background:#193349}.bip-grid .bip-group{font-weight:650;padding:12px 8px}.bip-grid .bip-column{width:120px;min-width:120px;max-width:120px;height:150px;padding:12px 8px;vertical-align:top;overflow-wrap:anywhere}.bip-grid .bip-group-start{border-left:3px solid #34516a}.bip-grid .bip-day{width:104px;min-width:104px;position:sticky;left:0;z-index:1;text-align:left;padding:10px;background:#102235;box-shadow:1px 0 #34516a}.bip-grid thead .bip-day,.bip-grid tfoot .bip-day{background:#193349}.bip-day small{display:block;color:#a8c4d9;margin-top:3px;font-weight:400}.bip-cell{display:block;width:100%;min-height:48px;background:transparent;color:#edf6fe;border:0;border-radius:0;cursor:pointer;font:600 16px Segoe UI,sans-serif;font-variant-numeric:tabular-nums}.bip-cell:hover,.bip-cell:focus-visible{background:#154357}.bip-grid tfoot td,.bip-grid tfoot th{background:#193349;padding:12px 8px;border-bottom:0;font-weight:650;font-variant-numeric:tabular-nums}.bip-status{color:#97ddbb}.bip-error{color:#ffb2ac}.bip-status:empty{display:none}.bip-tracker input[type=file]{width:100%}@media(max-width:720px){.bip-context label{max-width:100%}.bip-context input[type=date]{font-size:16px}.bip-grid .bip-column{width:108px;min-width:108px;max-width:108px}.bip-definitions{font-size:12px}.bip-definitions td,.bip-definitions th{padding:8px}}.bip-tools [role=group]{display:inline-flex;gap:4px}:root{--bg: #081423;--panel: #0f2033;--accent: #4cc9f0;--muted: #9ab3c9;--text: #ebf3fb;--assignment-col-width: 170px;font-family:Space Grotesk,Avenir Next,Segoe UI,sans-serif;background:radial-gradient(1200px circle at 0% 0%,#0f3154 0%,transparent 45%),radial-gradient(900px circle at 100% 0%,#145f78 0%,transparent 40%),linear-gradient(180deg,#07111e,#081423 60%,#091a2b);color:var(--text);min-height:100vh}*{box-sizing:border-box}body{margin:0}.page{min-height:100vh;display:flex;flex-direction:column;padding:16px 22px 32px}.top{display:flex;align-items:center;justify-content:space-between;padding:10px 0}.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.3px}.dot{width:12px;height:12px;border-radius:50%;background:var(--accent);display:inline-block}.badge{padding:6px 10px;border:1px solid var(--accent);border-radius:999px;color:var(--accent);font-size:12px;letter-spacing:.3px}.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.admin-nav-toggle,.admin-nav-scrim{display:none}.admin-nav-toggle[hidden]{display:none!important}.session-pill{padding:6px 10px;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#ffffff0a;color:var(--text);font-size:12px;letter-spacing:.2px}.hero{background:#0a1828cc;border:1px solid rgba(154,179,201,.25);border-radius:18px;padding:32px;box-shadow:0 25px 60px #00000059;display:flex;flex-direction:column;gap:18px}.hero-app{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;align-items:start}.hero-home{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;align-items:start}.hero-copy h1{margin:0 0 12px;font-size:clamp(28px,4vw,42px);line-height:1.1}.hero-copy p{margin:0 0 16px;color:var(--muted)}.hero-panel{background:#ffffff05;border:1px solid rgba(148,163,184,.15)}.home-panel{background:linear-gradient(180deg,#0c2034eb,#081423eb);border:1px solid rgba(154,179,201,.2)}.home-security-note{margin-top:10px}.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px;margin-top:8px}.resource-card{padding:12px 14px;border-radius:12px;border:1px solid rgba(154,179,201,.2);background:#ffffff08}.resource-card h3{margin:2px 0 8px;font-size:17px}.resource-card p{margin:0}.feature-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:6px}.feature{padding:10px 12px;border-radius:10px;border:1px solid rgba(148,163,184,.15);background:#ffffff05}.cta{display:flex;flex-wrap:wrap;gap:12px;margin:4px 0 8px}.btn{border:none;border-radius:10px;padding:12px 18px;font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .15s;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.btn-primary{background:var(--accent);color:#0b1224;box-shadow:0 10px 30px #38bdf84d}.btn-secondary{background:transparent;color:var(--text);border:1px solid rgba(148,163,184,.4)}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0);opacity:.9}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:10px}.card{padding:14px 16px;border-radius:12px;background:#ffffff08;border:1px solid rgba(148,163,184,.15)}.card h3{margin:0 0 6px;font-size:16px}.card p{margin:0;color:var(--muted);font-size:14px}.app-shell{display:flex;margin-top:18px;gap:16px}.sidebar{position:sticky;top:12px;align-self:flex-start;width:240px;max-height:calc(100vh - 24px);overflow-y:auto;background:#111827e6;border:1px solid rgba(148,163,184,.15);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px}.nav-section{display:flex;flex-direction:column;gap:6px}.nav-label{margin:0;color:var(--muted);font-size:12px;letter-spacing:.4px}.nav-btn{border:1px solid rgba(148,163,184,.18);background:#ffffff05;color:var(--text);border-radius:8px;padding:10px 12px;text-align:left;cursor:pointer}.nav-btn:hover{border-color:var(--accent)}.teacher-nav-more{width:100%}.teacher-menu-customize{width:100%;margin-top:8px}.teacher-schedule-settings{grid-column:1 / -1;min-width:0}.teacher-preferences .teacher-schedule-settings>.checkbox-field{display:flex;align-items:center;gap:12px}#teacherCombineClasses{appearance:none;position:relative;width:44px;height:26px;flex:0 0 44px;margin:0;border:1px solid #557083;border-radius:20px;background:#182b3d;cursor:pointer}#teacherCombineClasses:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#eef5fa}#teacherCombineClasses:checked{background:var(--accent);border-color:var(--accent)}#teacherCombineClasses:checked:after{transform:translate(18px);background:#082032}#teacherCombineClasses:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.teacher-schedule-row button:disabled{opacity:.35;cursor:default}#teacherBellTimes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:10px;margin:16px 0}#teacherBellTimes fieldset{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.bell-period-list{display:grid;gap:12px}.bell-period-row{min-width:0;margin:0;padding:12px;border:1px solid var(--border, #385166);border-radius:10px}.bell-period-row legend{padding:0 6px;font-weight:700}.bell-period-classes{margin:0 0 8px}.bell-period-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bell-period-times label{display:grid;gap:4px}.bell-period-times input[type=time]{min-width:0;padding:10px 6px;font-size:14px}.bell-period-rules{margin-top:10px}.bell-period-rules summary{cursor:pointer;font-size:.85rem;color:var(--muted, #adbecd)}.bell-period-rules>label{display:grid;gap:4px;margin:10px 0}.bell-meeting-days{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:12px}.bell-meeting-days label{display:flex;align-items:center;gap:4px;font-size:.8rem}.bell-meeting-days input{width:18px;height:18px;margin:0}.bell-list-actions{position:sticky;bottom:-14px;padding:12px 0;background:#0c1b2a}.bell-list-actions>[hidden]{display:none}.bell-list-heading h2{margin-bottom:6px}.bell-list-heading p{margin:0}.bell-profile-editor{display:grid;gap:10px}.bell-profile-editor[hidden],.bell-profile-editor [hidden]{display:none}.bell-profile-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.bell-profile-editor label{display:grid;gap:4px}.bell-profile-editor p{margin:0}.bell-profile-picker .btn{min-height:42px;padding-inline:10px}.teacher-preferences.settings-menu{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;max-width:760px}.teacher-settings-link,.teacher-setting-section{width:100%;box-sizing:border-box;color:var(--text);background:var(--panel, #102334);border:1px solid var(--border, #385166);border-radius:12px}.teacher-settings-link,.teacher-setting-section>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;text-align:left;cursor:pointer;font:inherit}.teacher-setting-section>summary{list-style:none}.teacher-setting-section>summary::-webkit-details-marker{display:none}.teacher-settings-link>span:first-child,.teacher-setting-section>summary>span:first-child{display:grid;gap:4px;min-width:0}.teacher-settings-link strong,.teacher-setting-section>summary strong{font-size:1rem}.teacher-settings-link small,.teacher-setting-section>summary small{color:var(--muted);font-size:.8rem;line-height:1.4}.settings-chevron{flex:0 0 auto;font-size:1.5rem;color:var(--muted);line-height:1}.teacher-setting-section[open]>summary .settings-chevron{transform:rotate(90deg)}.teacher-settings-link:focus-visible,.teacher-setting-section>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.teacher-settings-link:disabled{opacity:.6;cursor:default}.teacher-setting-content{padding:0 16px 16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.teacher-setting-content .input{width:100%;box-sizing:border-box;min-width:0}.teacher-setting-content label{min-width:0}.teacher-class-order,.teacher-setting-content>.checkbox-field{grid-column:1 / -1}.teacher-setting-content h3{font-size:.95rem;margin:4px 0 10px}.teacher-preferences .teacher-setting-content>fieldset,.teacher-setting-content .policy-panel{margin:0;padding:0;border:0;border-radius:0}.teacher-preferences .teacher-setting-content .checkbox-field{display:flex;flex-direction:row;align-items:center;gap:10px;margin:0;padding:8px 0}.teacher-setting-content .checkbox-field input{width:18px;height:18px;margin:0;flex:0 0 auto}.teacher-setting-content #teacherCombineClasses{width:44px;height:26px;flex-basis:44px}.teacher-settings-save{display:flex;justify-content:flex-end;padding:8px 0}@media(max-width:600px){.teacher-setting-content{grid-template-columns:minmax(0,1fr)}.teacher-settings-save .btn{width:100%}}#teacherBellTimes label{min-width:0}#teacherBellTimes input{width:100%;min-width:0;box-sizing:border-box}.teacher-schedule-row{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #385166}.teacher-schedule-row span{min-width:0;overflow-wrap:anywhere}.teacher-schedule-row small{display:block;color:var(--muted)}.teacher-schedule-row button{padding:0;min-height:44px}.teacher-menu-editor{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-sizing:border-box;overflow:auto;padding:20px;border:1px solid #385166;border-radius:14px;background:#0c1b2a;color:var(--text)}.teacher-menu-editor::backdrop{background:#030c16c9}.teacher-menu-editor h2{margin-top:0}.teacher-menu-editor p{color:var(--muted)}.teacher-menu-choices{display:grid;gap:4px;margin-bottom:16px}.teacher-menu-choices label{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer}.teacher-menu-choices input{width:18px;height:18px;accent-color:var(--accent)}.teacher-nav-more>summary{display:flex;align-items:center;gap:10px;min-height:44px;box-sizing:border-box;padding:10px 12px;border:1px solid rgba(148,163,184,.18);border-radius:8px;color:var(--text);cursor:pointer;list-style:none;font-size:13px;font-weight:600}.teacher-nav-more>summary::-webkit-details-marker{display:none}.teacher-nav-more>summary>span{color:var(--accent);font-size:20px;line-height:1}.teacher-nav-more>summary:after{content:"⌄";margin-left:auto;color:var(--accent)}.teacher-nav-more[open]>summary:after{content:"⌃"}.teacher-nav-more>summary:hover,.teacher-nav-more:has(.nav-btn.active)>summary{border-color:var(--accent);background:#38bdf80f}.teacher-nav-more>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.teacher-nav-submenu{display:flex;flex-direction:column;gap:6px;margin:8px 0 2px 12px;padding-left:10px;border-left:1px solid rgba(56,189,248,.3)}#teacherNavigation .teacher-nav-submenu .nav-btn{width:100%}.nav-btn.active{border-color:var(--accent);box-shadow:0 0 0 1px #38bdf84d;background:#38bdf80f}.content{min-width:0;flex:1;background:#111827cc;border:1px solid rgba(148,163,184,.15);border-radius:12px;padding:18px}.view{display:none}.view.active{display:block}.card-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}.student-services-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start}.stack-form{display:grid;gap:10px;margin:12px 0 18px}.stack-form label{display:grid;gap:5px;font-size:13px;color:var(--muted)}:where(button,a,input,select,textarea):focus-visible{outline:3px solid #60a5fa;outline-offset:2px}.content-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.eyebrow{margin:0 0 6px;text-transform:uppercase;letter-spacing:.6px;font-size:11px;color:var(--muted)}.content-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#ffffff0d;color:var(--text);font-size:12px;letter-spacing:.2px}.pill-ok{border-color:#22c55e;color:#22c55e}.pill-warn{border-color:#f97316;color:#f97316}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:12px}.meta-card{padding:14px}.meta-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.meta-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:12px}.meta-row{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px;padding:8px 10px;border-radius:8px;background:#ffffff05;border:1px solid rgba(148,163,184,.12)}.meta-row strong{color:var(--text)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:14px}.summary-card{padding:14px}.summary-card h3{margin:4px 0;font-size:26px}.list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:10px;border:1px solid rgba(148,163,184,.15);background:#ffffff05}.list-row strong{font-size:15px}.list-row .tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.progress-student-item{border:1px solid rgba(148,163,184,.15);border-radius:8px;background:#ffffff05;overflow:hidden}.progress-student-row{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 10px}.progress-student-main{min-width:0}.progress-student-main strong{display:block;font-size:14px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-student-main p{margin:2px 0 0}.progress-track-panel{border-top:1px solid rgba(148,163,184,.12);padding:8px 10px 10px;background:#0f172a73}.progress-track-panel .tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.track-student-btn{min-width:74px;flex-shrink:0}.pill-ghost{border-color:#94a3b859;color:var(--text);background:#ffffff0a}.tags label{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.tags input[type=checkbox]{accent-color:var(--accent)}.checkbox-grid{display:flex;flex-wrap:wrap;gap:8px 12px}.input{width:100%;padding:12px;border-radius:10px;border:1px solid rgba(148,163,184,.2);background:#ffffff05;color:var(--text);outline:none}.input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #38bdf840}select{color-scheme:dark}select option,select optgroup{background-color:#0d2133;color:#edf8ff}select option:disabled{color:#9ab3c9}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.input-row{display:flex;align-items:center;gap:8px}.filter-field{display:flex;flex-direction:column;gap:4px;min-width:160px;flex:1 1 180px}.progress{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden;margin-top:8px}.progress .bar{height:100%;background:linear-gradient(90deg,#6366f1,#22d3ee)}.checkbox-field{display:inline-flex;align-items:center;gap:8px}.classroom-board{margin-top:12px}.board-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.board-card{padding:14px 16px;border-radius:12px;border:1px solid rgba(148,163,184,.18);background:#ffffff08}.board-card h3{margin:6px 0}.board-card p{margin:0}.board-title{margin:0 0 6px;text-transform:uppercase;letter-spacing:.5px;font-size:12px;color:var(--muted)}.board-progress{background:#e2e8f038;border-radius:999px;height:10px;overflow:hidden;margin:10px 0}.board-progress .bar{height:100%;background:linear-gradient(90deg,#38bdf8,#22c55e)}.board-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-top:8px}.board-highlight{border-color:#38bdf866;box-shadow:0 10px 35px #00000040;background:#38bdf80d}.board-message h3{font-size:24px}.banner-config{margin-top:14px;display:flex;flex-direction:column;gap:8px}.banner-form{display:grid;grid-template-columns:1fr 120px auto;gap:8px;align-items:center}.banner-list{display:flex;flex-direction:column;gap:8px}.banner-slide{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(148,163,184,.2);border-radius:10px;background:#ffffff08}.banner-slide strong{font-size:14px}.banner-slide .muted{font-size:12px}.banner-slide button{padding:6px 10px}.pdf-config{margin-top:10px;display:flex;flex-direction:column;gap:6px}.pdf-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.gradebook-table-wrapper{overflow:auto;border:1px solid rgba(148,163,184,.2);border-radius:10px;background:#ffffff05}.gradebook-table{border-collapse:collapse;min-width:720px;width:max-content;table-layout:fixed}.gradebook-table col.col-student{width:var(--student-col-width, 200px)}.gradebook-table col.col-assignment{width:var(--assignment-col-width, 170px)}.gradebook-table th,.gradebook-table td{padding:10px 12px;border:1px solid rgba(148,163,184,.15);text-align:left}.gradebook-table thead th{position:sticky;top:0;background:#111827e6;z-index:2}.gradebook-table th:first-child,.gradebook-table td:first-child{position:sticky;left:0;z-index:3;background:#111827f2;width:var(--student-col-width, 220px);min-width:0;max-width:var(--student-col-width, 220px)}.gradebook-table th.assignment-col,.gradebook-table td.assignment-col{width:var(--assignment-col-width, 160px);min-width:var(--assignment-col-width, 160px);max-width:var(--assignment-col-width, 160px)}.gradebook-table th.assignment-col .assignment-head{display:flex;flex-direction:column;gap:4px}.assignment-title{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assignment-title .gradebook-assignment-btn{display:block;width:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.assignment-meta-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.assignment-tags{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.assignment-tags .type-pill,.assignment-tags .grade-weight{font-size:11px;padding:3px 6px}.assignment-date{white-space:nowrap;font-size:11px}.assignment-due-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.assignment-weight{font-size:11px}.gradebook-table tbody tr:nth-child(2n) td{background:#ffffff04}.gradebook-student{font-weight:600}.grade-status{min-width:120px;border-radius:6px;text-align:center}.type-pill{padding:4px 8px;border-radius:999px;font-size:12px;border:1px solid rgba(148,163,184,.4)}.type-formative{background:#3b82f61f;border-color:#3b82f680;color:#bfdbfe}.type-summative{background:#ec48991f;border-color:#ec489980;color:#fbcfe8}.grade-weight{font-size:12px;color:var(--muted)}.status-done{background:#22c55e26;border:1px solid rgba(34,197,94,.4);color:#bbf7d0}.status-progress{background:#38bdf81f;border:1px solid rgba(56,189,248,.4);color:#bae6fd}.status-review{background:#f973161f;border:1px solid rgba(249,115,22,.4);color:#fed7aa}.status-notstarted{background:#94a3b81f;border:1px solid rgba(148,163,184,.3);color:#cbd5e1}.status-empty{background:transparent;color:var(--muted)}.grade-input{width:90px;padding:6px 8px;border-radius:8px;border:1px solid rgba(148,163,184,.25);background:#ffffff08;color:var(--text)}.grade-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px #38bdf84d}.grade-tooltip{position:fixed;background:#111827f2;color:var(--text);padding:10px 12px;border-radius:10px;border:1px solid rgba(148,163,184,.25);box-shadow:0 10px 30px #00000059;max-width:360px;z-index:20;font-size:13px}.grade-tooltip p{margin:4px 0}.grade-tooltip .muted{color:var(--muted)}.gradebook-assignment-btn{background:none;border:none;color:inherit;cursor:pointer;padding:0;font:inherit;text-align:left}.gradebook-assignment-btn:hover{color:var(--accent)}.grade-status-select{width:100%;margin-bottom:5px;padding:3px 5px;border:1px solid rgba(148,163,184,.25);border-radius:6px;background:var(--surface);color:var(--muted);font-size:.72rem}.grade-history-btn{display:block;margin:4px auto 0;font-size:.7rem}.grade-history-dialog{width:min(720px,calc(100vw - 32px));max-height:86vh;overflow:auto}.gradebook-bulk-dialog{width:min(760px,calc(100vw - 32px));max-height:90vh;overflow:auto}.gradebook-bulk-dialog fieldset{border:1px solid rgba(148,163,184,.2);border-radius:10px;padding:12px}.gradebook-bulk-students{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:280px;overflow:auto}@media(max-width:650px){.gradebook-bulk-students{grid-template-columns:1fr}}.attendance-student-btn{background:none;border:none;color:var(--text);cursor:pointer;padding:0;font:inherit}.attendance-student-btn:hover{color:var(--accent)}.attendance-calendar-panel{max-width:640px;width:100%}.attendance-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.attendance-calendar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.attendance-calendar-month{font-weight:700;letter-spacing:.3px}.attendance-calendar-legend{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 10px}.attendance-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(70px,1fr));gap:6px}.attendance-calendar-weekday{text-align:center;font-size:12px;color:var(--muted);letter-spacing:.3px}.attendance-calendar-cell{min-height:82px;padding:7px;border-radius:10px;border:1px solid rgba(148,163,184,.2);background:#ffffff05;display:flex;flex-direction:column;gap:6px}.attendance-calendar-cell.empty{background:transparent;border:1px dashed rgba(148,163,184,.2)}.attendance-calendar-day{font-weight:700}.attendance-calendar-body{display:flex;flex-direction:column;gap:6px}.attendance-chip{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:12px;border:1px solid rgba(148,163,184,.3);width:fit-content}.attendance-status-present{background:#22c55e1f;border-color:#22c55e80;color:#bbf7d0}.attendance-status-absent{background:#ef44441f;border-color:#ef444480;color:#fecdd3}.attendance-status-tardy{background:#f973161f;border-color:#f9731680;color:#fed7aa}.attendance-status-excused{background:#38bdf81f;border-color:#38bdf880;color:#bae6fd}.attendance-status-unknown{background:#94a3b81f;border-color:#94a3b866;color:#cbd5e1}.attendance-list-card{background:#11182799;border:1px solid rgba(148,163,184,.15);border-radius:14px;overflow:hidden}.attendance-row{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(360px,1.8fr);align-items:center;gap:10px;min-height:44px;padding:5px 10px;border-bottom:1px solid rgba(148,163,184,.1)}.attendance-row:focus{outline:2px solid var(--accent);outline-offset:-2px;background:#38bdf80d}.attendance-row:last-child{border-bottom:none}.attendance-list-card.attendance-seating-mode{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:8px;padding:8px;background:transparent;border:0}.attendance-list-card.attendance-seating-mode .attendance-row{grid-template-columns:1fr;padding:9px;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:#11182799}.attendance-student-info{overflow:hidden}.attendance-student-info>p{margin:1px 0 0;font-size:10px;line-height:1.1}.attendance-student-info strong{font-size:13px;line-height:1.15}.attendance-controls{display:flex;align-items:center;gap:5px;flex-wrap:nowrap}.attendance-status-btns{display:flex;gap:3px;flex-wrap:nowrap}.status-btn{min-height:32px;padding:4px 10px;border-radius:7px;border:1px solid rgba(148,163,184,.3);background:transparent;color:var(--muted);font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap;transition:border-color .12s,color .12s,background .12s}.status-btn:disabled{cursor:not-allowed;opacity:.65}.status-btn-present.active{background:#22c55e26;border-color:#22c55e;color:#bbf7d0}.status-btn-absent.active{background:#ef444426;border-color:#ef4444;color:#fecdd3}.status-btn-tardy.active{background:#f9731626;border-color:#f97316;color:#fed7aa}.status-btn-excused.active{background:#38bdf826;border-color:#38bdf8;color:#bae6fd}.status-btn-present:hover:not(.active){border-color:#22c55e;color:#bbf7d0}.status-btn-absent:hover:not(.active){border-color:#ef4444;color:#fecdd3}.status-btn-tardy:hover:not(.active){border-color:#f97316;color:#fed7aa}.status-btn-excused:hover:not(.active){border-color:#38bdf8;color:#bae6fd}.attendance-note-input{flex:1;min-width:100px;max-width:260px;height:32px;font-size:11px;padding:4px 8px;border-radius:7px}.attendance-entry-details{display:flex;align-items:center;gap:8px;flex:1;min-width:260px}.attendance-reason-select{min-width:145px;max-width:210px;height:32px;padding:4px 8px;border-radius:7px;font-size:11px}.assignment-workflow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.assignment-workflow-grid label{min-width:0}.assignment-student-preview{margin-top:12px;padding:16px;border-radius:12px;background:#0f172a8c;border:1px solid rgba(148,163,184,.18)}.assignment-calendar{display:flex;flex-direction:column;gap:8px}.assignment-calendar article{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:12px;border-bottom:1px solid rgba(148,163,184,.14)}.assignment-calendar article div{display:flex;align-items:center;justify-content:space-between;gap:10px}.assignment-calendar time{color:var(--muted)}@media(max-width:760px){.assignment-workflow-grid{grid-template-columns:1fr}.attendance-row{grid-template-columns:1fr;padding:7px 9px}.attendance-controls{flex-wrap:wrap}.attendance-note-input{max-width:none}}.student-insights-layout{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,2fr);gap:16px;margin:14px 0 22px;align-items:start}.teacher-student-list{display:flex;flex-direction:column;gap:6px;margin-top:12px;max-height:65vh;overflow:auto}.teacher-student-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px;color:var(--text);text-align:left;background:transparent;border:1px solid transparent;border-radius:10px}.teacher-student-item span:first-child{display:flex;flex-direction:column;min-width:0}.teacher-student-item small{color:var(--muted)}.teacher-student-item:hover,.teacher-student-item.active{border-color:#38bdf873;background:#38bdf814}.sensitive-support-card{margin:16px 0;padding:14px;border-radius:12px;border:1px solid rgba(245,158,11,.35);background:#f59e0b12}.sensitive-support-card>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center}.intervention-card{display:flex;flex-direction:column;gap:5px;padding:10px 0;border-bottom:1px solid rgba(148,163,184,.14)}.teacher-section-heading{margin:22px 0 10px}.intervention-update{margin:6px 0 0 12px;padding:8px 10px;border-left:3px solid rgba(56,189,248,.45);background:#38bdf80d}.intervention-update p{margin:0 0 3px}.student-support-dialog{width:min(760px,calc(100vw - 32px));max-height:90vh;overflow:auto}.student-support-dialog [data-support-fields]{display:grid;gap:12px}.student-support-dialog label{display:flex;flex-direction:column;gap:6px}@media(max-width:850px){.student-insights-layout{grid-template-columns:1fr}.teacher-student-list{max-height:260px}}.teacher-message-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.5fr);gap:16px}.teacher-message-item{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;background:transparent;color:var(--text);border:0;border-bottom:1px solid rgba(148,163,184,.14);text-align:left}.teacher-message-item span,.teacher-message-item small,.teacher-notification small{color:var(--muted)}.teacher-notification{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-bottom:1px solid rgba(148,163,184,.14)}.teacher-notification-open{flex:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0;background:transparent;color:var(--text);border:0;text-align:left}.teacher-notification-open>span:first-child{display:flex;flex-direction:column;gap:4px}.teacher-preferences{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.teacher-preferences label{display:flex;flex-direction:column;gap:6px}.teacher-preferences fieldset,.policy-panel{grid-column:1/-1;border:1px solid rgba(148,163,184,.2);border-radius:12px;padding:14px}.teacher-preferences fieldset .checkbox-field{display:inline-flex;margin-right:20px}.shortcut-list div{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px solid rgba(148,163,184,.15)}html[data-teacher-text-size=large]{font-size:18px}html[data-teacher-text-size=xlarge]{font-size:20px}@media(max-width:800px){.teacher-message-layout,.teacher-preferences{grid-template-columns:1fr}.teacher-preferences fieldset,.policy-panel{grid-column:auto}}.classroom-tool-strip{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.classroom-quick-result{margin:10px 0}.classroom-timer{display:flex;align-items:center;justify-content:space-between}.classroom-timer strong{font-size:2.2rem;font-variant-numeric:tabular-nums}.seating-chart{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-top:14px}.seat{min-height:90px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:12px;border:1px solid rgba(56,189,248,.35);background:#38bdf814;color:var(--text);cursor:grab}.seat:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.seat.is-dragging{opacity:.45;cursor:grabbing}.teacher-quick-actions{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.teacher-quick-actions h3{margin:0}.grade-distribution-summary{min-width:min(100%,280px)}.gradebook-report-dialog{width:min(900px,calc(100vw - 32px));max-height:88vh;overflow:auto}.progress-report-preview{display:grid;grid-template-columns:minmax(220px,1fr) minmax(280px,1.4fr);gap:20px;padding:18px 0;border-bottom:1px solid rgba(148,163,184,.2);break-inside:avoid}.progress-report-preview h3{margin:0}.progress-report-preview dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}.progress-report-preview dl div{padding:10px;border-radius:10px;background:#94a3b814}.progress-report-preview dt{font-size:.78rem;color:var(--muted)}.progress-report-preview dd{margin:4px 0 0;font-weight:700}@media(max-width:700px){.progress-report-preview,.progress-report-preview dl{grid-template-columns:1fr}}@media print{body>*:not(#gradebookReportDialog){display:none!important}#gradebookReportDialog{position:static;display:block;width:100%;max-height:none;border:0;background:#fff;color:#111}.gradebook-report-dialog>.content-header button,.gradebook-report-dialog>.dialog-actions{display:none!important}}.attendance-unrecorded{font-style:italic}.attendance-pattern-warning{display:inline-flex;margin-top:5px;padding:3px 7px;border-radius:999px;background:#f59e0b1f;color:#fcd34d;font-size:.72rem;font-weight:700}.attendance-student-name-row{display:flex;align-items:center;gap:5px;min-width:0}.attendance-student-name-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-class-memberships{display:flex;flex-wrap:nowrap;gap:3px;margin-top:2px;overflow:hidden}.attendance-class-memberships .pill{max-width:150px;padding:1px 5px;overflow:hidden;font-size:8px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.attendance-history-row-btn{background:none;border:none;color:var(--muted);font-size:9px;cursor:pointer;padding:0 4px;border-radius:4px;border:1px solid rgba(148,163,184,.25);white-space:nowrap}.attendance-history-row-btn:hover{color:var(--accent);border-color:var(--accent)}.attendance-history-panel{max-width:680px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.attendance-history-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-shrink:0}.attendance-history-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;flex-shrink:0}.attendance-history-body{overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:16px}.history-date-group{display:flex;flex-direction:column;gap:1px}.history-date-label{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.4px;text-transform:uppercase;padding:4px 0 6px;border-bottom:1px solid rgba(148,163,184,.15);margin-bottom:2px}.history-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px 4px;border-bottom:1px solid rgba(148,163,184,.08)}.history-row:last-child{border-bottom:none}.history-row-left{flex:1}.history-row-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.history-note{margin:2px 0 0;font-style:italic}.tooltip-date-btn{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font:inherit;text-decoration:underline}.tooltip-date-btn:hover{color:#7dd3fc}.projector-shell{position:fixed;inset:0;display:none;flex-direction:column;background:linear-gradient(180deg,#0b1220,#0f172a);color:var(--text)}.projector-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#0b5ea9;color:#e8f1ff;box-shadow:0 6px 18px #0000004d}.projector-header-left{display:flex;align-items:center;gap:12px}.projector-header-right{display:flex;align-items:center;gap:16px}.projector-class-select-wrap{display:flex;flex-direction:column;gap:4px}.projector-class-select{background:#ffffff1a;color:#e8f1ff;border:1px solid rgba(232,241,255,.6);border-radius:8px;padding:6px 10px;min-width:140px}.projector-class-select:hover{border-color:#fff}.projector-class-select option{color:#0f172a;background:#e8f1ff}.projector-body{flex:1;display:grid;grid-template-columns:280px 1fr;gap:0;min-height:0}.projector-sidebar{background:#0d182c;border-right:1px solid rgba(148,163,184,.2);padding:16px;display:flex;flex-direction:column;gap:12px}.projector-main{background:#0a1222;padding:12px;overflow:hidden;display:flex;min-height:0}.projector-main.projector-main-full{padding:0}.projector-main-inner{width:100%;padding:12px;height:100%;overflow:auto}.projector-main #projectorBoard{flex:1;display:flex;min-height:0;height:100%}.projector-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.projector-panel{border:1px solid rgba(148,163,184,.2);border-radius:12px;padding:14px;background:#ffffff08}.projector-panel-title{margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px;font-size:12px;color:var(--muted)}.projector-add-box{background:#38bdf814;border-color:#38bdf866}.projector-pdf-wrap{position:relative;width:100%;height:100%;background:#0a1222;display:flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid rgba(148,163,184,.2);overflow:hidden;min-height:0}.projector-pdf-canvas{max-width:100%;max-height:100%;background:#0a1222}.projector-pdf-controls{position:absolute;top:12px;right:12px;display:flex;gap:8px;align-items:center;background:#00000073;padding:8px 10px;border-radius:10px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.projector-pdf-btn{background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:6px 10px;cursor:pointer}.projector-pdf-btn:disabled{opacity:.5;cursor:not-allowed}.projector-pdf-page{color:#e2e8f0;font-size:12px}.projector-pdf-status{position:absolute;bottom:12px;left:12px;color:#94a3b8;font-size:12px;background:#00000073;padding:6px 10px;border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px;z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.login-panel{background:#111827f2;border:1px solid rgba(148,163,184,.25);border-radius:14px;padding:18px;box-shadow:0 18px 45px #00000059;max-width:420px;width:100%}.detail-panel{max-width:620px;width:100%;max-height:80vh;overflow-y:auto}.login-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.login-form{display:flex;flex-direction:column;gap:12px}.login-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.login-form input[type=email],.login-form input[type=password]{padding:12px;border-radius:10px;border:1px solid rgba(148,163,184,.25);background:#ffffff05;color:var(--text);outline:none}.login-form input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #38bdf840}.row{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted)}.remember{display:inline-flex;align-items:center;gap:6px}.link{color:var(--accent);text-decoration:none}.link:hover{text-decoration:underline}.muted{color:var(--muted)}.small{font-size:13px}.admin-grid{display:grid;grid-template-columns:minmax(320px,1fr) minmax(260px,.95fr);gap:12px;align-items:start;margin-top:12px}.admin-card{display:flex;flex-direction:column;gap:10px}.admin-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.admin-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:6px}.admin-form-actions{display:flex;justify-content:flex-end}.admin-row-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;min-width:220px}.btn-compact{padding:8px 12px;font-size:13px}.admin-device-meta{font-size:13px;color:var(--muted);margin:4px 0 0}.admin-device-heading{display:inline-flex;align-items:center;gap:8px}.admin-upgrade{border:1px dashed rgba(148,163,184,.35);background:#ffffff05;border-radius:10px;padding:12px;color:var(--muted)}.admin-student-controls{display:flex;flex-direction:column;gap:10px}.admin-student-search{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pagination{display:inline-flex;align-items:center;gap:8px}.admin-student-table{display:flex;flex-direction:column;gap:1px;padding:0;background:#94a3b833;border:1px solid rgba(148,163,184,.2);border-radius:8px;overflow:hidden}.admin-student-row{display:grid;grid-template-columns:var(--col-name, 2fr) var(--col-id, 1fr) var(--col-updated, 1fr) var(--col-actions, .9fr);align-items:center;gap:0;padding:0;margin:0;border:1px solid rgba(148,163,184,.2);border-radius:4px;background:#0f172af5;min-height:20px}.admin-student-row:nth-child(odd):not(.admin-student-header){background:#0f172afa}.admin-student-row:nth-child(2n):not(.admin-student-header){background:#0f172af5}.admin-student-row:hover{background:#38bdf81f}.admin-student-header{background:#ffffff05;font-weight:600;position:sticky;top:0;z-index:2;padding-top:0;padding-bottom:0;min-height:18px}.admin-student-cell{min-width:0;font-size:12px;line-height:1;position:relative;padding:1px 4px}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-student-actions{justify-content:flex-end;gap:1px}.admin-directory-header{padding:0 0 4px}.admin-student-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.admin-student-summary>div{display:grid;gap:3px;padding:14px 16px;border:1px solid rgba(148,163,184,.16);border-radius:12px;background:#ffffff06}.admin-student-summary strong{font-size:23px}.admin-student-summary span{color:var(--muted);font-size:11px}.admin-import-result{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border:1px solid rgba(34,197,94,.3);border-radius:10px;background:#22c55e14;color:#dcfce7;font-size:13px}.admin-import-result[hidden]{display:none}.admin-student-directory-card{padding:0;overflow:hidden}.admin-student-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:16px;border-bottom:1px solid rgba(148,163,184,.14)}.admin-student-toolbar p{margin:0 0 10px;text-align:right}.attendance-scan-dialog{width:min(1100px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-sizing:border-box;overflow:auto;padding:20px;border:1px solid #385166;border-radius:16px;background:#0c1b2a;color:#eef5fa}.attendance-scan-decision{width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-sizing:border-box;overflow:auto;padding:20px;border:1px solid #385166;border-radius:16px;background:#0c1b2a;color:#eef5fa}.attendance-scan-dialog::backdrop,.attendance-scan-decision::backdrop{background:#030c16c9}.attendance-scan-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.attendance-scan-layout section,.attendance-scan-decision label{min-width:0}.attendance-scan-dialog video{display:block;width:100%;max-height:330px;aspect-ratio:4 / 3;object-fit:contain;background:#020609;border-radius:12px}.attendance-scan-actions{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.attendance-scan-actions>label{flex:1 1 180px;min-width:0}.attendance-scan-actions .btn{min-height:44px;white-space:normal}.attendance-scan-dialog .input,.attendance-scan-decision .input{width:100%;box-sizing:border-box}.attendance-scan-row{display:flex;align-items:start;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #314250;overflow-wrap:anywhere}.attendance-scan-row small{display:block;color:#adc0d0;margin-top:4px}.attendance-scan-row .pill{flex-shrink:0}.attendance-photo-label{position:relative;cursor:pointer;overflow:hidden}.attendance-photo-label input{position:absolute;inset:0;opacity:0;cursor:pointer}.attendance-bell-day{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px;align-items:center;padding:8px 0}.attendance-bell-day input[type=checkbox]{width:20px;height:20px;margin-right:8px}#attendanceScanOcrText,#attendanceScanFeedback{overflow-wrap:anywhere}@media(max-width:700px){.attendance-scan-layout{grid-template-columns:minmax(0,1fr)}.attendance-scan-dialog,.attendance-scan-decision{padding:14px}.attendance-scan-actions .btn{flex:1 1 120px}.attendance-bell-day{grid-template-columns:1fr 1fr}.attendance-bell-day>label:first-child{grid-column:1 / -1}}.admin-student-bulk{padding:14px 16px;border-bottom:1px solid rgba(148,163,184,.14)}.admin-student-bulk-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-student-bulk-actions .btn{min-height:44px;white-space:normal}.admin-student-bulk p{margin:10px 0 0}.admin-student-select-name{display:flex;align-items:center;gap:8px}.admin-student-select-name .admin-student-name-button{min-width:0;overflow-wrap:anywhere;text-align:left}.student-campus-checkbox{width:20px;height:20px;flex-shrink:0;margin:0;accent-color:var(--accent)}.campus-bulk-option{display:flex;align-items:center;gap:10px}#studentCampusResult,#courseCampusResult{overflow-wrap:anywhere}@media(max-width:600px){.admin-student-bulk-actions .btn{flex:1 1 140px}}.admin-student-search-field{width:min(520px,100%);display:grid;gap:5px}.admin-student-directory-card .admin-student-table{border:0;border-radius:0}.admin-student-directory-card .admin-student-row{min-height:46px;border-width:0 0 1px;border-radius:0}.admin-student-directory-card .admin-student-header{min-height:34px;background:#38bdf80e}.admin-student-directory-card .admin-student-cell{padding:9px 12px;line-height:1.25}.admin-student-directory-card .admin-student-actions{padding:6px 10px;gap:5px}.admin-student-name-button{max-width:100%;padding:0;overflow:hidden;border:0;background:transparent;color:#eaf4fc;font:inherit;font-weight:700;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.admin-student-name-button:hover{color:#7dd3fc;text-decoration:underline}.admin-student-directory-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;background:#08142373}.admin-course-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.admin-course-summary>div{display:grid;gap:3px;padding:15px 17px;border:1px solid rgba(148,163,184,.15);border-radius:12px;background:#0a1b2db3}.admin-course-summary strong{font-size:24px;line-height:1}.admin-course-summary span{color:var(--muted);font-size:11px}.admin-course-catalog-card{padding:0;overflow:hidden}.admin-course-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,220px);gap:10px;padding:15px;border-bottom:1px solid rgba(148,163,184,.13)}.admin-course-toolbar label{display:grid;gap:5px}.admin-course-list{display:grid}.admin-course-subject{border-bottom:1px solid rgba(148,163,184,.12)}.admin-course-subject:last-child{border-bottom:0}.admin-course-subject>.admin-course-row{border-bottom:0}.admin-subject-periods{display:grid;margin:0 17px 15px 56px;overflow:hidden;border:1px solid rgba(56,189,248,.16);border-radius:10px;background:#0714228c}.admin-subject-periods[hidden]{display:none}.admin-subject-periods>p{padding:15px}.admin-subject-period-row{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(160px,1fr) auto;align-items:center;gap:14px;padding:12px 14px;border-bottom:1px solid rgba(148,163,184,.1)}.admin-subject-period-row:last-child{border-bottom:0}.admin-subject-period-row p,.admin-subject-period-row small{display:block;margin:3px 0 0;color:var(--muted);font-size:10px}.admin-course-row{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(180px,1fr) 90px minmax(150px,auto);align-items:center;gap:16px;padding:15px 17px;border-bottom:1px solid rgba(148,163,184,.12)}.admin-course-row:last-child{border-bottom:0}.admin-course-row:hover{background:#38bdf809}.admin-course-identity{display:flex;align-items:center;gap:12px;min-width:0}.admin-course-code{display:inline-flex;max-width:125px;flex:0 0 auto;padding:7px 9px;overflow:hidden;border:1px solid rgba(56,189,248,.22);border-radius:8px;background:#38bdf814;color:#a5e8fb;font-size:10px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.admin-course-identity>div,.admin-course-owner{min-width:0}.admin-course-identity strong,.admin-course-owner strong{display:block;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.admin-course-identity p,.admin-course-owner p{margin:4px 0 0;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.admin-course-owner>span,.admin-course-roster span{display:block;margin-bottom:3px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.45px}.admin-course-roster{text-align:center}.admin-course-roster strong{display:block;font-size:19px}.admin-course-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.admin-course-empty{padding:34px 18px;text-align:center}.admin-course-empty p{margin:6px 0 0}.admin-course-dialog{width:min(720px,calc(100vw - 28px))}.admin-course-form{max-height:calc(100vh - 115px);padding:18px 20px 22px;overflow-y:auto}.admin-course-form>p{margin:0 14px 16px;line-height:1.5}.admin-course-form .admin-form-actions{justify-content:flex-end}.admin-class-row .admin-course-actions{flex-wrap:wrap}.admin-class-members-dialog{width:min(980px,calc(100vw - 28px))}.bulk-course-assignment{display:grid;gap:16px;padding:20px}.bulk-course-assignment>p{margin:0}.bulk-course-assignment .admin-profile-fields{padding:0}.bulk-course-assignment .admin-form-actions{position:sticky;bottom:-20px;background:#0c1c2d;padding:12px 0;z-index:1}.bulk-course-assignment>label{display:grid;gap:6px}.bulk-course-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.bulk-course-actions [role=status]{margin-left:auto;font-weight:600;color:#7dd3fc}.bulk-course-assignment .admin-member-checklist{max-height:min(420px,42vh)}.bulk-course-assignment .admin-member-checklist>p{padding:16px}.bulk-course-assignment .admin-member-checklist label:has(input:checked){background:#38bdf81f}.bulk-course-assignment .admin-member-checklist label:has(input:disabled){opacity:.65}.bulk-course-assignment #courseTeacherStatus{white-space:pre-wrap;overflow-wrap:anywhere}.admin-class-members-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:18px 20px 22px}.admin-class-members-grid>section{display:grid;align-content:start;gap:12px;min-width:0;padding:15px;border:1px solid rgba(148,163,184,.15);border-radius:12px;background:#0814236b}.admin-member-checklist{display:grid;align-content:start;max-height:420px;overflow-y:auto;border:1px solid rgba(148,163,184,.14);border-radius:10px}.admin-member-checklist>label{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border-bottom:1px solid rgba(148,163,184,.1);cursor:pointer}.admin-member-checklist>label:last-child{border-bottom:0}.admin-member-checklist>label:hover{background:#38bdf80d}.admin-member-checklist input{margin-top:3px}.admin-member-checklist span{display:grid;min-width:0}.admin-member-checklist strong,.admin-member-checklist small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-member-checklist small{margin-top:2px;color:var(--muted)}.admin-member-checklist>p{padding:16px}.admin-academic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.admin-academic-grid>.admin-card{padding:0;overflow:hidden}.admin-academic-grid .admin-card-header{padding:17px;border-bottom:1px solid rgba(148,163,184,.13)}.admin-calendar-card{padding:0;overflow:hidden}.admin-calendar-card>.admin-card-header{padding:17px;border-bottom:1px solid rgba(148,163,184,.13)}.admin-form-spacer{flex:1}.admin-academic-list{display:grid}.admin-academic-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(148,163,184,.12)}.admin-academic-row:last-child{border-bottom:0}.admin-academic-row>div:first-child{min-width:0}.admin-academic-row .admin-course-code{margin-right:8px;vertical-align:middle}.admin-academic-row strong{font-size:13px}.admin-academic-row p{margin:6px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.admin-academic-row>div:last-child{display:flex;align-items:center;gap:7px}.admin-academic-period-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.admin-academic-period-chips span{padding:4px 6px;border-radius:6px;background:#38bdf814;color:#b7ebfa;font-size:9px}.admin-academic-dialog{width:min(880px,calc(100vw - 28px))}.admin-academic-form{display:block;max-height:calc(100vh - 115px);margin-top:0;padding:18px 20px 22px;overflow-y:auto}.admin-academic-form .admin-form-actions{justify-content:flex-end}.admin-schedule-dialog{width:min(1020px,calc(100vw - 28px))}.admin-schedule-dialog .admin-student-dialog-heading{background:linear-gradient(110deg,#133652e6,#0a1f32f5)}.admin-schedule-dialog .admin-student-dialog-heading p:last-child{margin:6px 0 0}.admin-schedule-basics{margin:0 14px 18px;border:1px solid rgba(148,163,184,.14);border-radius:11px;background:#020c173d}.admin-schedule-period-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:4px 14px 12px}.admin-schedule-period-heading h4,.admin-schedule-period-heading p{margin:0}.admin-schedule-period-heading p{margin-top:4px}.admin-schedule-title-line{display:flex;align-items:center;gap:8px}.admin-schedule-periods{display:grid;gap:10px;margin:0 14px 18px}.admin-schedule-period-card{overflow:hidden;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:#ffffff06;box-shadow:0 7px 20px #0000001a}.admin-schedule-period-card:focus-within{border-color:#38bdf873;box-shadow:0 0 0 2px #38bdf817}.admin-schedule-period-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border-bottom:1px solid rgba(148,163,184,.11);background:#020c1740}.admin-schedule-period-card-heading>div:first-child{display:flex;align-items:center;gap:9px;min-width:0}.admin-schedule-period-card-heading strong,.admin-schedule-period-card-heading small{display:block}.admin-schedule-period-card-heading strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.admin-schedule-period-card-heading small{margin-top:2px;color:var(--muted);font-size:9px}.admin-schedule-order{display:inline-grid;width:29px;height:29px;flex:0 0 auto;place-items:center;border-radius:8px;background:#38bdf81f;color:#a5e8fb;font-size:11px;font-weight:800}.admin-schedule-card-actions{display:flex;gap:4px}.admin-schedule-card-actions button{min-height:27px;padding:4px 8px;border:1px solid rgba(148,163,184,.2);border-radius:6px;background:#ffffff06;color:#dcebf7;font-size:9px;cursor:pointer}.admin-schedule-card-actions button:hover:not(:disabled){border-color:var(--accent);background:#38bdf817}.admin-schedule-card-actions button.danger:hover{border-color:#f8717180;background:#7f1d1d33;color:#fecaca}.admin-schedule-card-actions button:disabled{opacity:.3;cursor:default}.admin-schedule-period-fields{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(240px,1.3fr);align-items:end;gap:11px 14px;padding:13px}.admin-schedule-period-fields>label,.admin-schedule-time-pair label{display:grid;gap:5px;min-width:0;color:var(--muted);font-size:10px}.admin-schedule-period-fields .input{min-width:0}.admin-schedule-time-pair{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:7px}.admin-schedule-time-pair>span{padding-bottom:9px;color:var(--muted)}.admin-schedule-period-empty{padding:32px 18px;border:1px dashed rgba(148,163,184,.25);border-radius:12px;text-align:center}.admin-schedule-period-empty p{margin:6px 0 0;color:var(--muted);font-size:11px}.admin-schedule-footer{position:sticky;bottom:-22px;z-index:2;display:flex;align-items:center;justify-content:space-between!important;margin:0 -20px -22px;padding:14px 20px;border-top:1px solid rgba(148,163,184,.16);background:#0d1c2ef7;box-shadow:0 -12px 28px #02081242}.admin-schedule-footer>div{display:flex;gap:8px}.admin-student-dialog{width:min(860px,calc(100vw - 28px));max-height:min(880px,calc(100vh - 28px));padding:0;border:1px solid rgba(148,163,184,.28);border-radius:16px;background:#0d1c2e;color:var(--text);box-shadow:0 28px 80px #0000008c;overflow:hidden}.admin-student-dialog::backdrop{background:#020812bf;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.admin-import-dialog{width:min(560px,calc(100vw - 28px));padding:0;border:1px solid rgba(148,163,184,.28);border-radius:16px;background:#0d1c2e;color:var(--text);box-shadow:0 28px 80px #0000008c;overflow:hidden}.admin-import-dialog::backdrop{background:#020812bf;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.admin-import-dialog-body{display:grid;gap:9px;padding:18px 20px}.admin-import-dialog-body p{margin:0;line-height:1.5}.admin-import-dialog>.admin-form-actions{gap:8px;padding:0 20px 20px}.admin-import-errors{max-height:220px;padding:12px;overflow-y:auto;border:1px solid rgba(248,113,113,.4);border-radius:9px;background:#7f1d1d2e;color:#fecaca;font-size:12px}.admin-import-errors[hidden]{display:none}.admin-import-errors ul{margin:8px 0 0;padding-left:20px}.admin-import-errors li+li{margin-top:5px}.admin-template-dialog{width:min(920px,calc(100vw - 28px));max-height:min(900px,calc(100vh - 28px));padding:0;border:1px solid rgba(148,163,184,.28);border-radius:16px;background:#0d1c2e;color:var(--text);box-shadow:0 28px 80px #0000008c;overflow:hidden}.admin-template-dialog::backdrop{background:#020812bf;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.admin-template-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:14px 20px;list-style:none;border-bottom:1px solid rgba(148,163,184,.12);background:#020c1738}.admin-template-steps li{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:700}.admin-template-steps li span{display:inline-grid;width:25px;height:25px;place-items:center;border:1px solid rgba(148,163,184,.28);border-radius:50%}.admin-template-steps li.active{color:#dff7ff}.admin-template-steps li.active span{border-color:var(--accent);background:#38bdf826;color:#7dd3fc}.admin-template-body{max-height:calc(100vh - 235px);min-height:360px;padding:18px 20px;overflow-y:auto}.admin-template-body section[hidden]{display:none}.admin-template-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.admin-template-section-heading h4{margin:0 0 5px;font-size:16px}.admin-template-section-heading p{margin:0}.admin-template-section-heading>strong{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#38bdf81a;color:#a5e8fb;font-size:11px}.admin-template-quick-actions{display:flex;gap:7px;margin-bottom:13px}.admin-template-field-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-template-field-groups fieldset{min-width:0;margin:0;padding:10px;border:1px solid rgba(148,163,184,.16);border-radius:10px;background:#ffffff05}.admin-template-field-groups legend{padding:0 6px;color:#dcebf7;font-size:12px;font-weight:700}.admin-template-field-groups fieldset>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.admin-template-field-groups label{display:flex;align-items:center;gap:7px;min-width:0;padding:7px;border-radius:7px;color:#cbd9e5;font-size:11px;cursor:pointer}.admin-template-field-groups label:hover{background:#38bdf812}.admin-template-field-groups label span{min-width:0;overflow-wrap:anywhere}.admin-template-field-groups label small{margin-left:auto;color:#7dd3fc;font-size:9px}.admin-template-field-groups input{flex:0 0 auto;accent-color:var(--accent)}.admin-template-preview{display:flex;gap:6px;margin-bottom:12px;padding:9px;overflow-x:auto;border:1px solid rgba(56,189,248,.18);border-radius:9px;background:#020c1759}.admin-template-preview span{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:6px 8px;border-radius:6px;background:#ffffff0d;color:#dcebf7;font-size:10px}.admin-template-preview b{color:#7dd3fc}.admin-template-order{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.admin-template-order-item{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:9px;border:1px solid rgba(148,163,184,.17);border-radius:9px;background:#ffffff06;cursor:grab}.admin-template-order-item.dragging{opacity:.45}.admin-template-order-item.drag-over{border-color:var(--accent);box-shadow:inset 0 0 0 1px #38bdf859}.admin-template-grip{color:var(--muted);letter-spacing:-3px}.admin-template-position{display:inline-grid;width:24px;height:24px;place-items:center;border-radius:6px;background:#38bdf817;color:#a5e8fb;font-size:10px}.admin-template-order-item>div{min-width:0}.admin-template-order-item strong{display:block;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.admin-template-order-item small{display:block;margin-top:2px;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.admin-template-order-actions{display:flex;gap:3px}.admin-template-order-actions button{display:inline-grid;width:27px;height:27px;padding:0;place-items:center;border:1px solid rgba(148,163,184,.2);border-radius:6px;background:#ffffff06;color:#dcebf7;cursor:pointer}.admin-template-order-actions button:hover:not(:disabled){border-color:var(--accent);background:#38bdf81a}.admin-template-order-actions button:disabled{opacity:.3;cursor:default}.admin-template-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 20px;border-top:1px solid rgba(148,163,184,.14)}.admin-template-footer>div{display:flex;gap:8px}.admin-rollover-card{padding:0;overflow:hidden}.admin-rollover-card>.admin-card-header{padding:17px;border-bottom:1px solid rgba(148,163,184,.13)}.admin-rollover-dialog{width:min(940px,calc(100vw - 28px))}.admin-rollover-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-rollover-steps li.complete{color:#86d8a5}.admin-rollover-steps li.complete span{border-color:#22c55e73;background:#22c55e24;color:#bbf7d0}.admin-rollover-body{min-height:430px}.admin-rollover-year-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-rollover-options{margin-top:20px}.admin-rollover-options label.admin-rollover-danger{border-color:#f871714d;background:#7f1d1d1a}.admin-rollover-options label.admin-rollover-danger strong{color:#fecaca}.admin-rollover-impact{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.admin-rollover-impact>div{display:grid;gap:5px;min-width:0;padding:14px;border:1px solid rgba(148,163,184,.16);border-radius:10px;background:#020c174d}.admin-rollover-impact strong{color:#dff7ff;font-size:22px}.admin-rollover-impact span{color:var(--muted);font-size:10px}.admin-rollover-ready{display:flex;flex-direction:column;gap:4px;margin-top:18px;padding:14px;border:1px solid rgba(34,197,94,.28);border-radius:11px;background:#22c55e14;color:#bbf7d0;font-size:12px}.admin-rollover-ready span{color:#86d8a5}.admin-rollover-confirm{display:grid;gap:7px;max-width:440px;margin-top:20px;color:#dcebf7;font-size:12px;font-weight:700}.admin-rollover-dialog .platform-wizard-warning ul{margin:3px 0 0;padding-left:20px}.admin-pdf-replacement{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);gap:10px;margin:12px 0;padding:12px;border:1px solid rgba(248,113,113,.25);border-radius:10px;background:#7f1d1d14}.admin-pdf-replacement>label{display:flex;align-items:flex-start;gap:9px}.admin-pdf-replacement>label:last-child{display:grid;gap:5px;color:var(--muted);font-size:11px}.admin-pdf-replacement label>span{display:grid;gap:3px}.admin-pdf-replacement small{color:var(--muted);font-size:10px;line-height:1.4}.admin-pdf-dialog{width:min(980px,calc(100vw - 28px));max-height:min(900px,calc(100vh - 28px));padding:0;border:1px solid rgba(148,163,184,.28);border-radius:16px;background:#0d1c2e;color:var(--text);box-shadow:0 28px 80px #0000008c;overflow:hidden}.admin-pdf-dialog::backdrop{background:#020812bf;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.admin-pdf-body{min-height:390px;max-height:calc(100vh - 235px);padding:18px 20px;overflow-y:auto}.admin-pdf-body section[hidden],.admin-pdf-loading[hidden]{display:none}.admin-pdf-loading{display:grid;min-height:300px;place-content:center;justify-items:center;gap:8px;text-align:center}.admin-pdf-loading p{margin:0}.admin-pdf-metadata{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:13px}.admin-pdf-metadata div{display:grid;gap:3px;min-width:0;padding:10px;border:1px solid rgba(148,163,184,.14);border-radius:9px;background:#ffffff06}.admin-pdf-metadata span{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.45px}.admin-pdf-metadata strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.admin-pdf-metadata small{color:#b8d8e8;font-size:9px}.admin-pdf-metadata .admin-pdf-file-card.has-error{border-color:#f8717159;background:#7f1d1d1f}.admin-pdf-metadata .admin-pdf-file-error{color:#fca5a5;text-transform:none;letter-spacing:0;line-height:1.4}.admin-pdf-warning{margin-bottom:12px;padding:11px;border:1px solid rgba(251,191,36,.34);border-radius:9px;background:#92400e24;color:#fde68a;font-size:11px}.admin-pdf-warning[hidden]{display:none}.admin-pdf-warning ul{margin:6px 0 0;padding-left:19px}.admin-pdf-fieldset{margin:0 0 12px;padding:12px;border:1px solid rgba(148,163,184,.17);border-radius:10px;background:#ffffff05}.admin-pdf-fieldset legend{padding:0 6px;color:#dcebf7;font-size:12px;font-weight:700}.admin-pdf-fieldset>p{margin:0 0 10px}#adminStudentPdfFields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}#adminStudentPdfFields label,.admin-pdf-class-toggle{display:flex;align-items:center;gap:8px;min-width:0;padding:9px;border-radius:8px;background:#020c1747;color:#d1dfeb;font-size:11px}#adminStudentPdfFields label.unavailable{opacity:.48}#adminStudentPdfFields input,.admin-pdf-class-toggle input{flex:0 0 auto;accent-color:var(--accent)}#adminStudentPdfFields small{margin-left:auto;color:#7dd3fc;font-size:9px}.admin-pdf-class-id{display:grid;gap:5px;margin-top:9px;color:var(--muted);font-size:10px}.admin-pdf-course-list{display:grid;gap:9px}.admin-pdf-course-item{display:grid;grid-template-columns:minmax(180px,1fr) minmax(190px,.8fr) minmax(170px,.75fr);gap:10px;align-items:end;padding:11px;border:1px solid rgba(148,163,184,.14);border-radius:9px;background:#020c1747}.admin-pdf-course-item>div{display:grid;gap:4px;align-self:center;min-width:0}.admin-pdf-course-item>div strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.admin-pdf-course-item>div small{color:var(--muted);font-size:9px}.admin-pdf-course-item .admin-pdf-class-toggle{align-self:stretch}.admin-pdf-course-item .admin-pdf-class-id{margin-top:0}.admin-pdf-privacy{margin:0;padding:10px 12px;border-radius:9px;background:#38bdf812;color:#b8d8e8;font-size:10px;line-height:1.5}.admin-pdf-review-options{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:11px}.admin-pdf-review-options span{padding:6px 8px;border-radius:999px;background:#38bdf817;color:#b7ebfa;font-size:9px}.admin-pdf-table-wrap{max-height:430px;overflow:auto;border:1px solid rgba(148,163,184,.17);border-radius:9px}.admin-pdf-table{width:100%;border-collapse:collapse;font-size:10px}.admin-pdf-table th{position:sticky;top:0;z-index:1;padding:9px;background:#12355b;color:#fff;text-align:left;white-space:nowrap}.admin-pdf-table td{padding:8px 9px;border-bottom:1px solid rgba(148,163,184,.12);white-space:nowrap}.admin-pdf-table tbody tr:nth-child(2n){background:#ffffff06}.admin-user-class-scope{grid-column:span 2}.admin-user-class-scope small{margin-top:3px;font-size:9px}.admin-user-permissions{grid-column:1 / -1;margin:2px 0;padding:13px;border:1px solid rgba(148,163,184,.18);border-radius:11px}.admin-user-permissions legend{padding:0 6px;color:#dcebf7;font-size:12px;font-weight:700}.admin-user-permissions>p{margin:0 0 10px}#adminUserPermissionOptions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}#adminUserPermissionOptions label{display:flex;gap:9px;align-items:flex-start;min-width:0;padding:10px;border:1px solid rgba(148,163,184,.12);border-radius:9px;background:#020c174d;cursor:pointer}#adminUserPermissionOptions input{flex:0 0 auto;margin-top:2px;accent-color:var(--accent)}#adminUserPermissionOptions span{display:grid;gap:3px;min-width:0}#adminUserPermissionOptions strong{color:#e7f1f8;font-size:10px}#adminUserPermissionOptions small{color:var(--muted);font-size:9px;line-height:1.4}.admin-user-form-actions{grid-column:1 / -1;justify-content:flex-end}.admin-user-permission-summary{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.admin-user-permission-summary span{padding:4px 6px;border-radius:999px;background:#38bdf814;color:#b7ebfa;font-size:8px}.admin-student-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:19px 20px;border-bottom:1px solid rgba(148,163,184,.14)}.admin-student-dialog-heading h3{margin:0;font-size:20px}.admin-student-dialog-form{max-height:calc(100vh - 115px);margin:0;padding:18px 20px 22px;overflow-y:auto}.admin-profile-group{border:1px solid rgba(148,163,184,.15);border-radius:11px;background:#ffffff05}.admin-profile-group summary{padding:13px 14px;color:#dcebf7;font-size:13px;font-weight:700;cursor:pointer}.admin-profile-group[open] summary{border-bottom:1px solid rgba(148,163,184,.12)}.admin-profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}.admin-profile-fields>label{display:grid;gap:5px;color:var(--muted);font-size:12px}.admin-profile-fields .wide{grid-column:1 / -1}.admin-profile-checks{display:flex;flex-wrap:wrap;gap:9px 18px;padding:8px 0}.admin-profile-checks label{display:inline-flex;align-items:center;gap:7px;color:#c9d8e5;font-size:12px}.admin-profile-checks input{accent-color:var(--accent)}.admin-student-form-note{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.admin-student-dialog-form .admin-form-actions{justify-content:flex-end;padding-top:5px}.admin-device-credential-dialog{width:min(720px,calc(100vw - 28px))}.admin-device-scope-options{display:flex;flex-wrap:wrap;gap:10px 18px;margin:0;padding:14px;border:1px solid rgba(148,163,184,.2);border-radius:12px}.admin-device-scope-options legend{padding:0 6px;font-weight:700}.admin-device-scope-options label{display:inline-flex;align-items:center;gap:8px}.admin-device-class-scopes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:320px;padding:2px;overflow-y:auto;transition:opacity .12s ease}.admin-device-class-scopes.is-disabled{opacity:.45}.admin-device-class-scope{display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:#0814236b}.admin-device-class-scope span{display:grid;gap:2px;min-width:0}.admin-device-class-scope small{color:var(--muted)}.admin-student-detail{padding:19px;border:1px solid rgba(76,201,240,.24);border-radius:14px;background:linear-gradient(145deg,#133652b8,#081626d1)}.admin-student-detail[hidden]{display:none}.admin-student-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.admin-student-detail-heading h3{margin:0;font-size:22px}.admin-student-detail dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:16px 0}.admin-student-detail dl div{padding:12px;border:1px solid rgba(148,163,184,.14);border-radius:10px;background:#ffffff06}.admin-student-detail dt{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.5px}.admin-student-detail dd{margin:5px 0 0;font-size:13px;overflow-wrap:anywhere}.admin-student-detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:13px}.admin-student-profile-view{display:grid;gap:12px;margin:16px 0}.admin-student-profile-view section{padding:13px;border:1px solid rgba(148,163,184,.14);border-radius:11px;background:#ffffff06}.admin-student-profile-view h4{margin:0 0 10px;font-size:13px}.admin-student-profile-view dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:8px;margin:0}.admin-student-profile-view dl div{padding:9px;border-radius:8px;background:#020c174d}.admin-student-profile-view dt{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.45px}.admin-student-profile-view dd{margin:4px 0 0;font-size:12px;line-height:1.4;overflow-wrap:anywhere;white-space:pre-wrap}.resize-handle{position:absolute;right:-6px;top:0;bottom:0;width:12px;cursor:col-resize;display:inline-block}.resize-handle:after{content:"";position:absolute;left:50%;top:25%;bottom:25%;width:2px;background:#94a3b899;border-radius:2px}.admin-console{display:none;flex-direction:column;min-height:100vh;background:var(--bg)}.admin-console-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid rgba(148,163,184,.15);background:#111827eb;position:sticky;top:0;z-index:10}.admin-console-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-console-body{flex:1;display:grid;grid-template-columns:240px 1fr;min-height:0}.admin-console-sidebar{padding:16px;border-right:1px solid rgba(148,163,184,.12);background:#0f172af2;display:flex;flex-direction:column;gap:8px}.admin-console-nav-btn{border:1px solid rgba(148,163,184,.18);background:#ffffff05;color:var(--text);border-radius:8px;padding:10px 12px;text-align:left;cursor:pointer}.admin-console-nav-btn.active{border-color:var(--accent);box-shadow:0 0 0 1px #38bdf84d;background:#38bdf80f}.admin-console-content{padding:18px;display:flex;flex-direction:column;gap:16px;overflow:auto}.admin-console-embedded{min-height:0;background:transparent}.admin-console-embedded .admin-console-header,.admin-console-embedded .admin-console-sidebar{display:none}.admin-console-embedded .admin-console-body{display:block;min-height:0}.admin-console-embedded .admin-console-content{padding:0;overflow:visible;background:transparent}.admin-workspace-breadcrumb{display:flex;align-items:center;gap:9px;margin-bottom:4px;padding:10px 12px;border:1px solid rgba(148,163,184,.14);border-radius:10px;background:#0814238c;color:var(--muted);font-size:12px}.admin-workspace-breadcrumb button{padding:0;border:0;background:transparent;color:#7dd3fc;font:inherit;font-weight:700;cursor:pointer}.admin-workspace-breadcrumb button:hover{color:#bae6fd;text-decoration:underline}.admin-workspace-breadcrumb strong{color:var(--text)}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:820px){#adminUserPermissionOptions{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-pdf-course-item{grid-template-columns:1fr;align-items:stretch}.admin-course-summary,.admin-course-toolbar{grid-template-columns:1fr}.admin-course-row{grid-template-columns:1fr auto;gap:11px}.admin-course-owner{grid-column:1 / -1;grid-row:2}.admin-course-roster{grid-column:2;grid-row:1}.admin-course-actions{grid-column:1 / -1;justify-content:space-between}.admin-subject-periods{margin:0 12px 12px}.admin-subject-period-row{grid-template-columns:1fr auto}.admin-subject-period-row>div:nth-child(2){grid-column:1}.admin-subject-period-row>button{grid-column:2;grid-row:1 / span 2}.admin-class-members-grid,.admin-academic-grid{grid-template-columns:1fr}.admin-schedule-period-fields{grid-template-columns:.7fr 1.3fr}.admin-schedule-period-card-heading{align-items:flex-start}.admin-schedule-card-actions{flex-wrap:wrap;justify-content:flex-end}}@media(max-width:560px){#adminUserPermissionOptions{grid-template-columns:1fr}.admin-user-class-scope{grid-column:auto}.admin-course-identity{align-items:flex-start;flex-direction:column}.admin-course-form .admin-profile-fields{grid-template-columns:1fr}.admin-course-form .admin-profile-fields .wide{grid-column:auto}.admin-schedule-period-heading{align-items:stretch;flex-direction:column}.admin-schedule-period-heading>button{align-self:flex-start}.admin-schedule-period-card-heading{align-items:stretch;flex-direction:column}.admin-schedule-card-actions{justify-content:flex-start}.admin-schedule-period-fields{grid-template-columns:1fr}.admin-schedule-time-pair{grid-column:auto}.admin-schedule-footer{align-items:stretch;flex-direction:column}.admin-schedule-footer>div{justify-content:flex-end}}.platform-console{--platform-surface: rgba(11, 27, 45, .92);--platform-border: rgba(148, 180, 207, .18);background:radial-gradient(1000px circle at 8% -10%,rgba(26,112,148,.2),transparent 52%),#071321}.platform-topbar{min-height:68px;padding:12px clamp(18px,4vw,44px);background:#071321ed;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.platform-topbar .brand>span:last-child{display:flex;flex-direction:column;gap:1px}.platform-topbar .brand strong{line-height:1.1}.platform-topbar .brand small{color:var(--muted);font-size:11px;font-weight:500;letter-spacing:.5px}.platform-brand-mark{width:34px;height:34px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4cc9f0,#67e8f9);color:#062033;font-size:12px;font-weight:800;box-shadow:0 8px 24px #4cc9f038}.platform-operator{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#c7d9e8;font-size:13px}.platform-console-content{width:min(1240px,100%);margin:0 auto;padding:clamp(22px,4vw,44px);display:flex;flex-direction:column;gap:22px;overflow:auto}.platform-hero{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:clamp(24px,4vw,38px);border:1px solid rgba(76,201,240,.25);border-radius:22px;background:linear-gradient(125deg,#123753f5,#0a2034eb);box-shadow:0 22px 65px #00000038;overflow:hidden;position:relative}.platform-hero:after{content:"";position:absolute;width:320px;height:320px;right:-130px;top:-190px;border-radius:50%;border:56px solid rgba(76,201,240,.07);pointer-events:none}.platform-hero-copy{position:relative;z-index:1;max-width:760px}.platform-hero h1{margin:0 0 9px;font-size:clamp(29px,4vw,43px);line-height:1.08;letter-spacing:-1px}.platform-hero-copy>p:not(.eyebrow){margin:0;color:#b9cddd;font-size:16px;line-height:1.55}.platform-add-button{flex-shrink:0;min-width:158px;position:relative;z-index:1}.platform-add-button span{font-size:19px;margin-right:5px;line-height:0}.platform-boundary-note{display:flex;align-items:center;gap:10px;margin-top:21px;color:#dcecf7}.platform-boundary-note>span:last-child{display:flex;flex-direction:column;gap:2px}.platform-boundary-note small{color:#9fbbcf;font-size:12px;line-height:1.35}.platform-boundary-icon{width:28px;height:28px;border-radius:50%;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;color:#86efac;background:#22c55e1f;border:1px solid rgba(34,197,94,.3)}.platform-feedback{border-radius:12px;padding:13px 16px;font-size:14px;border:1px solid}.platform-feedback[hidden]{display:none}.platform-feedback-success{color:#bbf7d0;background:#22c55e17;border-color:#22c55e52}.platform-feedback-error{color:#fecaca;background:#ef444417;border-color:#ef444459}.platform-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.platform-summary-card{min-height:102px;display:flex;align-items:center;gap:15px;padding:18px;border:1px solid var(--platform-border);border-radius:16px;background:var(--platform-surface);box-shadow:0 10px 28px #0000001f}.platform-summary-card>div{display:flex;flex-direction:column;gap:3px;min-width:0}.platform-summary-icon{width:42px;height:42px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:13px;font-size:15px;font-weight:800}.platform-summary-icon-total{color:#bae6fd;background:#38bdf81f}.platform-summary-icon-active{color:#86efac;background:#22c55e1f}.platform-summary-icon-attention{color:#fdba74;background:#f973161f}.platform-summary-icon-cell{color:#c4b5fd;background:#8b5cf621}.platform-summary-value{font-size:27px;line-height:1;font-weight:750}.platform-summary-label{color:var(--muted);font-size:12px;white-space:nowrap}.platform-registry-card{padding:clamp(18px,3vw,26px);border:1px solid var(--platform-border);border-radius:18px;background:var(--platform-surface);box-shadow:0 16px 42px #00000029}.platform-registry-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.platform-registry-heading h2{margin:0;font-size:24px}.platform-title-row{display:flex;align-items:center;gap:10px}.platform-count-badge{padding:4px 9px;border-radius:999px;background:#94a3b81a;color:#acc1d3;font-size:12px}.platform-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) 190px;gap:10px;margin:19px 0 16px}.platform-search-field{position:relative}.platform-search-field .input{padding-left:40px}.platform-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-53%);color:#8da8be;font-size:20px;pointer-events:none}.platform-status-filter select{cursor:pointer}.platform-tenant-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.platform-tenant-card{min-width:0;display:flex;flex-direction:column;padding:18px;border-radius:14px;border:1px solid rgba(148,180,207,.16);background:#ffffff06;transition:border-color .15s ease,transform .15s ease,background .15s ease}.platform-tenant-card:hover{transform:translateY(-1px);border-color:#4cc9f052;background:#4cc9f009}.platform-tenant-card-main{display:flex;align-items:flex-start;gap:12px}.platform-tenant-avatar{width:39px;height:39px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:linear-gradient(135deg,#4cc9f033,#67e8f914);border:1px solid rgba(76,201,240,.25);color:#b9edfb;font-weight:800}.platform-tenant-identity{min-width:0;flex:1}.platform-tenant-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.platform-tenant-title h3{margin:1px 0 5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px}.platform-tenant-identity>p{margin:0;color:#91aabd;font-size:12px;line-height:1.4}.platform-status{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:5px 8px;border-radius:999px;border:1px solid;font-size:11px;font-weight:700}.platform-status>span{width:6px;height:6px;border-radius:50%;background:currentColor}.platform-status-active{color:#86efac;background:#22c55e14;border-color:#22c55e4d}.platform-status-suspended{color:#fdba74;background:#f9731614;border-color:#f9731652}.platform-status-provisioning{color:#7dd3fc;background:#38bdf814;border-color:#38bdf84d}.platform-status-failed{color:#fca5a5;background:#ef444414;border-color:#ef444452}.platform-status-unknown{color:#cbd5e1;background:#94a3b814;border-color:#94a3b84d}.platform-tenant-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:17px 0}.platform-tenant-meta div{min-width:0;padding:9px 10px;border-radius:9px;background:#020c174d}.platform-tenant-meta dt{color:#7994a9;font-size:10px;text-transform:uppercase;letter-spacing:.55px}.platform-tenant-meta dd{margin:4px 0 0;color:#d8e6f1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-status-reason{display:flex;flex-direction:column;gap:3px;margin:0 0 14px;padding:10px 12px;border-radius:9px;color:#fed7aa;background:#f9731614;border-left:3px solid rgba(249,115,22,.55);font-size:12px}.platform-status-reason strong{font-size:10px;text-transform:uppercase;letter-spacing:.5px}.platform-tenant-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:13px;margin-top:auto;border-top:1px solid rgba(148,180,207,.12)}.platform-tenant-footer>span{color:#7892a8;font-size:11px}.platform-tenant-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.platform-empty-state{grid-column:1 / -1;min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;border:1px dashed rgba(148,180,207,.25);border-radius:14px;color:var(--muted)}.platform-empty-state>span{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#4cc9f01a;color:var(--accent);font-size:24px}.platform-empty-state h3{margin:5px 0 0;color:var(--text)}.platform-empty-state p{max-width:430px;margin:0 12px 9px}.platform-skeleton{gap:14px;min-height:205px;pointer-events:none}.platform-skeleton span{display:block;height:15px;border-radius:999px;background:linear-gradient(90deg,#94a3b812,#94a3b829,#94a3b812);background-size:220% 100%;animation:platform-shimmer 1.2s infinite linear}.platform-skeleton span:nth-child(1){width:55%;height:24px}.platform-skeleton span:nth-child(2){width:90%}.platform-skeleton span:nth-child(3){width:70%}@keyframes platform-shimmer{to{background-position:-220% 0}}.platform-dialog{width:min(940px,calc(100vw - 28px));max-height:calc(100vh - 32px);overflow:auto;padding:0;color:var(--text);background:#0c1d2f;border:1px solid rgba(148,180,207,.3);border-radius:18px;box-shadow:0 28px 90px #0000008c}.platform-dialog::backdrop{background:#010811bd;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.platform-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px 14px}.platform-dialog-header h2{margin:0;font-size:25px}.platform-dialog-close{width:34px;height:34px;border-radius:9px;border:1px solid rgba(148,180,207,.25);background:#ffffff09;color:#c9d9e7;font-size:22px;cursor:pointer}.platform-dialog-intro{margin:0;padding:0 24px 19px;color:var(--muted);font-size:13px;border-bottom:1px solid rgba(148,180,207,.13)}.platform-wizard-dialog{width:min(900px,calc(100vw - 28px))}.platform-wizard-progress{padding:14px 24px;border-bottom:1px solid rgba(148,180,207,.13);background:#020c1738}.platform-wizard-progress ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none}.platform-wizard-progress li{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;color:#6f899e;font-size:10px;text-transform:uppercase;letter-spacing:.45px}.platform-wizard-progress li:before{content:"";position:absolute;z-index:0;top:12px;right:50%;width:100%;height:1px;background:#94b4cf2e}.platform-wizard-progress li:first-child:before{display:none}.platform-wizard-progress li span{position:relative;z-index:1;width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#91aabd;background:#10283c;border:1px solid rgba(148,180,207,.25);font-size:11px;font-weight:750}.platform-wizard-progress li.is-current{color:#bcecf8}.platform-wizard-progress li.is-current span{color:#071321;background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px #4cc9f01a}.platform-wizard-progress li.is-complete{color:#86d8a5}.platform-wizard-progress li.is-complete:before{background:#22c55e73}.platform-wizard-progress li.is-complete span{color:#bbf7d0;background:#22c55e29;border-color:#22c55e73}.platform-provision-form{display:block}.platform-provision-form[hidden],.platform-wizard-panel[hidden],.platform-handoff-panel[hidden]{display:none}.platform-wizard-panel{min-width:0;min-height:365px;margin:0;padding:22px 24px 24px;border:0}.platform-wizard-panel legend{padding:0;font-size:19px;font-weight:750}.platform-wizard-panel>p{margin:8px 0 0;color:#8fa8bb;font-size:13px;line-height:1.5}.platform-form-section{min-width:0;margin:0;padding:20px 24px;border:0}.platform-form-section+.platform-form-section{border-left:1px solid rgba(148,180,207,.13)}.platform-form-section legend{display:flex;align-items:center;gap:9px;padding:0;font-size:14px;font-weight:700}.platform-form-section legend span{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#071321;background:var(--accent);font-size:12px}.platform-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:15px}.platform-form-grid .filter-field{min-width:0;color:#c9dae7;font-size:13px}.platform-form-grid .filter-field>span:first-child{font-weight:600}.platform-form-grid small,.platform-lifecycle-dialog small{color:#7893a8;font-size:11px;line-height:1.35}.teacher-nav-heading{display:flex;align-items:center;gap:10px;padding:4px 4px 16px}.teacher-nav-heading span:last-child{display:grid;gap:2px}.teacher-nav-heading small{color:var(--muted);font-size:11px}.teacher-nav-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#18aee0,#1b6ee8);color:#031523;font-weight:900;box-shadow:0 8px 22px #149fde40}.teacher-class-context{margin:0 0 16px;padding:12px;border:1px solid rgba(75,163,207,.25);border-radius:12px;background:#081e30bf}.teacher-class-context label{display:block;margin-bottom:6px;color:#8eb3c9;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.teacher-class-context select{width:100%;min-height:38px;border:1px solid #27506a;border-radius:9px;background:#0d2133;color:#edf8ff;padding:7px 9px}.teacher-home{display:grid;gap:18px}.teacher-now-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border:1px solid rgba(59,187,239,.32);border-radius:18px;background:radial-gradient(circle at 85% 15%,rgba(34,171,232,.18),transparent 38%),linear-gradient(135deg,#102c43,#0b1d30);box-shadow:0 14px 38px #0003}.teacher-now-card h3{margin:4px 0 6px;font-size:clamp(22px,3vw,34px)}.teacher-now-card p:last-child{margin:0;color:#9fc0d2}.teacher-home-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.teacher-home-metrics button{display:grid;gap:4px;text-align:left;padding:17px;border:1px solid #243c53;border-radius:14px;background:#101d2e;color:#e8f5ff;cursor:pointer}.teacher-home-metrics button:hover,.teacher-home-metrics button:focus-visible{border-color:#39c5f0;transform:translateY(-1px)}.teacher-home-metrics strong{font-size:26px}.teacher-home-metrics span{color:#91aabd;font-size:12px}.teacher-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.teacher-home-panel{padding:18px}.teacher-panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:13px}.teacher-panel-title h3{margin:2px 0}.text-button{border:0;background:transparent;color:#65d1f2;cursor:pointer}.teacher-mini-class{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:12px 4px;border:0;border-top:1px solid rgba(80,122,150,.19);background:transparent;color:inherit;text-align:left;cursor:pointer}.teacher-mini-class span:first-child{display:grid;gap:3px}.teacher-mini-class small,.teacher-task-row small{color:#88a4b7}.teacher-task-row{display:flex;justify-content:space-between;gap:12px;padding:12px 3px;border-top:1px solid rgba(80,122,150,.19)}.teacher-task-row>div{display:grid;gap:3px}.teacher-state{display:grid;place-items:center;min-height:110px;padding:24px;text-align:center}.teacher-page-header{align-items:flex-end}.teacher-header-class-picker{display:grid;gap:5px;min-width:min(320px,100%)}.teacher-header-class-picker span{color:#91aabd;font-size:12px}.teacher-day-timeline{max-width:1000px}.teacher-day-class{display:grid;grid-template-columns:84px 36px minmax(0,1fr);gap:12px;min-height:178px}.teacher-day-time{display:grid;align-content:start;justify-items:end;gap:3px;padding-top:18px}.teacher-day-time span{color:#7e9db1;font-size:12px}.teacher-day-line{display:grid;grid-template-rows:38px 1fr;justify-items:center}.teacher-day-line:after{content:"";width:2px;height:100%;background:#213b51}.teacher-day-line span{display:grid;place-items:center;width:30px;height:30px;margin-top:13px;border:2px solid #31516a;border-radius:50%;background:#0b1726;font-size:12px;font-weight:800}.teacher-day-class.is-current .teacher-day-line span{border-color:#48d0f4;background:#123d57;box-shadow:0 0 0 5px #48d0f417}.teacher-day-body{margin-bottom:16px;padding:17px 19px;border:1px solid #253b51;border-radius:15px;background:#101d2d}.teacher-day-class.is-current .teacher-day-body{border-color:#48d0f473}.teacher-day-heading{display:flex;justify-content:space-between;gap:16px}.teacher-day-heading p{margin:0;color:#59cdef;font-size:12px;font-weight:800;text-transform:uppercase}.teacher-day-heading h3{margin:3px 0}.teacher-day-heading div>span{color:#8caabe;font-size:12px}.teacher-day-signals{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.teacher-day-signals span{padding:5px 8px;border-radius:999px;background:#172a3d;color:#a9c1d1;font-size:11px}.teacher-day-actions{display:flex;flex-wrap:wrap;gap:8px}.teacher-class-tabs{display:flex;gap:5px;overflow-x:auto;margin-bottom:16px;padding:5px;border:1px solid #253d53;border-radius:13px;background:#0c1929}.teacher-class-tabs button{white-space:nowrap;border:0;border-radius:9px;background:transparent;color:#9bb3c4;padding:9px 12px;cursor:pointer}.teacher-class-tabs button:hover,.teacher-class-tabs button:focus-visible,.teacher-class-tabs button.active{background:#183148;color:#effaff}.teacher-class-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.teacher-class-summary article{display:grid;gap:5px;padding:16px;border:1px solid #243d53;border-radius:13px;background:#101d2d}.teacher-class-summary span{color:#8faabc;font-size:12px}.teacher-class-summary strong{font-size:18px}.teacher-signal-list{display:grid;gap:10px}.teacher-signal-list>div{display:grid;grid-template-columns:44px 1fr;align-items:center;padding:10px;border-radius:10px;background:#13263a}.teacher-signal-list strong{font-size:20px}.teacher-signal-list span{color:#a6bdcc;font-size:12px}.teacher-period-group{margin-bottom:16px;padding:18px;border:1px solid rgba(72,208,244,.3);border-radius:15px;background:linear-gradient(135deg,#143a51b8,#0b1c2dc7)}.teacher-period-group.is-combined{border-color:#48d0f4;box-shadow:0 12px 30px #0a567729}.teacher-period-group-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.teacher-period-group-heading h3{margin:2px 0 6px}.teacher-period-group-heading p:last-child{max-width:720px;margin:0;color:#9db8c9;font-size:13px}.teacher-period-class-list{display:grid;gap:8px;margin-top:15px}.teacher-period-class{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid rgba(148,163,184,.16);border-radius:11px;background:#0613206b}.teacher-period-class.is-selected{border-color:#48d0f480}.teacher-period-class>div:first-child{display:grid;gap:3px}.teacher-period-class span{color:#8faabc;font-size:12px}.teacher-period-class .btn{padding:8px 11px}.teacher-combined-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:15px}.teacher-combined-summary>div{display:grid;gap:4px;padding:12px;border-radius:11px;background:#04121f94}.teacher-combined-summary strong{font-size:21px}.teacher-combined-summary span{color:#91aabd;font-size:11px}.teacher-combined-roster{margin-top:15px;padding:15px;border-radius:12px;background:#040f1b8c}.teacher-combined-student{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 2px;border-top:1px solid rgba(148,163,184,.14)}.teacher-combined-student>span:first-child{display:grid;gap:2px}.teacher-combined-student small{color:#8faabc}.teacher-combined-student .tags{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}@media(max-width:850px){.teacher-home-metrics,.teacher-class-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-home-grid{grid-template-columns:1fr}.teacher-page-header{align-items:stretch}.teacher-header-class-picker{min-width:0}.teacher-day-class{grid-template-columns:62px 24px minmax(0,1fr);gap:7px}.teacher-day-heading{display:grid}.teacher-now-card{align-items:flex-start;flex-direction:column}}@media(max-width:700px){.teacher-period-group-heading,.teacher-period-class,.teacher-combined-student{align-items:stretch;flex-direction:column}.teacher-period-group-heading .btn,.teacher-period-class .content-actions{width:100%}.teacher-period-class .content-actions .btn{flex:1}.teacher-combined-summary{grid-template-columns:1fr 1fr}.teacher-combined-student .tags{justify-content:flex-start}}@media(max-width:520px){.teacher-home-metrics,.teacher-class-summary{grid-template-columns:1fr 1fr}.teacher-now-card{padding:18px}.teacher-day-class{grid-template-columns:1fr}.teacher-day-time{display:flex;justify-content:flex-start;gap:8px;padding:0}.teacher-day-line{display:none}.teacher-day-body{margin-bottom:14px}.teacher-day-actions .btn{flex:1}.teacher-class-tabs{margin-inline:-4px}}.platform-form-grid em{color:#7791a6;font-size:10px;font-style:normal;font-weight:500;text-transform:uppercase;letter-spacing:.4px}.platform-field-wide{grid-column:1 / -1}.platform-password-field{position:relative;display:flex}.platform-password-field .input{padding-right:60px}.platform-password-field button{position:absolute;top:50%;right:8px;transform:translateY(-50%);border:0;background:transparent;color:var(--accent);font-weight:650;cursor:pointer}.platform-password-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.platform-wizard-warning{display:flex;flex-direction:column;gap:5px;margin-top:20px;padding:13px 14px;border-radius:11px;color:#fde68a;background:#f59e0b14;border:1px solid rgba(245,158,11,.28);font-size:12px;line-height:1.45}.platform-wizard-warning strong{color:#fef3c7}.platform-wizard-operations-fields{margin-top:17px}.platform-wizard-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:18px}.platform-wizard-checklist label{min-width:0;display:flex;align-items:flex-start;gap:11px;padding:14px;border-radius:11px;border:1px solid rgba(148,180,207,.18);background:#020c1747;cursor:pointer}.platform-wizard-checklist input{width:17px;height:17px;margin:1px 0 0;flex:0 0 auto;accent-color:var(--accent)}.platform-wizard-checklist label>span{min-width:0;display:flex;flex-direction:column;gap:4px;color:#d8e6f1;font-size:12px;line-height:1.4}.platform-wizard-checklist small{color:#7f99ad;font-size:11px;line-height:1.4}.platform-wizard-review{margin-top:17px;padding:15px;border-radius:12px;background:#020c174d;border:1px solid rgba(148,180,207,.16)}.platform-wizard-review dl,.platform-handoff-record dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:0}.platform-wizard-review dl div,.platform-handoff-record dl div{min-width:0}.platform-wizard-review dt,.platform-handoff-record dt{color:#7792a7;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.platform-wizard-review dd,.platform-handoff-record dd{margin:4px 0 0;color:#e1edf5;font-size:12px;overflow-wrap:anywhere}.platform-wizard-automatic{display:flex;flex-direction:column;gap:4px;margin-top:14px;padding-top:13px;border-top:1px solid rgba(148,180,207,.14);color:#9edfb5;font-size:11px;line-height:1.45}.platform-wizard-confirmations{grid-template-columns:1fr;margin-top:12px}.platform-dialog-actions{grid-column:1 / -1;display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:18px 24px 22px;border-top:1px solid rgba(148,180,207,.13)}.platform-wizard-step-label{flex:1;color:#7893a8;font-size:11px;text-align:center}.platform-handoff-panel{padding:25px 24px 24px;text-align:center}.platform-handoff-panel h3{margin:5px 0 8px;font-size:22px}.platform-handoff-panel>p:not(.eyebrow){max-width:650px;margin:0 auto;color:#8fa8bb;font-size:13px;line-height:1.5}.platform-handoff-success{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:9px;border-radius:50%;color:#bbf7d0;background:#22c55e24;border:1px solid rgba(34,197,94,.4);font-size:22px}.platform-handoff-record{margin:19px 0 15px;padding:16px;text-align:left;border-radius:12px;background:#020c1757;border:1px solid rgba(148,180,207,.17)}.platform-handoff-record p{margin:14px 0 0;padding-top:12px;color:#fbd38d;border-top:1px solid rgba(148,180,207,.14);font-size:11px}.platform-handoff-panel h4{margin:0 0 10px;color:#dbe9f3;font-size:13px;text-align:left}.platform-handoff-next{display:grid;gap:7px;margin:0;padding:0 0 0 24px;text-align:left;color:#b8cad8;font-size:12px;line-height:1.45}.platform-handoff-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:19px;padding-top:18px;border-top:1px solid rgba(148,180,207,.13)}.platform-lifecycle-dialog{width:min(560px,calc(100vw - 28px))}.platform-lifecycle-dialog form{padding:19px 24px 0}.platform-impact-note{display:flex;flex-direction:column;gap:5px;margin:0 24px;padding:14px;border-radius:11px;border:1px solid;font-size:13px;line-height:1.4}.platform-impact-danger{color:#fecaca;background:#ef444414;border-color:#ef44444d}.platform-impact-success{color:#bbf7d0;background:#22c55e14;border-color:#22c55e4d}.platform-reason-input{resize:vertical;min-height:100px;font:inherit}.btn-danger{background:#dc2626;color:#fff;box-shadow:0 10px 26px #dc262638}.platform-console :where(button,input,select,textarea):disabled{cursor:not-allowed;opacity:.58;transform:none}.admin-section{display:none;flex-direction:column;gap:12px}.admin-section.active{display:flex}@media(max-width:960px){.app-shell{flex-direction:column}.hero-home,.resource-grid{grid-template-columns:1fr}.sidebar{position:static;width:100%;max-height:none;overflow:visible;flex-direction:row;flex-wrap:wrap;gap:8px}.nav-btn{width:calc(50% - 6px)}.district-admin-navigation{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.district-admin-navigation .district-nav-heading,.district-admin-navigation .nav-label{grid-column:1 / -1}.district-admin-navigation .nav-btn{width:100%}.app-shell.district-admin-shell{flex-direction:row;align-items:flex-start}.district-admin-shell .sidebar{position:sticky;top:12px;width:220px;max-height:calc(100vh - 24px);overflow-y:auto;flex:0 0 220px;flex-direction:column;flex-wrap:nowrap}.district-admin-shell .district-admin-navigation{display:flex;flex-direction:column;width:100%}.district-admin-shell .district-admin-navigation .nav-btn{width:100%}.admin-grid{grid-template-columns:1fr}.admin-row-actions{justify-content:flex-start}.admin-console-body{grid-template-columns:1fr}.admin-console-sidebar{flex-direction:row;flex-wrap:wrap}.platform-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-tenant-list{grid-template-columns:1fr}}@media(max-width:700px){.admin-nav-toggle{display:inline-flex}.app-shell.district-admin-shell{display:block}.district-admin-shell .sidebar{position:fixed;inset:0 auto 0 0;z-index:60;width:min(280px,calc(100vw - 48px));max-height:none;padding-top:20px;border-radius:0 14px 14px 0;transform:translate(-105%);transition:transform .18s ease;box-shadow:18px 0 45px #0000006b}.district-admin-shell.admin-nav-open .sidebar{transform:translate(0)}.admin-nav-scrim{position:fixed;inset:0;z-index:55;width:100%;border:0;background:#020812ad;cursor:pointer}.district-admin-shell.admin-nav-open .admin-nav-scrim{display:block}.district-admin-shell .content{width:100%}}@media(max-width:640px){.admin-workspace-breadcrumb{align-items:flex-start;flex-wrap:wrap}.admin-directory-header{align-items:flex-start}.admin-directory-header .content-actions{width:100%}.admin-directory-header .content-actions .btn{flex:1}.admin-import-result{align-items:flex-start;flex-direction:column}.admin-template-body{min-height:300px;padding:14px}.admin-template-field-groups,.admin-template-order{grid-template-columns:1fr}.admin-template-field-groups fieldset>div{grid-template-columns:1fr}.admin-template-section-heading{align-items:flex-start;flex-direction:column}.admin-template-footer{align-items:stretch;flex-direction:column;padding:12px 14px}.admin-template-footer>div,.admin-template-footer .btn{flex:1}.admin-rollover-body{min-height:0}.admin-rollover-impact{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-pdf-body{min-height:320px;padding:14px}.admin-pdf-metadata{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-pdf-replacement,#adminStudentPdfFields{grid-template-columns:1fr}.admin-student-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.admin-student-summary>div{padding:11px 9px}.admin-student-summary strong{font-size:19px}.admin-student-toolbar{align-items:stretch;flex-direction:column;padding:13px}.admin-student-toolbar p,.admin-student-header{display:none}.admin-student-directory-card .admin-student-row:not(.admin-student-header){grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"name actions" "id actions";padding:7px 4px}.admin-student-row .admin-student-cell:nth-child(1){grid-area:name}.admin-student-row .admin-student-cell:nth-child(2){grid-area:id;color:var(--muted)}.admin-student-row .admin-student-cell:nth-child(3){display:none}.admin-student-row .admin-student-actions{grid-area:actions;align-self:center}.admin-student-directory-footer{align-items:flex-start;flex-direction:column}.admin-student-directory-footer .pagination{width:100%}.admin-student-directory-footer .pagination .btn{flex:1}.admin-student-detail dl,.admin-profile-fields{grid-template-columns:1fr}.admin-profile-fields .wide{grid-column:auto}.admin-device-class-scopes{grid-template-columns:1fr}.platform-topbar{align-items:flex-start}.platform-operator{display:none}.platform-console-content{padding:16px;gap:15px}.platform-hero{align-items:flex-start;flex-direction:column;padding:22px 19px;gap:20px}.platform-add-button{width:100%}.platform-boundary-note{align-items:flex-start}.platform-summary-grid{grid-template-columns:1fr 1fr;gap:8px}.platform-summary-card{min-height:88px;padding:13px;gap:10px}.platform-summary-icon{width:34px;height:34px;border-radius:10px}.platform-summary-value{font-size:22px}.platform-summary-label{font-size:10px;white-space:normal}.platform-registry-card{padding:16px 13px}.platform-registry-heading{align-items:flex-start}.platform-title-row{align-items:flex-start;flex-direction:column;gap:5px}.platform-toolbar{grid-template-columns:1fr}.platform-tenant-card{padding:14px}.platform-tenant-title{align-items:flex-start;flex-direction:column}.platform-tenant-meta{grid-template-columns:1fr 1fr}.platform-tenant-footer{align-items:flex-start;flex-direction:column}.platform-tenant-actions{width:100%;justify-content:flex-start}.platform-dialog-header{padding:19px 18px 12px}.platform-dialog-intro{padding:0 18px 16px}.platform-wizard-progress{padding:12px 14px}.platform-wizard-progress li small{display:none}.platform-wizard-progress li:before{top:11px}.platform-wizard-progress li span{width:23px;height:23px}.platform-wizard-panel{min-height:0;padding:19px 18px 21px}.platform-wizard-checklist{grid-template-columns:1fr}.platform-wizard-review dl,.platform-handoff-record dl{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-form-section{padding:18px}.platform-provision-form{display:flex;flex-direction:column}.platform-form-section+.platform-form-section{border-top:1px solid rgba(148,180,207,.13);border-left:0}.platform-form-grid{grid-template-columns:1fr}.platform-field-wide{grid-column:auto}.platform-dialog-actions{padding:16px 18px 19px}.platform-wizard-step-label{order:-1;width:100%;flex-basis:100%}.platform-handoff-panel{padding:22px 18px 19px}.platform-handoff-actions{justify-content:stretch}.platform-handoff-actions .btn{flex:1 1 auto}.platform-lifecycle-dialog form{padding:17px 18px 0}.platform-impact-note{margin:0 18px}}@media(prefers-reduced-motion:reduce){.platform-skeleton span{animation:none}.platform-tenant-card{transition:none}}.admin-student-table.list{display:flex;flex-direction:column;gap:1px;margin-top:0;background:#94a3b833}.game-shell{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:16px;position:relative;padding:12px;border-radius:16px}.game-shell:before{content:"";position:absolute;inset:0;border-radius:16px;background:radial-gradient(900px circle at 0% 0%,rgba(56,189,248,.14),transparent 55%),radial-gradient(720px circle at 100% 0%,rgba(34,197,94,.12),transparent 55%),linear-gradient(135deg,#0f172a99,#020617e6);pointer-events:none}.game-left,.game-right{position:relative;z-index:1;display:flex;flex-direction:column;gap:12px}.game-panel{border:1px solid rgba(148,163,184,.18);background:#0f172ab3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.game-scoreboard{border-color:#38bdf859;background:linear-gradient(135deg,#38bdf82e,#0f172ad9)}.game-scoreboard-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.game-timer{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:140px}.game-timer-label{font-size:28px;font-weight:700;letter-spacing:.5px}.game-timer-bar{width:160px;height:8px;background:#02061799;border-radius:999px;overflow:hidden}.game-timer-bar .bar{height:100%;background:linear-gradient(90deg,#38bdf8,#22c55e);transition:width .2s ease}.game-score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:12px}.game-score-tile{border-radius:12px;padding:10px 12px;border:1px solid rgba(148,163,184,.15);background:#0f172a99}.game-score-tile strong{font-size:24px;display:block;margin-top:4px}.game-team-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.game-team-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid rgba(148,163,184,.25);background:#ffffff08;font-size:12px}.game-team-dot{width:8px;height:8px;border-radius:50%;background:var(--team-color);display:inline-block}.game-panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.game-chip-section{margin-top:8px}.game-chip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-top:8px}.game-chip{border-radius:10px;padding:10px 12px;border:1px solid rgba(148,163,184,.25);background:#ffffff08;color:var(--text);font-weight:600;text-align:left;cursor:pointer;transition:transform .12s ease,border-color .12s ease}.game-chip:hover{transform:translateY(-1px);border-color:var(--accent)}.game-chip.positive{border-color:#22c55e66;background:#22c55e1f;color:#bbf7d0}.game-chip.negative{border-color:#ef444466;background:#ef44441f;color:#fecaca}.game-quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.game-event-list{display:flex;flex-direction:column;gap:8px;max-height:240px;overflow:auto}.game-event-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:10px;border:1px solid rgba(148,163,184,.15);background:#0f172a99;font-size:13px}.game-event-row .delta{font-weight:700}.game-event-row .delta.positive{color:#86efac}.game-event-row .delta.negative{color:#fecaca}.game-student-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.game-search{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.game-search .input{min-width:160px}.game-avatar-panel{display:flex;flex-direction:column;gap:8px}.game-background-panel{display:flex;flex-direction:column;gap:10px}.game-background-preview{height:120px;border-radius:12px;border:1px dashed rgba(148,163,184,.35);background:#0f172a80;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px}.game-avatar-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.game-avatar-controls input[type=file]{width:100%;color:var(--muted)}.game-student-grid{display:flex;flex-direction:column;gap:16px;margin-top:10px}.game-period{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:14px;border:1px solid rgba(148,163,184,.15);background:#0f172a73}.game-period-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.game-period-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.game-student-card{position:relative;padding:12px;border-radius:14px;border:1px solid rgba(148,163,184,.2);background:#0f172a99;cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease;animation:gameCardIn .42s ease both;animation-delay:calc(var(--index, 0) * 40ms)}.game-student-card:hover{transform:translateY(-2px)}.game-student-card.selected{border-color:var(--accent);box-shadow:0 10px 30px #38bdf833}.game-student-card.delta-positive{box-shadow:0 0 0 1px #22c55e80,0 12px 28px #22c55e26}.game-student-card.delta-negative{box-shadow:0 0 0 1px #ef444480,0 12px 28px #ef444426}.game-student-name{font-weight:600}.game-student-full{color:var(--muted);font-size:12px}.game-avatar{width:56px;height:56px;border-radius:16px;border:1px solid rgba(148,163,184,.3);background:#0f172ab3;display:flex;align-items:center;justify-content:center;overflow:hidden;font-weight:700}.game-avatar img{width:100%;height:100%;object-fit:cover}.game-projector-shell{position:fixed;inset:0;display:none;z-index:2000;background:#05070f}.game-projector-canvas{width:100%;height:100%;display:block}.game-projector-board{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;overflow:hidden}.game-projector-hud{position:absolute;top:20px;left:20px;z-index:2;display:flex;gap:12px;align-items:center;padding:8px 12px;border-radius:999px;background:#05070f73;border:1px solid rgba(148,163,184,.25);color:var(--text);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.game-projector-token{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px;cursor:grab;z-index:2;-webkit-user-select:none;user-select:none;touch-action:none;transition:transform .12s ease}.game-projector-token:active,.game-projector-token.dragging{cursor:grabbing}.game-projector-token.dragging{transform:translate(-50%,-50%) scale(1.05)}.game-projector-token.dragging .game-projector-avatar{box-shadow:0 18px 40px #00000073}.game-projector-avatar{width:72px;height:72px;border-radius:20px;border:2px solid rgba(248,250,252,.6);background:#0f172abf;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:26px;font-weight:700;color:#f8fafc;box-shadow:0 12px 30px #00000059}.game-projector-avatar img{width:100%;height:100%;object-fit:cover}.game-projector-name{padding:4px 10px;border-radius:999px;background:#05070f80;border:1px solid rgba(148,163,184,.3);color:#f8fafc;font-size:13px;font-weight:600;letter-spacing:.2px;text-align:center}.game-student-stats{display:flex;flex-direction:column;gap:6px}.game-life-row,.game-xp-row{display:flex;align-items:center;justify-content:space-between}.game-life-bar{height:6px;border-radius:999px;background:#94a3b833;overflow:hidden}.game-life-bar .bar{height:100%;background:linear-gradient(90deg,#22c55e,#38bdf8);transition:width .2s ease}.game-xp-row strong{font-size:16px}.game-student-actions{display:flex;gap:6px}.game-student-actions button{flex:1;padding:6px 10px;border-radius:8px;border:1px solid rgba(148,163,184,.3);background:#ffffff05;color:var(--text);cursor:pointer;font-weight:600}.game-student-actions button.positive{border-color:#22c55e66;color:#bbf7d0}.game-student-actions button.negative{border-color:#ef444466;color:#fecaca}.game-student-meta{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}@keyframes gameCardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1100px){.game-shell{grid-template-columns:1fr}.game-timer{align-items:flex-start}}@media(max-width:960px){.app-shell.district-admin-shell,.app-shell.teacher-shell{display:block!important}.admin-nav-toggle{display:inline-flex}.district-admin-shell .sidebar,.teacher-shell .sidebar{position:fixed;inset:0 auto 0 0;z-index:60;width:min(280px,calc(100vw - 48px));max-height:none;padding-top:20px;border-radius:0 14px 14px 0;overflow-y:auto;flex-direction:column;flex-wrap:nowrap;transform:translate(-105%);transition:transform .18s ease;box-shadow:18px 0 45px #0000006b}.district-admin-shell .district-admin-navigation{display:flex;flex-direction:column;width:100%}.district-admin-shell .district-admin-navigation .nav-btn{width:100%}.teacher-shell #teacherNavigation{display:flex;width:100%}.teacher-shell #teacherNavigation .nav-btn{width:100%}.district-admin-shell.admin-nav-open .sidebar,.teacher-shell.admin-nav-open .sidebar{transform:translate(0)}.admin-nav-scrim{position:fixed;inset:0;z-index:55;width:100%;border:0;background:#020812ad;cursor:pointer}.district-admin-shell.admin-nav-open .admin-nav-scrim,.teacher-shell.admin-nav-open .admin-nav-scrim{display:block}.district-admin-shell .content,.teacher-shell .content{width:100%}}.dashboard-admin-only[hidden],.dashboard-teacher-only[hidden],#teacherNavigation[hidden],.district-admin-navigation[hidden]{display:none!important}.nav-label-spaced{margin-top:8px}.district-admin-navigation{gap:7px}.district-nav-heading{display:flex;align-items:center;gap:10px;margin:-2px 0 12px;padding:4px 2px 14px;border-bottom:1px solid rgba(148,163,184,.14)}.district-nav-heading>span:last-child{min-width:0;display:grid;gap:2px}.district-nav-heading strong{font-size:13px;line-height:1.2}.district-nav-heading small{color:var(--muted);font-size:10px}.district-nav-mark{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:35px;height:35px;border:1px solid rgba(76,201,240,.3);border-radius:11px;background:#4cc9f01a;color:#a5f3fc;font-size:10px;font-weight:800;letter-spacing:.5px}.district-dashboard-hero{position:relative;overflow:hidden;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:clamp(24px,4vw,36px);border:1px solid rgba(76,201,240,.24);border-radius:18px;background:radial-gradient(420px circle at 88% 10%,rgba(34,211,238,.16),transparent 62%),linear-gradient(135deg,#0f3154e6,#0a1c2ff5);box-shadow:0 20px 45px #0000003d}.district-dashboard-hero:after{content:"";position:absolute;inset:auto -80px -150px auto;width:280px;height:280px;border:1px solid rgba(103,232,249,.12);border-radius:50%}.district-dashboard-hero-copy{position:relative;z-index:1;max-width:670px}.district-dashboard-hero h2{margin:0;font-size:clamp(27px,4vw,39px);line-height:1.08;letter-spacing:-.7px}.district-dashboard-lede{max-width:620px;margin:11px 0 0;color:#b7cce0;line-height:1.55}.district-dashboard-identity{display:flex;align-items:center;gap:10px;margin-top:20px}.district-dashboard-identity[hidden]{display:none}.district-dashboard-identity>span:last-child{display:grid;gap:2px}.district-dashboard-identity small{color:var(--muted)}.district-dashboard-avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:11px;background:#4cc9f021;border:1px solid rgba(76,201,240,.3);color:#a5f3fc;font-size:12px;font-weight:800}.district-dashboard-hero-actions{position:relative;z-index:1;display:flex;align-items:flex-end;flex-direction:column;gap:9px;min-width:190px}.district-dashboard-hero-actions .btn{width:100%}.district-dashboard-status{margin-bottom:2px;background:#07111e73}.district-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.district-metric-card{min-width:0;display:flex;align-items:center;gap:13px;padding:17px;border:1px solid rgba(148,163,184,.16);border-radius:14px;background:#ffffff09}.district-metric-card-primary{border-color:#4cc9f047;background:#4cc9f00e}.district-metric-card>div{min-width:0;display:grid;gap:3px}.district-metric-card strong{font-size:25px;line-height:1}.district-metric-card div span{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.district-metric-icon,.district-action-icon{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;color:#a5f3fc;background:#4cc9f01a;border:1px solid rgba(76,201,240,.18);font-weight:800}.district-metric-icon{width:38px;height:38px;border-radius:11px;font-size:10px;letter-spacing:.5px}.district-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:14px;margin-top:14px}.district-dashboard-panel{padding:20px;border:1px solid rgba(148,163,184,.16);border-radius:15px;background:#0713216b}.district-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.district-panel-heading h3,.district-admin-callout h3{margin:0;font-size:19px}.district-health-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1px solid rgba(249,115,22,.35);background:#f9731614;color:#fdba74;font-weight:800}.district-health-mark.is-ready{border-color:#22c55e59;background:#22c55e14;color:#86efac}.district-readiness-list{display:grid;margin-top:13px}.district-readiness-row{display:grid;grid-template-columns:11px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 0;border-top:1px solid rgba(148,163,184,.12)}.district-readiness-row>div{display:grid;gap:3px}.district-readiness-row small{color:var(--muted);font-size:11px}.district-readiness-row>span:last-child{color:#c4d5e4;font-size:12px;font-weight:700;text-align:right}.district-readiness-dot{width:9px;height:9px;border-radius:50%;background:#64748b;box-shadow:0 0 0 4px #64748b1a}.district-readiness-dot.is-ready{background:#22c55e;box-shadow:0 0 0 4px #22c55e1a}.district-readiness-dot.needs-attention{background:#f97316;box-shadow:0 0 0 4px #f973161a}.district-system-details{display:flex;flex-wrap:wrap;gap:8px 20px;padding-top:12px;border-top:1px solid rgba(148,163,184,.12);color:var(--muted);font-size:11px}.district-system-details strong{margin-left:4px;color:var(--text)}.district-action-list{display:grid;gap:8px;margin-top:13px}.district-action{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px;border:1px solid rgba(148,163,184,.13);border-radius:11px;background:#ffffff06;color:var(--text);text-align:left;cursor:pointer}.district-action:hover{border-color:#4cc9f06b;background:#4cc9f00e}.district-action>span:nth-child(2){display:grid;gap:2px}.district-action small{color:var(--muted)}.district-action>span:last-child{color:var(--muted);font-size:22px}.district-action-icon{width:34px;height:34px;border-radius:10px;font-size:10px}.district-activity-panel{margin-top:14px}.district-activity-heading{align-items:center}.district-activity-heading #summaryUpdated{margin:0}.district-activity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:15px;border:1px solid rgba(148,163,184,.12);border-radius:12px;overflow:hidden}.district-activity-grid>div{display:grid;gap:5px;padding:16px;border-left:1px solid rgba(148,163,184,.12)}.district-activity-grid>div:first-child{border-left:0}.district-activity-grid strong{font-size:22px}.district-activity-grid span{color:var(--muted);font-size:11px}.district-admin-callout{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:14px;padding:20px;border:1px solid rgba(76,201,240,.22);border-radius:15px;background:linear-gradient(90deg,#4cc9f012,#ffffff05)}.district-admin-callout p:last-child{max-width:700px;margin:7px 0 0;color:var(--muted);font-size:13px}.district-admin-callout .btn{flex:0 0 auto}@media(max-width:1050px){.district-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.district-dashboard-grid{grid-template-columns:1fr}}@media(max-width:700px){.district-dashboard-hero,.district-admin-callout{flex-direction:column}.district-dashboard-hero-actions{width:100%;align-items:stretch}.district-metric-grid{grid-template-columns:1fr 1fr;gap:8px}.district-metric-card{padding:13px}.district-metric-card strong{font-size:21px}.district-activity-heading{align-items:flex-start;flex-direction:column}.district-activity-grid{grid-template-columns:1fr 1fr}.district-activity-grid>div:nth-child(3){border-left:0;border-top:1px solid rgba(148,163,184,.12)}.district-activity-grid>div:nth-child(4){border-top:1px solid rgba(148,163,184,.12)}.district-admin-callout .btn{width:100%}}.admin-report-filters{display:flex;align-items:end;gap:12px;margin-bottom:16px;flex-wrap:wrap}.admin-report-filters label{display:grid;gap:6px;min-width:170px}.admin-report-summary{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:16px}.admin-report-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.admin-report-status{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.admin-report-status>div{padding:10px;border:1px solid var(--border);border-radius:10px;display:grid;gap:3px}.admin-report-status strong{font-size:1.25rem}.admin-report-status span,.admin-report-campus-row small{color:var(--muted);font-size:.78rem}.admin-report-days{display:grid;gap:8px;max-height:280px;overflow:auto}.admin-report-day{display:grid;grid-template-columns:92px minmax(80px,1fr) 52px;gap:10px;align-items:center;font-size:.82rem}.admin-report-bar{height:9px;background:#7d95af29;border-radius:999px;overflow:hidden}.admin-report-bar span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.admin-report-campuses{display:grid;gap:8px}.admin-report-campus-row{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(110px,1fr));gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:12px}.admin-report-campus-row>div{display:grid;gap:3px}.admin-custom-report-card,.admin-scheduled-report-card{margin-top:16px}.admin-report-fieldset{border:1px solid var(--border);border-radius:12px;padding:12px}.admin-report-fieldset legend{color:var(--muted);font-size:.82rem;padding:0 5px}.admin-custom-report-result{margin-top:16px}.admin-custom-report-actions{justify-content:space-between}.admin-custom-report-table-wrap{overflow:auto;max-height:440px;border:1px solid var(--border);border-radius:12px}.admin-custom-report-table{width:100%;border-collapse:collapse;font-size:.84rem}.admin-custom-report-table th,.admin-custom-report-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.admin-custom-report-table th{position:sticky;top:0;background:var(--surface);z-index:1}@media(max-width:780px){.admin-report-summary,.admin-report-status{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-report-grid{grid-template-columns:1fr}.admin-report-campus-row{grid-template-columns:1fr 1fr}}.login-mfa-fields{display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:12px}.login-mfa-enrollment{display:grid;gap:7px;padding:10px;background:#41c2ff14;border-radius:10px}.login-mfa-fields[hidden],.login-mfa-enrollment[hidden]{display:none}.login-mfa-enrollment code{font-size:.9rem;letter-spacing:.12em;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.mfa-recovery-codes{columns:2;padding:14px;border:1px solid var(--border);border-radius:10px;line-height:1.8;-webkit-user-select:all;user-select:all}.admin-nav-count{float:right;min-width:20px;padding:1px 6px;border-radius:999px;background:var(--danger);color:#fff;font-size:.72rem;text-align:center}.teaching-period-switch{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 18px}.teaching-period-switch[hidden]{display:none}.teaching-period-switch .btn{white-space:normal;text-align:left}.class-home{display:grid;gap:16px;margin-bottom:18px}.class-home-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}.class-home-sections h4{margin:20px 0 10px}.class-home-sections .content-actions{margin-top:12px}.class-home-material{display:grid;gap:4px;padding:10px 0;overflow-wrap:anywhere}.class-home-material a{color:var(--accent)}.class-home-announcement{padding:12px 0;border-bottom:1px solid rgba(148,163,184,.2)}.class-home-announcement p{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:8px}.class-home-progress{margin:16px 0}.class-home-progress>summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:600}.roster-mode-toggle{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;font-size:14px;cursor:pointer}.roster-mode-toggle input[role=switch]{appearance:none;flex:0 0 48px;width:48px;height:28px;min-height:28px;margin:0;padding:3px;border:1px solid var(--muted);border-radius:20px;background:#23384d;cursor:pointer}.roster-mode-toggle input:before{content:"";display:block;width:20px;height:20px;border-radius:50%;background:#fff}.roster-mode-toggle input:checked{background:#167ea0;border-color:var(--accent)}.roster-mode-toggle input:checked:before{transform:translate(20px)}.roster-mode-toggle input:disabled{opacity:.5;cursor:wait}#periodOptionsContainer{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}#periodOptionsContainer .assignment-period-choice{display:flex;align-items:flex-start;gap:12px;min-height:48px;padding:12px;border:1px solid rgba(148,163,184,.25);border-radius:10px;cursor:pointer}.assignment-period-choice input{flex-shrink:0;margin:3px 0 0}.assignment-period-choice>span{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}.assignment-period-choice strong{color:var(--text);font-size:14px}.assignment-period-choice small{color:var(--muted);font-size:12px}.assignment-period-choice:has(input:checked){background:#38bdf81a;border-color:var(--accent)!important}@media(max-width:600px){.teacher-shell .sidebar,.district-admin-shell .sidebar{height:100dvh;max-height:100dvh;min-height:0;padding-bottom:max(24px,env(safe-area-inset-bottom));overscroll-behavior-y:contain}.teacher-shell .sidebar>*,.district-admin-shell .sidebar>*{flex-shrink:0}.page{padding:10px 12px 24px}.top{align-items:flex-start;gap:10px;flex-wrap:wrap}.top-actions{gap:8px;min-width:0}.top-actions .muted{overflow-wrap:anywhere}.app-shell{margin-top:12px}.content{padding:14px 12px}.view h2{margin:8px 0;font-size:22px}.view .content-header>div{min-width:0;max-width:100%}.view .content-header>.content-actions{width:100%}.view .content-actions .btn{flex:1 1 auto;padding:10px 12px}.view :is(.btn,.text-button,button.pill,.nav-btn),dialog button{min-height:44px}.view :is(input:not([type=checkbox]):not([type=radio]),select,textarea),.detail-panel :is(input:not([type=checkbox]):not([type=radio]),select,textarea),dialog :is(input:not([type=checkbox]):not([type=radio]),select,textarea){min-width:0;max-width:100%;min-height:44px;font-size:16px}.view :is(.filter-field,.input-row,.list-row>*,.teacher-task-row>*){min-width:0}.view .filter-field{flex-basis:100%}.view :is(.list-row,.teacher-task-row){align-items:stretch;flex-direction:column}.view .list-row .tags{justify-content:flex-start}.view :is(.pill,strong,h3,.btn){overflow-wrap:anywhere;max-width:100%}.view .checkbox-field{min-height:44px}.assignment-select{align-items:flex-start}.assignment-select input{flex-shrink:0;margin-top:4px}#assignmentBulkCard:not(.has-selection) .content-actions>button{display:none}#assignmentBulkCard .content-actions{gap:8px}.assignment-calendar article{grid-template-columns:minmax(0,1fr)}.assignment-calendar article div{align-items:flex-start;flex-direction:column}.teaching-period-switch{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.teaching-period-switch .btn{justify-content:flex-start;width:100%}.attendance-row{padding:3px 10px 5px;gap:2px;min-width:0}.attendance-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;min-width:0}.attendance-status-btns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.attendance-status-btns .status-btn{min-height:32px;font-size:12px;padding:3px 4px}.attendance-student-name-row{align-items:flex-start;justify-content:space-between;gap:8px}.attendance-student-name-row strong{white-space:normal;overflow:visible;font-size:15px;line-height:1.4}.attendance-history-row-btn{min-height:44px;padding:8px;flex-shrink:0}.attendance-student-info>p{font-size:12px;line-height:1.4}.attendance-class-memberships{display:flex;flex-wrap:wrap;gap:6px}.attendance-reason-select,.attendance-note-input{width:100%;max-width:none}.attendance-list-card.attendance-seating-mode{grid-template-columns:minmax(0,1fr)}#attendanceSyncStatus,#submitAttendanceBtn{flex-basis:100%}.teacher-period-group,.teacher-combined-roster{padding:12px}.teacher-period-group>.content-actions{margin-top:12px}.teacher-panel-title{flex-wrap:wrap}.gradebook-table-wrapper{max-width:100%;overscroll-behavior-x:contain}.gradebook-table{--student-col-width: 140px}.detail-panel{max-height:calc(100dvh - 24px);padding:16px}dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.admin-student-dialog-heading{gap:12px;align-items:flex-start}.admin-student-dialog-heading>div{min-width:0}.admin-student-dialog-heading>button{flex-shrink:0;white-space:nowrap}.bulk-course-assignment{padding:14px}.bulk-course-assignment .admin-form-actions{bottom:0;padding-bottom:max(12px,env(safe-area-inset-bottom))}.bulk-course-assignment .admin-form-actions .btn{width:100%;white-space:normal}.admin-subject-period-row{grid-template-columns:minmax(0,1fr)}.admin-subject-period-row>button{grid-column:1;grid-row:auto;width:100%}.admin-course-actions{gap:8px;flex-wrap:wrap}.admin-course-actions button{min-height:44px}}@media(prefers-reduced-motion:reduce){.teacher-shell .sidebar,.district-admin-shell .sidebar{transition:none}}.attendance-row{touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.attendance-student-name-row{align-items:center}.attendance-student-id{font-size:10px;margin-left:auto;white-space:nowrap}.attendance-details-btn{flex:0 0 32px;min-height:28px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:20px;cursor:pointer}.attendance-details-btn.has-comment{color:var(--accent)}.attendance-details-btn:hover{background:#38bdf81a}.attendance-details-dialog{width:min(440px,calc(100vw - 24px));box-sizing:border-box;padding:20px;border:1px solid rgba(148,163,184,.3);border-radius:16px;background:var(--panel);color:var(--text);color-scheme:dark;box-shadow:0 24px 70px #00000080}.attendance-details-dialog::backdrop{background:#030a14b3}.attendance-details-dialog h2{margin:0;font-size:20px}.attendance-details-dialog p{margin:0;line-height:1.5}.attendance-details-dialog .dialog-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.attendance-details-dialog .dialog-actions .btn{min-height:44px}.attendance-details-dialog textarea.attendance-note-input{min-height:88px;resize:vertical;font:inherit}.attendance-details-dialog select option{background:var(--panel);color:var(--text)}.attendance-details-dialog .attendance-note-input,.attendance-details-dialog .attendance-reason-select{width:100%;max-width:none}.attendance-session-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.attendance-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) 44px;align-items:stretch;gap:8px;margin-bottom:12px;position:relative}.attendance-toolbar>.btn{min-height:44px;padding:8px 12px;white-space:normal}.attendance-options>summary{display:grid;place-items:center;height:100%;min-height:44px;box-sizing:border-box;border:1px solid rgba(148,163,184,.35);border-radius:10px;color:var(--text);cursor:pointer;list-style:none;font-size:22px}.attendance-options>summary::-webkit-details-marker{display:none}.attendance-options[open]>summary{color:var(--accent);border-color:var(--accent)}.attendance-options-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:12;display:grid;gap:10px;width:min(320px,100%);box-sizing:border-box;max-height:65dvh;overflow-y:auto;padding:16px;background:var(--panel);color:var(--text);border:1px solid rgba(148,163,184,.3);border-radius:12px;box-shadow:0 16px 40px #00000073}.attendance-options-panel .btn{min-height:44px}.attendance-options-panel .filter-field{min-width:0}.attendance-options:not([open])>.attendance-options-panel{display:none}
