.appearance-page{--appearance-ink: var(--app-text-primary, #1c2821);--appearance-muted: var(--app-text-secondary, #59665e);--appearance-border: var(--app-border, #dfe5e0);--appearance-surface: var(--app-surface, #ffffff);color:var(--appearance-ink);padding-bottom:36px;font-family:var(--font-sans, Inter, system-ui, sans-serif)}.appearance-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.appearance-subtitle{color:var(--appearance-muted);font-size:14px;line-height:1.7;max-width:650px;margin-top:8px}.appearance-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.appearance-unsaved{color:#98651c;background:#fff6df;border:1px solid #f0dfb6;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:700;white-space:nowrap}.appearance-actions button,.appearance-mode-toggle button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.appearance-info{border:1px solid var(--appearance-border);background:var(--appearance-surface);border-radius:12px;padding:12px 15px;margin-bottom:16px;font-size:13px;color:var(--appearance-muted)}.appearance-tabs{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--appearance-border);margin-bottom:22px;overflow-x:auto}.appearance-tabs button{border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:12px 15px;display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--appearance-muted);font-size:13px;font-weight:650;white-space:nowrap;cursor:pointer}.appearance-tabs button:hover{color:var(--app-primary, #216b49)}.appearance-tabs button.active{color:var(--app-primary, #216b49);border-bottom-color:var(--app-primary, #216b49)}.appearance-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:22px;align-items:start}.appearance-editor,.appearance-preview-column{min-width:0}.appearance-card,.appearance-mode-card,.preview-colour-summary{background:var(--appearance-surface);border:1px solid var(--appearance-border);border-radius:16px;box-shadow:0 3px 14px #192d2008}.appearance-card{padding:23px}.appearance-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:22px}.appearance-card-heading>svg{flex:0 0 auto;color:var(--app-primary, #216b49);background:var(--app-accent-soft, #eaf3ec);border-radius:10px;padding:9px;width:38px;height:38px}.appearance-card-heading h2,.preview-heading h2{font-size:17px;line-height:1.4;font-weight:750;letter-spacing:-.025em}.appearance-card-heading p{color:var(--appearance-muted);font-size:12px;line-height:1.6;margin-top:5px}.theme-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.theme-option{position:relative;min-width:0;padding:9px;text-align:left;background:var(--appearance-surface);border:1px solid var(--appearance-border);border-radius:12px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.theme-option:hover{border-color:var(--app-secondary, #287b59);transform:translateY(-1px)}.theme-option.selected{border:2px solid var(--app-primary, #216b49);padding:8px;box-shadow:0 0 0 3px var(--app-accent-soft, #eaf3ec)}.theme-swatch-strip{height:65px;display:flex;overflow:hidden;position:relative;border-radius:7px;margin-bottom:11px}.theme-swatch-strip>span:not(.theme-selected-mark){flex:1}.theme-selected-mark{position:absolute;right:7px;top:7px;display:grid;place-items:center;width:24px;height:24px;color:#fff;background:var(--app-primary, #216b49);border:2px solid white;border-radius:50%}.theme-option-name,.theme-option-description{display:block}.theme-option-name{font-size:13px;font-weight:750}.theme-option-description{margin-top:3px;color:var(--appearance-muted);font-size:11px}.appearance-tip{display:flex;gap:10px;align-items:flex-start;padding:13px;margin-top:20px;border-radius:10px;color:var(--appearance-muted);background:var(--app-accent-soft, #eaf3ec);font-size:12px;line-height:1.6}.appearance-tip svg{flex:0 0 auto;color:var(--app-primary, #216b49);margin-top:1px}.appearance-tip strong{color:var(--appearance-ink)}.color-field-list{display:grid;gap:5px}.color-field-row{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid transparent;border-radius:10px;background:transparent;padding:10px;cursor:pointer}.color-field-row:hover,.color-field-row.active{background:var(--app-accent-soft, #eaf3ec);border-color:var(--appearance-border)}.color-field-swatch{width:35px;height:35px;flex:0 0 auto;border:1px solid rgb(0 0 0 / 12%);border-radius:9px;box-shadow:inset 0 0 0 2px #ffffff2e}.color-field-copy{display:grid;gap:4px;flex:1;min-width:0}.color-field-copy strong{font-size:12px;font-weight:700}.color-field-copy small{font-size:11px;color:var(--appearance-muted);line-height:1.4}.color-field-value{color:var(--appearance-muted);font-size:10px;font-weight:650;font-variant-numeric:tabular-nums}.color-field-chevron{color:var(--appearance-muted);flex:0 0 auto}.color-picker-panel{border:1px solid var(--appearance-border);border-radius:13px;padding:16px;margin-top:18px;background:color-mix(in srgb,var(--appearance-surface) 94%,var(--app-background) 6%)}.color-picker-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.color-picker-title h3{font-size:13px;font-weight:750}.color-picker-title p,.color-picker-instructions{color:var(--appearance-muted);font-size:11px;line-height:1.6;margin-top:4px}.native-color-picker{position:relative;display:grid;place-items:center;width:43px;height:43px;color:#fff;border:1px solid var(--appearance-border);border-radius:11px;overflow:hidden;cursor:pointer;box-shadow:0 2px 6px #00000014}.native-color-picker svg{filter:drop-shadow(0 1px 2px rgb(0 0 0 / 35%));pointer-events:none}.native-color-picker input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.native-color-picker input:disabled{cursor:not-allowed}.color-picker-instructions{margin:13px 0}.named-swatches{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.named-swatch{display:grid;place-items:center;position:relative;aspect-ratio:1;border:0;background:transparent;padding:2px;cursor:pointer;color:var(--appearance-ink)}.named-swatch>span{width:100%;height:100%;border:1px solid rgb(0 0 0 / 10%);border-radius:50%;transition:transform .14s ease,box-shadow .14s ease}.named-swatch:hover>span{transform:scale(1.09);box-shadow:0 0 0 3px var(--appearance-border)}.named-swatch>svg{position:absolute;color:#fff;filter:drop-shadow(0 1px 2px rgb(0 0 0 / 45%))}.named-swatch:disabled{opacity:.55;cursor:not-allowed}.color-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--appearance-border);margin-top:16px;padding-top:13px;color:var(--appearance-muted);font-size:11px}.selected-color-label{display:inline-flex;align-items:center;gap:7px;color:var(--appearance-ink);font-weight:650}.selected-color-label>span{width:16px;height:16px;border-radius:5px;border:1px solid rgb(0 0 0 / 12%)}.font-choice-list{display:grid;gap:8px}.font-choice{display:flex;align-items:center;gap:12px;width:100%;padding:14px;text-align:left;border:1px solid var(--appearance-border);border-radius:11px;background:var(--appearance-surface);cursor:pointer}.font-choice:hover,.font-choice.selected{border-color:var(--app-primary, #216b49);background:var(--app-accent-soft, #eaf3ec)}.font-choice>span:first-child{display:grid;gap:4px;flex:1}.font-choice strong{font-size:14px}.font-choice small{color:var(--appearance-muted);font-size:11px}.font-sample{font-size:17px;color:var(--appearance-muted)}.font-choice>svg{flex:0 0 auto;color:var(--app-primary, #216b49)}.font-choice:disabled{cursor:default}.appearance-mode-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px;margin-top:15px}.appearance-mode-copy{display:flex;align-items:center;gap:11px;min-width:0}.appearance-mode-icon{width:39px;height:39px;display:grid;place-items:center;color:var(--app-primary, #216b49);background:var(--app-accent-soft, #eaf3ec);border-radius:11px;flex:0 0 auto}.appearance-mode-copy h3{font-size:12px;font-weight:750}.appearance-mode-copy p{margin-top:4px;color:var(--appearance-muted);font-size:11px;line-height:1.5}.appearance-mode-toggle{display:flex;align-items:center;padding:4px;gap:3px;border-radius:10px;border:1px solid var(--appearance-border);background:var(--app-background, #f4f6f5)}.appearance-mode-toggle button{padding:8px 10px;border:0;border-radius:7px;background:transparent;color:var(--appearance-muted);font-size:11px;font-weight:650;cursor:pointer}.appearance-mode-toggle button.selected{color:var(--app-primary, #216b49);background:var(--appearance-surface);box-shadow:0 1px 4px #00000014}.preview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 14px}.preview-heading .eyebrow{margin-bottom:5px}.preview-live-indicator{display:inline-flex;align-items:center;gap:6px;color:var(--appearance-muted);font-size:11px;font-weight:650}.preview-live-indicator>span{width:7px;height:7px;border-radius:50%;background:#22a06b;box-shadow:0 0 0 3px #22a06b1f}.school-preview{overflow:hidden;border:1px solid var(--preview-border);border-radius:15px;color:var(--preview-text);background:var(--preview-background);font-family:var(--preview-font),system-ui,sans-serif;box-shadow:0 8px 24px #192d2012;transition:background .18s ease,color .18s ease}.school-preview-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px;border-bottom:1px solid var(--preview-border);background:var(--preview-surface)}.school-preview-brand{display:flex;align-items:center;gap:10px;min-width:0}.school-preview-logo{display:grid;place-items:center;width:38px;height:38px;color:#fff;background:var(--preview-primary);border-radius:11px;font-weight:800;font-size:19px}.school-preview-brand>div:last-child{display:grid;gap:4px}.school-preview-brand strong{font-size:12px;line-height:1.3}.school-preview-brand small{font-size:10px;color:var(--preview-muted)}.school-preview-avatar{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--preview-accent);color:var(--preview-primary);font-size:10px;font-weight:750;flex:0 0 auto}.school-preview-nav{display:flex;align-items:center;gap:20px;overflow:hidden;padding:12px 16px;background:var(--preview-primary);color:#fff}.school-preview-nav span{font-size:10px;white-space:nowrap;opacity:.78}.school-preview-nav span.active{opacity:1;font-weight:750;border-bottom:2px solid white;padding-bottom:3px}.school-preview-content{padding:15px}.school-preview-welcome{position:relative;isolation:isolate;overflow:hidden;border-radius:12px;padding:18px 15px;color:#fff;background:linear-gradient(120deg,var(--preview-primary),var(--preview-secondary))}.school-preview-pill{display:inline-block;border-radius:5px;padding:5px 7px;color:#fff;background:#ffffff2b;font-size:8px;font-weight:750;letter-spacing:.09em}.school-preview-welcome h3{position:relative;font-size:clamp(18px,1.6vw,24px);font-weight:800;letter-spacing:-.04em;margin-top:12px}.school-preview-welcome p{position:relative;max-width:210px;margin-top:6px;font-size:10px;line-height:1.7;color:#ffffffd4}.school-preview-welcome button{position:relative;display:inline-flex;align-items:center;gap:10px;border:0;border-radius:7px;margin-top:15px;padding:9px 11px;color:var(--preview-primary);background:#fff;font-size:10px;font-weight:750}.school-preview-welcome button span{font-size:15px}.preview-decoration{position:absolute;z-index:-1;border-radius:50%;border:1px solid rgb(255 255 255 / 15%);background:#ffffff0d}.preview-decoration-one{width:160px;height:160px;right:-45px;top:-45px}.preview-decoration-two{width:100px;height:100px;right:18px;bottom:-55px}.school-preview-section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:19px 0 11px}.school-preview-section-title strong{font-size:12px}.school-preview-section-title span{font-size:9px;color:var(--preview-primary);font-weight:700}.school-preview-subjects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.school-preview-subject{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:10px;border:1px solid var(--preview-border);border-radius:10px;background:var(--preview-surface)}.school-preview-subject-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--preview-accent);color:var(--preview-primary);font-size:16px;font-weight:750}.school-preview-subject strong{font-size:10px;line-height:1.4;overflow-wrap:anywhere}.school-preview-subject small{color:var(--preview-muted);font-size:8px;letter-spacing:.06em}.school-preview-progress{padding:13px;margin-top:12px;border:1px solid var(--preview-border);border-radius:10px;background:var(--preview-surface)}.school-preview-progress>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:10px}.school-preview-progress>div:first-child span{color:var(--preview-muted)}.school-preview-progress>div:first-child strong{color:var(--preview-primary)}.school-preview-progress-track{height:5px;overflow:hidden;margin-top:9px;border-radius:99px;background:var(--preview-accent)}.school-preview-progress-track span{display:block;width:68%;height:100%;border-radius:inherit;background:var(--preview-primary)}.preview-caption{display:flex;align-items:flex-start;gap:8px;margin:12px 2px 20px;color:var(--appearance-muted);font-size:11px;line-height:1.6}.preview-caption svg{flex:0 0 auto;color:var(--app-primary, #216b49);margin-top:1px}.preview-colour-summary{padding:17px}.preview-colour-summary h3{font-size:12px;font-weight:750;margin-bottom:14px}.preview-colour-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.preview-colour-chip{display:grid;justify-items:start;gap:7px;min-width:0}.preview-colour-chip>span{width:100%;height:34px;border:1px solid rgb(0 0 0 / 9%);border-radius:7px}.preview-colour-chip small{color:var(--appearance-muted);font-size:10px}@media(max-width:1120px){.appearance-layout{grid-template-columns:minmax(0,1fr)}.appearance-preview-column{max-width:680px}.school-preview-welcome h3{font-size:22px}}@media(max-width:680px){.appearance-heading{flex-direction:column;gap:16px}.appearance-actions{width:100%;justify-content:flex-start}.appearance-actions .appearance-unsaved{margin-right:auto}.appearance-card{padding:16px}.theme-gallery{gap:9px}.theme-swatch-strip{height:48px}.color-field-row{gap:9px;padding:8px 5px}.color-field-swatch{width:30px;height:30px}.color-field-value{display:none}.named-swatches{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.appearance-mode-card{align-items:flex-start;flex-direction:column}.appearance-mode-toggle{width:100%}.appearance-mode-toggle button{flex:1}.school-preview-topbar{padding:12px}.school-preview-nav{gap:14px;padding:11px 12px}.school-preview-content{padding:10px}.school-preview-subjects{gap:6px}.school-preview-subject{padding:8px 6px}.school-preview-subject strong{font-size:9px}.preview-colour-chips{gap:7px}}@media(prefers-reduced-motion:reduce){.theme-option,.named-swatch>span,.school-preview{transition:none}}/*! tailwindcss v4.3.3 | 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-space-y-reverse:0;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-amber-700:oklch(55.5% .163 48.998);--color-green-700:oklch(52.7% .154 150.069);--spacing:.25rem;--text-xs:.8125rem;--text-xs--line-height:calc(1 / .75);--text-sm:.9375rem;--text-sm--line-height:calc(1.25 / .875);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-semibold:600;--animate-spin:spin 1s linear infinite;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-ink:var(--app-text-primary);--color-muted:var(--app-text-secondary)}}@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%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;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:where(:not(iframe)){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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance: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{.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}.relative{position:relative}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-9{margin-top:calc(var(--spacing) * 9)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[170px\]{min-width:170px}.min-w-\[175px\]{min-width:175px}.min-w-\[180px\]{min-width:180px}.min-w-\[220px\]{min-width:220px}.flex-1{flex:1}.grow{flex-grow:1}.animate-spin{animation:var(--animate-spin)}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-full{border-radius:3.40282e38px}.bg-\[\#f1f3f0\]{background-color:#f1f3f0}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-1{padding-block:var(--spacing)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[15px\]{font-size:15px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[-0\.05em\]{--tw-tracking:-.05em;letter-spacing:-.05em}.whitespace-nowrap{white-space:nowrap}.text-amber-700{color:var(--color-amber-700)}.text-green-700{color:var(--color-green-700)}.text-ink{color:var(--color-ink)}.text-muted{color:var(--color-muted)}.capitalize{text-transform:capitalize}@media(min-width:40rem){.sm\:block{display:block}.sm\:max-w-\[280px\]{max-width:280px}.sm\:max-w-\[300px\]{max-width:300px}.sm\:max-w-\[320px\]{max-width:320px}.sm\:gap-3{gap:calc(var(--spacing) * 3)}}}:root{color-scheme:light;--app-accent:#216b49;--app-primary:#216b49;--app-secondary:#287b59;--app-accent-soft:#eaf3ec;--app-text-primary:#1c2821;--app-text-secondary:#59665e;--app-text-subtle:#647168;--app-border:#dfe5e0;--app-background:#f4f6f5;--app-surface:#fff;--app-surface-muted:var(--app-surface)}@supports (color:color-mix(in lab,red,red)){:root{--app-surface-muted:color-mix(in srgb, var(--app-surface) 55%, var(--app-background))}}:root{--font-sans:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--app-text-primary);background:var(--app-background);font-family:var(--font-sans);margin:0;font-size:16px;line-height:1.5}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--app-primary)}@supports (color:color-mix(in lab,red,red)){button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid color-mix(in srgb,var(--app-primary) 40%,transparent)}}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline-offset:2px}.app-shell{min-height:100vh}.sidebar{z-index:30;border-right:1px solid var(--app-border);background:var(--app-surface);flex-direction:column;width:258px;padding:26px 18px 15px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand{justify-content:space-between;align-items:center;padding:0 6px;display:flex}.brand-lockup{align-items:center;gap:11px;min-width:0;display:flex}.brand-logo-frame{background:#fff;border:1px solid #e7ece7;border-radius:13px;flex:none;justify-content:center;align-items:center;width:48px;height:48px;padding:4px;display:flex;overflow:hidden;box-shadow:0 3px 10px #1f33240a}.brand-logo{object-fit:contain;width:100%;height:100%;display:block}.brand-copy{min-width:0}.brand-name{color:var(--app-text-primary);letter-spacing:-.025em;white-space:nowrap;font-size:14px;font-weight:750}.brand-caption{color:var(--app-text-secondary);letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;margin-top:2px;font-size:9px;font-weight:650}.school-switcher{background:#fcfdfb;border:1px solid #eaede9;border-radius:11px;align-items:center;gap:10px;margin:31px 0 30px;padding:10px;display:flex}.school-context-select{color:#879188;cursor:pointer;background:0 0;border:0;outline:0;width:100%;margin-top:3px;font-size:12px}.school-context-select:disabled{cursor:wait}.school-avatar,.profile-avatar,.topbar-profile{flex:none;justify-content:center;align-items:center;font-weight:700;display:flex}.school-avatar{color:#327656;background:#e9f2eb;border-radius:9px;width:34px;height:34px}.school-avatar-logo{object-fit:contain;background:var(--app-surface);flex:none;padding:2px}.dashboard-school-brand{border:1px solid var(--app-border);background:var(--app-surface);border-radius:12px;align-items:center;gap:10px;min-width:0;padding:8px 12px;display:flex}.dashboard-school-brand img{object-fit:contain;flex:none;width:42px;height:42px}.dashboard-school-brand span{max-width:220px;color:var(--app-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;overflow:hidden}@media(max-width:700px){.welcome-illustration{display:none}.dashboard-school-brand{padding:6px 8px}.dashboard-school-brand img{width:34px;height:34px}}@media(max-width:480px){.dashboard-school-brand{z-index:2;padding:5px;position:absolute;top:0;right:0}.dashboard-school-brand span{display:none}.dashboard-school-brand img{width:30px;height:30px}}.nav-caption{color:#a0aaa3;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px 10px;font-size:11px;font-weight:700}.sidebar-navigation{scrollbar-width:thin;scrollbar-color:#dfe6df transparent;flex:1;min-height:0;padding:0 0 10px;overflow-y:auto}.sidebar-nav-group+.sidebar-nav-group{margin-top:16px}.sidebar-nav-group .nav-caption{margin-top:0;margin-bottom:6px}.nav-group-toggle{width:100%;color:var(--app-text-subtle);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:0 8px 0 10px;display:flex}.nav-group-toggle:hover{color:var(--app-text-primary)}.nav-group-chevron-closed{transform:rotate(-90deg)}.nav-group-toggle span{color:inherit}.nav-item{color:#77827a;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;width:100%;padding:10px 11px;font-size:14px;font-weight:500;transition:all .16s;display:flex}.nav-item:hover{color:var(--app-secondary);background:#f5f8f5}.nav-item-active{color:var(--app-secondary);background:var(--app-accent-soft);font-weight:650}.nav-arrow{opacity:.55;margin-left:auto}.sidebar-note{background:var(--app-surface-muted);border:1px solid #edf0ec;border-radius:12px;margin:0 2px;padding:14px}.sidebar-note-icon{color:#8b7054;background:#f7efe2;border-radius:9px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.sidebar-bottom{margin-top:auto}.profile-row{border-top:1px solid var(--app-border);align-items:center;gap:10px;margin-top:14px;padding:15px 2px 0;display:flex}.profile-page-panel{overflow:hidden}.profile-page-heading{border-bottom:1px solid var(--app-border);align-items:center;gap:12px;padding:19px 22px;display:flex}.profile-page-heading h2,.profile-signature-section h2{color:var(--app-text-primary);margin:0;font-size:15px;font-weight:700}.profile-page-heading p,.profile-signature-section p{color:var(--app-text-secondary);margin:3px 0 0;font-size:12px}.profile-page-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px 22px;display:grid}.profile-readonly{border:1px solid var(--app-border);background:var(--app-surface-muted);border-radius:9px;align-content:center;gap:4px;padding:10px 12px;display:grid}.profile-readonly span,.profile-page-footer>span{color:var(--app-text-secondary);font-size:11px}.profile-readonly strong{color:var(--app-text-primary);font-size:13px}.profile-signature-section{border-top:1px solid var(--app-border);gap:16px;padding:20px 22px;display:grid}.profile-signature-control{align-items:center;gap:16px;display:flex}.profile-signature-preview{border:1px dashed var(--app-border);background:var(--app-surface-muted);border-radius:10px;justify-content:center;align-items:center;width:240px;height:100px;display:flex;overflow:hidden}.profile-signature-preview img{object-fit:contain;max-width:100%;max-height:100%}.profile-signature-preview span{color:var(--app-text-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.profile-signature-actions{align-items:center;gap:12px;display:flex}.profile-upload-button{cursor:pointer;align-items:center;gap:7px;display:inline-flex;position:relative;overflow:hidden}.profile-upload-button input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.profile-page-footer{border-top:1px solid var(--app-border);justify-content:space-between;align-items:center;gap:12px;padding:14px 22px;display:flex}.report-card-signature-image{object-fit:contain;object-position:left center;width:auto;max-width:150px;height:38px;display:block}@media(max-width:650px){.profile-page-fields{grid-template-columns:1fr;padding-left:16px;padding-right:16px}.profile-page-heading,.profile-signature-section,.profile-page-footer{padding-left:16px;padding-right:16px}.profile-signature-control{flex-direction:column;align-items:flex-start}.profile-signature-preview{width:100%;max-width:300px}}.profile-avatar,.topbar-profile{color:#725f81;background:#f0eaf5;border-radius:50%;width:35px;height:35px;font-size:12px}.icon-button{color:#78837c;background:0 0;border:0;border-radius:9px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:inline-flex;position:relative}.main-area{min-height:100vh;margin-left:258px}.topbar{z-index:20;border-bottom:1px solid var(--app-border);background:var(--app-surface);justify-content:space-between;align-items:center;height:72px;padding:0 42px;display:flex;position:sticky;top:0}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar-date{color:var(--app-text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.notification-center{margin-left:5px;position:relative}.notification-button{margin-left:0}.notification-count{min-width:17px;height:17px;color:var(--app-surface);background:#c45e4c;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;padding:0 3px;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;top:1px;right:-4px}.notification-panel{z-index:50;background:var(--app-surface);border:1px solid #e4e9e4;border-radius:14px;width:min(390px,100vw - 24px);max-height:min(560px,100vh - 100px);position:absolute;top:calc(100% + 13px);right:-42px;overflow:hidden;box-shadow:0 18px 48px #24312a24}.notification-panel-heading{border-bottom:1px solid var(--app-border);justify-content:space-between;align-items:center;gap:12px;padding:16px 17px 13px;display:flex}.notification-panel-heading h2{color:var(--app-text-primary);margin:0;font-size:16px;font-weight:700}.notification-panel-heading p{color:var(--app-text-secondary);margin:4px 0 0;font-size:12px}.notification-panel-actions{align-items:center;gap:6px;display:flex}.notification-mark-all{color:#347c59;white-space:nowrap;background:0 0;border:0;padding:7px 5px;font-size:12px;font-weight:650}.notification-mark-all:disabled{color:#a1aaa4;cursor:not-allowed}.notification-close{width:30px;height:30px}.notification-list{max-height:430px;margin:0;padding:5px 0;list-style:none;overflow-y:auto}.notification-item{border:0;border-bottom:1px solid var(--app-border);width:100%;color:inherit;background:var(--app-surface);text-align:left;align-items:flex-start;gap:11px;padding:13px 16px;display:flex}.notification-item:hover{background:#f9fbf9}.notification-item-unread{background:var(--app-surface-muted)}.notification-item-icon{color:#488260;background:var(--app-accent-soft);border-radius:10px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.notification-icon-assessment_submitted{color:#8c7046;background:#f6f0e5}.notification-icon-term_result_published{color:#6c6c9b;background:#efedf7}.notification-item-content{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.notification-item-title{color:var(--app-text-primary);font-size:13px;font-weight:700}.notification-item-message{color:#707d74;font-size:12px;line-height:1.45}.notification-item-time{color:#657168;font-size:11px}.notification-unread-dot{background:#36815d;border-radius:50%;flex:none;width:7px;height:7px;margin-top:6px}.notification-open-icon{color:var(--app-text-secondary);flex:none;margin-top:5px}.notification-load-more{border:0;border-top:1px solid var(--app-border);color:#347c59;background:var(--app-surface);width:100%;padding:11px;font-size:12px;font-weight:650}.notification-empty{min-height:100px;color:var(--app-text-secondary);text-align:center;justify-content:center;align-items:center;gap:9px;padding:20px;font-size:13px;line-height:1.5;display:flex}.notification-error{color:#9c4d42;background:#fff7f5;border-bottom:1px solid #f0d8d4;justify-content:space-between;align-items:center;gap:10px;padding:9px 14px;font-size:12px;display:flex}.notification-error button{color:#9c4d42;background:0 0;border:0;flex:none;font-size:12px;font-weight:700}.topbar-profile{margin-left:2px}.page-content{max-width:1430px;margin:0 auto;padding:35px 42px 25px}.eyebrow{color:#7a8c7e;letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:700}.welcome-row{justify-content:space-between;align-items:flex-start;min-height:147px;display:flex;position:relative;overflow:hidden}.page-title{color:var(--app-text-primary);letter-spacing:-.055em;margin-top:8px;font-size:clamp(27px,3vw,34px);font-weight:650;line-height:1.15}.title-dot{color:#32805b}.welcome-illustration{width:168px;height:128px;margin:0 36px 0 10px;position:relative}.illustration-sun{background:#f2e8cb;border-radius:50%;width:66px;height:66px;position:absolute;top:8px;right:43px}.illustration-book{color:#468366;background:#e8f0e5;border:1px solid #e4ebe2;border-radius:14px 14px 9px 9px;justify-content:center;align-items:center;width:100px;height:73px;display:flex;position:absolute;bottom:1px;right:28px;transform:rotate(-7deg);box-shadow:0 9px 17px #426b4712}.illustration-spark{color:#d29759;font-size:17px;position:absolute}.spark-one{top:20px;right:124px}.spark-two{color:#789b7f;font-size:13px;top:71px;right:5px}.stats-grid{grid-template-columns:1fr 1fr 1.15fr;gap:15px;margin:3px 0 21px;display:grid}.stat-card{border:1px solid var(--app-border);background:var(--app-surface);border-radius:12px;min-height:174px;padding:18px 19px}.stat-icon{border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.stat-green{color:#39815f;background:var(--app-accent-soft)}.stat-peach{color:#bf775a;background:#faeee6}.stat-lilac{color:#82739d;background:#f1edf7}.stat-period{border:1px solid var(--app-border);color:#929b95;border-radius:20px;padding:5px 8px;font-size:11px}.stat-value{color:#24312a;letter-spacing:-.05em;min-height:38px;font-size:30px;font-weight:650;line-height:1.1}.loading-line{background:linear-gradient(90deg,#f0f3f0,var(--app-surface-muted),#f0f3f0);background-size:200% 100%;border-radius:6px;width:54px;height:28px;animation:1.2s infinite shimmer;display:inline-block}@keyframes shimmer{to{background-position:-200% 0}}.stat-card-accent{background:#f7f7f1;position:relative;overflow:hidden}.accent-card-top{justify-content:space-between;display:flex}.accent-spark{color:#bca968;font-size:28px}.content-grid{grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);align-items:stretch;gap:17px;display:grid}.panel{border:1px solid var(--app-border);background:var(--app-surface);border-radius:12px;overflow:hidden}.panel-heading{justify-content:space-between;align-items:center;padding:17px 19px 15px;display:flex}.people-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.people-table thead{color:#657168;background:var(--app-surface-muted);letter-spacing:.025em;font-size:11px;font-weight:600}.people-table th{white-space:nowrap;padding:11px 17px;font-weight:600}.people-table td{border-top:1px solid var(--app-border);padding:10px 17px}.person-avatar{border-radius:50%;flex:none;justify-content:center;align-items:center;width:31px;height:31px;font-size:11px;font-weight:650;display:flex}.person-student{color:#395f47;background:var(--app-accent-soft)}.person-staff{color:#806c8d;background:#f0eaf4}.status-badge{text-transform:capitalize;border-radius:20px;align-items:center;gap:6px;padding:5px 8px;font-size:11px;font-weight:550;display:inline-flex}.status-badge>span{background:currentColor;border-radius:50%;width:5px;height:5px}.status-active{color:var(--app-primary);background:var(--app-accent-soft)}.status-inactive{color:#70491c;background:#f7f1e9}.panel-footer{border:0;border-top:1px solid var(--app-border);color:#558067;background:var(--app-surface);justify-content:center;align-items:center;gap:6px;width:100%;padding:12px;font-size:12px;font-weight:600;transition:background .15s;display:flex}.panel-footer:hover{background:var(--app-surface-muted)}.table-message,.empty-state{color:#808b83;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:176px;font-size:13px;display:flex}.empty-state{padding:22px}.empty-state-icon{color:#64846c;background:#edf3ec;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.staff-list{padding:0 18px}.staff-row{border-top:1px solid var(--app-border);align-items:center;gap:10px;padding:12px 0;display:flex}.staff-row .status-badge{margin-left:auto}.compact-empty{min-height:225px}.dashboard-footnote{color:#657168;align-items:center;gap:7px;margin-top:18px;font-size:11px;display:flex}.dashboard-footnote svg{color:#699274}.dashboard-credit{border:1px solid var(--app-border);color:var(--app-text-secondary);background:var(--app-surface);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:5px 10px 5px 5px;font-size:10px;display:flex}.dashboard-credit strong{color:var(--app-text-primary);font-weight:700}.dashboard-nexa-logo{object-fit:contain;background:#f4f7f4;border-radius:50%;width:28px;height:28px}.footnote-spacer{flex:1}.exam-workflow-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:17px;display:grid}.exam-workflow-stat{border:1px solid var(--app-border);background:var(--app-surface);border-radius:13px;align-items:center;gap:13px;min-width:0;min-height:116px;padding:17px;display:flex;box-shadow:0 2px 7px #25372a06}.exam-workflow-stat-copy{gap:2px;min-width:0;display:grid}.exam-workflow-stat-copy strong{color:var(--app-text-primary);letter-spacing:-.05em;font-size:27px;font-weight:750;line-height:1}.exam-workflow-stat-copy>span{color:var(--app-text-primary);margin-top:3px;font-size:12px;font-weight:650}.exam-workflow-stat-copy small{color:var(--app-text-secondary);font-size:10px}.exam-stat-count{color:var(--app-text-secondary);background:var(--app-surface-muted);white-space:nowrap;border-radius:999px;margin-left:auto;padding:5px 8px;font-size:10px}.exam-work-queue{margin-bottom:18px;overflow:hidden}.exam-work-queue .panel-heading{border-bottom:1px solid var(--app-border)}.exam-view-all{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.exam-queue-table{min-width:680px}.exam-queue-table td strong{color:var(--app-text-primary);font-size:12px;font-weight:650;display:block}.exam-queue-meta{color:var(--app-text-secondary);text-transform:capitalize;margin-top:3px;font-size:10px;display:block}.exam-queue-status{color:#6d5b2b;white-space:nowrap;background:#f8f1df;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:650;display:inline-flex}.exam-queue-status-submitted,.exam-queue-status-approved{color:#376949;background:#eaf4ec}.exam-queue-status-draft{color:#596b78;background:#edf2f5}.exam-queue-empty{min-height:118px;color:var(--app-text-secondary);justify-content:center;align-items:center;gap:12px;padding:20px;display:flex}.exam-queue-empty>span{color:#327653;background:#eaf4ec;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.exam-queue-empty>.exam-queue-error-mark{color:#996536;background:#fbf1e5;font-weight:750}.exam-queue-empty strong{color:var(--app-text-primary);font-size:13px;display:block}.exam-queue-empty p{margin-top:3px;font-size:11px}.exam-quick-actions{margin-top:19px}.exam-quick-actions-heading{margin-bottom:11px}.exam-quick-actions-heading h2{color:var(--app-text-primary);letter-spacing:-.02em;font-size:15px;font-weight:700}.exam-quick-actions-heading p{color:var(--app-text-secondary);margin-top:3px;font-size:12px}.exam-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.exam-action-card{border:1px solid var(--app-border);text-align:left;background:var(--app-surface);border-radius:12px;align-items:center;gap:12px;min-width:0;min-height:76px;padding:13px 15px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.exam-action-card:hover{border-color:#b9d0be;transform:translateY(-1px);box-shadow:0 5px 14px #2333260b}.exam-action-icon{color:#327653;background:#edf5ef;border-radius:11px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.exam-action-copy{gap:3px;min-width:0;display:grid}.exam-action-copy strong{color:var(--app-text-primary);font-size:12px;font-weight:700}.exam-action-copy small{color:var(--app-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.exam-action-arrow{color:#859188;flex:none;margin-left:auto}.headteacher-term-banner{background:linear-gradient(105deg,#f2f8f2,#fff 74%);border:1px solid #dce8de;border-radius:13px;align-items:center;gap:13px;margin-bottom:18px;padding:14px 16px;display:flex}.headteacher-term-icon{color:#327653;background:#e4f0e6;border-radius:12px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.headteacher-term-banner>div{gap:3px;min-width:0;display:grid}.headteacher-term-banner small{color:var(--app-text-secondary);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:650}.headteacher-term-banner strong{color:var(--app-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.headteacher-term-status{color:#526c56;text-transform:capitalize;white-space:nowrap;background:#e9f2e9;border-radius:999px;flex:none;padding:5px 9px;font-size:9px;font-weight:700;display:inline-flex}.headteacher-term-status-open{color:#326d45;background:#e6f3e8}.headteacher-term-status-marks_review{color:#80612c;background:#f8f1df}.headteacher-term-banner>button{margin-left:auto}.headteacher-followups{margin-bottom:19px}.headteacher-followup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.headteacher-followup-panel{min-width:0;overflow:hidden}.headteacher-followup-panel .panel-heading{min-height:76px;padding-top:14px;padding-bottom:14px}.headteacher-followup-panel .panel-heading h3{color:var(--app-text-primary);font-size:13px;font-weight:700}.headteacher-followup-panel .panel-heading p{color:var(--app-text-secondary);margin-top:3px;font-size:10px}.headteacher-followup-list{padding:0 15px}.headteacher-followup-row{border:0;border-top:1px solid var(--app-border);text-align:left;background:0 0;align-items:center;gap:10px;width:100%;min-width:0;padding:11px 2px;display:flex}.headteacher-followup-row:hover .headteacher-followup-copy strong{color:var(--app-secondary)}.headteacher-followup-mark{color:#8b6b32;background:#f8f2e5;border-radius:10px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.headteacher-followup-mark-term{color:#5e6289;background:#f0f0f8}.headteacher-followup-copy{flex:1;gap:3px;min-width:0;display:grid}.headteacher-followup-copy strong{color:var(--app-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:650;overflow:hidden}.headteacher-followup-copy small{color:var(--app-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.headteacher-followup-row>svg{color:#88938b;flex:none}.headteacher-followup-row .headteacher-term-status{font-size:8px}.headteacher-term-status-review{color:#80612c;background:#f8f1df}.headteacher-empty{min-height:96px;color:var(--app-text-secondary);text-align:center;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:11px;display:flex}.headteacher-empty>span:first-child{color:#327653;flex:none;display:flex}.headteacher-tools{margin-top:20px}@media(max-width:900px){.headteacher-followup-grid{grid-template-columns:1fr}}@media(max-width:700px){.headteacher-term-banner{flex-wrap:wrap}.headteacher-term-banner>button{margin-left:53px}.headteacher-stats .exam-workflow-stat{flex-direction:row;align-items:center}.headteacher-stats .exam-stat-count{margin-left:auto}.exam-workflow-stats{gap:9px}.exam-workflow-stat{flex-direction:column;align-items:flex-start;gap:10px;padding:13px}.exam-stat-count{margin:0}.exam-workflow-stat-copy strong{font-size:24px}}@media(max-width:480px){.exam-workflow-stats,.exam-action-grid{grid-template-columns:1fr}.exam-workflow-stat{flex-direction:row;align-items:center;min-height:84px}.exam-stat-count{margin-left:auto}.exam-action-card{min-height:68px}}.notice-error,.form-error{color:#a04734;background:#fff6f3;border:1px solid #f2d3ca;border-radius:9px;padding:11px 13px;font-size:13px}.notice-error{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.text-button{color:#397d58;background:0 0;border:0;padding:0;font-size:13px;font-weight:650}.text-button:hover{text-decoration:underline}.directory-welcome{min-height:135px}.directory-count{min-width:116px;color:var(--app-text-secondary);flex-direction:column;align-items:flex-end;padding-top:12px;font-size:13px;display:flex}.directory-count span:first-child{color:var(--app-text-primary);letter-spacing:-.05em;font-size:28px;font-weight:650}.directory-toolbar{justify-content:space-between;align-items:center;gap:12px;min-height:67px;padding:12px 18px;display:flex}.search-icon{color:#9ba59e;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input{border:1px solid var(--app-border);width:100%;color:var(--app-text-primary);background:var(--app-surface);border-radius:8px;outline:0;padding:10px 12px 10px 37px;font-size:13px}.search-input:focus,.text-input:focus{box-shadow:0 0 0 3px var(--app-primary);border-color:#77a98a}@supports (color:color-mix(in lab,red,red)){.search-input:focus,.text-input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--app-primary) 10%,transparent)}}.search-input::placeholder{color:#a0aaa3}.directory-panel .panel{border:0;border-radius:0}.directory-panel .panel-heading{border-top:1px solid var(--app-border)}.directory-panel .table-message,.directory-panel .empty-state{min-height:260px}.pagination{border-top:1px solid var(--app-border);color:var(--app-text-secondary);justify-content:space-between;align-items:center;padding:13px 18px;font-size:12px;display:flex}.pagination-button{border:1px solid var(--app-border);color:#647169;background:#fff;border-radius:7px;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.pagination-button:hover:not(:disabled){color:var(--app-secondary);background:var(--app-surface-muted)}.sidebar-backdrop{z-index:28;background:#14241b66;border:0;position:fixed;top:0;right:0;bottom:0;left:0}.mobile-menu,.mobile-close{display:none}.signin-page{background:var(--app-surface);grid-template-columns:minmax(400px,.9fr) minmax(420px,1.1fr);min-height:100vh;display:grid}.signin-card{flex-direction:column;justify-content:center;justify-self:center;width:min(100%,480px);padding:48px 40px;display:flex}.signin-card .brand-logo-frame,.signup-card .brand-logo-frame{border-radius:18px;width:72px;height:72px;padding:6px}.signin-card .brand-name,.signup-card .brand-name{font-size:17px}.signin-card .brand-caption,.signup-card .brand-caption{font-size:10px}.signin-decoration{background:var(--app-accent-soft);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.decoration-orbit{border:1px solid #7d997d21;border-radius:50%;position:absolute}.orbit-one{width:580px;height:580px}.orbit-two{width:770px;height:770px}.orbit-three{width:960px;height:960px}.decoration-copy{z-index:1;color:#304a38;text-align:center;margin-top:-25px;position:relative}.decoration-kicker{color:#67816b;letter-spacing:.18em;text-transform:uppercase;font-size:11px;font-weight:700}.decoration-copy p{letter-spacing:-.07em;margin:17px 0 12px;font-size:clamp(48px,6vw,76px);font-weight:600;line-height:.99}.decoration-caption{color:#7d8e7e;font-size:14px}.decoration-sticker{width:59px;height:59px;color:var(--app-surface);background:#6c9170;border-radius:17px;justify-content:center;align-items:center;display:flex;position:absolute;top:24%;right:21%;transform:rotate(9deg);box-shadow:0 10px 28px #385e3e24}.field-label{color:var(--app-text-primary);font-size:13px;font-weight:600;display:block}.text-input{color:#28352d;background:var(--app-surface);border:1px solid #e3e9e3;border-radius:8px;outline:0;width:100%;margin-top:8px;padding:12px 13px;font-size:14px;font-weight:400;transition:all .15s;display:block}.text-input::placeholder{color:#a4ada6}.primary-button{min-height:43px;color:var(--app-surface);background:var(--app-secondary);border:0;border-radius:8px;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.form-error{padding:10px 12px}.form-success{color:#35704d;background:#f1f8f1;border:1px solid #d7e8d9;border-radius:9px;padding:11px 13px;font-size:13px;line-height:1.55}.signup-page{background:var(--app-surface-muted);justify-content:center;min-height:100vh;padding:38px 18px;display:flex}.signup-card{border:1px solid var(--app-border);background:var(--app-surface);border-radius:18px;width:100%;max-width:680px;height:fit-content;padding:36px 42px;box-shadow:0 12px 36px #3146370a}.back-link{color:#64806c;background:0 0;border:0;align-items:center;gap:6px;padding:8px;font-size:13px;font-weight:600;display:inline-flex}.back-link:hover{color:var(--app-secondary)}.signup-stepper{align-items:center;margin-top:27px;display:flex}.signup-step{color:#89958b;align-items:center;gap:10px;min-width:0;display:flex}.signup-step>span{color:#718078;background:#fff;border:1px solid #dfe6df;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:flex}.signup-step>div{gap:2px;display:grid}.signup-step strong{color:#7c887f;white-space:nowrap;font-size:12px;font-weight:650}.signup-step small{color:#98a29a;white-space:nowrap;font-size:10px}.signup-step-current>span,.signup-step-complete>span{border-color:var(--app-secondary);color:#fff;background:var(--app-secondary);box-shadow:0 0 0 4px #287b5914}.signup-step-current strong,.signup-step-complete strong{color:var(--app-text-primary)}.signup-step-line{background:#e3e9e3;flex:1;height:1px;margin:0 14px}.signup-step-actions{gap:10px;display:flex}.signup-step-actions .primary-button{flex:1}.signup-section{gap:14px;display:grid}.signup-section h2{color:#425047;letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.signup-name-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.optional-label{color:#657168;margin-left:4px;font-size:11px;font-weight:400}.field-hint{color:#657168;margin-top:6px;font-size:11px;font-weight:400;display:block}.school-name-availability{align-items:center;gap:6px;min-height:16px;display:flex}.school-name-availability-checking{color:#657168}.school-name-availability-available{color:#18794e}.school-name-availability-unavailable,.school-name-availability-error{color:#b42318}.school-workspace-url{background:#f8faf8;border:1px solid #e3e9e3;border-radius:8px;gap:5px;padding:11px 12px;display:grid}.school-workspace-url>span{color:#657168;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.school-workspace-url code{overflow-wrap:anywhere;color:#35453a;font-size:12px}.plan-options{gap:9px;display:grid}.plan-option{cursor:pointer;border:1px solid #e7ebe7;border-radius:9px;align-items:center;gap:11px;padding:12px;transition:all .15s;display:flex}.plan-option:hover{background:#fbfdfb;border-color:#b7cfbb}.plan-option-selected{background:#f5faf5;border-color:#6e9d77;box-shadow:0 0 0 2px #6e9d7714}.plan-option input{accent-color:var(--app-secondary)}.plan-option-copy{flex:1;gap:4px;display:grid}.plan-option-name{color:var(--app-text-primary);font-size:13px;font-weight:650}.plan-option-detail{color:var(--app-text-secondary);font-size:11px}.plan-option-price{color:#344b3a;text-align:right;font-size:12px;font-weight:650}.plan-message{min-height:40px;color:var(--app-text-secondary);align-items:center;gap:8px;font-size:13px;line-height:1.55;display:flex}.users-welcome{align-items:flex-start;min-height:135px}.add-user-button{flex:none;margin-top:7px}.user-directory-panel{overflow:hidden}.users-toolbar{border-bottom:1px solid var(--app-border);align-items:center;gap:12px;min-height:70px;padding:13px 18px;display:flex}.users-filters{gap:8px;display:flex}.filter-select{border:1px solid var(--app-border);color:#647169;background:var(--app-surface);border-radius:8px;outline:0;max-width:190px;min-height:37px;padding:0 28px 0 10px;font-size:12px}.filter-select:focus,.text-input:focus{box-shadow:0 0 0 3px var(--app-primary);border-color:#77a98a}@supports (color:color-mix(in lab,red,red)){.filter-select:focus,.text-input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--app-primary) 10%,transparent)}}.user-total{color:var(--app-text-secondary);white-space:nowrap;margin-left:auto;font-size:12px}.users-table th,.users-table td{padding-left:13px;padding-right:13px}.table-action{border:1px solid var(--app-border);color:#568067;background:#fff;border-radius:6px;padding:5px 9px;font-size:11px;font-weight:600}.table-action:hover{background:#f5f9f5;border-color:#bad0bd}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#14241b70;justify-content:center;align-items:center;padding:24px 14px;display:flex;position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto}.user-modal{border:1px solid var(--app-border);background:var(--app-surface);border-radius:14px;width:100%;max-width:560px;max-height:min(92vh,820px);padding:23px;overflow-y:auto;box-shadow:0 24px 70px #1020182e}.signout-confirm-modal{max-width:420px}.signout-confirm-actions .primary-button{align-items:center;gap:7px;display:inline-flex}.confirm-action-modal{max-width:440px}.confirm-action-confirmation-field{gap:7px;margin-top:14px;display:grid}.confirm-action-heading{justify-content:flex-start;align-items:center}.confirm-action-icon{width:40px;height:40px;color:var(--app-primary);background:var(--app-accent-soft);border-radius:12px;flex:none;justify-content:center;align-items:center;display:flex}.confirm-action-heading h2{margin-top:2px}.confirm-action-button{border:1px solid var(--app-secondary);color:#fff;background:var(--app-secondary);border-radius:8px;min-height:40px;padding:0 14px;font-size:13px;font-weight:650}.confirm-action-button:hover{background:var(--app-secondary)}@supports (color:color-mix(in lab,red,red)){.confirm-action-button:hover{background:color-mix(in srgb,var(--app-secondary) 86%,#000)}}.confirm-action-button-primary{border-color:var(--app-primary);background:var(--app-primary)}.confirm-action-button-primary:hover{background:var(--app-primary)}@supports (color:color-mix(in lab,red,red)){.confirm-action-button-primary:hover{background:color-mix(in srgb,var(--app-primary) 86%,#000)}}.modal-heading{border-bottom:1px solid var(--app-border);justify-content:space-between;align-items:flex-start;gap:15px;padding-bottom:17px;display:flex}.modal-heading h2{color:var(--app-text-primary);letter-spacing:-.045em;margin:5px 0 0;font-size:22px;font-weight:650}.modal-heading p:last-child{color:var(--app-text-secondary);margin:6px 0 0;font-size:13px;line-height:1.5}.user-form{gap:17px;padding-top:18px;display:grid}.user-name-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.user-form .text-input{min-height:40px}.user-form select.text-input{cursor:pointer}.user-form .text-input:disabled{cursor:not-allowed;background:var(--app-surface-muted)}.modal-actions{border-top:1px solid var(--app-border);justify-content:flex-end;gap:9px;padding-top:15px;display:flex}.secondary-button{color:#657169;background:#fff;border:1px solid #e3e8e3;border-radius:8px;min-height:40px;padding:0 14px;font-size:13px;font-weight:600}.secondary-button:hover:not(:disabled){background:var(--app-surface-muted)}.students-welcome{align-items:flex-start;min-height:135px}.student-directory-panel{overflow:hidden}.student-toolbar{border-bottom:1px solid var(--app-border);align-items:center;gap:12px;min-height:70px;padding:13px 18px;display:flex}.student-status-filter{min-width:135px}.student-total{color:var(--app-text-secondary);white-space:nowrap;margin-left:auto;font-size:12px}.students-table th,.students-table td{padding-left:13px;padding-right:13px}.student-actions{white-space:nowrap;align-items:center;gap:6px;display:flex}.student-actions .table-action{justify-content:center;align-items:center;min-height:29px;display:inline-flex}.status-action{border:1px solid var(--app-border);color:#647169;background:#fff;border-radius:6px;max-width:100px;min-height:29px;padding:0 6px;font-size:11px}.student-modal{max-width:590px}.detail-message{min-height:130px}.student-details-content{gap:20px;padding:15px 0 8px;display:grid}.student-detail-list{margin:0}.student-detail-list>div{border-bottom:1px solid var(--app-border);grid-template-columns:minmax(125px,.7fr) minmax(0,1fr);align-items:center;gap:12px;padding:10px 0;display:grid}.student-detail-list dt{color:#657168;font-size:12px}.student-detail-list dd{color:var(--app-text-primary);align-items:center;gap:6px;margin:0;font-size:12px;font-weight:550;display:inline-flex}.student-history h3{color:#425047;letter-spacing:.08em;text-transform:uppercase;margin:0 0 9px;font-size:12px;font-weight:700}.student-history>p{color:var(--app-text-secondary);margin:0;font-size:12px}.student-history-row{border-top:1px solid var(--app-border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.student-enrollment-link{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border-bottom:0;border-left:0;border-right:0}.student-enrollment-link:hover{background:var(--app-surface-muted)}.student-enrollment-link>div{flex:1}.student-class-backdrop{z-index:1001}.student-class-info-modal{max-width:520px}.student-class-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:18px 23px 4px;display:grid}.student-class-info-grid>div{border:1px solid var(--app-border);background:var(--app-surface-muted);border-radius:9px;padding:11px 12px}.student-class-info-grid dt{color:var(--app-text-secondary);font-size:11px}.student-class-info-grid dd{color:var(--app-text-primary);margin:4px 0 0;font-size:13px;font-weight:650}.student-history-row>div{gap:4px;display:grid}.student-history-row strong{color:var(--app-text-primary);font-size:12px;font-weight:600}.student-history-row span{color:var(--app-text-secondary);align-items:center;gap:5px;font-size:11px;display:inline-flex}@media(max-width:600px){.student-class-info-grid{grid-template-columns:1fr;padding-left:16px;padding-right:16px}}.form-hint{color:#657168;margin:-8px 0 0;font-size:12px}.subject-directory-panel{overflow:hidden}.subject-toolbar{border-bottom:1px solid var(--app-border);align-items:center;gap:12px;min-height:70px;padding:13px 18px;display:flex}.subject-status-filter{min-width:135px}.subject-table{min-width:980px}.subject-table th,.subject-table td{padding-left:13px;padding-right:13px}.subject-name-cell{align-items:center;gap:10px;min-width:175px;display:flex}.subject-avatar{color:#395f47;background:var(--app-accent-soft);border-radius:9px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.subject-code{border:1px solid var(--app-border);color:#607168;background:var(--app-surface-muted);letter-spacing:.04em;border-radius:6px;padding:4px 7px;font-size:11px;font-weight:650}.subject-status{text-transform:capitalize;white-space:nowrap;border-radius:20px;padding:5px 8px;font-size:11px;font-weight:600;display:inline-flex}.subject-status-active{color:var(--app-primary);background:var(--app-accent-soft)}.subject-status-inactive{color:#70491c;background:#f7f1e9}.subject-status-archived{color:#657169;background:var(--app-surface-muted)}.subject-status-pending{color:#887239;background:#f8f3e4}.subject-actions{white-space:nowrap;align-items:center;gap:6px;display:flex}.subject-actions .table-action{justify-content:center;align-items:center;min-height:29px;display:inline-flex}.subject-actions .status-action{max-width:106px}.subject-details-modal{max-width:680px}.subject-profile-body{gap:20px;padding-top:18px;display:grid}.subject-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.subject-metrics>div{border:1px solid var(--app-border);border-radius:9px;gap:6px;padding:12px;display:grid}.subject-metrics>div>span{color:var(--app-text-secondary);font-size:11px}.subject-metrics strong{color:var(--app-text-primary);font-size:17px;font-weight:650}.subject-metrics strong.subject-status{width:fit-content;font-size:11px}.subject-curriculum{border-top:1px solid var(--app-border);padding-top:17px}.subject-section-heading h3{color:var(--app-text-primary);margin:0;font-size:14px;font-weight:650}.subject-section-heading p{color:var(--app-text-secondary);margin:5px 0 0;font-size:12px}.subject-link-form{gap:9px;margin-top:14px;display:flex}.subject-link-form .filter-select{flex:1;max-width:none}.subject-link-form .primary-button{min-height:37px;font-size:12px}.subject-class-list{margin:12px 0 0;padding:0;list-style:none}.subject-class-list li{border-top:1px solid var(--app-border);color:var(--app-text-primary);justify-content:space-between;align-items:center;gap:12px;padding:10px 2px;font-size:13px;display:flex}.subject-class-level{align-items:center;gap:9px;display:inline-flex}.subject-class-level>div{gap:3px;display:grid}.subject-assignment-count{color:var(--app-text-secondary);font-size:11px}.subject-class-marker{background:#75a080;border-radius:50%;width:7px;height:7px}.subject-remove-link{color:#a35c4d;justify-content:center;align-items:center;padding:6px;display:inline-flex}.subject-empty-links{color:var(--app-text-secondary);text-align:center;border:1px dashed #e3e9e3;border-radius:8px;margin-top:12px;padding:15px;font-size:12px}.subject-usage-note{background:var(--app-surface-muted);border-radius:8px;gap:4px;padding:12px;display:grid}.subject-usage-note strong{color:#526258;font-size:11px}.subject-usage-note span{color:var(--app-text-secondary);font-size:11px}.subject-details-actions{margin-top:18px}.subject-code-input{text-transform:uppercase}.class-level-panel{overflow:hidden}.class-level-toolbar{border-bottom:1px solid var(--app-border);align-items:center;gap:12px;min-height:70px;padding:13px 18px;display:flex}.class-level-table{min-width:900px}.class-level-table th,.class-level-table td{padding-left:13px;padding-right:13px}.class-level-order{border:1px solid var(--app-accent-soft);color:#395f47;background:var(--app-surface-muted);border-radius:8px;justify-content:center;align-items:center;min-width:30px;height:30px;font-size:12px;font-weight:700;display:inline-flex}.class-level-name-cell{align-items:center;gap:9px;min-width:150px;display:flex}.class-level-marker{background:#75a080;border-radius:50%;flex:none;width:8px;height:8px}.class-level-actions{white-space:nowrap;align-items:center;gap:6px;display:flex}.class-level-actions .table-action{justify-content:center;align-items:center;min-height:29px;display:inline-flex}.class-level-details-modal{max-width:700px}.class-level-detail-body{gap:19px;padding-top:17px;display:grid}.class-level-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.class-level-summary>div{border:1px solid var(--app-border);border-radius:9px;gap:4px;padding:12px;display:grid}.class-level-summary strong{color:var(--app-text-primary);font-size:20px;font-weight:650}.class-level-summary span,.class-level-group-row>div>span{color:var(--app-text-secondary);font-size:11px}.class-level-detail-section{border-top:1px solid var(--app-border);padding-top:15px}.class-level-section-title{color:#436b4f;align-items:center;gap:8px;display:flex}.class-level-section-title h3{color:var(--app-text-primary);margin:0;font-size:14px;font-weight:650}.class-level-group-list{margin-top:10px}.class-level-group-row{border-top:1px solid var(--app-border);align-items:center;gap:10px;padding:10px 2px;display:flex}.class-level-group-icon{color:#63806a;background:var(--app-surface-muted);border-radius:8px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.class-level-group-row>div{gap:4px;display:grid}.class-level-group-row strong{color:var(--app-text-primary);font-size:12px;font-weight:600}.class-level-subject-list{flex-wrap:wrap;gap:7px;margin-top:11px;display:flex}.class-level-subject-chip{border:1px solid var(--app-border);color:var(--app-text-primary);background:var(--app-surface);border-radius:7px;align-items:center;gap:8px;padding:7px 9px;font-size:12px;display:inline-flex}.class-level-subject-chip span:last-child{color:var(--app-text-secondary);font-size:10px;font-weight:650}.class-level-empty{color:var(--app-text-secondary);text-align:center;border:1px dashed #e3e9e3;border-radius:8px;margin:10px 0 0;padding:13px;font-size:12px}.class-level-progression{grid-template-columns:1fr 1fr;gap:10px;display:grid}.class-level-progression>div{background:var(--app-surface-muted);border-radius:8px;gap:5px;padding:11px;display:grid}.class-level-progression span{color:var(--app-text-secondary);font-size:11px}.class-level-progression strong{color:#526258;font-size:12px;font-weight:600}.class-level-details-actions{margin-top:17px}.class-subject-panel{overflow:hidden}.class-subject-toolbar{border-bottom:1px solid var(--app-border);align-items:center;gap:10px;min-height:70px;padding:13px 18px;display:flex}.class-subject-table{min-width:900px}.class-subject-table th,.class-subject-table td{padding-left:13px;padding-right:13px}.class-subject-identity{align-items:center;gap:9px;min-width:155px;display:flex}.class-subject-identity>div{gap:4px;display:grid}.class-subject-identity strong{color:var(--app-text-primary);font-size:12px;font-weight:600}.class-subject-identity>div>span{color:var(--app-text-secondary);font-size:11px}.class-subject-level-icon,.class-subject-book-icon{color:#436b4f;background:var(--app-surface-muted);border-radius:8px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.class-subject-book-icon{color:#806c8d;background:#f0eaf4}.class-subject-remove{color:#a35c4d;align-items:center;gap:5px;min-height:29px;display:inline-flex}.class-subject-remove:hover:not(:disabled){background:#fff7f5;border-color:#e7c8c0}.class-subject-remove:disabled{cursor:not-allowed;opacity:.55}.class-group-panel,.teacher-directory-panel{overflow:hidden}.teacher-toolbar{border-bottom:1px solid var(--app-border);align-items:center;gap:12px;min-height:70px;padding:13px 18px;display:flex}.teacher-table{min-width:1050px}.teacher-table th,.teacher-table td{padding-left:13px;padding-right:13px}.teacher-actions{white-space:nowrap;align-items:center;gap:6px;display:flex}.teacher-actions .table-action{justify-content:center;align-items:center;gap:5px;min-height:29px;display:inline-flex}.teacher-notice{border:1px solid var(--app-accent-soft);color:#477555;background:#f1f8f1;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;margin:-5px 0 14px;padding:10px 13px;font-size:13px;display:flex}.teacher-notice button{color:inherit;background:0 0;border:0;padding:2px;display:inline-flex}.teacher-invitation-card{border:1px solid var(--app-border);background:#fff;border-radius:16px;width:100%;max-width:480px;padding:34px;box-shadow:0 12px 36px #3146370a}.teacher-invitation-card .user-form{margin-top:25px}.teacher-invitation-success{padding-top:22px}.teacher-invitation-success .primary-button{text-decoration:none}.auth-back-link{color:#718078;align-items:center;gap:6px;margin-bottom:28px;font-size:13px;text-decoration:none;display:inline-flex}.auth-back-link:hover{color:var(--app-secondary)}.teacher-invitation-page{background:var(--app-surface-muted);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.class-group-toolbar{border-bottom:1px solid var(--app-border);align-items:center;gap:10px;min-height:70px;padding:13px 18px;display:flex}.class-group-level-filter{min-width:180px}.class-group-table{min-width:900px}.class-group-table th,.class-group-table td{padding-left:13px;padding-right:13px}.class-group-name-cell,.class-group-level-cell{align-items:center;gap:9px;min-width:150px;display:flex}.class-group-icon,.class-group-level-marker{color:#436b4f;background:var(--app-surface-muted);border-radius:8px;flex:none;justify-content:center;align-items:center;width:31px;height:31px;display:flex}.class-group-level-marker{color:#806c8d;background:#f0eaf4;width:28px;height:28px}.class-group-actions{white-space:nowrap;align-items:center;gap:6px;display:flex}.class-group-actions .table-action{justify-content:center;align-items:center;min-height:29px;display:inline-flex}.class-group-details-modal{max-width:600px}.class-group-detail-body{gap:17px;padding-top:18px;display:grid}.class-group-stat-grid{grid-template-columns:1fr 1fr;gap:11px;display:grid}.class-group-stat-grid>div{border:1px solid var(--app-border);border-radius:10px;grid-template-columns:36px 1fr;align-items:center;column-gap:10px;padding:14px;display:grid}.class-group-stat-icon{color:#436b4f;background:var(--app-surface-muted);border-radius:9px;grid-row:span 2;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.class-group-stat-dot{background:#75a080;border-radius:50%;width:9px;height:9px}.class-group-stat-grid strong{color:var(--app-text-primary);font-size:20px;font-weight:650}.class-group-stat-grid>div>span:last-child{color:var(--app-text-secondary);font-size:11px}.class-group-level-summary{background:var(--app-surface-muted);border-radius:9px;gap:5px;padding:13px;display:grid}.class-group-level-summary>span{color:var(--app-text-secondary);font-size:11px}.class-group-level-summary strong{color:#526258;font-size:13px}.class-group-level-summary p{color:var(--app-text-secondary);margin:2px 0 0;font-size:11px;line-height:1.5}.class-group-details-actions{margin-top:17px}.academic-year-panel{overflow:hidden}.academic-year-toolbar{border-bottom:1px solid var(--app-border);justify-content:flex-end;align-items:center;min-height:58px;padding:12px 18px;display:flex}.academic-year-total{color:var(--app-text-secondary);white-space:nowrap;font-size:12px}.academic-year-table{min-width:940px}.academic-year-table th,.academic-year-table td{padding-left:13px;padding-right:13px}.academic-year-name-cell{align-items:center;gap:9px;min-width:180px;display:flex}.academic-year-icon{color:#436b4f;background:var(--app-surface-muted);border-radius:8px;flex:none;justify-content:center;align-items:center;width:31px;height:31px;display:flex}.academic-year-current-badge{color:var(--app-primary);background:var(--app-accent-soft);border-radius:20px;padding:4px 7px;font-size:10px;font-weight:650}.academic-year-actions{white-space:nowrap;align-items:center;gap:6px;display:flex}.academic-year-actions .table-action{justify-content:center;align-items:center;min-height:29px;display:inline-flex}.subject-status-in-progress{color:var(--app-primary);background:var(--app-accent-soft)}.subject-status-upcoming{color:#887239;background:#f8f3e4}.academic-year-details-modal{max-width:760px}.academic-year-detail-body{gap:19px;padding-top:18px;display:grid}.academic-year-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.academic-year-summary>div{border:1px solid var(--app-border);border-radius:9px;gap:5px;padding:12px;display:grid}.academic-year-summary strong{color:var(--app-text-primary);font-size:18px;font-weight:650}.academic-year-summary span{color:var(--app-text-secondary);font-size:11px}.academic-year-terms{border-top:1px solid var(--app-border);padding-top:16px}.academic-year-term-list{margin-top:10px}.academic-year-term{border-top:1px solid var(--app-border);padding:12px 2px}.academic-year-term-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.academic-year-term-heading>div{gap:5px;display:grid}.academic-year-term-heading strong{color:var(--app-text-primary);font-size:13px;font-weight:650}.academic-year-term-heading>div>span{color:var(--app-text-secondary);font-size:11px}.academic-year-term-counts{color:var(--app-text-secondary);flex-wrap:wrap;gap:7px 15px;margin-top:10px;font-size:11px;display:flex}.academic-year-term-counts span{align-items:center;gap:4px;display:inline-flex}.academic-year-details-actions{margin-top:17px}.grade-scale-editor{background:var(--app-surface-muted);border:1px solid #e8eee8;border-radius:10px;gap:12px;padding:14px;display:grid}.grade-scale-editor h3{color:var(--app-text-primary);font-size:14px;font-weight:650}.grade-scale-editor>p{color:#7c8980;margin-top:-8px;font-size:12px}.grade-scale-page-form{margin-bottom:18px;padding-bottom:18px}.grade-scale-form-heading{border-bottom:1px solid #eef1ee;justify-content:space-between;align-items:flex-start;gap:16px;padding:19px 20px 16px;display:flex}.grade-scale-form-heading h2{color:#27372d;margin-top:3px;font-size:17px;font-weight:650}.grade-scale-form-heading p:last-child{color:#7c8980;margin-top:4px;font-size:13px}.grade-scale-form-step{background:var(--app-surface-muted);color:#607063;white-space:nowrap;border:1px solid #dfe9df;border-radius:999px;padding:6px 10px;font-size:12px}.grade-scale-create-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 19px 14px;display:grid}.grade-scale-format-picker{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 19px 18px;padding:0;display:grid}.grade-scale-format-picker legend{color:#536056;margin-bottom:8px;font-size:12px;font-weight:650}.grade-scale-format-option{background:var(--app-surface);cursor:pointer;border:1px solid #e3e9e3;border-radius:10px;align-items:center;gap:10px;min-width:0;padding:11px 12px;display:flex}.grade-scale-format-option.selected{background:#f4faf6;border-color:#70a889;box-shadow:0 0 0 2px #e7f2eb}.grade-scale-format-option input{accent-color:var(--app-secondary)}.grade-scale-format-option span{flex:1;gap:3px;display:grid}.grade-scale-format-option strong{color:var(--app-text-primary);font-size:13px}.grade-scale-format-option small{color:var(--app-text-secondary);font-size:11px}.grade-scale-format-option b{color:var(--app-secondary);font-size:14px}.grade-scale-band-heading{justify-content:space-between;align-items:end;gap:10px;margin:0 19px 9px;display:flex}.grade-scale-band-heading h3{color:var(--app-text-primary);font-size:14px;font-weight:650}.grade-scale-band-heading p,.grade-scale-band-heading>span{color:var(--app-text-secondary);font-size:11px}.grade-scale-boundaries{margin:0 19px}.grade-scale-boundary-header{color:var(--app-text-secondary);text-transform:uppercase;letter-spacing:.04em;grid-template-columns:90px 100px minmax(140px,1fr) 32px;gap:8px;padding:0 0 2px;font-size:10px;font-weight:650;display:grid}.grade-scale-boundary-row .field-label{min-width:0}.grade-scale-page-form>.flex,.grade-scale-page-form>.form-error{margin:14px 19px 0}.grade-scale-preview{background:var(--app-surface-muted);border:1px solid #e7eee7;border-radius:10px;gap:10px;margin:15px 19px 0;padding:12px;display:grid}.grade-scale-preview>div:first-child{align-items:center;gap:9px;display:flex}.grade-scale-preview>div:first-child strong{color:#405044;font-size:12px}.grade-scale-preview>div:first-child span,.grade-scale-preview>p{color:var(--app-text-secondary);font-size:11px}.grade-scale-preview-bands{flex-wrap:wrap;gap:7px;display:flex}.grade-scale-preview-band{background:var(--app-surface);border:1px solid #e4ebe4;border-radius:8px;gap:3px;min-width:80px;padding:7px 9px;display:grid}.grade-scale-preview-band b{color:#2e684d;font-size:13px}.grade-scale-preview-band small{color:#77847a;font-size:10px}.grade-scale-chips{flex-wrap:wrap;gap:5px;display:flex}.grade-scale-chip{color:#46564a;white-space:nowrap;background:#f6faf6;border:1px solid #e2eae3;border-radius:999px;align-items:center;padding:3px 8px;font-size:12px;display:inline-flex}@media(max-width:640px){.grade-scale-create-fields,.grade-scale-format-picker{grid-template-columns:1fr}.grade-scale-boundary-header{display:none}.grade-scale-boundary-row{grid-template-columns:1fr 1fr 32px}.grade-scale-boundary-row .field-label:nth-child(3){grid-area:2/1/auto/3}.grade-scale-remove{grid-area:1/3}.grade-scale-form-heading{padding-left:14px;padding-right:14px}.grade-scale-boundaries,.grade-scale-band-heading,.grade-scale-preview,.grade-scale-page-form>.flex,.grade-scale-page-form>.form-error{margin-left:14px;margin-right:14px}}.grade-scale-boundaries{gap:8px;display:grid}.grade-scale-boundary-row{grid-template-columns:90px 100px minmax(140px,1fr) 32px;align-items:end;gap:8px;display:grid}.grade-scale-remove{color:#a35c4d}.academic-year-current{cursor:pointer;border:1px solid #e9eee9;border-radius:9px;align-items:flex-start;gap:10px;padding:12px;display:flex}.academic-year-current input{accent-color:var(--app-secondary);margin-top:3px}.academic-year-current span{gap:4px;display:grid}.academic-year-current strong{color:var(--app-text-primary);font-size:12px;font-weight:600}.academic-year-current small{color:var(--app-text-secondary);font-size:11px}.teaching-assignment-panel{overflow:hidden}.teaching-assignment-toolbar{border-bottom:1px solid var(--app-border);align-items:center;gap:9px;min-height:70px;padding:12px 15px;display:flex}.teaching-assignment-search{flex:180px;width:210px}.teaching-assignment-toolbar .filter-select{min-width:130px;max-width:190px}.teaching-assignment-toolbar .student-total{margin-left:auto}.teaching-assignment-table{min-width:1100px}.teaching-assignment-table th,.teaching-assignment-table td{padding-left:12px;padding-right:12px}.teaching-assignment-identity{align-items:center;gap:9px;min-width:150px;display:flex}.teaching-assignment-identity>div{gap:4px;display:grid}.teaching-assignment-identity strong{color:var(--app-text-primary);font-size:12px;font-weight:600}.teaching-assignment-identity>div>span{color:var(--app-text-secondary);font-size:11px}.teaching-assignment-icon,.teaching-assignment-subject-icon,.teaching-assignment-term-icon{color:#436b4f;background:var(--app-surface-muted);border-radius:8px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.teaching-assignment-subject-icon{color:#806c8d;background:#f0eaf4}.teaching-assignment-term-icon{color:#b17a53;background:#faf0e7}.teaching-assessment-count{color:#78857d;align-items:center;gap:5px;font-size:12px;display:inline-flex}.teaching-assignment-actions{white-space:nowrap;align-items:center;gap:6px;display:flex}.teaching-assignment-actions .table-action{justify-content:center;align-items:center;gap:5px;min-height:29px;display:inline-flex}.teaching-assignment-delete{color:#a35c4d}.teaching-assignment-delete:hover:not(:disabled){background:#fff7f5;border-color:#e7c8c0}.teaching-assignment-notice{border:1px solid var(--app-accent-soft);color:#477555;background:#f1f8f1;border-radius:9px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;padding:11px 13px;font-size:13px;display:flex}.term-panel{overflow:hidden}.term-toolbar{border-bottom:1px solid var(--app-border);align-items:center;gap:10px;min-height:70px;padding:12px 16px;display:flex}.term-toolbar .filter-select{min-width:145px;max-width:220px}.term-toolbar .student-total{margin-left:auto}.term-table{min-width:1220px}.term-table th,.term-table td{padding-left:12px;padding-right:12px}.term-name-cell{align-items:center;gap:9px;min-width:115px;display:flex}.term-sequence{border:1px solid var(--app-accent-soft);color:#395f47;background:var(--app-surface-muted);border-radius:8px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:700;display:inline-flex}.term-status-cell{justify-items:start;gap:6px;display:grid}.term-status-action{border:1px solid var(--app-border);color:#647169;background:var(--app-surface);border-radius:6px;max-width:130px;min-height:27px;padding:0 7px;font-size:11px}.term-count{color:#78857d;white-space:nowrap;align-items:center;gap:5px;font-size:12px;display:inline-flex}.term-status-row,.term-weight-row{border-top:1px solid var(--app-border);color:var(--app-text-secondary);justify-content:space-between;align-items:center;gap:12px;padding:12px 2px;font-size:12px;display:flex}.term-details-modal{max-width:700px}.term-detail-body{gap:15px;padding-top:18px;display:grid}.term-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.term-summary-grid>div{border:1px solid var(--app-border);border-radius:9px;grid-template-columns:32px 1fr;align-items:center;column-gap:9px;padding:11px;display:grid}.term-summary-icon{color:#436b4f;background:var(--app-surface-muted);border-radius:8px;grid-row:span 2;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.term-summary-grid strong{color:var(--app-text-primary);font-size:18px;font-weight:650}.term-summary-grid>div>span:last-child{color:var(--app-text-secondary);font-size:10px}.term-weight-row strong{color:#526258;font-size:12px;font-weight:600}.term-workflow{border-top:1px solid var(--app-border);padding-top:14px}.term-workflow h3{color:var(--app-text-primary);margin:0;font-size:13px;font-weight:650}.term-workflow p{color:var(--app-text-secondary);margin:5px 0 0;font-size:11px}.term-workflow-actions{flex-wrap:wrap;gap:8px;margin-top:11px;display:flex}.term-workflow-actions .secondary-button{align-items:center;gap:6px;min-height:34px;font-size:11px;display:inline-flex}.term-details-actions{margin-top:17px}.term-form-year{color:#5e7564;background:var(--app-surface-muted);border-radius:7px;margin:14px 0 -3px;padding:9px 11px;font-size:12px;font-weight:600}.subject-status-draft{color:#657169;background:var(--app-surface-muted)}.subject-status-open{color:var(--app-primary);background:var(--app-accent-soft)}.subject-status-marks-review{color:#887239;background:#f8f3e4}.subject-status-finalized,.subject-status-published{color:var(--app-primary);background:var(--app-accent-soft)}.subject-status-closed{color:#657169;background:var(--app-surface-muted)}.assessment-panel{overflow:hidden}.form-tutor-report-panel{margin-bottom:18px;padding:18px}.form-tutor-report-panel>.panel-heading{border-bottom:1px solid var(--app-border);margin:-18px -18px 15px;padding:15px 18px}.form-tutor-report-toolbar{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:12px;display:grid}.form-tutor-report-toolbar .field-label{min-width:0}.form-tutor-report-students{gap:12px;margin-top:16px;display:grid}.form-tutor-report-student{border:1px solid var(--app-border);background:var(--app-surface);border-radius:11px;padding:14px}.form-tutor-report-student-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.form-tutor-report-student-heading>div{gap:3px;display:grid}.form-tutor-report-student-heading strong{color:var(--app-text-primary);font-size:13px}.form-tutor-report-student-heading span{color:var(--app-text-secondary);font-size:11px}.form-tutor-report-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;display:grid}.form-tutor-report-fields textarea{resize:vertical}.form-tutor-report-save{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.form-tutor-report-save>span{color:var(--app-text-secondary);font-size:11px}.form-tutor-assessments-intro{color:#496652;background:#f3f8f3;border:1px solid #dfeae1;border-radius:10px;align-items:center;gap:10px;margin-bottom:15px;padding:12px 14px;font-size:12px;display:flex}@media(max-width:850px){.form-tutor-report-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.form-tutor-report-toolbar>button{justify-self:start}}@media(max-width:600px){.form-tutor-report-toolbar,.form-tutor-report-fields{grid-template-columns:1fr}.form-tutor-report-toolbar>button{justify-content:center;width:100%}}.assessment-toolbar{border-bottom:1px solid var(--app-border);align-items:center;gap:9px;min-height:70px;padding:12px 14px;display:flex}.assessment-search{flex:190px;width:230px}.assessment-toolbar .filter-select{min-width:135px;max-width:210px}.assessment-toolbar .student-total{margin-left:auto}.assessment-table{min-width:1320px}.assessment-table th,.assessment-table td{padding-left:12px;padding-right:12px}.assessment-title-cell,.assessment-class-cell{align-items:center;gap:9px;min-width:150px;display:flex}.assessment-title-cell>div,.assessment-class-cell{gap:4px;display:grid}.assessment-title-cell strong,.assessment-class-cell strong{color:var(--app-text-primary);font-size:12px;font-weight:600}.assessment-title-cell>div>span,.assessment-class-cell>span{color:var(--app-text-secondary);font-size:11px}.assessment-icon{color:#436b4f;background:var(--app-surface-muted);border-radius:8px;flex:none;justify-content:center;align-items:center;width:31px;height:31px;display:flex}.assessment-actions{white-space:nowrap;align-items:center;gap:5px;display:flex}.assessment-actions .table-action{justify-content:center;align-items:center;gap:3px;min-height:29px;display:inline-flex}.assessment-next-action{color:#568067}.assessment-reset-action{color:#8a6541}.assessment-delete-action{color:#a0443c}.assessment-form-context{color:#5e7564;background:var(--app-surface-muted);border-radius:7px;margin:14px 0 -3px;padding:9px 11px;font-size:12px}.report-readiness-success{color:#28633a;background:#f0f8f1;border:1px solid #c8e4cf;border-radius:9px;min-height:88px;padding:16px;font-weight:600}.assessment-weight-fixed{background:var(--app-surface-muted);border:1px solid #e4ece5;border-radius:9px;gap:4px;padding:11px 12px;display:grid}.assessment-weight-fixed strong{color:var(--app-text-primary);font-size:13px}.assessment-weight-fixed span{color:var(--app-secondary);font-size:14px;font-weight:650}.assessment-weight-fixed small{color:var(--app-text-secondary);font-size:11px}.assessment-weight-guide{background:var(--app-surface-muted);border:1px solid #e5ece6;border-radius:10px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px;padding:12px 15px;display:flex}.assessment-weight-guide-copy{gap:4px;display:grid}.assessment-weight-guide-copy strong{color:var(--app-text-primary);font-size:13px}.assessment-weight-guide-copy span{color:#77847a;font-size:11px}.assessment-weight-guide-bar{border:1px solid var(--app-accent-soft);border-radius:7px;flex:none;font-size:10px;display:flex;overflow:hidden}.assessment-weight-guide-bar span{color:#4c6252;background:var(--app-accent-soft);gap:2px;padding:7px 9px;display:grid}.assessment-weight-guide-bar span+span{border-left:1px solid var(--app-accent-soft);background:#f3f4ed}.assessment-weight-guide-bar b{color:#2f684b;font-size:12px}@media(max-width:760px){.assessment-weight-guide{flex-direction:column;align-items:flex-start}}.subject-status-submitted{color:#887239;background:#f8f3e4}.subject-status-approved{color:var(--app-primary);background:var(--app-accent-soft)}.subject-status-locked{color:#657169;background:var(--app-surface-muted)}.assessment-results-modal{width:70%;max-width:1280px}.assessment-results-count{color:var(--app-text-secondary);margin:14px 0 10px;font-size:12px}.assessment-results-scroll{border-top:1px solid var(--app-border);max-height:min(55vh,530px);overflow:hidden auto}.assessment-results-table{table-layout:fixed;width:100%;min-width:0}.assessment-results-table th,.assessment-results-table td{padding:8px 10px}.assessment-results-table th:first-child{width:34%}.assessment-results-table th:nth-child(2){width:20%}.assessment-results-table th:nth-child(3){width:12%}.assessment-results-table th:nth-child(4){width:34%}.assessment-student-name{overflow-wrap:anywhere;gap:4px;min-width:0;display:grid}.assessment-student-name strong{color:var(--app-text-primary);font-size:12px;font-weight:600}.assessment-student-name span{color:var(--app-text-secondary);font-size:11px}.assessment-student-name .assessment-absence-correction-badge{color:#855c12;background:#faf0d7;border-radius:999px;width:fit-content;padding:3px 7px;font-size:10px;font-weight:600}.assessment-result-select,.assessment-mark-input,.assessment-comment-input{border:1px solid var(--app-border);color:#46534b;background:var(--app-surface);border-radius:7px;outline:0;width:100%;min-width:0;min-height:34px;padding:0 8px;font-size:12px}.assessment-result-select:focus,.assessment-mark-input:focus,.assessment-comment-input:focus{box-shadow:0 0 0 3px var(--app-primary);border-color:#77a98a}@supports (color:color-mix(in lab,red,red)){.assessment-result-select:focus,.assessment-mark-input:focus,.assessment-comment-input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--app-primary) 10%,transparent)}}.assessment-result-select:disabled,.assessment-mark-input:disabled,.assessment-comment-input:disabled{cursor:not-allowed;background:var(--app-surface-muted)}.assessment-results-empty{min-height:160px}.assessment-results-actions{margin-top:14px}.subscription-admin-panel{padding:18px;overflow:hidden}.subscription-tabs{border-bottom:1px solid var(--app-border);gap:6px;margin:0 0 14px;display:flex}.subscription-tab{min-height:43px;color:var(--app-text-secondary);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.subscription-tab:hover{color:var(--app-secondary)}.subscription-tab-active{border-bottom-color:var(--app-secondary);color:var(--app-secondary)}.subscription-section-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.subscription-section-heading h2{color:var(--app-text-primary);margin:0;font-size:16px;font-weight:650}.subscription-section-heading p{color:var(--app-text-secondary);margin:5px 0 0;font-size:12px}.subscription-section-heading .primary-button{min-height:37px;font-size:12px}.subscription-record-count{color:var(--app-text-secondary);font-size:12px}.subscription-plan-grid{grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:12px;display:grid}.subscription-plan-card{border:1px solid var(--app-border);background:var(--app-surface);border-radius:11px;flex-direction:column;align-items:flex-start;min-height:210px;padding:15px;display:flex}.subscription-plan-inactive{background:var(--app-surface-muted)}.subscription-plan-card-top{justify-content:space-between;align-items:flex-start;gap:9px;width:100%;display:flex}.subscription-plan-card-top h3{color:var(--app-text-primary);margin:5px 0 0;font-size:16px;font-weight:650}.subscription-plan-card-top .eyebrow{margin:0;font-size:10px}.subscription-plan-description{min-height:32px;color:var(--app-text-secondary);margin:11px 0 12px;font-size:11px;line-height:1.55}.subscription-plan-price{color:#293d30;letter-spacing:-.03em;font-size:18px;font-weight:650}.subscription-plan-limits{color:#738078;flex-wrap:wrap;gap:6px 11px;margin-top:11px;font-size:11px;display:flex}.subscription-plan-meta{color:var(--app-text-secondary);margin-top:8px;font-size:11px}.subscription-edit-plan{align-items:center;gap:5px;margin-top:auto;display:inline-flex}.subscription-table{min-width:1020px}.subscription-table th,.subscription-table td{padding-left:12px;padding-right:12px}.subscription-school-cell,.subscription-plan-cell{gap:4px;min-width:145px;display:grid}.subscription-school-cell strong,.subscription-plan-cell strong{color:var(--app-text-primary);font-size:12px;font-weight:600}.subscription-school-cell span,.subscription-plan-cell span{color:var(--app-text-secondary);font-size:11px}.subscription-modal{max-width:640px}.subscription-description{resize:vertical;min-height:72px;padding:10px}.subscription-loading{min-height:180px;color:var(--app-text-secondary);justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.subscription-error{flex-direction:column}.subscription-current-panel{align-items:flex-start;gap:14px;margin-bottom:14px;padding:20px;display:flex}.subscription-current-icon{color:#39815f;background:var(--app-accent-soft);border-radius:11px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.subscription-current-copy{flex:1;gap:5px;display:grid}.subscription-current-copy .eyebrow{margin:0}.subscription-current-copy h2{color:var(--app-text-primary);margin:0;font-size:19px;font-weight:650}.subscription-current-copy>p{color:var(--app-text-secondary);margin:0;font-size:12px}.subscription-current-copy .subscription-plan-limits{margin-top:3px}.subscription-renewal{color:var(--app-text-secondary);font-size:11px}.subscription-pending-card{color:#887239;background:#fcf9ed;border:1px solid #eee5c8;border-radius:9px;align-items:center;gap:11px;margin-bottom:14px;padding:12px 14px;display:flex}.subscription-pending-card>div{flex:1;gap:4px;display:grid}.subscription-pending-card strong{color:#6d5d35;font-size:12px}.subscription-pending-card>div>span{color:#95865d;font-size:11px}.subject-status-pending-payment{color:#887239;background:#f8f3e4}.subject-status-trialing{color:#79658d;background:#f2eef7}.subject-status-past-due{color:#a04734;background:#fff1ed}.subject-status-canceled,.subject-status-expired{color:#657169;background:var(--app-surface-muted)}.promotion-tabs{flex-wrap:wrap;gap:7px;margin:0 0 17px;display:flex}.promotion-tab{border:1px solid var(--app-border);color:#768179;background:var(--app-surface);border-radius:9px;align-items:center;gap:8px;padding:9px 12px;font-size:13px;font-weight:600;display:inline-flex}.promotion-tab-active{border-color:var(--app-accent-soft);color:var(--app-secondary);background:var(--app-accent-soft)}.promotion-tab span{color:#68766c;background:var(--app-border);border-radius:20px;padding:2px 6px;font-size:11px}.promotion-process-panel,.promotion-preview-panel,.promotion-history-panel{margin-bottom:17px}.promotion-section-heading{justify-content:space-between;align-items:center;gap:14px;padding:17px 19px;display:flex}.promotion-section-heading h2{color:var(--app-text-primary);font-size:16px;font-weight:650}.promotion-section-heading p{color:var(--app-text-secondary);margin-top:4px;font-size:12px}.promotion-scope-form{border-top:1px solid var(--app-border);grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:13px;padding:17px 19px;display:grid}.promotion-preview-button{white-space:nowrap;min-height:40px}.promotion-empty-hint,.promotion-blocked-note{color:#806d49;background:#fbf6e9;border-radius:8px;margin:0 19px 17px;padding:10px 12px;font-size:12px}.promotion-summary{gap:10px;padding:0 19px 17px;display:flex}.promotion-summary>div{color:#5f8068;border:1px solid #edf0eb;border-radius:9px;align-items:center;gap:8px;min-width:120px;padding:9px 11px;display:flex}.promotion-summary strong{color:var(--app-text-primary);font-size:17px}.promotion-summary span{color:#859087;font-size:11px}.promotion-blocked-note{color:#985c3e;background:#fff2eb;margin:0 19px 14px}.promotion-student-name,.promotion-policy-heading{flex-direction:column;gap:3px;display:flex}.promotion-student-name strong{color:var(--app-text-primary)}.promotion-student-name span{color:#8c978f;font-size:11px}.promotion-decision-select{min-width:115px;padding:7px 8px;font-size:12px}.promotion-reason-input{min-width:145px;padding:7px 8px;font-size:12px}.promotion-approval-footer{border-top:1px solid var(--app-border);justify-content:space-between;align-items:center;gap:14px;padding:14px 19px;display:flex}.promotion-approval-footer p,.promotion-policy-footer>span{color:var(--app-text-secondary);font-size:11px}.promotion-policy-list{gap:13px;display:grid}.promotion-policy-list>.promotion-section-heading{padding:0 2px 3px}.promotion-policy-card{padding:16px 18px}.promotion-policy-heading{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:14px}.promotion-policy-heading h3{font-size:15px;font-weight:650}.promotion-policy-heading p{color:var(--app-text-secondary);margin-top:3px;font-size:11px}.promotion-policy-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.promotion-required-subjects{border:0;flex-wrap:wrap;gap:8px 14px;margin:14px 0;padding:0;display:flex}.promotion-required-subjects legend{color:#536057;width:100%;margin-bottom:8px;font-size:12px;font-weight:650}.promotion-required-subjects label{color:#68766d;align-items:center;gap:6px;font-size:12px;display:flex}.promotion-policy-footer{border-top:1px solid var(--app-border);justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.promotion-batch-meta{border-top:1px solid var(--app-border);color:#768179;gap:20px;padding:12px 19px;font-size:12px;display:flex}.promotion-modal{width:min(850px,100%);max-height:calc(100vh - 40px);overflow:auto}.promotion-modal .modal-heading>div>p:last-child{color:#859087;align-items:center;gap:5px;margin-top:5px;font-size:12px;display:flex}.report-card-selection,.report-card-preview{margin-bottom:17px}.report-card-selection-heading{padding:17px 19px}.report-card-selection-heading h2{color:var(--app-text-primary);font-size:16px;font-weight:650}.report-card-selection-heading p{color:var(--app-text-secondary);margin-top:4px;font-size:12px}.report-card-filters{border-top:1px solid var(--app-border);grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:13px;padding:17px 19px;display:grid}.report-card-filters>button{white-space:nowrap;min-height:40px}.report-card-search-wrap{align-items:center;display:flex;position:relative}.report-card-search-wrap>svg{z-index:1;color:#657168;position:absolute;left:11px}.report-card-search-wrap .text-input{padding-left:34px}.report-card-empty-hint{color:#806d49;background:#fbf6e9;border-radius:8px;margin:0 19px 17px;padding:10px 12px;font-size:12px}.report-card-actions{color:var(--app-text-secondary);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:12px;display:flex}.report-card-actions .primary-button{white-space:nowrap}.report-card-incomplete{margin-bottom:12px}.report-card-no-subjects{color:#806d49;background:#fbf6e9;border-radius:8px;padding:12px;font-size:12px}.report-card-paper{background:var(--app-surface);border:1px solid #e5e9e4;border-radius:12px;padding:34px;box-shadow:0 6px 22px #2333260a}.report-card-school-heading{border-bottom:2px solid var(--app-secondary);grid-template-columns:minmax(70px,1fr) minmax(0,3fr) minmax(70px,1fr);align-items:center;gap:15px;padding-bottom:20px;display:grid}.report-card-school-logo-slot{justify-content:flex-start;align-items:center;min-width:0;min-height:70px;display:flex}.report-card-school-logo-slot-right{justify-content:flex-end}.report-card-school-mark{width:54px;height:54px;color:var(--app-secondary);background:var(--app-accent-soft);border-radius:14px;flex:none;justify-content:center;align-items:center;font-size:25px;font-weight:700;display:flex}.report-card-school-logo{object-fit:contain;flex:none;width:70px;height:70px}.report-card-school-identity{text-align:center;min-width:0}.report-card-school-identity h1{color:var(--app-text-primary);letter-spacing:-.03em;margin-top:3px;font-size:19px;font-weight:750}.report-card-school-identity h2{color:var(--app-text-primary);letter-spacing:-.03em;margin-top:6px;font-size:17px;font-weight:700}.report-card-school-identity>p:last-child{color:#748078;margin-top:4px;font-size:13px}.report-card-school-contact{color:#748078;margin-top:3px;font-size:11px}.report-card-student-summary{border-bottom:1px solid var(--app-border);grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:19px 0;display:grid}.report-card-student-summary>div,.report-card-summary>div{gap:5px;display:grid}.report-card-student-summary span,.report-card-summary span{color:var(--app-text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.report-card-student-summary strong,.report-card-summary strong{color:var(--app-text-primary);font-size:13px}.report-card-subject-table{min-width:700px;margin:15px 0}.report-card-subject-table td:nth-child(2){min-width:160px}.report-card-subject-code{color:#909b93;margin-top:3px;font-size:11px;display:block}.report-card-mark{white-space:nowrap;color:#327653;font-weight:650}.report-card-summary{border-top:1px solid var(--app-border);border-bottom:1px solid var(--app-border);grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;padding:16px 0;display:grid}.report-card-signatures{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:33px;display:grid}.report-card-signatures>div{color:#66736a;flex-direction:column;justify-content:space-between;min-height:42px;font-size:11px;display:flex}.report-card-signatures i{border-bottom:1px solid #aeb7af}.report-card-signatures strong{color:var(--app-text-primary);font-size:12px}.report-card-generated{color:#929c94;text-align:center;margin-top:21px;font-size:10px}.report-card-assessment-brand{justify-content:center;align-items:center;margin-top:12px;display:flex}.report-card-assessment-brand img{object-fit:contain;width:280px;max-height:68px;display:block}.school-profile-panel{max-width:920px;padding:22px}.school-profile-logo-row{align-items:center;gap:18px;display:flex}.school-profile-logos-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.school-profile-logo{border:1px solid var(--app-border);object-fit:contain;background:var(--app-surface);border-radius:12px;flex:none;width:112px;height:112px;padding:8px}.school-profile-logo-fallback{color:#78917e;background:var(--app-surface-muted);border:1px dashed #cdd8cf;border-radius:12px;flex:none;justify-content:center;align-items:center;width:112px;height:112px;display:flex}.school-profile-logo-controls{gap:9px;display:grid}.school-profile-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.school-profile-address{grid-column:1/-1}.school-profile-address textarea{resize:vertical;padding:10px 12px}.school-profile-section-title{color:var(--app-text-primary);font-size:15px;font-weight:700}@media(max-width:600px){.school-profile-panel{padding:15px}.school-profile-fields,.school-profile-logos-grid{grid-template-columns:1fr}.school-profile-address{grid-column:auto}.school-profile-logo,.school-profile-logo-fallback{width:84px;height:84px}.report-card-school-logo{width:54px;height:54px}.report-card-school-identity h1{font-size:17px}}.enrollment-tabs{flex-wrap:wrap;gap:7px;margin:0 0 16px;display:flex}.enrollment-tab{border:1px solid var(--app-border);color:#768179;background:var(--app-surface);border-radius:9px;padding:9px 13px;font-size:13px;font-weight:600}.enrollment-tab-active{border-color:var(--app-accent-soft);color:var(--app-secondary);background:var(--app-accent-soft)}.enrollment-register-panel,.enrollment-bulk-panel{margin-bottom:17px;overflow:hidden}.enrollment-toolbar{border-bottom:1px solid var(--app-border);align-items:center;gap:9px;min-height:70px;padding:12px 14px;display:flex}.enrollment-search{flex:210px;width:230px}.enrollment-toolbar .filter-select{min-width:140px;max-width:210px}.enrollment-toolbar .student-total{margin-left:auto}.enrollment-table{min-width:1150px}.enrollment-stream-select{min-width:175px;min-height:32px;color:var(--app-text-primary);background:#f8fbf8;border:1px solid #dce6dc;border-radius:7px;padding:0 26px 0 9px;font-size:12px}.enrollment-stream-select:disabled{cursor:not-allowed;color:var(--app-text-secondary);background:#f2f4f2}.enrollment-student-cell{gap:4px;min-width:150px;display:grid}.enrollment-student-cell strong{color:var(--app-text-primary);font-size:12px;font-weight:600}.enrollment-student-cell span{color:var(--app-text-secondary);font-size:11px}.enrollment-status-control{align-items:center;gap:6px;display:flex}.enrollment-status-control .status-action{min-width:112px}.enrollment-modal{width:min(620px,100%);max-height:calc(100vh - 40px);overflow:auto}.enrollment-section-heading{padding:17px 19px 14px}.enrollment-section-heading h2{color:var(--app-text-primary);font-size:16px;font-weight:650}.enrollment-section-heading p{color:var(--app-text-secondary);margin-top:4px;font-size:12px}.enrollment-bulk-form{border-top:1px solid var(--app-border);grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:13px;padding:16px 19px;display:grid}.enrollment-bulk-form>button{min-height:40px}.enrollment-bulk-preview{border-top:1px solid var(--app-border)}.enrollment-preview-heading{justify-content:space-between;align-items:center;gap:12px;padding:14px 19px;display:flex}.enrollment-preview-heading>div:first-child{gap:5px;display:grid}.enrollment-preview-heading strong{color:var(--app-text-primary);font-size:13px}.enrollment-preview-heading>div>span{color:var(--app-text-secondary);flex-wrap:wrap;align-items:center;gap:5px;font-size:11px;display:flex}.enrollment-preview-stats{flex:none;gap:6px;display:flex}.enrollment-preview-stats span{color:var(--app-primary);background:var(--app-accent-soft);white-space:nowrap;border-radius:20px;padding:5px 8px;font-size:11px;font-weight:600}.enrollment-preview-stats span+span{color:#8b6b4f;background:#f7f1e9}.enrollment-skipped-details{border-top:1px solid var(--app-border)}.enrollment-skipped-details summary{color:#8b6b4f;cursor:pointer;padding:12px 19px;font-size:12px;font-weight:600}.enrollment-preview-footer{border-top:1px solid var(--app-border);justify-content:space-between;align-items:center;gap:14px;padding:13px 19px;display:flex}.enrollment-preview-footer>span{color:var(--app-text-secondary);font-size:11px}.enrollment-preview-footer .primary-button{white-space:nowrap;flex:none}.stream-roster-toolbar{border-top:1px solid var(--app-border);color:var(--app-text-secondary);align-items:center;gap:10px;padding:12px 16px;font-size:12px;display:flex}.stream-roster-toolbar>span{white-space:nowrap;margin-left:auto}.stream-roster-list{border-top:1px solid var(--app-border);max-height:440px;display:grid;overflow:auto}.stream-roster-row{border-bottom:1px solid var(--app-border);cursor:pointer;align-items:center;gap:11px;min-height:54px;padding:9px 16px;display:flex}.stream-roster-row:hover{background:var(--app-surface-muted)}.stream-roster-row input{width:16px;height:16px;accent-color:var(--app-secondary)}.stream-roster-row>span{gap:3px;display:grid}.stream-roster-row strong{color:var(--app-text-primary);font-size:12px;font-weight:600}.stream-roster-row small{color:var(--app-text-secondary);font-size:11px}.stream-roster-row>svg{color:var(--app-secondary);margin-left:auto}.subject-status-completed,.subject-status-promoted,.subject-status-repeating{color:var(--app-primary);background:var(--app-accent-soft)}.subject-status-transferred{color:#627b91;background:#edf2f7}.subject-status-withdrawn,.subject-status-graduated{color:#7d6e5e;background:#f5f0e9}@media print{@page{size:A4 portrait;margin:8mm}body *{visibility:hidden!important}.report-card-paper,.report-card-paper *{visibility:visible!important}html,body,#root,.app-shell,.main-area,.page-content,.report-card-preview,.report-card-batch{width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important}.main-area{margin-left:0!important}.report-card-paper{box-sizing:border-box;width:194mm;min-width:0;max-width:194mm;box-shadow:none;break-after:page;page-break-after:always;break-inside:auto;page-break-inside:auto;border:0;border-radius:0;margin:0;padding:0;font-size:8pt;position:relative;inset:auto;color:#1c2821!important;background:#fff!important}.report-card-paper:last-child{break-after:auto;page-break-after:auto}.no-print,.report-card-selection,.report-card-page-header,.notice-error,.teaching-assignment-notice,.sidebar,.topbar{display:none!important}.overflow-x-auto{width:100%!important;overflow:visible!important}.report-card-school-heading{grid-template-columns:minmax(42px,.8fr) minmax(0,3fr) minmax(42px,.8fr);gap:8px;padding-bottom:10px}.report-card-school-logo-slot{min-height:52px}.report-card-school-logo{width:52px;height:52px}.report-card-school-mark{border-radius:10px;width:42px;height:42px;font-size:20px}.report-card-school-identity h1{font-size:16px}.report-card-school-identity h2{font-size:14px}.report-card-school-identity>p:last-child{font-size:10px}.report-card-school-contact{font-size:9px}.report-card-student-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:10px 0}.report-card-student-summary span,.report-card-summary span{font-size:8px}.report-card-student-summary strong,.report-card-summary strong{font-size:10px}.report-card-subject-table{table-layout:fixed;width:100%;min-width:0;margin:8px 0;font-size:7.5pt}.report-card-subject-table td:nth-child(2){min-width:0}.report-card-subject-table th,.report-card-subject-table td{overflow-wrap:anywhere;padding:4px 5px}.report-card-subject-table thead{display:table-header-group}.report-card-subject-table tr{break-inside:avoid;page-break-inside:avoid}.report-card-configurable-section{break-inside:auto;page-break-inside:auto}.report-card-configurable-section>h3{break-after:avoid;page-break-after:avoid}.report-card-signatures,.report-card-summary,.report-card-header-sections{break-inside:avoid;page-break-inside:avoid}.report-card-summary{gap:8px;padding:9px 0}.report-card-signatures{gap:18px;margin-top:18px}.report-card-signatures>div{min-height:30px;font-size:9px}.report-card-signatures strong{font-size:10px}.report-card-generated{margin-top:10px;font-size:8px}.report-card-paper,.report-card-paper *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.parent-report-card-print{z-index:9999;width:100%;position:fixed;top:0;left:0;margin:0!important;padding:0!important;display:block!important}.parent-report-card-print .report-card-paper{margin:0!important}.report-card-assessment-brand img{width:280px;max-height:68px}}@media(max-width:900px){.report-card-student-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.report-card-paper{padding:23px}}@media(max-width:600px){.report-card-filters{grid-template-columns:1fr}.report-card-actions{flex-direction:column;align-items:flex-start}.report-card-paper{padding:17px}.report-card-summary,.report-card-signatures{grid-template-columns:1fr;gap:13px}}@media(max-width:900px){.enrollment-toolbar{flex-wrap:wrap}.enrollment-toolbar .filter-select{flex:160px}.enrollment-toolbar .student-total{margin-left:0}.enrollment-preview-heading,.enrollment-preview-footer{flex-direction:column;align-items:flex-start}}@media(max-width:600px){.enrollment-bulk-form{grid-template-columns:1fr}.enrollment-preview-stats{flex-wrap:wrap}.stream-roster-toolbar{flex-wrap:wrap;align-items:stretch}.stream-roster-toolbar .enrollment-search{flex-basis:100%}.stream-roster-toolbar>span{margin-left:0}.stream-roster-toolbar>button{margin-left:auto}}@media(max-width:900px){.promotion-scope-form{grid-template-columns:1fr 1fr}.promotion-preview-button{width:max-content}}@media(max-width:600px){.promotion-scope-form,.promotion-policy-fields{grid-template-columns:1fr}.promotion-summary{flex-wrap:wrap}.promotion-approval-footer,.promotion-policy-footer,.promotion-batch-meta{flex-direction:column;align-items:flex-start}.promotion-tab{padding:8px;font-size:12px}}.school-plan-selection,.subscription-history-panel{margin-bottom:14px;padding:19px}.subscription-choice-card{cursor:pointer;min-height:205px;position:relative}.subscription-choice-card>input{accent-color:var(--app-secondary);position:absolute;top:15px;right:15px}.subscription-choice-selected{background:#f7fbf7;border-color:#6e9d77;box-shadow:0 0 0 2px #6e9d7714}.subscription-request-footer{border-top:1px solid var(--app-border);justify-content:space-between;align-items:center;gap:15px;margin-top:15px;padding-top:14px;display:flex}.subscription-request-footer>span{color:var(--app-text-secondary);font-size:11px}.subscription-request-footer .primary-button{min-height:38px;font-size:12px}.subscription-history-list{display:grid}.subscription-history-row{border-top:1px solid var(--app-border);justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}.subscription-history-row>div{gap:4px;display:grid}.subscription-history-row strong{color:var(--app-text-primary);font-size:12px;font-weight:600}.subscription-history-row>div>span{color:var(--app-text-secondary);font-size:11px}.subscription-payment-reminder{z-index:45;border:1px solid var(--app-border);width:min(370px,100vw - 32px);color:var(--app-text-primary);background:var(--app-surface);border-radius:12px;gap:12px;padding:15px;animation:.18s ease-out assessment-popup-in;display:grid;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 36px #17251d30}.subscription-payment-reminder>div{gap:5px;display:grid}.subscription-payment-reminder strong{font-size:13px}.subscription-payment-reminder span{color:var(--app-text-secondary);font-size:12px}.subscription-payment-reminder .primary-button{justify-self:start}@media(max-width:560px){.subscription-payment-reminder{bottom:16px;right:16px}}.school-subscription-content .notice-error,.school-subscription-content .teaching-assignment-notice{margin-bottom:14px}@media(max-width:1050px){.sidebar{width:230px}.main-area{margin-left:230px}.topbar{padding:0 28px}.page-content{padding:30px 28px 22px}.stats-grid{grid-template-columns:1fr 1fr}.stat-card-accent{grid-column:span 2;min-height:140px}.content-grid{grid-template-columns:minmax(0,1.45fr) minmax(245px,1fr);gap:12px}}@media(max-width:760px){.sidebar{z-index:31;width:278px;transition:transform .22s;transform:translate(-101%)}.sidebar-open{transform:translate(0)}.mobile-close,.mobile-menu{display:inline-flex}.main-area{margin-left:0}.topbar{height:64px;padding:0 17px}.notification-panel{right:-17px}.page-content{padding:26px 17px 20px}.content-grid{grid-template-columns:1fr}.staff-panel{min-height:280px}.welcome-row{min-height:136px}.welcome-illustration{transform-origin:100% 0;margin-right:0;transform:scale(.8)}.stats-grid{gap:10px}.stat-card{min-height:158px;padding:15px}.stat-card-accent{min-height:135px}.signin-page{background:var(--app-surface-muted);justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.signin-card{border:1px solid var(--app-border);background:#fff;border-radius:16px;width:100%;max-width:440px;padding:32px 26px;box-shadow:0 12px 36px #3146370a}.signin-decoration{display:none}.signup-page{padding:18px 12px}.signup-card{padding:27px 22px}.users-toolbar{flex-wrap:wrap;align-items:stretch}.users-filters{flex:1}.users-filters .filter-select{flex:1;max-width:none}.student-toolbar{flex-wrap:wrap;align-items:stretch}.student-toolbar .relative,.student-status-filter{flex:1}.subject-toolbar{flex-wrap:wrap;align-items:stretch}.subject-toolbar .relative,.subject-status-filter{flex:1}.class-level-toolbar{flex-wrap:wrap;align-items:stretch}.class-level-toolbar .relative{flex:1}.class-subject-toolbar{flex-wrap:wrap;align-items:stretch}.class-subject-toolbar .relative{flex:1}.class-subject-toolbar .filter-select{flex:1;max-width:none}.class-group-toolbar{flex-wrap:wrap;align-items:stretch}.class-group-toolbar .relative{flex:1}.class-group-level-filter{flex:1;max-width:none}.teacher-toolbar{flex-wrap:wrap;align-items:stretch}.teacher-toolbar .relative{flex:1}.teacher-toolbar .student-total{width:100%;margin-left:0}.academic-year-summary{grid-template-columns:1fr}.teaching-assignment-toolbar{flex-wrap:wrap;align-items:stretch}.teaching-assignment-search{flex-basis:100%;width:100%}.teaching-assignment-toolbar .filter-select{flex:1;max-width:none}.teaching-assignment-toolbar .student-total{width:100%;margin-left:0}.term-toolbar{flex-wrap:wrap;align-items:stretch}.term-toolbar .filter-select{flex:1;max-width:none}.term-toolbar .student-total{width:100%;margin-left:0}.term-summary-grid{grid-template-columns:1fr}.assessment-toolbar{flex-wrap:wrap;align-items:stretch}.assessment-search{flex-basis:100%;width:100%}.assessment-toolbar .filter-select{flex:1;max-width:none}.assessment-toolbar .student-total{width:100%;margin-left:0}.subscription-plan-grid{grid-template-columns:1fr}}@media(max-width:480px){.dashboard-footnote{flex-wrap:wrap}.dashboard-footnote .footnote-spacer{display:none}.dashboard-credit{margin-left:auto}.topbar-date{display:none}.notification-button{margin:0}.notification-panel{width:calc(100vw - 24px);max-height:calc(100vh - 80px);position:fixed;top:66px;right:12px}.welcome-illustration{position:absolute;top:0;right:-15px;transform:scale(.62)}.welcome-row>div:first-child{z-index:2;position:relative}.stats-grid{grid-template-columns:1fr 1fr}.stat-card{min-height:148px}.stat-value{font-size:26px}.stat-card-accent{grid-column:span 2}.directory-toolbar{flex-direction:column;align-items:flex-start}.directory-count{min-width:70px}.people-table th,.people-table td{padding-left:12px;padding-right:12px}.signin-card{padding:28px 21px}.directory-welcome{min-height:120px}.signup-card{padding:23px 17px}.signup-name-grid{grid-template-columns:1fr;gap:14px}.signup-card .mt-9{margin-top:28px}.users-welcome{flex-direction:column;gap:10px;min-height:155px}.add-user-button{margin-top:0}.users-toolbar{padding:12px}.users-filters{width:100%}.filter-select{padding-right:19px}.user-total{width:100%;margin-left:0}.user-modal{padding:18px}.user-name-grid{grid-template-columns:1fr}.students-welcome{flex-direction:column;gap:10px;min-height:155px}.student-toolbar{padding:12px}.student-status-filter{width:100%}.student-total{width:100%;margin-left:0}.student-actions{flex-wrap:wrap}.student-detail-list>div{grid-template-columns:105px minmax(0,1fr)}.subject-toolbar{padding:12px}.subject-status-filter{width:100%}.subject-toolbar .student-total{width:100%;margin-left:0}.subject-metrics{grid-template-columns:1fr}.subject-link-form{flex-direction:column;align-items:stretch}.subject-link-form .filter-select{width:100%}.class-level-toolbar{padding:12px}.class-level-toolbar .student-total{width:100%;margin-left:0}.class-level-summary,.class-level-progression{grid-template-columns:1fr}.class-subject-toolbar{padding:12px}.class-subject-toolbar .filter-select{width:100%}.class-subject-toolbar .student-total{width:100%;margin-left:0}.class-group-toolbar{padding:12px}.class-group-level-filter{width:100%}.class-group-toolbar .student-total{width:100%;margin-left:0}.class-group-stat-grid{grid-template-columns:1fr}.academic-year-toolbar{padding:12px}.academic-year-details-modal{padding:18px}.academic-year-term-heading{flex-direction:column;align-items:flex-start}.teaching-assignment-toolbar{padding:12px}.teaching-assignment-toolbar .filter-select{width:100%}.term-toolbar{padding:12px}.term-toolbar .filter-select{width:100%}.term-details-modal{padding:18px}.assessment-toolbar{padding:12px}.assessment-toolbar .filter-select{width:100%}.assessment-results-modal{padding:18px}.subscription-admin-panel,.school-plan-selection,.subscription-history-panel{padding:14px}.subscription-section-heading{flex-direction:column;align-items:flex-start}.subscription-request-footer{flex-direction:column;align-items:stretch}.subscription-current-panel{flex-wrap:wrap;padding:15px}.subscription-tabs{overflow-x:auto}}:root{--color-ink:var(--app-text-primary);--color-muted:var(--app-text-secondary)}body{background:var(--app-background)}.sidebar,.topbar{border-color:var(--app-border)}.sidebar{background:var(--app-surface)}.school-switcher,.dashboard-school-brand{border-color:var(--app-border);background:var(--app-surface)}.school-switcher .text-muted,.profile-row .text-muted{color:var(--app-text-secondary)}.nav-caption,.eyebrow{color:var(--app-text-subtle)}.nav-item{color:var(--app-text-primary)}.nav-item:hover,.nav-item-active{color:var(--app-secondary)}.nav-item:hover{background:var(--app-surface-muted)}.nav-item-active{background:var(--app-accent-soft)}.topbar{background:var(--app-surface)}@supports (color:color-mix(in lab,red,red)){.topbar{background:color-mix(in srgb,var(--app-surface) 93%,transparent)}}.topbar-date,.directory-count,.pagination,.user-total,.student-total{color:var(--app-text-secondary)}.page-content,.page-title{color:var(--app-text-primary)}.panel,.stat-card,.user-modal{border-color:var(--app-border);box-shadow:0 1px 2px var(--app-text-primary)}@supports (color:color-mix(in lab,red,red)){.panel,.stat-card,.user-modal{box-shadow:0 1px 2px color-mix(in srgb,var(--app-text-primary) 4%,transparent)}}.panel-heading,.people-table thead{color:var(--app-text-primary)}.people-table thead{background:var(--app-surface-muted)}.people-table td,.people-table th{color:var(--app-text-primary)}.people-table td,.staff-row{border-color:var(--app-border)}.text-muted,.dashboard-footnote,.table-message,.empty-state,.notification-empty,.directory-count,.search-icon{color:var(--app-text-secondary)}.field-label{color:var(--app-text-primary)}.text-input,.search-input,.filter-select,.status-action,.enrollment-stream-select{border-color:var(--app-border);color:var(--app-text-primary);background-color:var(--app-surface)}.text-input::placeholder,.search-input::placeholder{color:var(--app-text-subtle);opacity:1}.text-input:focus,.search-input:focus,.filter-select:focus{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-primary)}@supports (color:color-mix(in lab,red,red)){.text-input:focus,.search-input:focus,.filter-select:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--app-primary) 15%,transparent)}}.primary-button{background:var(--app-accent)}.primary-button:hover:not(:disabled){background:var(--app-primary)}@supports (color:color-mix(in lab,red,red)){.primary-button:hover:not(:disabled){background:color-mix(in srgb,var(--app-primary) 84%,#000)}}.secondary-button{border-color:var(--app-border);color:var(--app-text-primary)}.secondary-button:hover:not(:disabled),.table-action:hover:not(:disabled){background:var(--app-surface-muted)}.table-action{border-color:var(--app-border);color:var(--app-primary)}.status-badge,.subject-status,.audit-action{font-weight:650}.status-active,.subject-status-active,.subject-status-open,.subject-status-finalized,.subject-status-published{color:var(--app-primary);background:var(--app-accent-soft)}.status-inactive,.subject-status-inactive{color:#70491c;background:#f8f0e2}.notice-error,.form-error{color:#963b2e;background:#fff4f1}.dashboard-school-brand span,.notification-item-title{color:var(--app-text-primary)}.notification-item-message,.notification-panel-heading p,.notification-item-time{color:var(--app-text-secondary)}.notification-error,.notification-error button{color:#87372d}.icon-button{color:var(--app-text-secondary)}.icon-button:hover{color:var(--app-secondary);background:var(--app-surface-muted)}.school-context-select:focus{outline:2px solid var(--app-accent);outline-offset:2px}.parent-portal-page{min-height:100vh;color:var(--app-text-primary);background:var(--app-background)}.parent-access-help{color:var(--app-text-secondary);margin-top:7px;font-size:13px;line-height:1.5;display:block}.parent-access-notice{color:#214d31;background:var(--app-accent-soft);border:1px solid #bdd8c3;border-radius:9px;margin:0;padding:11px 12px;font-size:13px;line-height:1.5}.parent-otp-input{letter-spacing:.24em;max-width:220px;font-size:19px;font-weight:700}.parent-resend-code{margin:12px auto 0;display:block}.parent-portal-header{z-index:15;border-bottom:1px solid var(--app-border);background:var(--app-surface);justify-content:space-between;align-items:center;gap:20px;min-height:76px;padding:12px clamp(18px,4vw,56px);display:flex;position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.parent-portal-header{background:color-mix(in srgb,var(--app-surface) 93%,transparent)}}.parent-portal-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.parent-school-mark,.parent-portal-account{align-items:center;gap:12px;display:flex}.parent-school-mark img,.parent-school-mark>span{object-fit:contain;width:42px;height:42px;color:var(--app-primary);background:#e8f1ea;border-radius:12px;flex:none;justify-content:center;align-items:center;display:flex}.parent-school-mark div,.parent-portal-account div{gap:2px;display:grid}.parent-school-mark strong{color:var(--app-text-primary);font-size:15px;font-weight:700}.parent-school-mark div>span,.parent-portal-account small{color:var(--app-text-secondary);font-size:12px}.parent-portal-account>span{color:#174b32;background:#e5f0e8;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:13px;font-weight:700;display:flex}.parent-portal-account strong{color:#27352c;font-size:13px}.parent-signout-button{border:1px solid var(--app-border);color:#47564c;background:var(--app-surface);border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;margin-left:6px;display:flex}.parent-signout-button:hover{color:#963b2e;background:#fff4f1}.parent-portal-content{width:min(1140px,100%);margin:0 auto;padding:36px clamp(16px,4vw,36px) 25px}.parent-portal-welcome{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:23px;display:flex}.parent-portal-welcome h1{color:var(--app-text-primary);letter-spacing:-.04em;margin:6px 0 5px;font-size:clamp(27px,3.5vw,35px);font-weight:700;line-height:1.15}.parent-portal-welcome p:last-child{color:var(--app-text-primary);margin:0;font-size:15px;line-height:1.5}.parent-linked-count{color:#23583b;white-space:nowrap;background:#edf5ef;border:1px solid #d9e2db;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:650;display:flex}.parent-school-info{border:1px solid var(--app-border);background:var(--app-surface);box-shadow:0 2px 6px var(--app-text-primary);border-radius:15px;margin-bottom:17px;padding:17px 20px}@supports (color:color-mix(in lab,red,red)){.parent-school-info{box-shadow:0 2px 6px color-mix(in srgb,var(--app-text-primary) 3%,transparent)}}.parent-school-info-heading{align-items:center;gap:10px;margin-bottom:13px;display:flex}.parent-school-info-icon{width:36px;height:36px;color:var(--app-primary);background:var(--app-accent-soft);border-radius:11px;justify-content:center;align-items:center;display:flex}.parent-school-info-heading h2{color:var(--app-text-primary);margin:0;font-size:15px;font-weight:700}.parent-school-info-heading p{color:var(--app-text-secondary);margin:3px 0 0;font-size:12px}.parent-school-info-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.parent-school-info-grid>div{min-width:0;color:var(--app-primary);background:var(--app-surface-muted);border-radius:10px;align-items:flex-start;gap:9px;padding:10px;display:flex}.parent-school-info-grid>div>span{gap:3px;min-width:0;display:grid}.parent-school-info-grid small{color:var(--app-text-secondary);font-size:11px}.parent-school-info-grid strong,.parent-school-info-grid a{overflow-wrap:anywhere;color:var(--app-text-primary);font-size:13px;font-weight:600}.parent-school-info-grid>p{color:var(--app-text-secondary);grid-column:1/-1;margin:0;font-size:13px}.parent-student-picker{gap:10px;margin-bottom:17px;padding:1px 1px 5px;display:flex;overflow-x:auto}.parent-student-tab{border:1px solid var(--app-border);min-width:215px;color:var(--app-text-primary);background:var(--app-surface);text-align:left;border-radius:13px;align-items:center;gap:10px;padding:10px 12px;display:flex}.parent-student-tab:hover{background:#f9fcfa;border-color:#a9c8af}.parent-student-tab-active{background:var(--app-accent-soft);box-shadow:0 0 0 2px var(--app-primary);border-color:#6f9d7a}@supports (color:color-mix(in lab,red,red)){.parent-student-tab-active{box-shadow:0 0 0 2px color-mix(in srgb,var(--app-primary) 7%,transparent)}}.parent-student-tab>span:first-child,.parent-student-avatar{color:#205739;background:#e3efe6;border-radius:12px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:13px;font-weight:700;display:flex}.parent-student-tab>span:nth-child(2){gap:2px;min-width:0;display:grid}.parent-student-tab strong{color:var(--app-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;overflow:hidden}.parent-student-tab small{color:var(--app-text-secondary);font-size:12px}.parent-student-tab>svg{color:var(--app-primary);margin-left:auto}.parent-student-summary,.parent-results-section{border:1px solid var(--app-border);background:var(--app-surface);box-shadow:0 2px 6px var(--app-text-primary);border-radius:15px}@supports (color:color-mix(in lab,red,red)){.parent-student-summary,.parent-results-section{box-shadow:0 2px 6px color-mix(in srgb,var(--app-text-primary) 3%,transparent)}}.parent-student-summary{margin-bottom:17px;padding:20px 22px}.parent-student-summary-main{border-bottom:1px solid #e8ede9;align-items:center;gap:14px;padding-bottom:17px;display:flex}.parent-student-avatar{border-radius:15px;width:48px;height:48px;font-size:15px}.parent-student-summary-main .eyebrow{margin:0}.parent-student-summary-main h2{color:var(--app-text-primary);margin:3px 0;font-size:20px;font-weight:700}.parent-student-summary-main>div>span{color:var(--app-text-primary);font-size:13px}.parent-student-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-top:17px;display:grid}.parent-student-facts>div{gap:5px;min-width:0;display:grid}.parent-student-facts span{color:var(--app-text-secondary);font-size:12px;font-weight:550}.parent-student-facts strong{overflow-wrap:anywhere;color:var(--app-text-primary);font-size:14px;font-weight:650}.parent-results-section{margin-top:17px;overflow:hidden}.parent-results-actions{justify-content:flex-end;padding:0 18px 14px;display:flex}.parent-result-group{border:1px solid var(--app-border);background:var(--app-surface);border-radius:12px;margin:0 18px 18px;overflow:hidden}.parent-result-group-heading{justify-content:space-between;align-items:center;gap:16px;padding:17px 18px 13px;display:flex}.parent-result-heading-actions{justify-content:flex-end;align-items:center;gap:9px;display:flex}.parent-result-group-heading h3{color:var(--app-text-primary);margin:5px 0 3px;font-size:16px;font-weight:700}.parent-result-group-heading p{color:var(--app-text-secondary);margin:0;font-size:13px}.parent-result-type{color:var(--app-primary);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:750}.parent-result-published{color:var(--app-primary);background:var(--app-accent-soft);border-radius:999px;flex:none;padding:5px 10px;font-size:11px;font-weight:700}.parent-result-summary{gap:10px;padding:0 18px 14px;display:flex}.parent-result-summary>div{border:1px solid var(--app-border);background:var(--app-surface-muted);border-radius:9px;gap:3px;min-width:100px;padding:9px 12px;display:grid}.parent-result-summary span{color:var(--app-text-secondary);font-size:11px}.parent-result-summary strong{color:var(--app-text-primary);font-size:15px}.parent-result-group .parent-results-table-wrap{border-top:1px solid var(--app-border)}.parent-report-card-print{display:none}.class-distribution-panel{margin-bottom:17px;overflow:hidden}.class-distribution-compact{margin-top:17px}.class-distribution-heading{align-items:flex-start}.class-distribution-title{align-items:center;gap:11px;display:flex}.class-distribution-title h2{color:var(--app-text-primary);margin:0;font-size:15px;font-weight:650}.class-distribution-title p{color:var(--app-text-secondary);margin:4px 0 0;font-size:12px}.class-distribution-icon{color:#286546;background:var(--app-accent-soft);border-radius:11px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.class-distribution-heading-actions{align-items:center;gap:14px;display:flex}.class-distribution-total{color:var(--app-text-secondary);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:650;display:flex}.class-distribution-toggle{border:1px solid var(--app-border);min-height:32px;color:var(--app-primary);background:var(--app-surface);white-space:nowrap;border-radius:8px;align-items:center;gap:5px;padding:0 9px;font-size:11px;font-weight:650;display:inline-flex}.class-distribution-toggle:hover{background:var(--app-surface-muted)}.class-distribution-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 19px 17px;display:grid}.class-distribution-metrics>div{border:1px solid var(--app-border);background:var(--app-surface-muted);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.class-distribution-metrics span{color:var(--app-text-secondary);font-size:11px}.class-distribution-metrics strong{color:var(--app-text-primary);font-variant-numeric:tabular-nums;font-size:15px}.class-distribution-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 24px;padding:0 19px 19px;display:grid}.class-distribution-list-expanded{grid-template-columns:1fr;gap:15px}.class-distribution-level{min-width:0}.class-distribution-row,.class-distribution-group{justify-content:space-between;align-items:center;gap:12px;display:flex}.class-distribution-row{color:var(--app-text-primary);font-size:13px}.class-distribution-row span,.class-distribution-group span:last-child{color:var(--app-text-secondary);font-variant-numeric:tabular-nums}.class-distribution-track{background:var(--app-surface-muted);border-radius:99px;height:7px;margin-top:7px;overflow:hidden}.class-distribution-track span{border-radius:inherit;background:var(--app-primary);min-width:3px;height:100%;display:block}.class-distribution-groups{border-left:2px solid var(--app-border);gap:8px;margin-top:10px;padding-left:11px;display:grid}.class-distribution-group{color:var(--app-text-secondary);grid-template-columns:1fr auto;gap:5px 12px;font-size:11px;display:grid}.class-distribution-no-groups{border-left:2px solid var(--app-border);color:var(--app-text-secondary);margin-top:10px;padding:2px 0 2px 11px;font-size:11px}.class-distribution-group-track{background:var(--app-surface-muted);border-radius:99px;grid-column:1/-1;height:4px;overflow:hidden}.class-distribution-group-track span{border-radius:inherit;background:#88a996;min-width:2px;height:100%;display:block}.class-distribution-unassigned{color:#9a6237}.class-distribution-empty{color:var(--app-text-secondary);padding:15px 19px 19px;font-size:13px}.user-name-link{text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.user-name-link:hover{color:var(--app-primary);text-decoration:underline}.user-details-modal{max-width:760px;padding:0}.user-details-heading{border-bottom:1px solid var(--app-border);align-items:center;gap:14px;padding:20px 23px;display:flex}.user-details-heading .person-avatar{flex:none;width:48px;height:48px}.user-details-heading>div:nth-child(2){flex:1}.user-details-heading h2{color:var(--app-text-primary);margin:2px 0;font-size:19px;font-weight:700}.user-details-heading p:last-child{color:var(--app-text-secondary);margin:0;font-size:12px}.user-details-content{gap:18px;max-height:65vh;padding:20px 23px;display:grid;overflow:auto}.user-details-section{gap:11px;display:grid}.user-details-section h3{color:var(--app-text-primary);align-items:center;gap:8px;margin:0;font-size:13px;font-weight:700;display:flex}.user-details-section h3>span{color:var(--app-primary);background:var(--app-accent-soft);border-radius:999px;margin-left:auto;padding:2px 8px;font-size:11px}.user-assignment-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.user-term-picker select{border:1px solid var(--app-border);max-width:250px;min-height:34px;color:var(--app-text-primary);background:var(--app-surface);border-radius:8px;padding:0 9px;font-size:11px}.user-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;display:grid}.user-details-grid>div,.user-assignment-list article{border:1px solid var(--app-border);background:var(--app-surface-muted);border-radius:9px;min-width:0;padding:10px 12px}.user-details-grid dt{color:var(--app-text-secondary);font-size:11px}.user-details-grid dd{overflow-wrap:anywhere;color:var(--app-text-primary);margin:3px 0 0;font-size:13px;font-weight:600}.user-assignment-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.user-assignment-list article{align-content:start;gap:4px;display:grid}.user-assignment-list article>div{align-items:baseline;gap:7px;display:flex}.user-assignment-list strong{color:var(--app-text-primary);font-size:12px}.user-assignment-list small,.user-assignment-list p,.user-assignment-list span,.user-details-empty{color:var(--app-text-secondary);margin:0;font-size:11px}.user-details-actions{border-top:1px solid var(--app-border);justify-content:flex-end;gap:9px;padding:14px 23px;display:flex}@media(max-width:600px){.user-details-grid,.user-assignment-list{grid-template-columns:1fr}.user-assignment-heading{flex-direction:column;align-items:flex-start}.user-term-picker,.user-term-picker select{width:100%;max-width:none}.user-details-heading,.user-details-content,.user-details-actions{padding-left:16px;padding-right:16px}}@media(max-width:700px){.class-distribution-heading{flex-direction:column;align-items:flex-start}.class-distribution-heading-actions{justify-content:space-between;width:100%}.class-distribution-metrics{gap:7px;padding-left:13px;padding-right:13px}.class-distribution-metrics>div{flex-direction:column;align-items:flex-start;padding:8px}.class-distribution-list{grid-template-columns:1fr;padding-left:13px;padding-right:13px}}.parent-section-heading{border-bottom:1px solid #e8ede9;justify-content:space-between;align-items:center;gap:15px;padding:17px 20px;display:flex}.parent-section-heading>div:first-child{align-items:center;gap:11px;min-width:0;display:flex}.parent-section-icon{color:#205e3b;background:var(--app-accent-soft);border-radius:12px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.parent-annual-icon{color:#554b83;background:#efedf7}.parent-section-heading h2{color:#1e2d24;margin:0;font-size:16px;font-weight:700}.parent-section-heading p{color:var(--app-text-secondary);margin:3px 0 0;font-size:13px;line-height:1.4}.parent-term-select{border:1px solid var(--app-border);color:#3c5144;background:var(--app-surface);border-radius:9px;flex:none;align-items:center;gap:7px;min-height:38px;padding:0 9px;display:flex}.parent-term-select select{max-width:210px;color:var(--app-text-primary);background:0 0;border:0;outline:0;font-size:13px}.parent-term-select svg:last-child{pointer-events:none}.parent-results-table-wrap{overflow-x:auto}.parent-results-table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.parent-midterm-results-caption{color:var(--app-text-primary);text-align:left;padding:14px 17px 8px;font-size:14px;font-weight:700}.parent-results-table thead{color:var(--app-text-primary);background:var(--app-surface-muted);font-size:12px}.parent-results-table th{white-space:nowrap;padding:11px 17px;font-weight:650}.parent-results-table td{color:var(--app-text-primary);vertical-align:middle;border-top:1px solid #e8ede9;padding:12px 17px}.parent-results-table td:first-child{min-width:145px}.parent-results-table td:first-child strong,.parent-results-table td:first-child small{display:block}.parent-results-table td:first-child strong{color:var(--app-text-primary);font-size:14px;font-weight:650}.parent-results-table td:first-child small{color:var(--app-text-secondary);margin-top:2px;font-size:12px}.parent-grade-chip{color:#185a3b;background:var(--app-accent-soft);border-radius:8px;justify-content:center;min-width:34px;padding:4px 8px;font-weight:700;display:inline-flex}.parent-results-empty,.parent-portal-empty,.parent-portal-loading,.parent-portal-error{min-height:135px;color:var(--app-text-primary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:23px;font-size:14px;line-height:1.55;display:flex}.parent-results-empty{color:var(--app-text-primary);flex-direction:row;justify-content:flex-start}.parent-results-empty svg{color:#436b4f;flex:none}.parent-annual-groups{gap:15px;padding:17px;display:grid}.parent-annual-group{border:1px solid #e3e9e4;border-radius:11px;overflow:hidden}.parent-annual-group h3{border-bottom:1px solid var(--app-border);color:var(--app-text-primary);background:#f6f8f6;margin:0;padding:11px 15px;font-size:14px;font-weight:700}.parent-annual-group .parent-results-table{font-size:13px}.parent-portal-empty{border:1px solid var(--app-border);background:var(--app-surface);border-radius:15px;min-height:260px}.parent-portal-empty>div{color:#205e3b;background:var(--app-accent-soft);border-radius:15px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.parent-portal-empty h2{color:var(--app-text-primary);margin:5px 0 0;font-size:18px}.parent-portal-empty p{max-width:490px;color:var(--app-text-secondary);margin:0}.parent-portal-error{color:#87372d;background:var(--app-surface);border:1px solid #e5c9c2;border-radius:14px;width:min(540px,100% - 32px);min-height:200px;margin:12vh auto}.parent-portal-error .secondary-button{align-items:center;gap:7px;display:inline-flex}.parent-portal-inline-error{color:#87372d;background:#fff4f1;border:1px solid #e5c9c2;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px;padding:11px 14px;font-size:14px;display:flex}.parent-portal-inline-error button{color:#87372d;background:0 0;border:0;font-weight:700}.parent-portal-footer{color:var(--app-text-secondary);text-align:center;margin:23px 0 0;font-size:13px}.parent-portal-developer-brand{border-top:1px solid var(--app-border);justify-content:center;align-items:center;margin:14px auto 0;padding-top:14px;display:flex}.parent-portal-developer-brand img{object-fit:contain;width:150px;max-height:36px;display:block}@media(max-width:700px){.parent-portal-header{min-height:66px;padding:10px 14px}.parent-portal-account div{display:none}.parent-portal-content{padding:25px 14px 22px}.parent-portal-welcome{flex-direction:column;align-items:flex-start;gap:12px}.parent-school-info{padding:15px}.parent-school-info-grid{grid-template-columns:1fr}.parent-student-summary{padding:16px}.parent-student-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.parent-section-heading{flex-direction:column;align-items:flex-start;padding:15px}.parent-term-select{width:100%}.parent-term-select select{flex:1;max-width:none}.parent-results-table{min-width:610px}.parent-result-group{margin:0 11px 13px}.parent-result-group-heading{padding:14px 13px 11px}.parent-result-group-heading p{max-width:230px;line-height:1.4}.parent-result-heading-actions{flex-direction:column;align-items:flex-end}.parent-result-summary{padding:0 13px 12px}.parent-annual-group .parent-results-table{min-width:560px}}.student-parent-registration{border-top:1px solid #e7ece7;gap:12px;padding-top:16px;display:grid}.student-parent-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.student-parent-heading>div{gap:3px;display:grid}.student-parent-heading strong{color:#26352a;font-size:14px}.student-parent-heading span{color:#7a867d;font-size:12px}.student-parent-fields{border:1px solid var(--app-surface-muted);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;padding:12px;display:grid}.form-tutor-panel{margin-bottom:18px;padding:18px}.teaching-assignment-header-actions{align-items:center;gap:9px;display:flex}.form-tutor-modal-backdrop{z-index:60}.form-tutor-modal{max-width:760px}.form-tutor-year{justify-content:flex-end;padding:16px 0 7px;display:flex}.form-tutor-year .field-label{gap:6px;width:min(260px,100%);display:grid}.form-tutor-heading,.form-tutor-heading>div,.form-tutor-row,.form-tutor-row>div{align-items:center;display:flex}.form-tutor-heading{justify-content:space-between;gap:16px;margin-bottom:12px}.form-tutor-heading>div{gap:11px}.form-tutor-heading h2{color:var(--app-text-primary);margin:0;font-size:16px;font-weight:700}.form-tutor-heading p,.form-tutor-row span{color:var(--app-text-secondary);margin:3px 0 0;font-size:12px}.form-tutor-icon,.attendance-class-icon{width:36px;height:36px;color:var(--app-primary);background:var(--app-accent-soft);border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.form-tutor-heading .field-label{gap:6px;min-width:190px;display:grid}.form-tutor-list{display:grid}.form-tutor-row{border-top:1px solid var(--app-border);grid-template-columns:minmax(190px,1fr) minmax(200px,280px) auto;gap:12px;padding:10px 0;display:grid}.form-tutor-row>div{flex-direction:column;align-items:flex-start}.form-tutor-row>div strong{color:var(--app-text-primary);font-size:13px}.form-tutor-row .secondary-button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.attendance-panel{overflow:hidden}.attendance-toolbar{border-bottom:1px solid var(--app-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px 18px;display:grid}.attendance-toolbar .field-label{gap:6px;display:grid}.attendance-toolbar .filter-select{width:100%}.attendance-report{border-bottom:1px solid var(--app-border);padding:16px 18px}.attendance-report-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.attendance-report-heading>div:first-child{gap:4px;display:grid}.attendance-report-heading strong{color:var(--app-text-primary);font-size:14px}.attendance-report-heading span{color:var(--app-text-secondary);font-size:12px}.attendance-report-actions{flex-wrap:wrap;gap:8px;display:flex}.attendance-report-actions .secondary-button{justify-content:center;align-items:center;min-height:34px;display:inline-flex}.attendance-report-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.attendance-report-filters .field-label{gap:6px;display:grid}.attendance-report-filters .filter-select{width:100%}.attendance-report-table-wrap{overflow-x:auto}.attendance-report-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12px}.attendance-report-table th,.attendance-report-table td{border-top:1px solid var(--app-border);text-align:left;padding:9px 10px}.attendance-report-table th{color:var(--app-text-secondary);font-weight:650}.attendance-report-table td{color:var(--app-text-primary)}.attendance-report-empty{color:var(--app-text-secondary);padding:18px 8px;font-size:13px}.attendance-class-list{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:11px;padding:16px 18px;display:grid}.attendance-class-card{border:1px solid var(--app-border);color:var(--app-text-primary);background:var(--app-surface);text-align:left;border-radius:11px;gap:8px;padding:13px;transition:border-color .15s,background .15s,box-shadow .15s;display:grid}.attendance-class-card:hover,.attendance-class-card-selected{border-color:var(--app-primary);background:var(--app-surface-muted);box-shadow:0 0 0 2px var(--app-primary)}@supports (color:color-mix(in lab,red,red)){.attendance-class-card:hover,.attendance-class-card-selected{box-shadow:0 0 0 2px color-mix(in srgb,var(--app-primary) 10%,transparent)}}.attendance-class-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.attendance-class-card-top strong{color:var(--app-text-primary);font-size:14px}.attendance-class-card-top>span,.attendance-class-card-summary,.attendance-class-card-by{color:var(--app-text-secondary);font-size:11px}.attendance-class-card-action{color:var(--app-primary);justify-content:space-between;align-items:center;margin-top:2px;font-size:12px;font-weight:700;display:flex}.attendance-class-card-by{border-top:1px solid var(--app-border);padding-top:7px}.attendance-summary{justify-content:space-between;align-items:center;gap:16px;padding:16px 18px 12px;display:flex}.attendance-summary>div:first-child{align-items:center;gap:10px;display:flex}.attendance-summary>div:first-child>div{gap:3px;display:grid}.attendance-summary strong{color:var(--app-text-primary);font-size:14px}.attendance-summary span:not(.attendance-class-icon){color:var(--app-text-secondary);font-size:12px}.attendance-counts{flex-wrap:wrap;gap:7px;display:flex}.attendance-counts span{border:1px solid var(--app-border);white-space:nowrap;border-radius:999px;padding:5px 8px}.attendance-readonly-note{border-top:1px solid var(--app-border);color:var(--app-text-secondary);background:var(--app-surface-muted);padding:10px 18px;font-size:12px}.attendance-register-heading{border-top:1px solid var(--app-border);color:var(--app-text-secondary);justify-content:space-between;align-items:center;gap:12px;padding:11px 18px;font-size:12px;display:flex}.attendance-register-heading>span{align-items:center;gap:4px;display:flex}.attendance-register-actions{align-items:center;gap:12px;display:flex}.attendance-register-heading strong{color:var(--app-text-primary)}.attendance-register-heading button{align-items:center;gap:7px;display:inline-flex}.attendance-saved{color:var(--app-primary);align-items:center;gap:4px;margin-left:8px;font-weight:650;display:inline-flex}.attendance-list{border-top:1px solid var(--app-border)}.attendance-row{border-bottom:1px solid var(--app-border);grid-template-columns:28px minmax(170px,1fr) 55px minmax(250px,280px) minmax(150px,220px);align-items:center;gap:12px;padding:9px 18px;display:grid}.attendance-row-no-qr{grid-template-columns:28px minmax(170px,1fr) minmax(250px,280px) minmax(150px,220px);grid-template-areas:"number student status note"}.attendance-row-no-qr>.attendance-row-number{grid-area:number}.attendance-row-no-qr>.attendance-student{grid-area:student}.attendance-row-no-qr>.attendance-status-select{grid-area:status}.attendance-row-no-qr>.attendance-note{grid-area:note}.attendance-qr-download{border:1px solid var(--app-border);min-height:32px;color:var(--app-text-secondary);background:var(--app-surface);border-radius:7px;justify-content:center;align-items:center;gap:4px;font-size:11px;display:inline-flex}.attendance-qr-download:hover{border-color:var(--app-primary);color:var(--app-primary)}.attendance-scan-panel{border-top:1px solid var(--app-border);background:var(--app-surface-muted);gap:9px;padding:13px 18px;display:grid}.attendance-scan-panel>div:first-child{gap:3px;display:grid}.attendance-scan-panel strong{color:var(--app-text-primary);font-size:13px}.attendance-scan-panel span{color:var(--app-text-secondary);font-size:12px}.attendance-scan-panel form{flex-wrap:wrap;gap:8px;display:flex}.attendance-scan-panel form input{flex:220px}.attendance-scan-panel form button{justify-content:center;align-items:center;gap:6px;display:inline-flex}.attendance-camera-message{display:block}.attendance-camera-preview{object-fit:cover;background:#111;border-radius:9px;width:min(100%,420px);max-height:300px}.attendance-last-scanned{background:#3b8d59;border:1px solid #8ab39a;border-radius:9px;align-items:center;gap:10px;max-width:540px;padding:10px 12px;display:flex}@supports (color:color-mix(in lab,red,red)){.attendance-last-scanned{background:color-mix(in srgb,#3b8d59 8%,var(--app-surface))}}.attendance-last-scanned-duplicate{background:#c18b23;border-color:#d1aa62}@supports (color:color-mix(in lab,red,red)){.attendance-last-scanned-duplicate{background:color-mix(in srgb,#c18b23 9%,var(--app-surface))}}.attendance-last-scanned-icon{color:#287342;background:#3b8d59;border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:flex}@supports (color:color-mix(in lab,red,red)){.attendance-last-scanned-icon{background:color-mix(in srgb,#3b8d59 17%,var(--app-surface))}}.attendance-last-scanned>div{gap:2px;min-width:0;display:grid}.attendance-last-scanned strong{color:var(--app-text-primary);font-size:12px}.attendance-last-scanned span:not(.attendance-last-scanned-icon),.attendance-last-scanned time{color:var(--app-text-secondary);font-size:11px}.attendance-last-scanned time{white-space:nowrap;margin-left:auto}.attendance-scan-toast{z-index:1000;color:#842f2a;background:#fff5f4;border:1px solid #d98b84;border-radius:9px;max-width:min(420px,100vw - 32px);padding:12px 16px;font-size:13px;font-weight:650;animation:.16s ease-out attendance-toast-in;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 28px #0002}.assessment-popup{z-index:2000;border:1px solid;border-radius:11px;align-items:center;gap:10px;width:min(460px,100vw - 32px);padding:13px 14px;animation:.18s ease-out assessment-popup-in;display:flex;position:fixed;top:88px;right:24px;box-shadow:0 12px 36px #17251d30}.assessment-popup-error{color:#8b302b;background:#fff7f6;border-color:#e2aaa6}.assessment-popup-success{color:#276c3b;background:#f4fbf5;border-color:#9dc5a8}.assessment-popup-message{color:var(--app-text-primary);flex:1;font-size:13px;line-height:1.45}.assessment-popup-action,.assessment-popup-close{color:inherit;background:0 0;border:0;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:650;display:inline-flex}.assessment-popup-action{text-underline-offset:2px;text-decoration:underline}.assessment-popup-close{border-radius:6px;width:26px;height:26px}.assessment-popup-close:hover{background:#0000000c}.app-toast{z-index:2000;border:1px solid;border-radius:11px;align-items:flex-start;gap:10px;width:min(480px,100vw - 32px);padding:13px 14px;animation:.18s ease-out assessment-popup-in;display:flex;position:fixed;top:88px;right:24px;box-shadow:0 12px 36px #17251d30}.app-toast-error{color:#8b302b;background:#fff7f6;border-color:#e2aaa6}.app-toast-success{color:#276c3b;background:#f4fbf5;border-color:#9dc5a8}.app-toast-icon{flex:none;margin-top:1px}.app-toast-content{min-width:0;color:var(--app-text-primary);flex-wrap:wrap;flex:1;align-items:center;gap:8px 12px;font-size:13px;line-height:1.45;display:flex}.app-toast-content .text-button{padding:0;font-size:12px}.app-toast-dismiss{width:26px;height:26px;color:inherit;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;margin:-4px;display:inline-flex}.app-toast-dismiss:hover{background:#0000000c}@keyframes assessment-popup-in{0%{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}@keyframes attendance-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.attendance-row-number{color:var(--app-text-subtle);text-align:center;font-size:11px}.attendance-student{gap:1px;min-width:0;display:grid}.attendance-student strong{color:var(--app-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.attendance-student span{color:var(--app-text-secondary);font-size:11px}.attendance-status-select{width:100%;min-width:230px}.attendance-note{width:100%;min-width:0}.attendance-status-select:disabled{cursor:not-allowed;color:var(--app-text-secondary);background-color:var(--app-surface-muted)}.attendance-status-present{border-color:#7fac8d}.attendance-status-absent{border-color:#d9a39b}.attendance-status-late{border-color:#d5bb82}.attendance-status-excused{border-color:#a9a4ca}.attendance-footer{border-top:1px solid var(--app-border);color:var(--app-text-secondary);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;font-size:12px;display:flex}.attendance-footer .primary-button{align-items:center;display:inline-flex}@media(max-width:760px){.form-tutor-heading{flex-direction:column;align-items:stretch}.form-tutor-heading .field-label{min-width:0}.teaching-assignment-header-actions{flex-direction:column;align-items:stretch}.form-tutor-row{grid-template-columns:minmax(0,1fr) auto}.form-tutor-row .filter-select{grid-area:2/1/auto/-1}.attendance-toolbar{grid-template-columns:1fr}.attendance-report-heading{flex-direction:column;align-items:stretch}.attendance-report-filters{grid-template-columns:1fr}.attendance-summary{flex-direction:column;align-items:flex-start}.attendance-row{grid-template-columns:24px minmax(0,1fr) 52px minmax(220px,1fr);gap:8px;padding:9px 12px}.attendance-row-no-qr{grid-template-columns:24px minmax(0,1fr);grid-template-areas:"number student"".status"".note"}.attendance-note{grid-column:2/-1}}@media(max-width:460px){.attendance-row{grid-template-columns:22px minmax(0,1fr) 50px}.attendance-row-no-qr{grid-template-columns:22px minmax(0,1fr)}.attendance-status-select,.attendance-note{grid-column:2/-1}.attendance-register-heading,.attendance-footer{flex-direction:column;align-items:stretch}.attendance-register-heading>span{flex-wrap:wrap}}.student-parent-remove{grid-column:1/-1;justify-self:end}.password-input-wrap{width:100%;display:block;position:relative}.password-input-wrap .text-input{width:100%;padding-right:45px}.password-visibility-toggle{width:28px;height:28px;color:var(--app-text-secondary);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;display:grid;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.password-visibility-toggle:hover{color:var(--app-primary);background:var(--app-surface-muted)}.password-visibility-toggle:focus-visible{outline:2px solid var(--app-primary);outline-offset:1px}.signin-forgot-password{justify-content:flex-end;margin-top:-10px;display:flex}@media(max-width:600px){.student-parent-fields{grid-template-columns:1fr}}.school-setup-workspace{min-height:100vh;color:var(--app-text-primary);background:var(--app-background)}.school-setup-loading-screen{min-height:100vh;color:var(--app-text-secondary);place-content:center;justify-items:center;gap:10px;display:grid}.school-setup-loading-screen section{text-align:center;justify-items:center;gap:12px;max-width:420px;display:grid}.school-setup-bar{z-index:20;border-bottom:1px solid var(--app-border);background:var(--app-surface);justify-content:space-between;align-items:center;gap:16px;padding:12px 20px;display:flex;position:sticky;top:0}.school-setup-bar>div:first-child{align-items:center;gap:10px;display:flex}.school-setup-bar>div:first-child>div{gap:2px;display:grid}.school-setup-bar strong{font-size:13px}.school-setup-bar span:not(.school-setup-mark){color:var(--app-text-secondary);font-size:11px}.school-setup-mark{width:38px;height:38px;color:var(--app-primary);background:var(--app-accent-soft);border-radius:11px;flex:none;place-items:center;display:grid}.school-setup-bar-actions{align-items:center;gap:7px;display:flex}.school-setup-bar-actions>button:not(.primary-button){color:var(--app-text-secondary);background:0 0;border:1px solid #0000;border-radius:8px;padding:8px 10px;font-size:12px}.school-setup-bar-actions>button.school-setup-tab-active{border-color:var(--app-border);color:var(--app-text-primary);background:var(--app-surface-muted)}.school-setup-bar-actions .primary-button{align-items:center;min-height:34px;display:inline-flex}.school-setup-content{width:min(1240px,100%);margin:0 auto;padding:24px}.school-setup-backdrop{z-index:100;background:#102019b8}.school-setup-modal{width:min(560px,100%);padding:25px}.school-setup-modal-top{color:var(--app-text-secondary);justify-content:space-between;align-items:center;margin-bottom:17px;font-size:12px;font-weight:650;display:flex}.school-setup-modal-top .school-setup-mark{width:34px;height:34px}.school-setup-progress{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin-bottom:25px;display:grid}.school-setup-progress span{background:var(--app-border);border-radius:999px;height:4px}.school-setup-progress .school-setup-progress-active{background:var(--app-primary)}.school-setup-modal h1{color:var(--app-text-primary);letter-spacing:-.035em;margin:5px 0 0;font-size:23px;font-weight:720}.school-setup-description{color:var(--app-text-secondary);margin:8px 0 18px;font-size:13px;line-height:1.6}.school-setup-checklist{border:1px solid var(--app-border);background:var(--app-surface-muted);border-radius:11px;gap:9px;padding:13px;display:grid}.school-setup-check-row{color:var(--app-text-secondary);align-items:center;gap:9px;font-size:12px;display:flex}.school-setup-check-row svg{color:var(--app-primary)}.school-setup-complete{border-top:1px solid var(--app-border);color:var(--app-primary);align-items:center;gap:6px;padding-top:9px;font-size:12px;font-weight:700;display:flex}.school-setup-step-links{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.school-setup-step-links .primary-button{justify-content:center;align-items:center;min-height:36px;display:inline-flex}.school-setup-step-links .text-button{align-items:center;gap:6px;display:inline-flex}.school-setup-modal-footer{border-top:1px solid var(--app-border);justify-content:space-between;gap:10px;margin-top:21px;padding-top:15px;display:flex}.school-setup-modal-footer button{align-items:center;gap:7px;display:inline-flex}.school-setup-loading{color:var(--app-text-secondary);align-items:center;gap:10px;padding:24px 0;font-size:13px;display:flex}@media(max-width:700px){.school-setup-bar{flex-direction:column;align-items:flex-start}.school-setup-bar-actions{width:100%;padding-bottom:2px;overflow-x:auto}.school-setup-bar-actions>button:not(.primary-button){white-space:nowrap}.school-setup-content{padding:14px 10px}.school-setup-modal{padding:20px}}.audit-log-panel{overflow:hidden}.audit-log-table{min-width:1050px}.audit-actor,.audit-entity{gap:3px;min-width:150px;display:grid}.audit-actor strong,.audit-entity strong{color:#26352a;font-size:13px}.audit-actor span,.audit-entity span,.audit-entity small{color:#7a867d;font-size:11px}.audit-action{color:#416b50;background:var(--app-accent-soft);text-transform:capitalize;border-radius:20px;padding:5px 8px;font-size:11px;font-weight:700;display:inline-flex}.audit-details{min-width:200px;max-width:480px}.audit-details summary{color:#397d58;cursor:pointer;font-size:12px;font-weight:650}.audit-json-grid{gap:8px;margin-top:8px;display:grid}.audit-json-grid>div{min-width:0}.audit-json-grid strong{color:#536157;text-transform:uppercase;font-size:11px}.audit-json-grid pre{max-height:240px;color:var(--app-text-primary);white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f7f5;border-radius:7px;margin-top:4px;padding:9px;font-size:11px;overflow:auto}.audit-details>small{color:#869087;overflow-wrap:anywhere;margin-top:7px;font-size:10px;display:block}.audit-date-filter{color:#707d74;gap:3px;font-size:11px;display:grid}.audit-date-filter input{min-width:140px}.report-designer-page{gap:1rem;display:grid}.report-designer-tabs{border-bottom:1px solid var(--app-border,#dfe5e0);gap:.5rem;display:flex}.report-designer-tabs button{color:var(--app-text-secondary,#59665e);border-bottom:2px solid #0000;padding:.7rem 1rem}.report-designer-tabs button.active{color:var(--app-primary,#216b49);border-color:var(--app-primary,#216b49);font-weight:700}.report-designer-grid{grid-template-columns:minmax(190px,.75fr) minmax(210px,.9fr) minmax(300px,1.3fr);align-items:start;gap:.85rem;display:grid}.report-designer-controls{gap:1rem;padding:1.25rem;display:grid}.report-designer-controls h2{margin:.25rem 0 0;font-size:1rem}.report-design-option{align-items:center;gap:.65rem;font-size:.9rem;display:flex}.report-design-option input{accent-color:var(--app-primary,#216b49);width:1rem;height:1rem}.report-design-preview{padding:1rem;overflow:auto}.report-design-preview-paper{color:#1c2821;background:#fff;min-width:0;padding:1.25rem;font-family:Arial,sans-serif;box-shadow:0 2px 12px #15251a1c}.report-design-preview-paper header{border-bottom:2px solid #216b49;grid-template-columns:minmax(42px,1fr) minmax(0,3fr) minmax(42px,1fr);align-items:center;gap:.6rem;padding-bottom:1rem;display:grid}.report-design-preview-logo-slot{justify-content:flex-start;align-items:center;min-height:48px;display:flex}.report-design-preview-logo-slot-right{justify-content:flex-end}.report-design-preview-logo-slot-right span{color:#8b968e;text-align:right;font-size:.65rem}.report-design-preview-identity{text-align:center;min-width:0}.report-design-preview-logo{color:#216b49;background:#eaf3ec;border-radius:50%;place-items:center;width:48px;height:48px;font-weight:800;display:grid}.report-design-preview-logo-image{object-fit:contain;width:48px;height:48px}.report-design-preview-paper header p,.report-design-preview-paper header span{color:#59665e;margin:.2rem 0;font-size:.75rem}.report-design-preview-paper h2{margin:.5rem 0 .1rem;font-size:1.2rem}.report-design-preview-student,.report-design-preview-summary,.report-design-preview-signatures{justify-content:space-between;gap:1rem;padding:1rem 0;font-size:.75rem;display:flex}.report-design-preview-paper table{border-collapse:collapse;width:100%;font-size:.7rem}.report-design-preview-paper th,.report-design-preview-paper td{text-align:left;border:1px solid #dfe5e0;padding:.55rem .35rem}.report-design-preview-summary{background:#f4f6f5}.report-design-preview-signatures{border-bottom:1px solid #dfe5e0;margin-top:1.5rem}.report-design-preview-paper footer{color:#59665e;margin-top:1rem;font-size:.7rem}@media(max-width:1100px){.report-designer-grid{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr)}.report-designer-preview-panel{grid-column:1/-1}}.report-layout-builder{border-top:1px solid var(--app-border);padding-top:1rem}.report-layout-builder>p{color:var(--app-text-secondary);margin:.25rem 0 .75rem;font-size:.8rem}.report-section-palette,.report-layout-canvas{gap:.5rem;display:grid}.report-section-chip,.report-layout-block{border:1px solid var(--app-border);background:var(--app-surface);border-radius:8px;align-items:center;gap:.55rem;padding:.65rem;display:flex}.report-section-chip{cursor:grab}.report-section-chip:active,.report-layout-block:active{cursor:grabbing}.report-section-chip>span,.report-layout-name{flex:1;gap:.15rem;display:grid}.report-section-chip b,.report-layout-name b{font-size:.8rem}.report-section-chip small,.report-layout-name small{color:var(--app-text-secondary);font-size:.7rem}.report-layout-block{background:#f8faf8}.report-layout-handle{color:#849087;display:flex}.report-layout-block button{width:29px;height:29px;color:var(--app-text-secondary);border-radius:6px;place-items:center;display:grid}.report-layout-block button:hover:not(:disabled){background:var(--app-accent-soft);color:var(--app-primary)}.report-layout-block button:disabled{opacity:.35}.report-layout-drop-target{min-height:42px;color:var(--app-text-secondary);border:1px dashed #aebbb1;border-radius:8px;place-items:center;font-size:.75rem;display:grid}.report-design-preview-section{margin-top:.8rem}.report-design-preview-header-sections,.report-card-header-sections{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:.75rem 0;display:grid}.report-design-preview-header-cell,.report-card-header-cell{border:1px solid #e1e7e2;border-radius:6px;align-content:start;gap:.22rem;min-width:0;padding:.55rem;display:grid}.report-design-preview-header-cell span,.report-card-header-cell>span{color:#617067;font-size:.63rem}.report-design-preview-header-cell b,.report-card-header-cell strong{overflow-wrap:anywhere;font-size:.69rem}.report-card-header-cell small{color:#59665e;overflow-wrap:anywhere;font-size:.63rem}.report-header-palette{gap:.45rem;display:grid}.report-header-chip-selected{background:#f4f9f4;border-color:#a8c4ad}.report-body-elements-heading{margin-top:.55rem}.report-header-builder{border-bottom:1px solid var(--app-border);gap:.55rem;padding-bottom:1rem;display:grid}.report-header-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.report-header-slot{background:var(--app-surface);text-align:left;border:1px dashed #b9c5bb;border-radius:8px;align-content:start;gap:.3rem;min-height:105px;padding:.65rem;display:grid}.report-header-slot>span{color:var(--app-text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.65rem}.report-header-slot>b{font-size:.75rem;line-height:1.35}.report-header-slot>small{color:var(--app-text-secondary);font-size:.63rem}.report-header-slot-active{border:1px solid var(--app-primary);background:var(--app-accent-soft);box-shadow:0 0 0 2px var(--app-primary)}@supports (color:color-mix(in lab,red,red)){.report-header-slot-active{box-shadow:0 0 0 2px color-mix(in srgb,var(--app-primary) 12%,transparent)}}.report-design-preview-section h3{text-transform:uppercase;color:#42684e;margin:0 0 .35rem;font-size:.75rem}.report-design-preview-grade-key{background:#f4f6f5;padding:.5rem;font-size:.65rem}.report-design-preview-writing{border-bottom:1px solid #dfe5e0;padding:.5rem 0;font-size:.7rem}.report-card-configurable-section{break-inside:avoid;margin-top:.45rem}.report-card-section-title{text-transform:uppercase;color:#285d3e;margin:.85rem 0 .4rem;font-size:.8rem;font-weight:750}.report-card-write-in{min-width:180px;height:30px}.report-card-promotion-writein{border-bottom:1px solid #87938a;min-height:25px;margin:.5rem 0;font-size:.8rem}.report-card-detail-print{white-space:pre-wrap;overflow-wrap:anywhere}.report-card-detail-input{border:1px solid var(--app-border);width:100%;min-width:0;color:var(--app-text-primary);background:var(--app-surface);border-radius:6px;padding:6px 8px;font-size:12px;display:block}.report-card-detail-input:focus{border-color:var(--app-secondary);outline:2px solid var(--app-secondary)}@supports (color:color-mix(in lab,red,red)){.report-card-detail-input:focus{outline:2px solid color-mix(in srgb,var(--app-secondary) 18%,transparent)}}.report-card-remarks-field{color:var(--app-text-secondary);gap:5px;margin-top:8px;font-size:12px;display:grid}.report-card-details-save{flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;display:flex}.report-card-details-save>span{color:var(--app-text-secondary);font-size:12px}.sidebar-collapse-toggle{margin-left:auto}.app-shell-sidebar-collapsed .sidebar{width:76px;padding:20px 9px 13px}.app-shell-sidebar-collapsed .main-area{margin-left:76px}.app-shell-sidebar-collapsed .sidebar-brand{justify-items:center;gap:6px;padding:0;display:grid}.app-shell-sidebar-collapsed .sidebar-brand .brand-copy,.app-shell-sidebar-collapsed .school-switcher>div:not(.school-avatar),.app-shell-sidebar-collapsed .sidebar .nav-caption,.app-shell-sidebar-collapsed .sidebar .nav-item span,.app-shell-sidebar-collapsed .sidebar-note,.app-shell-sidebar-collapsed .profile-row>div:not(.profile-avatar){display:none}.app-shell-sidebar-collapsed .sidebar .school-switcher{justify-content:center;margin:24px 0;padding:8px 4px}.app-shell-sidebar-collapsed .sidebar .nav-item{justify-content:center;padding:11px 0}.app-shell-sidebar-collapsed .sidebar .profile-row{flex-wrap:wrap;justify-content:center;gap:5px}.app-shell-sidebar-collapsed .sidebar .sidebar-bottom>.nav-item{font-size:0}.app-shell-sidebar-collapsed .sidebar .sidebar-collapse-toggle{margin:8px 0 0}.report-designer-controls,.report-designer-layout-panel,.report-designer-preview-panel{min-width:0;max-height:calc(100vh - 118px);overflow:auto}.report-designer-controls,.report-designer-layout-panel{position:sticky;top:88px}.report-designer-layout-panel{align-content:start;gap:1rem;padding:1rem;display:grid}.report-designer-layout-panel h2{font-size:1rem;font-weight:700}.report-designer-layout-panel>div:first-child p{color:var(--app-text-secondary);margin-top:.35rem;font-size:.75rem}.report-designer-preview-panel{padding:1rem}.report-elements-heading,.report-layout-heading,.report-live-preview-heading{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.report-elements-heading{margin-bottom:.25rem}.report-elements-heading h2,.report-layout-heading h2{margin:0;font-size:1rem;font-weight:750}.report-elements-heading p,.report-layout-heading p{color:var(--app-text-secondary);margin:.25rem 0 .5rem;font-size:.73rem}.report-elements-heading>span,.report-layout-heading>span,.report-live-preview-heading>span{color:var(--app-secondary);background:var(--app-accent-soft);border-radius:20px;flex:none;padding:4px 8px;font-size:.68rem;font-weight:700}.report-designer-options{gap:.5rem;display:grid}.report-designer-options h3{margin:0 0 .15rem;font-size:.82rem;font-weight:700}.report-settings-details{border-top:1px solid var(--app-border);padding-top:.8rem}.report-settings-details summary{color:var(--app-text-primary);cursor:pointer;align-items:center;gap:.5rem;font-size:.83rem;font-weight:700;list-style:none;display:flex}.report-settings-details summary::-webkit-details-marker{display:none}.report-settings-details summary:after{content:"+";color:var(--app-text-secondary);margin-left:auto;font-size:1.1rem}.report-settings-details[open] summary:after{content:"−"}.report-settings-fields{gap:.85rem;padding-top:.85rem;display:grid}.report-section-chip{border:1px solid var(--app-border);width:100%;min-height:58px;color:var(--app-text-primary);text-align:left;transition:border-color .15s,background .15s,transform .15s}.report-section-chip:hover{border-color:var(--app-primary);background:var(--app-accent-soft);transform:translateY(-1px)}.report-section-chip:focus-visible{outline:3px solid var(--app-primary)}@supports (color:color-mix(in lab,red,red)){.report-section-chip:focus-visible{outline:3px solid color-mix(in srgb,var(--app-primary) 35%,transparent)}}.report-elements-empty{border:1px dashed var(--app-border);color:var(--app-text-secondary);border-radius:8px;margin:0;padding:.8rem;font-size:.75rem}.report-layout-number{width:25px;height:25px;color:var(--app-secondary);background:var(--app-accent-soft);border-radius:50%;flex:none;place-items:center;font-size:.72rem;font-weight:750;display:grid}.report-layout-block{min-height:58px;transition:background .15s,border-color .15s,opacity .15s}.report-layout-block:hover{background:#f3f8f3;border-color:#a9c4ae}.report-layout-block-dragging{opacity:.42}.report-layout-empty{min-height:170px;color:var(--app-text-secondary);text-align:center;border:1px dashed #aebbb1;border-radius:10px;align-content:center;place-items:center;gap:.5rem;display:grid}.report-layout-empty b{color:var(--app-text-primary);font-size:.85rem}.report-layout-empty span{font-size:.75rem}.report-layout-drop-target{transition:background .15s,border-color .15s}.report-layout-drop-active{border-color:var(--app-primary);color:var(--app-primary);background:var(--app-accent-soft)}.report-live-preview-heading{align-items:center;margin-bottom:.75rem}.report-live-preview-heading .eyebrow{margin:0}.report-design-preview-paper table{table-layout:fixed;overflow-wrap:anywhere}.report-designer-save-area{align-items:center;gap:.75rem;display:flex}.report-dirty-indicator{color:#8a641f;font-size:.75rem;font-weight:650}@media(max-width:1100px){.report-designer-controls,.report-designer-layout-panel{max-height:none;position:static}.report-designer-preview-panel{max-height:none}}@media(max-width:760px){.sidebar-collapse-toggle{display:none}.app-shell-sidebar-collapsed .main-area{margin-left:0}.app-shell-sidebar-collapsed .sidebar{width:278px;padding:26px 18px 15px}.app-shell-sidebar-collapsed .sidebar-brand{justify-content:space-between;padding:0 6px;display:flex}.app-shell-sidebar-collapsed .sidebar-brand .brand-copy,.app-shell-sidebar-collapsed .school-switcher>div:not(.school-avatar),.app-shell-sidebar-collapsed .sidebar .nav-caption,.app-shell-sidebar-collapsed .sidebar .nav-item span,.app-shell-sidebar-collapsed .sidebar-note,.app-shell-sidebar-collapsed .profile-row>div:not(.profile-avatar){display:revert}.app-shell-sidebar-collapsed .sidebar .school-switcher{justify-content:flex-start;margin:31px 0 30px;padding:10px}.app-shell-sidebar-collapsed .sidebar .nav-item{justify-content:flex-start;padding:10px 11px}.app-shell-sidebar-collapsed .sidebar .profile-row{flex-wrap:nowrap;justify-content:flex-start}.report-designer-grid{grid-template-columns:1fr}.report-designer-preview-panel{grid-column:auto}}@media(max-width:500px){.report-header-slots,.report-design-preview-header-sections,.report-card-header-sections{grid-template-columns:1fr}.report-header-slot{min-height:82px}}.term-expiry-reminder{z-index:45;color:#4f472c;background:#fffdf5;border:1px solid #d6c88a;border-radius:12px;gap:9px;width:min(370px,100vw - 32px);padding:15px;animation:.18s ease-out assessment-popup-in;display:grid;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 36px #17251d30}.term-expiry-reminder-offset{bottom:190px}.term-expiry-reminder-heading{align-items:center;gap:9px;display:flex}.term-expiry-reminder-heading strong{font-size:13px}.term-expiry-reminder p{color:#736a4c;margin:0;font-size:12px;line-height:1.45}.term-expiry-reminder-warning{font-weight:650}.term-expiry-reminder .primary-button{justify-self:start;margin-top:3px}.term-expiry-reminder-urgent{color:#842f2a;background:#fff7f6;border-color:#e1aaa2}.term-expiry-reminder-urgent p{color:#873f39}@media(max-width:560px){.term-expiry-reminder{bottom:16px;right:16px}.term-expiry-reminder-offset{bottom:190px}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
