html,[data-generated-space-root]{height:100%;min-height:100%}[data-generated-space-root]{overflow:auto;position:fixed;scrollbar-width:none;inset:0}[data-generated-space-root]::-webkit-scrollbar{display:none}.hatch-space-root[data-hatch-space-root]{--hatch-space-bottom-padding:calc(var(--bottom-padding,0px) + env(safe-area-inset-bottom,0px));box-sizing:border-box;min-height:calc(100% + var(--header-height,0px) + var(--hatch-space-bottom-padding));min-height:calc(100dvh + var(--header-height,0px) + var(--hatch-space-bottom-padding));padding-top:var(--header-height,0px);padding-bottom:var(--hatch-space-bottom-padding);background:var(--bg,#f4f7fb);color:var(--text,#0f172a)}@media (prefers-color-scheme:dark){.hatch-space-root[data-hatch-space-root]{background:var(--bg,#0c111b);color:var(--text,#e5eef9)}}/*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::-webkit-file-upload-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{color:inherit;border-top-width:1px;height:0}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{position:relative;vertical-align:baseline;font-size:75%;line-height:0}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}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}::-webkit-file-upload-button{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:-webkit-any([multiple],[size])) optgroup{font-weight:bolder}:where(select:-moz-any([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:-webkit-any([multiple],[size])) optgroup option{padding-inline-start:20px}:where(select:-moz-any([multiple],[size])) optgroup option{padding-inline-start:20px}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::-webkit-file-upload-button{margin-inline-end:4px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports ( not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{text-align:inherit;min-height:1lh}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-year-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-month-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-day-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-hour-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-minute-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-second-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-millisecond-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-meridiem-field{padding-block-start:0;padding-block-end:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button{appearance:button}input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-file-upload-button{appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{position:absolute;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0}.fixed{position:fixed}.relative{position:relative}.static{position:static}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.safe{--twsa-safe-area-inset-top:env(safe-area-inset-top);--twsa-safe-area-inset-right:env(safe-area-inset-right);--twsa-safe-area-inset-bottom:env(safe-area-inset-bottom);--twsa-safe-area-inset-left:env(safe-area-inset-left)}}:root{--twsa-safe-area-inset-top:env(safe-area-inset-top);--twsa-safe-area-inset-right:env(safe-area-inset-right);--twsa-safe-area-inset-bottom:env(safe-area-inset-bottom);--twsa-safe-area-inset-left:env(safe-area-inset-left);--buncss-light:initial;--buncss-dark: ;--buncss-light:initial;--buncss-dark: ;color-scheme:light dark;--bg:#f5f8fa;--surface:#fff;--surface-2:#edf2f5;--text:#12304a;--dim:#526574;--border:#d9e2e8;--accent:#f2b544;--accent-ink:#5a3b00;--danger:#d95d4f;--blue:#1c628c;--chart-blue:#287aa5;--chart-green:#2d8464;--chart-amber:#d89a24;--chart-coral:#d95d4f;--radius:14px;--space-surface:var(--surface);--space-surface-alt:var(--surface-2);--space-muted:var(--dim);--space-border:var(--border);--space-accent:var(--blue)}@media (prefers-color-scheme:dark){:root{--buncss-light: ;--buncss-dark:initial;--buncss-light: ;--buncss-dark:initial;--bg:#0d1b25;--surface:#142837;--surface-2:#1b3445;--text:#f2f6f8;--dim:#adc0cc;--border:#2b485b;--accent:#f2b544;--accent-ink:#291c02;--danger:#f07b6e;--blue:#6fb5dc;--chart-blue:#6fb5dc;--chart-green:#68bf98;--chart-amber:#f2b544;--chart-coral:#f07b6e}}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--text);margin:0;font-family:"Source Sans 3",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}button,input,select,textarea{font:inherit}button{color:inherit}.request-error-notice{position:fixed;z-index:1000;right:14px;bottom:calc(86px + env(safe-area-inset-bottom));display:flex;border:1px solid color-mix(in srgb,var(--danger)55%,var(--border));background:var(--surface);color:var(--text);border-radius:10px;justify-content:space-between;align-items: center;gap:12px;max-width:520px;margin-left:auto;padding:12px 14px;font-size:14px;font-weight:700;left:14px;box-shadow:0 14px 36px #07131d35}.request-error-notice button{background:var(--surface-2);color:var(--text);cursor:pointer;border:0;border-radius:8px;flex:0 0 36px;width:36px;height:36px;font-size:22px;line-height:1}.app-shell{min-height:100vh}main{padding:calc(env(safe-area-inset-top) + 22px)18px calc(142px + env(safe-area-inset-bottom));width:100%;max-width:1080px;margin:0 auto}.content-head{display:flex;justify-content:space-between;align-items: flex-start;gap:16px;margin-bottom:22px}.content-head h1{letter-spacing:-.035em;margin:2px 0 0;font-family:Aptos Display,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(27px,7vw,42px);line-height:1.05}.date-line,.section-note{color:var(--blue);margin:0;font-size:13px;font-weight:760}.intro{color:var(--dim);max-width:560px;margin:9px 0 0;font-size:14px;line-height:1.45}.head-actions{display:flex;flex-direction:column;align-items: flex-end;gap:8px}.locale-picker{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:100%}.locale-picker label{display:block}.locale-picker select{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;width:auto;max-width:170px;height:36px;padding:0 28px 0 9px;font-size:12px;font-weight:700}.locale-picker.compact{display:block;margin:auto 8px 0}.locale-picker.compact select{background:0 0;width:100%;max-width:none}.portal-toolbar{display:flex;justify-content:space-between;align-items: center;gap:14px;margin-bottom:12px}.portal-toolbar .back-link{margin:0}html[dir=rtl] body,html[dir=rtl] .priority-details button,html[dir=rtl] .summary-strip button,html[dir=rtl] .statistics-kpis button,html[dir=rtl] .quick-grid>button,html[dir=rtl] .quick-grid>.quick-stat,html[dir=rtl] .mobile-grouped-navigation button,html[dir=rtl] .school-switcher button,html[dir=rtl] .teacher-actions>button,html[dir=rtl] .report-student-list button,html[dir=rtl] .sidebar nav button{text-align:right}html[dir=rtl] .summary-strip button+button,html[dir=rtl] .priority-details button+button{border-left:0;border-right:1px solid var(--border)}html[dir=rtl] .priority-details b{margin-left:6px;margin-right:0}html[dir=rtl] .sidebar{border-right:0;border-left:1px solid var(--border)}html[dir=rtl] .search-box svg{left:auto;right:11px}html[dir=rtl] .student-steps li:not(:last-child):after{left:auto;right:16px}html[dir=rtl] .quick-grid>button>svg{left:10px;right:auto}html[dir=rtl] .exam-grade-list{padding-left:4px;padding-right:0}html[dir=rtl] .input-with-unit input{padding-left:54px;padding-right:11px}html[dir=rtl] .locale-picker select{padding:0 9px 0 28px}html[dir=rtl] .chart-frame,html[dir=rtl] .recharts-wrapper{direction:ltr}html[dir=rtl] .chart-summary,html[dir=rtl] .chart-heading{direction:rtl}.priority-panel{display:grid;grid-template-columns:112px 1fr;overflow:hidden;background:var(--text);color:var(--bg);border-radius:20px 20px 6px;box-shadow:0 12px 28px #12304a20}.priority-copy{display:flex;background:var(--accent);color:var(--accent-ink);flex-direction:column;justify-content:space-between;min-height:150px;padding:18px}.priority-copy p{margin:0;font-size:12px;font-weight:750}.priority-copy strong{font:750 54px/1 Aptos Display,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue}.priority-details{padding:9px 10px}.priority-details button{display:grid;grid-template-columns:1fr auto auto;border:0;border-bottom:1px solid color-mix(in srgb,var(--bg)20%,transparent);color:inherit;text-align:left;cursor:pointer;background:0 0;align-items: center;width:100%;min-height:63px;padding:0 8px 0 10px}.priority-details button:last-child{border-bottom:0}.priority-details span{opacity:.82;font-size:13px}.priority-details b{margin-right:6px;font-size:20px}.summary-strip{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--border);gap:1px;margin:16px 0 28px}.summary-strip button{display:flex;text-align:left;cursor:pointer;background:0 0;border:0;align-items: center;gap:11px;min-height:74px;padding:8px 14px}.summary-strip button+button{border-left:1px solid var(--border)}.summary-strip .metric-number{color:var(--blue);font:730 30px/1 Aptos Display,ui-sans-serif}.summary-strip button span:last-child{color:var(--dim);font-size:12px;line-height:1.2}.statistics-dashboard{margin-bottom:34px}.statistics-toolbar{display:flex;border-bottom:1px solid var(--border);justify-content:space-between;align-items: flex-end;gap:20px;margin-bottom:16px;padding-bottom:14px}.statistics-toolbar>div:first-child{min-width:180px}.statistics-toolbar>div:first-child p:last-child{color:var(--dim);max-width:430px;margin:4px 0 0;font-size:12px;line-height:1.4}.statistics-filters{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items: flex-end;gap:8px}.statistics-filters label{display:grid;color:var(--dim);gap:4px;font-size:10px;font-weight:760}.statistics-filters select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;min-width:150px;height:40px;padding:0 30px 0 10px}.statistics-filters .export-button{min-height:40px;padding:7px 11px;font-size:11px}.statistics-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid var(--border);background:var(--border);border-radius:8px 18px 8px 8px;gap:1px;margin-bottom:12px}.statistics-kpis button{display:grid;background:var(--surface);color:var(--text);text-align:left;cursor:pointer;border:0;gap:6px;min-width:0;padding:16px}.statistics-kpis button:hover{background:var(--surface-2)}.statistics-kpis span{color:var(--dim);font-size:10px;font-weight:760}.statistics-kpis strong{color:var(--blue);font:760 clamp(22px,3vw,30px)/1 Aptos Display,ui-sans-serif}.statistics-kpis small{overflow:hidden;color:var(--dim);text-overflow:ellipsis;white-space:nowrap;font-size:10px}.statistics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items: start;gap:12px}.chart-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px 18px 8px 8px;min-width:0;padding:17px}.chart-panel-wide{grid-column:1/-1}.chart-heading{display:flex;justify-content:space-between;align-items: flex-start;gap:12px;min-height:45px;margin-bottom:8px}.chart-heading h2{margin:0;font:730 17px/1.2 Aptos Display,ui-sans-serif}.chart-heading p{color:var(--dim);margin:4px 0 0;font-size:10px}.chart-heading>strong{color:var(--blue);flex:none;font:760 18px/1.2 Aptos Display,ui-sans-serif}.chart-frame{width:100%;height:250px;min-height:220px}.chart-frame.dynamic{min-height:220px}.chart-empty{display:grid;color:var(--dim);text-align:center;place-items: center;min-height:220px;padding:24px;font-size:12px}.chart-summary{display:flex;border-top:1px solid var(--border);flex-wrap:wrap;gap:8px 16px;padding-top:10px}.chart-summary span{display:inline-flex;color:var(--dim);align-items: center;gap:6px;font-size:10px}.chart-summary i{border-radius:50%;width:8px;height:8px}.chart-summary b{color:var(--text)}.statistics-coverage{color:var(--dim);margin:12px 2px 0;font-size:10px}.statistics-coverage strong{color:var(--text)}.home-priority{margin-top:34px}.section-heading{display:flex;justify-content:space-between;align-items: center;margin:0 0 12px}.section-heading h2{margin:0;font:720 19px/1.2 Aptos Display,ui-sans-serif}.section-heading button{color:var(--blue);cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:700}.quick-section{margin-bottom:30px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.quick-grid>button,.quick-grid>.quick-stat{position:relative;display:flex;border:1px solid var(--border);background:var(--surface);text-align:left;border-radius:8px 16px 8px 8px;flex-direction:column;align-items: flex-start;gap:12px;min-width:0;min-height:104px;padding:13px;box-shadow:0 4px 12px #12304a0a}.quick-grid>button{cursor:pointer}.quick-grid>button>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;max-width:100%;font-size:12px;font-weight:740}.quick-grid>button>svg{position:absolute;color:var(--dim);top:12px;right:10px}.quick-icon,.record-icon{display:grid;border-radius:11px 5px 11px 11px;place-items: center;width:34px;height:34px}.kind-student{color:#1c628c;background:#dceef8}.kind-payment{color:#7b5400;background:#fff0c8}.kind-grade{color:#55518d;background:#e5e3f6}.kind-attendance{color:#a13c31;background:#ffe2dd}.kind-discipline{color:#8f3d31;background:#f7e0d9}.kind-schedule{color:#21626c;background:#d9ecef}.kind-event{color:#267258;background:#dcf1e9}.kind-message{color:#526574;background:#e7ebee}.records-section{margin-top:6px}.records-list{overflow:hidden;border-top:1px solid var(--border)}.record-row{display:grid;grid-template-columns:40px minmax(0,1fr);border-bottom:1px solid var(--border);gap:12px;padding:17px 4px}.record-row:has(>.record-main:first-child){grid-template-columns:minmax(0,1fr)auto}@supports  not selector(:has(*)){.record-row>.record-main:first-child{grid-column:1/-1}}.record-icon{width:38px;height:38px}.record-main{min-width:0}.record-top{display:flex;justify-content:space-between;align-items: flex-start;gap:10px}.record-top strong{min-width:0;font-size:14px;line-height:1.25}.record-main p{color:var(--dim);margin:4px 0 0;font-size:12px}.record-meta{display:flex;color:var(--dim);gap:10px;margin-top:6px;font-size:12px}.record-meta .amount{color:var(--text);font-weight:760}.status{background:var(--surface-2);color:var(--dim);border-radius:999px;flex:none;padding:3px 7px;font-size:10px;font-weight:740}.status-overdue,.status-open,.status-suspended{color:#9b342a;background:#ffe2dd}.status-active,.status-paid,.status-resolved,.status-sent{color:#256b51;background:#dff2e9}.status-scheduled,.status-recorded{color:#1c628c;background:#dceef8}.row-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.row-actions button{display:inline-flex;border:1px solid var(--border);background:var(--surface);color:var(--blue);cursor:pointer;border-radius:8px;align-items: center;gap:5px;min-height:34px;padding:6px 10px;font-size:11px;font-weight:760}.row-actions .danger-text{color:var(--danger)}.module-toolbar{display:flex;justify-content:space-between;align-items: center;margin:12px 0 14px}.module-toolbar p{color:var(--dim);font-size:13px}.primary,.secondary{cursor:pointer;border-radius:10px;min-height:44px;padding:10px 16px;font-weight:760}.primary{background:var(--text);color:var(--bg);border:0}.secondary{border:1px solid var(--border);background:var(--surface);color:var(--text)}.primary:disabled{opacity:.5;cursor:default}.add-button{display:inline-flex;align-items: center;gap:7px}.state{color:var(--dim);text-align:center;padding:44px 12px}.state.error{color:var(--danger)}.sidebar{display:none}.bottom-nav{position:fixed;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);padding:5px 7px calc(5px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface)94%,transparent);backdrop-filter:blur(12px);bottom:0;left:0;right:0}.bottom-nav button{display:flex;color:var(--dim);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items: center;gap:2px;min-width:0;min-height:48px}.bottom-nav button span{overflow:hidden;text-overflow:ellipsis;max-width:100%;font-size:9px}.bottom-nav button.active{color:var(--blue)}.bottom-nav button.active svg{stroke-width:2.5}.nav-icon-wrap{position:relative;display:inline-grid;place-items: center}.mobile-nav-backdrop{position:fixed;z-index:35;display:flex;background:#07131d99;align-items: flex-end;inset:0}.mobile-nav-sheet{overflow:hidden;padding:18px 18px calc(18px + env(safe-area-inset-bottom));background:var(--surface);border-radius:20px 20px 0 0;width:100%;max-height:min(82dvh,760px);box-shadow:0 -18px 50px #07131d40}.mobile-nav-sheet>header{display:flex;border-bottom:1px solid var(--border);justify-content:space-between;align-items: flex-start;gap:16px;padding-bottom:14px}.mobile-nav-sheet>header h2{margin:3px 0 0;font:750 25px/1.1 Aptos Display,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue}.mobile-grouped-navigation{overflow-y:auto;overscroll-behavior:contain;max-height:calc(min(82dvh,760px) - 96px);padding:8px 2px 20px}.mobile-grouped-navigation .nav-section{border-bottom:1px solid var(--border);padding:12px 0}.mobile-grouped-navigation .nav-section:last-child{border-bottom:0}.mobile-grouped-navigation h3{color:var(--dim);letter-spacing:.035em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:780}.mobile-grouped-navigation .nav-section>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.mobile-grouped-navigation button{position:relative;display:flex;border:1px solid var(--border);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;border-radius:9px;align-items: center;gap:10px;min-width:0;min-height:48px;padding:8px 10px}.mobile-grouped-navigation button.active{border-color:color-mix(in srgb,var(--blue)48%,var(--border));background:var(--surface-2);color:var(--blue);font-weight:760}.mobile-grouped-navigation button>span:last-child{overflow:hidden;text-overflow:ellipsis;min-width:0;font-size:12px}.mobile-grouped-navigation .nav-badge{position:absolute;top:-9px;right:-9px}.modal-backdrop{position:fixed;z-index:40;display:flex;background:#07131db3;justify-content:center;align-items: flex-end;padding:12px;inset:0}.modal{overflow-y:auto;padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom));background:var(--surface);border-radius:20px 20px 10px 10px;width:min(100%,640px);max-height:calc(100dvh - 24px);box-shadow:0 30px 70px #0007}.modal-head{display:flex;justify-content:space-between;align-items: flex-start;margin-bottom:20px}.modal-head h2{margin:3px 0 0;font:740 25px/1.15 Aptos Display,ui-sans-serif}.icon-btn{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:50%;width:36px;height:36px;font-size:24px;line-height:1}.modal form{display:grid;gap:15px}.modal fieldset{display:grid;border:0;border-bottom:1px solid var(--border);gap:13px;min-width:0;margin:0;padding:0 0 16px}.modal fieldset:last-of-type{border-bottom:0;padding-bottom:0}.modal legend{color:var(--text);margin-bottom:12px;font:740 15px/1.2 Aptos Display,ui-sans-serif}.form-grid{display:grid;gap:13px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.modal label{display:grid;color:var(--dim);gap:6px;font-size:12px;font-weight:720}.modal input,.modal select,.modal textarea{border:1px solid var(--border);outline:none;background:var(--bg);color:var(--text);border-radius:9px;width:100%;height:46px;padding:0 12px}.modal textarea{resize:vertical;min-height:94px;padding-block-start:10px;padding-block-end:10px}.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue)16%,transparent)}.modal-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:9px;margin-top:5px}.legal-banner{display:flex;border:1px solid color-mix(in srgb,var(--danger)48%,var(--border));background:color-mix(in srgb,var(--danger)10%,var(--surface));color:var(--text);border-radius:8px;align-items: flex-start;gap:10px;margin:0 0 18px;padding:12px 14px}.legal-banner svg{color:var(--danger);flex:none;margin-top:1px}.legal-banner p{margin:0;font-size:12px;font-weight:680;line-height:1.4}.persistent-warning{margin-bottom:14px}.workspace-bar{display:flex;border-bottom:1px solid var(--border);justify-content:space-between;align-items: flex-end;gap:10px;margin-bottom:22px;padding-bottom:14px}.workspace-bar label{display:grid;color:var(--dim);gap:4px;min-width:0;font-size:10px;font-weight:760}.workspace-bar select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;width:min(48vw,260px);height:38px;padding:0 30px 0 9px;font-weight:720}.workspace-bar>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.compact-button{min-height:38px;padding:7px 10px;font-size:11px}.student-entry-button{display:inline-flex;justify-content:center;align-items: center;gap:6px}.school-context{display:flex;border-bottom:1px solid var(--border);justify-content:space-between;align-items: center;gap:10px;margin:-9px 0 18px;padding:10px 0}.school-context>div{display:flex;align-items:baseline;gap:8px;min-width:0}.school-context strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px}.school-context span:not(.status){color:var(--dim);font:700 10px/1 ui-monospace,monospace}.school-logo{display:block;border:1px solid var(--border);object-fit:contain;background:#fff;border-radius:10px;flex:none;width:46px;height:46px;padding:4px}.school-logo-fallback{display:grid;color:var(--blue);background:var(--surface-2);place-items: center}.school-logo-large{border-radius:14px;width:92px;height:92px}.school-context .school-logo{width:36px;height:36px}.school-logo-editor{display:flex;border:1px solid var(--border);background:var(--surface);border-radius:8px 18px 8px 8px;align-items: center;gap:16px;margin-bottom:18px;padding:16px}.subscription-gate,.empty-onboarding{display:flex;text-align:center;flex-direction:column;justify-content:center;align-items: center;min-height:420px;padding:36px 18px}.subscription-gate h2,.empty-onboarding h1{margin:7px 0 8px;font:750 28px/1.1 Aptos Display,ui-sans-serif}.subscription-gate>p:not(.section-note),.empty-onboarding p{color:var(--dim);max-width:480px;margin:0 0 20px;line-height:1.5}.subscription-gate>strong{margin-bottom:18px;font:760 23px/1.1 Aptos Display,ui-sans-serif}.subscription-gate small{color:var(--dim);max-width:420px;margin-top:12px;font-size:10px}.gate-icon,.onboarding-icon{display:grid;background:var(--accent);color:var(--accent-ink);border-radius:18px 6px 18px 18px;place-items: center;width:58px;height:58px;margin-bottom:14px}.subscription-panel{display:flex;background:var(--text);color:var(--bg);border-radius:8px 18px 8px 8px;justify-content:space-between;align-items: center;gap:18px;margin-bottom:30px;padding:20px}.subscription-panel h2{margin:4px 0;font:730 22px/1.15 Aptos Display,ui-sans-serif}.subscription-panel p{opacity:.72;margin:0;font-size:12px}.subscription-panel>strong{text-align:right;flex:none;font:750 23px/1 Aptos Display,ui-sans-serif}.subscription-panel>strong span{display:block;opacity:.72;margin-top:4px;font:600 10px/1 ui-sans-serif}.account-heading{align-items: flex-end}.account-heading>div p{color:var(--dim);margin:4px 0 0;font-size:12px}.student-grid{display:grid;gap:9px}.student-card{display:grid;grid-template-columns:42px minmax(0,1fr);border-top:1px solid var(--border);gap:12px;padding:15px 4px}.student-avatar{display:grid;color:#1c628c;background:#dceef8;border-radius:13px 5px 13px 13px;place-items: center;width:42px;height:42px;font-weight:800}.student-card-body{min-width:0}.student-card.is-suspended{opacity:.78}.student-card-heading{display:flex;justify-content:space-between;align-items: center;gap:10px}.student-card strong{font-size:14px}.student-card p{color:var(--dim);margin:3px 0 8px;font-size:12px}.student-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:12px 0}.student-details div{min-width:0}.student-details dt{color:var(--dim);margin-bottom:2px;font-size:9px;font-weight:750}.student-details dd{overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.35}.student-account-actions{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 10px}.student-action{display:inline-flex;border:1px solid var(--border);background:var(--surface);color:var(--blue);cursor:pointer;border-radius:8px;align-items: center;gap:6px;min-height:34px;padding:6px 10px;font-size:11px;font-weight:760}.student-action:disabled{opacity:.5;cursor:default}.danger-text{color:var(--danger)}.danger-button{background:var(--danger);color:#fff;cursor:pointer;border:0;border-radius:10px;min-height:44px;padding:10px 16px;font-weight:760}.danger-button:disabled{opacity:.5;cursor:default}.delete-copy{color:var(--dim);margin:0 0 18px;font-size:14px;line-height:1.5}.code-button{display:flex;border:1px solid var(--border);background:var(--surface-2);color:var(--blue);cursor:pointer;border-radius:7px;align-items: center;gap:7px;max-width:100%;padding:6px 8px}.code-button code{overflow:hidden;color:var(--text);text-overflow:ellipsis;font-size:11px;font-weight:760}.code-button span{font-size:10px;font-weight:730}.student-card .code-delivery-note,.teacher-account-row .code-delivery-note{color:var(--dim);max-width:520px;margin:8px 0 0;font-size:11px;line-height:1.4}.teacher-account-heading{border-top:1px solid var(--border);margin-top:34px;padding-top:24px}.teacher-account-list,.parent-account-list{border-top:1px solid var(--border)}.teacher-account-row,.parent-account-row{display:grid;grid-template-columns:42px minmax(0,1fr)auto;border-bottom:1px solid var(--border);align-items: start;gap:12px;padding:15px 4px}.parent-account-row.is-suspended{opacity:.76}.parent-badge{display:grid;color:#267258;background:#dcf1e9;border-radius:13px 5px 13px 13px;place-items: center;width:42px;height:42px}.parent-account-info{min-width:0}.parent-account-info>p{color:var(--dim);margin:3px 0 10px;font-size:12px}.student-check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.student-check{grid-template-columns:auto 1fr;border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:8px;align-items: center;min-height:48px;padding:8px 10px;display:flex!important;gap:10px!important}.student-check input{flex:none;width:18px!important;height:18px!important}.student-check span{display:grid;min-width:0}.student-check strong{overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px}.student-check small{color:var(--dim);font-size:10px}.parent-readonly{display:flex;color:var(--dim);align-items: center;gap:7px;margin:-8px 0 24px;font-size:11px}.parent-schools{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:10px 18px 10px 10px;margin:0 0 28px;padding:16px}.parent-schools .section-heading{margin-bottom:12px}.parent-schools .section-heading p{color:var(--dim);margin:3px 0 0;font-size:11px}.school-select-label{display:grid;color:var(--dim);gap:6px;font-size:11px;font-weight:730}.school-select-label select{border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;border-radius:8px;width:100%;min-height:46px;padding:0 12px;font-size:13px}.school-switcher{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.school-switcher button{display:flex;border:1px solid var(--border);background:var(--bg);color:var(--text);text-align:left;cursor:pointer;border-radius:8px;justify-content:space-between;align-items: center;gap:10px;min-width:0;padding:11px 12px}.school-switcher button.active{border-color:var(--blue);background:color-mix(in srgb,var(--blue)8%,var(--surface))}.school-switcher button>span:first-child{display:grid;min-width:0}.school-switcher strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.school-switcher small{color:var(--dim);font-size:10px}.school-alert-count,.child-alert-count{display:inline-grid;background:var(--danger);color:#fff;border-radius:999px;place-items: center;min-width:24px;height:24px;padding:0 6px;font-size:11px;font-weight:800}.parent-children{margin-bottom:24px}.child-switcher{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.child-switcher button{display:grid;grid-template-columns:42px minmax(0,1fr)auto;border:1px solid var(--border);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;border-radius:8px 14px 8px 8px;align-items: center;gap:10px;min-width:0;padding:10px}.child-switcher button.active{border-color:var(--blue);background:color-mix(in srgb,var(--blue)8%,var(--surface))}.child-switcher button>span:not(.child-alert-count){display:grid;min-width:0}.child-switcher strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.child-switcher small{color:var(--dim);font-size:10px}.teacher-account-row{display:grid;grid-template-columns:42px minmax(0,1fr)auto;border-bottom:1px solid var(--border);align-items: start;gap:12px;padding:15px 4px}.teacher-account-row.is-suspended{opacity:.76}.teacher-badge{display:grid;color:#7b5400;background:#fff0c8;border-radius:13px 5px 13px 13px;place-items: center;width:42px;height:42px}.teacher-account-info{min-width:0}.teacher-account-info>p{color:var(--dim);margin:3px 0 10px;font-size:12px}.teacher-account-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-self: center;gap:7px;max-width:190px}.modal-copy{color:var(--dim);margin:-8px 0 18px;font-size:13px}.form-error{color:var(--danger);margin:-4px 0 0;font-size:12px}.portal-main{max-width:780px}.back-link{display:inline-flex;color:var(--blue);cursor:pointer;background:0 0;border:0;align-items: center;gap:6px;margin-bottom:28px;padding:0;font-size:12px;font-weight:740}.portal-head{display:flex;justify-content:space-between;align-items: flex-start;gap:14px;margin-bottom:24px}.portal-head h1{letter-spacing:-.035em;margin:3px 0 0;font:750 clamp(28px,7vw,42px)/1.05 Aptos Display,ui-sans-serif}.profile-avatar{display:grid;overflow:hidden;color:#1c628c;background:#dceef8;flex:none;place-items: center;font-weight:800}.profile-avatar img{object-fit:cover;width:100%;height:100%}.profile-photo-editor{display:flex;border:1px solid var(--border);background:var(--surface);border-radius:8px 18px 8px 8px;align-items: center;gap:16px;margin:-6px 0 24px;padding:16px}.profile-avatar-large{border-radius:24px 8px 24px 24px;width:88px;height:88px;font:800 30px/1 Aptos Display,ui-sans-serif}.profile-photo-copy{display:grid;gap:5px;min-width:0}.profile-photo-copy>strong{font-size:14px}.profile-photo-copy>small{color:var(--dim);font-size:10px}.profile-photo-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:5px}.photo-button,.photo-remove{display:inline-flex;border:1px solid var(--border);background:var(--surface);color:var(--blue);cursor:pointer;border-radius:8px;justify-content:center;align-items: center;gap:7px;min-height:38px;padding:8px 11px;font-size:11px;font-weight:760}.photo-button{background:var(--text);color:var(--bg)}.photo-button input{position:absolute;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px}.photo-button.is-disabled,.photo-remove:disabled{opacity:.5;cursor:default}.photo-remove{color:var(--danger)}.identity-ticket{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:var(--border);border-radius:8px 18px 8px 8px;gap:1px;margin-bottom:30px}.identity-ticket>div{display:grid;background:var(--surface);gap:7px;padding:18px}.identity-ticket span{color:var(--dim);font-size:10px;font-weight:740}.identity-ticket strong{font:760 13px/1.2 ui-monospace,monospace}.student-entry-main{max-width:940px;min-height:100vh}.entry-top{display:flex;justify-content:space-between;align-items: center;gap:16px;margin-bottom:18px}.entry-top .back-link{margin:0}.entry-layout{display:grid;gap:30px;padding:20px 0 36px}.entry-intro h1{letter-spacing:-.045em;max-width:600px;margin:7px 0 14px;font:750 clamp(34px,9vw,56px)/.98 Aptos Display,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue}.entry-intro>p:not(.section-note){color:var(--dim);max-width:590px;margin:0;font-size:15px;line-height:1.55}.student-steps{display:grid;list-style:none;counter-reset:none;gap:0;margin:26px 0 0;padding:0}.student-steps li{position:relative;display:grid;grid-template-columns:34px 1fr;color:var(--text);align-items: center;gap:12px;min-height:54px;font-size:14px;font-weight:700}.student-steps li:not(:last-child):after{position:absolute;background:var(--border);content:"";width:1px;top:42px;bottom:-12px;left:16px}.student-steps span{display:grid;background:var(--surface-2);color:var(--blue);border-radius:11px 4px 11px 11px;place-items: center;width:34px;height:34px;font-size:12px;font-weight:820}.student-login-card{display:grid;border:1px solid var(--border);background:var(--surface);border-radius:10px 24px 10px 10px;align-self: start;gap:14px;padding:22px;box-shadow:0 12px 32px #12304a12}.login-icon{display:grid;background:var(--accent);color:var(--accent-ink);border-radius:15px 6px 15px 15px;place-items: center;width:48px;height:48px}.student-login-card h2{margin:0;font:740 23px/1.15 Aptos Display,ui-sans-serif}.student-login-card>p{color:var(--dim);margin:-5px 0 3px;font-size:13px;line-height:1.45}.student-login-card label{display:grid;color:var(--dim);gap:7px;font-size:12px;font-weight:740}.student-login-card input{border:1px solid var(--border);outline:none;background:var(--bg);color:var(--text);text-transform:uppercase;border-radius:9px;width:100%;height:50px;padding:0 13px;font:730 14px/1 ui-monospace,monospace}.student-login-card input:focus{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue)16%,transparent)}.student-login-card .primary{width:100%}.student-login-card small{display:flex;color:var(--dim);justify-content:center;align-items: center;gap:6px;font-size:10px}.teacher-portal-main{max-width:920px}.teacher-overview{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border:1px solid var(--border);background:var(--border);border-radius:8px 18px 8px 8px;gap:1px;margin:0 0 16px}.teacher-overview>div{display:grid;background:var(--surface);gap:7px;padding:17px}.teacher-overview span{color:var(--dim);font-size:10px;font-weight:740}.teacher-overview strong{font:750 18px/1.15 Aptos Display,ui-sans-serif}.teacher-notes{margin:26px 0 30px}.teacher-note-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.teacher-note{display:flex;border:1px solid var(--border);background:var(--surface);border-radius:8px 18px 8px 8px;flex-direction:column;justify-content:space-between;gap:14px;min-width:0;padding:16px}.teacher-note-copy{min-width:0}.teacher-note-copy strong{display:block;overflow-wrap:anywhere;margin-bottom:7px;font:740 16px/1.25 Aptos Display,ui-sans-serif}.teacher-note-copy p{display:-webkit-box;overflow:hidden;color:var(--dim);white-space:pre-wrap;overflow-wrap:anywhere;-webkit-line-clamp:5;-webkit-box-orient:vertical;margin:0 0 12px;font-size:13px;line-height:1.5}.teacher-note-copy small{color:var(--dim);font-size:10px}.teacher-note .row-actions{border-top:1px solid var(--border);margin-top:0;padding-top:11px}.teacher-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:30px}.teacher-actions>button{display:flex;border:1px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;border-radius:8px 14px 8px 8px;align-items: center;gap:10px;min-width:0;min-height:58px;padding:10px 12px}.teacher-actions b{font-size:12px;line-height:1.2}.teacher-roster{margin-bottom:30px}.section-heading>span{color:var(--dim);font-size:12px;font-weight:740}.roster-list{border-top:1px solid var(--border)}.roster-row{display:grid;grid-template-columns:42px minmax(0,1fr)auto;border-bottom:1px solid var(--border);align-items: center;gap:12px;padding:12px 4px}.roster-row>div:nth-child(2){min-width:0}.roster-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.roster-row p{color:var(--dim);margin:3px 0 0;font-size:11px}.roster-actions{display:flex;gap:5px}.roster-actions button{display:grid;border:1px solid var(--border);background:var(--surface);color:var(--blue);cursor:pointer;border-radius:8px;place-items: center;width:36px;height:36px}.compact-state{padding-block-start:24px;padding-block-end:24px}.record-main .record-owner{color:var(--blue);margin:0 0 3px;font-size:10px;font-weight:760}.teacher-record-note{color:var(--dim);max-width:560px;margin:5px 0 0;font-size:11px;line-height:1.4}.grade-line{display:flex;align-items:baseline;gap:8px;margin-top:7px}.grade-line strong{color:var(--text);font:760 18px/1 Aptos Display,ui-sans-serif}.grade-line span{color:var(--blue);font-size:11px;font-weight:780}.grade-numbers{grid-template-columns:1fr 1fr .8fr}.grade-dashboard{border:1px solid var(--border);background:var(--surface);border-radius:8px 18px 8px 8px;margin:4px 0 30px;padding:18px}.grade-dashboard-copy{color:var(--dim);margin:-4px 0 14px;font-size:12px}.report-student-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 18px}.report-student-list button{display:flex;border:0;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items: center;gap:10px;min-width:0;padding:13px 4px}.report-student-list button>span:first-child{display:grid;gap:2px;min-width:0}.report-student-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.report-student-list small{color:var(--dim);font-size:10px}.student-average{display:flex;color:var(--blue);flex:none;align-items: center;gap:5px;font-size:13px;font-weight:780}.grade-list-heading{margin-top:4px}.report-card-panel{display:grid;gap:18px}.report-card-head{display:flex;border-bottom:2px solid var(--text);justify-content:space-between;align-items: flex-start;gap:18px;padding-bottom:16px}.report-card-head h2{margin:3px 0;font:760 28px/1 Aptos Display,ui-sans-serif}.report-card-head p:not(.section-note){color:var(--dim);margin:0;font-size:12px}.report-school-identity{display:flex;align-items: center;gap:12px;min-width:0}.average-seal{display:grid;background:var(--text);color:var(--bg);text-align:right;border-radius:8px 14px 8px 8px;flex:none;gap:3px;min-width:112px;padding:11px 13px}.average-seal span{font-size:9px;font-weight:760}.average-seal strong{font:780 23px/1 Aptos Display,ui-sans-serif}.average-seal small{color:var(--accent);font-size:10px;font-weight:760}.average-seal em{border-top:1px solid color-mix(in srgb,var(--bg)25%,transparent);margin-top:3px;padding-top:5px;font-size:11px;font-style:normal;font-weight:700}.mention-scale-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px 18px 8px 8px;margin:4px 0 18px;padding:18px}.mention-scale-panel .section-heading{margin-bottom:14px}.mention-scale-panel .section-heading p{color:var(--dim);max-width:680px;margin:4px 0 0;font-size:12px}.mention-scale-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}.mention-scale-grid label{display:grid;color:var(--dim);gap:6px;font-size:11px;font-weight:700}.threshold-input{display:flex;align-items: center;gap:6px}.threshold-input input{width:100%;min-width:0}.threshold-input b{color:var(--text)}@media (max-width:760px){.mention-scale-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.report-filter{display:flex;justify-content:space-between;align-items: end;gap:16px}.report-filter label{display:grid;color:var(--dim);gap:5px;font-size:10px;font-weight:760}.report-filter select{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;min-width:170px;height:40px;padding:0 30px 0 10px}.report-filter p{color:var(--dim);text-align:right;max-width:290px;margin:0;font-size:10px;line-height:1.35}.subject-results{border-top:1px solid var(--border)}.report-table-head{display:grid;grid-template-columns:minmax(0,1fr)auto;gap:12px}.subject-summary{display:grid;grid-template-columns:minmax(0,1fr)auto auto;align-items: center;gap:12px}.subject-mention{color:var(--dim);font-size:11px;font-weight:700}.report-table-head{color:var(--dim);padding:9px 4px;font-size:9px;font-weight:780}.subject-result{border-top:1px solid var(--border);padding:13px 4px}.subject-summary strong{font-size:14px}.subject-summary b{color:var(--blue);font:760 16px/1 Aptos Display,ui-sans-serif}.evaluation-list{display:grid;gap:5px;margin-top:9px}.evaluation-list>div{display:flex;color:var(--dim);justify-content:space-between;gap:14px;font-size:11px}.evaluation-list>div span:last-child{flex:none;font-weight:700}.student-report-section{border:1px solid var(--border);background:var(--surface);border-radius:8px 18px 8px 8px;margin-bottom:34px;padding:18px}.payment-page{display:grid;gap:30px}.payment-summary{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border:1px solid var(--border);background:var(--border);border-radius:8px 18px 8px 8px}.payment-summary>div{display:grid;background:var(--surface);gap:6px;padding:18px}.payment-summary span{color:var(--dim);font-size:10px;font-weight:760}.payment-summary strong{font:760 22px/1 Aptos Display,ui-sans-serif}.payment-summary .overdue-total strong{color:var(--danger)}.plan-list{border-top:1px solid var(--border)}.plan-list article{display:grid;grid-template-columns:minmax(0,1fr)auto auto;border-bottom:1px solid var(--border);align-items: center;gap:16px;padding:14px 4px}.plan-list article.inactive-plan{opacity:.62}.plan-list article p{color:var(--dim);margin:3px 0 0;font-size:11px}.plan-list article>b{color:var(--blue);font-size:14px}.plan-actions{display:flex;gap:6px}.plan-actions button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;min-height:34px;padding:6px 9px;font-size:10px;font-weight:760}.invoice-section{display:grid;gap:8px}.payment-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.generation-summary{background:color-mix(in srgb,var(--blue)10%,var(--surface));color:var(--blue);border-radius:8px;margin:-2px 0 8px;padding:10px 12px;font-size:12px;font-weight:720}.invoice-list{border-top:1px solid var(--border)}.invoice-row{display:grid;grid-template-columns:40px minmax(0,1fr);border-bottom:1px solid var(--border);gap:12px;padding:16px 4px}.invoice-main{min-width:0}.invoice-title{display:flex;justify-content:space-between;gap:10px}.invoice-title strong{display:block;font-size:14px}.invoice-title p{color:var(--dim);margin:3px 0 0;font-size:11px}.invoice-meta{display:flex;color:var(--dim);flex-wrap:wrap;gap:8px 14px;margin-top:9px;font-size:11px}.invoice-meta strong{color:var(--text);font-size:15px}.payment-amount-due{display:flex;background:var(--surface-2);border-radius:8px;justify-content:space-between;align-items: center;gap:16px;padding:15px}.payment-amount-due span{color:var(--dim);font-size:12px}.payment-amount-due strong{font:760 21px/1 Aptos Display,ui-sans-serif}.receipt-sheet{overflow:hidden;border:1px solid var(--border);border-radius:8px 18px 8px 8px}.receipt-number{display:flex;background:var(--text);color:var(--bg);justify-content:space-between;gap:14px;padding:16px}.receipt-number span{font-size:10px;font-weight:760}.receipt-number strong{font:720 13px/1 ui-monospace,monospace}.receipt-sheet dl{margin:0;padding:8px 16px}.receipt-sheet dl div{display:grid;grid-template-columns:1fr 1.4fr;border-bottom:1px solid var(--border);gap:12px;padding:10px 0}.receipt-sheet dt{color:var(--dim);font-size:11px}.receipt-sheet dd{overflow-wrap:anywhere;text-align:right;margin:0;font-size:12px;font-weight:720}.receipt-sheet>p{color:var(--dim);margin:0;padding:14px 16px;font-size:10px}.modal-actions.single{grid-template-columns:1fr}.sr-only{position:absolute;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0}.data-toolbar{display:grid;grid-template-columns:minmax(180px,1fr)minmax(130px,auto)minmax(130px,auto)auto auto;border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items: center;gap:8px;margin:-4px 0 20px;padding:10px}.data-toolbar select,.search-box input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;width:100%;height:40px}.data-toolbar select{padding:0 30px 0 10px}.search-box{position:relative;display:block}.search-box svg{position:absolute;color:var(--dim);top:11px;left:11px}.search-box input{outline:none;padding:0 11px 0 36px}.search-box input:focus,.data-toolbar select:focus{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue)15%,transparent)}.filter-count{color:var(--dim);white-space:nowrap;font-size:11px;font-weight:720}.export-button{display:inline-flex;white-space:nowrap;justify-content:center;align-items: center;gap:7px}.attendance-register{border:1px solid var(--border);background:var(--surface);border-radius:8px 18px 8px 8px;margin-bottom:30px;padding:16px}.attendance-controls{display:grid;grid-template-columns:minmax(150px,1fr)minmax(150px,1fr)auto auto;align-items: end;gap:9px}.attendance-controls label{display:grid;color:var(--dim);gap:5px;font-size:11px;font-weight:740}.attendance-controls input,.attendance-controls select,.attendance-row input,.attendance-row select{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;height:42px;padding:0 10px}.attendance-summary{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid var(--border);background:var(--border);border-radius:8px;gap:1px;margin:14px 0}.attendance-summary div{display:grid;background:var(--bg);text-align:center;gap:2px;padding:12px}.attendance-summary strong{color:var(--blue);font:760 22px/1 Aptos Display,ui-sans-serif}.attendance-summary span{color:var(--dim);font-size:10px;font-weight:700}.attendance-list{border-top:1px solid var(--border)}.attendance-row{display:grid;grid-template-columns:42px minmax(120px,1fr)150px minmax(160px,1fr);border-bottom:1px solid var(--border);align-items: center;gap:10px;padding:10px 2px}.attendance-student{display:grid;gap:2px;min-width:0}.attendance-student strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.attendance-student span{color:var(--dim);font-size:10px}.attendance-save{display:flex;justify-content:flex-end;margin-top:14px}.attendance-history-heading{margin-top:26px}.teacher-attendance{margin-bottom:30px}.report-filter .export-button{align-self: end}@media (max-width:720px){.statistics-toolbar{flex-direction:column;align-items:stretch}.statistics-filters{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch}.statistics-filters label,.statistics-filters select{width:100%;min-width:0}.statistics-filters .export-button{grid-column:1/-1}.statistics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.statistics-grid{grid-template-columns:1fr}.chart-panel-wide{grid-column:auto}.data-toolbar{grid-template-columns:1fr 1fr}.search-box{grid-column:1/-1}.filter-count{display:none}.attendance-controls{grid-template-columns:1fr 1fr}.attendance-row{grid-template-columns:38px minmax(0,1fr)120px}.attendance-row>input{grid-column:2/-1}}@media (max-width:520px){.content-head,.entry-top,.portal-toolbar{flex-direction:column;align-items:stretch}.head-actions{align-items: flex-start;width:100%}.locale-picker{display:grid;grid-template-columns:minmax(0,1fr)minmax(0,1fr);justify-content:stretch;width:100%}.locale-picker label,.locale-picker select{width:100%;max-width:none}.locale-picker.compact{display:block;width:auto}.form-grid.two,.student-details,.grade-numbers,.report-student-list{grid-template-columns:1fr}.report-card-head,.report-filter{flex-direction:column;align-items:stretch}.average-seal{text-align:left;width:100%}.report-filter p{text-align:left;max-width:none}.report-filter select{width:100%}.modal{max-height:calc(100dvh - 12px);padding:18px}.workspace-bar{flex-direction:column;align-items:stretch}.workspace-bar label,.workspace-bar select{width:100%}.workspace-bar>div{display:grid;grid-template-columns:1fr 1fr}.workspace-actions .primary:last-child{grid-column:1/-1}.compact-button{padding-inline-start:8px;padding-inline-end:8px}.teacher-account-row,.parent-account-row{grid-template-columns:42px minmax(0,1fr)}.teacher-account-actions{grid-column:2;justify-content:flex-start;max-width:none}.student-check-list,.child-switcher{grid-template-columns:1fr}.school-switcher{display:none}.parent-schools{padding:14px}.teacher-overview{grid-template-columns:1fr 1fr}.teacher-overview>div:first-child{grid-column:1/-1}.teacher-note-list,.teacher-actions{grid-template-columns:1fr}.teacher-actions>button{min-height:52px}.roster-row{grid-template-columns:38px minmax(0,1fr)}.roster-actions{grid-column:2}.subscription-panel{flex-direction:column;align-items: flex-start}.subscription-panel>strong{text-align:left}.account-heading{flex-direction:column;align-items: flex-start}.account-heading .add-button{justify-content:center;width:100%}.profile-photo-editor,.school-logo-editor{align-items: flex-start}.school-logo-large{width:72px;height:72px}.subject-summary{grid-template-columns:minmax(0,1fr)auto}.subject-mention{grid-column:1}.profile-avatar-large{width:76px;height:76px}.identity-ticket,.payment-summary{grid-template-columns:1fr}.plan-list article{grid-template-columns:minmax(0,1fr)auto}.plan-actions{grid-column:1/-1}.payment-plans .account-heading,.invoice-section .account-heading{align-items:stretch}.payment-actions{display:grid;grid-template-columns:1fr;width:100%}.payment-plans .account-heading button,.invoice-section .account-heading button{justify-content:center}.student-entry-main{padding-inline-start:18px;padding-inline-end:18px}.entry-layout{padding-top:8px}.student-login-card{padding:19px}}@media (min-width:760px){.app-shell{display:grid;grid-template-columns:250px 1fr}.sidebar{position:sticky;display:flex;padding:calc(env(safe-area-inset-top) + 20px)12px 18px;border-right:1px solid var(--border);background:var(--surface);flex-direction:column;height:100vh;min-height:0;top:0}.school-mark{display:grid;background:var(--accent);color:var(--accent-ink);border-radius:12px 4px 12px 12px;flex:none;place-items: center;width:42px;height:42px;margin:0 0 18px 8px;font:800 19px/1 Aptos Display,ui-sans-serif}.sidebar .grouped-navigation{display:block;overflow-y:auto;scrollbar-width:thin;flex:auto;min-height:0;padding:0 3px 16px}.sidebar .nav-section{margin-bottom:14px}.sidebar .nav-section h2{color:var(--dim);letter-spacing:.055em;text-transform:uppercase;margin:0 10px 5px;font-size:10px;font-weight:800}.sidebar nav button{display:flex;color:var(--dim);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items: center;gap:10px;width:100%;min-height:38px;padding:5px 10px}.sidebar nav button svg{flex:none;width:18px;height:18px}.sidebar nav button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px}.sidebar nav button.active{background:var(--surface-2);color:var(--text);font-weight:760}.sidebar .locale-picker.compact{border-top:1px solid var(--border);flex:none;margin-top:8px;padding-top:12px}main{padding:calc(env(safe-area-inset-top) + 38px)42px 60px}.bottom-nav,.mobile-nav-backdrop{display:none}.quick-grid{grid-template-columns:repeat(6,1fr)}.priority-panel{grid-template-columns:170px 1fr}.priority-copy{min-height:166px;padding:24px}.priority-copy strong{font-size:64px}.priority-details{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;padding:14px}.priority-details button{border-bottom:0}.priority-details button+button{border-left:1px solid color-mix(in srgb,var(--bg)20%,transparent)}.modal-backdrop{align-items: center}.modal{border-radius:18px}.student-entry-main{padding-inline-start:42px;padding-inline-end:42px}.entry-layout{grid-template-columns:minmax(0,1.15fr)minmax(330px,.85fr);align-items: center;gap:64px;padding-top:54px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.license-offer{display:flex;border:1px solid var(--border);background:var(--surface-2);border-radius:8px 16px 8px 8px;justify-content:space-between;align-items: center;gap:14px;padding:15px}.license-offer strong{color:var(--text);font:760 18px/1.2 Aptos Display,ui-sans-serif}.license-offer span{color:var(--blue);text-align:right;font-size:12px;font-weight:750}.owner-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid var(--border);background:var(--border);border-radius:8px 18px 8px 8px;gap:1px;margin-bottom:18px}.owner-summary>div{display:grid;background:var(--surface);gap:8px;padding:17px}.owner-summary span{color:var(--dim);font-size:11px;font-weight:720}.owner-summary strong{color:var(--blue);font:760 24px/1 Aptos Display,ui-sans-serif}.owner-summary .owner-expired strong{color:var(--danger)}.owner-settings{display:grid;grid-template-columns:minmax(190px,.65fr)minmax(0,1.35fr);border:1px solid var(--border);background:var(--surface);border-radius:8px 16px 8px 8px;align-items: end;gap:22px;margin-bottom:18px;padding:18px}.owner-settings h2{margin:5px 0;font:740 20px/1.15 Aptos Display,ui-sans-serif}.owner-settings p:not(.section-note){color:var(--dim);margin:0;font-size:12px}.owner-settings form{display:grid;grid-template-columns:minmax(120px,1fr)minmax(120px,1fr)auto;align-items: end;gap:10px}.owner-settings label{display:grid;color:var(--dim);gap:5px;font-size:11px;font-weight:720}.owner-settings input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;width:100%;height:42px;padding:0 10px}.owner-settings .primary{min-height:42px}.license-alerts{border:1px solid color-mix(in srgb,var(--accent)58%,var(--border));background:color-mix(in srgb,var(--accent)9%,var(--surface));border-radius:8px 16px 8px 8px;margin-bottom:18px;padding:17px}.alert-list{display:grid;gap:7px}.alert-list button{display:flex;border:0;border-top:1px solid var(--border);color:var(--text);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items: center;gap:14px;width:100%;padding:10px 0}.alert-list button span{display:grid;gap:2px}.alert-list small{color:var(--dim)}.alert-list b{color:var(--danger);font-size:12px}.stripe-readiness{display:flex;background:var(--text);color:var(--bg);border-radius:8px 18px 8px 8px;justify-content:space-between;align-items: center;gap:20px;margin-bottom:28px;padding:20px}.stripe-readiness h2{margin:9px 0 5px;font:740 21px/1.15 Aptos Display,ui-sans-serif}.stripe-readiness p{opacity:.76;max-width:650px;margin:0;font-size:12px;line-height:1.45}.stripe-readiness>svg{color:var(--accent);flex:none}.license-schools{margin-bottom:34px}.license-school-list{border-top:1px solid var(--border)}.license-school-row{display:grid;grid-template-columns:minmax(320px,1fr)minmax(0,max-content);border-bottom:1px solid var(--border);align-items: center;gap:18px;padding:17px 4px}.license-school-main{display:grid;grid-template-columns:minmax(0,1fr)auto;align-items: center;gap:5px 12px;min-width:0}.license-school-main>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;min-width:0}.license-school-main strong{overflow-wrap:break-word;font-size:14px}.license-school-main>div span{color:var(--dim);font:680 10px/1 ui-monospace,monospace}.license-school-main p{grid-column:1/-1;color:var(--dim);margin:0;font-size:11px}.license-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.license-actions button{display:inline-flex;border:1px solid var(--border);background:var(--surface);color:var(--blue);cursor:pointer;border-radius:8px;align-items: center;gap:6px;min-height:38px;padding:7px 11px;font-size:11px;font-weight:740}.license-actions button.primary{background:var(--text);color:var(--bg);border-color:#0000}.license-actions button:disabled{opacity:.45;cursor:default}.license-actions .danger-text{color:var(--danger)}.license-school-row.is-suspended{opacity:.78}.payment-history-list{border-top:1px solid var(--border)}.payment-history-list article{display:flex;border-bottom:1px solid var(--border);justify-content:space-between;align-items: center;gap:18px;padding:15px 4px}.payment-history-list article>div:last-child{text-align:right}.payment-history-list strong{font-size:13px}.payment-history-list p{color:var(--dim);margin:3px 0 0;font-size:11px}.subscription-gate>.secondary{margin-top:8px}.status-trial{color:#765000;background:#fff0c8}.status-expired{color:#9b342a;background:#ffe2dd}.auth-card{align-self: start}.auth-mode{display:grid;grid-template-columns:1fr 1fr;background:var(--bg);border:1px solid var(--border);border-radius:12px;gap:4px;margin-bottom:18px;padding:4px}.auth-mode button{color:var(--dim);background:0 0;border:0;border-radius:9px;min-height:42px;font-weight:750}.auth-mode button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #00000014}.auth-card small{display:flex;color:var(--dim);justify-content:center;align-items: center;gap:6px;margin-top:12px}.auth-security-note{border-top:1px solid var(--border);padding-top:14px;color:var(--dim)!important;margin:16px 0 0!important;font-size:.76rem!important;line-height:1.45!important}@media (max-width:640px){.owner-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.license-school-row{grid-template-columns:1fr}.license-actions{justify-content:stretch}.license-actions button{flex:1;justify-content:center}.payment-history-list article{align-items: flex-start}.payment-history-list article>div:last-child{text-align:right}}.discipline-toolbar{flex-wrap:wrap;gap:9px}.discipline-toolbar select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;min-width:150px;min-height:42px;padding:0 30px 0 10px}.schedule-list{overflow:hidden;border-top:1px solid var(--border)}.schedule-row{display:grid;grid-template-columns:116px minmax(0,1fr)auto;border-bottom:1px solid var(--border);align-items: center;gap:14px;padding:15px 4px}.schedule-time{display:grid;gap:3px}.schedule-time strong{color:var(--blue);font:740 14px/1.2 Aptos Display,ui-sans-serif}.schedule-time span,.schedule-copy p{color:var(--dim);font-size:11px}.schedule-copy{min-width:0}.schedule-copy strong{font-size:14px}.schedule-copy p{margin:4px 0 0}.portal-special{margin-top:28px}.portal-special .section-heading p{color:var(--dim);margin:4px 0 0;font-size:11px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:620px){.schedule-row{grid-template-columns:92px minmax(0,1fr)}.schedule-row .row-actions{grid-column:1/-1}.discipline-toolbar{align-items:stretch}.discipline-toolbar select,.discipline-toolbar .add-button{flex:100%}.form-grid.three{grid-template-columns:1fr}}.legal-notice>div{min-width:0}.legal-notice button{color:var(--blue);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;margin-top:7px;padding:0;font-size:11px;font-weight:800}.legal-backdrop{position:fixed;z-index:80;display:flex;background:#07131dc7;justify-content:center;align-items: flex-end;padding:12px;inset:0}.legal-sheet{overflow-y:auto;overscroll-behavior:contain;padding:22px;padding-bottom:calc(22px + env(safe-area-inset-bottom));background:var(--surface);color:var(--text);border-radius:20px 20px 9px 9px;width:min(100%,820px);max-height:calc(100dvh - 24px);box-shadow:0 30px 80px #0008}.legal-head{position:sticky;z-index:1;display:flex;border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items: flex-start;gap:16px;margin:-22px -22px 0;padding:22px;top:-22px}.legal-head p{color:var(--blue);margin:0 0 4px;font-size:11px;font-weight:800}.legal-head h2{letter-spacing:-.025em;margin:0;font:750 clamp(24px,6vw,34px)/1.1 Aptos Display,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue}.legal-head>button{display:grid;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:50%;flex:none;place-items: center;width:40px;height:40px}.legal-intro{color:var(--dim);max-width:670px;margin:20px 0 14px;font-size:14px;line-height:1.55}.legal-policy-note{border:1px solid color-mix(in srgb,var(--danger)42%,var(--border));background:color-mix(in srgb,var(--danger)8%,var(--surface));border-radius:8px;margin-bottom:20px;padding:13px 14px;font-size:12px;font-weight:700;line-height:1.45}.legal-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--border);gap:0 22px}.legal-sections article{border-bottom:1px solid var(--border);padding:18px 0}.legal-sections h3{margin:0 0 7px;font:740 15px/1.25 Aptos Display,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue}.legal-sections p{color:var(--dim);margin:0;font-size:12px;line-height:1.55}.legal-close{display:block;background:var(--text);color:var(--bg);cursor:pointer;border:0;border-radius:9px;width:100%;min-height:46px;margin-top:20px;font-weight:800}@media (max-width:620px){.legal-sheet{padding:18px}.legal-head{margin:-18px -18px 0;padding:18px;top:-18px}.legal-sections{grid-template-columns:1fr}}.portal-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.portal-shortcuts button{display:inline-flex;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:9px;align-items: center;gap:7px;min-height:42px;padding:9px 12px;font-size:12px;font-weight:760}.portal-shortcuts button:hover{border-color:var(--blue);color:var(--blue)}.admin-entry-layout .student-login-card{max-width:470px}@media (max-width:620px){.portal-shortcuts{display:grid;grid-template-columns:1fr}.portal-shortcuts button{justify-content:flex-start}}.recovery-field{display:grid;border:1px solid var(--border);background:var(--surface-2);border-radius:9px;gap:6px;padding:13px}.recovery-field p{color:var(--dim);margin:0;font-size:11px;line-height:1.45}.forgot-password{color:var(--blue);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;justify-self:start;margin:-3px 0 2px;padding:2px 0;font-size:12px;font-weight:780}.recovery-form{display:grid;gap:15px}.recovery-status{background:color-mix(in srgb,var(--blue)9%,var(--surface));color:var(--text);border-radius:8px;margin:0;padding:12px 13px;font-size:12px;line-height:1.5}.recovery-done{display:grid;text-align:center;justify-items:center;gap:14px;padding:16px 0 4px}.recovery-done svg{color:var(--green)}.recovery-done p{color:var(--text);margin:0;font-weight:700}.recovery-settings{margin-top:16px}@media (max-width:620px){.recovery-settings{gap:16px}.recovery-settings form{width:100%}}.support-page{display:grid;gap:18px}.support-hero{display:flex;border:1px solid var(--border);background:var(--surface);border-radius:8px 16px 8px 8px;justify-content:space-between;align-items: flex-start;gap:18px;padding:20px}.support-hero h2{margin:5px 0 7px;font:760 24px/1.1 Aptos Display,ui-sans-serif}.support-hero p:not(.section-note){color:var(--dim);margin:0;line-height:1.55}.smtp-settings,.support-form,.support-history{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:20px}.smtp-settings form,.support-form{display:grid;gap:14px}.smtp-settings label,.support-form label{display:grid;color:var(--dim);gap:6px;font-size:12px;font-weight:720}.smtp-settings input,.smtp-settings select,.support-form input,.support-form textarea{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;width:100%}.smtp-settings input,.smtp-settings select,.support-form input{min-height:44px;padding:0 11px}.support-form textarea{resize:vertical;min-height:180px;padding:11px;line-height:1.55}.smtp-settings label small{color:var(--dim);font-weight:500;line-height:1.4}.smtp-secret-note{display:flex;background:var(--surface-2);color:var(--dim);border-radius:7px;align-items: flex-start;gap:8px;margin:0;padding:10px 12px;font-size:12px;line-height:1.45}.smtp-secret-note svg{flex:none;margin-top:1px}.support-actions{display:flex;flex-wrap:wrap;gap:10px}.support-address{display:flex;border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-wrap:wrap;justify-content:space-between;gap:8px 18px;margin:0;padding:14px 18px}.support-address a{color:var(--blue);font-weight:720}.support-request-list{display:grid;overflow:hidden;border:1px solid var(--border);background:var(--border);border-radius:8px;gap:1px}.support-request-list article{display:flex;background:var(--surface);justify-content:space-between;gap:18px;padding:13px 14px}.support-request-list article p{color:var(--dim);margin:4px 0 0}.support-request-list article>div:last-child{display:grid;color:var(--dim);text-align:right;justify-items:end;gap:5px;font-size:11px}@media (max-width:700px){.support-hero,.support-request-list article{flex-direction:column;align-items: flex-start}.support-request-list article>div:last-child{text-align:left;justify-items:start}.smtp-settings,.support-form,.support-history,.support-hero{padding:16px}.support-actions{display:grid;grid-template-columns:1fr}}.communications-page{display:grid;gap:18px}.communication-compose,.communication-history{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:20px}.communication-compose form{display:grid;gap:14px}.communication-compose fieldset{display:grid;border:0;gap:9px;margin:0;padding:0}.communication-compose legend{color:var(--dim);margin-bottom:7px;font-size:12px;font-weight:720}.communication-compose>form>label{display:grid;color:var(--dim);gap:6px;font-size:12px;font-weight:720}.communication-compose input[type=text],.communication-compose input:not([type]),.communication-compose textarea{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;width:100%}.communication-compose input:not([type]){min-height:44px;padding:0 11px}.communication-compose textarea{resize:vertical;min-height:145px;padding:11px;line-height:1.55}.audience-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.audience-options label,.school-recipient-grid label{display:flex;border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:8px;align-items: center;gap:10px;min-height:44px;padding:10px 12px}.audience-options input,.school-recipient-grid input{accent-color:var(--blue);width:18px;height:18px}.school-recipient-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.school-recipient-grid span{display:grid;gap:2px}.school-recipient-grid small{color:var(--dim)}.owner-message-list{display:grid;gap:8px}.owner-message-list article{border:1px solid var(--border);background:var(--bg);border-radius:8px;padding:15px}.owner-message-list article.is-unread{border-color:color-mix(in srgb,var(--blue)55%,var(--border));background:color-mix(in srgb,var(--blue)7%,var(--surface));cursor:pointer}.owner-message-list article[role=button]:focus-visible{outline:3px solid color-mix(in srgb,var(--blue)35%,transparent);outline-offset:2px}.owner-message-heading{display:flex;justify-content:space-between;align-items: flex-start;gap:12px}.owner-message-heading>div{display:grid;gap:4px}.owner-message-heading span,.owner-message-list small{color:var(--dim);font-size:12px}.owner-message-list p{white-space:pre-wrap;margin:12px 0;line-height:1.55}.message-count,.nav-badge{display:inline-grid;background:var(--blue);color:#fff;border-radius:999px;place-items: center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:800}.nav-icon-wrap{position:relative;display:inline-flex}.bottom-nav .nav-icon-wrap .nav-badge{position:absolute;overflow:visible;font-size:9px;top:-8px;right:-12px}.sidebar .nav-badge{margin-inline-start:auto}@media (max-width:700px){.communication-compose,.communication-history{padding:16px}.audience-options,.school-recipient-grid{grid-template-columns:1fr}.owner-message-heading{flex-direction:column;align-items: flex-start}}.legal-editor-page{display:grid;gap:18px}.legal-editor-form{display:grid;border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:15px;padding:20px}.legal-editor-form label{display:grid;color:var(--dim);gap:6px;font-size:12px;font-weight:720}.legal-editor-form input,.legal-editor-form select,.legal-editor-form textarea{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;width:100%}.legal-editor-form input,.legal-editor-form select{min-height:44px;padding:0 11px}.legal-editor-form textarea{resize:vertical;padding:11px;line-height:1.55}.legal-editor-form label small,.legal-updated{color:var(--dim);margin:0;font-size:11px;font-weight:500;line-height:1.45}.legal-editor-form .primary{justify-self:start;min-width:190px}.custom-legal-body p{white-space:pre-wrap}@media (max-width:700px){.legal-editor-form{padding:16px}.legal-editor-form .primary{width:100%}}.skolink-brand{display:flex;align-items: center;width:min(224px,64vw);margin:0 0 18px}.skolink-brand img{display:block;object-fit:contain;object-position:left center;width:100%;height:98px}.skolink-brand.compact{width:128px;margin:0 0 22px 4px}.skolink-brand.compact img{object-position:center;height:78px}.skolink-header-logo{display:block;object-fit:contain;background:#2a0c54;border-radius:11px;flex:none;width:48px;height:48px;box-shadow:0 2px 8px #2a0c5422}.portal-toolbar-brand{display:inline-flex;align-items: center;gap:10px}.portal-toolbar-brand .skolink-header-logo{box-shadow:0 2px 10px #2a0c5433}.workspace-brand{display:block}.sidebar .skolink-brand{margin-bottom:20px}.mobile-nav-brand{display:flex;align-items: center;gap:10px;margin-bottom:4px}.mobile-nav-brand .skolink-header-logo{border-radius:9px;width:38px;height:38px}.advertising-banner{display:block;overflow:hidden;border:1px solid var(--border);background:var(--surface);border-radius:8px 18px 8px 8px;width:100%;max-width:1080px;margin:0 auto 18px;box-shadow:0 7px 22px #12304a12}a.advertising-banner{cursor:pointer}.advertising-banner img{display:block;aspect-ratio:16/5;object-fit:cover;object-position:center;width:100%;max-height:180px}.banner-editor-panel{padding:8px 0 28px}.banner-editor-panel>.section-heading{align-items: flex-start;margin-bottom:22px}.banner-editor-panel h1{letter-spacing:-.035em;margin:4px 0 6px;font:750 clamp(28px,6vw,40px)/1.05 Aptos Display,ui-sans-serif}.banner-editor-panel .section-heading p:last-child{color:var(--dim);max-width:620px;margin:0;font-size:14px;line-height:1.5}.banner-editor-layout{display:grid;gap:22px}.banner-preview-label{color:var(--dim);margin:0 0 8px;font-size:11px;font-weight:760}.banner-editor-layout form{display:grid;border:1px solid var(--border);background:var(--surface);border-radius:8px 18px 8px 8px;align-content: start;gap:16px;padding:18px}.banner-editor-layout form>label:not(.banner-toggle){display:grid;color:var(--dim);gap:7px;font-size:12px;font-weight:720}.banner-editor-layout input[type=url]{border:1px solid var(--border);outline:none;background:var(--bg);color:var(--text);border-radius:9px;width:100%;height:46px;padding:0 12px}.banner-editor-layout input[type=url]:focus{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue)16%,transparent)}.banner-upload{width:-moz-fit-content;width:fit-content;margin-top:2px}.banner-toggle{display:flex;color:var(--text);cursor:pointer;align-items: center;gap:10px;min-height:42px;font-size:13px;font-weight:740}.banner-toggle input{accent-color:var(--blue);width:20px;height:20px}.banner-editor-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px;padding-top:4px}.form-success{color:#267258;margin:0;font-size:12px;font-weight:740}@media (prefers-color-scheme:dark){.form-success{color:#68bf98}}@media (max-width:520px){.advertising-banner{margin-bottom:14px}.advertising-banner img{aspect-ratio:16/6;max-height:128px}.skolink-brand{width:178px;margin-bottom:12px}.skolink-brand img{height:76px}.skolink-header-logo{width:44px;height:44px}.banner-editor-layout form{padding:15px}.banner-editor-actions{display:grid;grid-template-columns:1fr}}@media (min-width:860px){.banner-editor-layout{grid-template-columns:minmax(0,1.25fr)minmax(320px,.75fr);align-items: start}}.entry-layout.login-layout{gap:18px;padding-top:4px}.login-brand-panel{position:relative;display:flex;overflow:hidden;color:#fff;text-align:center;background:radial-gradient(120% 90% at 50% 0%,#7c3aed33 0%,#0000 55%),linear-gradient(165deg,#170439 0%,#2a0c54 42%,#4c1d95 78%,#5b21b6 100%);border-radius:22px;flex-direction:column;justify-content:center;align-items: center;padding:20px 18px 18px;box-shadow:0 18px 38px #2a0c5426,inset 0 1px #ffffff2b}.login-brand-panel:after{position:absolute;content:"";pointer-events:none;background:radial-gradient(50% 50%,#a78bfa2e 0%,#0000 70%);height:58%;inset:auto -18% -42%}.login-brand-medallion{position:relative;z-index:1;display:grid;overflow:hidden;background:#2a0c54;border:2px solid #e9d5ff9e;border-radius:50%;place-items: center;width:84px;height:84px;margin-bottom:10px;box-shadow:0 10px 24px #00000038,0 0 0 6px #ffffff14}.login-brand-medallion img{display:block;object-fit:cover;width:100%;height:100%}.login-brand-platform{position:relative;z-index:1;color:#ddd6fe;letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:11px;font-weight:760}.login-brand-name{position:relative;z-index:1;letter-spacing:-.02em;color:#fff;text-shadow:0 2px 14px #0003;margin:3px 0 0;font:780 28px/1.05 Aptos Display,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue}.login-brand-slogan{position:relative;z-index:1;color:#ede9fe;margin:6px 0 0;font-size:13px;font-weight:650;line-height:1.4}.login-content{display:grid;gap:18px;min-width:0}.login-content .entry-intro h1{margin-top:5px;font-size:clamp(30px,8vw,40px)}.login-content .student-steps{margin-top:18px}.login-content .student-login-card{width:100%}.student-entry-main>.legal-banner{margin-top:2px}html[dir=rtl] .login-brand-panel{text-align:center}html[dir=rtl] .entry-intro h1{line-height:1.3}@media (min-width:760px){.entry-layout.login-layout{grid-template-columns:348px minmax(0,1fr);align-items:stretch;gap:34px;padding-top:26px}.login-brand-panel{border-radius:26px;min-height:540px;padding:34px 26px}.login-brand-medallion{border-width:3px;width:148px;height:148px;margin-bottom:16px;box-shadow:0 16px 34px #00000042,0 0 0 8px #ffffff17}.login-brand-platform{font-size:12px}.login-brand-name{font-size:40px}.login-brand-slogan{max-width:250px;font-size:15px}.login-content{align-content: start;gap:22px;padding-top:6px}.login-content .entry-intro h1{max-width:520px;font-size:clamp(36px,4.6vw,46px)}.admin-entry-layout.login-layout .student-login-card{max-width:none}}@media (max-width:759px){.entry-layout.login-layout{gap:14px;padding-top:2px}.login-brand-panel{border-radius:18px;flex-direction:column;padding:14px 16px 12px}.login-brand-medallion{border-width:2px;width:64px;height:64px;margin-bottom:6px;box-shadow:0 8px 18px #00000038,0 0 0 4px #ffffff14}.login-brand-platform{letter-spacing:.12em;font-size:10px}.login-brand-name{margin-top:2px;font-size:24px}.login-brand-slogan{margin-top:3px;font-size:12px}.login-content{gap:14px}.login-content .entry-intro h1{margin-bottom:8px;font-size:28px}.login-content .entry-intro>p:not(.section-note){font-size:14px}.login-content .student-steps{margin-top:12px}.login-content .student-steps li{min-height:42px;font-size:13px}.login-content .portal-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px}.login-content .portal-shortcuts button{justify-content:center;min-height:40px;padding:8px 9px;font-size:11px}.portal-shortcuts{margin-top:16px}}@media (prefers-color-scheme:dark){.login-brand-panel{box-shadow:0 18px 38px #0005,inset 0 1px #ffffff2b}}.discount-fieldset{display:grid;border:1px solid var(--border);border-radius:10px;gap:12px;margin:2px 0 14px;padding:14px}.discount-fieldset legend{color:var(--text);padding:0 6px;font-size:12px;font-weight:760}.discount-fieldset label{display:grid;color:var(--dim);gap:6px;font-size:12px;font-weight:700}.discount-fieldset select,.discount-fieldset input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;width:100%;min-height:42px;padding:0 10px}.input-with-unit{display:grid;grid-template-columns:minmax(0,1fr)auto;align-items: center}.input-with-unit input{grid-column:1/-1;grid-row:1;padding-right:54px}.input-with-unit span{grid-column:2;grid-row:1;color:var(--dim);pointer-events:none;padding-right:11px;font-size:11px}.discount-preview{display:flex;border-top:1px solid var(--border);color:var(--dim);justify-content:space-between;align-items: center;gap:14px;padding-top:12px;font-size:12px}.discount-preview div,.payment-price,.account-license-price{display:flex;justify-content:flex-end;align-items:baseline;gap:8px}.discount-preview s,.payment-price s,.discounted-price s{color:var(--dim);font-size:11px}.discount-preview strong{color:var(--blue);font:760 18px/1.1 Aptos Display,ui-sans-serif}.discounted-price{display:grid;gap:3px;min-width:0}.discounted-price>span{display:flex;align-items:baseline;gap:7px}.discounted-price strong{color:inherit;font:760 18px/1.15 Aptos Display,ui-sans-serif}.discounted-price small{color:var(--dim);font-size:10px;font-weight:650;line-height:1.35}.discounted-price.compact{display:inline-grid}.discounted-price.compact>span{justify-content:start}.license-offer .discounted-price{color:var(--text);text-align:left}.license-offer .discounted-price>span{color:var(--text);font-size:inherit;text-align:left}.license-offer .discounted-price small{color:var(--dim);text-align:left}.subscription-panel .account-license-price{flex-direction:column;flex:none;align-items: flex-end}.subscription-panel .discounted-price{text-align:right}.subscription-panel .discounted-price small,.subscription-panel .discounted-price s{color:color-mix(in srgb,var(--bg)70%,transparent)}.subscription-panel .account-license-price>span{opacity:.72;font-size:10px}.subscription-gate>.discounted-price{text-align:center;margin-bottom:18px}.subscription-gate>.discounted-price>span{justify-content:center}.payment-price{flex-wrap:wrap}.payment-history-list .discount-note{color:var(--blue);font-weight:680}@media (max-width:640px){.discount-preview{flex-direction:column;align-items: flex-start}.subscription-panel .account-license-price,.subscription-panel .discounted-price{text-align:left;align-items: flex-start}}.payment-history-list .receipt-link{margin-top:7px;color:var(--blue);cursor:pointer;background:0 0;border:0;margin-inline-end:10px;padding:0;font-size:11px;font-weight:740}.license-receipt .receipt-total dd{color:var(--blue)}.payment-request-list{display:grid;gap:10px}.payment-request-list article{display:grid;grid-template-columns:minmax(0,1fr)auto;border-top:1px solid color-mix(in srgb,var(--accent)48%,var(--border));align-items: center;gap:16px;padding:14px}.payment-request-list article>div:first-child{min-width:0}.payment-request-list strong{display:block;overflow-wrap:anywhere;font-size:14px}.payment-request-list p{color:var(--dim);margin:4px 0 0;font-size:11px;line-height:1.45}.payment-request-list .license-actions{justify-content:flex-end}.payment-method-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.payment-method-options label{display:flex;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:8px;align-items: center;gap:9px;min-height:46px;padding:10px 12px;font-size:12px;font-weight:720}.payment-method-options input{accent-color:var(--blue);width:18px;height:18px}.mobile-money-instructions{display:grid;border:1px solid color-mix(in srgb,var(--blue)34%,var(--border));background:color-mix(in srgb,var(--blue)7%,var(--surface));color:var(--dim);border-radius:8px;gap:3px;margin:0;padding:12px 14px;font-size:12px;line-height:1.4}.mobile-money-instructions strong{color:var(--text);font-size:14px}.mobile-money-config{align-items: start;margin-bottom:18px}.mobile-money-config form{grid-template-columns:minmax(160px,1fr)minmax(160px,1fr)auto}.mobile-money-school-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items: center;gap:6px;padding-inline-end:3px}.mobile-money-school-controls span{color:var(--dim);text-align:end;width:100%;font-size:10px;font-weight:720}.mobile-money-school-controls button.is-enabled{border-color:color-mix(in srgb,var(--blue)50%,var(--border));background:color-mix(in srgb,var(--blue)10%,var(--surface));color:var(--blue)}.payment-request-pending{display:flex;border:1px solid color-mix(in srgb,var(--accent)58%,var(--border));background:color-mix(in srgb,var(--accent)10%,var(--surface));color:var(--text);text-align:left;border-radius:8px;justify-content:space-between;align-items: flex-start;gap:14px;width:min(100%,520px);margin-top:14px;padding:12px 14px}.payment-request-pending>div{min-width:0}.payment-request-pending strong{display:block;font-size:12px}.payment-request-pending span{display:block;color:var(--dim);margin-top:3px;font-size:10px;line-height:1.4}.subscription-panel .payment-request-pending{color:var(--bg);background:color-mix(in srgb,var(--bg)11%,transparent);border-color:color-mix(in srgb,var(--bg)30%,transparent);width:min(100%,560px);margin:0}.subscription-panel .payment-request-pending span{color:color-mix(in srgb,var(--bg)70%,transparent)}.subscription-panel .secondary,.subscription-panel .danger-link{flex:none}.stripe-config-section{align-items: start;margin-bottom:28px}.stripe-status-row{display:flex;align-items: center;gap:9px}.stripe-status-row+p{margin-top:10px!important}.stripe-config-form{grid-template-columns:1fr!important;align-items:stretch!important}.stripe-config-form code{display:block;overflow-wrap:anywhere;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;padding:10px;font:650 11px/1.45 ui-monospace,monospace}.stripe-form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.nav-badge{vertical-align:middle}.workspace-actions .nav-badge{margin-inline-start:2px}@media (max-width:640px){.payment-request-list article{grid-template-columns:1fr;padding-inline-start:0;padding-inline-end:0}.payment-request-list .license-actions{justify-content:stretch}.payment-request-list .license-actions button{flex:1}.stripe-config-section{grid-template-columns:1fr}.stripe-form-actions{display:grid;grid-template-columns:1fr}.payment-request-pending{flex-direction:column;align-items:stretch}}@media (max-width:420px){.payment-method-options{grid-template-columns:1fr}}.pwa-install-pill{position:fixed;z-index:920;right:max(14px,env(safe-area-inset-right));bottom:calc(82px + env(safe-area-inset-bottom));display:inline-flex;color:#fff;cursor:pointer;background:#2a0c54;border:1px solid #b8afc9;border-radius:999px;align-items: center;gap:7px;min-height:42px;padding:0 14px;font-size:13px;font-weight:780;box-shadow:0 10px 26px #16042d38}.pwa-install-pill span{display:grid;border:1px solid #ffffff70;border-radius:50%;place-items: center;width:20px;height:20px;font-size:14px;line-height:1}.pwa-install-card{position:fixed;z-index:930;right:max(14px,env(safe-area-inset-right));bottom:calc(82px + env(safe-area-inset-bottom));display:grid;grid-template-columns:auto minmax(0,1fr);background:var(--surface);color:var(--text);text-align:start;border:1px solid #b8afc9;border-radius:14px 14px 5px;gap:12px;width:min(430px,100vw - 28px);padding:16px;box-shadow:0 18px 44px #16042d3d}.pwa-install-mark{display:grid;color:#fff;background:#2a0c54;border-radius:9px;place-items: center;width:38px;height:38px;font-size:22px;font-weight:800}.pwa-install-copy{min-width:0}.pwa-install-copy>strong{display:block;color:var(--text);font:780 17px/1.2 Aptos Display,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.pwa-install-copy p{color:var(--dim);margin:5px 0 0;font-size:12px;line-height:1.45}.pwa-install-copy .pwa-ios-help{border-top:1px solid var(--border);color:var(--text);margin-top:9px;padding-top:9px}.pwa-install-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.pwa-install-actions button{min-height:38px;padding:0 13px;font-size:12px}@media (min-width:861px){.pwa-install-pill,.pwa-install-card{bottom:max(18px,env(safe-area-inset-bottom))}}@media (max-width:420px){.pwa-install-card{grid-template-columns:1fr}.pwa-install-mark{width:34px;height:34px}.pwa-install-actions{display:grid;grid-template-columns:1fr}}.reenrollment-portal,.reenrollment-compose{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-top:1rem;padding:1.15rem}.reenrollment-levels{display:grid;grid-template-columns:minmax(0,1fr)minmax(0,1fr);gap:.85rem;margin:.8rem 0 1rem}.reenrollment-levels>div,.reenrollment-levels label{display:grid;gap:.35rem}.reenrollment-levels span,.reenrollment-levels label,.reenrollment-request-list small,.reenrollment-history small{color:var(--dim);font-size:.82rem}.reenrollment-levels strong{padding:.68rem 0}.reenrollment-pending{display:flex;flex-wrap:wrap;align-items: center;gap:.65rem}.reenrollment-pending .secondary{margin-inline-start:auto}.reenrollment-result{display:flex;border-top:1px solid var(--border);justify-content:space-between;gap:1rem;margin:.75rem 0 0;padding-top:.7rem}.reenrollment-inbox{margin-top:1.25rem}.reenrollment-inbox h3{margin:0 0 .65rem;font-size:1rem}.reenrollment-inbox article,.reenrollment-history article,.reenrollment-request-list article{border-top:1px solid var(--border);padding:1rem 0}.reenrollment-inbox article>div,.reenrollment-history article>div,.reenrollment-request-head{display:flex;justify-content:space-between;align-items: flex-start;gap:.8rem}.reenrollment-inbox time,.reenrollment-history time{color:var(--dim);white-space:nowrap;font-size:.78rem}.reenrollment-inbox p,.reenrollment-history p{white-space:pre-wrap;margin:.55rem 0 0;line-height:1.55}.reenrollment-admin{display:grid;gap:1rem}.reenrollment-count{display:grid;background:var(--accent);color:#fff;border-radius:50%;place-items: center;min-width:3rem;min-height:3rem;font-size:1.25rem;font-weight:800}.reenrollment-request-list,.reenrollment-history{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:0 1rem}.reenrollment-request-list article:first-child,.reenrollment-history article:first-child{border-top:0}.reenrollment-request-head p{color:var(--dim);margin:.3rem 0}.reenrollment-request-list .row-actions{margin-top:.8rem}.reenrollment-compose{display:grid;gap:.9rem;margin-top:0}.reenrollment-compose label{display:grid;gap:.4rem;font-weight:700}.status-approved{background:color-mix(in srgb,#16834a 14%,var(--surface));color:#16834a}.status-rejected,.status-cancelled{background:color-mix(in srgb,#a33a35 10%,var(--surface));color:#a33a35}@media (max-width:640px){.reenrollment-levels{grid-template-columns:1fr}.reenrollment-inbox article>div,.reenrollment-history article>div,.reenrollment-request-head{flex-direction:column;align-items:stretch}.reenrollment-inbox time,.reenrollment-history time{white-space:normal}}.agenda-admin{display:grid;gap:1rem}.agenda-settings,.agenda-event-form,.agenda-admin-grid>div,.portal-agenda{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:1.15rem}.agenda-settings,.agenda-event-form{display:grid;gap:.9rem}.agenda-settings>label,.agenda-event-form label,.agenda-time-grid label{display:grid;color:var(--text);gap:.4rem;font-size:.84rem;font-weight:720}.agenda-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.agenda-time-grid label>span{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.agenda-time-grid input{min-width:0}.agenda-admin-grid{display:grid;grid-template-columns:minmax(0,.86fr)minmax(0,1.14fr);align-items: start;gap:1rem}.agenda-event-list{display:grid}.agenda-event-list article{display:grid;grid-template-columns:auto minmax(0,1fr)auto;border-top:1px solid var(--border);align-items: start;gap:.8rem;padding:.9rem 0}.agenda-event-list article:first-child{border-top:0}.agenda-event-list p,.agenda-event-list small{display:block;color:var(--dim);margin:.25rem 0 0;line-height:1.4}.agenda-type,.agenda-banner>span{display:inline-flex;background:color-mix(in srgb,var(--accent)12%,var(--surface));color:var(--accent);border-radius:999px;align-items: center;width:max-content;padding:.25rem .48rem;font-size:.7rem;font-weight:800}.agenda-type.agenda-holiday,.agenda-type.agenda-vacation,.agenda-banner.agenda-holiday>span,.agenda-banner.agenda-vacation>span{background:color-mix(in srgb,#23865b 14%,var(--surface));color:#1a714a}.agenda-type.agenda-exam,.agenda-banner.agenda-exam>span{background:color-mix(in srgb,#b36a13 14%,var(--surface));color:#9a5507}.agenda-viewer{min-width:0}.agenda-view-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--bg);border-radius:10px;gap:3px;padding:3px}.agenda-view-tabs:has(button:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-view-tabs button{color:var(--dim);background:0 0;border:0;border-radius:7px;min-height:38px;font-weight:750}.agenda-view-tabs button.active{background:var(--surface);color:var(--accent);box-shadow:0 1px 4px color-mix(in srgb,var(--text)10%,transparent)}.agenda-date-bar{display:grid;grid-template-columns:38px minmax(0,1fr)38px;align-items: center;gap:.5rem;margin:.9rem 0}.agenda-date-bar>button{width:38px;min-width:38px;height:38px;padding:0}.agenda-date-bar .agenda-next svg{transform:rotate(180deg)}.agenda-date-bar>div{text-align:center;min-width:0}.agenda-date-bar strong{display:block;overflow-wrap:anywhere;text-transform:capitalize}.agenda-date-bar>div button{color:var(--accent);background:0 0;border:0;margin-top:.2rem;font-size:.75rem;font-weight:750}.agenda-date-input{display:flex;color:var(--dim);justify-content:space-between;align-items: center;gap:.7rem;margin-bottom:.75rem;font-size:.8rem;font-weight:700}.agenda-date-input input{width:auto;min-width:9rem}.agenda-banner{display:grid;background:color-mix(in srgb,var(--accent)7%,var(--bg));border-radius:9px;gap:.35rem;margin-bottom:.65rem;padding:.8rem .9rem}.agenda-banner strong{font-size:.92rem}.agenda-banner p{color:var(--dim);margin:0;font-size:.8rem;line-height:1.45}.agenda-timeline{display:grid}.agenda-timeline-row{position:relative;display:grid;grid-template-columns:6.2rem minmax(0,1fr);border-top:1px solid var(--border);gap:.7rem;min-height:54px;padding:.7rem 0 .7rem 1rem}.agenda-timeline-row:before{position:absolute;background:var(--accent);content:"";border-radius:50%;width:7px;height:7px;top:1rem}.agenda-timeline-row:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))):before{left:0}.agenda-timeline-row:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))):before{left:0}.agenda-timeline-row:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))):before{left:0}.agenda-timeline-row:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)):before{right:0}.agenda-timeline-row:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)):before{right:0}.agenda-timeline-row:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)):before{right:0}.agenda-timeline-row.break:before{background:#d18b2c}.agenda-timeline-row.boundary:before{background:var(--dim)}.agenda-timeline-row time{color:var(--dim);font-size:.78rem;font-weight:750}.agenda-timeline-row strong{font-size:.88rem}.agenda-timeline-row p{color:var(--dim);margin:.25rem 0 0;font-size:.75rem}.agenda-weekdays,.agenda-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.agenda-weekdays span{color:var(--dim);text-align:center;padding:.35rem 0;font-size:.7rem;font-weight:800}.agenda-month-grid{overflow:hidden;border:1px solid var(--border);border-radius:9px}.agenda-month-grid button{position:relative;border:0;border-inline-end:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);color:var(--text);text-align:start;min-width:0;min-height:53px;padding:.35rem}.agenda-month-grid button:nth-child(7n){border-inline-end:0}.agenda-month-grid button.outside{color:var(--dim);opacity:.46}.agenda-month-grid button.today span{display:grid;background:var(--accent);color:#fff;border-radius:50%;place-items: center;width:1.55rem;height:1.55rem;margin:-.15rem;font-weight:800}.agenda-month-grid button i{display:inline-block;background:var(--accent);border-radius:50%;width:5px;height:5px;margin:.45rem 2px 0 0}.agenda-month-grid button i.event-holiday,.agenda-month-grid button i.event-vacation{background:#23865b}.agenda-month-grid button i.event-exam{background:#c5791d}.agenda-year{display:grid}.agenda-year article{display:grid;grid-template-columns:auto minmax(0,1fr);border-top:1px solid var(--border);gap:.75rem;padding:.85rem 0}.agenda-year article:first-child{border-top:0}.agenda-year p{color:var(--dim);margin:.25rem 0 0;font-size:.8rem}.portal-agenda{margin-top:1rem}.portal-agenda .section-heading{margin-bottom:.85rem}@media (max-width:760px){.agenda-admin-grid,.agenda-time-grid{grid-template-columns:1fr}.agenda-event-list article{grid-template-columns:auto minmax(0,1fr)}.agenda-event-list article>button{grid-column:2;justify-self:start}}@media (max-width:420px){.agenda-settings,.agenda-event-form,.agenda-admin-grid>div,.portal-agenda{padding:.85rem}.agenda-date-input{flex-direction:column;align-items:stretch}.agenda-date-input input{width:100%}.agenda-timeline-row{grid-template-columns:5rem minmax(0,1fr)}.agenda-month-grid button{min-height:45px;padding:.25rem}}.attendance-notification{display:grid;grid-template-columns:auto minmax(0,1fr)auto;border:1px solid color-mix(in srgb,var(--danger)38%,var(--border));background:color-mix(in srgb,var(--danger)7%,var(--surface));border-radius:10px;align-items: center;gap:.85rem;margin:1rem 0;padding:1rem}.attendance-notification-icon{display:grid;background:color-mix(in srgb,var(--danger)16%,var(--surface));color:var(--danger);border-radius:12px 5px 12px 12px;place-items: center;width:42px;height:42px}.attendance-notification-copy{min-width:0}.attendance-notification-copy h2{margin:.25rem 0 0;font-size:1rem;line-height:1.25}.attendance-notification-copy p{color:var(--dim);margin:.25rem 0 0;font-size:.82rem;line-height:1.4}.new-attendance-badge{display:inline-flex;background:var(--danger);color:#fff;border-radius:999px;align-items: center;width:max-content;padding:.2rem .46rem;font-size:.66rem;font-weight:800;line-height:1.2}.record-statuses{display:flex;flex-wrap:wrap;flex:none;justify-content:flex-end;gap:.35rem}.record-row.is-new-attendance{background:color-mix(in srgb,var(--danger)5%,transparent)}@media (max-width:560px){.attendance-notification{grid-template-columns:auto minmax(0,1fr)}.attendance-notification>button{grid-column:1/-1;width:100%}}.enrollment-parent{margin-top:1rem}.enrollment-form{display:grid;border-top:1px solid var(--border);gap:1rem;margin-top:1rem;padding-top:1rem}.enrollment-form fieldset{display:grid;border:0;gap:.85rem;padding:0}.enrollment-form legend{color:var(--text);margin-bottom:.75rem;font-weight:800}.enrollment-history-heading{border-top:1px solid var(--border);margin-top:1.4rem;padding-top:1.1rem}.enrollment-request-list{display:grid;gap:.75rem}.enrollment-request-list>article{display:grid;border:1px solid var(--border);background:var(--surface);border-radius:10px;gap:.72rem;padding:1rem}.enrollment-request-list>article.is-pending{border-color:color-mix(in srgb,var(--accent)38%,var(--border))}.enrollment-request-head{display:flex;justify-content:space-between;align-items: flex-start;gap:.75rem}.enrollment-request-head p{color:var(--dim);margin:.22rem 0 0;font-size:.82rem}.enrollment-request-list small{color:var(--dim)}.enrollment-request-list .status{flex:none}.status-approved{color:var(--success);background:color-mix(in srgb,var(--success)12%,var(--surface))}.status-rejected,.status-cancelled{color:var(--danger);background:color-mix(in srgb,var(--danger)10%,var(--surface))}.enrollment-created{display:flex;color:var(--success);align-items: center;gap:.35rem;margin:0;font-size:.8rem;font-weight:750}.enrollment-admin{display:grid;gap:1rem}.enrollment-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1rem;margin:0}.enrollment-details div{min-width:0}.enrollment-details dt{color:var(--dim);font-size:.7rem;font-weight:750}.enrollment-details dd{overflow-wrap:anywhere;margin:.18rem 0 0;font-size:.84rem}.enrollment-note{background:var(--subtle);color:var(--text);border-radius:7px;margin:0;padding:.75rem;font-size:.84rem;line-height:1.5}.enrollment-admin .row-actions{display:flex;flex-wrap:wrap;gap:.6rem}.enrollment-admin .row-actions button{min-height:42px}@media (max-width:560px){.enrollment-request-head{align-items: flex-start}.enrollment-details{grid-template-columns:1fr}.enrollment-admin .row-actions button{width:100%}}.parent-communications{margin-top:1rem}.communication-compose-grid,.communication-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.communication-compose-grid{margin-top:1rem}.communication-compose{display:grid;border:1px solid var(--border);background:var(--surface);border-radius:10px;align-content: start;gap:.75rem;padding:1rem}.communication-compose h3,.communication-columns h3{margin:0;font-size:.98rem}.communication-compose label,.contact-request label{display:grid;color:var(--dim);gap:.4rem;font-size:.78rem;font-weight:750}.communication-compose textarea,.inline-reply textarea,.contact-request textarea{resize:vertical;min-height:92px}.communication-columns{align-items: start;margin-top:1.25rem}.communication-columns>div{min-width:0}.communication-columns>div>h3{margin-bottom:.7rem}.communication-list{display:grid;gap:.8rem}.communication-thread,.contact-request{display:grid;border:1px solid var(--border);background:var(--surface);border-radius:10px;gap:.65rem;padding:1rem}.communication-title{display:flex;justify-content:space-between;align-items: flex-start;gap:.75rem}.communication-title strong{overflow-wrap:anywhere;min-width:0}.communication-thread>small,.contact-request>small{color:var(--dim)}.contact-request>p{overflow-wrap:anywhere;margin:0;line-height:1.5}.message-stack{display:grid;gap:.55rem;padding-block-start:.35rem;padding-block-end:.35rem}.message-bubble{background:var(--subtle);border-radius:10px;width:min(88%,34rem);padding:.68rem .78rem}.message-bubble.from-school{background:color-mix(in srgb,var(--accent)10%,var(--surface));justify-self:end}.message-bubble b,.message-bubble small{display:block;color:var(--dim);font-size:.7rem}.message-bubble p{overflow-wrap:anywhere;margin:.25rem 0;line-height:1.45}.inline-reply{display:grid;grid-template-columns:minmax(0,1fr)auto;align-items: end;gap:.55rem}.inline-reply label{min-width:0}.inline-reply textarea{width:100%;min-height:66px}.parent-admin-communications{display:grid;gap:1rem}.teacher-contact-notices .contact-request{border-color:color-mix(in srgb,var(--accent)32%,var(--border))}@media (max-width:760px){.communication-compose-grid,.communication-columns{grid-template-columns:1fr}}@media (max-width:480px){.parent-communications,.communication-compose,.communication-thread,.contact-request{padding:.85rem}.inline-reply{grid-template-columns:1fr}.inline-reply button,.contact-request .row-actions button{width:100%}}.subjects-admin{display:grid;gap:1rem}.subject-form,.subject-groups>section{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:1rem}.subject-form{display:grid;gap:.85rem}.subject-order{max-width:12rem}.subject-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.subject-admin-list{display:grid}.subject-admin-list article{display:grid;grid-template-columns:2.25rem minmax(0,1fr)auto;border-top:1px solid var(--border);align-items: start;gap:.75rem;padding:.85rem 0}.subject-admin-list article:first-child{border-top:0}.subject-admin-list p,.subject-list p{color:var(--dim);margin:.25rem 0 0;font-size:.82rem;line-height:1.45}.subject-order-badge,.subject-list>li>span{display:grid;background:color-mix(in srgb,var(--accent)12%,var(--surface));color:var(--accent);border-radius:50%;place-items: center;width:2rem;height:2rem;font-size:.75rem;font-weight:800}.subject-viewer{overflow:hidden}.subject-list{display:grid;list-style:none;margin:0;padding:0}.subject-list li{display:grid;grid-template-columns:2.25rem minmax(0,1fr);border-top:1px solid var(--border);align-items: start;gap:.75rem;padding:.85rem 0}.subject-list li:first-child{border-top:0}@media (max-width:760px){.subject-groups{grid-template-columns:1fr}.subject-admin-list article{grid-template-columns:2.25rem minmax(0,1fr)}.subject-admin-list article .row-actions{grid-column:2;justify-self:start}}.transport-admin{display:grid;gap:1rem}.transport-student-list{display:grid;gap:.9rem}.transport-student-card{display:grid;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:.9rem;padding:1rem}.transport-student-card.uses-transport{border-color:color-mix(in srgb,var(--accent)34%,var(--border))}.transport-student-head{display:flex;justify-content:space-between;align-items: center;gap:1rem}.transport-student-head>div{display:grid;gap:.18rem;min-width:0}.transport-student-head strong{overflow-wrap:anywhere}.transport-student-head span{color:var(--dim);font-size:.8rem}.transport-toggle{display:flex;color:var(--text);align-items: center;gap:.55rem;font-weight:750}.transport-toggle input{accent-color:var(--accent);width:1.15rem;height:1.15rem}.transport-fields{display:grid;border-top:1px solid var(--border);gap:.85rem;padding-top:.85rem}.transport-fields label{display:grid;color:var(--dim);gap:.4rem;font-size:.78rem;font-weight:750}.transport-fields textarea{resize:vertical}.transport-fieldset{display:grid;border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);gap:.7rem;margin:0;padding:.85rem}.transport-fieldset legend{color:var(--text);padding:0 .4rem;font-size:.82rem;font-weight:800}.transport-driver-grid{display:grid;grid-template-columns:minmax(8.5rem,.55fr)1fr;align-items: center;gap:1rem}.driver-photo-editor{display:grid;justify-items:start;gap:.5rem}.driver-photo-editor small{color:var(--dim);overflow-wrap:anywhere}.driver-avatar{width:4.5rem;height:4.5rem}.file-button{position:relative;overflow:hidden;cursor:pointer}.file-button input{position:absolute;opacity:0;cursor:pointer;inset:0}.parent-transport-card{display:grid;gap:.85rem}.transport-contact-hint{color:var(--dim);margin:0}.parent-transport-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.parent-transport-grid>article{display:grid;background:var(--subtle);border-radius:calc(var(--radius) - 4px);align-content: start;gap:.35rem;padding:.9rem}.parent-transport-grid p{color:var(--dim);margin:0}.driver-contact-card{grid-template-columns:auto 1fr;align-items: start}.parent-driver-avatar{width:3.75rem;height:3.75rem}.transport-call{display:inline-flex;text-decoration:none;align-items: center;gap:.35rem;width:-moz-fit-content;width:fit-content;margin-top:.35rem}.transport-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:0}.transport-summary>div{min-width:0}.transport-summary dt{color:var(--dim);font-size:.75rem;font-weight:750}.transport-summary dd{color:var(--text);overflow-wrap:anywhere;margin:.2rem 0 0;font-weight:700}.transport-save-row{display:flex;align-items: center;gap:.75rem}.transport-save-row span{color:var(--success);font-size:.82rem;font-weight:750}.transport-module-button{display:inline-flex;align-items: center;gap:.35rem}.transport-module-button.is-enabled{color:var(--success)}@media (max-width:560px){.transport-student-head{flex-direction:column;align-items: flex-start}.transport-toggle{background:var(--subtle);border-radius:8px;width:100%;padding:.65rem}.transport-driver-grid,.parent-transport-grid,.transport-summary{grid-template-columns:1fr}.driver-contact-card{grid-template-columns:auto 1fr}.transport-save-row{flex-direction:column;align-items:stretch}.transport-save-row button{width:100%}}.homework-section{display:grid;gap:1rem}.homework-filter{display:grid;color:var(--dim);gap:.4rem;max-width:22rem;font-size:.8rem;font-weight:750}.homework-list{display:grid;gap:.75rem}.homework-card{display:grid;border:1px solid var(--border);border-radius:calc(var(--radius) - 3px);background:var(--surface);gap:.7rem;padding:1rem}.homework-card-head{display:flex;justify-content:space-between;align-items: flex-start;gap:.8rem}.homework-card-head h3{margin:.2rem 0;font-size:1rem}.homework-card-head p,.homework-description{color:var(--dim);margin:0}.homework-subject{color:var(--accent);font-size:.75rem;font-weight:800}.homework-status{border-radius:999px;flex:none;padding:.28rem .55rem;font-size:.72rem;font-weight:800}.homework-status.upcoming{color:var(--accent);background:color-mix(in srgb,var(--accent)12%,transparent)}.homework-status.overdue{color:var(--danger);background:color-mix(in srgb,var(--danger)12%,transparent)}.homework-status.submitted{color:var(--success);background:color-mix(in srgb,var(--success)12%,transparent)}.homework-meta{display:flex;color:var(--dim);flex-wrap:wrap;gap:.45rem 1rem;font-size:.82rem}.homework-meta span,.homework-attachment{display:inline-flex;align-items: center;gap:.35rem}.homework-attachment{color:var(--accent);text-decoration:none;width:-moz-fit-content;width:fit-content;font-weight:750}.homework-card .row-actions{margin-top:.15rem}.homework-submit-box,.homework-my-copy,.homework-correction-box{display:grid;border:1px solid var(--border);border-radius:calc(var(--radius) - 5px);background:color-mix(in srgb,var(--accent)5%,var(--surface));gap:.35rem;padding:.7rem .8rem;font-size:.85rem}.homework-submit-box p,.homework-my-copy span,.homework-correction-box p{color:var(--dim);margin:0}.homework-my-copy strong,.homework-correction-box strong{color:var(--text)}.homework-deposit-button{display:inline-flex;border-radius:calc(var(--radius) - 5px);background:var(--accent);color:#fff;cursor:pointer;justify-content:center;align-items: center;gap:.4rem;padding:.5rem .8rem;font-size:.82rem;font-weight:800}.homework-tracking-summary{color:var(--dim);margin:0;font-size:.85rem;font-weight:700}.homework-copies-list{display:grid;gap:.8rem}.homework-copy-row{display:grid;border:1px solid var(--border);border-radius:calc(var(--radius) - 5px);background:var(--surface);gap:.6rem;padding:.85rem}.homework-copy-row h3{margin:0;font-size:.95rem}.homework-copy-row p{color:var(--dim);margin:.15rem 0 0;font-size:.82rem}.homework-correct-form{display:grid;gap:.6rem}@media (max-width:560px){.homework-card-head{flex-direction:column}.homework-card .row-actions{flex-direction:column;align-items:stretch}.homework-card .row-actions button{justify-content:center;width:100%}}.exam-section{display:grid;gap:18px}.exam-list{display:grid;gap:12px}.exam-card{display:grid;grid-template-columns:64px minmax(0,1fr);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:14px;padding:16px}.exam-date{display:flex;background:color-mix(in srgb,var(--accent)12%,var(--surface));color:var(--accent);border-radius:14px;flex-direction:column;justify-content:center;align-self: start;align-items: center;min-height:62px}.exam-date b{font-size:1.45rem;line-height:1}.exam-date span{text-transform:uppercase;margin-top:5px;font-size:.78rem;font-weight:700}.exam-card-body{min-width:0}.exam-card-head{display:flex;justify-content:space-between;align-items: flex-start;gap:12px}.exam-card h3{margin:4px 0 2px;font-size:1.02rem}.exam-meta{display:flex;color:var(--dim);flex-wrap:wrap;gap:7px 14px;margin-top:10px;font-size:.84rem}.exam-meta span{display:inline-flex;align-items: center;gap:5px}.exam-score{color:var(--dim);white-space:nowrap;font-size:.78rem}.exam-score.has-score{color:var(--accent);font-size:1rem}.exam-grade-list{display:grid;overflow:auto;gap:9px;max-height:min(56vh,520px);padding-right:4px}.exam-grade-list label{display:grid;grid-template-columns:minmax(0,1fr)90px 42px;align-items: center;gap:8px;margin:0}.exam-grade-list input{min-width:0}.exam-grade-list small{color:var(--dim)}@media (max-width:520px){.exam-card{grid-template-columns:52px minmax(0,1fr);gap:11px;padding:13px}.exam-date{border-radius:12px;min-height:54px}.exam-date b{font-size:1.2rem}.exam-card-head{display:block}.exam-score{display:block;margin-top:7px}.exam-grade-list label{grid-template-columns:minmax(0,1fr)72px 34px}}.activity-journal{display:grid;gap:18px}.journal-intro{color:var(--dim);max-width:720px}.journal-intro p{margin:0}.journal-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items: end;gap:12px;padding:16px}.journal-filters label{display:grid;color:var(--dim);gap:6px;min-width:0;font-size:13px;font-weight:700}.journal-filters input,.journal-filters select{width:100%;min-width:0}.journal-list{display:grid;border-top:1px solid var(--border);gap:0}.journal-row{display:grid;grid-template-columns:12px minmax(0,1fr);border-bottom:1px solid var(--border);gap:12px;padding:16px 4px}.journal-marker{background:var(--accent);border-radius:50%;width:8px;height:8px;margin-top:7px}.journal-row-head{display:flex;justify-content:space-between;align-items: center;gap:10px}.journal-row p{margin:5px 0;line-height:1.45}.journal-row small{color:var(--dim)}.journal-action{background:color-mix(in srgb,var(--accent)12%,var(--surface));color:var(--accent);border-radius:999px;flex:none;padding:4px 8px;font-size:12px;font-weight:800}@media (max-width:900px){.journal-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.journal-filters{grid-template-columns:1fr;padding:14px}.journal-filters .secondary{width:100%}.journal-row-head{flex-direction:column;align-items: flex-start}}.push-settings{overflow:clip;margin-block-start:1rem;margin-block-end:1rem;padding:0}.push-settings summary{display:flex;cursor:pointer;list-style:none;justify-content:space-between;align-items: center;gap:1rem;min-height:3.5rem;padding:.9rem 1rem}.push-settings summary::-webkit-details-marker{display:none}.push-settings summary>span{display:flex;align-items: center;gap:.65rem}.push-settings summary small{color:var(--dim);text-align:end}.push-settings[open] summary{border-bottom:1px solid var(--border)}.push-settings-body{display:grid;gap:.9rem;padding:1rem}.push-settings-body>p{color:var(--dim);margin:0;line-height:1.5}.push-settings-body>button{justify-self:start}.push-settings fieldset{display:grid;border:0;margin:.2rem 0;padding:0}.push-settings legend{color:var(--text);width:100%;margin-bottom:.25rem;font-weight:750}.push-option{display:flex;border-bottom:1px solid var(--border);justify-content:space-between;align-items: center;gap:1rem;min-height:3rem}.push-option:last-child{border-bottom:0}.push-option input{accent-color:var(--accent);width:1.2rem;height:1.2rem}@media (max-width:640px){.push-settings summary{align-items: flex-start}.push-settings summary small{max-width:9rem}.push-settings-body>button{width:100%}}.annual-decision-generator{display:grid;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:14px;padding:20px}.annual-decision-generator .primary{justify-self:start}.annual-year-filter{display:flex;justify-content:flex-end;margin:18px 0 10px}.annual-year-filter label{min-width:min(100%,240px)}.annual-list-stack{display:grid;gap:18px}.annual-list-card{overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.annual-list-card.is-archived{opacity:.78}.annual-list-head{display:flex;border-bottom:1px solid var(--border);justify-content:space-between;align-items: flex-start;gap:16px;padding:18px 20px}.annual-list-head h3{margin:7px 0 4px}.annual-list-head p,.annual-list-head small{color:var(--dim)}.annual-list-status{display:inline-flex;background:color-mix(in srgb,var(--accent)14%,transparent);color:var(--accent);border-radius:999px;padding:3px 9px;font-size:.75rem;font-weight:750}.annual-list-status.archived{background:color-mix(in srgb,var(--dim)14%,transparent);color:var(--dim)}.annual-decision-table{display:grid}.annual-decision-table-head,.annual-decision-row{display:grid;grid-template-columns:minmax(180px,1.3fr)minmax(125px,.45fr)minmax(270px,1fr)auto;align-items: center;gap:14px;padding:12px 20px}.annual-decision-table-head{color:var(--dim);border-bottom:1px solid var(--border);font-size:.78rem;font-weight:750}.annual-decision-row+.annual-decision-row{border-top:1px solid var(--border)}.annual-student,.annual-average{display:grid;gap:3px}.annual-student span,.annual-average span{color:var(--dim);font-size:.78rem}.annual-choice{display:grid;gap:7px}.annual-choice label{display:grid;gap:5px}.annual-choice label>span{color:var(--dim);font-size:.78rem;font-weight:700}@media (max-width:720px){.annual-list-head{display:grid}.annual-list-head .row-actions{width:100%}.annual-list-head .row-actions button{flex:1}.annual-decision-table-head{display:none}.annual-decision-row{grid-template-columns:minmax(0,1fr)auto;gap:12px;padding:16px}.annual-choice{grid-column:1/-1}.annual-decision-row>button{grid-column:1/-1;width:100%}.annual-year-filter{justify-content:stretch}.annual-year-filter label{width:100%}}.honor-roll-hero{display:flex;justify-content:space-between;align-items: center;gap:24px}.honor-medallion{display:grid;color:#12304a;background:#f2b544;border-radius:50%;flex:0 0 76px;place-items: center;width:76px;height:76px;box-shadow:inset 0 0 0 7px #fff8e6,0 10px 24px #b7790033}.honor-medallion span{font-variant-numeric:tabular-nums;font-size:2rem;font-weight:850}.honor-roll-table{display:grid}.honor-roll-table-head,.honor-roll-row{display:grid;grid-template-columns:72px minmax(180px,1.4fr)minmax(130px,.55fr)minmax(150px,.65fr);align-items: center;gap:14px;padding:13px 20px}.honor-roll-table-head{color:var(--dim);border-bottom:1px solid var(--border);font-size:.78rem;font-weight:750}.honor-roll-row+.honor-roll-row{border-top:1px solid var(--border)}.honor-roll-row.is-top{background:color-mix(in srgb,#f2b544 9%,var(--surface))}.honor-rank{display:grid;background:color-mix(in srgb,var(--text)7%,transparent);font-variant-numeric:tabular-nums;border-radius:50%;place-items: center;width:38px;height:38px;font-weight:800}.honor-roll-row.is-top .honor-rank{color:#12304a;background:#f2b544}.honor-mention{color:var(--text);background:color-mix(in srgb,var(--accent)10%,transparent);border-radius:999px;justify-self:start;padding:5px 9px;font-size:.78rem;font-weight:750}.honor-mention.mention-excellent,.honor-mention.mention-very_good{color:#715000;background:#fff1bd}@media (prefers-color-scheme:dark){.honor-mention.mention-excellent,.honor-mention.mention-very_good{color:#ffd96a;background:#45380f}}@media (max-width:720px){.honor-roll-hero{align-items: flex-start}.honor-medallion{flex-basis:56px;width:56px;height:56px}.honor-medallion span{font-size:1.4rem}.honor-roll-table-head{display:none}.honor-roll-row{grid-template-columns:48px minmax(0,1fr)auto;gap:10px;padding:14px 16px}.honor-roll-row .honor-mention{grid-column:2/-1}}@media print{.sidebar,.bottom-nav,.topbar,.annual-decision-generator,.annual-year-filter,.annual-list-head .row-actions,.annual-decision-row button{display:none!important}.annual-list-card{break-inside:avoid;border:0}}.justification-portal,.justification-admin{display:grid;gap:1rem}.justification-compose{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.justification-compose summary{cursor:pointer;color:var(--accent);padding:.9rem 1rem;font-weight:800}.justification-compose[open] summary{border-bottom:1px solid var(--border)}.justification-compose form{display:grid;gap:.9rem;padding:1rem}.compact-heading{margin-top:.35rem}.justification-list{display:grid;gap:.75rem}.justification-card{display:grid;border:1px solid var(--border);border-radius:calc(var(--radius) - 3px);background:var(--surface);gap:.7rem;padding:1rem}.justification-card>p,.justification-response p{white-space:pre-wrap;margin:0;line-height:1.5}.justification-card>small{color:var(--dim)}.justification-card-head,.justification-filter{display:flex;justify-content:space-between;align-items: flex-start;gap:.8rem}.justification-card-head>div{display:grid;gap:.25rem}.justification-card-head small{color:var(--dim)}.justification-status{border-radius:999px;flex:none;padding:.3rem .55rem;font-size:.74rem;font-weight:800}.justification-status.is-pending{color:#8a5a00;background:#fff1bd}.justification-status.is-approved{color:var(--success);background:color-mix(in srgb,var(--success)12%,transparent)}.justification-status.is-rejected{color:var(--danger);background:color-mix(in srgb,var(--danger)12%,transparent)}.justification-response{display:grid;background:var(--subtle);border-radius:calc(var(--radius) - 5px);gap:.35rem;padding:.75rem}.justification-review{display:grid;border-top:1px solid var(--border);gap:.7rem;padding-top:.7rem}.justification-filter{align-items: end}.justification-filter label{min-width:min(100%,16rem)}.justification-filter>span{color:var(--dim);font-weight:800}@media (prefers-color-scheme:dark){.justification-status.is-pending{color:#ffd36a;background:#423612}}@media (max-width:560px){.justification-card-head,.justification-review .row-actions{flex-direction:column}.justification-review .row-actions button{width:100%}}.justification-status.is-ready{color:var(--success);background:color-mix(in srgb,var(--success)12%,transparent)}.certificate-types{display:grid;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:.75rem;padding:1rem}.certificate-type-form{display:grid;grid-template-columns:minmax(0,1fr)auto;align-items: end;gap:.7rem}.certificate-type-list{display:flex;flex-wrap:wrap;gap:.5rem}.certificate-type-list>span{display:inline-flex;background:var(--subtle);border-radius:999px;align-items: center;gap:.55rem;padding:.4rem .5rem .4rem .7rem;font-size:.85rem}.certificate-type-list button{color:var(--danger);font:inherit;cursor:pointer;background:0 0;border:0;font-weight:700}@media (max-width:560px){.certificate-type-form{grid-template-columns:1fr}.certificate-type-form button{width:100%}}.staff-portal-main{display:grid;padding-bottom:calc(32px + env(safe-area-inset-bottom));gap:20px;max-width:1120px;margin:0 auto}.staff-permission-banner{display:grid;background:color-mix(in srgb,var(--accent)9%,var(--surface));border:1px solid color-mix(in srgb,var(--accent)28%,var(--border));border-radius:var(--radius);gap:5px;padding:14px 16px}.staff-permission-banner strong{color:var(--accent);font-size:.84rem}.staff-permission-banner p{color:var(--dim);margin:0;line-height:1.5}.support-mode-banner{display:flex;background:color-mix(in srgb,var(--accent)10%,var(--surface));border:1px solid color-mix(in srgb,var(--accent)35%,var(--border));border-radius:var(--radius);flex-wrap:wrap;align-items: center;gap:8px 14px;margin:12px 0;padding:12px 16px}.support-mode-banner strong{color:var(--accent);font-size:.9rem}.support-mode-banner span{color:var(--dim);font-size:.84rem;line-height:1.45}.support-mode-banner .compact-button{margin-inline-start:auto}.staff-portal-main .professional-block{margin:0}.staff-portal-main .professional-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.staff-portal-main .professional-form label:has(textarea){grid-column:1/-1}.staff-portal-main .professional-form button{justify-self:start}.lesson-book-portal .record-row small{display:block;color:var(--dim);margin-top:8px;line-height:1.45}.lesson-book-portal .record-row small b{color:var(--text)}@media (max-width:680px){.staff-portal-main .professional-form{grid-template-columns:1fr}.staff-portal-main .professional-form label:has(textarea){grid-column:auto}.staff-portal-main .section-heading:has(select){align-items:stretch}.staff-portal-main .section-heading label{width:100%}}.statistics-kpis.static article{display:grid;background:var(--surface);color:var(--text);text-align:left;gap:6px;min-width:0;padding:16px}.stat-kpi .stat-delta{color:var(--dim);white-space:normal;font-size:10px}.statistics-export-actions{display:flex;flex-wrap:wrap;align-items: end;gap:8px}.statistics-action-lists{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-bottom:16px}.stat-list{display:grid}.stat-list-row{display:flex;border:0;border-top:1px solid var(--border);color:var(--text);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items: center;gap:10px;width:100%;padding:10px 12px}.stat-list-row:hover{background:var(--surface-2)}.stat-list-row span{display:grid;gap:2px;min-width:0}.stat-list-row small{color:var(--dim);font-size:11px}.stat-list-row b{color:var(--blue);white-space:nowrap}.chart-frame.compact-chart{height:150px;min-height:130px;margin-top:10px}.owner-stat-modules{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.module-filters{align-items: end}.social-auth{display:flex;flex-direction:column;gap:10px;margin-top:16px;padding-top:2px}.social-auth-divider{position:relative;display:flex;color:var(--dim);justify-content:center;align-items: center;margin:4px 0 8px;font-size:14px}.social-auth-divider:before,.social-auth-divider:after{content:"";position:absolute;border-top:1px solid var(--border);width:42%;top:50%}.social-auth-divider:before{left:0}.social-auth-divider:after{right:0}.social-auth-button{display:flex;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;justify-content:center;align-items: center;gap:12px;width:100%;min-height:48px;padding:10px 14px;font-weight:600}.social-auth-button:hover:not(:disabled){border-color:var(--accent)}.social-auth-button:focus-visible{outline:3px solid color-mix(in srgb,var(--accent)45%,transparent);outline-offset:2px}.social-auth-button:disabled{cursor:wait;opacity:.62}.social-auth-badge{display:inline-flex;color:#fff;border-radius:50%;flex:0 0 26px;justify-content:center;align-items: center;width:26px;height:26px;font-weight:800;line-height:1}.badge-google{background:#4285f4}.badge-microsoft{background:#00a4ef}.social-account-settings .push-settings-body{display:flex;flex-direction:column;gap:14px}.social-provider-row{display:flex;border-top:1px solid var(--border);justify-content:space-between;align-items: center;gap:16px;padding-top:14px}.social-provider-row strong,.social-provider-row small{display:block}.social-provider-row small{color:var(--dim);overflow-wrap:anywhere;margin-top:3px}.social-provider-config{display:flex;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:16px;margin:0 0 20px;padding:20px}.social-provider-config legend{color:var(--text);padding:0 8px;font-size:18px;font-weight:750}.social-provider-config label{display:flex;color:var(--text);flex-direction:column;gap:8px;font-weight:600}.social-provider-config input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;width:100%;min-height:44px;padding:9px 11px;font-weight:400}.social-provider-config small{color:var(--dim);font-weight:400}@media (max-width:1020px){.social-provider-row{flex-direction:column;align-items: flex-start}}.video-embed{position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:var(--surface);width:100%;margin:10px 0}.video-embed iframe{position:absolute;border:0;width:100%;height:100%;inset:0}.learning-section fieldset{border:1px solid var(--border);border-radius:var(--radius);display:grid;gap:8px;margin:10px 0;padding:12px}.learning-section legend{padding:0 6px;font-weight:650}.offline-banner{display:grid;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:4px;margin:0 0 14px;padding:10px 14px}.offline-banner p{display:flex;align-items: center;gap:7px;margin:0;font-weight:650}.offline-banner .offline-banner-note,.offline-banner-note{color:var(--dim);font-weight:400}.offline-notice{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:0 0 14px;padding:10px 14px}.offline-conflicts .record-row{margin-bottom:8px}.portal-shell.offline-mode button:not(.back-link){pointer-events:none;opacity:.55}.portal-shell.offline-mode .portal-toolbar button,.portal-shell.offline-mode .teacher-attendance button,.portal-shell.offline-mode .offline-conflicts button{pointer-events:auto;opacity:1}.portal-shell.offline-mode input,.portal-shell.offline-mode select,.portal-shell.offline-mode textarea{pointer-events:none;opacity:.7}.portal-shell.offline-mode .teacher-attendance input,.portal-shell.offline-mode .teacher-attendance select{pointer-events:auto;opacity:1}.branding-header-brand{display:inline-flex;align-items: center;gap:10px;min-width:0}.branding-header-name{color:var(--text);overflow-wrap:anywhere;font-weight:800}.branding-brand-name{color:var(--text);font-size:22px;font-weight:800}.powered-by-notice{color:var(--dim);margin:10px 2px 0;font-size:12px}.branding-panel{display:grid;gap:16px}.branding-color-field{display:flex;align-items: center;gap:10px}.branding-color-field input[type=color]{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:52px;height:40px;padding:2px}.branding-color-field input[type=text]{flex:1;min-width:0}.branding-thumb{object-fit:contain;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:64px;height:64px}.branding-preview{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);display:grid;gap:8px;padding:14px}.branding-preview-chip{display:inline-flex;color:#fff;overflow-wrap:anywhere;border-radius:999px;align-items: center;gap:8px;max-width:100%;padding:8px 12px;font-weight:700}.branding-dns{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);display:grid;gap:10px;padding:14px}.branding-dns code{overflow-wrap:anywhere;font-size:13px}.branding-domain-list{display:grid;gap:10px}.branding-domain-list .record-row{margin:0}.api-block{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);display:grid;gap:12px;padding:14px}.api-block h2,.api-block h3{margin:0}.api-key-list{display:grid;gap:10px}.api-key-list .record-row{margin:0}.api-key-list code,.api-secret-box code{overflow-wrap:anywhere;font-size:13px}.api-secret-box{border:1px solid var(--accent);border-radius:var(--radius);display:grid;background:var(--bg);gap:8px;padding:12px}.api-secret-box code{font-size:14px;font-weight:700}.api-scopes{border:1px solid var(--border);border-radius:var(--radius);display:grid;gap:8px;min-width:0;padding:10px 12px}.api-scopes legend{color:var(--dim);padding:0 6px;font-size:13px}.api-calls-chip{display:grid;justify-items:end;gap:2px}.api-calls-chip strong{font-size:22px}.api-calls-chip span{color:var(--dim);font-size:12px}.api-params{display:grid;gap:4px;margin:0;padding-inline-start:18px}.api-code{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);overflow-x:auto;white-space:pre;direction:ltr;text-align:left;margin:0;padding:12px;font-size:12.5px;line-height:1.5}.sponsorship-panel .professional-form{display:grid;gap:10px}.sponsor-link-row{display:flex;border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items: center;gap:8px;padding:8px 0}.allergy-alert-badge{display:inline-flex;background:var(--danger);color:#fff;border-radius:999px;align-items: center;width:max-content;margin-top:4px;padding:.2rem .46rem;font-size:.66rem;font-weight:800;line-height:1.2}.health-student-picker{display:grid;gap:6px;margin:12px 0;font-weight:650}.health-details{margin-top:4px}.health-readonly-note{color:var(--dim);font-size:.82rem}.parent-health .professional-form{display:grid;gap:10px}.infirmary-admin .back-link{margin:10px 0 14px}.status-archived{background:var(--border);color:var(--dim)}.checkbox-line{display:flex;align-items: center;gap:8px}.checkbox-line input[type=checkbox]{flex:none;width:auto;margin:0}.alumni-portal .professional-form,.alumni-admin .professional-form{display:grid;gap:10px}.alumni-admin .professional-form .form-grid,.alumni-portal .professional-form .form-grid{margin:0}@media (max-width:680px){.alumni-portal .form-grid.two,.alumni-admin .form-grid.two{grid-template-columns:1fr}}.ai-privacy-warning{display:flex;border:1px solid var(--border);background:var(--bg);color:var(--dim);border-radius:10px;align-items: flex-start;gap:8px;margin:10px 0 14px;padding:10px 12px;font-size:.86rem;line-height:1.45}.ai-privacy-warning svg{flex:none;margin-top:1px}.ai-assistant-form{display:grid;gap:12px}.ai-assistant-form label{display:grid;gap:6px;font-weight:650}.ai-assistant-form select,.ai-assistant-form textarea{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;width:100%;padding:10px}.ai-assistant-form textarea{resize:vertical;min-height:120px;line-height:1.55}.ai-usage-line{color:var(--dim);margin:0;font-size:.84rem}.ai-result{margin-top:18px}.ai-result-text{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;border-radius:10px;margin:0;padding:12px;font-size:.93rem;line-height:1.6}.ai-usage-panel{margin-top:26px}.ai-usage-school{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin-bottom:14px;padding:14px}.ai-usage-school-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items: end;gap:10px;margin-bottom:10px}.ai-budget-row{display:flex;flex-wrap:wrap;align-items: end;gap:8px}.ai-budget-row label{display:grid;color:var(--dim);gap:4px;font-size:.8rem;font-weight:650}.ai-budget-row input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;width:150px;padding:8px 10px}.ai-usage-table{display:grid;gap:4px}.ai-usage-row{display:grid;grid-template-columns:1.2fr .8fr 1fr 1fr 1fr;background:var(--bg);border-radius:8px;align-items: center;gap:8px;padding:7px 8px;font-size:.86rem}.ai-usage-header{color:var(--dim);background:0 0;font-size:.78rem;font-weight:700}@media (max-width:680px){.ai-usage-row{grid-template-columns:1fr .7fr 1fr 1fr}.ai-usage-row span:nth-child(3){display:none}.ai-budget-row input{width:120px}}.keys-services{display:grid;gap:16px}.keys-services .smtp-settings,.keys-services .support-page{margin:0}.keys-managed-note{border:1px dashed var(--border);background:var(--surface)}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.countries-scroll,.payroll-scroll{overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);max-height:min(70vh,640px)}.table-scroll .data-table{min-width:560px}.countries-table{min-width:720px}.payroll-table{min-width:860px}.data-table{border-collapse:collapse;width:100%;font-size:.88rem}.data-table th,.data-table td{text-align:start;border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere;padding:8px 10px}.data-table th{color:var(--dim);white-space:nowrap;font-size:.78rem}.data-table thead th{position:sticky;z-index:1;background:var(--surface);top:0}.data-table .num{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}.payroll-num-input{text-align:end;font-variant-numeric:tabular-nums;width:96px;max-width:100%}.payroll-receipt{display:block;color:var(--dim);overflow-wrap:anywhere;margin-top:4px;font-size:.78rem}.payroll-actions{flex-wrap:wrap;margin-top:6px}.inline-form{display:flex;flex-wrap:wrap;align-items: end;gap:8px;margin-top:12px}.inline-form label{display:grid;color:var(--dim);flex:160px;gap:4px;min-width:0;font-size:.82rem;font-weight:650}.inline-form input{width:100%;min-width:0}.owner-summary,.section-heading,.stripe-config-head,.ai-usage-school-head{min-width:0}.section-heading h2,.stripe-config-head h2,.support-hero h2{overflow-wrap:anywhere}.records-list,.payment-history-list,.license-school-list,.support-request-list{min-width:0}.record-row,.license-school-row,.ai-usage-school{overflow-wrap:anywhere;min-width:0}[dir=rtl] .data-table th,[dir=rtl] .data-table td{text-align:right}[dir=rtl] .data-table .num{text-align:left}@media (max-width:680px){.form-grid.two,.form-grid.three{grid-template-columns:1fr}.table-scroll .data-table{min-width:520px}.ai-usage-school-head,.stripe-config-head{align-items:stretch}.support-actions{flex-wrap:wrap}.support-actions .primary,.support-actions .secondary{flex:auto}}.teacher-account-row:has(>.teacher-account-info:first-child){grid-template-columns:minmax(0,1fr)auto}.teacher-account-info>code{display:inline-block;background:var(--bg);word-break:break-all;border-radius:6px;margin-top:2px;padding:3px 7px;font-size:11px}.professional-panel{margin-top:30px}.professional-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:14px 0 6px}.professional-grid>article{display:grid;border:1px solid var(--border);background:var(--surface);border-radius:12px;align-content: start;gap:6px;padding:16px}.professional-grid>article h3{color:var(--dim);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:11px;font-weight:760}.professional-grid>article p{color:var(--dim);margin:0 0 6px;font-size:12px}.professional-grid>article button{justify-self:start}.professional-panel>.professional-block{border-top:1px solid var(--border);margin-top:26px;padding-top:20px}.professional-panel .professional-form{display:grid;grid-template-columns:150px repeat(3,minmax(0,1fr))auto;gap:10px;margin:12px 0}.professional-panel .file-drop{display:block;border:1px dashed var(--border);background:var(--surface);text-align:center;color:var(--dim);cursor:pointer;border-radius:12px;margin:10px 0;padding:18px}.import-report{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin:12px 0;padding:12px 14px}@media (max-width:760px){.professional-panel .professional-form{grid-template-columns:1fr}}.module-page .record-main{display:flex;flex-wrap:wrap;align-items: center;gap:6px 12px}.module-page .record-main>strong,.module-page .record-main>p,.module-page .record-main>small{flex:1 0 100%;margin:0}.module-page .record-main>label{display:grid;color:var(--dim);flex:240px;gap:4px;font-size:11px;font-weight:700}.module-page .record-main>label input{width:100%}.status-badge{display:inline-flex;background:color-mix(in srgb,var(--chart-green)16%,transparent);color:var(--text);border-radius:999px;flex:none;align-items: center;padding:3px 9px;font-size:11px;font-weight:740}.status-badge.muted{border:1px solid var(--border);background:var(--bg);color:var(--dim)}.owner-support-gate{display:grid;border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:14px;justify-items:center;gap:10px;max-width:620px;margin:20px auto;padding:26px}.owner-support-gate p{color:var(--dim);margin:0;font-size:13px;line-height:1.5}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:12px 0}.stat-card{display:grid;border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:4px;padding:12px 14px}.stat-card>span{color:var(--dim);font-size:11px;font-weight:700}.stat-card>strong{font-size:16px}.professional-block>label{display:grid;color:var(--dim);gap:5px;max-width:280px;margin:10px 0;font-size:11px;font-weight:700}.professional-block>.priority-details{margin:10px 0}:where(main label:not(:has(>input[type=checkbox],>input[type=radio]))){display:grid;color:var(--dim);gap:5px;font-size:11px;font-weight:700}:where(main input:not(:-webkit-any([type=checkbox],[type=radio],[type=file],[type=range],[type=color])),main select){box-sizing:border-box;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:9px;width:100%;min-height:40px;padding:0 11px;font-size:13px}:where(main input:not(:-moz-any([type=checkbox],[type=radio],[type=file],[type=range],[type=color])),main select){box-sizing:border-box;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:9px;width:100%;min-height:40px;padding:0 11px;font-size:13px}:where(main input:not(:is([type=checkbox],[type=radio],[type=file],[type=range],[type=color])),main select){box-sizing:border-box;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:9px;width:100%;min-height:40px;padding:0 11px;font-size:13px}:where(main textarea){box-sizing:border-box;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:9px;width:100%;min-height:90px;padding:10px 11px;font-size:13px}.record-meta{flex-wrap:wrap}.record-meta>span{white-space:nowrap;flex:none}.receipt-brand{display:flex;align-items: center;gap:12px;margin-bottom:12px}.receipt-brand img{object-fit:contain;width:56px;height:56px}.advertising-banner{position:relative}.advertising-label{position:absolute;z-index:1;color:#fff;letter-spacing:.04em;background:#0000008c;border-radius:99px;padding:2px 8px;font-size:10px;font-weight:700;top:8px;right:10px}.advertising-frame{background:var(--surface);height:clamp(90px,18vw,180px)}.advertising-frame iframe{display:block;border:0;width:100%;height:100%}.ads-panel>.section-heading{margin-bottom:16px}.ads-card{border:1px solid var(--border);background:var(--surface);border-radius:14px;margin:0 0 22px;padding:18px}.ads-card h2{margin:0 0 10px;font-size:18px}.ads-card h3{margin:18px 0 8px;font-size:14px}.ads-switches{display:grid;gap:8px}.ads-switch{display:flex;border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:10px;align-items: flex-start;gap:10px;padding:10px 12px}.ads-switch.is-main{background:color-mix(in srgb,#4b1fa8 7%,var(--bg));border-color:#4b1fa8}.ads-switch input{flex:none;width:20px;height:20px;margin-top:2px}.ads-switch span{display:grid;gap:2px}.ads-switch small{color:var(--dim);font-size:12px}.ads-help{color:var(--dim);margin:10px 0;font-size:12px;line-height:1.5}.ads-inline{align-items: center;gap:6px;margin:0 14px 6px 0;display:inline-flex!important;color:var(--text)!important;font-size:12px!important;font-weight:600!important}.ads-inline input{width:16px;height:16px}.ads-inline span{display:grid}.ads-inline small{color:var(--dim);font-weight:500}.ads-form{border:1px dashed var(--border);border-radius:12px;margin:12px 0 18px;padding:14px}.ads-targets{border:1px solid var(--border);border-radius:10px;margin:10px 0;padding:10px 12px}.ads-targets legend{color:var(--dim);padding:0 6px;font-size:11px;font-weight:700}.ads-preview{max-width:640px;margin:10px 0}.ads-campaign{display:grid;grid-template-columns:220px minmax(0,1fr);border-bottom:1px solid var(--border);gap:14px;padding:14px 4px}.ads-campaign>img,.ads-noimg{aspect-ratio:16/5;object-fit:cover;border:1px solid var(--border);border-radius:8px;width:100%}.ads-noimg{display:flex;color:var(--dim);justify-content:center;align-items: center;font-size:12px}.ads-campaign-main p{color:var(--dim);margin:4px 0 0;font-size:12px}.ads-stats{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.ads-stats span{display:grid;background:var(--bg);color:var(--dim);border-radius:8px;padding:6px 10px;font-size:11px}.ads-stats b{color:var(--text);font-size:15px}.ads-schools{display:flex;flex-wrap:wrap}@media (max-width:760px){.ads-campaign{grid-template-columns:1fr}}.ads-panel{padding:8px 0 10px}.ads-panel>.section-heading h1{letter-spacing:-.035em;margin:4px 0 6px;font:750 clamp(28px,6vw,40px)/1.05 Aptos Display,ui-sans-serif}.ads-panel>.section-heading p:last-child{color:var(--dim);max-width:680px;margin:0;font-size:14px;line-height:1.5}.ads-card>h2,.ads-card .section-heading h2{font-weight:750}html.skolink-theme{--bg:#efe9fb;--surface:#fdfcff;--surface-2:#ece4fb;--text:#1c0f45;--dim:#5d5480;--border:#dcd1f3;--blue:#4b1fa8;--space-accent:#4b1fa8;--space-surface:var(--surface);--space-border:var(--border);--space-muted:var(--dim);color:var(--text)}html.skolink-theme,html.skolink-theme body{background-color:#efe9fb}html.skolink-theme body{background:radial-gradient(1100px 520px at 88% -8%,#d8c8fb 0%,#0000 62%),radial-gradient(900px 500px at 10% 110%,#e2d6fb 0%,#0000 60%),linear-gradient(#f4effd 0%,#e9e0fa 100%) fixed}html.skolink-theme .app-shell,html.skolink-theme .portal-shell,html.skolink-theme .student-entry-shell{background:0 0}html.skolink-theme .sidebar{background:linear-gradient(#160634 0%,#24095c 45%,#3a139a 100%);border-right-color:#0000;box-shadow:4px 0 24px #1e0a502e}html.skolink-theme .sidebar .nav-section h2{color:#b7a6ee}html.skolink-theme .sidebar nav button{color:#ddd4f8}html.skolink-theme .sidebar nav button:hover{color:#fff;background:#ffffff14}html.skolink-theme .sidebar nav button.active{color:#fff;background:linear-gradient(90deg,#fff3,#ffffff0f);box-shadow:inset 3px 0 #cdb9ff}html.skolink-theme .sidebar .nav-badge{box-shadow:0 0 0 2px #24095c}html.skolink-theme .sidebar .locale-picker.compact{border-top-color:#ffffff29}html.skolink-theme .sidebar .locale-picker select{color:#fff;background:#ffffff0f;border-color:#ffffff47}html.skolink-theme .sidebar .locale-picker select option{color:#1c0f45}html.skolink-theme .sidebar .powered-by-notice,html.skolink-theme .sidebar p{color:#b7a6ee}html.skolink-theme .sidebar .skolink-brand img{filter:drop-shadow(0 6px 14px #00000059)}@media (prefers-color-scheme:dark){html.skolink-theme{--bg:#140a33;--surface:#1d1147;--surface-2:#281a5e;--text:#f2eeff;--dim:#bdb3e2;--border:#3a2b7a;--blue:#b9a2ff;--space-accent:#b9a2ff}html.skolink-theme,html.skolink-theme body{background:#140a33}html.skolink-theme body{background:radial-gradient(1100px 520px at 88% -8%,#2c0c78 0%,#0000 62%),linear-gradient(#120830 0%,#1a0a45 100%) fixed}}html.skolink-theme main button.primary,html.skolink-theme main .primary-button{color:#fff;background:linear-gradient(135deg,#2c0c78 0%,#4b1fa8 60%,#6a3be0 100%);border-color:#0000;box-shadow:0 4px 14px #4b1fa847}html.skolink-theme main button.primary:disabled{opacity:.55;box-shadow:none}html.skolink-theme .portal-toolbar{background:linear-gradient(120deg,#160634 0%,#2a0c6e 55%,#3a139a 100%);border-radius:16px;padding:10px 14px;box-shadow:0 8px 24px #1e0a5038}html.skolink-theme .portal-toolbar .back-link{color:#e6deff}html.skolink-theme .portal-toolbar .back-link:hover{color:#fff}html.skolink-theme .portal-toolbar .compact-button,html.skolink-theme .portal-toolbar button.secondary{color:#fff;background:#ffffff1a;border-color:#ffffff40}html.skolink-theme .portal-toolbar select{color:#fff;background:#ffffff1a;border-color:#ffffff47}html.skolink-theme .portal-toolbar select option{color:#1c0f45}html.skolink-theme .portal-toolbar .skolink-header-logo{box-shadow:0 4px 14px #00000059}.social-icon-links{display:inline-flex;flex-wrap:wrap;gap:10px}.social-icon-links a{display:inline-flex;color:#fff;background:linear-gradient(135deg,#2c0c78,#5b2bd0);border-radius:12px;justify-content:center;align-items: center;width:40px;height:40px;box-shadow:0 4px 12px #3c148c40}.social-icon-links a:hover{transform:translateY(-2px)}.social-icon-links svg{width:20px;height:20px}.login-social{display:flex;color:var(--dim);flex-wrap:wrap;justify-content:center;align-items: center;gap:12px;margin:22px auto 8px;font-size:13px;font-weight:700}.social-field-label{display:inline-flex;align-items: center;gap:8px}.social-field-label svg{color:#4b1fa8;width:18px;height:18px}.social-preview{display:flex;border-top:1px solid var(--border);flex-wrap:wrap;align-items: center;gap:12px;margin-top:16px;padding-top:14px;font-size:13px}.privacy-panel .ads-card label{display:grid;gap:6px;margin:10px 0;font-weight:650}.privacy-panel .ads-card label input,.privacy-panel .ads-card label select{width:100%}.privacy-search{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}.privacy-search input{flex:220px;min-width:0}.privacy-person{align-items: center}.privacy-person.selected{border-color:#6d3fd6;box-shadow:0 0 0 2px #6d3fd62e}.privacy-confirm{border-color:var(--danger)}.privacy-confirm h2{color:var(--danger);overflow-wrap:anywhere}.privacy-list{display:grid;gap:6px;margin:8px 0 12px;padding-left:20px;line-height:1.45}.privacy-confirm .danger-button:disabled{opacity:.45;cursor:not-allowed}.privacy-export-block .section-heading{flex-wrap:wrap;gap:14px}.privacy-confirm .row-actions button.danger-button{background:var(--danger);color:#fff;border:0}.seo-panel .ads-card label:not(.ads-switch){display:grid;gap:6px;margin:10px 0;font-weight:650}.seo-panel .ads-card label:not(.ads-switch) input:not([type=checkbox]),.seo-panel .ads-card label textarea{width:100%}.seo-panel .ads-card label>small{color:var(--muted,#6b6680);font-weight:500}.seo-count.good{color:#1f8a4c!important}.seo-count.warn{color:#b26a00!important}.seo-score-card{display:grid;gap:14px}.seo-score{display:flex;align-items: center;gap:16px}.seo-score h2{margin:0 0 2px}.seo-score-ring{--seo-color:#c0392b;display:grid;text-align:center;background:radial-gradient(closest-side,var(--surface)76%,transparent 78% 100%),conic-gradient(var(--seo-color)calc(var(--seo-score)*1%),color-mix(in srgb,var(--seo-color)16%,transparent)0);border-radius:50%;flex:none;place-content: center;width:84px;height:84px}.seo-score-ring.mid{--seo-color:#d68910}.seo-score-ring.good{--seo-color:#1f8a4c}.seo-score-ring b{font-size:24px;line-height:1}.seo-score-ring span{opacity:.7;font-size:11px}.seo-checklist{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:6px 18px;margin:0;padding:0}.seo-checklist li{display:flex;align-items:baseline;gap:8px}.seo-checklist li span{text-align:center;flex:none;width:18px;font-weight:800}.seo-checklist li.ok span{color:#1f8a4c}.seo-checklist li.todo{opacity:.75}.seo-checklist li.todo span{color:#b26a00}.seo-serp{background:#fff;border:1px solid #e3e1ea;border-radius:12px;max-width:640px;margin:6px 0 14px;padding:16px 18px;font-family:Arial,Helvetica,sans-serif}.seo-serp-site{display:flex;align-items: center;gap:10px}.seo-serp-site img{object-fit:cover;background:#f1f3f4;border-radius:50%;width:28px;height:28px}.seo-serp-site span{display:grid;line-height:1.25}.seo-serp-site b{color:#202124;font-size:14px;font-weight:400}.seo-serp-site small{color:#4d5156;font-size:12px}.seo-serp-title{color:#1a0dab;overflow-wrap:anywhere;margin:6px 0 2px;font-size:20px;line-height:1.3}.seo-serp-desc{color:#4d5156;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.58}.seo-share-preview{overflow:hidden;background:#f0f2f5;border:1px solid #dadde1;border-radius:10px;max-width:520px;margin:6px 0 14px;font-family:Helvetica,Arial,sans-serif}.seo-share-image{aspect-ratio:1200/630;display:grid;color:#fff;background:#1e0b3d;place-items: center}.seo-share-image img{object-fit:cover;display:block;width:100%;height:100%}.seo-share-text{display:grid;gap:3px;padding:10px 12px}.seo-share-text small{color:#65676b;font-size:12px}.seo-share-text b{color:#050505;overflow-wrap:anywhere;font-size:16px}.seo-share-text p{color:#65676b;overflow-wrap:anywhere;margin:0;font-size:14px}.seo-image-actions{flex-wrap:wrap;align-items: center}.seo-image-actions .file-drop{margin:0}.seo-save{position:sticky;z-index:2;justify-content:flex-end;margin:-6px 0 22px;bottom:12px}.seo-save .primary{box-shadow:0 10px 24px -10px #2a0f4a8c}.seo-indexnow{display:flex;flex-wrap:wrap;justify-content:space-between;align-items: center;gap:12px}.seo-indexnow code{overflow-wrap:anywhere}.seo-links{display:flex;flex-wrap:wrap;gap:8px}.seo-links a.secondary{display:inline-flex;border:1px solid var(--border);text-decoration:none;border-radius:10px;align-items: center;min-height:40px;padding:8px 14px;font-weight:700}@media (prefers-color-scheme:dark){.seo-serp{background:#fff}}.login-brand-panel.is-custom{background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--accent,#f2b544)22%,transparent)0%,transparent 55%),linear-gradient(165deg,color-mix(in srgb,var(--blue)55%,#000)0%,var(--blue)100%)}.login-brand-panel.is-custom:after{background:radial-gradient(50% 50%,#ffffff1f 0%,#0000 70%)}.login-brand-initials{display:grid;color:#fff;letter-spacing:.02em;background:#ffffff24;border-radius:50%;place-items: center;width:100%;height:100%;font-size:clamp(36px,6vw,56px);font-weight:800}.login-brand-panel.is-custom .login-brand-medallion{background:color-mix(in srgb,var(--blue)70%,#000);border-color:#ffffff73}.branding-header-brand{flex:none}.branding-header-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px;font-weight:800}.form-hint{color:var(--dim,#6b6680);margin:8px 0 0;font-size:13px}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
