/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--spacing:.25rem;--default-font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--default-mono-font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.-start{inset-inline-start:calc(var(--spacing) * -1)}.start{inset-inline-start:var(--spacing)}.-end{inset-inline-end:calc(var(--spacing) * -1)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#10231f;--ink-soft:#465952;--paper:#f6f4ed;--white:#fff;--line:#d9ddd5;--green:#1d8f68;--green-dark:#116149;--green-pale:#e6f4ed;--coral:#f47f65}body{background:var(--paper);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.home-shell{min-height:100vh;padding:0 5vw 48px;overflow:hidden}.home-nav{border-bottom:1px solid #10231f1f;justify-content:space-between;align-items:center;height:88px;display:flex}.home-nav-actions{gap:8px;display:flex}.brand-lockup{letter-spacing:-.02em;align-items:center;gap:12px;font-weight:800;display:flex}.brand-mark{background:var(--ink);color:#fff;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.brand-mark svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:21px}.nav-link{background:#ffffff8c;border:1px solid #10231f2e;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:700}.home-hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:7vw;max-width:1240px;min-height:620px;margin:0 auto;padding:76px 0 62px;display:grid}.eyebrow{background:var(--green-pale);color:var(--green-dark);text-transform:uppercase;letter-spacing:.12em;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;display:inline-flex}.home-copy h1{letter-spacing:-.065em;margin:24px 0 20px;font-size:clamp(54px,7vw,92px);font-weight:760;line-height:.93}.home-copy p{max-width:610px;color:var(--ink-soft);font-size:18px;line-height:1.7}.primary-button{background:var(--ink);color:#fff;border:0;border-radius:14px;justify-content:center;align-items:center;gap:18px;font-weight:750;display:inline-flex;box-shadow:0 10px 22px #10231f29}.large-button{margin-top:22px;padding:16px 20px}.large-button span{color:#a8dbc8;font-size:20px}.home-actions{align-items:center;gap:18px;margin-top:22px;display:flex}.home-actions .large-button{margin-top:0}.home-admin-link{color:var(--ink-soft);font-size:13px;font-weight:800}.scan-demo{background:var(--white);border:1px solid #10231f1a;border-radius:28px;justify-self:end;width:min(100%,460px);padding:24px;position:relative;transform:rotate(1.2deg);box-shadow:0 30px 80px #10231f21}.scan-demo:before{content:"";z-index:-1;background:var(--green);opacity:.13;border-radius:30px;position:absolute;inset:28px -36px -28px 34px;transform:rotate(-4deg)}.demo-topline{justify-content:space-between;align-items:center;font-size:13px;font-weight:800;display:flex}.live-pill{background:var(--green-pale);color:var(--green-dark);border-radius:999px;padding:7px 10px}.live-pill i{background:var(--green);border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.demo-qr{background:var(--paper);border-radius:18px;grid-template-columns:repeat(3,1fr);gap:8px;width:210px;height:210px;margin:34px auto 20px;padding:16px;display:grid}.demo-qr span{background:var(--ink);border-radius:6px}.demo-qr span:nth-child(2),.demo-qr span:nth-child(4),.demo-qr span:nth-child(6),.demo-qr span:nth-child(8){border:6px solid var(--ink);background:0 0}.demo-title{text-align:center;margin:0;font-weight:800}.demo-subtitle{text-align:center;color:var(--ink-soft);margin:6px 0 22px;font-size:13px}.demo-success{background:var(--green-pale);border-radius:15px;align-items:center;gap:12px;padding:14px;display:flex}.demo-success>span{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.demo-success strong,.demo-success small{display:block}.demo-success strong{font-size:13px}.demo-success small{color:var(--ink-soft);margin-top:3px;font-size:11px}.home-steps{border-top:1px solid #10231f21;grid-template-columns:repeat(3,1fr);max-width:1240px;margin:0 auto;display:grid}.home-steps article{gap:18px;padding:28px 30px 6px 0;display:flex}.home-steps article+article{border-left:1px solid #10231f21;padding-left:30px}.home-steps article>span{color:var(--coral);font-size:12px;font-weight:900}.home-steps h2{margin:0 0 7px;font-size:16px}.home-steps p{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.55}@media (width<=800px){.home-shell{padding:0 22px 34px}.home-nav{height:74px}.home-hero{grid-template-columns:1fr;gap:54px;padding:54px 0 48px}.home-copy h1{font-size:clamp(52px,17vw,76px)}.scan-demo{justify-self:center;transform:none}.home-steps{grid-template-columns:1fr}.home-steps article,.home-steps article+article{border-bottom:1px solid #10231f21;border-left:0;padding:22px 0}}.center-state,.login-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.center-state{color:var(--ink-soft);align-content:center}.spinner{border:3px solid var(--line);border-top-color:var(--green);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-shell{background:radial-gradient(circle at 15% 20%, #1d8f6829, transparent 28%), var(--paper)}.login-card{background:#fff;border:1px solid #10231f1a;border-radius:26px;width:min(100%,430px);padding:40px;box-shadow:0 26px 70px #10231f21}.login-mark{background:var(--ink);color:#fff;border-radius:14px;place-items:center;width:46px;height:46px;margin-bottom:30px;font-size:20px;font-weight:900;display:grid}.login-card h1{letter-spacing:-.05em;margin:18px 0 8px;font-size:42px}.login-card>p{color:var(--ink-soft);margin:0 0 28px;line-height:1.6}.login-card form{gap:10px;display:grid}label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-size:12px;font-weight:800}input,select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:12px;outline:none;padding:13px 14px;transition:border .2s,box-shadow .2s}select{appearance:none;background-color:#fff;background-image:linear-gradient(45deg, transparent 50%, var(--green-dark) 50%), linear-gradient(135deg, var(--green-dark) 50%, transparent 50%), linear-gradient(to left, #edf4f0 0, #edf4f0 38px, transparent 38px);background-position:calc(100% - 20px) 52%,calc(100% - 14px) 52%,100% 0;background-repeat:no-repeat;background-size:6px 6px,6px 6px,100% 100%;padding-right:44px}input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px #1d8f681f}.full-button{width:100%;margin-top:6px;padding:14px 18px}.form-error{color:#a53c2c;margin:0;font-size:13px}.back-link{text-align:center;color:var(--ink-soft);margin-top:26px;font-size:13px;font-weight:700;display:block}.admin-shell{background:#f3f2ec;min-height:100vh;padding:0 4vw 60px}.admin-header{border-bottom:1px solid #10231f1f;justify-content:space-between;align-items:center;height:82px;display:flex}.admin-header .brand-lockup>div{gap:2px;display:grid}.admin-header .brand-lockup small{color:var(--ink-soft);font-size:11px;font-weight:600}.ghost-button,.secondary-button,.danger-button,.text-button,.reset-button{background:0 0;border:0;font-weight:750}.ghost-button{border:1px solid var(--line);background:#ffffff8c;border-radius:11px;padding:10px 15px}.admin-intro{justify-content:space-between;align-items:end;gap:40px;max-width:1280px;margin:0 auto;padding:46px 0 28px;display:flex}.admin-intro h1{letter-spacing:-.05em;margin:15px 0 6px;font-size:42px}.admin-intro p{color:var(--ink-soft);margin:0}.summary-row{background:#fff;border:1px solid #10231f17;border-radius:17px;min-width:430px;display:flex}.summary-row div{flex:1;padding:16px 20px}.summary-row div+div{border-left:1px solid var(--line)}.summary-row strong,.summary-row span{display:block}.summary-row strong{letter-spacing:-.04em;font-size:24px}.summary-row span{color:var(--ink-soft);margin-top:3px;font-size:11px}.error-banner,.success-banner{z-index:1000;border:1px solid;border-radius:14px;justify-content:space-between;align-items:flex-start;gap:14px;width:min(560px,100vw - 36px);max-height:min(72vh,620px);margin:0;padding:14px 16px;font-size:13px;font-weight:700;line-height:1.5;animation:.18s ease-out notification-arrive;display:flex;position:fixed;top:18px;right:18px;overflow:auto;box-shadow:0 18px 46px #10231f33}.error-banner{color:#923724;background:#fff0ec}.success-banner{color:var(--green-dark);background:#e4f6ed}.error-banner button,.success-banner button{width:28px;height:28px;color:inherit;cursor:pointer;background:#ffffffa8;border:0;border-radius:50%;flex:none;place-items:center;font-size:18px;display:grid;position:sticky;top:0}@keyframes notification-arrive{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.portal-tabs{z-index:18;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);scrollbar-width:thin;background:#ffffffeb;border:1px solid #10231f1a;border-radius:17px;gap:5px;max-width:1280px;margin:0 auto 18px;padding:6px;display:flex;position:sticky;top:10px;overflow-x:auto;box-shadow:0 12px 32px #10231f17}.portal-tab{min-height:52px;color:var(--ink-soft);white-space:nowrap;background:0 0;border:0;border-radius:12px;flex:1 0 150px;justify-content:center;align-items:center;gap:8px;padding:9px 12px;font-size:11px;font-weight:800;transition:background .18s,color .18s,transform .18s;display:flex;position:relative}.teacher-tabs .portal-tab{flex-basis:190px}.portal-tab:hover{background:var(--paper);color:var(--ink)}.portal-tab.active{background:var(--ink);color:#fff;box-shadow:0 7px 16px #10231f29}.portal-tab:focus-visible{outline-offset:2px;outline:3px solid #1d8f6840}.portal-tab-icon{font-size:17px;line-height:1}.portal-tab strong{background:var(--paper);min-width:22px;height:22px;color:var(--ink-soft);border-radius:999px;place-items:center;padding:0 6px;font-size:9px;display:grid}.portal-tab.active strong{color:#fff;background:#ffffff24}.portal-live-dot{background:#32c88b;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #32c88b24}.portal-tab-content{min-height:430px;scroll-margin-top:82px}.portal-tab-content>.students-panel:first-child,.portal-tab-content>.history-panel:first-child,.portal-tab-content>.reports-panel:first-child,.portal-tab-content>.teacher-history-panel:first-child{margin-top:0}.organisation-panel{max-width:1280px;margin:0 auto 18px;padding:24px}.panel-note{color:var(--ink-soft);margin:10px 0 0;font-size:12px}.structure-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;display:grid}.structure-card{border:1px solid #e5e9e3;border-radius:16px;min-width:0;padding:16px}.structure-card h3{margin:0 0 12px;font-size:14px}.compact-create-form{background:var(--paper);border-radius:13px;grid-template-columns:1fr auto;gap:7px;padding:10px;display:grid}.compact-create-form.stacked{grid-template-columns:1fr}.compact-create-form.stacked>div{grid-template-columns:1fr auto;gap:7px;display:grid}.compact-create-form input,.compact-create-form select{min-width:0;padding:9px 10px;font-size:11px}.compact-create-form .primary-button{padding:0 13px;font-size:10px}.structure-list{max-height:260px;margin-top:12px;overflow:auto}.structure-list>form{border-top:1px solid #edf0ec;grid-template-columns:1fr auto;align-items:end;gap:7px;padding:9px 2px;display:grid}.structure-list>form>div{min-width:0}.structure-list small{color:var(--ink-soft);margin:0 0 4px;font-size:9px;display:block}.structure-list input{min-width:0;padding:8px 9px;font-size:11px}.structure-list button{background:var(--green-pale);color:var(--green-dark);border:0;border-radius:8px;padding:8px 9px;font-size:9px;font-weight:850}.structure-list button:disabled{opacity:.35}.structure-list>p{color:var(--ink-soft);margin:20px 4px;font-size:11px;line-height:1.5}.subjects-panel{max-width:1280px;margin:0 auto 18px;padding:22px 24px}.subjects-layout{grid-template-columns:minmax(300px,.7fr) 1.3fr;align-items:center;gap:20px;margin-top:18px;display:grid}.subject-form{background:var(--paper);border-radius:15px;grid-template-columns:1fr auto;gap:9px;padding:12px;display:grid}.subject-form.enhanced{grid-template-columns:1.3fr .7fr auto}.subject-form.enhanced .inline-check,.subject-form.enhanced .primary-button{min-height:44px}.inline-check{color:var(--ink-soft);text-transform:none;letter-spacing:0;background:#fff;border-radius:11px;align-items:center;gap:8px;padding:9px 11px;font-size:10px;display:flex}.inline-check input{width:16px;height:16px;padding:0}.subject-form .primary-button{padding:0 18px}.subject-chips{flex-wrap:wrap;gap:8px;display:flex}.subject-chips span{background:var(--green-pale);color:var(--green-dark);border-radius:999px;padding:9px 12px;font-size:12px;font-weight:800}.subject-chips small{color:var(--ink-soft)}.subject-catalogue{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.subject-catalogue-card{background:#fff;border:1px solid #e4e9e2;border-radius:12px;grid-template-columns:1fr auto;display:grid;overflow:hidden}.subject-catalogue-card.selected{box-shadow:inset 3px 0 var(--green);border-color:#86b9a4}.subject-manage-button{color:var(--ink);text-align:left;background:0 0;gap:3px;padding:12px;display:grid}.subject-edit-button{color:var(--green-dark);background:#fafbf9;border-left:1px solid #edf0ec;align-self:stretch;padding:0 12px;font-size:9px;font-weight:850}.subject-catalogue strong,.subject-catalogue small{display:block}.subject-catalogue strong{font-size:12px}.subject-catalogue small{color:var(--ink-soft);font-size:9px}.subject-catalogue span{color:var(--green-dark);font-size:9px;font-weight:850}.rule-builder{border-top:1px solid #edf0ec;margin-top:20px;padding-top:20px}.rule-builder h3{margin:5px 0;font-size:17px}.rule-builder>div:first-child p{color:var(--ink-soft);margin:0;font-size:11px}.rule-builder>form{background:var(--paper);border-radius:14px;grid-template-columns:1fr .7fr .8fr 1.3fr auto;gap:8px;margin-top:14px;padding:12px;display:grid}.rule-builder>form input,.rule-builder>form select{min-width:0;font-size:11px}.rule-builder>form .primary-button{padding:0 16px;font-size:10px}.rule-list{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px;display:grid}.rule-list>div{border:1px solid #e5e9e3;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.rule-list strong,.rule-list small{display:block}.rule-list strong{font-size:11px}.rule-list small{color:var(--ink-soft);margin-top:3px;font-size:9px}.rule-list button{color:#9a3f2e;background:0 0;border:0;font-size:9px;font-weight:850}.rule-list>p{color:var(--ink-soft);grid-column:1/-1;font-size:11px}.access-panel{max-width:1280px;margin:0 auto 18px;padding:24px}.access-controls{background:var(--paper);border-radius:16px;grid-template-columns:minmax(240px,.7fr) 1.3fr;align-items:end;gap:20px;margin-top:18px;padding:14px;display:grid}.access-controls>div{gap:8px;display:grid}.access-controls p{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.55}.access-list{margin-top:18px}.access-row{border-top:1px solid #edf0ec;grid-template-columns:42px 1fr 110px 120px;align-items:center;gap:12px;min-height:64px;padding:10px 4px;display:grid}.subject-roster-row{grid-template-columns:42px minmax(190px,1fr) 90px minmax(170px,.6fr) 110px}.subject-roster-row.enhanced{grid-template-columns:24px 42px minmax(190px,1fr) 90px minmax(170px,.6fr) 110px}.subject-student-check{width:17px;height:17px;accent-color:var(--green);padding:0}.subject-section-select{min-width:0;padding:9px 30px 9px 10px;font-size:10px}.subject-section-placeholder{color:var(--ink-soft);text-align:center}.subject-group-workspace{background:linear-gradient(145deg,#f8fbf8,#f1f7f3);border:1px solid #dfe8e1;border-radius:18px;margin:16px 0;padding:18px}.subject-group-year-row{justify-content:space-between;align-items:end;gap:18px;display:flex}.subject-group-year-row h3,.subject-distribution-heading h3{margin:4px 0 3px;font-size:17px}.subject-group-year-row p,.subject-distribution-heading p{color:var(--ink-soft);margin:0;font-size:11px;line-height:1.5}.subject-group-year-row label{min-width:160px}.subject-group-year-row select{width:100%;margin-top:6px;font-size:11px}.subject-group-create-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:15px;display:grid}.pathway-group-card,.custom-subject-group-form{background:#fff;border:1px solid #dce6df;border-radius:15px;padding:15px}.pathway-group-card h4,.custom-subject-group-form h4{margin:9px 0 4px;font-size:13px}.pathway-group-card p,.custom-subject-group-form p{min-height:34px;color:var(--ink-soft);margin:0 0 12px;font-size:10px;line-height:1.45}.pathway-group-card button{width:100%;min-height:40px}.group-method-badge{background:var(--green-pale);color:var(--green-dark);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:900;display:inline-flex}.group-method-badge.custom{color:#725b27;background:#f1eee4}.custom-subject-group-form>div{grid-template-columns:1fr auto;gap:8px;display:grid}.custom-subject-group-form input{min-width:0;padding:10px 11px;font-size:10px}.custom-subject-group-form button{min-height:40px}.subject-section-list.enhanced{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.subject-section-list.enhanced>article{background:#fff;border:1px solid #e1e8e2;border-radius:13px;grid-template-columns:minmax(0,1fr) minmax(160px,.65fr);align-items:center;gap:12px;padding:11px;display:grid}.subject-section-identity{align-items:center;gap:9px;min-width:0;display:flex}.subject-section-identity>span{background:var(--green-pale);width:34px;height:34px;color:var(--green-dark);border-radius:10px;flex:none;place-items:center;font-size:12px;font-weight:900;display:grid}.subject-section-identity strong,.subject-section-identity small{display:block}.subject-section-identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.subject-section-identity small{color:var(--ink-soft);margin-top:3px;font-size:8px}.subject-section-list.enhanced label{font-size:8px}.subject-section-list.enhanced select{width:100%;margin-top:4px;padding:8px 28px 8px 9px;font-size:9px}.subject-groups-empty{background:#ffffffb3;border:1px dashed #cbd9ce;border-radius:13px;grid-column:1/-1;align-items:center;gap:11px;padding:15px;display:flex}.subject-groups-empty>span{width:34px;height:34px;color:var(--green);background:#fff;border-radius:50%;place-items:center;font-size:18px;display:grid}.subject-groups-empty strong,.subject-groups-empty small{display:block}.subject-groups-empty strong{font-size:11px}.subject-groups-empty small{color:var(--ink-soft);margin-top:3px;font-size:9px}.subject-distribution-panel{border-top:1px solid #e7ece8;margin-top:18px;padding-top:18px}.subject-distribution-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.subject-roster-filters{background:var(--paper);border-radius:14px;grid-template-columns:1.2fr 1fr 1fr;gap:9px;margin-top:14px;padding:12px;display:grid}.subject-roster-filters input,.subject-roster-filters select{width:100%;margin-top:5px;padding:10px;font-size:10px}.subject-bulk-move-bar{background:#fff;border:1px solid #dce6df;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:10px 12px;display:flex}.bulk-select-all{color:var(--ink);letter-spacing:0;text-transform:none;align-items:center;gap:8px;font-size:10px;font-weight:800;display:flex}.bulk-select-all input{width:16px;height:16px;accent-color:var(--green);padding:0}.subject-bulk-move-bar>div{align-items:center;gap:8px;display:flex}.subject-bulk-move-bar strong{color:var(--green-dark);font-size:10px}.subject-bulk-move-bar select{min-width:190px;padding:9px 30px 9px 10px;font-size:10px}.subject-bulk-move-bar button{min-height:38px}.subject-roster-list{max-height:560px;padding-right:4px;overflow:auto}.subject-groups-page-heading{margin-bottom:16px}.back-to-subjects{color:var(--green-dark);background:#fff;border:1px solid #dce5de;border-radius:10px;margin-bottom:13px;padding:8px 11px;font-size:10px;font-weight:850}.subject-edit-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.subject-edit-actions button{min-height:44px}.open-groups-button{border:2px solid var(--green);background:var(--green-pale);color:var(--green-dark);text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 13px;transition:background .16s,color .16s,transform .16s,box-shadow .16s;display:flex;box-shadow:0 7px 18px #19654b1a}.open-groups-button:hover{background:var(--green);color:#fff;transform:translateY(-1px);box-shadow:0 10px 22px #19654b33}.open-groups-button strong,.open-groups-button small{display:block}.open-groups-button strong{font-size:11px}.open-groups-button small{color:currentColor;opacity:.78;margin-top:2px;font-size:8px}.open-groups-button b{font-size:18px}.access-row strong,.access-row small{display:block}.access-row strong{font-size:13px}.access-row small{color:var(--ink-soft);margin-top:3px;font-size:11px}.add-access-button,.remove-access-button{border-radius:9px;padding:8px 10px;font-size:11px;font-weight:800}.add-access-button{background:var(--green-pale);color:var(--green-dark);border:0}.remove-access-button{color:#9a3f2e;background:#fff7f4;border:1px solid #f0c6bd}.teacher-form{background:var(--paper);border-radius:16px;grid-template-columns:1.25fr .85fr .65fr auto;gap:9px;margin-top:20px;padding:14px;display:grid}.teacher-form .primary-button{padding:0 18px}.teacher-admin-list{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px;display:grid}.teacher-admin-card{border:1px solid #e5e9e3;border-radius:16px;padding:16px}.teacher-card-heading{align-items:center;gap:11px;display:flex}.teacher-card-heading strong,.teacher-card-heading small{display:block}.teacher-card-heading strong{font-size:13px}.teacher-card-heading small{color:var(--ink-soft);margin-top:3px;font-size:10px}.attendance-permission{text-align:left;border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);border-radius:12px;grid-template-columns:26px 1fr;align-items:center;gap:10px;margin-top:14px;padding:11px 12px;display:grid}.attendance-permission>span{color:#fff;background:#fff;border:1px solid #cfd6d1;border-radius:8px;place-items:center;width:24px;height:24px;font-size:12px;font-weight:900;display:grid}.attendance-permission strong,.attendance-permission small{display:block}.attendance-permission strong{font-size:11px}.attendance-permission small{color:var(--ink-soft);margin-top:3px;font-size:9px;line-height:1.4}.attendance-permission.enabled{background:var(--green-pale);border-color:#b9d9cb}.attendance-permission.enabled>span{border-color:var(--green);background:var(--green)}.teacher-subject-access{margin-top:15px}.teacher-subject-access>small{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.09em;font-size:9px;font-weight:850}.teacher-subject-access>div{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.subject-access-chip{border:1px solid var(--line);color:var(--ink-soft);background:#fff;border-radius:999px;padding:7px 9px;font-size:10px;font-weight:800}.subject-access-chip.assigned{background:var(--green-pale);color:var(--green-dark);border-color:#b9d9cb}.teacher-group-access{border-top:1px solid #edf0ec;margin-top:15px;padding-top:14px}.teacher-group-access-heading{justify-content:space-between;align-items:end;gap:10px;display:flex}.teacher-group-access-heading small,.teacher-group-access-heading strong{display:block}.teacher-group-access-heading small{color:var(--ink-soft);letter-spacing:.09em;text-transform:uppercase;font-size:8px;font-weight:850}.teacher-group-access-heading strong{margin-top:4px;font-size:12px}.teacher-group-access-heading>span{color:var(--ink-soft);font-size:8px}.teacher-group-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px;display:grid}.teacher-group-chip{color:var(--ink);text-align:left;background:#fff;border:1px solid #dfe5e0;border-radius:11px;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:8px;padding:9px;transition:border-color .16s,background .16s,transform .16s;display:grid}.teacher-group-chip:hover{background:#f7fbf8;border-color:#8bbba7;transform:translateY(-1px)}.teacher-group-chip>span{width:24px;height:24px;color:var(--green-dark);border:1px solid #ced8d1;border-radius:8px;place-items:center;font-size:11px;font-weight:900;display:grid}.teacher-group-chip strong,.teacher-group-chip small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.teacher-group-chip strong{font-size:9px}.teacher-group-chip small{color:var(--ink-soft);margin-top:3px;font-size:7px}.teacher-group-chip.assigned{background:var(--green-pale);border-color:#82bfa6}.teacher-group-chip.assigned>span{border-color:var(--green);background:var(--green);color:#fff}.teacher-group-chip.assigned-other{background:#fffaf0;border-color:#e7d8ad}.teacher-group-chip.assigned-other>span{color:#7a5c00;background:#fff4cf;border-color:#dfc878}.teacher-groups-empty{color:var(--ink-soft);border:1px dashed #d7dfd8;border-radius:11px;align-items:center;gap:9px;margin-top:10px;padding:10px;display:flex}.teacher-groups-empty>span{background:var(--paper);border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.teacher-groups-empty strong,.teacher-groups-empty small{display:block}.teacher-groups-empty strong{color:var(--ink);font-size:9px}.teacher-groups-empty small{margin-top:2px;font-size:7px}.mini-spinner{border:2px solid #10231f2e;border-top-color:var(--green);border-radius:50%;width:12px;height:12px;animation:.7s linear infinite spin}.wifi-settings-panel{margin-bottom:18px;overflow:hidden}.wifi-state{border:1px solid var(--line);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;background:#f7f5ef;border-radius:999px;align-self:flex-start;padding:8px 12px;font-size:10px;font-weight:900}.wifi-state.enabled{color:var(--green-dark);background:#e2f4ec;border-color:#83c3aa}.wifi-settings-grid{grid-template-columns:minmax(250px,.7fr) minmax(420px,1.3fr);gap:16px;margin-top:20px;display:grid}.wifi-default-card,.wifi-network-card{border:1px solid var(--line);background:#fbfaf7;border-radius:18px;padding:20px}.wifi-default-card{flex-direction:column;justify-content:space-between;gap:24px;display:flex}.wifi-default-card>div,.wifi-network-card>div:first-child{gap:6px;display:grid}.wifi-default-card strong,.wifi-network-card strong{color:var(--ink);font-size:14px}.wifi-default-card span,.wifi-network-card span{color:var(--muted);font-size:12px;line-height:1.5}.wifi-toggle{width:100%;min-height:56px;color:var(--muted);background:#fff;border:1px solid #d9d5ca;border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:9px 14px;font-weight:900;display:flex}.wifi-toggle i,.teacher-wifi-choice i{background:#d8d5cc;border-radius:999px;flex:none;width:36px;height:22px;transition:background .18s;position:relative}.wifi-toggle i:after,.teacher-wifi-choice i:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #10231f33}.wifi-toggle.enabled{color:var(--green-dark);background:#e2f4ec;border-color:#83c3aa}.wifi-toggle.enabled i,.teacher-wifi-choice.enabled i{background:var(--green)}.wifi-toggle.enabled i:after,.teacher-wifi-choice.enabled i:after{transform:translate(14px)}.wifi-capture-actions{align-items:center;gap:12px;margin-top:18px;display:flex}.wifi-capture-actions small{color:var(--muted);font-size:10px;line-height:1.4}.wifi-manual-form{border-top:1px solid var(--line);grid-template-columns:minmax(150px,.65fr) minmax(230px,1.2fr) auto;align-items:end;gap:10px;margin-top:16px;padding-top:16px;display:grid}.wifi-manual-form label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;gap:6px;font-size:10px;font-weight:850;display:grid}.wifi-manual-form input{min-height:44px}.wifi-network-list{gap:8px;margin-top:16px;display:grid}.wifi-network-list>div{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:10px 12px;display:flex}.wifi-network-list>div>span{gap:2px;display:grid}.wifi-network-list small{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.wifi-network-list button{color:#8b3f34;background:#f8e8e4;border:0;border-radius:9px;padding:7px 10px;font-size:10px;font-weight:850}.wifi-network-empty{background:#f7f5ef!important;border-style:dashed!important;justify-content:flex-start!important;gap:3px!important;display:grid!important}.teacher-wifi-choice{text-align:left;width:100%;color:var(--ink);background:#f7f5ef;border:1px solid #d9d5ca;border-radius:14px;align-items:center;gap:12px;margin-top:16px;padding:13px 14px;display:flex}.teacher-wifi-choice>span{gap:2px;display:grid}.teacher-wifi-choice strong{font-size:12px}.teacher-wifi-choice small{color:var(--muted);font-size:10px;line-height:1.4}.teacher-wifi-choice.enabled{background:#e2f4ec;border-color:#83c3aa}.live-session-wifi{text-align:left;width:100%;color:var(--ink);background:#f7f5ef;border:1px solid #d9d5ca;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;margin:14px 0 4px;padding:11px 13px;display:flex}.live-session-wifi>span{gap:2px;display:grid}.live-session-wifi strong{font-size:11px}.live-session-wifi small{color:var(--muted);font-size:9px}.live-session-wifi b{min-width:38px;color:var(--muted);text-align:center;background:#ddd9cf;border-radius:999px;padding:5px 8px;font-size:9px}.live-session-wifi.enabled{background:#e2f4ec;border-color:#83c3aa}.live-session-wifi.enabled b{background:var(--green);color:#fff}.live-wifi-button{text-align:left;width:100%;min-width:190px;color:var(--ink);background:#f7f5ef;border:1px solid #d9d5ca;border-radius:12px;gap:2px;margin-top:10px;padding:9px 11px;display:grid}.live-wifi-button span{font-size:10px;font-weight:900}.live-wifi-button small{color:var(--muted);font-size:8px}.live-wifi-button.enabled{color:var(--green-dark);background:#e2f4ec;border-color:#83c3aa}.pin-reset-form{border-top:1px solid #edf0ec;grid-template-columns:1fr auto;gap:7px;margin-top:15px;padding-top:13px;display:grid}.pin-reset-form input{padding:9px 11px;font-size:11px}.pin-reset-form .secondary-button{font-size:10px}.dashboard-grid{grid-template-columns:1.05fr .95fr;gap:18px;max-width:1280px;margin:0 auto;display:grid}.dashboard-live-grid{margin-bottom:18px}.admin-live-overview{max-width:1280px;margin:0 auto 18px;padding:24px}.admin-live-overview .panel-heading p{max-width:620px;color:var(--ink-soft);margin:7px 0 0;font-size:11px;line-height:1.5}.admin-active-session-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.admin-active-session-list>article{background:#fafbf9;border:1px solid #e4e9e4;border-radius:15px;min-width:0;padding:15px}.active-session-identity{align-items:center;gap:10px;display:flex}.active-session-identity strong,.active-session-identity small{display:block}.active-session-identity strong{font-size:13px}.active-session-identity small{color:var(--ink-soft);margin-top:3px;font-size:9px}.active-session-metrics{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:13px;display:grid}.active-session-metrics span{color:var(--ink-soft);background:#fff;border-radius:10px;padding:9px;font-size:8px}.active-session-metrics strong{color:var(--ink);margin-bottom:2px;font-size:15px;display:block}.active-session-metrics .present{background:var(--green-pale);color:var(--green-dark)}.active-session-metrics .late{color:#80570d;background:#fff1ce}.active-session-metrics .absent{color:#943c2c;background:#fff0ec}.admin-analytics-panel{max-width:1280px;margin:0 auto;padding:24px}.analytics-heading{justify-content:space-between;align-items:flex-end;gap:28px;display:flex}.analytics-heading h2{letter-spacing:-.035em;margin:5px 0 4px;font-size:24px}.analytics-heading p{color:var(--ink-soft);margin:0;font-size:11px;line-height:1.5}.dashboard-period-control{min-width:390px}.dashboard-period-control>span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.09em;margin-bottom:7px;font-size:9px;font-weight:850;display:block}.dashboard-period-control .range-tabs{margin:0}.dashboard-custom-dates{grid-template-columns:repeat(2,1fr);gap:9px;width:min(100%,430px);margin:12px 0 0 auto;display:grid}.dashboard-custom-dates label{gap:6px;display:grid}.dashboard-loading{min-height:300px;color:var(--ink-soft);align-content:center;place-items:center;gap:10px;font-size:11px;display:grid}.dashboard-kpis{grid-template-columns:repeat(5,1fr);gap:9px;margin-top:20px;display:grid}.dashboard-kpis>div{background:#fafbf9;border:1px solid #e7ebe7;border-radius:15px;min-width:0;padding:16px}.dashboard-kpis span,.dashboard-kpis strong,.dashboard-kpis small{display:block}.dashboard-kpis span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:850}.dashboard-kpis strong{letter-spacing:-.045em;margin-top:7px;font-size:27px}.dashboard-kpis small{color:var(--ink-soft);margin-top:4px;font-size:9px}.dashboard-kpis .dashboard-rate-kpi{background:linear-gradient(145deg,#eef9f4,#fff);border-color:#acd5c5}.dashboard-analysis-grid{grid-template-columns:1.2fr .8fr;gap:12px;margin-top:12px;display:grid}.dashboard-card{background:#fff;border:1px solid #e6eae5;border-radius:17px;min-width:0;padding:18px}.dashboard-card-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.dashboard-card-heading h3,.data-readiness-card h3{letter-spacing:-.025em;margin:4px 0 0;font-size:16px}.dashboard-card-heading>span{background:var(--paper);color:var(--ink-soft);white-space:nowrap;border-radius:999px;padding:6px 8px;font-size:9px;font-weight:850}.dashboard-session-list,.dashboard-subject-list{max-height:390px;margin-top:12px;overflow-y:auto}.dashboard-session-list>button{width:100%;min-height:68px;color:var(--ink);text-align:left;background:0 0;border:0;border-top:1px solid #edf0ec;grid-template-columns:58px minmax(130px,1fr) auto 42px 74px;align-items:center;gap:11px;padding:9px 3px;display:grid}.dashboard-session-list>button:hover{background:#fafbf9}.dashboard-session-list strong,.dashboard-session-list small{display:block}.dashboard-session-list strong{font-size:11px}.dashboard-session-list small{color:var(--ink-soft);margin-top:3px;font-size:9px}.dashboard-session-list b{font-size:11px}.dashboard-session-list em{color:var(--green-dark);text-align:right;font-size:9px;font-style:normal;font-weight:850}.session-status-strip{gap:4px;display:flex}.session-status-strip i{text-align:center;border-radius:7px;min-width:27px;padding:5px 6px;font-size:8px;font-style:normal;font-weight:850}.session-status-strip .present{background:var(--green-pale);color:var(--green-dark)}.session-status-strip .late{color:#80570d;background:#fff1ce}.session-status-strip .absent{color:#943c2c;background:#fff0ec}.session-status-strip .excused{color:#4b5792;background:#eef0ff}.dashboard-subject-list>div{border-top:1px solid #edf0ec;grid-template-columns:minmax(110px,1fr) minmax(70px,.8fr) 40px;align-items:center;gap:10px;min-height:60px;padding:9px 2px;display:grid}.dashboard-subject-list strong,.dashboard-subject-list small{display:block}.dashboard-subject-list strong{font-size:11px}.dashboard-subject-list small{color:var(--ink-soft);margin-top:3px;font-size:8px}.dashboard-subject-list>div>span{background:#e8ede9;border-radius:999px;height:7px;overflow:hidden}.dashboard-subject-list>div>span i{border-radius:inherit;background:linear-gradient(90deg, #e2a33a, var(--green));height:100%;display:block}.dashboard-subject-list b{text-align:right;font-size:11px}.dashboard-followup-card{margin-top:12px}.followup-heading{align-items:flex-end}.followup-heading p{color:var(--ink-soft);margin:5px 0 0;font-size:10px}.followup-controls{gap:7px;display:flex}.followup-controls label{gap:5px;font-size:8px;display:grid}.followup-controls select{min-width:94px;padding:8px 27px 8px 9px;font-size:10px}.followup-table{margin-top:13px;overflow-x:auto}.followup-head,.followup-row{grid-template-columns:minmax(180px,1.25fr) minmax(125px,.9fr) repeat(6,62px) 78px;align-items:center;gap:10px;min-width:980px;display:grid}.followup-head{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.07em;padding:0 7px 8px;font-size:8px;font-weight:850}.followup-row{border-top:1px solid #edf0ec;min-height:62px;padding:9px 7px;font-size:10px}.followup-row strong,.followup-row small{display:block}.followup-row strong{font-size:10px}.followup-row small{color:var(--ink-soft);margin-top:3px;font-size:8px}.followup-row b{color:#a24735;font-size:11px}.followup-row .history-button{padding:7px;font-size:8px}.dashboard-empty{min-height:145px;color:var(--ink-soft);text-align:left;justify-content:center;align-items:center;gap:12px;display:flex}.dashboard-empty.compact{border:0;grid-template-columns:none}.dashboard-empty>span{background:var(--paper);width:42px;height:42px;color:var(--green);border-radius:13px;flex:none;place-items:center;font-size:18px;display:grid}.dashboard-empty strong,.dashboard-empty small{display:block}.dashboard-empty strong{color:var(--ink);font-size:11px}.dashboard-empty small{max-width:330px;margin-top:4px;font-size:9px;line-height:1.45}.data-readiness-card{grid-template-columns:minmax(210px,.75fr) 1.25fr;align-items:center;gap:20px;margin-top:12px;display:grid}.readiness-grid{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.readiness-grid button{min-width:0;color:var(--ink);text-align:left;background:#fafbf9;border:1px solid #e6eae5;border-radius:12px;padding:12px}.readiness-grid strong,.readiness-grid span,.readiness-grid small{display:block}.readiness-grid strong{letter-spacing:-.03em;font-size:20px}.readiness-grid span{margin-top:3px;font-size:9px;font-weight:800}.readiness-grid small{color:var(--green-dark);margin-top:3px;font-size:8px}.panel{background:#fff;border:1px solid #10231f17;border-radius:20px;box-shadow:0 8px 24px #10231f0a}.session-panel,.attendees-panel{min-height:515px;padding:24px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.panel-heading h2{letter-spacing:-.035em;margin:5px 0 0;font-size:23px}.section-kicker{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:850}.active-qr{border:1px solid var(--line);border-radius:18px;width:fit-content;margin:28px auto 14px;padding:12px}.qr-image{border-radius:8px;max-width:100%;height:auto;display:block}.qr-placeholder{background:var(--paper);border-radius:12px;width:250px;height:250px}.scan-instruction{text-align:center;color:var(--ink-soft);font-size:13px}.session-actions{justify-content:center;gap:9px;margin-top:18px;display:flex}.secondary-button,.danger-button{border-radius:10px;padding:10px 13px}.secondary-button{background:var(--paper);color:var(--ink)}.danger-button{color:#9d3d2b;background:#fff0ec}.start-form{gap:11px;max-width:430px;margin:48px auto 0;display:grid}.start-form>p{text-align:center;max-width:320px;color:var(--ink-soft);margin:0 auto 18px;line-height:1.5}.empty-illustration{background:var(--green-pale);width:76px;height:76px;color:var(--green);border-radius:24px;place-items:center;margin:0 auto;display:grid}.empty-illustration span{font-size:38px;font-weight:300}.count-pill{background:var(--green-pale);min-width:34px;height:34px;color:var(--green-dark);border-radius:999px;place-items:center;font-weight:900;display:grid}.live-counts{gap:8px;margin:18px 0 -5px;display:flex}.live-counts span{background:var(--paper);color:var(--ink-soft);border-radius:12px;flex:1;padding:10px 12px;font-size:11px}.live-counts strong{color:var(--ink);font-size:15px}.attendee-list{max-height:410px;margin-top:22px;overflow:auto}.attendee-row{border-bottom:1px solid #edf0ec;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:12px 4px;display:grid}.avatar{background:var(--paper);width:40px;height:40px;color:var(--green-dark);border-radius:13px;place-items:center;font-weight:900;display:grid}.attendee-row strong,.attendee-row small{display:block}.attendee-row strong{font-size:13px}.attendee-row small{color:var(--ink-soft);margin-top:3px;font-size:11px}.attendee-row time{color:var(--ink-soft);font-size:11px}.empty-list{text-align:center;height:350px;color:var(--ink-soft);align-content:center;place-items:center;display:grid}.empty-list span{background:var(--paper);width:54px;height:54px;color:var(--green);border-radius:18px;place-items:center;font-size:24px;display:grid}.empty-list p{max-width:220px;font-size:13px;line-height:1.5}.students-panel{max-width:1280px;margin:18px auto 0;padding:24px}.student-entry-layout{grid-template-columns:1.45fr .55fr;gap:14px;margin-top:20px;display:grid}.student-intake-form,.bulk-import-card{background:#fff;border:1px solid #e5e9e3;border-radius:17px;padding:17px}.entry-heading{justify-content:space-between;align-items:end;gap:18px;display:flex}.entry-heading h3,.bulk-import-card h3{margin:5px 0 0;font-size:18px}.entry-heading p{color:var(--ink-soft);margin:0;font-size:10px}.student-intake-grid{grid-template-columns:repeat(4,1fr);gap:9px;margin-top:15px;display:grid}.student-intake-grid label,.edit-student-grid label{gap:6px;display:grid}.student-intake-grid input,.student-intake-grid select{min-width:0;padding:10px 11px;font-size:11px}.student-intake-grid .wide-field{grid-column:span 2}.elective-picker{margin-top:13px}.elective-picker>span{color:var(--ink-soft);font-size:10px;font-weight:800}.elective-picker>div{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.elective-picker label{border:1px solid var(--line);color:var(--ink-soft);text-transform:none;letter-spacing:0;cursor:pointer;border-radius:999px;padding:7px 9px;font-size:9px}.elective-picker label.selected{background:var(--green-pale);color:var(--green-dark);border-color:#b9d9cb}.elective-picker input{opacity:0;pointer-events:none;position:absolute}.intake-submit{min-height:44px;margin-top:15px;padding:0 18px}.bulk-import-card{background:var(--paper)}.bulk-import-card>p{color:var(--ink-soft);margin:9px 0 17px;font-size:11px;line-height:1.55}.generic-import-card{border:1px solid #dbe8e1;border-radius:17px;grid-template-columns:minmax(260px,1.25fr) auto;align-items:center;gap:14px 22px;margin-top:18px;padding:18px;display:grid}.generic-import-card h3{margin:5px 0;font-size:17px}.generic-import-card p{max-width:720px;color:var(--ink-soft);margin:0;font-size:11px;line-height:1.55}.generic-import-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.generic-import-actions .secondary-button,.generic-import-actions .upload-button{min-height:40px}.bulk-import-status{min-height:42px;color:var(--ink-soft);background:#fff;border:1px solid #d9e2dc;border-radius:12px;grid-column:1/-1;align-items:center;gap:9px;padding:10px 12px;font-size:10px;font-weight:800;display:flex}.bulk-import-status.reading,.bulk-import-status.validating{color:var(--green-dark);background:#f3fbf7;border-color:#b9d9cb}.bulk-import-status.complete{background:var(--green-pale);color:var(--green-dark);border-color:#b9d9cb}.generic-import-preview{background:#fff;border:1px solid #e1e8e3;border-radius:14px;grid-column:1/-1;gap:10px;padding:14px;display:grid}.generic-import-preview>div:first-child{justify-content:space-between;gap:12px;display:flex}.generic-import-preview>div:first-child strong,.generic-import-preview>div:first-child span{font-size:11px}.generic-import-preview>div:nth-child(2){gap:5px;display:grid}.generic-import-preview small,.generic-import-preview em{color:var(--ink-soft);font-size:9px}.generic-import-preview .primary-button{justify-self:start;min-height:40px;padding:0 15px}.temporary-pin-field{max-width:340px;color:var(--ink-soft);gap:6px;font-size:9px;font-weight:850;display:grid}.temporary-pin-field input{min-height:40px}.existing-teacher-confirmation{background:var(--green-pale);color:var(--green-dark);border-radius:10px;padding:10px 12px;font-size:10px;font-weight:800}.teacher-bulk-import{margin-top:14px}.import-actions{flex-wrap:wrap;gap:7px;display:flex}.upload-button{background:var(--ink);color:#fff;text-transform:none;letter-spacing:0;border-radius:10px;justify-content:center;align-items:center;padding:10px 13px;font-size:10px;display:inline-flex}.upload-button input{opacity:0;width:1px;height:1px;position:absolute}.report-results-toolbar button.upload-button{cursor:pointer;font:inherit;border:0;font-size:10px;font-weight:750}.report-results-toolbar button.upload-button:disabled{cursor:not-allowed;opacity:.45}.report-upload-input{display:none}.import-empty{min-height:110px;color:var(--ink-soft);text-align:center;border:1px dashed #cbd2ca;border-radius:13px;place-items:center;margin-top:14px;padding:14px;font-size:10px;display:grid}.import-preview{background:#fff;border-radius:13px;gap:6px;margin-top:14px;padding:12px;display:grid}.import-preview strong,.import-preview span{display:block}.import-preview strong{font-size:11px}.import-preview span,.import-preview small,.import-preview em{color:var(--ink-soft);font-size:9px}.import-preview>div{gap:3px;margin:4px 0;display:grid}.import-preview .primary-button{min-height:39px;margin-top:5px}.student-form{background:var(--paper);border-radius:15px;grid-template-columns:.7fr 1fr 1.15fr auto;gap:10px;margin-top:20px;padding:14px;display:grid}.student-form .primary-button{padding:0 20px}.student-table{margin-top:22px}.student-table-head,.student-table-row{grid-template-columns:1.1fr 1.35fr .65fr .9fr;align-items:center;gap:16px;display:grid}.student-table-head.expanded,.student-table-row.expanded{grid-template-columns:1.15fr 1.25fr 1fr .55fr 1.15fr}.student-table-head{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.11em;padding:0 12px 9px;font-size:10px;font-weight:850}.student-table-row{border-top:1px solid #edf0ec;min-height:66px;padding:10px 12px}.student-table-row.inactive{opacity:.62;background:#fafafa}.student-table-row strong,.student-table-row small{display:block}.student-table-row strong{font-size:13px}.student-table-row small{color:var(--ink-soft);margin-top:4px;font-size:11px}.email-edit-form{grid-template-columns:1fr auto;gap:6px;display:grid}.email-edit-form input{min-width:0;padding:9px 10px;font-size:11px}.email-save-button{background:var(--green-pale);color:var(--green-dark);border:0;border-radius:9px;padding:8px 9px;font-size:10px;font-weight:850}.email-save-button:disabled{opacity:.38;cursor:default}.status{border-radius:999px;width:fit-content;padding:6px 9px;font-size:10px;font-weight:850}.status.registered{color:var(--green-dark);background:var(--green-pale)}.status.waiting{color:#7b6530;background:#f8efd8}.status.archived{color:#5e6260;background:#eceeed}.placement-cell strong,.placement-cell small{display:block}.placement-cell strong{font-size:11px}.placement-cell small{color:var(--ink-soft);margin-top:4px;font-size:9px}.student-email-cell{color:var(--ink-soft);text-overflow:ellipsis;font-size:10px;overflow:hidden}.row-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.edit-profile-button{border:1px solid var(--line);color:var(--ink-soft);background:#fff;border-radius:9px;padding:8px 10px;font-size:10px;font-weight:850}.text-button{color:var(--green-dark);font-size:12px}.reset-button{color:var(--ink-soft);padding:6px 8px;font-size:11px}.replace-button{background:var(--paper);border-radius:9px;padding:8px 10px}.table-empty{text-align:center;color:var(--ink-soft);border-top:1px solid #edf0ec;padding:34px;font-size:13px}.history-panel{max-width:1280px;margin:18px auto 0;padding:24px}.history-list{margin-top:20px}.history-row{border-top:1px solid #edf0ec;grid-template-columns:64px 1fr 92px 92px auto;align-items:center;gap:16px;min-height:76px;padding:12px;display:grid}.history-row.extended{grid-template-columns:64px minmax(180px,1fr) repeat(4,74px) auto;gap:12px}.history-date{background:var(--paper);border-radius:14px;align-content:center;place-items:center;width:54px;height:52px;display:grid}.history-date strong,.history-date small,.history-name strong,.history-name small{display:block}.history-date strong{font-size:13px}.history-date small,.history-name small{color:var(--ink-soft);margin-top:3px;font-size:10px}.history-name strong{font-size:14px}.history-count{color:var(--ink-soft);font-size:11px}.history-count strong{color:var(--ink);font-size:17px}.history-count.absent-count strong{color:#a24735}.history-count.late-count strong{color:#9b6b10}.history-count.excused-count strong{color:#4e5ea7}.history-button{border:1px solid var(--line);color:var(--green-dark);background:#fff;border-radius:10px;padding:9px 12px;font-size:11px;font-weight:800}.history-button:hover{background:var(--green-pale);border-color:#b9d9cb}.history-empty{text-align:center;color:var(--ink-soft);border-top:1px solid #edf0ec;place-items:center;padding:42px 20px;display:grid}.history-empty span{background:var(--paper);width:52px;height:52px;color:var(--green);border-radius:16px;place-items:center;font-size:22px;display:grid}.history-empty p{margin:12px 0 0;font-size:13px}.reports-panel{max-width:1280px;margin:18px auto 0;padding:24px}.report-controls{background:var(--paper);border-radius:16px;grid-template-columns:minmax(230px,.7fr) 1.3fr;align-items:end;gap:18px;margin-top:22px;padding:14px;display:grid}.report-controls>div{gap:8px;display:grid}.range-tabs{gap:6px;display:flex}.range-tabs button{border:1px solid var(--line);min-height:44px;color:var(--ink-soft);background:#fff;border-radius:11px;flex:1;padding:8px 12px;font-size:12px;font-weight:800}.range-tabs button.active{border-color:var(--ink);background:var(--ink);color:#fff}.report-metrics{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px;display:grid}.report-metrics.five{grid-template-columns:repeat(5,1fr)}.report-metrics.six{grid-template-columns:repeat(6,1fr)}.report-metrics.seven{grid-template-columns:repeat(7,1fr)}.report-metrics div{background:#fff;border:1px solid #edf0ec;border-radius:15px;padding:16px}.report-metrics span,.report-metrics strong{display:block}.report-metrics span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800}.report-metrics strong{letter-spacing:-.04em;margin-top:7px;font-size:24px}.report-grid{grid-template-columns:.85fr 1.15fr;gap:22px;margin-top:24px;display:grid}.report-grid h3{margin:0 0 12px;font-size:14px}.daily-row{border-top:1px solid #edf0ec;grid-template-columns:1fr auto auto;align-items:center;gap:12px;min-height:60px;padding:10px 4px;display:grid}.daily-row strong,.daily-row small{display:block}.daily-row strong{font-size:12px}.daily-row small{color:var(--ink-soft);margin-top:3px;font-size:10px}.report-present,.report-late,.report-absent,.report-excused{white-space:nowrap;border-radius:999px;padding:6px 8px;font-size:10px;font-weight:800}.report-present{color:var(--green-dark);background:var(--green-pale)}.report-late{color:#80570d;background:#fff1ce}.report-absent{color:#943c2c;background:#fff0ec}.report-excused{color:#4e5ea7;background:#eef0ff}.daily-row.extended{grid-template-columns:1fr repeat(2,auto)}.daily-row.extended .report-excused{grid-column:3}.report-table-head,.report-table-row{grid-template-columns:1fr 58px 58px 58px;align-items:center;gap:10px;display:grid}.report-table-head.extended,.report-table-row.extended{grid-template-columns:minmax(150px,1fr) repeat(5,50px)}.report-table-head.extended.weighted,.report-table-row.extended.weighted{grid-template-columns:minmax(150px,1fr) repeat(6,54px);min-width:620px}.report-table-head{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;padding:0 4px 9px;font-size:9px;font-weight:800}.report-table-row{border-top:1px solid #edf0ec;min-height:60px;padding:9px 4px;font-size:12px}.report-table-row strong,.report-table-row small{display:block}.report-table-row small{color:var(--ink-soft);margin-top:3px;font-size:10px}.report-absent-number{color:#a24735;font-weight:800}.report-late-number{color:#80570d;font-weight:800}.report-excused-number{color:#4e5ea7;font-weight:800}.report-state{text-align:center;min-height:240px;color:var(--ink-soft);align-content:center;place-items:center;gap:10px;display:grid}.report-state>span{background:var(--paper);width:52px;height:52px;color:var(--green);border-radius:16px;place-items:center;font-size:22px;display:grid}.report-state p{margin:0;font-size:13px}.report-policy-note{color:#745716;background:#fff8e8;border-radius:11px;margin:12px 0 0;padding:10px 12px;font-size:11px;line-height:1.5}.report-history-note{color:var(--ink-soft);background:#f6faf8;border:1px solid #d9e4e0;border-radius:11px;margin:12px 0 0;padding:10px 12px;font-size:11px;line-height:1.5}.report-heading{gap:18px}.report-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.report-actions small{width:100%;color:var(--ink-soft);text-align:right;font-size:9px}.report-actions .secondary-button{padding:9px 11px}.report-controls-expanded{grid-template-columns:minmax(210px,.65fr) minmax(210px,.65fr) 1.25fr}.report-filter-grid{background:var(--paper);border-radius:17px;grid-template-columns:repeat(3,minmax(170px,1fr));gap:12px;margin-top:22px;padding:15px;display:grid}.report-filter-grid label,.report-filter-grid>div{color:var(--ink);align-content:end;gap:7px;font-size:11px;font-weight:800;display:grid}.report-primary-toolbar{background:#fafbf9;border:1px solid #e5e9e3;border-radius:17px;grid-template-columns:minmax(230px,1.2fr) minmax(210px,.9fr) minmax(190px,.8fr) auto auto;align-items:end;gap:10px;margin-top:22px;padding:13px;display:grid}.report-primary-toolbar label,.teacher-report-toolbar label{color:var(--ink);gap:7px;font-size:10px;font-weight:850;display:grid}.filter-toggle,.clear-workspace-button{white-space:nowrap;border-radius:11px;min-height:45px;padding:0 14px;font-size:11px;font-weight:850}.filter-toggle{border:1px solid var(--line);color:var(--ink);background:#fff;justify-content:center;align-items:center;gap:7px;display:flex}.filter-toggle.active{background:var(--green-pale);color:var(--green-dark);border-color:#9fcbb9}.filter-toggle span{background:var(--ink);color:#fff;border-radius:999px;place-items:center;min-width:20px;height:20px;font-size:9px;display:grid}.clear-workspace-button{color:var(--green-dark);background:0 0;border:0}.report-advanced-filters{background:var(--paper);border:1px solid #e5e9e3;margin-top:10px}.custom-date-range{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:8px;display:grid}.custom-date-range label{color:var(--ink);gap:7px;font-size:11px;font-weight:800;display:grid}.filter-actions{justify-content:flex-end;align-items:end;display:flex!important}.filter-actions .text-button{min-height:44px}.filter-error{color:#a12d2d;margin:10px 0 0;font-size:13px;font-weight:750}.filter-label{color:var(--ink);font-size:11px;font-weight:800}.report-kpis{grid-template-columns:repeat(6,1fr)}.report-kpis.compact{grid-template-columns:repeat(4,1fr)}.report-kpis div{min-height:108px;position:relative;overflow:hidden}.report-kpis div:after{content:"";background:var(--green-pale);border-radius:50%;width:46px;height:46px;position:absolute;bottom:-20px;right:-18px}.report-kpis .metric-rate{background:linear-gradient(145deg,#f3fbf7,#fff);border-color:#a9d6c4}.report-kpis small{color:var(--ink-soft);margin-top:7px;font-size:9px;display:block}.report-insights-grid{grid-template-columns:1.2fr .8fr;gap:16px;margin-top:18px;display:grid}.report-insight-card,.report-student-section{background:#fff;border:1px solid #e7ebe8;border-radius:18px;padding:18px}.report-student-section{margin-top:18px;overflow:hidden}.insight-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.insight-heading h3{margin:3px 0 0;font-size:16px}.insight-heading>span{color:var(--ink-soft);font-size:10px;font-weight:800}.insight-heading select{width:auto;min-width:120px;padding:8px 28px 8px 9px;font-size:10px}.trend-list{max-height:330px;margin-top:12px;overflow-y:auto}.trend-row,.subject-comparison-list>button{text-align:left;background:0 0;border:0;border-top:1px solid #edf0ec;grid-template-columns:86px minmax(100px,1fr) 42px;align-items:center;gap:12px;width:100%;padding:12px 3px;display:grid}.trend-row:hover,.subject-comparison-list>button:hover{background:#f9fbfa}.trend-row strong,.trend-row small,.subject-comparison-list strong,.subject-comparison-list small{display:block}.trend-row strong{font-size:11px}.trend-row small,.subject-comparison-list small{color:var(--ink-soft);margin-top:3px;font-size:9px}.trend-track{background:#edf0ee;border-radius:999px;height:8px;overflow:hidden}.trend-track i{border-radius:inherit;background:linear-gradient(90deg, #e0a124, var(--green));height:100%;display:block}.risk-list{max-height:330px;margin-top:12px;overflow-y:auto}.risk-list>button{text-align:left;background:0 0;border:0;border-top:1px solid #edf0ec;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;width:100%;padding:9px 2px;display:grid}.risk-list>button:hover{background:#fffaf7}.risk-list .avatar{width:34px;height:34px}.risk-list strong,.risk-list small{display:block}.risk-list strong{font-size:11px}.risk-list small{color:var(--ink-soft);margin-top:3px;font-size:9px}.risk-list b{color:#a24735;font-size:12px}.risk-empty{min-height:150px;color:var(--ink-soft);text-align:center;place-items:center;padding:18px;font-size:11px;display:grid}.teacher-report-head.dashboard-table,.teacher-report-row.dashboard-table{grid-template-columns:minmax(180px,1fr) repeat(6,62px) 62px;min-width:780px}.teacher-report-row.dashboard-table.at-risk{background:linear-gradient(90deg,#0000,#fff0ec9e)}.teacher-report-row.dashboard-table .history-button{padding:7px 8px}.low-attendance-summary{background:#fbfdfc;border-color:#d7e2dc;grid-column:1/-1;justify-content:space-between;align-items:center;gap:18px;display:flex}.low-attendance-summary.has-risk{background:#fff8f5;border-color:#efc8bd}.low-attendance-summary h3{margin:4px 0}.low-attendance-summary p,.low-attendance-panel .report-result-heading p{color:var(--ink-soft);margin:0;font-size:10px}.low-attendance-empty{min-height:150px;color:var(--ink-soft);text-align:left;justify-content:center;align-items:center;gap:13px;display:flex}.low-attendance-empty>span{background:var(--green-pale);width:40px;height:40px;color:var(--green-dark);border-radius:50%;place-items:center;font-size:18px;font-weight:900;display:grid}.low-attendance-empty strong,.low-attendance-empty small{display:block}.low-attendance-empty strong{color:var(--ink);font-size:12px}.low-attendance-empty small{margin-top:4px;font-size:10px}.report-result-card{background:#fff;border:1px solid #e5e9e3;border-radius:18px;margin-top:16px;padding:18px}.report-result-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.report-result-heading h3{letter-spacing:-.025em;margin:3px 0 0;font-size:17px}.report-result-heading>span{background:var(--paper);color:var(--ink-soft);white-space:nowrap;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:850}.report-record-table,.report-group-table{overflow-x:auto}.report-record-head,.report-record-row{grid-template-columns:120px minmax(180px,1.1fr) minmax(170px,1fr) minmax(160px,.9fr) 140px;align-items:center;gap:14px;min-width:930px;display:grid}.report-record-head,.report-group-head{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;padding:0 8px 9px;font-size:9px;font-weight:850}.report-record-row{border-top:1px solid #edf0ec;min-height:66px;padding:10px 8px}.report-status-action{justify-items:start;gap:5px;display:grid}.report-record-row strong,.report-record-row small,.report-group-row strong,.report-group-row small,.report-session-row strong,.report-session-row small{display:block}.report-record-row strong,.report-group-row strong,.report-session-row strong{font-size:11px}.report-record-row small,.report-group-row small,.report-session-row small{color:var(--ink-soft);margin-top:3px;font-size:9px}.report-group-head,.report-group-row{grid-template-columns:minmax(190px,1fr) repeat(6,70px);align-items:center;gap:12px;min-width:720px;display:grid}.report-group-row{border-top:1px solid #edf0ec;min-height:62px;padding:9px 8px;font-size:11px}.report-session-list{overflow-x:auto}.report-session-row{border-top:1px solid #edf0ec;grid-template-columns:62px minmax(180px,1fr) repeat(3,auto) 50px auto;align-items:center;gap:12px;min-width:820px;min-height:72px;padding:10px 4px;display:grid}.teacher-today-history{max-width:1280px;margin:18px auto 0;padding:24px}.today-stat-strip{grid-template-columns:repeat(5,1fr);gap:8px;margin-top:18px;display:grid}.today-stat-strip>div{background:#fafbf9;border:1px solid #e7ebe8;border-radius:13px;padding:13px 14px}.today-stat-strip strong,.today-stat-strip span{display:block}.today-stat-strip strong{letter-spacing:-.035em;font-size:20px}.today-stat-strip span{color:var(--ink-soft);text-transform:uppercase;margin-top:3px;font-size:9px;font-weight:800}.today-history-list{margin-top:10px}.today-empty{min-height:110px;color:var(--ink-soft);border-top:1px solid #edf0ec;justify-content:center;align-items:center;gap:13px;padding:20px;display:flex}.today-empty>span{background:var(--paper);width:42px;height:42px;color:var(--green);border-radius:13px;place-items:center;font-size:20px;display:grid}.today-empty strong,.today-empty small{display:block}.today-empty strong{color:var(--ink);font-size:12px}.today-empty small{margin-top:4px;font-size:10px}.teacher-report-workspace{margin-top:0}.teacher-reports-panel,.teacher-history-panel{display:none}.teacher-report-toolbar{background:#fafbf9;border:1px solid #e5e9e3;border-radius:17px;grid-template-columns:1fr 1.2fr .8fr auto;align-items:end;gap:10px;margin-top:22px;padding:13px;display:grid}.teacher-custom-dates{grid-template-columns:repeat(2,1fr);gap:9px;width:min(100%,460px);margin:10px 0 0 auto;display:grid}.teacher-custom-dates label{gap:6px;display:grid}.report-view-tabs{background:var(--paper);border-radius:13px;gap:6px;margin-top:12px;padding:5px;display:flex}.report-view-tabs button{min-height:40px;color:var(--ink-soft);background:0 0;border:0;border-radius:9px;flex:1;padding:8px 12px;font-size:11px;font-weight:850}.report-view-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 3px 11px #10231f14}.report-view-tabs .risk-tab{color:#8f4434}.report-view-tabs .risk-tab.active{color:#8f4434;background:#fff2ee}.teacher-report-summary-grid{grid-template-columns:.8fr 1.2fr;gap:14px;display:grid}.status-total-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.status-total-grid>div{background:var(--paper);border-radius:13px;padding:15px}.status-total-grid strong,.status-total-grid span{display:block}.status-total-grid strong{font-size:23px}.status-total-grid span{color:var(--ink-soft);text-transform:uppercase;margin-top:3px;font-size:9px;font-weight:800}.compact-session-list>button{text-align:left;background:0 0;border:0;border-top:1px solid #edf0ec;grid-template-columns:1fr auto;align-items:center;gap:12px;width:100%;padding:10px 3px;display:grid}.compact-session-list>button:hover{background:#f9fbfa}.compact-session-list strong,.compact-session-list small{display:block}.compact-session-list strong{font-size:11px}.compact-session-list small{color:var(--ink-soft);margin-top:3px;font-size:9px}.compact-session-list>button>span{color:var(--green-dark);font-size:12px;font-weight:850}.report-comparison-panel{max-width:1280px;margin:18px auto 0;padding:24px}.subject-comparison-list{margin-top:16px}.subject-comparison-list>button{grid-template-columns:minmax(190px,.8fr) minmax(120px,1.2fr) 48px}.subject-comparison-list b{text-align:right;font-size:12px}.student-history-modal{width:min(100%,700px)}.student-history-summary{grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0;display:grid}.student-history-summary>div{background:var(--paper);border:1px solid #e7ebe8;border-radius:13px;padding:12px 8px}.student-history-summary strong,.student-history-summary span{display:block}.student-history-summary strong{font-size:20px}.student-history-summary span{color:var(--ink-soft);text-transform:uppercase;margin-top:4px;font-size:9px;font-weight:800}.student-history-list{text-align:left;max-height:370px;overflow-y:auto}.student-history-list>div{border-top:1px solid #edf0ec;grid-template-columns:1fr auto auto 50px;align-items:center;gap:9px;min-height:58px;padding:9px 3px;display:grid}.student-history-list strong,.student-history-list small{display:block}.student-history-list strong{font-size:11px}.student-history-list small{color:var(--ink-soft);margin-top:3px;font-size:9px}.student-history-list time{color:var(--ink-soft);font-size:10px}.class-complete-card{background:linear-gradient(135deg,#effaf5,#fff 65%);border-color:#b9d9cb;grid-template-columns:52px minmax(190px,1fr) minmax(340px,auto) auto;align-items:center;gap:18px;max-width:1280px;margin:0 auto 18px;padding:20px 22px;display:grid}.class-complete-card.just-closed{box-shadow:0 15px 36px #1d8f681f}.complete-icon{background:var(--green);color:#fff;border-radius:15px;place-items:center;width:46px;height:46px;font-size:24px;font-weight:900;display:grid}.complete-heading h2{margin:4px 0 0;font-size:18px}.complete-heading p{color:var(--ink-soft);margin:4px 0 0;font-size:10px}.complete-stats{grid-template-columns:repeat(4,minmax(58px,1fr));display:grid}.complete-stats>div{text-align:center;border-left:1px solid var(--line);padding:4px 13px}.complete-stats strong,.complete-stats span{display:block}.complete-stats strong{font-size:21px}.complete-stats span{color:var(--ink-soft);text-transform:uppercase;margin-top:3px;font-size:9px;font-weight:800}.complete-actions{gap:7px;display:flex}.complete-actions button{white-space:nowrap}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#071411b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{text-align:center;background:#fff;border-radius:25px;width:min(100%,410px);padding:34px;position:relative;box-shadow:0 32px 90px #00000047}.modal-card h2{letter-spacing:-.04em;margin:16px 0 4px;font-size:27px}.modal-card>p{color:var(--ink-soft);margin:0 0 20px}.modal-card .qr-image{margin:0 auto 18px}.modal-instruction,.modal-card>small{display:block}.modal-instruction{font-size:14px}.modal-card>small{color:var(--ink-soft);margin-top:5px}.modal-close{background:var(--paper);border:0;border-radius:50%;width:34px;height:34px;font-size:21px;position:absolute;top:13px;right:14px}.edit-modal{text-align:left;gap:12px;width:min(100%,520px);display:grid}.edit-modal h2{margin-bottom:4px}.edit-modal>label{gap:6px;display:grid}.student-edit-modal{width:min(100%,860px);max-height:min(92vh,940px);overflow-y:auto}.student-subject-profile{text-align:left;background:#fafbf9;border:1px solid #e4e9e2;border-radius:14px;margin-top:16px;padding:14px}.student-subject-profile h3{margin:4px 0 0;font-size:16px}.student-subject-profile>div>p{color:var(--ink-soft);margin:5px 0 0;font-size:9px;line-height:1.5}.student-subject-profile-list{grid-template-columns:repeat(2,1fr);gap:7px;margin-top:12px;display:grid}.student-subject-profile-row{opacity:.72;background:#fff;border:1px solid #e7eae6;border-radius:11px;grid-template-columns:1fr minmax(135px,.75fr);align-items:center;gap:8px;padding:9px;display:grid}.student-subject-profile-row.assigned{opacity:1;border-color:#b9d9cb}.student-subject-profile-row>label{color:var(--ink);text-transform:none;letter-spacing:0;align-items:center;gap:8px;font-size:10px;display:flex}.student-subject-profile-row strong,.student-subject-profile-row small{display:block}.student-subject-profile-row strong{font-size:10px}.student-subject-profile-row small{color:var(--ink-soft);margin-top:2px;font-size:8px}.student-subject-profile-row select{min-width:0;padding:8px 28px 8px 9px;font-size:9px}.edit-student-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.edit-student-grid .wide-field{grid-column:1/-1}.modal-check{background:var(--paper);text-transform:none;letter-spacing:0;border-radius:12px;grid-template-columns:20px 1fr;align-items:center;padding:12px;gap:10px!important;display:flex!important}.modal-check input{width:18px;height:18px;padding:0}.modal-check span{gap:3px;display:grid}.modal-check strong{font-size:11px}.modal-check small{color:var(--ink-soft);font-size:9px;font-weight:500}.register-modal{text-align:left;width:min(100%,620px)}.register-modal>p{margin-bottom:22px}.register-toolbar{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:50px;padding:8px 0 12px;display:flex}.register-toolbar>div{align-items:center;gap:12px;display:flex}.register-toolbar strong{font-size:13px}.register-toolbar span{color:#a24735;font-size:12px;font-weight:800}.register-toolbar .late-summary{color:#80570d}.register-toolbar .excused-summary{color:#4e5ea7}.register-list{border-top:1px solid #edf0ec;max-height:340px;overflow:auto}.register-row{border-bottom:1px solid #edf0ec;grid-template-columns:42px 1fr auto 42px;align-items:center;gap:12px;padding:11px 2px;display:grid}.register-row.editable{grid-template-columns:42px minmax(150px,1fr) auto auto 42px}.register-row strong,.register-row small{display:block}.register-row strong{font-size:13px}.register-row small{color:var(--ink-soft);margin-top:3px;font-size:11px}.register-row time{color:var(--ink-soft);font-size:11px}.register-status{border-radius:999px;padding:6px 8px;font-size:10px;font-weight:850}.register-status.present{color:var(--green-dark);background:var(--green-pale)}.register-status.absent{color:#943c2c;background:#fff0ec}.register-status.late{color:#80570d;background:#fff1ce}.register-status.excused{color:#4e5ea7;background:#eef0ff}.excused-button{color:#4e5ea7;background:#fff;border:1px solid #cdd2f0;border-radius:9px;padding:7px 9px;font-size:10px;font-weight:850}.excused-button.active{background:#eef0ff}.register-loading{min-height:220px;color:var(--ink-soft);align-content:center;place-items:center;gap:12px;font-size:12px;display:grid}.register-empty{text-align:center;color:var(--ink-soft);padding:52px 16px;font-size:13px}.teacher-login-shell{background:radial-gradient(circle at 85% 15%, #f47f6521, transparent 28%), var(--paper)}.teacher-login-mark,.teacher-brand-mark{background:var(--green-dark)}.teacher-intro{padding-bottom:30px}.teacher-empty-access{text-align:center;max-width:760px;margin:20px auto;padding:54px 30px}.teacher-empty-access>span{color:#9d3d2b;background:#fff0ec;border-radius:18px;place-items:center;width:58px;height:58px;margin:0 auto;font-size:25px;font-weight:900;display:grid}.teacher-empty-access h2{margin:18px 0 7px}.teacher-empty-access p{color:var(--ink-soft);margin:0}.teacher-start-grid,.teacher-live-grid{grid-template-columns:.75fr 1.25fr;gap:18px;max-width:1280px;margin:0 auto;display:grid}.teacher-start-panel,.teacher-roster-panel,.teacher-qr-panel,.teacher-live-roster{min-height:500px;padding:24px}.teacher-start-panel{flex-direction:column;display:flex}.teacher-start-panel h2{letter-spacing:-.04em;margin:6px 0 8px;font-size:28px}.teacher-start-panel>p{color:var(--ink-soft);margin:0 0 34px;line-height:1.6}.teacher-start-panel label{margin-bottom:8px}.automatic-session-note{color:#24584a;background:#edf8f4;border:1px solid #cfe4dc;border-radius:12px;gap:4px;margin:16px 0 4px;padding:13px 15px;display:grid}.automatic-session-note strong{font-size:12px}.automatic-session-note span{font-size:10px;line-height:1.5}.teacher-subject-summary{background:var(--paper);border-radius:14px;margin:12px 0 18px;padding:17px}.teacher-subject-summary strong,.teacher-subject-summary span{display:block}.teacher-subject-summary strong{font-size:25px}.teacher-subject-summary span{color:var(--ink-soft);margin-top:3px;font-size:11px}.teacher-start-button{justify-content:center;align-items:center;gap:9px;min-height:48px;display:inline-flex}.button-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;flex:0 0 16px;width:16px;height:16px;animation:.7s linear infinite spin}.deletion-enabled{grid-template-columns:minmax(170px,1fr) repeat(3,auto) auto auto auto!important}.request-delete-button{color:#9a3828;background:#fff7f4;border:1px solid #e5b8ae;border-radius:9px;padding:8px 10px;font-size:9px;font-weight:850}.deletion-status{text-transform:capitalize;border-radius:999px;align-items:center;width:max-content;padding:6px 9px;font-size:9px;font-weight:850;display:inline-flex}.deletion-status.pending{color:#8a5a00;background:#fff0cf}.deletion-status.approved{color:#21663a;background:#e2f4e8}.deletion-status.rejected{color:#7d463d;background:#f2e9e7}.deletion-request-modal textarea{resize:vertical;width:100%}.approval-flow-note{color:#6f4d0f;background:#fff7e5;border-radius:12px;gap:4px;margin:14px 0;padding:13px;display:grid}.approval-flow-note strong{font-size:11px}.approval-flow-note span{font-size:10px;line-height:1.5}.deletion-approval-panel{margin-bottom:18px}.deletion-request-list{gap:10px;margin-top:14px;display:grid}.deletion-request-card{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:minmax(240px,1fr) minmax(180px,.8fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.deletion-request-card.pending{background:#fffdf8;border-color:#e6c57f}.deletion-request-main{align-items:center;gap:10px;display:flex}.deletion-request-main strong,.deletion-request-main small{display:block}.deletion-request-main small{color:var(--ink-soft);margin-top:4px;font-size:9px}.deletion-request-card p{color:var(--ink-soft);margin:0;font-size:10px;line-height:1.45}.deletion-review-actions{justify-content:flex-end;gap:7px;display:flex}.deletion-reviewed{color:var(--ink-soft);text-align:right;font-size:9px}.teacher-roster-list,.teacher-live-list{max-height:420px;margin-top:20px;overflow:auto}.live-roster-recovery{text-align:center;background:#fffdf8;border:1px solid #e6c57f;border-radius:14px;justify-items:center;gap:9px;margin-top:20px;padding:38px 24px;display:grid}.live-roster-recovery>span{color:#8a5a00;background:#fff0cf;border-radius:12px;place-items:center;width:40px;height:40px;font-weight:900;display:grid}.live-roster-recovery strong{font-size:14px}.live-roster-recovery p{max-width:420px;color:var(--ink-soft);margin:0 0 5px;font-size:11px;line-height:1.5}.teacher-roster-row{border-top:1px solid #edf0ec;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:11px 3px;display:grid}.teacher-roster-row strong,.teacher-roster-row small{display:block}.teacher-roster-row strong{font-size:13px}.teacher-roster-row small{color:var(--ink-soft);margin-top:3px;font-size:10px}.replace-phone-button,.show-phone-qr-button{border-radius:9px;padding:8px 10px;font-size:10px;font-weight:850}.replace-phone-button{color:#775b2d;background:#fffaf1;border:1px solid #e3d4bd}.show-phone-qr-button{background:var(--green-pale);color:var(--green-dark);border:0}.teacher-qr-panel .active-qr{margin-top:22px}.teacher-live-row{border-top:1px solid #edf0ec;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;min-height:64px;padding:10px 3px;display:grid}.teacher-live-row.present{background:linear-gradient(90deg,#0000,#e6f4ed80)}.teacher-live-row.late{background:linear-gradient(90deg,#0000,#fff1ce99)}.teacher-live-row.excused{background:linear-gradient(90deg,#0000,#eef0ffb3)}.teacher-live-row.just-recorded{box-shadow:inset 4px 0 0 var(--green);background:#dff5e9;border-radius:11px;animation:2.4s ease-out live-register-highlight}.teacher-live-row strong,.teacher-live-row small{display:block}.teacher-live-row strong{font-size:13px}.teacher-live-row small{color:var(--ink-soft);margin-top:3px;font-size:10px}.live-register-refresh-note{color:var(--ink-soft);margin:4px 0 0;font-size:10px}.just-recorded-label{background:var(--green);color:#fff;border-radius:999px;margin-top:4px;padding:3px 7px;font-size:9px;font-style:normal;font-weight:850;display:inline-block}@keyframes live-register-highlight{0%{background:#bceacf}to{background:#dff5e9}}.manual-present-button{background:var(--ink);color:#fff;border:0;border-radius:9px;padding:8px 10px;font-size:10px;font-weight:850}.live-status-actions{align-items:center;gap:6px;display:flex}.late-button{color:#80570d;background:#fff;border:1px solid #ead8ad;border-radius:9px;padding:7px 9px;font-size:10px;font-weight:850}.late-button.active{background:#fff1ce}.live-attendance-buttons{align-items:center;gap:6px;display:flex}.one-tap-present,.one-tap-late{border-radius:10px;min-width:68px;min-height:36px;padding:7px 10px;font-size:10px;font-weight:900;transition:transform .12s,background .12s,color .12s}.one-tap-present{color:var(--green-dark);background:#fff;border:1px solid #b9d9cb}.one-tap-present.active{border-color:var(--green);background:var(--green);color:#fff}.one-tap-late{color:#80570d;background:#fff;border:1px solid #ead8ad}.one-tap-late.active{color:#6c4600;background:#fff1ce;border-color:#d9ad42}.one-tap-present:not(:disabled):active,.one-tap-late:not(:disabled):active{transform:scale(.97)}.undo-present-button{color:#9a3f2e;background:#fff7f4;border:1px solid #f0c6bd;border-radius:9px;padding:7px 9px;font-size:10px;font-weight:850}.teacher-history-panel{max-width:1280px;margin:18px auto 0;padding:24px}.teacher-directory-panel{max-width:1280px;margin:0 auto;padding:24px}.teacher-directory-controls{background:var(--paper);border-radius:16px;grid-template-columns:minmax(240px,.7fr) 1.3fr;align-items:end;gap:20px;margin-top:18px;padding:14px;display:grid}.teacher-directory-controls>label{gap:8px;display:grid}.teacher-directory-controls>p{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.55}.teacher-directory-list{max-height:none}.teacher-history-list{margin-top:18px}.teacher-history-row{border-top:1px solid #edf0ec;grid-template-columns:1fr auto auto;align-items:center;gap:12px;min-height:64px;padding:10px 4px;display:grid}.teacher-history-row.extended{grid-template-columns:minmax(180px,1fr) repeat(5,auto)}.teacher-history-row strong,.teacher-history-row small{display:block}.teacher-history-row strong{font-size:13px}.teacher-history-row small{color:var(--ink-soft);margin-top:3px;font-size:10px}.closed-edit-notice{background:#fffaf4;border:1px solid #eadfd2;border-radius:12px;gap:3px;margin-top:16px;padding:11px 13px;display:grid}.closed-edit-notice.enabled{background:var(--green-pale);border-color:#b9d9cb}.closed-edit-notice strong{font-size:11px}.closed-edit-notice span{color:var(--ink-soft);font-size:10px;line-height:1.45}.teacher-reports-panel{margin-bottom:0}.teacher-report-table{margin-top:22px}.teacher-report-head,.teacher-report-row{grid-template-columns:minmax(180px,1fr) repeat(4,72px);align-items:center;gap:12px;display:grid}.teacher-report-head.weighted,.teacher-report-row.weighted{grid-template-columns:minmax(180px,1fr) repeat(6,64px);min-width:680px}.teacher-report-head{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;padding:0 8px 9px;font-size:9px;font-weight:850}.teacher-report-row{border-top:1px solid #edf0ec;min-height:62px;padding:10px 8px;font-size:12px}.teacher-report-row strong,.teacher-report-row small{display:block}.teacher-report-row small{color:var(--ink-soft);margin-top:3px;font-size:10px}.teacher-register-modal{width:min(100%,720px)}.teacher-closed-row{grid-template-columns:42px minmax(170px,1fr) 120px 42px}.closed-status-select{border-radius:999px;padding:8px 30px 8px 10px;font-size:10px;font-weight:850}.closed-status-select.present{background-color:var(--green-pale);color:var(--green-dark);border-color:#b9d9cb}.closed-status-select.late{color:#80570d;background-color:#fff1ce;border-color:#ead8ad}.closed-status-select.absent{color:#943c2c;background-color:#fff0ec;border-color:#f0c6bd}.timetable-maker{max-width:1280px;margin:0 auto}.timetable-command-bar{grid-template-columns:minmax(260px,1fr) auto auto;align-items:center;gap:26px;padding:20px 22px;display:grid}.timetable-term-select{grid-template-columns:minmax(210px,360px);gap:7px;display:grid}.timetable-term-select select{padding-block:10px;font-weight:800}.timetable-term-select small,.timetable-state small{color:var(--ink-soft);font-size:10px}.timetable-state{justify-items:start;gap:5px;min-width:150px;display:grid}.timetable-state strong{font-size:13px}.timetable-status{text-transform:uppercase;letter-spacing:.09em;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900}.timetable-status.draft{color:#80570d;background:#fff1ce}.timetable-status.published{background:var(--green-pale);color:var(--green-dark)}.timetable-status.archived{color:var(--ink-soft);background:#ecefed}.timetable-primary-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.timetable-primary-actions .primary-button{padding:10px 14px}.timetable-primary-actions button:disabled{cursor:not-allowed;opacity:.45}.timetable-cohort-warning{color:#80570d;background:#fff9e9;border:1px solid #ead49c;border-radius:13px;justify-content:space-between;align-items:center;gap:18px;margin:12px 0;padding:13px 15px;display:flex}.timetable-cohort-warning strong,.timetable-cohort-warning span{display:block}.timetable-cohort-warning strong{font-size:11px}.timetable-cohort-warning span{margin-top:3px;font-size:9px;line-height:1.45}.timetable-cohort-warning .secondary-button{flex:none}.timetable-tabs{background:#e8e8e1;border-radius:14px;gap:7px;margin:12px 0 16px;padding:5px;display:flex;overflow-x:auto}.timetable-tabs button{min-height:44px;color:var(--ink-soft);background:0 0;border:0;border-radius:10px;flex:1 0 150px;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-size:11px;font-weight:850;display:flex}.timetable-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 5px 16px #10231f14}.timetable-tabs button span{font-size:16px}.timetable-overview-panel{padding:22px;overflow:hidden}.timetable-filter-row{grid-template-columns:minmax(260px,1fr) 210px 190px;align-items:end;gap:12px;display:grid}.timetable-filter-row h2{letter-spacing:-.035em;margin:5px 0 0;font-size:24px}.timetable-filter-row label{gap:6px;display:grid}.timetable-filter-row select{padding-block:10px;font-size:11px}.timetable-week-grid{grid-template-columns:repeat(5,minmax(190px,1fr));gap:9px;margin-top:20px;padding-bottom:6px;display:grid;overflow-x:auto}.timetable-day-column{background:#f8f8f5;border:1px solid #e3e7e1;border-radius:15px;min-width:190px;overflow:hidden}.timetable-day-column>header{background:#fff;border-bottom:1px solid #e3e7e1;justify-content:space-between;align-items:center;padding:12px;display:flex}.timetable-day-column>header strong{font-size:12px}.timetable-day-column>header span{color:var(--ink-soft);font-size:9px}.timetable-day-column>div{align-content:start;gap:7px;min-height:340px;padding:8px;display:grid}.timetable-day-column>div>p{color:#87928d;text-align:center;margin:28px 0;font-size:10px}.timetable-class-card{border:1px solid #dfe7e1;border-left:3px solid var(--green);color:var(--ink);text-align:left;background:#fff;border-radius:11px;gap:4px;padding:11px;display:grid;position:relative}.timetable-class-card:hover{border-color:#9bc5b4;box-shadow:0 6px 16px #10231f12}.timetable-class-card.issue{border-color:#edc3ba;border-left-color:var(--coral);background:#fffaf8}.timetable-class-card time{color:var(--green-dark);letter-spacing:.02em;font-size:8px;font-weight:900}.timetable-class-card strong{font-size:11px;line-height:1.25}.timetable-class-card span,.timetable-class-card small,.timetable-class-card em{color:var(--ink-soft);font-size:8px;line-height:1.35}.timetable-class-card em{font-style:normal}.timetable-class-card b{color:#943c2c;background:#fff0ec;border-radius:999px;justify-self:start;margin-top:3px;padding:4px 6px;font-size:8px}.timetable-bulk-teachers{margin-top:14px;padding:20px 22px}.timetable-bulk-teachers>header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.timetable-bulk-teachers h2{margin:5px 0 4px;font-size:21px}.timetable-bulk-teachers header p{color:var(--ink-soft);margin:0;font-size:10px;line-height:1.5}.timetable-bulk-teachers>header>strong{color:#943c2c;background:#fff0ec;border-radius:999px;flex:none;padding:6px 9px;font-size:9px}.timetable-bulk-teachers>div{gap:7px;margin-top:14px;display:grid}.timetable-bulk-teachers article{background:#fafbf9;border:1px solid #e4e8e3;border-radius:12px;grid-template-columns:minmax(180px,1fr) minmax(190px,260px) auto;align-items:center;gap:9px;padding:10px;display:grid}.timetable-bulk-teachers article>div strong,.timetable-bulk-teachers article>div span{display:block}.timetable-bulk-teachers article>div strong{font-size:11px}.timetable-bulk-teachers article>div span{color:var(--ink-soft);margin-top:3px;font-size:8px}.timetable-bulk-teachers select{min-width:0;padding-block:9px;font-size:10px}.timetable-bulk-teachers .primary-button{min-width:110px;padding:10px 12px}.timetable-validation{margin-top:14px;padding:22px}.timetable-validation.has-blockers{border-color:#efc7be}.timetable-validation.ready{border-color:#b9d9cb}.timetable-validation-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.timetable-validation-heading h2{margin:5px 0;font-size:21px}.timetable-validation-heading p{color:var(--ink-soft);margin:0;font-size:11px}.timetable-validation-heading>span{color:#943c2c;background:#fff0ec;border-radius:13px;place-items:center;width:40px;height:40px;font-size:20px;font-weight:900;display:grid}.timetable-validation.ready .timetable-validation-heading>span{background:var(--green-pale);color:var(--green-dark)}.timetable-issue-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:520px;margin-top:16px;padding-right:4px;display:grid;overflow-y:auto}.timetable-issue-list>button{color:var(--ink);text-align:left;background:#fafbf9;border:1px solid #e4e8e3;border-radius:12px;grid-template-columns:7px 1fr;gap:10px;padding:12px;display:grid}.timetable-issue-list>button:hover{background:#fff;border-color:#9bc5b4;box-shadow:0 5px 14px #10231f0f}.timetable-issue-list i{background:#ddae42;border-radius:999px;width:7px;height:100%;min-height:36px}.timetable-issue-list i.blocking{background:var(--coral)}.timetable-issue-list strong,.timetable-issue-list span,.timetable-issue-list small,.timetable-issue-list em{display:block}.timetable-issue-list strong{text-transform:capitalize;font-size:9px}.timetable-issue-list span{margin-top:3px;font-size:10px;line-height:1.4}.timetable-issue-list small{color:var(--ink-soft);margin-top:4px;font-size:8px}.timetable-issue-list em{color:var(--green-dark);margin-top:7px;font-size:8px;font-style:normal;font-weight:900}.timetable-no-issues{background:var(--green-pale);color:var(--green-dark);border-radius:12px;grid-column:1/-1;align-items:center;gap:9px;padding:12px;display:flex}.timetable-no-issues p{margin:0;font-size:11px;font-weight:750}.timetable-editor-grid,.timetable-upload-grid,.timetable-settings-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);align-items:start;gap:14px;display:grid}.timetable-entry-form,.timetable-editor-help,.timetable-upload-card,.timetable-upload-rules,.timetable-term-settings,.timetable-room-settings{padding:22px}.timetable-entry-form .panel-heading p{max-width:680px;color:var(--ink-soft);margin:6px 0 0;font-size:11px}.timetable-apply-teacher{background:var(--green-pale);cursor:pointer;border:1px solid #b9d9cb;border-radius:12px;align-items:flex-start;gap:10px;margin-top:12px;padding:11px 12px;display:flex!important}.timetable-apply-teacher input{width:16px;height:16px;accent-color:var(--green);flex:none;margin-top:1px}.timetable-apply-teacher span,.timetable-apply-teacher strong,.timetable-apply-teacher small{display:block}.timetable-apply-teacher strong{color:var(--green-dark);font-size:10px}.timetable-apply-teacher small{color:#4d695f;margin-top:3px;font-size:8px;line-height:1.45}.timetable-editor-issues{background:#fffaf8;border:1px solid #efc7be;border-radius:14px;gap:8px;margin:16px 0;padding:13px;display:grid}.timetable-editor-issues>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.timetable-editor-issues>header strong{color:#8e3426;margin-top:3px;font-size:12px;display:block}.timetable-editor-issues>header button{color:var(--green-dark);background:0 0;border:0;font-size:9px;font-weight:900}.timetable-editor-issues>article{background:#fff;border:1px solid #efd8d2;border-radius:11px;gap:6px;padding:11px 12px;display:grid}.timetable-editor-issues>article.focused{border-color:var(--coral);box-shadow:0 0 0 3px #d65f481a}.timetable-editor-issues>article>div:first-child{align-items:center;gap:7px;display:flex}.timetable-editor-issues article b{color:#943c2c;text-transform:uppercase;background:#fff0ec;border-radius:999px;padding:3px 6px;font-size:8px}.timetable-editor-issues article strong{text-transform:capitalize;font-size:10px}.timetable-editor-issues article p,.timetable-editor-issues article span,.timetable-editor-issues article small{margin:0;font-size:9px;line-height:1.45}.timetable-editor-issues article p{color:var(--ink)}.timetable-editor-issues article span{color:var(--green-dark);background:#f3f7f4;border-radius:9px;padding:8px 9px;font-weight:800}.timetable-editor-issues article small{color:var(--ink-soft)}.timetable-related-classes{gap:5px;display:grid}.timetable-related-classes button{border:1px solid var(--line);color:var(--ink-soft);text-align:left;background:#fff;border-radius:9px;padding:7px 9px;font-size:8px;font-weight:800}.timetable-related-classes button.active{background:var(--green-pale);color:var(--green-dark);border-color:#9bc5b4}.timetable-readonly-note{color:#80570d;background:#fff1ce;border-radius:11px;margin:16px 0;padding:11px 12px;font-size:10px;font-weight:750}.timetable-entry-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:18px;display:grid}.timetable-entry-fields label,.timetable-time-row label,.timetable-entry-form>label,.timetable-term-settings form label{gap:6px;display:grid}.timetable-entry-fields select,.timetable-time-row input{min-width:0;font-size:11px}.timetable-day-picker{border:1px solid var(--line);background:#f8faf9;border-radius:12px;gap:8px;margin-top:14px;padding:13px;display:grid}.timetable-day-picker>span{color:var(--ink-soft);font-size:13px;font-weight:850}.timetable-day-picker>div{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;display:grid}.timetable-day-picker button{border:1px solid var(--line);min-height:42px;color:var(--ink-soft);background:#fff;border-radius:10px;padding:8px 10px;font-size:13px;font-weight:850}.timetable-day-picker button.selected{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 5px 14px #1d8f682e}.timetable-day-picker button:focus-visible{outline-offset:2px;outline:3px solid #1d8f6833}.timetable-day-picker button:disabled{cursor:not-allowed;opacity:.5}.timetable-day-picker small{color:var(--ink-soft);font-size:12px;line-height:1.45}.session-picker{background:var(--paper);border-radius:12px;align-items:center;gap:12px;margin-top:14px;padding:11px 12px;display:flex}.session-picker>span{color:var(--ink-soft);flex:1;font-size:10px;font-weight:800}.session-picker>div{flex-wrap:wrap;gap:5px;display:flex}.session-picker button{border:1px solid var(--line);width:34px;height:32px;color:var(--ink-soft);background:#fff;border-radius:9px;font-size:10px;font-weight:850}.session-picker button.active{border-color:var(--green);background:var(--green);color:#fff}.session-picker button:disabled{opacity:.35}.timetable-time-row{grid-template-columns:1fr 1fr;gap:9px;margin-top:12px;display:grid}.audience-builder{border:1px solid #e2e7e1;border-radius:14px;grid-template-columns:minmax(190px,.35fr) 1fr;gap:14px;margin:14px 0;padding:14px;display:grid}.audience-builder label{gap:6px;display:grid}.audience-builder small{color:var(--ink-soft);margin-top:7px;font-size:9px;line-height:1.4;display:block}.audience-option-list{flex-wrap:wrap;align-content:flex-start;gap:6px;max-height:180px;display:flex;overflow:auto}.audience-option-list button{border:1px solid var(--line);color:var(--ink-soft);background:#fff;border-radius:999px;padding:8px 10px;font-size:9px;font-weight:800}.audience-option-list button.selected{background:var(--green-pale);color:var(--green-dark);border-color:#91c4af}.audience-option-list p{color:var(--ink-soft);margin:8px;font-size:10px}.timetable-entry-form textarea{border:1px solid var(--line);resize:vertical;width:100%;color:var(--ink);font:inherit;border-radius:12px;outline:none;padding:12px 13px}.timetable-entry-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #1d8f681f}.timetable-entry-actions{gap:8px;margin-top:16px;display:flex}.timetable-entry-actions .primary-button{padding:11px 15px}.timetable-editor-help{background:var(--ink);color:#fff;gap:12px;display:grid}.timetable-editor-help h2{margin:0 0 4px;font-size:22px}.timetable-editor-help>div{border-top:1px solid #ffffff21;padding-top:12px}.timetable-editor-help strong{font-size:11px}.timetable-editor-help p{color:#b9c7c2;margin:5px 0 0;font-size:10px;line-height:1.55}.timetable-upload-card h2,.timetable-upload-rules h2,.timetable-term-settings h2,.timetable-room-settings h2{margin:6px 0 8px;font-size:23px}.timetable-upload-card>p,.timetable-upload-rules>p{color:var(--ink-soft);font-size:11px;line-height:1.55}.timetable-upload-actions{flex-wrap:wrap;gap:8px;margin:18px 0;display:flex}.timetable-upload-actions .upload-button.disabled{cursor:not-allowed;opacity:.45}.timetable-upload-message{border:1px solid;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:12px;margin-top:14px;padding:12px 13px;font-size:10px;line-height:1.45;display:flex}.timetable-upload-message>div{align-content:start}.timetable-upload-message:not(:has(>div)){align-content:start}.timetable-upload-message strong,.timetable-upload-message span{display:block}.timetable-upload-message span{margin-top:3px}.timetable-upload-message.error{color:#8e3426;background:#fff8f6;border-color:#efc7be}.timetable-upload-message.warning{color:#80570d;background:#fff9e9;border-color:#ead49c}.timetable-upload-message button{width:26px;height:26px;color:inherit;background:#8e342614;border:0;border-radius:8px;flex:0 0 26px;font-size:16px}.timetable-import-preview{background:#fbfffd;border:1px solid #b9d9cb;border-radius:14px;gap:12px;padding:15px;display:grid}.timetable-import-preview>div:first-child{justify-content:space-between;gap:12px;display:flex}.timetable-import-preview strong,.timetable-import-preview span{font-size:11px}.timetable-import-check{border-radius:11px;gap:3px;padding:11px 12px;display:grid}.timetable-import-check.ready{background:var(--green-pale);color:var(--green-dark)}.timetable-import-check.has-errors{color:#943c2c;background:#fff0ec}.timetable-import-check span{font-size:9px;line-height:1.45}.timetable-import-problems{gap:6px;max-height:290px;padding-right:4px;display:grid;overflow-y:auto}.timetable-import-problems>div{color:#8e3426;background:#fff;border:1px solid #efc7be;border-radius:10px;grid-template-columns:54px 1fr;gap:8px;padding:9px 10px;display:grid}.timetable-import-problems strong{font-size:9px}.timetable-import-problems span,.timetable-import-problems small{font-size:9px;line-height:1.4}.timetable-import-warnings{color:#80570d;background:#fff9e9;border-radius:11px;gap:5px;padding:10px 12px;display:grid}.timetable-import-warnings p{margin:0;font-size:9px;line-height:1.45}.timetable-import-sample{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.timetable-import-sample>div{background:#fff;border-radius:10px;gap:3px;padding:9px;display:grid}.timetable-import-sample span,.timetable-import-sample small{color:var(--ink-soft);font-size:8px}.timetable-import-preview .primary-button{justify-self:start;padding:10px 14px}.import-empty{border:1px dashed var(--line);color:var(--ink-soft);text-align:center;border-radius:13px;padding:26px 14px;font-size:10px}.timetable-upload-rules ol{color:var(--ink-soft);gap:10px;padding-left:20px;font-size:10px;line-height:1.45;display:grid}.timetable-settings-grid{grid-template-columns:1.05fr .95fr}.timetable-term-settings>form:first-of-type{background:var(--paper);border-radius:14px;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;padding:13px;display:grid}.timetable-term-settings>form:first-of-type .primary-button{grid-column:1/-1;min-height:42px}.term-version-list{gap:6px;margin-top:14px;display:grid}.term-version-list>button{color:var(--ink);text-align:left;background:#fff;border:1px solid #e4e8e3;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.term-version-list>button.selected{box-shadow:inset 3px 0 var(--green);border-color:#8ebda9}.term-version-list strong,.term-version-list small{display:block}.term-version-list strong{font-size:11px}.term-version-list small{color:var(--ink-soft);margin-top:3px;font-size:8px}.term-version-list i{color:#80570d;text-transform:uppercase;background:#fff1ce;border-radius:999px;padding:5px 7px;font-size:8px;font-style:normal;font-weight:850}.term-version-list i.published{background:var(--green-pale);color:var(--green-dark)}.current-term-editor{border-top:1px solid #e8ece7;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px;padding-top:14px;display:grid}.current-term-editor h3{grid-column:1/-1;margin:0 0 3px;font-size:13px}.current-term-editor button{min-height:38px}.add-room-form{background:var(--paper);border-radius:14px;grid-template-columns:1fr 100px auto;gap:7px;margin-top:16px;padding:12px;display:grid}.add-room-form .primary-button{padding:0 13px}.room-settings-list{gap:6px;margin-top:14px;display:grid}.room-settings-list form{border-top:1px solid #edf0ec;grid-template-columns:1fr 82px 55px auto auto;align-items:center;gap:6px;padding:7px 0;display:grid}.room-settings-list input{min-width:0;padding:9px;font-size:10px}.room-settings-list span{font-size:8px;font-weight:850}.room-settings-list span.active{color:var(--green-dark)}.room-settings-list span.inactive{color:#9a3f2e}.room-settings-list button{background:var(--green-pale);color:var(--green-dark);border:0;border-radius:8px;padding:8px;font-size:8px;font-weight:850}.room-settings-list button:last-child{color:var(--ink-soft);background:#f1f2ef}.timetable-empty{text-align:center;max-width:1280px;margin:0 auto;padding:54px 24px}.timetable-empty>span{background:var(--green-pale);width:52px;height:52px;color:var(--green-dark);border-radius:16px;place-items:center;margin:0 auto 13px;font-size:22px;display:grid}.timetable-empty h2{margin:0 0 7px}.timetable-empty p{color:var(--ink-soft);margin:0 auto 16px;font-size:11px}.teacher-today-schedule,.teacher-weekly-timetable{max-width:1280px;margin:0 auto 18px;padding:22px 24px}.teacher-today-schedule .panel-heading p{color:var(--ink-soft);margin:5px 0 0;font-size:10px}.teacher-schedule-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:15px;display:grid}.teacher-schedule-card{background:#fafbf9;border:1px solid #e3e8e2;border-radius:13px;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;display:grid}.teacher-schedule-card time{color:var(--green-dark);font-size:11px;font-weight:900}.teacher-schedule-card time span,.teacher-schedule-card strong,.teacher-schedule-card small{display:block}.teacher-schedule-card time span{color:var(--ink-soft);margin-top:2px;font-size:8px}.teacher-schedule-card strong{font-size:12px}.teacher-schedule-card small{color:var(--ink-soft);margin-top:3px;font-size:8px;line-height:1.35}.schedule-room{background:var(--green-pale);color:var(--green-dark);border-radius:999px;padding:6px 8px;font-size:8px;font-weight:850}.schedule-room.missing{color:#80570d;background:#fff1ce}.timetable-empty.compact{border:1px dashed var(--line);text-align:left;border-radius:13px;align-items:center;gap:12px;margin-top:14px;padding:17px;display:flex}.timetable-empty.compact>span{border-radius:12px;flex:0 0 38px;width:38px;height:38px;margin:0}.timetable-empty.compact strong,.timetable-empty.compact small{display:block}.timetable-empty.compact strong{font-size:11px}.timetable-empty.compact small{color:var(--ink-soft);margin-top:3px;font-size:9px}.teacher-timetable-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.teacher-timetable-heading p{color:var(--ink-soft);margin:0;font-size:11px}.teacher-timetable-heading label{gap:6px;min-width:260px;display:grid}.teacher-timetable-term{border:1px solid var(--line);background:#fafbf9;border-radius:12px;gap:3px;padding:11px 13px;display:grid}.teacher-timetable-term strong{font-size:11px}.teacher-timetable-term span{color:var(--ink-soft);font-size:8px}.teacher-week-grid{grid-template-columns:repeat(5,minmax(190px,1fr));gap:8px;margin-top:18px;padding-bottom:5px;display:grid;overflow-x:auto}.teacher-week-day{background:#f8f8f5;border:1px solid #e3e7e1;border-radius:14px;min-width:190px;overflow:hidden}.teacher-week-day>header{background:#fff;border-bottom:1px solid #e3e7e1;justify-content:space-between;padding:11px;display:flex}.teacher-week-day>header strong{font-size:11px}.teacher-week-day>header span{color:var(--ink-soft);font-size:8px}.teacher-week-day>div{align-content:start;gap:7px;min-height:250px;padding:8px;display:grid}.teacher-week-day article{border-left:3px solid var(--green);background:#fff;border-radius:10px;grid-template-columns:57px 1fr;gap:8px;padding:10px;display:grid}.teacher-week-day time{color:var(--green-dark);font-size:8px;font-weight:900}.teacher-week-day time span,.teacher-week-day article strong,.teacher-week-day article small,.teacher-week-day article div>span{display:block}.teacher-week-day time span{color:var(--ink-soft);margin-top:3px}.teacher-week-day article strong{font-size:10px}.teacher-week-day article small,.teacher-week-day article div>span{color:var(--ink-soft);margin-top:3px;font-size:7px;line-height:1.35}.teacher-week-day>div>p{color:#87928d;text-align:center;margin:24px 0;font-size:9px}@media (width<=900px){.admin-shell{padding:0 18px 40px}.admin-intro{flex-direction:column;align-items:flex-start}.summary-row{width:100%;min-width:0}.dashboard-grid,.admin-active-session-list{grid-template-columns:1fr}.analytics-heading{flex-direction:column;align-items:flex-start}.dashboard-period-control{width:100%;min-width:0}.dashboard-kpis{grid-template-columns:repeat(3,1fr)}.dashboard-analysis-grid,.data-readiness-card{grid-template-columns:1fr}.readiness-grid{grid-template-columns:repeat(2,1fr)}.subjects-layout,.report-grid,.access-controls,.teacher-start-grid,.teacher-live-grid{grid-template-columns:1fr}.subject-form.enhanced{grid-template-columns:1fr 1fr}.subject-form.enhanced .primary-button{grid-column:1/-1}.structure-grid,.student-entry-layout{grid-template-columns:1fr}.rule-builder>form{grid-template-columns:repeat(2,1fr)}.rule-builder>form .primary-button{min-height:44px}.student-intake-grid{grid-template-columns:repeat(2,1fr)}.teacher-admin-list{grid-template-columns:1fr}.teacher-form{grid-template-columns:1fr 1fr}.teacher-form .primary-button{min-height:46px}.student-form{grid-template-columns:1fr}.student-form .primary-button{padding:13px}.report-controls{grid-template-columns:1fr}.report-controls-expanded,.report-filter-grid,.report-primary-toolbar,.teacher-report-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.report-kpis{grid-template-columns:repeat(3,1fr)}.report-kpis.compact{grid-template-columns:repeat(2,1fr)}.report-insights-grid,.teacher-report-summary-grid{grid-template-columns:1fr}.class-complete-card{grid-template-columns:48px 1fr}.complete-stats,.complete-actions{grid-column:1/-1}.teacher-directory-controls,.deletion-request-card{grid-template-columns:1fr}.deletion-review-actions{justify-content:flex-start}.deletion-reviewed{text-align:left}.subject-section-list.enhanced{grid-template-columns:1fr}.subject-roster-row.enhanced{grid-template-columns:24px 42px minmax(160px,1fr) 82px minmax(150px,.7fr) 100px}.student-subject-profile-list{grid-template-columns:1fr}.timetable-command-bar{grid-template-columns:1fr auto}.timetable-primary-actions{grid-column:1/-1;justify-content:flex-start}.timetable-filter-row{grid-template-columns:1fr 1fr}.timetable-filter-row>div{grid-column:1/-1}.timetable-editor-grid,.timetable-upload-grid,.timetable-settings-grid{grid-template-columns:1fr}.timetable-entry-fields{grid-template-columns:repeat(2,1fr)}.teacher-schedule-list{grid-template-columns:1fr}}@media (width<=620px){.generic-import-card{grid-template-columns:1fr;padding:15px}.generic-import-actions{justify-content:stretch}.generic-import-actions>*{flex:150px}.generic-import-preview>div:first-child{display:grid}.teacher-live-row{grid-template-columns:38px 1fr}.live-attendance-buttons{grid-column:1/-1;grid-template-columns:1fr 1fr auto;display:grid}.one-tap-present,.one-tap-late{min-height:42px}.low-attendance-summary{display:grid}.login-card{padding:30px 22px}.admin-header{height:74px}.admin-header .brand-lockup small{display:none}.admin-intro{padding-top:34px}.portal-tabs{border-radius:14px;margin-bottom:14px;top:6px}.portal-tab{flex-basis:132px;min-height:48px;padding:8px 10px}.teacher-tabs .portal-tab{flex-basis:150px}.portal-tab-icon{font-size:15px}.summary-row{flex-direction:column}.summary-row div+div{border-left:0;border-top:1px solid var(--line)}.student-table-head{display:none}.student-table-row,.student-table-row.expanded{grid-template-columns:1fr auto;gap:10px;padding:16px 4px}.student-table-row .email-edit-form,.student-table-row.expanded .placement-cell,.student-table-row.expanded .student-email-cell{grid-column:1/-1}.student-table-row .row-actions{grid-column:1/-1;justify-content:flex-start}.session-panel,.attendees-panel,.students-panel,.subjects-panel,.history-panel,.reports-panel,.admin-analytics-panel,.admin-live-overview{padding:18px}.active-session-metrics,.dashboard-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-kpis .dashboard-rate-kpi{grid-area:1/1/auto/-1}.dashboard-session-list{overflow-x:auto}.dashboard-session-list>button{min-width:690px}.followup-heading{flex-direction:column;align-items:flex-start}.followup-controls{width:100%}.followup-controls label{flex:1}.dashboard-custom-dates{grid-template-columns:1fr}.organisation-panel{padding:18px}.wifi-settings-grid,.wifi-manual-form{grid-template-columns:1fr}.wifi-capture-actions{flex-direction:column;align-items:stretch}.live-wifi-button{width:100%}.access-panel,.teacher-start-panel,.teacher-roster-panel,.teacher-qr-panel,.teacher-live-roster,.teacher-history-panel,.teacher-directory-panel{padding:18px}.subject-form,.subject-form.enhanced,.subject-catalogue,.rule-list,.rule-builder>form{grid-template-columns:1fr}.subject-form .primary-button{padding:13px}.history-row,.history-row.extended{grid-template-columns:54px 1fr;gap:12px;padding:14px 2px}.history-count{padding-left:66px}.history-button{justify-self:end}.report-metrics,.report-metrics.five,.report-metrics.six,.report-metrics.seven{grid-template-columns:repeat(2,1fr)}.report-kpis,.report-controls-expanded,.report-filter-grid,.report-primary-toolbar,.teacher-report-toolbar{grid-template-columns:1fr}.report-kpis.compact,.today-stat-strip{grid-template-columns:repeat(2,1fr)}.today-stat-strip>div:first-child{grid-column:1/-1}.teacher-today-history{padding:18px}.report-view-tabs{overflow-x:auto}.report-view-tabs button{flex:0 0 120px}.report-heading{flex-direction:column;align-items:flex-start}.report-actions{justify-content:flex-start}.student-history-summary{grid-template-columns:repeat(2,1fr)}.class-complete-card{grid-template-columns:42px 1fr;padding:18px}.complete-stats{grid-template-columns:repeat(2,1fr)}.complete-stats>div{border:0;border-top:1px solid var(--line);padding:10px}.complete-actions{flex-direction:column}.complete-actions button{width:100%}.range-tabs{flex-direction:column}.daily-row{grid-template-columns:1fr auto}.daily-row .report-absent{grid-column:2}.daily-row.extended{grid-template-columns:1fr auto}.daily-row.extended .report-excused{grid-column:2}.report-table-head,.report-table-row{grid-template-columns:1fr 46px 46px 46px}.report-table-head.extended,.report-table-row.extended{grid-template-columns:minmax(150px,1fr) repeat(5,50px);min-width:520px}.report-table-head.extended.weighted,.report-table-row.extended.weighted{grid-template-columns:minmax(150px,1fr) repeat(6,54px);min-width:620px}.student-report{overflow-x:auto}.register-modal{padding:30px 20px 22px}.register-row,.register-row.editable{grid-template-columns:38px 1fr auto}.register-row time{display:none}.register-row.editable .excused-button{grid-column:2/-1;justify-self:end}.access-row{grid-template-columns:42px 1fr}.access-row .status{justify-self:start}.access-row button{justify-self:end}.subject-group-year-row,.subject-distribution-heading,.subject-bulk-move-bar{flex-direction:column;align-items:stretch}.subject-group-year-row label{min-width:0}.subject-group-create-grid,.subject-roster-filters,.subject-form.enhanced{grid-template-columns:1fr}.subject-form.enhanced .primary-button{grid-column:auto}.subject-edit-actions,.teacher-group-chip-grid{grid-template-columns:1fr}.teacher-group-access-heading{flex-direction:column;align-items:flex-start}.subject-section-list.enhanced>article{grid-template-columns:1fr}.subject-bulk-move-bar>div{grid-template-columns:1fr;display:grid}.subject-bulk-move-bar select{width:100%;min-width:0}.subject-roster-list{overflow-x:auto}.subject-roster-row.enhanced{grid-template-columns:24px 42px minmax(170px,1fr) 82px minmax(160px,.7fr) 100px;min-width:680px}.subject-roster-row.enhanced .subject-section-select{width:100%}.student-subject-profile-row,.teacher-form{grid-template-columns:1fr}.teacher-form .primary-button{padding:13px}.home-nav-actions{gap:4px}.home-nav-actions .nav-link{padding:8px 10px;font-size:11px}.home-actions{flex-direction:column;align-items:flex-start}.teacher-history-row.extended{grid-template-columns:1fr auto}.teacher-history-row.extended>span{grid-column:2}.teacher-history-row.deletion-enabled,.report-session-row.deletion-enabled{min-width:760px}.deletion-request-main{flex-direction:column;align-items:flex-start}.teacher-report-table{overflow-x:auto}.teacher-report-head,.teacher-report-row{min-width:540px}.phone-roster-row{grid-template-columns:42px 1fr}.phone-roster-row button{grid-column:2;justify-self:start}.live-status-actions{flex-direction:column;align-items:flex-end}.student-intake-grid,.edit-student-grid{grid-template-columns:1fr}.student-intake-grid .wide-field,.edit-student-grid .wide-field{grid-column:auto}.entry-heading{flex-direction:column;align-items:flex-start}.timetable-command-bar{grid-template-columns:1fr}.timetable-state{grid-template-columns:auto auto;align-items:center}.timetable-state small{grid-column:1/-1}.timetable-primary-actions{grid-column:auto}.timetable-primary-actions button{flex:1}.timetable-cohort-warning{flex-direction:column;align-items:stretch}.timetable-cohort-warning .secondary-button{width:100%}.timetable-filter-row,.timetable-entry-fields,.timetable-time-row,.audience-builder,.timetable-term-settings>form:first-of-type,.current-term-editor{grid-template-columns:1fr}.timetable-bulk-teachers>header{flex-direction:column}.timetable-bulk-teachers article{grid-template-columns:1fr}.timetable-bulk-teachers .primary-button{width:100%}.timetable-filter-row>div,.timetable-term-settings>form:first-of-type .primary-button,.current-term-editor h3{grid-column:auto}.session-picker{flex-direction:column;align-items:flex-start}.timetable-day-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}.timetable-issue-list,.timetable-import-sample{grid-template-columns:1fr}.timetable-entry-actions,.timetable-upload-actions{flex-direction:column}.timetable-entry-actions button,.timetable-upload-actions button,.timetable-upload-actions label{width:100%}.add-room-form{grid-template-columns:1fr 90px}.add-room-form .primary-button{grid-column:1/-1;min-height:40px}.room-settings-list{overflow-x:auto}.room-settings-list form{min-width:520px}.teacher-today-schedule,.teacher-weekly-timetable{padding:18px}.teacher-schedule-card{grid-template-columns:76px 1fr}.teacher-schedule-card .schedule-room{grid-column:2;justify-self:start}.teacher-timetable-heading{flex-direction:column;align-items:flex-start}.teacher-timetable-heading label{width:100%;min-width:0}}.attendance-student-cell{min-width:0}.attendance-note-button{width:max-content;color:var(--ink-soft);background:#fff;border:1px solid #d7dfda;border-radius:999px;margin-top:6px;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.attendance-note-button.has-note{background:var(--green-pale);color:var(--green-dark);border-color:#a9cfbf}.attendance-note-preview,.attendance-note-history{color:#41655b;white-space:normal;margin-top:5px;font-size:11px;line-height:1.45;display:block}.attendance-note-editor{background:#f5fbf8;border:1px solid #bcd8cd;border-radius:12px;grid-column:2/-1;gap:7px;width:100%;padding:10px;display:grid}.attendance-note-editor label{color:var(--green-dark);font-size:10px;font-weight:850}.attendance-note-editor textarea{resize:vertical;width:100%;min-height:64px}.attendance-note-editor>div{justify-content:flex-end;align-items:center;gap:7px;display:flex}.attendance-note-editor>div small{margin-right:auto}.teacher-live-row.note-open,.register-row.note-open{align-items:start}.student-history-modal{text-align:left;width:min(100%,900px);max-height:calc(100vh - 40px);overflow-y:auto}.student-history-actions{align-items:center;gap:8px;display:flex;position:absolute;top:18px;right:18px}.student-history-actions .modal-close{position:static}.student-history-section-heading{justify-content:space-between;align-items:center;gap:14px;margin:20px 0 9px;display:flex}.student-history-section-heading h3{margin:3px 0 0;font-size:17px}.student-history-section-heading>span{color:var(--ink-soft);font-size:10px;font-weight:800}.student-subject-statistics{overflow-x:auto}.student-subject-stat-head,.student-subject-stat-row{text-align:center;grid-template-columns:minmax(180px,1fr) repeat(6,62px);align-items:center;gap:8px;min-width:650px;padding:9px 10px;display:grid}.student-subject-stat-head{background:var(--ink);color:#fff;text-transform:uppercase;border-radius:10px;font-size:9px;font-weight:850}.student-subject-stat-row{border-bottom:1px solid var(--line);font-size:11px}.student-subject-stat-row>:first-child{text-align:left}.student-class-history{margin-top:16px}.student-history-list{max-height:none}.student-history-list>div{grid-template-columns:minmax(190px,1fr) auto auto 50px}.deletion-request-launch-row{justify-content:flex-end;margin:0 0 12px;display:flex}.deletion-request-launch{border:1px solid var(--line);min-width:min(100%,330px);color:var(--ink);text-align:left;background:#fff;border-radius:14px;grid-template-columns:34px minmax(170px,1fr) auto;align-items:center;gap:10px;padding:9px 11px;display:grid;box-shadow:0 8px 22px #10231f0f}.deletion-request-launch:hover{border-color:#abcdbf;transform:translateY(-1px)}.deletion-request-launch.has-pending{background:#fffdf8;border-color:#e6c57f}.deletion-request-launch-icon{background:var(--paper);border-radius:10px;place-items:center;width:34px;height:34px;font-size:16px;display:grid}.deletion-request-launch strong,.deletion-request-launch small{display:block}.deletion-request-launch strong{font-size:13px}.deletion-request-launch small{color:var(--ink-soft);margin-top:2px;font-size:11px}.deletion-request-launch b{min-width:27px;height:27px;color:var(--green-dark);background:#e7efeb;border-radius:999px;place-items:center;font-size:11px;display:grid}.deletion-request-launch.has-pending b{color:#fff;background:#f0a93a}.deletion-review-modal{text-align:left;width:min(100%,920px);max-height:calc(100vh - 40px);overflow-y:auto}.deletion-request-modal-summary{background:var(--paper);border-radius:12px;grid-template-columns:auto auto 1fr;align-items:baseline;gap:8px;padding:11px 13px;display:grid}.deletion-request-modal-summary strong{color:var(--green-dark);font-size:24px}.deletion-request-modal-summary span{font-weight:850}.deletion-request-modal-summary small{color:var(--ink-soft);justify-self:end}.deletion-confirmation-modal{text-align:left;width:min(100%,520px)}.confirmation-warning{color:#6c5116;background:#fff9e9;border:1px solid #e4d4ad;border-radius:12px;margin:16px 0;padding:13px;font-size:11px;line-height:1.55}.confirmation-warning.destructive{color:#8e3325;background:#fff4f1;border-color:#e8b8ae}.confirmation-actions{justify-content:flex-end;gap:8px;display:flex}.parent-meeting-workspace{max-width:1400px;margin:0 auto}.parent-meeting-introduction{justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;padding:22px 24px;display:flex}.parent-meeting-introduction h2{margin:4px 0}.parent-meeting-introduction p{color:var(--ink-soft);margin:0}.parent-meeting-access-rule{background:var(--green-pale);min-width:180px;color:var(--green-dark);border-radius:13px;gap:3px;padding:12px 14px;display:grid}.parent-meeting-access-rule strong{font-size:13px}.parent-meeting-access-rule span{font-size:11px}.parent-meeting-layout{grid-template-columns:minmax(260px,320px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.parent-student-directory,.parent-dossier-shell{padding:20px}.parent-student-directory>input{width:100%}.parent-student-list{max-height:660px;margin-top:12px;overflow-y:auto}.parent-student-list>button{border:0;border-top:1px solid var(--line);width:100%;min-height:68px;color:var(--ink);text-align:left;background:0 0;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 7px;display:grid}.parent-student-list>button:hover,.parent-student-list>button.selected{background:#edf8f4;border-radius:11px}.parent-student-list>button:focus-visible{z-index:1;outline-offset:-2px;outline:3px solid #1d8f6840;position:relative}.parent-student-list strong,.parent-student-list small,.parent-student-list em{display:block}.parent-student-list strong{font-size:14px}.parent-student-list small{color:var(--ink-soft);margin-top:3px;font-size:11px}.parent-student-list em{color:var(--green-dark);margin-top:4px;font-size:10px;font-style:normal;font-weight:800}.parent-student-list b{color:var(--green-dark)}.parent-dossier-shell{min-height:560px}.parent-dossier-empty{text-align:center;align-content:center;place-items:center;min-height:500px;display:grid}.parent-dossier-empty>span{color:var(--green);font-size:38px}.parent-dossier-empty h2{margin:12px 0 4px}.parent-dossier-empty p{color:var(--ink-soft)}.parent-dossier-toolbar{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.parent-dossier-toolbar h2{margin:4px 0}.parent-dossier-toolbar p{color:var(--ink-soft);margin:0}.parent-dossier-toolbar>div:last-child{align-items:flex-end;gap:9px;display:flex}.parent-dossier-toolbar label{min-width:210px}.parent-dossier-toolbar label,.parent-dossier-toolbar label select{width:100%}.parent-dossier-page{border:1px solid var(--line);background:#fff;border-radius:16px;padding:22px}.parent-dossier-detail-page{margin-top:18px}.parent-dossier-print-header{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:16px;display:flex}.parent-dossier-print-header span{color:var(--green-dark);text-transform:uppercase;font-size:10px;font-weight:900}.parent-dossier-print-header h1{margin:5px 0;font-size:27px}.parent-dossier-print-header p{color:var(--ink-soft);margin:0}.parent-dossier-print-header time{color:var(--ink-soft);font-size:10px}.parent-profile-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0;display:grid}.parent-profile-grid>div{background:var(--paper);border-radius:10px;padding:10px}.parent-profile-grid span,.parent-profile-grid strong{display:block}.parent-profile-grid span{color:var(--ink-soft);text-transform:uppercase;font-size:10px;font-weight:850}.parent-profile-grid strong{margin-top:4px;font-size:12px}.parent-summary-section{margin-top:18px}.parent-section-heading{justify-content:space-between;align-items:end;gap:12px;margin-bottom:8px;display:flex}.parent-section-heading h3{margin:3px 0 0;font-size:17px}.parent-section-heading>strong{color:var(--green-dark);font-size:24px}.parent-attendance-kpis{grid-template-columns:repeat(5,1fr);gap:7px;display:grid}.parent-attendance-kpis>div{border:1px solid var(--line);text-align:center;border-radius:10px;padding:10px}.parent-attendance-kpis strong,.parent-attendance-kpis span{display:block}.parent-attendance-kpis strong{font-size:18px}.parent-attendance-kpis span{color:var(--ink-soft);text-transform:uppercase;margin-top:3px;font-size:9px;font-weight:850}.parent-subject-summary-head,.parent-subject-summary-row{text-align:center;grid-template-columns:minmax(150px,1fr) repeat(6,52px);align-items:center;gap:6px;padding:7px 9px;display:grid}.parent-subject-summary-head{background:var(--ink);color:#fff;text-transform:uppercase;border-radius:8px;font-size:9px;font-weight:850}.parent-subject-summary-row{border-bottom:1px solid var(--line);font-size:11px}.parent-subject-summary-row>:first-child{text-align:left}.parent-report-summary-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.parent-report-summary-grid article{border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr auto;gap:3px 10px;padding:10px;display:grid}.parent-report-summary-grid article.incomplete{background:#fffdf8;border-color:#e6c57f}.parent-report-summary-grid article>strong{font-size:12px}.parent-report-summary-grid article>span{color:var(--green-dark);font-weight:900}.parent-report-summary-grid article>b,.parent-report-summary-grid article>small{font-size:10px}.parent-no-report{background:var(--paper);color:var(--ink-soft);border-radius:10px;padding:14px;font-size:12px}.parent-subject-report-card{border:1px solid var(--line);break-inside:avoid;border-radius:12px;margin-top:12px;overflow:hidden}.parent-subject-report-card>header{background:var(--paper);justify-content:space-between;align-items:center;gap:10px;padding:11px 13px;display:flex}.parent-subject-report-card>header>div{align-items:center;gap:9px;display:flex}.parent-subject-report-card>header span,.parent-subject-report-card>header b{font-size:10px}.parent-subject-report-card>p{color:var(--ink-soft);margin:0;padding:11px 13px;font-size:11px;line-height:1.5}.parent-assessment-head,.parent-assessment-row{grid-template-columns:minmax(150px,1fr) 65px 90px 75px;align-items:center;gap:8px;padding:7px 13px;display:grid}.parent-assessment-head{color:var(--ink-soft);text-transform:uppercase;font-size:9px;font-weight:850}.parent-assessment-row{border-top:1px solid var(--line);font-size:11px}.assessment-status{background:var(--paper);text-align:center;text-transform:capitalize;border-radius:999px;padding:4px 6px;font-size:9px;font-weight:850}.assessment-status.marked{background:var(--green-pale);color:var(--green-dark)}.assessment-status.absent{color:#9a3828;background:#fff0ec}.assessment-status.excused,.assessment-status.exempt{color:#454f98;background:#eef0ff}.parent-detailed-attendance{margin-top:22px}.parent-attendance-detail-head,.parent-attendance-detail-row{grid-template-columns:90px minmax(130px,.8fr) 52px 72px minmax(170px,1fr);align-items:center;gap:7px;padding:7px 8px;display:grid}.parent-attendance-detail-head{background:var(--ink);color:#fff;text-transform:uppercase;border-radius:8px;font-size:9px;font-weight:850}.parent-attendance-detail-row{border-bottom:1px solid var(--line);break-inside:avoid;font-size:10px}@media (width<=850px){.parent-meeting-introduction,.parent-dossier-toolbar{flex-direction:column;align-items:stretch}.parent-meeting-layout{grid-template-columns:1fr}.parent-student-list{max-height:320px}.parent-dossier-toolbar>div:last-child{flex-direction:column;align-items:stretch}.parent-dossier-toolbar label{min-width:0}.parent-profile-grid,.parent-attendance-kpis{grid-template-columns:repeat(2,1fr)}.student-history-actions{justify-content:flex-end;margin-bottom:12px;position:static}.student-subject-statistics,.parent-summary-section,.parent-report-details,.parent-detailed-attendance{overflow-x:auto}.parent-subject-summary-head,.parent-subject-summary-row,.parent-assessment-head,.parent-assessment-row,.parent-attendance-detail-head,.parent-attendance-detail-row{min-width:610px}.deletion-request-modal-summary{grid-template-columns:auto auto}.deletion-request-modal-summary small{grid-column:1/-1;justify-self:start}}@media print{body{background:#fff}.admin-header,.admin-intro,.portal-tabs,.error-banner,.report-actions,.history-panel,.teacher-history-panel,.report-comparison-panel,.closed-edit-notice{display:none!important}.admin-shell{max-width:none;padding:0}.portal-tab-content{min-height:0}.reports-panel{box-shadow:none;border:0;margin:0;padding:0}.report-filter-grid,.report-controls,.report-policy-note,.report-history-note,.report-insight-card,.report-student-section,.report-kpis div{break-inside:avoid}.teacher-report-table{overflow:visible}.teacher-report-head.dashboard-table,.teacher-report-row.dashboard-table{grid-template-columns:minmax(150px,1fr) repeat(6,48px);min-width:0}.teacher-report-head.dashboard-table>:last-child,.teacher-report-row.dashboard-table>:last-child{display:none}body.printing-student-history *{visibility:hidden!important}body.printing-student-history .student-history-modal,body.printing-student-history .student-history-modal *{visibility:visible!important}body.printing-student-history .student-history-modal{width:100%;max-height:none;box-shadow:none;border-radius:0;padding:0;position:absolute;inset:0;overflow:visible}body.printing-student-history .student-history-actions,body.printing-student-history .excused-button{display:none!important}body.printing-student-history .student-history-list{max-height:none;overflow:visible}body.printing-parent-dossier *{visibility:hidden!important}body.printing-parent-dossier .parent-dossier-print-area,body.printing-parent-dossier .parent-dossier-print-area *{visibility:visible!important}body.printing-parent-dossier .parent-dossier-print-area{width:100%;position:absolute;inset:0}body.printing-parent-dossier .parent-dossier-page{border:0;border-radius:0;padding:0}body.printing-parent-dossier .parent-dossier-summary-page{break-after:page;page-break-after:always}body.printing-parent-dossier .parent-dossier-detail-page{margin-top:0}body.printing-parent-dossier .parent-subject-report-card,body.printing-parent-dossier .parent-attendance-detail-row{break-inside:avoid}body.printing-weekly-timetable *{visibility:hidden!important}body.printing-weekly-timetable .teacher-weekly-timetable,body.printing-weekly-timetable .teacher-weekly-timetable *,body.printing-weekly-timetable .timetable-overview-panel,body.printing-weekly-timetable .timetable-overview-panel *{visibility:visible!important}body.printing-weekly-timetable .teacher-weekly-timetable,body.printing-weekly-timetable .timetable-overview-panel{width:100%;box-shadow:none;border:0;border-radius:0;margin:0;padding:0;position:absolute;inset:0}body.printing-weekly-timetable .timetable-print-button,body.printing-weekly-timetable .teacher-timetable-heading label,body.printing-weekly-timetable .timetable-filter-row label{display:none!important}body.printing-weekly-timetable .teacher-week-grid,body.printing-weekly-timetable .timetable-week-grid{grid-template-columns:repeat(5,1fr);gap:5px;overflow:visible}body.printing-weekly-timetable .teacher-week-day,body.printing-weekly-timetable .timetable-day-column{break-inside:avoid}}.result-shell{background:radial-gradient(circle at 50% 10%, #1d8f6824, transparent 34%), var(--paper);place-items:center;min-height:100vh;padding:22px;display:grid}.result-card{text-align:center;background:#fff;border:1px solid #10231f1a;border-radius:28px;width:min(100%,430px);padding:44px 30px 28px;box-shadow:0 28px 80px #10231f21}.result-icon{color:#fff;border-radius:24px;place-items:center;width:76px;height:76px;margin:0 auto 24px;font-size:38px;font-weight:850;display:grid}.result-icon.success{background:var(--green);box-shadow:0 12px 28px #1d8f6840}.result-icon.warning{background:var(--coral);box-shadow:0 12px 28px #f47f653d}.result-name{background:var(--green-pale);color:var(--green-dark);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.result-card h1{letter-spacing:-.05em;margin:16px 0 10px;font-size:34px}.result-card p{max-width:340px;color:var(--ink-soft);margin:0 auto;line-height:1.65}.result-divider{background:var(--line);height:1px;margin:30px 0 19px}.result-card>small{color:var(--ink-soft);font-weight:750;display:block}.result-home{color:var(--green-dark);margin-top:16px;font-size:12px;font-weight:800;display:inline-block}.report-pagination{justify-content:center;align-items:center;gap:.8rem;margin-top:1rem;display:flex}.report-pagination button{border:1px solid var(--line,#d9ddd9);min-width:6.5rem;color:inherit;font:inherit;cursor:pointer;background:#fff;border-radius:.7rem;padding:.65rem .9rem;font-weight:700}.report-pagination button:disabled{cursor:not-allowed;opacity:.45}.report-pagination span{text-align:center;min-width:7rem;font-size:.9rem;font-weight:700}.academic-structure-import{margin-bottom:18px;padding:24px}.academic-import-preview,.uploaded-file-note{border:1px solid var(--line);background:#fbfcfa;border-radius:14px;gap:7px;margin:14px 0;padding:14px;display:grid}.academic-import-preview>div,.uploaded-file-note{justify-content:space-between;align-items:center;gap:12px;display:flex}.academic-import-preview small{color:var(--ink-soft)}.academic-import-preview em{color:var(--green-dark);font-size:12px;font-style:normal;font-weight:800}.inline-import-error{color:#923724;background:#fff0ec;border-radius:10px;margin:12px 0;padding:11px 13px;font-size:13px;font-weight:700}.import-live-state{color:var(--ink-soft);align-items:center;gap:10px;margin:14px 0;font-size:13px;font-weight:750;display:flex}.import-progress{background:#eef5f1;border:1px solid #1d8f682e;border-radius:10px;min-height:34px;margin:12px 0;position:relative;overflow:hidden}.import-progress>div{background:linear-gradient(90deg,#1d8f6840,#1d8f6875);min-width:2px;transition:width .22s;position:absolute;inset:0 auto 0 0}.import-progress>span{z-index:1;color:var(--green-dark);padding:8px 11px;font-size:12px;font-weight:850;display:block;position:relative}.import-count-summary{flex-wrap:wrap;gap:8px;margin:10px 0 14px;display:flex}.import-count-summary span{color:var(--ink-soft);background:#f3f6f4;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:750}.import-count-summary strong{color:var(--ink)}.report-card-workspace,.teacher-report-card-workspace{gap:18px;display:grid}.report-card-loading,.report-empty{text-align:center;justify-items:center;gap:9px;padding:48px 22px;display:grid}.report-card-loading p,.report-empty p{color:var(--ink-soft);margin:0}.report-empty>span{background:var(--green-pale);width:54px;height:54px;color:var(--green-dark);border-radius:18px;place-items:center;font-size:25px;display:grid}.report-cycle-header,.teacher-report-card-header{justify-content:space-between;align-items:end;gap:20px;padding:24px;display:flex}.teacher-report-card-header{flex-direction:column;align-items:stretch}.teacher-report-card-header>div:first-child{max-width:780px}.teacher-report-card-header .report-selection-fields{width:100%}.report-cycle-header h2,.teacher-report-card-header h2,.report-config-card h3,.report-component-panel h3,.teacher-results-panel h3{margin:4px 0 7px}.report-cycle-header p,.teacher-report-card-header p,.report-config-card p,.report-component-panel p,.teacher-results-panel p{color:var(--ink-soft);margin:0;line-height:1.55}.report-cycle-header>label{min-width:260px}.report-cycle-header label,.report-config-card label,.report-selection-fields label,.report-component-row label,.teacher-comment-field{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;gap:6px;font-size:11px;font-weight:850;display:grid}.report-cycle-header input,.report-cycle-header select,.report-config-card input,.report-config-card select,.report-selection-fields select,.report-component-row input,.report-results-toolbar input,.student-component-scores input,.student-component-scores select,.teacher-comment-field textarea{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;text-transform:none;letter-spacing:0;background-color:#fff;border-radius:10px;padding:10px 11px;font-size:13px}.report-card-view-tabs{background:#ffffffc7;border:1px solid #10231f1a;border-radius:15px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:6px;display:grid;box-shadow:0 8px 24px #10231f0f}.report-card-view-tabs button{min-width:0;color:var(--ink-soft);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;grid-template-rows:auto auto;grid-template-columns:30px minmax(0,1fr);column-gap:9px;padding:11px 13px;display:grid}.report-card-view-tabs button>span{background:var(--paper);border-radius:9px;grid-row:1/3;align-self:center;place-items:center;width:30px;height:30px;font-size:16px;display:grid}.report-card-view-tabs button strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.report-card-view-tabs button small{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.report-card-view-tabs button.active{background:var(--ink);color:#ffffffbd;box-shadow:0 7px 16px #10231f24}.report-card-view-tabs button.active>span{background:#ffffff24}.report-card-view-tabs button.active strong{color:#fff}.report-card-view-tabs button:focus-visible{outline-offset:2px;outline:3px solid #1d8f6840}.report-admin-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.report-config-card{align-content:start;gap:12px;padding:20px;display:grid}.two-column-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.admin-weight-editor{border:1px solid var(--line);background:#f7faf8;border-radius:11px;gap:7px;padding:11px;display:grid}.admin-weight-editor>label{grid-template-columns:minmax(0,1fr) 74px auto;align-items:center;gap:7px;display:grid}.admin-weight-editor>label input{padding:7px 8px}.admin-weight-editor>small{color:var(--ink-soft);line-height:1.4}.grade-band-editor{gap:7px;display:grid}.grade-band-editor>div{grid-template-columns:76px 1fr;align-items:center;gap:8px;display:grid}.grade-band-editor>div>input{font-weight:850}.grade-band-editor>div label{grid-template-columns:auto 1fr auto;align-items:center;gap:5px;display:grid}.email-configured{color:#87551b;background:#fff5e7;border-radius:10px;gap:3px;padding:10px 12px;display:grid}.email-configured.ready{background:var(--green-pale);color:var(--green-dark)}.email-configured span{font-size:11px}.report-completion-panel{padding:24px}.report-cycle-stats{flex-wrap:wrap;gap:8px;display:flex}.report-cycle-stats span{min-width:82px;color:var(--ink-soft);text-align:center;text-transform:uppercase;background:#f3f6f4;border-radius:10px;padding:9px 11px;font-size:10px;display:grid}.report-cycle-stats strong{color:var(--ink);font-size:18px}.report-completion-toolbar,.report-results-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0;display:flex}.report-completion-toolbar>input,.report-results-toolbar>input{border:1px solid var(--line);min-height:42px;font:inherit;border-radius:10px;flex:260px;padding:10px 12px}.report-completion-toolbar>select{border:1px solid var(--line);min-height:42px;color:var(--ink);font:inherit;background-color:#fff;border-radius:10px;padding:9px 40px 9px 10px;font-size:12px}.controlled-email-test{color:#7b4d18;background:#fff7e8;border:1px solid #e9c488;border-radius:11px;gap:3px;margin:0 0 14px;padding:12px 14px;display:grid}.controlled-email-test span{font-size:12px;line-height:1.45}.report-performance-statistics{border:1px solid var(--line);background:#fbfcfb;border-radius:13px;margin:14px 0 18px;padding:16px}.report-statistics-panel{padding:24px}.statistics-filter-toggle{display:none}.report-statistics-toolbar{flex-wrap:wrap;align-items:end;gap:10px;margin:20px 0 4px;display:flex}.report-statistics-toolbar label{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;flex:190px;gap:5px;font-size:9px;font-weight:900;display:grid}.report-statistics-toolbar select{border:1px solid var(--line);width:100%;height:42px;color:var(--ink);font:inherit;text-transform:none;background-color:#fff;border-radius:10px;padding:9px 40px 9px 10px;font-size:12px}.report-statistics-toolbar button{flex:none}.report-statistics-scroll{overflow-x:auto}.report-statistics-scroll table{border-collapse:collapse;width:100%;min-width:980px;font-size:11px}.report-statistics-scroll th,.report-statistics-scroll td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:9px 8px}.report-statistics-scroll th{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.035em;font-size:9px}.report-statistics-mobile-cards{display:none}.checkbox-line{color:var(--ink-soft);align-items:center;gap:7px;font-size:12px;font-weight:750;display:flex}.checkbox-line.warning{color:#8d5b20}.report-student-cards,.teacher-result-cards{gap:12px;display:grid}.report-student-card,.teacher-result-card{border:1px solid var(--line);background:#fff;border-left:4px solid #dfaa61;border-radius:14px;overflow:hidden}.report-student-card.complete,.teacher-result-card.complete{border-left-color:var(--green)}.teacher-result-card.locked{background:#fafbfa;border-left-color:#65756f}.report-student-card>header,.teacher-result-card>header{background:#fbfcfb;justify-content:space-between;align-items:start;gap:12px;padding:14px 16px;display:flex}.report-student-card header>div,.teacher-result-card header>div{gap:3px;display:grid}.report-student-card header small,.teacher-result-card header small,.report-student-card header em{color:var(--ink-soft);font-size:11px;font-style:normal}.report-student-card header>span,.teacher-result-card header>span{color:var(--ink-soft);white-space:nowrap;background:#edf2ef;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:850}.report-student-card header>.delivery-state.delivery-accepted,.report-student-card header>.delivery-state.delivery-deferred,.report-student-card header>.delivery-state.delivery-sending{color:#7b4d18;background:#fff1d7}.report-student-card header>.delivery-state.delivery-delivered{color:#126441;background:#dff5ea}.report-student-card header>.delivery-state.delivery-bounced,.report-student-card header>.delivery-state.delivery-failed,.report-student-card header>.delivery-state.delivery-rejected,.report-student-card header>.delivery-state.delivery-complained{color:#9a3029;background:#fde8e5}.report-delivery-meta{border-top:1px solid var(--line);color:var(--ink-soft);background:#f8faf9;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:10px 16px;font-size:11px;display:flex}.report-delivery-meta strong{color:var(--ink)}.report-delivery-meta small{width:100%;color:inherit;background:#fff;border-radius:8px;padding:7px 9px;line-height:1.4}.report-delivery-batches{background:#f8fbf9;border:1px solid #cfe0d8;border-radius:15px;gap:9px;margin:16px 0;padding:15px;display:grid}.report-delivery-batch{border:1px solid var(--line);background:#fff;border-radius:12px;gap:10px;padding:13px;display:grid}.report-delivery-batch>header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.report-delivery-batch>header strong,.report-delivery-batch>header span{display:block}.report-delivery-batch>header strong{font-size:12px}.report-delivery-batch>header span{color:var(--ink-soft);margin-top:3px;font-size:9px}.report-delivery-batch>header b{color:var(--green-dark);font-size:12px}.report-delivery-batch.completed_with_errors{background:#fffaf3;border-color:#e8c9aa}.report-delivery-batch-counts{flex-wrap:wrap;gap:7px;display:flex}.report-delivery-batch-counts span{background:var(--paper);color:var(--ink-soft);border-radius:999px;align-items:center;gap:4px;padding:6px 8px;font-size:8px;font-weight:800;display:flex}.report-delivery-batch-counts strong{color:var(--ink)}.report-delivery-batch>button{justify-self:start}.cohort-delivery-modal{text-align:left;flex-direction:column;width:min(100%,820px);max-height:min(88vh,760px);display:flex}.cohort-delivery-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:12px;display:grid}.cohort-delivery-summary span{background:var(--paper);color:var(--ink-soft);text-transform:uppercase;border-radius:10px;gap:2px;padding:10px;font-size:8px;font-weight:800;display:grid}.cohort-delivery-summary strong{color:var(--ink);font-size:17px}.cohort-delivery-controls{grid-template-columns:minmax(180px,1fr) auto auto;gap:7px;margin-bottom:10px;display:grid}.cohort-delivery-controls input{min-width:0}.cohort-recipient-list{align-content:start;gap:5px;min-height:130px;max-height:360px;padding-right:4px;display:grid;overflow-y:auto}.cohort-recipient-list label{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;display:grid}.cohort-recipient-list label.unavailable{cursor:not-allowed;opacity:.72;background:#f5f5f2}.cohort-recipient-list input{width:18px;height:18px;padding:0}.cohort-recipient-list span,.cohort-recipient-list strong,.cohort-recipient-list small{min-width:0;display:block}.cohort-recipient-list strong{font-size:11px}.cohort-recipient-list small{overflow-wrap:anywhere;color:var(--ink-soft);margin-top:2px;font-size:8px}.cohort-recipient-list em{color:var(--green-dark);text-align:right;font-size:8px;font-style:normal;font-weight:850}.cohort-recipient-list label.unavailable em{color:#914536}.cohort-delivery-confirm{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:12px;padding-top:12px;display:grid}.cohort-delivery-confirm strong{font-size:13px}.cohort-delivery-confirm span{color:var(--ink-soft);font-size:9px}.report-subject-statuses{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;padding:12px 16px;display:grid}.report-subject-statuses>div{background:#fff7eb;border-radius:10px;gap:4px;padding:10px;display:grid}.report-subject-statuses>div.complete{background:var(--green-pale)}.report-subject-statuses span,.report-subject-statuses small{color:var(--ink-soft);font-size:11px}.approve-exemption-button{color:#754711;font:inherit;cursor:pointer;background:#f4d9ae;border:0;border-radius:8px;justify-self:start;padding:6px 8px;font-size:10px;font-weight:850}.report-student-card>footer{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:11px 16px 15px;display:flex}.correction-button{color:#8c571c}.report-selection-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;display:grid}.report-selection-fields label{border:1px solid var(--line);background:#f7faf8;border-radius:12px;min-width:0;padding:11px}.report-selection-fields select{min-width:0;max-width:100%}.teacher-results-panel{padding:22px}.weight-total{text-align:center;border-radius:999px;min-width:74px;padding:9px 11px;font-weight:900}.weight-total.valid{background:var(--green-pale);color:var(--green-dark)}.weight-total.invalid{color:#923724;background:#fff0ec}.report-component-rows{gap:8px;margin:16px 0;display:grid}.report-component-row{border:1px solid var(--line);background:#fbfcfb;border-radius:12px;grid-template-columns:38px minmax(180px,1fr) minmax(130px,190px) minmax(120px,150px);align-items:end;gap:10px;padding:10px;display:grid}.report-component-number{background:var(--green-pale);width:30px;height:30px;color:var(--green-dark);border-radius:9px;align-self:center;place-items:center;font-size:12px;font-weight:900;display:grid}.locked-component-weight{color:var(--green-dark);background:#eef5f1;border-radius:10px;align-content:center;align-self:stretch;gap:3px;padding:8px 10px;display:grid}.locked-component-weight span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:9px;font-weight:850}.locked-component-weight strong{font-size:14px}.report-plan-download-button{justify-self:start}.uploaded-file-note{color:var(--ink-soft);margin-top:-5px;font-size:12px}.uploaded-file-note strong{color:var(--ink)}.teacher-result-card>header{padding:14px}.student-component-scores{gap:7px;padding:12px 14px;display:grid}.student-component-scores>div{background:#f6f8f6;border-radius:10px;grid-template-columns:minmax(160px,1fr) 120px minmax(170px,.8fr);align-items:center;gap:8px;padding:8px;display:grid}.student-component-scores strong{justify-content:space-between;gap:8px;font-size:12px;display:flex}.student-component-scores strong small{color:var(--green-dark)}.student-component-scores>div>span{grid-template-columns:1fr auto 1fr;align-items:center;gap:5px;display:grid}.student-component-scores>div>span i{color:var(--ink-soft);font-style:normal}.student-component-scores em{color:var(--ink-soft);font-size:11px;font-style:normal}.teacher-comment-field{padding:2px 14px 12px}.teacher-comment-field textarea{resize:vertical;min-height:76px}.student-report-issues{color:#87551b;background:#fff4e4;border-radius:9px;margin:0 14px 14px;padding:8px 10px;display:block}.report-excel-steps{flex-wrap:wrap;gap:8px;margin:16px 0 4px;display:flex}.report-excel-steps span{color:var(--ink-soft);background:#f2f6f3;border-radius:999px;align-items:center;gap:7px;padding:8px 10px;font-size:11px;font-weight:800;display:inline-flex}.report-excel-steps strong{background:var(--green-dark);color:#fff;border-radius:50%;place-items:center;width:21px;height:21px;font-size:10px;display:grid}.report-results-toolbar .upload-button.disabled{cursor:not-allowed;opacity:.45}.teacher-marks-grid-wrap{border:1px solid var(--line);background:#fff;border-radius:13px;max-height:min(72vh,820px);overflow:auto;box-shadow:inset 0 1px #ffffffbf}.teacher-marks-grid{border-collapse:separate;border-spacing:0;width:100%;min-width:max-content;color:var(--ink);font-size:12px}.teacher-marks-grid th,.teacher-marks-grid td{vertical-align:middle;border-bottom:1px solid #dfe6e1;border-right:1px solid #dfe6e1;min-width:94px;padding:0}.teacher-marks-grid thead th{z-index:5;height:126px;color:var(--green-dark);text-align:center;background:#eaf1ed;padding:8px 9px;position:sticky;top:0}.teacher-marks-grid thead tr:nth-child(2) th{z-index:6;height:38px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.035em;background:#f3f6f4;font-size:10px;top:126px}.teacher-grid-assessment{min-width:260px!important}.teacher-grid-assessment-editor{text-align:left;grid-template-columns:minmax(130px,1fr) 105px;gap:6px;min-width:242px;display:grid}.teacher-grid-assessment-editor label{gap:3px;min-width:0;display:grid}.teacher-grid-assessment-editor label span{color:var(--ink-soft);letter-spacing:.045em;text-transform:uppercase;font-size:8px;font-weight:900}.teacher-grid-assessment-editor input{width:100%;min-width:0;height:38px;color:var(--ink);font:inherit;background:#fff;border:1px solid #cbd8d1;border-radius:8px;padding:7px 8px;font-size:11px;font-weight:800}.teacher-grid-assessment-editor input:focus{border-color:var(--green);outline:3px solid #1d8f6826}.teacher-grid-assessment-editor small{color:var(--green-dark);text-align:center;grid-column:1/-1;margin-top:1px;font-size:9px;display:block}.report-heading-save-button:disabled{color:var(--green-dark);opacity:.72;background:#eef3f0}.teacher-marks-grid tbody tr{background:#fff}.teacher-marks-grid tbody tr:nth-child(2n){background:#fbfcfb}.teacher-marks-grid tbody tr.complete{background:#f7fbf8}.teacher-marks-grid tbody tr.locked{color:#66736e;background:#f1f3f2}.teacher-marks-grid tbody tr:hover{background:#f1f7f3}.teacher-grid-index{z-index:3;width:46px;max-width:46px;color:var(--ink-soft);text-align:center;background:#f2f5f3;font-size:10px;position:sticky;left:0;min-width:46px!important}.teacher-grid-student{z-index:3;background:inherit;width:238px;max-width:238px;position:sticky;left:46px;text-align:left!important;min-width:238px!important;padding:10px 12px!important}.teacher-marks-grid thead .teacher-grid-index,.teacher-marks-grid thead .teacher-grid-student{z-index:9;background:#e5eee9}.teacher-marks-grid tbody tr:nth-child(2n) .teacher-grid-student{background:#fbfcfb}.teacher-marks-grid tbody tr.complete .teacher-grid-student{background:#f7fbf8}.teacher-marks-grid tbody tr.locked .teacher-grid-student{background:#f1f3f2}.teacher-marks-grid tbody tr:hover .teacher-grid-student{background:#f1f7f3}.teacher-grid-student strong,.teacher-grid-student small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.teacher-grid-student strong{color:var(--ink);margin-bottom:3px;font-size:12px}.teacher-grid-student small{color:var(--ink-soft);font-size:10px;font-weight:650}.teacher-marks-grid td>input,.teacher-marks-grid td>select,.teacher-marks-grid td>textarea{width:100%;min-height:52px;color:inherit;font:inherit;background-color:#0000;border:0;border-radius:0;outline:0;padding:9px}.teacher-marks-grid td>select{min-width:112px;font-weight:750}.teacher-marks-grid td>input{text-align:right;min-width:94px}.teacher-marks-grid td>textarea{resize:vertical;width:290px;min-height:66px;line-height:1.35}.teacher-marks-grid td>input:focus,.teacher-marks-grid td>select:focus,.teacher-marks-grid td>textarea:focus{z-index:1;box-shadow:inset 0 0 0 2px var(--green);background-color:#fff;position:relative}.teacher-marks-grid td>input:disabled,.teacher-marks-grid td>select:disabled,.teacher-marks-grid td>textarea:disabled{cursor:not-allowed;opacity:.56}.teacher-grid-status{min-width:112px!important}.teacher-grid-mark{text-align:right;min-width:112px!important}.teacher-grid-mark small{color:var(--green-dark);padding:0 8px 6px;font-size:9px;font-weight:800;display:block}.teacher-grid-mark.absent{background:#fff4ef}.teacher-grid-mark.excused,.teacher-grid-mark.exempt{background:#f1f4f2}.assessment-special-buttons{grid-template-columns:1fr 1fr;gap:4px;padding:6px;display:grid}.assessment-special-buttons button{border:1px solid var(--line);min-height:38px;color:var(--ink-soft);font:inherit;cursor:pointer;background:#fff;border-radius:8px;font-size:10px;font-weight:850}.assessment-special-buttons button.active.absent{color:#8a3b15;background:#fff0e8;border-color:#d98255}.assessment-special-buttons button.active.excused{color:var(--green-dark);background:#edf3f0;border-color:#7e958b}.assessment-special-buttons button:disabled{cursor:not-allowed;opacity:.55}.assessment-exempt-label{color:var(--ink-soft);text-align:center;padding:10px;font-size:10px;font-weight:850;display:block}.teacher-grid-comment{width:290px;min-width:290px!important}.teacher-grid-result{width:190px;min-width:190px!important;padding:9px 11px!important}.teacher-grid-result strong,.teacher-grid-result span,.teacher-grid-result small{display:block}.teacher-grid-result strong{color:var(--green-dark);font-size:16px}.teacher-grid-result span{margin:2px 0 4px;font-weight:900}.teacher-grid-result small{color:#87551b;max-width:170px;font-size:9px;line-height:1.3}.teacher-marks-grid tr.complete .teacher-grid-result small{color:var(--green-dark)}.wifi-settings-trigger{justify-content:space-between;align-items:center;gap:24px;padding:20px 22px;display:flex}.wifi-settings-trigger h2,.wifi-settings-trigger p{margin:3px 0 0}.wifi-settings-trigger>div:last-child{align-items:center;gap:10px;display:flex}.wifi-settings-modal{width:min(920px,100vw - 28px);max-height:min(88vh,820px);overflow:auto}.wifi-settings-modal .wifi-settings-grid{grid-template-columns:minmax(220px,.8fr) minmax(0,1.5fr)}.report-cycle-controls{align-items:flex-end;gap:10px;min-width:min(100%,560px);display:flex}.report-cycle-controls>label{flex:1;min-width:210px}.report-cycle-controls>div{flex-wrap:wrap;gap:8px;display:flex}.report-settings-modal{width:min(720px,100vw - 28px);max-height:min(90vh,900px);overflow:auto}.report-modal-fields{gap:12px;margin:18px 0;display:grid}.report-modal-fields>label,.report-modal-fields .two-column-fields label{gap:6px;font-weight:800;display:grid}.cycle-weight-editor{max-height:310px;overflow:auto}.modal-action-row{justify-content:flex-end;gap:9px;margin-top:16px;display:flex}.teacher-report-workflow-state{background:#eff8f3;border:1px solid #b7ddca;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;padding:16px 20px;display:flex}.teacher-report-workflow-state.has-locks{background:#fff8e9;border-color:#e4c694}.teacher-report-workflow-state h3,.teacher-report-workflow-state p{margin:3px 0 0}.teacher-report-workflow-state>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.teacher-report-workflow-state>div:last-child span{background:#fff;border-radius:10px;padding:8px 10px;font-size:11px}.teacher-report-workflow-state>div:last-child strong{color:var(--green-dark);margin-right:3px}.teacher-grading-button{align-self:end;min-height:44px}.teacher-grading-modal{width:min(620px,100vw - 28px)}.teacher-grading-source{background:#eef5f1;border-radius:10px;gap:3px;margin-top:14px;padding:11px 12px;display:grid}.teacher-grading-source span{color:var(--ink-soft);font-size:11px}.inline-import-notice{color:var(--green-dark);background:#f0f8f4;border:1px solid #b8d8c9;border-radius:10px;margin:10px 0;padding:10px 12px;font-size:12px;font-weight:750}.report-save-dock{z-index:12;border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f8faf9f7;border-radius:13px;justify-content:space-between;align-items:center;gap:16px;margin:14px 0 0;padding:12px 14px;display:flex;position:sticky;bottom:10px;box-shadow:0 10px 30px #13332921}.report-save-dock.has-changes{background:#fff9ebfa;border-color:#d9ae63}.report-save-dock strong,.report-save-dock span{display:block}.report-save-dock span{color:var(--ink-soft);margin-top:2px;font-size:11px}.report-results-save-button{min-width:230px}.teacher-class-statistics{border:1px solid var(--line);background:#fff;border-radius:14px;margin:0 0 14px;overflow:hidden}.teacher-class-statistics .report-result-heading{padding:15px}.teacher-class-statistics-head,.teacher-class-statistics-row{grid-template-columns:minmax(190px,1.5fr) repeat(6,minmax(58px,.45fr)) minmax(92px,.6fr);align-items:center;gap:6px;padding:10px 14px;display:grid}.teacher-class-statistics-head{background:var(--green-dark);color:#fff;letter-spacing:.035em;text-transform:uppercase;font-size:9px;font-weight:850}.teacher-class-statistics-row{border-top:1px solid var(--line);text-align:center;font-size:12px}.teacher-class-statistics-row>div{text-align:left}.teacher-class-statistics-row strong,.teacher-class-statistics-row small{display:block}.teacher-class-statistics-row small{color:var(--ink-soft);margin-top:2px;font-size:10px}.teacher-class-statistics-row>strong:last-child{color:var(--green-dark);font-size:14px}.timetable-term-modal{width:min(560px,100vw - 28px)}.timetable-term-modal form{gap:10px;margin-top:16px;display:grid}.timetable-term-modal form label{gap:5px;font-weight:800;display:grid}@media (width<=900px){.report-admin-grid{grid-template-columns:1fr}.report-cycle-header,.teacher-report-card-header{flex-direction:column;align-items:stretch}.report-cycle-header>label{min-width:0}.student-component-scores>div{grid-template-columns:minmax(140px,1fr) 110px}.student-component-scores>div>span,.student-component-scores>div>em{grid-column:1/-1}.wifi-settings-modal .wifi-settings-grid{grid-template-columns:1fr}.teacher-class-statistics{overflow-x:auto}.teacher-class-statistics-head,.teacher-class-statistics-row{min-width:760px}}@media (width<=620px){.academic-structure-import,.report-cycle-header,.teacher-report-card-header,.report-completion-panel,.report-statistics-panel,.teacher-results-panel{padding:17px}.report-selection-fields,.two-column-fields{grid-template-columns:1fr}.report-completion-toolbar,.report-results-toolbar{flex-direction:column;align-items:stretch}.report-completion-toolbar>*,.report-results-toolbar>*{width:100%}.statistics-filter-toggle{border:1px solid var(--line);width:100%;min-height:46px;color:var(--ink);font:inherit;cursor:pointer;background:#f5f8f6;border-radius:11px;justify-content:space-between;align-items:center;margin:16px 0 0;padding:10px 12px;font-weight:850;display:flex}.statistics-filter-toggle b{color:var(--green-dark);font-size:11px}.report-statistics-toolbar{border:1px solid var(--line);background:#f8faf9;border-radius:12px;margin:8px 0 0;padding:12px;display:none}.report-statistics-toolbar.open{grid-template-columns:1fr;display:grid}.report-statistics-toolbar label{flex:none;width:100%;min-width:0}.report-statistics-toolbar select{flex:none;width:100%;height:46px;min-height:46px;max-height:46px}.report-statistics-toolbar button{width:100%;min-height:44px}.report-statistics-scroll{display:none}.report-statistics-mobile-cards{gap:10px;display:grid}.report-statistics-mobile-cards article{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.report-statistics-mobile-cards article>header{background:#f2f7f4;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px;display:flex}.report-statistics-mobile-cards article>header strong,.report-statistics-mobile-cards article>header span{display:block}.report-statistics-mobile-cards article>header strong{color:var(--ink);font-size:13px}.report-statistics-mobile-cards article>header span{color:var(--ink-soft);margin-top:3px;font-size:10px}.report-statistics-mobile-cards article>header b{color:var(--green-dark);flex:none;font-size:11px}.report-statistics-mobile-cards article>p{color:var(--ink-soft);margin:0;padding:16px 12px;font-size:12px}.report-statistics-mobile-cards article>div{background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.report-statistics-mobile-cards article>div>span{background:#fff;gap:3px;min-width:0;padding:11px 12px;display:grid}.report-statistics-mobile-cards small{color:var(--ink-soft);text-transform:uppercase;font-size:9px;font-weight:800}.report-statistics-mobile-cards strong{overflow-wrap:anywhere;font-size:12px}.report-card-view-tabs button{grid-template-columns:26px minmax(0,1fr);padding:10px}.report-card-view-tabs button>span{width:26px;height:26px}.report-card-view-tabs button small{display:none}.report-student-card>header,.teacher-result-card>header{flex-direction:column}.report-student-card>footer{flex-direction:column;align-items:stretch}.report-student-card>footer>*{text-align:center;width:100%}.report-delivery-batch>header{flex-direction:column}.report-delivery-batch>button{width:100%}.cohort-delivery-modal{padding:24px 17px 17px}.cohort-delivery-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.cohort-delivery-controls{grid-template-columns:1fr 1fr}.cohort-delivery-controls input{grid-column:1/-1}.cohort-recipient-list label{grid-template-columns:22px minmax(0,1fr)}.cohort-recipient-list em{text-align:left;grid-column:2}.cohort-delivery-confirm{grid-template-columns:1fr}.cohort-delivery-confirm button{width:100%}.report-subject-statuses,.student-component-scores>div{grid-template-columns:1fr}.student-component-scores>div>span,.student-component-scores>div>em{grid-column:auto}.academic-import-preview>div,.uploaded-file-note{flex-direction:column;align-items:flex-start}.report-excel-steps{grid-template-columns:1fr;display:grid}.teacher-grid-student{width:200px;max-width:200px;min-width:200px!important}.wifi-settings-trigger,.teacher-report-workflow-state,.report-save-dock{flex-direction:column;align-items:stretch}.wifi-settings-trigger>div:last-child,.teacher-report-workflow-state>div:last-child{justify-content:flex-start}.wifi-settings-trigger button,.report-results-save-button{width:100%}.report-cycle-controls{flex-direction:column;align-items:stretch}.report-cycle-controls>label{min-width:0}.report-cycle-controls>div,.report-cycle-controls button{width:100%}.modal-action-row{flex-direction:column-reverse;align-items:stretch}.modal-action-row button{width:100%}}.marketing-page{--mk-ink:#0b1739;--mk-soft:#61708d;--mk-blue:#315cf5;--mk-blue-2:#6878ff;--mk-blue-pale:#eef3ff;--mk-purple-pale:#f3efff;--mk-maroon:#8a1538;--mk-green:#18a76f;--mk-red:#ef5a67;--mk-amber:#eea53f;--mk-line:#e6eaf2;--mk-paper:#f8faff;min-height:100vh;color:var(--mk-ink);background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}.marketing-page a{color:inherit;text-decoration:none}.marketing-page svg{display:block}.mk-nav{z-index:20;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;max-width:1320px;height:88px;margin:0 auto;padding:0 28px;display:grid;position:relative}.mk-brand img{width:196px;height:auto;display:block}.mk-nav-links{color:#44516e;justify-content:center;align-items:center;gap:34px;font-size:13px;font-weight:650;display:flex}.mk-nav-links a,.mk-text-link{transition:color .2s}.mk-nav-links a:hover,.mk-text-link:hover{color:var(--mk-blue)}.mk-nav-actions{justify-self:end;align-items:center;gap:18px;font-size:13px;font-weight:700;display:flex}.mk-button{border:1px solid var(--mk-blue);background:linear-gradient(135deg,#355df4,#4c72ff);border-radius:14px;justify-content:center;align-items:center;gap:12px;min-height:50px;padding:0 20px;font-size:13px;font-weight:800;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 10px 28px #315cf533;color:#fff!important}.mk-button:hover{transform:translateY(-2px);box-shadow:0 15px 34px #315cf542}.mk-button svg{width:18px;height:18px}.mk-button-small{border-radius:12px;min-height:42px;padding:0 16px}.mk-button-ghost{box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffc7;border-color:#d9dfec;color:var(--mk-ink)!important}.mk-hero{grid-template-columns:.88fr 1.12fr;align-items:center;gap:58px;max-width:1440px;min-height:700px;margin:0 auto;padding:70px 64px 84px;display:grid;position:relative}.mk-hero:before{content:"";pointer-events:none;background:radial-gradient(circle at 40% 55%,#6e8bff33,#e7efff73 46%,#0000 67%);border-radius:50%;width:720px;height:720px;position:absolute;top:-260px;right:-240px}.mk-hero:after{content:"";pointer-events:none;background:radial-gradient(#8a153814,#0000 68%);border-radius:50%;width:580px;height:360px;position:absolute;bottom:-200px;left:-140px;transform:rotate(-10deg)}.mk-hero-orbit{pointer-events:none;border:1px solid #4965c91a;border-radius:50%;position:absolute}.mk-orbit-one{width:500px;height:500px;top:40px;right:-130px}.mk-orbit-two{width:700px;height:700px;top:-60px;right:-245px}.mk-hero-copy{z-index:4;position:relative}.mk-origin-pill{color:#5f2440;letter-spacing:.035em;background:#fff9fb;border:1px solid #8a153824;border-radius:999px;align-items:center;gap:8px;width:fit-content;margin-bottom:28px;padding:8px 12px;font-size:11px;font-weight:850;display:flex}.mk-qatar-dot{background:var(--mk-maroon);border-radius:3px 50% 50% 3px;width:9px;height:9px;transform:rotate(45deg)}.mk-kicker{color:#526baf;letter-spacing:.19em;text-transform:uppercase;margin:0 0 14px;font-size:10px;font-weight:900}.mk-hero h1{letter-spacing:-.06em;max-width:700px;margin:0;font-size:clamp(54px,5.4vw,82px);font-weight:790;line-height:.97}.mk-hero h1 span,.mk-section-heading h2 span,.mk-story h2 span,.mk-qatar h2 span,.mk-final-cta h2 span{color:var(--mk-blue)}.mk-hero-lead{max-width:640px;color:var(--mk-soft);margin:27px 0 0;font-size:17px;line-height:1.68}.mk-hero-actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.mk-trust-row{color:#586682;flex-wrap:wrap;gap:20px;margin-top:34px;font-size:11px;font-weight:750;display:flex}.mk-trust-row span{align-items:center;gap:7px;display:inline-flex}.mk-trust-row svg{width:16px;height:16px;color:var(--mk-blue)}.mk-hero-visual{z-index:3;min-width:0;position:relative}.mk-dashboard{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform-origin:50%;background:#ffffffeb;border:1px solid #4960a02e;border-radius:25px;grid-template-columns:64px 1fr;width:100%;min-height:495px;display:grid;overflow:hidden;transform:perspective(1400px)rotateY(-2deg)rotateX(1deg);box-shadow:0 32px 80px #233a7029,0 8px 24px #233a7014}.mk-dash-sidebar{background:#fbfcff;border-right:1px solid #eef1f6;flex-direction:column;align-items:center;gap:12px;padding:18px 12px;display:flex}.mk-dash-logo{width:34px;height:34px;margin-bottom:10px}.mk-dash-sidebar>span{color:#7b86a0;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.mk-dash-sidebar>span.active{background:var(--mk-blue-pale);color:var(--mk-blue)}.mk-dash-sidebar svg{width:18px;height:18px}.mk-dash-main{min-width:0;padding:23px}.mk-dash-top{justify-content:space-between;align-items:center;gap:18px;display:flex}.mk-dash-top small,.mk-dash-top strong{display:block}.mk-dash-top small{color:#8a95aa;margin-bottom:4px;font-size:9px}.mk-dash-top strong{letter-spacing:-.02em;font-size:17px}.mk-live{color:#13865c;background:#e9faf3;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:900}.mk-live i{background:var(--mk-green);border-radius:50%;width:6px;height:6px;margin-right:5px;animation:2s infinite mkPulse;display:inline-block;box-shadow:0 0 0 4px #18a76f1a}.mk-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:19px;display:grid}.mk-stat-grid article{background:#fbfcff;border:1px solid #e8ecf4;border-radius:14px;min-width:0;padding:13px}.mk-stat-grid span,.mk-stat-grid strong,.mk-stat-grid em{display:block}.mk-stat-grid span{color:#7a869e;font-size:8px;font-weight:750}.mk-stat-grid strong{color:#152248;letter-spacing:-.04em;margin-top:7px;font-size:21px}.mk-stat-grid strong small{color:#8994a9;font-size:11px}.mk-stat-grid em{color:var(--mk-green);margin-top:3px;font-size:7.5px;font-style:normal;font-weight:850}.mk-dash-grid{grid-template-columns:1.18fr .82fr;gap:10px;margin-top:10px;display:grid}.mk-dash-grid>article{background:#fff;border:1px solid #e8ecf4;border-radius:15px;min-height:146px;padding:14px}.mk-card-title{color:#2d395c;justify-content:space-between;align-items:center;gap:8px;font-size:9px;display:flex}.mk-card-title small{color:#8994aa;font-size:7px}.mk-card-title svg{width:15px;height:15px;color:var(--mk-blue)}.mk-chart{background:linear-gradient(0deg,#315cf506 1px,#0000 1px) 0 0/100% 25%;border-bottom:1px solid #eef1f5;align-items:end;gap:7px;height:74px;margin-top:14px;display:flex}.mk-chart span{transform-origin:bottom;background:linear-gradient(#7fa4ff,#315cf5);border-radius:6px 6px 2px 2px;flex:1;min-width:6px;animation:1.4s cubic-bezier(.2,.8,.2,1) both mkGrow}.mk-chart span:nth-child(2){animation-delay:80ms}.mk-chart span:nth-child(3){animation-delay:.16s}.mk-chart span:nth-child(4){animation-delay:.24s}.mk-chart span:nth-child(5){animation-delay:.32s}.mk-chart span:nth-child(6){animation-delay:.4s}.mk-chart span:nth-child(7){animation-delay:.48s}.mk-chart-labels{color:#a0a9ba;justify-content:space-around;margin-top:5px;font-size:6px;display:flex}.mk-insights-card p{color:#67738c;grid-template-columns:7px 1fr;align-items:start;gap:7px;margin:11px 0 0;font-size:7.5px;line-height:1.45;display:grid}.mk-insights-card i{border-radius:50%;width:7px;height:7px;margin-top:2px}.mk-insights-card .green{background:var(--mk-green)}.mk-insights-card .amber{background:var(--mk-amber)}.mk-insights-card .blue{background:var(--mk-blue)}.mk-timetable-card p{color:#56647e;background:#f7f9fd;border-radius:9px;grid-template-columns:38px 1fr auto;align-items:center;gap:7px;margin:8px 0 0;padding:7px 8px;font-size:7px;display:grid}.mk-timetable-card time{color:#8b96a9}.mk-timetable-card b{color:var(--mk-green);font-size:6px}.mk-timetable-card p.clash{background:#fff4f5}.mk-timetable-card p.clash b{color:var(--mk-red)}.mk-meeting-card{position:relative;overflow:hidden}.mk-meeting-card:after{content:"";background:var(--mk-purple-pale);border-radius:50%;width:110px;height:110px;position:absolute;bottom:-55px;right:-55px}.mk-avatar-stack{margin-top:15px;display:flex}.mk-avatar-stack span{color:#315cf5;background:#dfe6ff;border:2px solid #fff;border-radius:50%;place-items:center;width:31px;height:31px;margin-right:-7px;font-size:8px;font-weight:900;display:grid}.mk-meeting-card h4{margin:10px 0 2px;font-size:10px}.mk-meeting-card>p{color:#7f8aa0;margin:0;font-size:7px}.mk-meeting-card>small{color:#14845d;background:#eaf9f3;border-radius:7px;margin-top:10px;padding:5px 7px;font-size:6.5px;font-weight:850;display:inline-block}.mk-oryx{z-index:-1;opacity:.78;filter:drop-shadow(0 22px 30px #0b17391f);width:210px;height:auto;animation:5.5s ease-in-out infinite mkFloat;position:absolute;bottom:-60px;right:-100px}.oryx-soft{fill:#eaefffd1}.oryx-line{stroke:#132d66;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.oryx-eye{fill:#8a1538}.oryx-accent{stroke:#8a1538;stroke-width:5px;stroke-linecap:round}.mk-origin-note{z-index:4;color:#45577f;flex-direction:column;font-family:Georgia,serif;font-style:italic;display:flex;position:absolute;bottom:-48px;right:62px;transform:rotate(-3deg)}.mk-origin-note strong{color:var(--mk-maroon);font-size:14px}.mk-origin-note span{font-size:12px}.mk-connected,.mk-flow-section,.mk-product-stories,.mk-roles,.mk-qatar,.mk-final-cta{max-width:1320px;margin:0 auto;padding-left:28px;padding-right:28px}.mk-connected{padding-top:110px;padding-bottom:88px}.mk-section-heading{max-width:660px}.mk-section-heading.centered{text-align:center;max-width:760px;margin:0 auto}.mk-section-heading h2,.mk-story h2,.mk-qatar h2,.mk-final-cta h2{letter-spacing:-.05em;margin:0;font-size:clamp(38px,4.4vw,58px);line-height:1.02}.mk-section-heading>p:last-child,.mk-story>div:first-child>p:last-of-type,.mk-qatar-copy>p,.mk-final-cta>div>p:last-child{color:var(--mk-soft);margin:18px 0 0;font-size:15px;line-height:1.65}.mk-feature-grid{grid-template-columns:repeat(6,1fr);gap:12px;margin-top:44px;display:grid}.mk-feature-card{border:1px solid var(--mk-line);background:#fff;border-radius:20px;min-height:210px;padding:22px 18px;transition:transform .2s,border-color .2s,box-shadow .2s;box-shadow:0 9px 30px #20325a0a}.mk-feature-card:hover{border-color:#ced7fb;transform:translateY(-4px);box-shadow:0 16px 34px #20325a14}.mk-icon,.mk-flow-icon{background:var(--mk-blue-pale);width:44px;height:44px;color:var(--mk-blue);border-radius:13px;place-items:center;display:grid}.mk-feature-card:nth-child(4) .mk-icon{color:#7a49df;background:#f5efff}.mk-feature-card:nth-child(3) .mk-icon{color:#d94b58;background:#fff2f3}.mk-feature-card h3{letter-spacing:-.02em;margin:18px 0 8px;font-size:15px}.mk-feature-card p{color:var(--mk-soft);margin:0;font-size:12px;line-height:1.6}.mk-flow-section{padding-top:96px;padding-bottom:110px}.mk-flow{border:1px solid var(--mk-line);background:linear-gradient(135deg,#fbfcff,#f7f9ff);border-radius:26px;grid-template-columns:1fr 42px 1fr 42px 1fr 42px 1fr 42px 1fr;align-items:center;margin-top:54px;padding:26px;display:grid}.mk-flow article{text-align:center;padding:18px 14px}.mk-flow article>b{color:#abb4c6;margin-bottom:12px;font-size:9px;display:block}.mk-flow-icon{margin:0 auto}.mk-flow article h3{margin:12px 0 6px;font-size:14px}.mk-flow article p{color:var(--mk-soft);margin:0;font-size:10px;line-height:1.55}.mk-flow-line{background:#cfd7ee;height:1px;position:relative}.mk-flow-line span{background:var(--mk-blue);border-radius:50%;width:7px;height:7px;animation:2.8s linear infinite mkTravel;position:absolute;top:-3px;left:0}.mk-product-stories{gap:22px;padding-bottom:110px;display:grid}.mk-story{border:1px solid var(--mk-line);background:#fff;border-radius:30px;grid-template-columns:.78fr 1.22fr;align-items:center;gap:52px;min-height:430px;padding:52px;display:grid;position:relative;overflow:hidden}.mk-story:nth-child(2n){background:#fafbff}.mk-story>div:first-child{z-index:2;position:relative}.mk-story h2{font-size:clamp(34px,3.6vw,52px)}.mk-story-link{align-items:center;gap:9px;margin-top:22px;font-size:12px;font-weight:850;display:inline-flex;color:var(--mk-blue)!important}.mk-story-link svg{width:17px;height:17px}.mk-attendance-demo{justify-content:center;align-items:center;gap:16px;display:flex}.mk-phone{background:#fff;border:6px solid #16233f;border-radius:24px;width:120px;height:210px;padding:12px;box-shadow:0 22px 40px #15234424}.mk-phone small{color:#8190aa;text-align:center;margin-top:14px;font-size:8px;display:block}.mk-mini-qr{aspect-ratio:1;background:#f6f8fc;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:4px;padding:7px;display:grid}.mk-mini-qr i{background:#152343;border-radius:2px}.mk-mini-qr i:nth-child(2),.mk-mini-qr i:nth-child(4),.mk-mini-qr i:nth-child(6),.mk-mini-qr i:nth-child(8){background:0 0;border:3px solid #152343}.mk-demo-arrow,.mk-resolve-arrow{color:#8293c6;font-size:24px;font-weight:400}.mk-present-card,.mk-count-card{text-align:center;background:#fff;border:1px solid #e3e8f3;border-radius:18px;min-width:130px;padding:20px;box-shadow:0 13px 26px #25376312}.mk-present-card>span{width:42px;height:42px;color:var(--mk-green);background:#e9faf2;border-radius:50%;place-items:center;margin:0 auto 10px;display:grid}.mk-present-card strong,.mk-present-card small,.mk-count-card strong,.mk-count-card span,.mk-count-card b{display:block}.mk-present-card strong{font-size:15px}.mk-present-card small{color:#8a96aa;margin-top:4px;font-size:9px}.mk-count-card strong{font-size:20px}.mk-count-card span{color:#7f8ba1;margin-top:4px;font-size:9px}.mk-count-card b{color:var(--mk-green);margin-top:12px;font-size:11px}.mk-clash-demo{grid-template-columns:1fr 1fr 42px 1fr;align-items:stretch;gap:11px;display:grid}.mk-class-block{background:#f7f9ff;border:1px solid #dae2fb;border-radius:18px;padding:22px}.mk-class-block small,.mk-class-block strong,.mk-class-block span,.mk-class-block em{display:block}.mk-class-block small{color:#7889b1;font-size:8px;font-weight:800}.mk-class-block strong{margin-top:12px;font-size:15px}.mk-class-block span{color:#74809a;margin-top:5px;font-size:9px}.mk-class-block em{color:var(--mk-blue);margin-top:20px;font-size:8px;font-style:normal;font-weight:850}.mk-class-block em svg{vertical-align:-3px;width:13px;height:13px;margin-right:4px;display:inline-block}.mk-class-block.danger{background:#fff7f8;border-color:#f4ccd1}.mk-class-block.danger em{color:var(--mk-red)}.mk-class-block.success{background:#f5fcf9;border-color:#c9eadc}.mk-class-block.success em{color:var(--mk-green)}.mk-resolve-arrow{place-items:center;display:grid}.mk-parent-demo{background:linear-gradient(145deg,#fff,#fafbff);border:1px solid #e1e6f1;border-radius:22px;padding:28px;box-shadow:0 20px 42px #22345c14}.mk-student-head{grid-template-columns:48px 1fr auto;align-items:center;gap:13px;display:grid}.mk-student-head>span{width:48px;height:48px;color:var(--mk-blue);background:#eef2ff;border-radius:16px;place-items:center;font-size:13px;font-weight:900;display:grid}.mk-student-head strong,.mk-student-head small{display:block}.mk-student-head strong{font-size:14px}.mk-student-head small{color:#8290a8;margin-top:4px;font-size:9px}.mk-student-head>b{color:#7543ce;background:#f4efff;border-radius:9px;padding:8px 10px;font-size:8px}.mk-parent-metrics{grid-template-columns:repeat(3,1fr);gap:9px;margin-top:20px;display:grid}.mk-parent-metrics span{background:#f7f9fc;border-radius:13px;padding:14px}.mk-parent-metrics small,.mk-parent-metrics strong{display:block}.mk-parent-metrics small{color:#8995aa;font-size:8px}.mk-parent-metrics strong{margin-top:5px;font-size:15px}.mk-parent-note{color:#596883;background:#f0f4ff;border-radius:14px;grid-template-columns:34px 1fr;gap:12px;margin-top:18px;padding:15px;display:grid}.mk-parent-note>svg{width:20px;height:20px;color:var(--mk-blue)}.mk-parent-note p{margin:0;font-size:10px;line-height:1.55}.mk-parent-note strong{color:#26375d}.mk-roles{padding-top:10px;padding-bottom:110px}.mk-role-grid{grid-template-columns:repeat(3,1fr);gap:15px;margin-top:42px;display:grid}.mk-role-grid article{color:#fff;background:#0f1d3e;border-radius:24px;min-height:320px;padding:30px}.mk-role-grid article:nth-child(2){background:#173c8a}.mk-role-grid article:nth-child(3){color:var(--mk-ink);background:#f4f7ff;border:1px solid #e1e7f4}.mk-role-grid article>span{color:#aab9df;letter-spacing:.14em;text-transform:uppercase;font-size:9px;font-weight:850}.mk-role-grid article:nth-child(3)>span{color:#6074ad}.mk-role-grid h3{letter-spacing:-.04em;margin:16px 0 28px;font-size:29px;line-height:1.07}.mk-role-grid ul{color:#cad4ea;gap:13px;margin:0;padding:0;font-size:11px;list-style:none;display:grid}.mk-role-grid article:nth-child(3) ul{color:#65718b}.mk-role-grid li{align-items:flex-start;gap:8px;display:flex}.mk-role-grid li svg{color:#79a6ff;flex:none;width:16px;height:16px}.mk-role-grid article:nth-child(3) li svg{color:var(--mk-blue)}.mk-qatar{background:linear-gradient(115deg,#f7f9ff 0%,#fff 52%,#fff7fa 100%);border:1px solid #e8eaf1;border-radius:34px;grid-template-columns:.95fr 1.05fr;align-items:center;gap:70px;min-height:560px;margin-bottom:110px;padding-top:56px;padding-bottom:56px;display:grid;position:relative;overflow:hidden}.mk-qatar:after{content:"";border:70px solid #8a153809;border-radius:50%;width:520px;height:520px;position:absolute;bottom:-210px;right:-150px}.mk-qatar-art{min-height:420px;position:relative}.mk-qatar-art .mk-oryx{z-index:2;opacity:1;width:310px;bottom:-14px;right:12%}.mk-qatar-rings i{border:1px solid #315cf517;border-radius:50%;width:330px;height:330px;position:absolute;top:12%;left:9%}.mk-qatar-rings i:nth-child(2){width:250px;height:250px;top:20%;left:17%}.mk-qatar-rings i:nth-child(3){width:170px;height:170px;top:28%;left:25%}.mk-qatar-copy{z-index:3;max-width:620px;position:relative}.mk-qatar-copy>p{max-width:570px}.mk-qatar-values{flex-wrap:wrap;gap:11px;margin-top:29px;display:flex}.mk-qatar-values span{color:#4d5b78;background:#ffffffd1;border:1px solid #e1e6f1;border-radius:13px;align-items:center;gap:9px;min-height:54px;padding:0 14px;font-size:10px;display:inline-flex}.mk-qatar-values svg{width:17px;height:17px;color:var(--mk-blue)}.mk-final-cta{color:#fff;background:#0c1939;border-radius:34px;justify-content:space-between;align-items:end;gap:50px;min-height:380px;margin-bottom:70px;padding-top:58px;padding-bottom:58px;display:flex;position:relative;overflow:hidden}.mk-final-cta:before{content:"";background:radial-gradient(circle,#576fff6b,#576fff0d 55%,#0000 70%);border-radius:50%;width:460px;height:460px;position:absolute;top:-190px;right:-120px}.mk-final-cta>div{z-index:2;max-width:650px;position:relative}.mk-final-cta .mk-kicker{color:#9bb0ff}.mk-final-cta>div>p:last-child{color:#b8c3dd}.mk-final-actions{z-index:2;flex-wrap:wrap;justify-content:flex-end;display:flex;position:relative}.mk-final-cta .mk-button-ghost{background:#ffffff12;border-color:#ffffff40;color:#fff!important}.mk-footer{color:#79859b;border-top:1px solid #e8ebf2;grid-template-columns:210px 1fr auto auto;align-items:center;gap:30px;max-width:1320px;margin:0 auto;padding:36px 28px 48px;font-size:10px;display:grid}.mk-footer img{width:165px}.mk-footer p{margin:0}.mk-footer div{color:#52607a;gap:20px;font-weight:700;display:flex}.mk-footer small{color:#8a1538;font-weight:750}@keyframes mkPulse{0%,to{box-shadow:0 0 #18a76f26}50%{box-shadow:0 0 0 7px #18a76f00}}@keyframes mkGrow{0%{opacity:.3;transform:scaleY(.08)}to{opacity:1;transform:scaleY(1)}}@keyframes mkFloat{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-10px)rotate(1deg)}}@keyframes mkTravel{0%{left:0}to{left:calc(100% - 7px)}}@media (width<=1180px){.mk-nav{grid-template-columns:1fr auto}.mk-nav-links{display:none}.mk-hero{grid-template-columns:1fr;padding-top:50px}.mk-hero-copy{max-width:800px}.mk-hero-visual{width:100%;max-width:820px;margin:0 auto}.mk-oryx{right:-20px}.mk-feature-grid{grid-template-columns:repeat(3,1fr)}.mk-story{grid-template-columns:1fr}.mk-attendance-demo{justify-content:flex-start}.mk-qatar{grid-template-columns:.8fr 1.2fr}.mk-footer{grid-template-columns:180px 1fr auto}.mk-footer small{grid-column:1/-1}}@media (width<=800px){.mk-nav{height:76px;padding:0 18px}.mk-brand img{width:164px}.mk-nav-actions .mk-text-link{display:none}.mk-button-small{padding:0 12px;font-size:11px}.mk-hero{gap:54px;min-height:auto;padding:48px 22px 86px}.mk-origin-pill{font-size:9px}.mk-hero h1{font-size:clamp(48px,12vw,68px)}.mk-hero-lead{font-size:15px}.mk-trust-row{gap:12px}.mk-dashboard{grid-template-columns:46px 1fr;transform:none}.mk-dash-sidebar{padding:14px 6px}.mk-dash-sidebar>span{width:31px;height:31px}.mk-dash-sidebar svg{width:15px;height:15px}.mk-dash-main{padding:15px}.mk-stat-grid{grid-template-columns:repeat(2,1fr)}.mk-dash-grid{grid-template-columns:1fr}.mk-dashboard{max-height:690px}.mk-oryx{display:none}.mk-origin-note{bottom:-44px;right:10px}.mk-connected,.mk-flow-section,.mk-product-stories,.mk-roles,.mk-qatar,.mk-final-cta{padding-left:20px;padding-right:20px}.mk-connected{padding-top:88px}.mk-feature-grid{grid-template-columns:repeat(2,1fr)}.mk-feature-card{min-height:190px}.mk-flow{grid-template-columns:1fr;gap:0}.mk-flow-line{background:#cfd7ee;width:1px;height:28px;margin:0 auto}.mk-flow-line span{display:none}.mk-story{padding:32px 22px}.mk-attendance-demo{padding-bottom:10px;overflow-x:auto}.mk-clash-demo{grid-template-columns:1fr}.mk-resolve-arrow{transform:rotate(90deg)}.mk-parent-metrics{grid-template-columns:1fr 1fr 1fr}.mk-role-grid{grid-template-columns:1fr}.mk-role-grid article{min-height:auto}.mk-qatar{grid-template-columns:1fr}.mk-qatar-art{min-height:260px}.mk-qatar-art .mk-oryx{width:230px;display:block;right:25%}.mk-qatar-rings i{width:240px;height:240px}.mk-qatar-rings i:nth-child(2){width:180px;height:180px}.mk-qatar-rings i:nth-child(3){width:120px;height:120px}.mk-final-cta{flex-direction:column;align-items:flex-start;min-height:auto;padding-top:48px;padding-bottom:48px}.mk-final-actions{justify-content:flex-start}.mk-footer{grid-template-columns:1fr}.mk-footer div{flex-wrap:wrap}}@media (width<=520px){.mk-nav-actions .mk-button-small{width:44px;min-width:44px;padding:0;font-size:0}.mk-nav-actions .mk-button-small svg{margin:0}.mk-hero{padding-left:18px;padding-right:18px}.mk-hero h1{font-size:46px}.mk-hero-actions{display:grid}.mk-button{width:100%}.mk-trust-row{display:grid}.mk-dash-top strong{font-size:14px}.mk-stat-grid strong{font-size:18px}.mk-dash-grid>article{min-height:132px}.mk-dashboard{border-radius:18px}.mk-feature-grid{grid-template-columns:1fr}.mk-feature-card{min-height:auto}.mk-parent-metrics{grid-template-columns:1fr}.mk-student-head{grid-template-columns:44px 1fr}.mk-student-head>b{grid-column:1/-1;width:fit-content}.mk-qatar{margin-left:12px;margin-right:12px}.mk-qatar-art .mk-oryx{right:14%}.mk-section-heading h2,.mk-story h2,.mk-qatar h2,.mk-final-cta h2{font-size:38px}}@media (prefers-reduced-motion:reduce){.marketing-page *,.marketing-page :before,.marketing-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.test-site-banner{z-index:2000;color:#fff7ed;letter-spacing:.08em;text-align:center;background:#7c2d12;place-items:center;min-height:34px;padding:7px 16px;font-size:12px;font-weight:900;display:grid;position:sticky;top:0}.report-cycle-management-heading,.report-management-actions,.report-request-list article header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.report-management-actions{justify-content:flex-start}.report-cycle-management h3{margin:6px 0}.report-cycle-management p,.report-weight-request p{color:var(--muted,#51627a);line-height:1.5}.report-management-form{gap:18px;padding:8px 0;display:grid}.report-management-form label{gap:7px;font-size:14px;font-weight:600;display:grid}.report-management-form input,.report-management-form select,.report-management-form textarea{color:#102442;width:100%;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:10px 12px}.report-management-form textarea{resize:vertical;min-height:100px}.report-subject-picker{border:1px solid #dbe3ee;border-radius:12px;max-height:300px;padding:16px;overflow:auto}.report-subject-picker legend{padding:0 6px;font-weight:700}.report-subject-picker .checkbox-line{align-items:center;gap:10px;padding:8px 0;font-size:14px;display:flex}.report-subject-picker input[type=checkbox]{flex-shrink:0;width:18px;height:18px}.report-request-list{border-top:1px solid #dbe3ee;margin-top:18px;padding-top:16px}.report-request-list summary{cursor:pointer;font-weight:700}.report-request-list article{border-bottom:1px solid #dbe3ee;padding:14px 0}.report-request-list header span{text-transform:capitalize;background:#edf3ff;border-radius:20px;padding:4px 10px;font-size:14px}.report-weight-request{background:#f0f6ff;border:1px solid #c7daf5;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:20px;display:flex}.report-weight-request>div{flex:1;min-width:230px}.report-weight-request details,.report-weight-request>small{flex-basis:100%}.report-weight-request summary{cursor:pointer}.report-cycle-management .danger-action{color:#ad2432}@media (width<=640px){.report-management-actions{width:100%}.report-management-actions button{flex:auto}.report-management-form .two-column-fields{grid-template-columns:1fr}}.session-toolbar{flex-wrap:wrap;align-items:center;gap:16px;margin:16px 0;display:flex}.session-toolbar p{gap:4px;margin:0;display:grid}.session-toolbar>small{color:#50617b;margin-left:auto}.session-view-toggle{background:#eef2f8;border-radius:10px;gap:4px;padding:4px;display:flex}.session-view-toggle button{background:0 0;border:0;border-radius:7px;padding:8px 18px;font-weight:700}.session-view-toggle button[aria-pressed=true]{color:#fff;background:#143c79}.session-grid-scroll{border:1px solid #d4deed;border-radius:16px;overflow:auto}.session-grid{table-layout:fixed;border-collapse:collapse;width:100%;min-width:940px}.session-grid.day{min-width:0}.session-grid th:first-child{width:76px}.session-grid th,.session-grid td{vertical-align:top;text-align:left;border-bottom:1px solid #dce4ee;border-right:1px solid #dce4ee;padding:10px}.session-grid thead th{background:#f3f6fc;padding:16px 10px;font-size:16px}.session-grid tbody th{vertical-align:middle;color:#173967;background:#f5f7fb}.session-grid th b{font-size:20px}.session-grid .is-today{background:#edf4ff}.session-grid thead .is-today{color:#fff;background:#16478f}.session-grid thead small{margin-top:4px;font-size:12px;display:block}.session-grid td.is-free{background:repeating-linear-gradient(135deg,#f3f6fa,#f3f6fa 8px,#f8fafc 8px 16px)}.session-cell-time{color:#52647d;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.session-free-label{color:#65738b;min-height:60px;padding:16px 0;font-size:14px;display:block}.session-class{background:#fff;border:1px solid #dce4ee;border-left:4px solid #285cc8;border-radius:10px;margin-bottom:8px;position:relative;overflow:hidden;box-shadow:0 2px 4px #16386709}.session-class>button,.session-class>div{text-align:left;color:#173458;background:0 0;border:0;gap:6px;width:100%;padding:12px;font-size:14px;line-height:1.4;display:grid}.session-class strong{font-size:15px}.session-class small{font-size:12px}.session-class.has-issue{outline:2px solid #cb3844}.session-now{color:#087242;font-size:12px}.session-notes{color:#52647d;padding:0 12px 10px;font-size:12px}.session-notes summary{cursor:pointer}.session-notes p{overflow-wrap:anywhere}.session-add{color:#27518b;background:0 0;border:1px dashed #a6b7ce;border-radius:8px;width:100%;padding:8px}.session-break td,.session-break th{color:#546078;font-size:12px;background:#e5ebf4!important}.session-break small{display:block}.session-continues{background:#e7f0fc;border-radius:8px;padding:10px;font-size:13px}.session-toolbar select{margin-left:8px;padding:6px}.session-grid.day th:first-child{width:62px}@media print{.session-toolbar,.session-add,.session-notes{display:none!important}.session-grid-scroll{overflow:visible!important}.session-grid{width:100%!important;min-width:0!important}.session-grid th,.session-grid td{padding:4px!important}.session-class>button,.session-class>div{gap:3px!important;padding:5px!important;font-size:9px!important}.session-class strong{font-size:10px!important}.session-class small,.session-cell-time{font-size:8px!important}.session-grid th:first-child{width:38px!important}.session-grid th b{font-size:12px!important}.session-free-label{min-height:20px!important;font-size:9px!important}.session-grid tr{break-inside:avoid}}.teacher-report-window{background:#f4f7fc;width:100%;max-width:none;min-height:100vh;padding:24px}.teacher-report-window>header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.teacher-report-window>header p{color:#50617b;font-size:14px}.teacher-report-window .report-card-workspace,.teacher-report-window .teacher-report-workspace{width:100%;max-width:none}.report-open-window{margin-bottom:12px}@media (width<=640px){.teacher-report-window{padding:12px}.teacher-report-window>header{flex-wrap:wrap}}.roster-review-filters{flex-wrap:wrap;gap:16px;margin:20px 0;display:flex}.roster-review-filters>label{flex:1;min-width:180px}.roster-review-list{border:1px solid #dbe3ec;border-radius:12px;max-height:44vh;overflow:auto}.roster-review-list table{border-collapse:collapse;width:100%}.roster-review-list td,.roster-review-list th{text-align:left;border-bottom:1px solid #e4eaf0;padding:12px}.roster-review-list th{background:#f4f7fb;position:sticky;top:0}.roster-review-list small{color:#50647d;display:block}.roster-review-list input[type=checkbox]{width:18px;height:18px}.roster-confirm{background:#eff6ff;border-radius:12px;padding:16px}.publication-checks{background:#f4f7fb;border-radius:12px;padding:20px}.publication-checks button{text-align:left;margin-top:10px;display:block}.clash-comparisons details ul{max-height:240px;overflow:auto}.attendance-follow-up{padding:20px 0}.attendance-follow-up>details{border:1px solid #dbe3ec;border-radius:12px;margin-top:16px;padding:16px}.attendance-follow-up summary{cursor:pointer;font-weight:700}.attendance-followup-row{border-bottom:1px solid #e4eaf0;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:16px 0;display:flex}.attendance-followup-row small{color:#50647d;display:block}.student-import-review{width:100%}.student-import-review table{min-width:500px}.phone-registration-result{color:#435164;background:#f6f7f9;border:1px solid #dce2e8;border-radius:12px;margin-top:20px;padding:14px 16px;font-size:.875rem;line-height:1.5}.phone-registration-result p{margin:0}.phone-registration-result.complete{color:#175839;background:#effaf3;border-color:#b9ddc8;padding:28px 20px}.phone-registration-result.complete>span{margin-bottom:10px;font-size:2rem;display:block}.phone-registration-result.complete strong{margin-bottom:8px;font-size:1.25rem;display:block}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.admin-shell{--ink:#172b49;--ink-soft:#52627a;--green:#2463eb;--paper:#f5f7fb;--line:#dbe2ee;background:var(--paper);color:var(--ink);min-height:calc(100dvh - 34px);padding:0 32px 60px 284px;font-size:14px}.admin-shell *,.portal-dialog *{box-sizing:border-box}.admin-shell .admin-header{border-bottom:1px solid var(--line);gap:16px;height:auto;min-height:76px;padding:16px 0}.admin-shell .brand-mark,.sidebar-brand .brand-mark{color:#fff;background:#2463eb;border-radius:12px}.admin-shell .admin-intro{gap:24px;padding:30px 0 24px}.admin-shell .admin-intro h1{letter-spacing:-1px;font-size:clamp(26px,3vw,36px);line-height:1.15}.admin-shell .admin-intro p{max-width:680px;margin-top:8px;font-size:14px;line-height:1.6}.admin-shell .summary-row{gap:24px}.admin-shell .summary-row strong{font-size:27px}.admin-shell .summary-row span{font-size:12px}.admin-shell .portal-tab-content{min-width:0;scroll-margin-top:104px}.admin-shell .panel{border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 2px 8px #172b4905}.admin-shell .panel-heading{gap:16px;margin-bottom:20px}.admin-shell .panel-heading h2{font-size:22px}.admin-shell .section-kicker,.portal-dialog .section-kicker,.admin-shell .eyebrow{letter-spacing:.07em;color:#536987;font-size:12px}.admin-shell label,.portal-dialog label{letter-spacing:0;text-transform:none;font-size:13px;line-height:1.45}.admin-shell input:not([type=checkbox]):not([type=radio]):not([type=file]),.admin-shell select,.portal-dialog input:not([type=checkbox]):not([type=radio]):not([type=file]),.portal-dialog select{border-radius:8px;min-height:42px;font-size:14px}.admin-shell textarea,.portal-dialog textarea{border-radius:8px;font-size:14px;line-height:1.5}.admin-shell :is(button,a):focus-visible,.portal-dialog :is(button,a):focus-visible{outline-offset:3px;outline:3px solid #2563eb}.admin-shell :is(input,select,textarea):focus-visible,.portal-dialog :is(input,select,textarea):focus-visible{outline-offset:1px;outline:2px solid #2563eb}.admin-shell small,.portal-dialog small{font-size:12px;line-height:1.5}.admin-shell :is(.primary-button,.secondary-button,.ghost-button,.upload-button,.danger-button),.portal-dialog :is(.primary-button,.secondary-button,.ghost-button,.upload-button,.danger-button){border-radius:9px;min-height:42px;padding:10px 16px;font-size:13px;line-height:1.3}.admin-shell .primary-button,.portal-dialog .primary-button{color:#fff;background:#2463eb;border-color:#2463eb}.admin-shell .primary-button:hover:not(:disabled),.portal-dialog .primary-button:hover:not(:disabled){background:#194dc2}.admin-shell .secondary-button,.portal-dialog .secondary-button{color:#233b60;background:#fff;border:1px solid #cdd6e5}.admin-shell .count-pill{color:#1d51bb;background:#edf3ff;font-size:13px}.admin-shell .row-actions button{min-height:36px;padding:8px 10px;font-size:12px}.admin-shell .status,.admin-shell .history-button{font-size:12px}.admin-shell .modal-backdrop{z-index:2100}.portal-navigation{z-index:100;background:#fff;border:1px solid #dbe2ee;border-radius:18px;width:236px;padding:20px 12px;position:fixed;top:50px;bottom:16px;left:16px;overflow-y:auto;box-shadow:0 8px 30px #172b4905}.sidebar-brand{align-items:center;gap:10px;padding:2px 8px 22px;display:flex}.sidebar-brand strong{letter-spacing:-.4px;font-size:19px;display:block}.sidebar-brand small{color:#65748d;font-size:12px;display:block}.sidebar-brand .brand-mark{place-items:center;width:38px;height:38px;font-weight:800;display:grid}.portal-nav-group{margin-bottom:17px}.portal-nav-group:last-child{margin-bottom:0}.portal-nav-group-label{color:#66758d;text-transform:uppercase;letter-spacing:.08em;padding:0 12px 7px;font-size:12px;font-weight:700;display:block}.portal-nav-item{color:#53627b;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;width:100%;min-height:43px;margin-top:3px;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.portal-nav-item svg{flex-shrink:0}.portal-nav-item span{flex:1}.portal-nav-item b{color:#52627a;background:#edf0f6;border-radius:5px;padding:2px 6px;font-size:12px;font-weight:600}.portal-nav-item:hover{background:#f3f6fc}.portal-nav-item.active{color:#1f56cb;background:#eaf1ff}.portal-nav-item.active b{color:#1f56cb;background:#dce8ff}.portal-mobile-toggle{display:none}.portal-dialog{--ink:#172b49;--ink-soft:#52627a;--green:#2463eb;color:#172b49;background:#fff;border:1px solid #dbe2ee;border-radius:18px;width:min(760px,100% - 32px);max-height:calc(100dvh - 64px);margin:auto;padding:28px;overflow-y:auto;box-shadow:0 24px 100px #0718314d}.portal-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#101e3b80}.portal-dialog-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.portal-dialog-heading h2{letter-spacing:-.5px;margin:0;font-size:22px}.portal-dialog .dialog-close{color:#52627a;cursor:pointer;background:#f5f7fb;border:1px solid #dbe2ee;border-radius:10px;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:24px;display:grid}.portal-dialog p{color:#52627a;font-size:14px;line-height:1.6}.portal-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:26px;display:flex}.portal-dialog .student-intake-form,.portal-dialog .bulk-import-card{background:#fff;border:0;margin:0;padding:0}.portal-dialog .student-intake-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-dialog .student-intake-form .entry-heading{display:none}.portal-dialog .import-actions{flex-wrap:wrap}.portal-dialog .form-error{color:#a52834}.load-error-card{text-align:center;background:#fff;border:1px solid #dbe2ee;border-radius:16px;width:min(480px,100% - 40px);padding:32px}.load-error-card h1{margin:12px 0;font-size:24px}.load-error-card p{color:#52627a;margin:16px 0 24px}.directory-actions{justify-content:flex-end;gap:10px;margin-bottom:20px;display:flex}.directory-filters{background:#f5f7fb;border-radius:12px;grid-template-columns:minmax(180px,1.6fr) repeat(4,minmax(120px,1fr));gap:12px;padding:16px;display:grid}.directory-filters label{align-content:start;gap:7px;min-width:0;margin:0;display:grid}.directory-filters :is(input,select){background:#fff;width:100%;min-width:0}.directory-summary{color:#5d6c85;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;font-size:13px;display:flex}.directory-summary button{min-height:36px;font-size:13px}.directory-pagination{color:#52627a;justify-content:space-between;align-items:center;gap:12px;padding-top:20px;font-size:13px;display:flex}.directory-pagination>div{gap:8px;display:flex}.admin-shell .student-table-head{text-transform:none;background:#f5f7fb;font-size:12px}.admin-shell .student-table-row{padding-top:16px;padding-bottom:16px}.admin-shell .student-table-row strong{font-size:14px}.admin-shell .student-email-cell{overflow-wrap:anywhere;font-size:13px}.import-reference-guide{background:#f5f8ff;border:1px solid #dbe2ee;border-radius:10px;margin:18px 0;padding:14px 16px}.import-reference-guide summary{cursor:pointer;font-size:14px;font-weight:700}.import-reference-list{max-height:320px;margin-top:12px;overflow-y:auto}.import-reference-list>div{border-top:1px solid #dbe2ee;grid-template-columns:130px 1fr 1fr;gap:12px;padding:10px 0;font-size:13px;display:grid}.import-reference-list>div span{color:#65748d}.admin-shell .timetable-import-problems :is(strong,span,small),.admin-shell .timetable-import-check :is(strong,span),.admin-shell .timetable-import-warnings p{font-size:13px;line-height:1.5}.admin-shell .timetable-import-problems>button{justify-self:start}.admin-shell .dashboard-followup-card{border:1px solid #d6e2fa;border-radius:12px;margin-bottom:22px}.admin-shell .dashboard-card-heading h3{font-size:18px}.admin-shell .dashboard-card-heading p{font-size:13px}.admin-shell .dashboard-kpis{margin-top:20px}.admin-shell .followup-row{font-size:13px}.admin-shell .followup-head{font-size:12px}.admin-shell .teacher-report-card-header p{font-size:14px}.admin-shell .teacher-results-panel .panel-heading p{max-width:720px;font-size:13px;line-height:1.5}.admin-shell .report-selection-fields{gap:14px}.admin-shell .report-selection-fields label{min-width:0}.report-entry-fields{border:0;min-width:0;margin:0;padding:0}.mobile-report-editor{display:none}.admin-shell .report-save-dock{z-index:10;border:1px solid #cfdbef;border-radius:12px;gap:14px;box-shadow:0 -6px 24px #172b4908}.admin-shell .report-save-dock strong{font-size:14px}.admin-shell .report-save-dock span,.admin-shell .teacher-grid-assessment-editor small,.admin-shell .teacher-grid-assessment-editor label span,.admin-shell .teacher-marks-grid th{font-size:12px}.admin-shell .teacher-marks-grid .assessment-special-buttons button{min-height:36px;font-size:12px}.admin-shell .teacher-marks-grid input{min-height:38px}.admin-shell .teacher-grid-result small{font-size:12px}@media (width>=1700px){.admin-shell{padding-left:max(284px,50vw - 538px);padding-right:max(32px,50vw - 790px)}.portal-navigation{left:max(16px,50vw - 806px)}}@media (width<=1200px){.directory-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-search{grid-column:1/-1}.admin-shell .admin-intro{align-items:flex-start}.admin-shell .summary-row{gap:16px}}@media (width<=1050px){.admin-shell{padding:0 20px 40px}.portal-navigation{z-index:100;border-radius:12px;width:100%;margin:14px 0;padding:0;position:sticky;top:42px;bottom:auto;left:auto;overflow:visible}.sidebar-brand{display:none}.portal-mobile-toggle{color:#233b60;cursor:pointer;background:#fff;border:0;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:50px;padding:12px 16px;font-size:14px;display:flex}.portal-mobile-toggle>span{align-items:center;gap:10px;display:flex}.portal-mobile-toggle>span:last-child{color:#52627a;font-size:12px}.portal-nav-groups{display:none}.portal-nav-groups.is-open{border-top:1px solid #dbe2ee;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:calc(100dvh - 160px);padding:16px;display:grid;overflow-y:auto}.portal-nav-group{margin:0}.admin-shell .admin-intro{padding:18px 0 24px}}@media (width<=760px){.admin-shell{padding:0 14px 32px}.admin-shell .admin-header{min-height:68px}.admin-shell .admin-intro{flex-direction:column;gap:18px}.admin-shell .admin-intro p{font-size:13px}.admin-shell .summary-row{justify-content:flex-start;gap:28px;width:100%}.admin-shell .summary-row strong{font-size:24px}.admin-shell .panel{border-radius:12px;padding:18px 16px}.admin-shell .panel-heading h2{font-size:21px}.admin-shell input:not([type=checkbox]):not([type=radio]):not([type=file]),.admin-shell select,.admin-shell textarea,.portal-dialog input:not([type=checkbox]):not([type=radio]):not([type=file]),.portal-dialog select,.portal-dialog textarea{min-height:44px;font-size:16px}.admin-shell :is(.primary-button,.secondary-button,.upload-button,.ghost-button,.danger-button),.portal-dialog :is(.primary-button,.secondary-button,.upload-button,.ghost-button,.danger-button){min-height:44px}.directory-actions{justify-content:stretch}.directory-actions>button{flex:1}.directory-filters{gap:12px;padding:12px}.directory-pagination{flex-direction:column;align-items:flex-start}.directory-pagination>div{width:100%}.directory-pagination button{flex:1}.admin-shell .student-table-head{display:none}.admin-shell .student-table-row.expanded{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:18px 8px}.admin-shell .student-table-row .placement-cell{grid-column:1}.admin-shell .student-email-cell{grid-column:1/-1}.admin-shell .student-table-row .status{grid-area:1/2}.admin-shell .student-table-row .row-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-start}.admin-shell .row-actions button{min-height:40px}.portal-dialog{max-height:calc(100dvh - 32px);padding:20px}.portal-dialog .student-intake-grid{grid-template-columns:1fr}.portal-dialog .student-intake-grid .wide-field{grid-column:auto}.portal-dialog-actions{flex-direction:column-reverse}.portal-dialog-actions>button{width:100%}.import-reference-list>div{grid-template-columns:1fr;gap:3px}.admin-shell .teacher-marks-grid-wrap{display:none}.mobile-report-editor{gap:16px;display:grid}.mobile-report-editor>label{gap:8px;margin:0;display:grid}.mobile-assessment-setup{border:1px solid #dbe2ee;border-radius:10px;padding:14px}.mobile-assessment-setup summary{cursor:pointer;font-size:14px;font-weight:700}.mobile-assessment-setup p{color:#52627a;margin:12px 0;font-size:13px}.mobile-assessment-fields{grid-template-columns:2fr 1fr;gap:10px;margin-top:12px;display:grid}.mobile-assessment-fields input{width:100%}.mobile-student-pagination{color:#52627a;justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.mobile-student-heading{background:#edf3ff;border-radius:10px;padding:16px}.mobile-student-heading h3{margin:0 0 5px;font-size:18px}.mobile-student-heading span{color:#52627a;font-size:13px}.mobile-assessment-card{border:1px solid #dbe2ee;border-radius:12px;grid-template-columns:minmax(0,1fr) 100px;align-items:center;gap:14px;padding:16px;display:grid}.mobile-assessment-card strong{font-size:15px;display:block}.mobile-assessment-card small{color:#52627a;margin-top:5px;display:block}.mobile-assessment-card label{margin:0}.mobile-assessment-card input{width:100%}.mobile-assessment-card .assessment-special-buttons{grid-column:1/-1;gap:10px;display:flex}.mobile-assessment-card .assessment-special-buttons button{flex:1;min-height:40px;font-size:13px}.mobile-result-summary{background:#f5f7fb;border-radius:10px;padding:16px}.mobile-result-summary>span{color:#52627a;font-size:13px}.mobile-result-summary strong{margin:5px 0;font-size:24px;display:block}.mobile-result-summary p{color:#52627a;margin:0;font-size:13px;line-height:1.5}.admin-shell .report-save-dock{flex-direction:column;align-items:stretch;margin-top:20px;padding:14px;bottom:8px}.admin-shell .report-save-dock>button{width:100%}.admin-shell .report-selection-fields,.admin-shell .report-results-toolbar{grid-template-columns:1fr;display:grid}.admin-shell .teacher-report-workflow-state{flex-direction:column;align-items:flex-start}.admin-shell .report-excel-steps{display:none}}@media print{.portal-navigation,.directory-actions,.directory-filters,.directory-pagination{display:none!important}.admin-shell{padding:0}.admin-shell .teacher-marks-grid-wrap{display:block}.mobile-report-editor{display:none}}.workflow-note{color:#53627b;margin:14px 0;font-size:14px;line-height:1.6}.workflow-counts{flex-wrap:wrap;gap:12px;margin:20px 0;display:flex}.workflow-counts>span{background:#f5f8ff;border:1px solid #dbe2ee;border-radius:10px;gap:4px;padding:12px 16px;font-size:14px;display:grid}.workflow-counts strong{font-size:22px}.workflow-stages{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:20px;display:grid}.workflow-stages button{text-align:left;cursor:pointer;color:#52627a;background:#fff;border:1px solid #dbe2ee;border-radius:10px;gap:8px;min-height:88px;padding:16px 12px;font-size:14px;display:grid}.workflow-stages strong{color:#172b49;font-size:24px}.workflow-stages button.active{background:#edf3ff;border-color:#2463eb;box-shadow:inset 0 0 0 1px #2463eb}.report-pdf-preview{background:#f4f6fa;border:1px solid #dbe2ee;border-radius:10px;width:100%;height:58dvh;min-height:320px;margin:20px 0;display:block}:is(.portal-dialog:has(.report-pdf-preview),.portal-dialog:has(.attendance-detail-table),.portal-dialog:has(.publication-change-list)){width:min(1040px,100% - 32px)}.portal-dialog .cohort-delivery-modal{width:100%;max-height:none;padding:0;overflow:visible}.missing-items{gap:16px;margin:20px 0;display:grid}.missing-items section{background:#fffbf4;border:1px solid #ead7bc;border-radius:10px;padding:16px}.missing-items h3{margin:0 0 12px;font-size:17px}.missing-items ul{padding-left:20px;font-size:14px;line-height:1.7}.admin-shell .report-student-card footer{flex-wrap:wrap;align-items:center;gap:10px}.admin-shell .timetable-week-grid{align-items:start}.planner-slot{border-bottom:1px solid #e2e8f1;min-height:94px;padding:12px 0}.planner-slot:last-child{border-bottom:0}.planner-slot-time{color:#61728d;margin:0 4px 8px;font-size:12px;display:block}.planner-slot .timetable-class-card{text-align:left;width:100%;margin-bottom:8px}.planner-add-slot{color:#31568e;text-align:center;cursor:pointer;background:#f7faff;border:1px dashed #c6d5eb;border-radius:8px;width:100%;min-height:44px;font-size:13px}.planner-add-slot:hover{background:#eaf1ff;border-color:#2463eb}.admin-shell .planner-check-panel{align-self:start}.planner-check-panel h2{margin:6px 0 10px;font-size:22px}.planner-check-panel h3{margin:22px 0 12px;font-size:16px}.planner-check-panel>label{gap:8px;margin-top:12px;display:grid}.planner-check-panel select{width:100%;min-width:0}.clash-comparisons{gap:12px;display:grid}.clash-comparisons>article{background:#fff8f8;border:1px solid #ecc4c4;border-radius:10px;padding:14px}.clash-comparisons>article>strong{color:#a72e39;margin-bottom:12px;font-size:14px;display:block}.clash-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.clash-pair>div{overflow-wrap:anywhere;align-content:start;gap:6px;font-size:13px;display:grid}.clash-pair>div+div{border-left:1px solid #e6c8c8;padding-left:12px}.planner-alternatives{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.planner-alternatives button{text-align:left}.planner-alternatives small{margin-top:4px;display:block}.planner-audience-summary{border:1px solid #dbe2ee;border-radius:10px;flex-wrap:wrap;gap:8px;margin:16px 0;padding:14px;display:flex}.planner-audience-summary>strong{width:100%;font-size:14px}.publication-change-list article>div{background:#f5f7fb;border-radius:8px;margin-top:8px;padding:12px}.publication-change-list article>div em{color:#52627a;width:100%;font-size:12px;font-style:normal;font-weight:600}.publication-change-list{gap:14px;display:grid}.publication-change-list>article{border:1px solid #dbe2ee;border-radius:10px;padding:16px}.publication-change-list article>strong{text-transform:capitalize;color:#31568e;margin-bottom:12px;display:block}.publication-change-list article>div{flex-wrap:wrap;gap:16px;display:flex}.publication-change-list section{background:#f5f7fb;border-radius:8px;flex:230px;padding:14px}.publication-change-list h3{margin:8px 0;font-size:16px}.attendance-shortcuts{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.attendance-shortcuts button{color:#31568e;cursor:pointer;background:#fff;border:1px solid #dbe2ee;border-radius:9px;min-height:44px;padding:10px 16px}.attendance-shortcuts button[aria-pressed=true]{color:#194dc2;background:#eaf1ff;border-color:#2463eb}.admin-shell .rate-detail-button{color:#194dc2;min-height:44px;font:inherit;text-underline-offset:3px;cursor:pointer;background:#edf3ff;border:1px solid #d4e2fc;border-radius:7px;padding:8px;font-weight:700;text-decoration:underline}.admin-shell .metric-rate .rate-detail-button{margin:8px 0;font-size:25px}.correction-reason{gap:10px;margin:20px 0 8px;font-weight:600;display:grid}.correction-reason textarea{border:1px solid #c6d5eb;width:100%;padding:12px}.correction-history{gap:18px;margin:24px 0;padding-left:24px;display:grid}.correction-history li{border-bottom:1px solid #dbe2ee;padding:0 0 16px 8px}.correction-history p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}.attendance-detail-scroll{width:100%;max-height:54dvh;margin-top:18px;overflow:auto}.attendance-detail-table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.attendance-detail-table th{color:#31568e;background:#edf3ff;font-weight:600;position:sticky;top:0}.attendance-detail-table :is(th,td){vertical-align:top;border-bottom:1px solid #dbe2ee;min-width:100px;padding:12px}.attendance-detail-table small,.attendance-detail-table button{margin-top:6px;display:block}.attendance-detail-table td:last-child{overflow-wrap:anywhere;max-width:280px}.attendance-print-sheet{display:none}.admin-shell .report-status-action{flex-wrap:wrap}.admin-shell .student-history-list time button,.teacher-closed-row time button{min-height:36px;display:block}@media (width<=1100px){.workflow-stages{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=680px){.workflow-stages{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-stages button{min-height:80px}.clash-pair{grid-template-columns:1fr}.clash-pair>div+div{border-top:1px solid #e6c8c8;border-left:0;padding:12px 0 0}.planner-alternatives{grid-template-columns:1fr}.portal-dialog .correction-reason textarea{font-size:16px}.attendance-shortcuts button{flex:140px}}@media print{body.attendance-sheet-print>*{display:none!important}body.attendance-sheet-print>.attendance-print-sheet{color:#000;padding:0;font:10pt Arial,sans-serif;display:block!important;position:static!important}body.attendance-sheet-print .attendance-print-sheet *{visibility:visible!important}.attendance-print-sheet h1{font-size:20pt}.attendance-print-sheet .attendance-detail-scroll{max-height:none;overflow:visible}.attendance-print-sheet .attendance-detail-table{font-size:9pt}.attendance-print-sheet .attendance-detail-table th{position:static}.attendance-print-sheet :is(th,td){min-width:0;padding:7px}.attendance-print-sheet tr{break-inside:avoid}.attendance-print-sheet thead{display:table-header-group}dialog.portal-dialog{display:none!important}}.planning-unavailable-row{border-bottom:1px solid #dbe3ed;grid-template-columns:1.1fr 1fr 1fr 1.6fr auto;align-items:end;gap:.75rem;padding:1rem 0;display:grid}.teacher-planning-settings{grid-column:1/-1}.teacher-planning-settings label{gap:.4rem;font-size:.875rem;display:grid}.teacher-planning-settings input,.teacher-planning-settings select{width:100%;min-width:0}.follow-up-subject,.report-change-list article{border-bottom:1px solid #dbe3ed;padding:1rem 0}.follow-up-subject header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.follow-up-subject ul{margin:0;padding:0;list-style:none}.follow-up-subject li{gap:.35rem;padding:.8rem 0;display:grid}.report-change-list dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 .75rem}.report-change-list dt{font-size:.875rem;font-weight:700}.operational-readiness summary{cursor:pointer;font-weight:700}.operational-readiness li{margin:.6rem 0}@media (width<=700px){.planning-unavailable-row{grid-template-columns:1fr 1fr}.follow-up-subject header{flex-direction:column;align-items:flex-start}}@media print{.operational-readiness{display:none!important}.follow-up-subject,.report-change-list article{break-inside:avoid}}.teacher-report-window .teacher-report-card-workspace{grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;max-width:100%}.teacher-report-window .teacher-report-card-workspace>*{min-width:0;max-width:100%}.teacher-report-window .teacher-report-card-header{gap:12px;padding:16px}.teacher-report-window .teacher-report-card-header>div:first-child p,.teacher-report-window .teacher-results-panel>.panel-heading p,.teacher-report-window .report-excel-steps{display:none}.teacher-report-window .report-selection-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center}.teacher-report-window .report-selection-fields label{padding:8px}.teacher-report-window .teacher-results-panel{min-width:0;padding:16px}.teacher-report-window .teacher-marks-grid-wrap{max-width:100%;max-height:70vh}.teacher-report-window .teacher-marks-grid input,.teacher-report-window .teacher-grid-comment textarea{min-height:40px;font-size:15px}.report-editor-options>summary{cursor:pointer;color:#24508b;background:#edf3fb;border:1px solid #dbe4f3;border-radius:10px;padding:12px 16px;font-weight:650}.report-editor-options[open]>summary{margin-bottom:10px}.teacher-report-window .portal-dialog-actions{justify-content:flex-start;margin:0}@media (width<=700px){.teacher-report-window .report-selection-fields{grid-template-columns:1fr}.teacher-report-window .report-save-dock{flex-wrap:wrap}}.today-agenda .panel-heading{margin-bottom:16px}.today-agenda .panel-heading h2{margin:0;font-size:1.25rem}.today-agenda .panel-heading p,.today-agenda .secondary-button{font-size:.875rem}.today-next-class{color:#183359;background:#f1f6ff;border:1px solid #b8ccee;border-left:5px solid #245cda;border-radius:10px;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:22px;padding:18px 22px;display:grid}.today-next-class.is-current{background:#edf8f2;border-color:#99cbb5 #99cbb5 #99cbb5 #09623f}.today-next-time{border-right:1px solid #cbd9ed;gap:3px;display:grid}.today-next-time>span{color:#244e95;font-size:.875rem;font-weight:750}.is-current .today-next-time>span{color:#09623f}.today-next-time time{font-variant-numeric:tabular-nums;font-size:1.65rem;font-weight:750;line-height:1.3}.today-next-time small{color:#4d617d;font-size:.8125rem}.today-next-details h3{overflow-wrap:anywhere;margin:4px 0;font-size:1.2rem;line-height:1.35}.today-next-details p{color:#405a7a;margin:0;font-size:.875rem;line-height:1.5}.today-next-location{text-align:right;gap:6px;font-size:.9375rem;display:grid}.today-next-location span{color:#405a7a;font-size:.8125rem}.today-agenda-finished{color:#435773;margin:0 0 14px;font-size:1rem;font-weight:600}.today-agenda-remaining{margin-top:18px}.today-agenda-remaining h3,.today-agenda-earlier summary{color:#405471;margin:0;font-size:.875rem;font-weight:650}.today-agenda-remaining h3>span,.today-agenda-earlier summary>span{color:#596b82;margin-left:6px}.today-agenda ul{margin:8px 0 0;padding:0;list-style:none}.today-agenda-row{border-bottom:1px solid #e4eaf3;grid-template-columns:138px minmax(0,1fr) auto;align-items:center;gap:16px;padding:12px 0;display:grid}.today-agenda-row:last-child{border-bottom:0}.today-agenda-row strong{font-size:1rem;font-weight:650;display:block}.today-agenda-row small{color:#52647d;overflow-wrap:anywhere;margin-top:3px;font-size:.8125rem;display:block}.today-agenda-time{font-variant-numeric:tabular-nums;gap:4px;font-size:.875rem;display:grid}.today-agenda-time>span{color:#52647d;font-size:.75rem}.today-agenda-room{color:#405471;text-align:right;font-size:.875rem}.today-agenda-earlier{border-top:1px solid #dce3ed;margin-top:16px;padding-top:14px}.today-agenda-earlier summary{cursor:pointer;padding:4px 0}.today-agenda :is(button,summary):focus-visible{outline-offset:3px;outline:3px solid #5684ed}.attendance-status-badge{color:#394b61;white-space:nowrap;background:#e5eaf0;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-size:.875rem;font-weight:700;line-height:1.4;display:inline-flex}.attendance-status-badge.present{color:#fff;background:#09623f}.attendance-status-badge.late{color:#fff;background:#895000}.attendance-status-badge.absent{color:#fff;background:#ab2037}.attendance-status-badge.excused{color:#fff;background:#524397}.attendance-status-badge.unmarked{color:#435164;background:#edf0f3}.attendance-status-badge>span{font-size:1rem;line-height:1}.attendance-status-badge b{font-variant-numeric:tabular-nums;padding-left:5px}.live-register-counts{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.teacher-live-roster .live-register-refresh-note,.live-unmarked-note{color:#52647d;font-size:.8125rem;line-height:1.5}.live-unmarked-note{margin:10px 0}.live-update-confirmation{color:#183a2c;background:#f0f8f3;border:1px solid #cbe2d4;border-radius:8px;gap:3px;margin:10px 0;padding:9px 12px;display:grid}.live-update-confirmation.late{background:#fff8eb;border-color:#ead8b3}.live-update-confirmation.absent{background:#fff4f5;border-color:#efcbd2}.live-update-confirmation.excused{background:#f6f4fc;border-color:#ddd5f0}.live-update-confirmation.unmarked,.live-update-confirmation.mixed{background:#f6f7f9;border-color:#dde2e8}.live-update-students{gap:4px;min-width:0;display:grid}.live-update-student{flex-wrap:wrap;align-items:baseline;gap:3px 10px;min-width:0;display:flex}.live-update-student strong{color:#18304f;overflow-wrap:anywhere;min-width:0;font-size:1.125rem;font-weight:750;line-height:1.35}.live-update-status{color:#435164;white-space:nowrap;align-items:center;gap:4px;font-size:.875rem;font-weight:600;line-height:1.4;display:inline-flex}.live-update-status.present{color:#09623f}.live-update-status.late{color:#895000}.live-update-status.absent{color:#ab2037}.live-update-status.excused{color:#524397}.live-update-meta{color:#52647d;flex-wrap:wrap;align-items:center;gap:5px;font-size:.8125rem;line-height:1.4;display:flex}.live-update-meta time{font-size:inherit;font-variant-numeric:tabular-nums}.live-update-more{color:#52647d;font-size:.875rem;line-height:1.4}.teacher-live-roster .teacher-live-list{overflow-anchor:none;gap:8px;max-height:580px;margin-top:14px;display:grid}.live-register-group-heading{z-index:1;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:10px 12px;font-size:.875rem;line-height:1.4;display:flex;position:sticky;top:0}.live-register-group-heading.unmarked{color:#435164;background:#edf0f3}.live-register-group-heading.recorded{color:#405471;background:#edf2f7;border:1px solid #d4dde9}.live-register-group-heading span{font-variant-numeric:tabular-nums}.teacher-live-roster .teacher-live-row{--record-accent:#8a9bb0;border:1px solid #d4dde9;border-left:5px solid var(--record-accent);box-shadow:none;background:#f6f8fb;border-radius:8px;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;padding:12px;display:grid}.teacher-live-roster .teacher-live-row.present{--record-accent:#09623f;background:#e4f5eb}.teacher-live-roster .teacher-live-row.late{--record-accent:#895000;background:#fff0cd}.teacher-live-roster .teacher-live-row.absent{--record-accent:#ab2037;background:#ffebef}.teacher-live-roster .teacher-live-row.excused{--record-accent:#524397;background:#eeeafb}.teacher-live-roster .teacher-live-row.unmarked{--record-accent:#a4adba;border-color:#e0e4e9;border-left-color:var(--record-accent);background:#fff}.teacher-live-roster .teacher-live-row.just-recorded{outline:2px solid var(--record-accent);outline-offset:-2px;animation:.65s ease-out attendance-record-confirm}.teacher-live-roster .teacher-live-row .avatar{color:#304764;background:#fff;width:36px;height:36px;font-size:1rem}.teacher-live-roster .teacher-live-row strong{color:#18304f;overflow-wrap:anywhere;font-size:1rem;line-height:1.4}.teacher-live-roster .teacher-live-row small{color:#435773;font-size:.75rem;line-height:1.5}.teacher-live-roster .attendance-student-cell>.attendance-status-badge{margin-top:6px}.teacher-live-roster .just-recorded-label{color:#233e5d;background:0 0;margin:6px 0 0 8px;padding:3px 6px;font-size:.75rem;font-weight:700}.teacher-live-roster .attendance-note-button{color:#304764;margin-left:8px;font-size:.8125rem}.teacher-live-roster .one-tap-present,.teacher-live-roster .one-tap-late,.teacher-live-roster .undo-present-button{border-radius:6px;min-height:40px;padding:8px 10px;font-size:.875rem}.teacher-live-roster .one-tap-present{color:#09623f;background:#fff;border-color:#227454}.teacher-live-roster .one-tap-present.active{color:#fff;background:#09623f;border-color:#09623f}.teacher-live-roster .one-tap-late{color:#754400;background:#fff;border-color:#986521}.teacher-live-roster .one-tap-late.active{color:#fff;background:#895000;border-color:#895000}.teacher-live-roster .undo-present-button{color:#435773;background:#fff;border-color:#a9b8c9}.teacher-live-roster button:focus-visible{outline-offset:2px;outline:3px solid #245cda}@keyframes attendance-record-confirm{0%{box-shadow:inset 0 0 0 3px var(--record-accent)}to{box-shadow:none}}@media (width<=1100px){.teacher-live-roster .teacher-live-row{grid-template-columns:36px minmax(0,1fr)}.teacher-live-roster .live-attendance-buttons{flex-wrap:wrap;grid-column:2}}@media (width<=640px){.today-next-class{grid-template-columns:85px minmax(0,1fr);gap:12px;padding:14px}.today-next-location{text-align:left;flex-wrap:wrap;grid-column:2;align-items:center;gap:10px;display:flex}.today-next-time time{font-size:1.4rem}.today-agenda-row{grid-template-columns:108px minmax(0,1fr);gap:7px 12px}.today-agenda-room{text-align:left;grid-column:2}.teacher-live-roster .teacher-live-list{max-height:none}.teacher-live-roster .attendance-note-editor{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.teacher-live-roster .teacher-live-row.just-recorded{animation:none}}.result-card.success{border-top:8px solid #09623f}.result-card.warning{border-top:8px solid #ab2037}.result-card.late{border-top:8px solid #895000}.result-card .result-icon.success{box-shadow:none;background:#09623f}.result-card .result-icon.warning{box-shadow:none;background:#ab2037}.result-card .result-icon.late{box-shadow:none;background:#895000}.result-card .result-name{color:#243c59;background:#eef2f7;font-size:1rem}.result-attendance-detail{justify-items:center;gap:10px;margin-top:20px;display:grid}.result-attendance-detail>small{color:#405471;font-size:.875rem}.report-workbench{--work-line:#dce3ed;--work-muted:#596a82;color:#182b49;gap:16px;min-width:0;font-size:1rem}.report-workbench [hidden]{display:none!important}.report-workbench button,.report-workbench input,.report-workbench select,.report-workbench textarea{font:inherit}.report-workbench .secondary-button,.report-workbench label{text-transform:none;letter-spacing:normal}.report-workbench .secondary-button{color:#2c4261;background:#fff;border:1px solid #ccd7e7}.report-workbench .report-view-tabs{background:0 0;border:0;border-radius:0;margin:0;padding:0}.report-workbench .report-view-tabs button{border-radius:0;flex:none}.report-workbench .primary-button{min-height:40px;box-shadow:none;color:#fff;background:#245cda;border-radius:8px;padding:9px 15px;font-size:.875rem}.report-workbench button:disabled{opacity:.48;cursor:not-allowed}.report-workbench :is(button,input,select,textarea):focus-visible,.compact-timetable button:focus-visible{outline-offset:2px;outline:3px solid #5684ed}.report-workbench-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.report-workbench-header h2{letter-spacing:-.035em;margin:4px 0 0;font-size:1.75rem;line-height:1.2}.report-workbench .section-kicker{color:var(--work-muted);letter-spacing:.08em;font-size:.75rem}.report-header-actions{flex-wrap:wrap;gap:8px;display:flex}.report-workbench .report-open-window{margin:0}.report-context-bar{border:1px solid var(--work-line);background:#fff;border-radius:12px;grid-template-columns:minmax(240px,1.15fr) minmax(200px,1fr) minmax(165px,.6fr);align-items:center;gap:24px;padding:18px 20px;display:grid}.report-context-bar label{color:var(--work-muted);gap:7px;font-size:.875rem;font-weight:500;display:grid}.report-context-bar .report-scope-caption{color:#314c72;font-size:.8125rem;line-height:1.4}.teacher-directory-controls:has(#teacher-section){grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-directory-controls:has(#teacher-section)>p{grid-column:1/-1}@media (width<=640px){.teacher-directory-controls:has(#teacher-section){grid-template-columns:1fr}}.report-context-bar select{color:#182b49;background:#f8fafc;border:1px solid #ced8e7;border-radius:7px;width:100%;min-width:0;height:42px;padding:8px 30px 8px 10px;font-size:.9375rem;font-weight:600}.report-completion{border-left:1px solid var(--work-line);padding-left:22px}.report-completion>div{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.report-completion strong{letter-spacing:-.04em;font-size:1.5rem}.report-completion strong span{color:var(--work-muted);font-size:1rem;font-weight:400}.report-completion>div>span{color:var(--work-muted);font-size:.8125rem}.report-completion progress{appearance:none;background:#e9eef6;border:none;border-radius:5px;width:100%;height:5px;margin-top:9px;display:block;overflow:hidden}.report-completion progress::-webkit-progress-bar{background:#e9eef6}.report-completion progress::-webkit-progress-value{background:#278274}.report-completion progress::-moz-progress-bar{background:#278274}.report-entry-surface{border:1px solid var(--work-line);background:#fff;border-radius:12px;min-width:0}.report-view-bar{border-bottom:1px solid var(--work-line);justify-content:space-between;align-items:center;gap:12px;padding:0 20px;display:flex}.report-view-tabs{gap:24px;display:flex}.report-view-tabs button{color:var(--work-muted);background:0 0;border:none;border-bottom:3px solid #0000;padding:17px 2px 14px;font-size:.9375rem;font-weight:600}.report-view-tabs button[aria-selected=true]{color:#245cda;border-bottom-color:#245cda}.report-view-tabs button span{color:var(--work-muted);background:#eef2f7;border-radius:4px;margin-left:8px;padding:2px 5px;font-size:.75rem;font-weight:500}.report-workbench .report-text-button{color:#315ca3;background:0 0;border:0;min-height:36px;padding:6px 0;font-size:.875rem;font-weight:600}.report-filter-bar{align-items:center;gap:18px;padding:14px 20px;display:flex}.report-filter-bar input[type=search]{border:1px solid var(--work-line);background:#fff;border-radius:7px;width:240px;max-width:100%;height:38px;padding:8px 12px;font-size:.875rem}.report-filter-bar .checkbox-line{color:var(--work-muted);align-items:center;gap:7px;margin:0;font-size:.875rem;font-weight:400;display:flex}.report-filter-bar input[type=checkbox]{accent-color:#245cda;width:16px;height:16px;min-height:0}.report-filter-bar>span{color:var(--work-muted);margin-left:auto;font-size:.8125rem}.report-excel-drawer{border-bottom:1px solid var(--work-line);background:#f4f7fd;justify-content:space-between;align-items:center;gap:18px;padding:14px 20px;display:flex}.report-excel-drawer p{max-width:520px;margin:0;font-size:.875rem}.report-excel-drawer>div{gap:8px;display:flex}.report-workbench .report-entry-fields{border:0;width:100%;min-width:0;margin:0;padding:0}.gradebook-scroll{border-top:1px solid var(--work-line);max-height:60vh;overflow:auto}.gradebook-table{border-collapse:separate;border-spacing:0;table-layout:fixed;font-variant-numeric:tabular-nums;width:100%;min-width:1140px}.gradebook-table th,.gradebook-table td{text-align:center;background:#fff;border:0;border-bottom:1px solid #e8edf4;padding:9px 8px}.gradebook-table thead th{z-index:2;color:#405471;border-bottom:1px solid var(--work-line);background:#f5f7fb;height:67px;font-size:.8125rem;font-weight:600;position:sticky;top:0}.gradebook-table thead th strong{font-weight:600;line-height:1.35;display:block}.gradebook-table thead th small{color:#65758b;margin-top:5px;font-size:.75rem;font-weight:400;display:block}.gradebook-table .gradebook-student{text-align:left;z-index:1;border-right:1px solid #e8edf4;width:19%;min-width:190px;padding-left:20px;position:sticky;left:0}.gradebook-table thead .gradebook-student{z-index:3}.gradebook-table tbody .gradebook-student strong{overflow-wrap:anywhere;font-size:.875rem;font-weight:600;display:block}.gradebook-table tbody .gradebook-student small{color:var(--work-muted);margin-top:4px;font-size:.75rem;font-weight:400;display:block}.gradebook-table tbody tr:hover>*{background:#f8faff}.gradebook-table tbody tr.is-locked>*{background:#f6f7f9}.gradebook-table .gradebook-attendance-column{width:145px}.gradebook-table .gradebook-comment-column{text-align:left;width:25%;min-width:250px}.gradebook-table .gradebook-total-column{width:85px}.gradebook-attendance{font-variant-numeric:tabular-nums;gap:4px;line-height:1.4;display:grid}.gradebook-attendance strong{font-size:.875rem;font-weight:650}.gradebook-attendance span{color:#405471;font-size:.6875rem}.gradebook-attendance small{color:var(--work-muted);font-size:.6875rem}.gradebook-comment-field textarea{resize:vertical;color:#233e63;background:#fcfdff;border:1px solid #d9e2ee;border-radius:6px;width:100%;min-height:58px;margin:0;padding:8px 10px;font-size:.8125rem;line-height:1.5;display:block}.gradebook-comment-field>small{color:var(--work-muted);margin-top:4px;font-size:.6875rem;display:block}.gradebook-comment-field>small.comment-complete{color:#237553}.gradebook-comment-field textarea:focus{background:#fff;border-color:#467bef}.mobile-attendance-summary,.comment-attendance-summary{background:#f5f7fb;border-radius:7px;align-items:center;gap:20px;padding:12px;display:flex}.comment-attendance-summary{margin:0 0 18px}.mobile-attendance-summary>strong,.comment-attendance-summary>strong,.mobile-comment-label{font-size:.8125rem;font-weight:600}.mobile-comment-label{margin-bottom:8px;display:block}.gradebook-score{color:#233e63;background:#f5f7fb;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;max-width:106px;min-height:36px;margin:0 auto;display:flex;overflow:hidden}.gradebook-score:focus-within{background:#fff;border-color:#467bef;box-shadow:0 0 0 2px #e2ebff}.gradebook-score input{text-align:center;appearance:textfield;background:0 0;border:0;border-radius:0;width:calc(100% - 24px);min-width:0;height:36px;min-height:36px;padding:5px 2px 5px 8px;font-size:1rem;outline:0!important}.gradebook-score input::-webkit-inner-spin-button{appearance:none;margin:0}.gradebook-score input::-webkit-outer-spin-button{appearance:none;margin:0}.gradebook-score input:disabled{color:#52657e}.gradebook-score>span{flex:1;padding:6px 0 6px 6px;font-size:.75rem}.gradebook-score.absent{color:#8d451a;background:#fff2e9}.gradebook-score.excused,.gradebook-score.exempt{color:#5b5880;background:#eef0f6}.gradebook-status-picker{color:#60718b;flex:0 0 24px;align-self:stretch;place-items:center;width:24px;display:grid;position:relative}.gradebook-status-picker>span{pointer-events:none;font-size:1rem;line-height:1}.gradebook-status-picker select{opacity:0;cursor:pointer;width:100%;height:100%;min-height:0;padding:0;position:absolute;inset:0}.gradebook-result{flex-direction:column;gap:2px;font-size:.875rem;display:flex}.gradebook-result strong{font-weight:650}.gradebook-result>span{color:var(--work-muted);font-size:.75rem}.gradebook-completion{color:#315ca3;white-space:nowrap;background:#f1f5fb;border:0;border-radius:5px;min-height:30px;padding:5px 8px;font-size:.75rem!important}.gradebook-completion.is-complete{color:#246c50;background:#eaf5ef}.gradebook-hint{color:var(--work-muted);padding:12px 20px;font-size:.75rem;line-height:1.7}.report-workbench-footer{border-top:1px solid var(--work-line);z-index:4;background:#fff;border-radius:0 0 12px 12px;justify-content:space-between;align-items:center;gap:12px;padding:15px 20px;display:flex;position:sticky;bottom:0;box-shadow:0 -3px 14px #23395205}.report-save-state{gap:4px;display:grid}.report-save-state strong{color:#2c6b52;font-size:.875rem;font-weight:600}.report-save-state.is-dirty strong{color:#9a5b18}.report-save-state>span{color:var(--work-muted);font-size:.75rem}.report-workbench-footer>div:last-child{align-items:center;gap:18px;display:flex}.report-comment-layout{border-top:1px solid var(--work-line);grid-template-columns:245px minmax(0,1fr);min-height:400px;display:grid}.report-comment-list{border-right:1px solid var(--work-line);background:#fafbfd;max-height:540px;padding:8px;overflow:auto}.report-comment-list>button{text-align:left;color:#243954;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:12px;display:flex}.report-comment-list>button[aria-pressed=true]{background:#edf3ff;border-color:#cbdcfc}.report-comment-list strong{font-size:.875rem;font-weight:600;display:block}.report-comment-list small{color:var(--work-muted);margin-top:4px;font-size:.75rem;display:block}.comment-complete{color:#237553}.comment-missing{color:#6f7f96}.report-comment-editor{min-width:0;padding:24px}.report-comment-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.report-comment-heading h3{letter-spacing:-.025em;margin:4px 0 0;font-size:1.35rem}.report-comment-heading .gradebook-result{text-align:right;font-size:1.35rem}.comment-mark-summary{border:1px solid var(--work-line);background:#f8fafd;border-radius:7px;flex-wrap:wrap;gap:0;margin:20px 0 24px;display:flex}.comment-mark-summary>div{border-right:1px solid var(--work-line);flex:1;gap:5px;min-width:95px;padding:10px 12px;display:grid}.comment-mark-summary>div:last-child{border-right:0}.comment-mark-summary span{color:var(--work-muted);font-size:.75rem}.comment-mark-summary strong{text-transform:capitalize;font-size:.875rem}.report-comment-field{gap:9px;font-size:.9375rem;font-weight:600;display:grid}.report-comment-field textarea{resize:vertical;background:#fff;border:1px solid #cbd6e6;border-radius:8px;width:100%;min-height:200px;padding:14px;font-size:1rem;font-weight:400;line-height:1.65}.comment-editor-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.comment-editor-footer>span{color:var(--work-muted);font-size:.75rem}.comment-editor-footer>div{gap:8px;display:flex}.report-setup-notice{background:#fff9ee;border:1px solid #eeddb6;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-size:.875rem;display:flex}.report-lock-note{color:#72591e;font-size:.875rem}.report-setup-dialog>p{color:var(--work-muted);margin-top:0;font-size:.9375rem}.report-setup-columns,.report-setup-row{grid-template-columns:minmax(0,1fr) 100px 65px;align-items:center;gap:12px;padding:8px 0;display:grid}.report-setup-columns{color:var(--work-muted);font-size:.8125rem}.report-setup-row input{border:1px solid #cbd6e6;border-radius:6px;width:100%;min-width:0;min-height:40px;padding:9px;font-size:.875rem}.report-setup-row>span{font-size:.875rem}.report-setup-actions{justify-content:space-between;gap:12px;margin-top:18px;display:flex}.report-setup-dialog>small{color:var(--work-muted);margin:12px 0;display:block}.report-setup-dialog .report-weight-request{border:0;border-top:1px solid var(--work-line);box-shadow:none;background:0 0;border-radius:0;margin-top:22px;padding:16px 0 0}.teacher-report-window{background:#f3f6fb;padding:20px 32px 32px}.teacher-report-window>header{border-bottom:1px solid #dce3ed;margin:0 0 22px;padding-bottom:16px;font-size:.875rem}.teacher-report-window>header>div{align-items:center;gap:16px;display:flex}.teacher-report-window>header strong{font-size:1.125rem}.teacher-report-window>header span{color:#596a82}.teacher-report-window>header a{border-radius:7px;min-height:36px;padding:7px 12px;font-size:.875rem}.teacher-shell .teacher-intro-compact{align-items:center;min-height:0;margin:12px 0 18px;padding:0}.teacher-shell .teacher-intro-compact .eyebrow,.teacher-shell .teacher-intro-compact p,.teacher-shell .teacher-intro-compact .summary-row{display:none}.teacher-shell .teacher-intro-compact h1{margin:0;font-size:1.5rem}.teacher-shell:has(.report-workbench) .teacher-intro-compact{display:none}.report-workbench .mobile-report-editor{display:none}.teacher-weekly-timetable{padding:20px}.teacher-timetable-heading{align-items:center;gap:16px}.teacher-timetable-heading h2{margin:0 0 5px;font-size:1.35rem}.teacher-timetable-heading p{font-size:.8125rem}.teacher-timetable-heading .teacher-timetable-term{border-radius:8px;padding:10px 14px}.teacher-timetable-heading .timetable-print-button{border-radius:8px;min-height:40px;margin-left:auto;padding:9px 14px;font-size:.875rem}.timetable-print-identity{display:none}.compact-timetable .session-toolbar{gap:18px;margin:16px 0 14px}.compact-timetable .session-view-toggle{background:#edf1f7;border-radius:8px;padding:3px}.compact-timetable .session-view-toggle button{border-radius:5px;padding:7px 17px;font-size:.875rem;font-weight:600}.compact-timetable .session-view-toggle button[aria-pressed=true]{color:#194286;background:#fff;box-shadow:0 1px 3px #21375920}.compact-timetable .session-toolbar p{gap:3px;font-size:.8125rem}.compact-timetable .session-toolbar p span{color:#596a82;font-size:.75rem}.compact-timetable .session-legend{align-items:center;gap:6px;font-size:.75rem;display:flex}.session-legend i{background:#edf2f7;border:1px solid #cad5e3;border-radius:3px;width:11px;height:11px}.compact-timetable .session-grid-scroll{border-color:#d6deea;border-radius:9px}.compact-timetable .session-grid{color:#1a304d;min-width:880px}.compact-timetable .session-grid.day{min-width:0}.compact-timetable .session-grid th:first-child{width:86px}.compact-timetable .session-grid th,.compact-timetable .session-grid td{border-color:#dce3ed;padding:6px}.compact-timetable .session-grid thead th{vertical-align:middle;background:#f8fafd;height:58px;padding:10px 12px;font-size:.875rem;font-weight:650}.compact-timetable .session-grid thead th>div{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:5px;display:flex}.compact-timetable .session-grid thead small{color:#61728a;margin-top:4px;font-size:.75rem;font-weight:400;display:block}.compact-timetable .session-grid thead .is-today{color:#1c4e9e;background:#eaf1ff;box-shadow:inset 0 3px #346cea}.session-today-label{font-size:.75rem;font-weight:500}.compact-timetable .session-grid tbody th{text-align:center;vertical-align:middle;background:#f8fafd;padding:10px 5px}.compact-timetable .session-grid tbody th b{font-size:.9375rem}.compact-timetable .session-grid tbody th time{color:#52647e;margin-top:4px;font-size:.75rem;font-weight:400;line-height:1.5;display:block}.compact-timetable .session-grid tbody th time span{display:block}.compact-timetable .session-grid td{vertical-align:middle;background:#fff;height:94px}.compact-timetable .session-grid td.is-today{background:#f4f7ff}.compact-timetable .session-grid td.is-free{background:#f1f4f8}.compact-timetable .session-grid td.is-free.is-today{background:#eaf0fb}.compact-timetable .session-grid td.is-unscheduled{background:#f7f8fa}.compact-timetable .session-class{border:0;border-left:3px solid var(--subject-color);box-shadow:none;background:#fff;border-radius:4px;margin:0;overflow:visible}.compact-timetable .session-class+.session-class{margin-top:6px}.compact-timetable .session-class>button,.compact-timetable .session-class>div{gap:4px;min-height:72px;padding:7px 9px;font-size:.75rem;line-height:1.35}.compact-timetable .session-class>button:hover{background:#f5f8ff}.compact-timetable .session-class strong{font-size:.875rem;font-weight:650;line-height:1.35}.compact-timetable .session-class span,.compact-timetable .session-class small{font-size:.75rem}.compact-timetable .session-class span{color:#405a78}.compact-timetable .session-audience{color:#5d6e86}.compact-timetable .session-class time{color:#305389;font-size:.75rem;font-weight:650}.compact-timetable .session-class.has-issue{outline-offset:0;outline:2px solid #c83949}.compact-timetable .session-now{color:#167b53;font-size:.75rem}.session-gap{text-align:center;color:#5c6f86;align-content:center;gap:5px;min-height:72px;font-size:.8125rem;display:grid}.session-gap time{font-size:.75rem}.compact-timetable .session-break td,.compact-timetable .session-break th{text-align:center;color:#536880;height:30px;padding:6px;font-size:.75rem;background:#e9eef5!important}.compact-timetable .session-add{border-radius:5px;margin-top:5px;padding:5px;font-size:.75rem}.compact-timetable .session-continues{margin:0;padding:8px;font-size:.8125rem;line-height:1.5}.compact-timetable .session-continues span{font-size:.75rem;display:block}.session-grid-footnote{color:#60718b;margin:10px 0 0;font-size:.75rem}.session-print-grid{display:none}.session-detail{overflow-wrap:anywhere;font-size:1rem;line-height:1.6}.session-detail h3{margin-bottom:5px;font-size:1rem}@media (width<=1100px){.report-context-bar{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px}.report-completion{border:0;grid-column:1/-1;align-items:center;gap:16px;padding:0;display:flex}.report-completion strong{font-size:1.125rem}.report-completion progress{width:100px;margin:0}.report-workbench-footer>div:last-child{gap:12px}.report-workbench-footer .report-text-button{font-size:.8125rem}.comment-editor-footer{flex-direction:column;align-items:flex-start}.teacher-timetable-heading{flex-wrap:wrap}}@media (width<=760px){.teacher-report-window{padding:14px}.teacher-report-window>header{gap:10px;margin-bottom:16px}.teacher-report-window>header>div{display:block}.teacher-report-window>header span{margin-top:4px;font-size:.75rem;display:block}.report-workbench-header{flex-direction:column;align-items:flex-start}.report-workbench-header h2{font-size:1.5rem}.report-context-bar{grid-template-columns:1fr;gap:12px;padding:14px}.report-context-bar select{font-size:1rem}.report-completion{grid-column:auto}.report-view-bar{flex-wrap:wrap;gap:8px;padding:0 14px}.report-view-tabs{gap:20px}.report-view-bar>.report-text-button{font-size:.75rem}.report-filter-bar{flex-wrap:wrap;gap:10px 16px;padding:12px 14px}.report-filter-bar input[type=search]{width:100%;font-size:1rem}.report-filter-bar>span{display:none}.report-filter-bar>.report-text-button{margin-left:auto;font-size:.8125rem}.report-excel-drawer{flex-direction:column;align-items:flex-start}.report-excel-drawer>div{flex-wrap:wrap}.report-workbench .gradebook-scroll,.report-workbench .gradebook-hint{display:none}.report-workbench .mobile-report-editor{gap:14px;padding:16px;display:grid}.report-workbench .mobile-report-editor label{gap:7px;font-size:.875rem;display:grid}.report-workbench .mobile-report-editor select{border:1px solid var(--work-line);background:#fff;border-radius:7px;width:100%;min-height:42px;padding:8px;font-size:1rem}.report-workbench .mobile-student-heading h3{margin:0 0 4px;font-size:1.125rem}.report-workbench .mobile-student-heading>span{color:var(--work-muted);font-size:.8125rem}.report-workbench .mobile-assessment-card{border:0;border-bottom:1px solid var(--work-line);border-radius:0;grid-template-columns:1fr 110px;align-items:center;gap:10px;padding:12px 0;display:grid}.report-workbench .mobile-assessment-card strong{font-size:.875rem}.report-workbench .mobile-assessment-card small{margin-top:5px;font-size:.75rem;display:block}.report-workbench .mobile-assessment-card .gradebook-score{width:110px;max-width:none}.report-workbench .mobile-assessment-card .gradebook-status-picker select{height:100%;min-height:0;padding:0}.report-workbench .mobile-result-summary{background:#f5f8fc;border-radius:7px;align-items:center;gap:12px;margin:0;padding:12px;font-size:.875rem;display:flex}.report-workbench-footer{flex-wrap:wrap;gap:12px;padding:12px 14px}.report-workbench-footer>div:last-child{flex-wrap:wrap;justify-content:space-between;gap:10px;width:100%;display:flex}.report-workbench-footer .primary-button{order:-1;width:100%}.report-comment-layout{grid-template-columns:1fr}.report-comment-list{border-right:0;border-bottom:1px solid var(--work-line);max-height:170px}.report-comment-editor{padding:16px}.report-comment-heading h3{font-size:1.2rem}.comment-mark-summary{margin:16px 0}.report-comment-field textarea{min-height:230px}.report-setup-columns,.report-setup-row{grid-template-columns:minmax(0,1fr) 72px 44px;gap:8px}.report-setup-actions{flex-wrap:wrap}.report-setup-notice{flex-direction:column;align-items:flex-start}.teacher-weekly-timetable{padding:14px}.compact-timetable .session-toolbar{gap:12px}.compact-timetable .session-toolbar>small{margin-left:0}.compact-timetable .session-grid thead th:first-child,.compact-timetable .session-grid tbody th{z-index:2;position:sticky;left:0}}@page acadoryx-timetable{size:A4 landscape;margin:10mm}@media print{body.printing-weekly-timetable{background:#fff!important}body.printing-weekly-timetable .teacher-weekly-timetable,body.printing-weekly-timetable .timetable-print-area{page:acadoryx-timetable;box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important}.compact-timetable .session-screen-grid,.compact-timetable .session-toolbar,.compact-timetable dialog{display:none!important}.compact-timetable .session-print-grid{display:block!important;overflow:visible!important}.compact-timetable .session-grid{table-layout:fixed;border-collapse:collapse;width:100%!important;min-width:0!important}.compact-timetable .session-grid th,.compact-timetable .session-grid td{color:#111!important;background:#fff!important;border:1px solid #9ba6b5!important;height:auto!important;padding:2mm!important}.compact-timetable .session-grid th:first-child{width:19mm!important}.compact-timetable .session-grid thead th{white-space:normal;height:13mm!important;box-shadow:none!important;font-size:11pt!important}.compact-timetable .session-grid thead th>div{display:block}.compact-timetable .session-grid thead small,.compact-timetable .session-today-label{display:none}.compact-timetable .session-grid tbody th b{font-size:11pt!important}.compact-timetable .session-grid tbody th time{line-height:1.25;color:#333!important;font-size:9pt!important}.compact-timetable .session-class{border-radius:0;margin:0;box-shadow:none!important;background:#fff!important;border:0!important;outline:none!important}.compact-timetable .session-class>div{min-height:13mm;line-height:1.25;color:#111!important;gap:1mm!important;padding:0!important;font-size:9.5pt!important}.compact-timetable .session-class strong{color:#111!important;font-size:10.5pt!important;line-height:1.25!important}.compact-timetable .session-class time,.compact-timetable .session-class span,.compact-timetable .session-class small{color:#222!important;font-size:9pt!important;line-height:1.25!important}.compact-timetable .session-class.has-issue>div:after{content:"Clash / issue";font-size:9pt;font-weight:700}.compact-timetable .session-gap{color:#444!important;min-height:13mm!important;font-size:9pt!important}.compact-timetable .session-gap time{font-size:9pt!important}.compact-timetable .session-break th,.compact-timetable .session-break td{color:#222!important;background:#f0f0f0!important;padding:1.5mm!important;font-size:9pt!important}.compact-timetable .session-grid tr{break-inside:avoid}.compact-timetable .session-grid thead{display:table-header-group}.compact-timetable .session-grid-footnote{color:#333;margin:2mm 0 0;font-size:9pt}.teacher-timetable-heading{padding:0 0 3mm!important;display:block!important}.teacher-timetable-heading h2{margin:0 0 1.5mm!important;font-size:16pt!important}.teacher-timetable-heading p,.teacher-timetable-heading .teacher-timetable-term{display:none!important}.timetable-print-identity{color:#222;margin-bottom:3mm;font-size:10pt;display:block!important}}@media (width<=760px){.teacher-report-window>header{flex-wrap:nowrap;margin-bottom:14px;padding-bottom:10px}.teacher-report-window>header>div>span{display:none}.report-workbench .report-workbench-header{flex-direction:row;align-items:center;gap:8px}.report-workbench-header .section-kicker{display:none}.report-workbench-header h2{margin:0;font-size:1.25rem}.report-header-actions .secondary-button{padding:8px 10px;font-size:.8125rem}.report-workbench-footer>div:last-child{display:contents}.report-workbench-footer .primary-button{order:0;width:auto;margin-left:auto}.report-workbench-footer .report-text-button{text-align:left;order:2;width:calc(50% - 8px);min-height:24px;padding:0}.report-workbench-footer .report-text-button+.report-text-button{text-align:right}}@media print{body.printing-weekly-timetable .teacher-weekly-timetable,body.printing-weekly-timetable .timetable-print-area{height:auto!important;min-height:0!important;bottom:auto!important;overflow:visible!important}}.report-workbench .report-results-save-button{min-width:0}@media (width<=760px){.report-workbench .report-excel-long{display:none}.report-workbench .report-view-bar{flex-wrap:nowrap}.report-workbench .mobile-student-heading{display:none}.report-workbench .report-workbench-footer .primary-button{min-width:0}}.report-workbench .gradebook-score.invalid{background:#fff1f2;border-color:#be3c49}@media print{body.printing-weekly-timetable{page:acadoryx-timetable;margin:0!important}body.printing-weekly-timetable .test-site-banner{display:none!important}body.printing-weekly-timetable .teacher-shell{page:acadoryx-timetable;width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important}body.printing-weekly-timetable .teacher-shell>:not(.portal-tab-content){display:none!important}body.printing-weekly-timetable .teacher-shell>.portal-tab-content{min-height:0!important;margin:0!important;padding:0!important;display:block!important}body.printing-weekly-timetable .teacher-shell .teacher-weekly-timetable{width:100%!important;position:static!important}}.result-card.excused{border-top:8px solid #524397}.result-card .result-icon.excused{box-shadow:none;background:#524397}@media (width<=640px){.teacher-shell .teacher-today-intro{gap:12px;padding:8px 0 16px}.teacher-shell .teacher-today-intro .eyebrow,.teacher-shell .teacher-today-intro p{display:none}.teacher-shell .teacher-today-intro h1{margin:0;font-size:1.5rem}.teacher-shell .teacher-today-intro .summary-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:100%;min-width:0;display:grid}.teacher-shell .teacher-today-intro .summary-row>div{border-bottom:0;border-right:1px solid #dce3ed;min-width:0;padding:12px 10px}.teacher-shell .teacher-today-intro .summary-row>div:last-child{border-right:0}}.phone-check{margin-top:20px}.phone-check>button{width:100%}.phone-registration-result{text-align:left;margin-top:18px}.phone-check details,.phone-report-card details{margin:14px 0}.phone-check summary,.phone-report-card summary{cursor:pointer;font-weight:600}.phone-diagnostic-details{text-align:left;grid-template-columns:minmax(100px,.8fr) minmax(0,1.2fr);gap:8px 14px;margin:14px 0;display:grid}.phone-diagnostic-details dt{font-size:.85rem;font-weight:600}.phone-diagnostic-details dd{overflow-wrap:anywhere;margin:0;font-size:.85rem}.phone-report-form{text-align:left;border-top:1px solid #dbe3ed;margin-top:22px;padding-top:18px}.phone-report-form label{gap:6px;margin:12px 0 6px;font-size:.9rem;font-weight:600;display:grid}.phone-report-form label span{font-weight:400}.phone-report-form input,.phone-report-form textarea{box-sizing:border-box;color:#10231f;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #becbd9;border-radius:8px;padding:10px;font-size:16px}.phone-report-form>button{width:100%;margin-top:12px}.phone-report-form small{overflow-wrap:anywhere;font-size:.8rem;line-height:1.5;display:block}.phone-report-receipt{color:#195238;background:#edf8f2;border-radius:10px;padding:14px}.phone-report-error{color:#9b2432}.phone-report-toolbar,.phone-report-pagination{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.phone-report-toolbar label{gap:6px;min-width:180px;display:grid}.phone-report-help{color:#536579;font-size:.85rem;line-height:1.6}.phone-report-list{gap:14px;margin-top:18px;display:grid}.phone-report-card{background:#fff;border:1px solid #dbe3ed;border-radius:12px;min-width:0;padding:18px}.phone-report-card header{justify-content:space-between;align-items:start;gap:12px;display:flex}.phone-report-card h3{margin:0 0 5px;font-size:1.05rem}.phone-report-card h4{margin:18px 0 8px;font-size:.9rem}.phone-report-reference{overflow-wrap:anywhere;display:block}.phone-report-note{white-space:pre-wrap;overflow-wrap:anywhere}.phone-report-card li{overflow-wrap:anywhere;margin:8px 0;font-size:.85rem}.phone-report-pagination{align-items:center;margin-top:18px}@media (width<=480px){.phone-diagnostic-details{grid-template-columns:1fr;gap:4px}.phone-diagnostic-details dd{margin-bottom:8px}.phone-report-card{padding:14px}}.passkey-card{text-align:center;max-width:560px}.passkey-kicker{color:#287c78;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px;font-size:.76rem;font-weight:700;display:block}.passkey-student-number{color:#556578;font-weight:600}.passkey-action{margin-top:24px}.passkey-primary{min-height:56px;font-size:1rem}.passkey-note{color:#486174;background:#f1f6f8;border-radius:12px;padding:12px 16px;font-size:.92rem}.passkey-footnote{color:#667489;margin-top:20px;font-size:.8rem;line-height:1.6}.passkey-error{color:#853e21;overflow-wrap:anywhere;background:#fff4ef;border:1px solid #f3d3c3;border-radius:12px;margin-top:16px;padding:16px}.passkey-error p{margin:8px 0}.passkey-success{color:#165740;background:#eefaf4;border:1px solid #bce4d7;border-radius:16px;padding:24px 16px}.passkey-success>span{font-size:2rem;display:block}.passkey-success strong{font-size:1.2rem}.passkey-success p{color:#295e4c}.passkey-enrollment{text-align:center;max-width:460px}.passkey-enrollment img{max-width:100%;height:auto;margin:12px auto;display:block}.passkey-identity-check{text-align:left;background:#f0f5f8;border-radius:12px;align-items:center;gap:10px;margin:18px 0;padding:14px;display:flex}.passkey-identity-check input{flex:0 0 20px;width:20px;height:20px}.passkey-enrollment .passkey-error{text-align:left}
