@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/open-sans-latin-400-normal-Bk63H6sG.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/open-sans-latin-ext-400-normal-URAvo6nN.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Open Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/open-sans-latin-600-normal-Cp4N6AwT.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Open Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/open-sans-latin-ext-600-normal-CXDaa6Q7.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Open Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/open-sans-latin-700-normal-CceUhp2e.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Open Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/open-sans-latin-ext-700-normal-DatbY7Hl.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/plus-jakarta-sans-latin-400-normal-Dhut76fR.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/plus-jakarta-sans-latin-ext-400-normal-D127hM_v.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/plus-jakarta-sans-latin-500-normal-Bf-nb4oT.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/plus-jakarta-sans-latin-ext-500-normal-9VZagAe1.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/plus-jakarta-sans-latin-600-normal-DLTa1BUW.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/plus-jakarta-sans-latin-ext-600-normal-DQgPU_Cg.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/plus-jakarta-sans-latin-700-normal-CfpNZvy6.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/plus-jakarta-sans-latin-ext-700-normal-BajbvANd.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--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,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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))}}:root{--edunux-wordmark-navy:#0b1f3a;--edunux-wordmark-teal:#16c7b2;--edunux-wordmark-white:#fff;--navy-50:#eef3f6;--navy-100:#d6e1e9;--navy-300:#7e99ab;--navy-600:#1a567a;--navy-700:#12405c;--navy-800:#0b2a3e;--navy-900:#071d2b;--teal-50:#edfbf7;--teal-100:#d3f7ee;--teal-300:#6fe3c8;--teal-500:#0fc39e;--teal-600:#0ca986;--teal-700:#0a8c70;--brand-50:var(--teal-50);--brand-100:var(--teal-100);--brand-500:var(--teal-500);--brand-600:var(--teal-600);--brand-700:var(--teal-700);--brand-900:var(--navy-800);--neutral-0:#fff;--neutral-50:#f8fafc;--neutral-100:#f1f5f9;--neutral-200:#e2e8f0;--neutral-300:#cbd5e1;--neutral-400:#94a3b8;--neutral-500:#64748b;--neutral-600:#475569;--neutral-700:#334155;--neutral-800:#1e293b;--neutral-950:#0b1220;--success:#0a8c70;--success-bg:#edfbf7;--warning:#f59e0b;--warning-bg:#fef6e7;--warning-text:#855006;--danger:#ef4444;--danger-bg:#fdeeee;--danger-text:#a52b31;--info:#0ea5e9;--info-bg:#eaf6fd;--info-text:#176b9b;--purple:#7c3aed;--purple-bg:#f3edfd;--ledger-surface:#fff;--ledger-soft:#f8fafc;--ledger-operational-surface:#fff;--ledger-operational-border:#d6e1e9;--ledger-operational-label:#64748b;--ledger-operational-amount:#0b2a3e;--ledger-operational-caption:#64748b;--ledger-operational-positive:#0a8c70;--ledger-operational-negative:#ef4444;--ledger-operational-icon-bg:#eef3f6;--ledger-operational-icon:#12405c;--ledger-signature-surface:#071d2b;--ledger-signature-border:#ffffff1a;--ledger-signature-label:#d6e1e9;--ledger-signature-amount:#0fc39e;--ledger-signature-caption:#d6e1e9;--ledger-signature-positive:#0fc39e;--ledger-signature-negative:#fca5a5;--ledger-signature-icon-bg:#ffffff1a;--ledger-signature-icon:#0fc39e;--status-urgent-bg:#fdeeee;--status-urgent-text:#a52b31;--status-urgent-border:#f5c2c4;--status-due-today-bg:#fef6e7;--status-due-today-text:#855006;--status-due-today-border:#f7dfae;--status-in-progress-bg:#eaf6fd;--status-in-progress-text:#176b9b;--status-in-progress-border:#b8ddf3;--status-planned-bg:#f1f5f9;--status-planned-text:#475569;--status-planned-border:#e2e8f0;--status-done-bg:#edfbf7;--status-done-text:#08795f;--status-done-border:#c3f0e4;--status-current-bg:#d3f7ee;--status-current-text:#08795f;--status-current-border:#6fe3c8;--status-neutral-bg:#f1f5f9;--status-neutral-text:#475569;--status-neutral-border:#e2e8f0;--table-header-bg:#f8fafc;--table-header-text:#475569;--focus:#6fe3c8;--chart-1:#0fc39e;--chart-2:#1a567a;--chart-3:#0ea5e9;--chart-4:#f59e0b;--chart-5:#7c3aed;--chart-6:#ef4444;--font-heading:"Open Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--font-sans:"Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Consolas, monospace;--font-display:var(--font-heading);--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--text-caption:.6875rem;--text-small:.75rem;--text-body:.875rem;--text-body-lg:1rem;--text-h6:.875rem;--text-h5:1rem;--text-h4:1.125rem;--text-h3:1.25rem;--text-h2:1.5rem;--text-h1:1.625rem;--text-display:2.75rem;--leading-caption:1rem;--leading-small:1rem;--leading-body:1.375rem;--leading-body-lg:1.5rem;--leading-h6:1.25rem;--leading-h5:1.5rem;--leading-h4:1.625rem;--leading-h3:1.75rem;--leading-h2:2rem;--leading-h1:2.125rem;--leading-display:3.25rem;--weight-h1:700;--weight-h2:700;--weight-h3:700;--weight-h4:600;--weight-h5:600;--weight-h6:600;--radius-sm:6px;--radius-control:10px;--radius-md:10px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-1:0 1px 2px #0f172a0d;--shadow-2:0 4px 12px #0f172a14;--shadow-3:0 12px 30px #0f172a1f;--shadow-modal:0 20px 40px #0f172a29;--motion-fast:.12s;--motion-normal:.2s;--motion-slow:.32s;--touch:44px;--sidebar:240px;--sidebar-collapsed:76px;--content:1600px;--teal-800:#08795f;--edunux-bg:#081226;--edunux-sidebar:#0a1730;--edunux-surface:#0d1b36;--edunux-surface-raised:#16294a;--edunux-border:#22375c;--edunux-divider:#1c2f50;--edunux-text:#eef3fa;--edunux-text-soft:#aeb9e1;--edunux-text-muted:#7f93b8;--edunux-sidebar-hover:#ffffff0d;--edunux-sidebar-active:var(--edunux-accent)}@supports (color:color-mix(in lab,red,red)){:root{--edunux-sidebar-active:color-mix(in srgb, var(--edunux-accent) 12%, var(--edunux-sidebar))}}:root{--edunux-primary:var(--teal-800);--edunux-primary-strong:#065c48;--edunux-primary-ink:#fff;--edunux-accent:var(--teal-500);--edunux-secondary:var(--navy-800);--edunux-focus:#6fe3c8;--edunux-shell-width:264px;--edunux-sidebar-section-label:var(--teal-500);--edunux-sidebar-section-label-on-light:var(--teal-800)}@media(min-width:768px){:root{--text-h1:1.75rem;--leading-h1:2.25rem}}@media(min-width:1024px){:root{--text-h1:2rem;--leading-h1:2.5rem}}.app-shell[data-visual-register=command-centre]{--register-canvas:#06111f;--register-surface:#0b1b2d;--register-soft:#10243a;--register-border:#203b56;--register-structure:#040b14;--register-action:#2dd4bf;--register-text:#f3f8fc;--register-muted:#a8bcd0}.app-shell[data-visual-register=console]{--register-canvas:#f3f6f8;--register-surface:#fff;--register-soft:#f8fafc;--register-border:#d6e1e9;--register-structure:#0b2a3e;--register-action:#0ca986;--register-text:#0b2a3e;--register-muted:#64748b}.app-shell[data-visual-register=task-console]{--register-canvas:#f3f6f8;--register-surface:#fff;--register-soft:#f8fafc;--register-border:#d6e1e9;--register-structure:#071f30;--register-action:#0ca986;--register-text:#0b2a3e;--register-muted:#40576a}.app-shell[data-visual-register=ledger]{--register-canvas:#eef2f5;--register-surface:#fff;--register-soft:#f6f8fa;--register-border:#d6e1e9;--register-structure:#0b2a3e;--register-action:#0ca986;--register-text:#0b2a3e;--register-muted:#64748b}.app-shell[data-visual-register=consumer]{--register-canvas:#f3f7f7;--register-surface:#fff;--register-soft:#eaf8f5;--register-border:#d5e5e2;--register-structure:#0b2a3e;--register-action:#0ca986;--register-text:#123247;--register-muted:#607580}.app-shell[data-visual-register=field]{--register-canvas:#f2f5f6;--register-surface:#fff;--register-soft:#eaf7f4;--register-border:#d5e2e3;--register-structure:#0b2a3e;--register-action:#0ca986;--register-text:#123247;--register-muted:#647982}.app-shell[data-portal=hq]{--hq-canvas:var(--register-canvas);--hq-shell:var(--register-structure);--hq-surface:var(--register-surface);--hq-surface-elevated:var(--register-soft);--hq-surface-interactive:#132a42;--hq-border:var(--register-border);--hq-border-strong:#315574;--hq-text:var(--register-text);--hq-muted:var(--register-muted);--hq-teal:var(--register-action);--hq-cyan:#38bdf8;--hq-blue:#60a5fa;--hq-amber:#fbbf24;--hq-red:#fb7185;--hq-purple:#a78bfa;--neutral-0:var(--hq-surface);--neutral-50:var(--hq-canvas);--neutral-100:var(--hq-surface-elevated);--neutral-200:var(--hq-border);--neutral-300:var(--hq-border-strong);--neutral-400:#6f8aa4;--neutral-500:#8ea5ba;--neutral-600:var(--hq-muted);--neutral-700:#cfdeea;--neutral-800:#e4edf5;--neutral-950:var(--hq-text);--teal-50:#0b2c2d;--teal-100:#10423f;--teal-300:#5eead4;--teal-500:var(--hq-teal);--teal-600:#20bfae;--teal-700:#5eead4;--brand-50:var(--teal-50);--brand-100:var(--teal-100);--brand-500:var(--hq-teal);--brand-600:#20bfae;--brand-700:#5eead4;--brand-900:var(--hq-shell);--success:#5eead4;--success-bg:#0d302d;--warning:var(--hq-amber);--warning-bg:#35260d;--warning-text:#fde68a;--danger:var(--hq-red);--danger-bg:#391724;--danger-text:#fda4af;--info:var(--hq-cyan);--info-bg:#0b2941;--info-text:#7dd3fc;--purple:var(--hq-purple);--purple-bg:#241a3d;--ledger-surface:var(--hq-surface);--ledger-soft:var(--hq-surface-elevated);--ledger-operational-surface:var(--hq-surface);--ledger-operational-border:var(--hq-border);--ledger-operational-label:var(--hq-muted);--ledger-operational-amount:var(--hq-text);--ledger-operational-caption:var(--hq-muted);--ledger-operational-positive:#5eead4;--ledger-operational-negative:#fda4af;--ledger-operational-icon-bg:var(--hq-surface-interactive);--ledger-operational-icon:var(--hq-teal);--status-urgent-bg:#391724;--status-urgent-text:#fda4af;--status-urgent-border:#5c2434;--status-due-today-bg:#35260d;--status-due-today-text:#fde68a;--status-due-today-border:#5a431a;--status-in-progress-bg:#0b2941;--status-in-progress-text:#7dd3fc;--status-in-progress-border:#1b4a6b;--status-planned-bg:#132a42;--status-planned-text:#a8bcd0;--status-planned-border:#203b56;--status-done-bg:#0d302d;--status-done-text:#5eead4;--status-done-border:#1a4a45;--status-current-bg:#10423f;--status-current-text:#5eead4;--status-current-border:#26635c;--status-neutral-bg:#132a42;--status-neutral-text:#a8bcd0;--status-neutral-border:#203b56;--table-header-bg:var(--hq-surface-elevated);--table-header-text:var(--hq-muted);--focus:#67e8f9;--chart-1:var(--hq-teal);--chart-2:var(--hq-blue);--chart-3:var(--hq-cyan);--chart-4:var(--hq-amber);--shadow-1:0 1px 2px #00000042;--shadow-2:0 8px 22px #00000042;--shadow-3:0 16px 38px #00000057;--shadow-modal:0 24px 52px #0000006b}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-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}*{box-sizing:border-box}html{overflow-x:hidden}body{margin:0;min-width:320px;overflow-x:hidden;background:var(--neutral-50);color:var(--neutral-950);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-body);font-synthesis:none;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}button,a,input,select,textarea,summary,[tabindex]:focus{outline:none}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}h1,h2,h3,h4,h5,h6,p{overflow-wrap:anywhere}h1,h2,h3,h4,h5,h6{color:var(--navy-800);font-family:var(--font-heading);text-wrap:balance}h1,h2,h3{letter-spacing:-.02em}h4,h5,h6{letter-spacing:-.01em}h1{font-size:var(--text-h1);line-height:var(--leading-h1);font-weight:var(--weight-h1);margin:.25rem 0}h2{font-size:var(--text-h2);line-height:var(--leading-h2);font-weight:var(--weight-h2);margin:.25rem 0}h3{font-size:var(--text-h3);line-height:var(--leading-h3);font-weight:var(--weight-h3)}h4{font-size:var(--text-h4);line-height:var(--leading-h4);font-weight:var(--weight-h4)}h5{font-size:var(--text-h5);line-height:var(--leading-h5);font-weight:var(--weight-h5)}h6{font-size:var(--text-h6);line-height:var(--leading-h6);font-weight:var(--weight-h6)}.t-metric{font-family:var(--font-heading);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.t-display{font-family:var(--font-heading);font-size:var(--text-display);line-height:var(--leading-display);font-weight:var(--weight-bold);letter-spacing:-.02em;color:var(--navy-800)}.t-h1,.t-h2,.t-h3,.t-h4,.t-h5,.t-h6{font-family:var(--font-heading);color:var(--navy-800)}.t-h1{font-size:var(--text-h1);line-height:var(--leading-h1);font-weight:var(--weight-h1);letter-spacing:-.02em}.t-h2{font-size:var(--text-h2);line-height:var(--leading-h2);font-weight:var(--weight-h2);letter-spacing:-.02em}.t-h3{font-size:var(--text-h3);line-height:var(--leading-h3);font-weight:var(--weight-h3);letter-spacing:-.02em}.t-h4{font-size:var(--text-h4);line-height:var(--leading-h4);font-weight:var(--weight-h4)}.t-h5{font-size:var(--text-h5);line-height:var(--leading-h5);font-weight:var(--weight-h5)}.t-h6{font-size:var(--text-h6);line-height:var(--leading-h6);font-weight:var(--weight-h6)}.t-body-lg{font-family:var(--font-sans);font-size:var(--text-body-lg);line-height:var(--leading-body-lg);font-weight:var(--weight-medium)}.t-body{font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-body);font-weight:var(--weight-regular)}.t-small{font-family:var(--font-sans);font-size:var(--text-small);line-height:var(--leading-small);color:var(--neutral-600)}.t-caption{font-family:var(--font-sans);font-size:var(--text-caption);line-height:var(--leading-caption);font-weight:var(--weight-medium);color:var(--neutral-600)}.tabular,table{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}p{color:var(--neutral-600);line-height:var(--leading-body)}small{color:var(--neutral-600);font-size:var(--text-small);line-height:var(--leading-small)}main{max-width:var(--content);margin:auto;padding:24px 28px 72px}.app-shell{min-height:100vh}.workspace{min-height:100vh;margin-left:var(--sidebar);display:flex;flex-direction:column}.workspace main{width:100%;flex:1}.hq-auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:#071524}.hq-auth__card{width:min(100%,440px);display:grid;gap:24px;padding:clamp(24px,6vw,40px);border:1px solid #315574;border-radius:18px;background:#0b1f33;box-shadow:0 24px 70px #0000004d;color:#d8e6f1}.hq-auth__card h1,.hq-auth__card b,.hq-auth__card .field__label{color:#f8fafc}.hq-auth__card p,.hq-auth__card small{color:#9fb4c5}.hq-auth__stack{width:min(100%,440px);display:grid;gap:28px;justify-items:center}.hq-auth__stack .hq-auth__card{width:100%}.hq-auth__wordmark{font-size:1.525rem;letter-spacing:-.02em;line-height:1.2}.hq-auth--accent{background:#071524}.hq-auth--accent .hq-auth__card{border-top-color:var(--teal-500)}.hq-auth__legal{color:#9fb4c5;font-size:.75rem;line-height:1.5;text-align:center}.hq-auth__heading{display:flex;align-items:center;gap:12px}.hq-auth__heading>div{display:grid}.hq-auth__heading span{color:#f8fafc;font-family:var(--font-heading);font-weight:700}.hq-auth__heading small{color:#38bdf8;text-transform:uppercase;letter-spacing:.12em}.hq-auth__mark{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#2dd4bf1f;color:#2dd4bf!important}.hq-auth__mark svg{width:22px}.hq-auth__form{display:grid;gap:18px}.hq-auth__form .input{border-color:#315574;background:#132a42;color:#f8fafc}.hq-login{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:18px;padding:40px 40px 8px;background:var(--edunux-bg);color:var(--edunux-text)}.hq-login__legal{width:min(100%,1120px);color:var(--edunux-text-muted);font-size:.75rem;line-height:1.5;text-align:center}.hq-login>.hq-login__shell{width:min(100%,1120px);max-width:none;min-height:min(680px,calc(100dvh - 134px));margin:0 0 30px;padding:0;display:grid;grid-template-columns:minmax(0,.46fr) minmax(0,.54fr);overflow:clip;border-radius:20px}.hq-login__brand,.hq-login__panel{padding:clamp(40px,5vw,72px)}.hq-login__brand{display:flex;flex-direction:column;border-right:1px solid color-mix(in srgb,var(--edunux-border) 62%,transparent);background:var(--edunux-sidebar)}.hq-login__wordmark{display:flex;align-items:center;font-size:1.525rem;letter-spacing:-.02em}.hq-login__brand-copy{margin:auto 0;max-width:390px}.hq-login__eyebrow{display:block;margin-bottom:16px;color:var(--edunux-accent);font-size:var(--text-small);font-weight:var(--weight-bold);letter-spacing:.12em;text-transform:uppercase}.hq-login__brand-copy h1{max-width:380px;margin:0 0 18px;color:var(--edunux-text);font-size:clamp(1.75rem,2.45vw,2.25rem);line-height:1.22}.hq-login__brand-copy p,.hq-login__intro p{margin:0;color:var(--edunux-text-soft);font-size:var(--text-body-lg);line-height:1.65}.hq-login__security{display:flex;align-items:center;gap:9px;margin:0;color:var(--edunux-text-muted);font-size:var(--text-small)}.hq-login__security svg{width:17px;height:17px;color:var(--edunux-accent)}.hq-login__security--mobile{display:none}.hq-login__panel{display:flex;flex-direction:column;justify-content:center;gap:28px;background:color-mix(in srgb,var(--edunux-surface-raised) 34%,var(--edunux-surface))}.hq-login__panel>*{width:min(100%,460px);margin-inline:auto}.hq-login__intro h2{margin:0 0 12px;color:var(--edunux-text);font-size:clamp(1.75rem,3vw,2.25rem);line-height:1.2}.hq-login__form{display:grid;gap:20px}.hq-login .field__label{color:var(--edunux-text)}.hq-login .input{min-height:50px;border-color:var(--edunux-border);background:var(--edunux-sidebar);color:var(--edunux-text)}.hq-login .input:focus{border-color:var(--edunux-focus)}.hq-login__form>.button{min-height:50px;margin-top:2px}.hq-login__form>a{justify-self:start;color:var(--teal-300);font-size:var(--text-body)}.hq-login__password-field{position:relative;display:block}.hq-login__password-field .input{width:100%;padding-right:54px}.hq-login__password-toggle{position:absolute;top:50%;right:4px;width:44px;height:44px;display:grid;place-items:center;padding:0;transform:translateY(-50%);border:0;border-radius:9px;background:transparent;color:var(--edunux-text-soft);cursor:pointer}.hq-login__password-toggle:hover{background:var(--edunux-sidebar-hover);color:var(--edunux-text)}.hq-login__password-toggle:focus-visible{outline:2px solid var(--edunux-focus);outline-offset:-2px}.hq-login__password-toggle svg{width:19px;height:19px}.hq-login__session-state{display:flex;align-items:center;gap:14px;color:var(--edunux-text-soft)}.hq-login__session-state p{margin:0}.hq-login__session-spinner{width:22px;height:22px;flex:0 0 auto;border:2px solid var(--edunux-border);border-top-color:var(--edunux-accent);border-radius:50%;animation:button-spin .8s linear infinite}.hq-login__recovery-actions{display:flex;flex-wrap:wrap;gap:12px}.hq-mfa,.hq-mfa__setup,.hq-mfa__codes{display:grid;gap:18px}.hq-mfa__qr{width:192px;height:192px;padding:8px;background:#fff;border-radius:8px}.hq-mfa__codes ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:0;padding:0;list-style:none}.hq-mfa__codes code{display:block;overflow-wrap:anywhere;color:var(--edunux-text)}.hq-mfa__acknowledgement{display:flex;align-items:start;gap:10px;color:var(--edunux-text)}@media(max-width:900px){.hq-login{padding:28px 28px 8px}.hq-login>.hq-login__shell{min-height:0;margin-bottom:24px;grid-template-columns:1fr}.hq-login__brand{gap:28px;padding:32px 40px;border-right:0;border-bottom:1px solid color-mix(in srgb,var(--edunux-border) 62%,transparent)}.hq-login__brand-copy{margin:0}.hq-login__brand-copy h1{max-width:none;margin-bottom:10px;font-size:1.625rem}.hq-login__brand-copy p{font-size:var(--text-body)}.hq-login__panel{padding:40px}}@media(max-width:520px){.hq-login{gap:12px;padding:16px 16px 5px}.hq-login__legal{font-size:.6875rem}.hq-login>.hq-login__shell{margin-bottom:0}.hq-login__brand{gap:18px;padding:24px}.hq-login__brand-copy h1{margin-bottom:8px;font-size:1.25rem;line-height:1.3}.hq-login__brand-copy p{font-size:var(--text-small);line-height:1.5}.hq-login__security--brand{display:none}.hq-login__security--mobile{display:flex;font-size:.6875rem}.hq-login__panel{gap:22px;padding:28px 24px 32px}.hq-login__intro h2{font-size:1.75rem}.hq-login__intro p{font-size:var(--text-body);line-height:1.55}.hq-login__recovery-actions{display:grid}}@media(prefers-reduced-motion:reduce){.hq-login__session-spinner{animation-duration:2.4s}}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:linear-gradient(180deg,var(--navy-800),var(--navy-900));color:var(--neutral-0);padding:16px 12px;display:flex;flex-direction:column;z-index:20}.sidebar nav a{border:0;background:transparent;color:var(--brand-100);display:flex;align-items:center;gap:10px;width:100%;min-height:var(--touch);border-radius:8px;padding:8px 10px;text-align:left;text-decoration:none}.app-shell--sidebar-collapsed{--sidebar: var(--sidebar-collapsed)}.sidebar-collapse{display:flex;align-items:center;gap:10px;width:100%;min-height:var(--touch);margin-bottom:8px;padding:9px 11px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--navy-100);text-align:left}.sidebar-collapse:hover{background:color-mix(in srgb,var(--navy-100) 10%,transparent);color:var(--neutral-0)}.sidebar--collapsed .organisation-copy,.sidebar--collapsed .organisation-chevron,.sidebar--collapsed nav span,.sidebar--collapsed .account-copy,.sidebar--collapsed .account-trigger>svg,.sidebar--collapsed .sidebar-collapse span{display:none}.sidebar--collapsed nav a,.sidebar--collapsed .organisation-trigger,.sidebar--collapsed .account-trigger,.sidebar--collapsed .sidebar-collapse{justify-content:center;padding-inline:0;position:relative}.sidebar--collapsed .account-popover{left:calc(100% + 12px);bottom:0;width:280px}.sidebar--collapsed [data-tooltip]:hover:after,.sidebar--collapsed [data-tooltip]:focus-visible:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 12px);top:50%;translate:0 -50%;z-index:90;padding:7px 10px;border-radius:7px;background:var(--navy-900);color:var(--neutral-0);box-shadow:var(--shadow-2);white-space:nowrap;font-size:12px}.nav-group-label{display:block;padding:14px 10px 5px;color:var(--nav-section-label, var(--edunux-sidebar-section-label));font-family:var(--font-sans);font-size:.78125rem;font-weight:var(--weight-semibold);letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.mobile-menu{--nav-section-label: var(--edunux-sidebar-section-label-on-light)}.sidebar nav{display:flex;flex-direction:column;gap:4px;margin-top:14px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:color-mix(in srgb,var(--teal-500) 42%,transparent) transparent}.sidebar nav a:hover,.sidebar nav a.active{background:var(--teal-500);color:var(--navy-900);box-shadow:0 4px 10px #0fc39e29}.sidebar svg{width:20px;flex:none}.sidebar-bottom{margin-top:auto;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--navy-100) 20%,transparent);background:transparent}.sidebar-organisation{position:relative;padding-bottom:14px;border-bottom:1px solid color-mix(in srgb,var(--navy-100) 22%,transparent)}.organisation-switcher,.account-menu,.notification-menu,.quick-actions-menu{position:relative;min-width:0}.organisation-trigger,.account-trigger{display:flex;align-items:center;gap:10px;width:100%;min-height:var(--touch);border:0;padding:8px;border-radius:8px;background:color-mix(in srgb,var(--navy-900) 62%,transparent);color:var(--neutral-0);text-align:left;overflow:hidden}.organisation-trigger:hover,.account-trigger:hover{background:color-mix(in srgb,var(--teal-500) 12%,var(--navy-900))}.organisation-copy,.account-copy{display:grid;min-width:0;flex:1}.organisation-copy b,.account-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--neutral-0);font-size:13px}.organisation-copy small,.account-copy small,.organisation-copy>span{color:var(--navy-300);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.organisation-chevron,.account-trigger>svg{width:16px!important}.organisation-logo,.media-avatar{display:grid;place-items:center;flex:none;overflow:hidden;background:var(--navy-50);color:var(--navy-800);font-weight:700}.organisation-logo{width:40px;height:40px;border-radius:11px}.organisation-logo--sm{width:34px;height:34px;border-radius:9px}.organisation-logo img,.media-avatar img{width:100%;height:100%;object-fit:cover}.media-avatar{width:40px;height:40px;border-radius:50%}.media-avatar--sm{width:32px;height:32px}.media-avatar--lg{width:52px;height:52px}.popover-panel{position:absolute;z-index:80;min-width:240px;padding:8px;border:1px solid var(--neutral-200);border-radius:var(--radius-lg);background:var(--neutral-0);color:var(--neutral-950);box-shadow:var(--shadow-3)}.popover-panel button{display:flex;align-items:center;gap:10px;width:100%;min-height:var(--touch);border:0;border-radius:var(--radius-control);padding:9px 10px;background:transparent;color:var(--navy-800);text-align:left}.popover-panel button:hover,.popover-panel button:focus-visible,.popover-panel button.selected{background:var(--teal-50)}.popover-panel button svg{width:18px;flex:none}.popover-heading{padding:7px 10px;color:var(--neutral-600);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.organisation-popover{top:0;left:calc(100% + 14px);width:min(360px,calc(100vw - var(--sidebar) - 28px))}.organisation-popover button>span:nth-child(2){display:grid;min-width:0;flex:1}.organisation-popover b,.organisation-popover small{overflow-wrap:anywhere}.organisation-popover small{color:var(--neutral-600)}.account-popover{left:0;bottom:calc(100% + 10px);width:100%}.account-popover__identity{display:flex;align-items:center;gap:10px;padding:10px;margin-bottom:4px;border-bottom:1px solid var(--neutral-200)}.account-popover__identity>span{display:grid}.account-popover__identity small{color:var(--neutral-600)}.account-popover__divider{height:1px;margin:5px 8px;background:var(--neutral-200)}.account-popover__logout{color:var(--danger-text)}.account-popover__logout svg{color:currentcolor}.account-menu--topbar .account-trigger{width:var(--touch);padding:2px;background:transparent}.account-menu--topbar .account-popover{top:calc(100% + 10px);right:0;bottom:auto;left:auto;width:280px}.topbar{height:64px;display:flex;align-items:center;gap:14px;padding:0 28px;border-bottom:1px solid var(--neutral-200);background:var(--neutral-0);position:sticky;top:0;z-index:18;box-shadow:var(--shadow-1)}.topbar>.icon-button:first-child{display:none}.topbar-context{display:none;min-width:0}.top-actions{margin-left:auto;display:flex;gap:8px}.notification-trigger{position:relative;display:block}.notification-badge{position:absolute;top:7px;right:5px;pointer-events:none;box-sizing:border-box;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--neutral-0);border-radius:999px;background:var(--danger);color:var(--neutral-0);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.notification-panel{top:calc(100% + 12px);right:0;width:min(420px,calc(100vw - 24px));max-height:calc(100vh - 92px);overflow:auto}.notification-panel__header,.notification-title-row,.notification-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.notification-panel__header{padding:8px;border-bottom:1px solid var(--neutral-200)}.notification-panel__header button,.notification-actions button,.notification-view-all{width:auto;min-height:var(--touch);color:var(--teal-700);font-weight:600}.notification-list{list-style:none;margin:0;padding:0}.notification-list li{display:grid;grid-template-columns:38px 1fr;gap:10px;padding:12px 10px;border-bottom:1px solid var(--neutral-100)}.notification-list li.unread{background:var(--teal-50)}.notification-list p{margin:4px 0;font-size:13px}.notification-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--navy-50);color:var(--navy-700)}.notification-icon svg{width:18px}.unread-dot{width:9px;height:9px;border-radius:50%;background:var(--teal-700);flex:none}.notification-actions{justify-content:flex-start;margin-top:6px;flex-wrap:wrap}.notification-actions button{padding:5px 7px;min-height:36px}.notification-view-all{justify-content:center;margin-top:6px}.icon-button{width:var(--touch);height:var(--touch);display:grid;place-items:center;border:0;border-radius:var(--radius-control);background:transparent;color:inherit;transition:background-color var(--motion-fast) ease,color var(--motion-fast) ease}.icon-button:hover{background:var(--neutral-100)}.icon-button:active{background:var(--neutral-200)}.icon-button:disabled{background:transparent;color:var(--neutral-400)}.button{min-height:var(--touch);padding:9px 15px;border:1px solid transparent;border-radius:var(--radius-control);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--weight-semibold);display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,color var(--motion-fast) ease}.button--primary{background:var(--teal-500);color:var(--navy-900);box-shadow:var(--shadow-1)}.button--primary:hover:not(:disabled){background:var(--teal-600)}.button--primary:active:not(:disabled){background:var(--teal-700);color:var(--neutral-0)}.button--secondary{background:var(--neutral-0);color:var(--navy-800);border-color:var(--neutral-200)}.button--secondary:hover:not(:disabled){background:var(--neutral-50);border-color:var(--neutral-300)}.button--secondary:active:not(:disabled){background:var(--neutral-100)}.button--navy{background:var(--navy-800);color:var(--neutral-0)}.button--navy:hover:not(:disabled){background:var(--navy-700)}.button--navy:active:not(:disabled){background:var(--navy-900)}.button--outline{background:transparent;color:var(--teal-700);border-color:var(--teal-500)}.button--outline:hover:not(:disabled){background:var(--teal-50)}.button--outline:active:not(:disabled){background:var(--teal-100)}.button--danger{background:var(--danger);color:var(--neutral-0)}.button--danger:hover:not(:disabled){background:var(--danger-text)}.button--quiet{background:transparent;color:var(--teal-700)}.button--quiet:hover:not(:disabled){background:var(--teal-50)}.button--quiet:active:not(:disabled){background:var(--teal-100)}.button:disabled{background:var(--neutral-100);color:var(--neutral-400);border-color:transparent;box-shadow:none}.button[aria-busy=true]{position:relative;color:transparent;pointer-events:none}.button[aria-busy=true]:after{content:"";position:absolute;width:16px;height:16px;border:2px solid currentcolor;border-top-color:transparent;border-radius:var(--radius-full);color:var(--navy-900);animation:button-spin .64s linear infinite}.button--danger[aria-busy=true]:after,.button--navy[aria-busy=true]:after{color:var(--neutral-0)}@keyframes button-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.button[aria-busy=true]:after{animation-duration:2.4s}}.breadcrumb{display:flex;list-style:none;padding:0;margin:0;font-size:var(--text-small);color:var(--neutral-600)}.breadcrumb li{display:flex;align-items:center}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:10px 0 18px}.eyebrow{font-size:var(--text-caption);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-700)}.page-heading p{margin:.35rem 0}.card{min-width:0;background:var(--neutral-0);border:1px solid var(--neutral-200);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-1);transition:border-color .12s ease}.card:hover{border-color:var(--neutral-300)}.card h2{font-size:var(--text-h3);line-height:var(--leading-h3);letter-spacing:-.01em}.portal-selector-card h2,.planned-screen h2{font-size:var(--text-h2);line-height:var(--leading-h2)}.section-head,.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.section-head p{margin:.2rem 0}.toolbar{margin:16px 0}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.stat-card{display:grid;gap:5px}.stat-card__top{display:flex;justify-content:space-between;color:var(--neutral-600)}.stat-card__top svg{width:34px;height:34px;padding:8px;border-radius:var(--radius-control);background:var(--navy-50);color:var(--navy-700)}.stat-card strong,.ledger-card strong{font-family:var(--font-heading);font-size:1.5rem;line-height:2rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-card small{color:var(--teal-700)}.dashboard-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:14px;margin:16px 0}.three-grid,.ledger-grid,.consumer-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.usage-grid,.card-list,.button-stack,.form-grid{display:grid;gap:12px}.meter-label{display:flex;justify-content:space-between;margin-bottom:4px}progress{width:100%;height:9px;accent-color:var(--brand-500);appearance:none;border:0;border-radius:var(--radius-full, 9999px);overflow:hidden;background:var(--neutral-200)}progress::-webkit-progress-bar{background:var(--neutral-200)}progress::-webkit-progress-value{background:var(--teal-500)}progress::-moz-progress-bar{background:var(--teal-500)}.ledger-surface .card{background:var(--ledger-surface);border-color:var(--navy-100)}.ledger-surface{background:transparent}.ledger-card{display:grid;gap:8px;align-content:start}.ledger-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ledger-card__label{font-size:var(--text-body);font-weight:var(--weight-medium)}.ledger-card__icon{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:var(--radius-control)}.ledger-card__icon svg{width:20px;height:20px}.ledger-card__delta{font-size:var(--text-small);font-weight:var(--weight-semibold)}.ledger-card__footer{margin-top:6px;padding-top:12px}.ledger-card--operational{background:var(--ledger-operational-surface);border-color:var(--ledger-operational-border)}.ledger-card--operational .ledger-card__label,.ledger-card--operational .ledger-card__detail{color:var(--ledger-operational-label)}.ledger-card--operational .ledger-card__amount{color:var(--ledger-operational-amount)}.ledger-card--operational .ledger-card__icon{background:var(--ledger-operational-icon-bg);color:var(--ledger-operational-icon)}.ledger-card--operational .ledger-card__delta--up{color:var(--ledger-operational-positive)}.ledger-card--operational .ledger-card__delta--down{color:var(--ledger-operational-negative)}.ledger-card--operational .ledger-card__delta--flat{color:var(--ledger-operational-label)}.ledger-card--operational .ledger-card__footer{border-top:1px solid var(--ledger-operational-border)}.ledger-card--signature{background:var(--ledger-signature-surface);border-color:var(--ledger-signature-border);padding:20px;box-shadow:none}.ledger-card--signature:hover{border-color:var(--ledger-signature-border)}.ledger-card--signature .ledger-card__label,.ledger-card--signature .ledger-card__detail{color:var(--ledger-signature-label)}.ledger-card--signature .ledger-card__amount{color:var(--ledger-signature-amount);font-family:var(--font-heading);font-size:1.75rem;line-height:1.15;font-weight:var(--weight-bold);letter-spacing:-.02em}.ledger-card--signature .ledger-card__icon{background:var(--ledger-signature-icon-bg);color:var(--ledger-signature-icon)}.ledger-card--signature .ledger-card__delta--up{color:var(--ledger-signature-positive)}.ledger-card--signature .ledger-card__delta--down{color:var(--ledger-signature-negative)}.ledger-card--signature .ledger-card__delta--flat{color:var(--ledger-signature-label)}.ledger-card--signature .ledger-card__footer{border-top:1px solid var(--ledger-signature-border)}.ledger-card--signature .badge{background:#ffffff1a;color:var(--ledger-signature-label);border-color:#ffffff29}@media(min-width:640px){.ledger-card--signature{padding:24px}.ledger-card--signature .ledger-card__amount{font-size:2.25rem}}.money{font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;width:max-content;min-height:22px;padding:2px 8px;border-radius:999px;font-size:var(--text-caption);font-weight:600;background:var(--neutral-100);color:var(--neutral-600)}.badge--success{background:var(--success-bg);color:var(--success)}.badge--warning{background:var(--warning-bg);color:var(--warning-text)}.badge--danger{background:var(--danger-bg);color:var(--danger-text)}.badge--info{background:var(--info-bg);color:var(--info-text)}.badge--urgent,.badge--due-today,.badge--in-progress,.badge--planned,.badge--done,.badge--current{border:1px solid transparent}.badge--urgent{background:var(--status-urgent-bg);color:var(--status-urgent-text);border-color:var(--status-urgent-border)}.badge--due-today{background:var(--status-due-today-bg);color:var(--status-due-today-text);border-color:var(--status-due-today-border)}.badge--in-progress{background:var(--status-in-progress-bg);color:var(--status-in-progress-text);border-color:var(--status-in-progress-border)}.badge--planned{background:var(--status-planned-bg);color:var(--status-planned-text);border-color:var(--status-planned-border)}.badge--done{background:var(--status-done-bg);color:var(--status-done-text);border-color:var(--status-done-border)}.badge--current{background:var(--status-current-bg);color:var(--status-current-text);border-color:var(--status-current-border)}.alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-md);margin:12px 0;background:var(--info-bg);color:var(--navy-700);border:1px solid color-mix(in srgb,var(--info) 18%,transparent)}.alert svg{width:19px;flex:none}.alert p{margin:.2rem 0;color:inherit}.alert--warning{background:var(--warning-bg);color:var(--warning-text)}.alert--danger{background:var(--danger-bg);color:var(--danger-text)}.filter-grid{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(150px,1fr));gap:10px;margin:15px 0}.input,.search-field{min-height:var(--touch);border:1px solid var(--neutral-300);border-radius:var(--radius-control);background:var(--neutral-0);padding:8px 11px;width:100%}.search-field{display:flex;align-items:center;gap:8px}.search-field input{border:0;width:100%;min-width:0}.input:focus-within,.input:focus,.search-field:focus-within{border-color:var(--teal-700);box-shadow:0 0 0 3px var(--teal-100)}.field{display:grid;gap:5px}.field__label,.inline-field>span{font-size:var(--text-small);font-weight:600}.inline-field{display:flex;align-items:center;gap:8px}.choice{display:flex;align-items:center;gap:8px;min-height:var(--touch)}.choice input{width:20px;height:20px;accent-color:var(--brand-500)}.table-wrap{overflow-x:auto;margin:10px 0}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:var(--text-caption);text-transform:uppercase;letter-spacing:.05em;color:var(--table-header-text);background:var(--table-header-bg)}th,td{padding:11px 10px;border-bottom:1px solid var(--neutral-100);vertical-align:middle}tbody tr:hover td{background:var(--neutral-50)}.mobile-only{display:none}.mobile-data-card h3{margin-top:0}.mobile-data-card{border-left:3px solid var(--teal-500)}.school-name-cell{display:grid;gap:3px}.school-name-with-logo{display:flex;align-items:center;gap:10px;min-width:0}.school-name-with-logo>span:last-child,.school-name-cell{min-width:0}.student-card{display:flex;align-items:center;gap:14px}.student-card h3,.student-card p{margin-block:0 6px}.detail{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--neutral-100)}.detail dt{color:var(--neutral-600)}.detail dd{margin:0;text-align:right;font-weight:600}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:12px}.pagination button{min-height:var(--touch);border:1px solid var(--neutral-200);background:#fff;border-radius:9px;padding:8px 12px}.tabs{display:flex;gap:4px;overflow-x:auto;width:max-content;max-width:100%;padding:4px;background:var(--neutral-100);border-radius:12px}.tabs button{min-height:38px;border:0;border-radius:9px;background:transparent;padding:7px 12px;white-space:nowrap}.tabs button[aria-selected=true]{background:var(--neutral-0);color:var(--navy-800);box-shadow:inset 0 -2px 0 var(--teal-500),var(--shadow-1)}.activity-list,.feed,.timeline{list-style:none;padding:0;margin:8px 0}.activity-list li,.feed li,.timeline li{display:flex;gap:9px;padding:12px 0;border-bottom:1px solid var(--neutral-100)}.feed li{display:grid}.feed span{color:var(--neutral-600)}.child-switcher{display:flex;gap:10px;overflow-x:auto;padding:3px;margin:12px 0}.child-switcher button{display:grid;grid-template-columns:44px 1fr;column-gap:9px;min-width:235px;min-height:68px;border:1px solid var(--neutral-200);border-radius:14px;background:#fff;padding:9px;text-align:left}.child-switcher button>span{grid-row:1/3;display:grid;place-items:center;background:var(--neutral-100);border-radius:10px}.child-switcher button.active{border:2px solid var(--teal-500);background:var(--teal-50)}.consumer-hero{display:flex;align-items:center;justify-content:space-between;padding:22px;background:var(--navy-800);color:#fff}.consumer-hero p{color:var(--teal-100)}.consumer-hero h2{color:var(--neutral-0)}.attendance-ring{width:106px;height:106px;border:8px solid var(--teal-300);border-radius:100%;display:grid;place-items:center;align-content:center}.attendance-ring strong{font-size:1.5rem}.attendance-ring span{font-size:12px}.consumer-summary .card{display:grid;gap:5px;border-top:2px solid var(--teal-500)}.consumer-summary svg{color:var(--teal-700)}.consumer-summary strong{font-size:1.4rem}.today-alert{display:flex;align-items:center;gap:8px;margin:0;color:var(--teal-100);font-size:13px}.today-alert svg{width:17px;flex:none}.chart-grid{align-items:stretch}.chart-card{display:flex;flex-direction:column;min-height:360px}.chart-plot{width:100%;height:260px;margin-top:8px}.chart-summary{margin:auto 0 0;padding-top:10px;border-top:1px solid var(--neutral-100);color:var(--neutral-600);font-size:13px}.chart-empty{min-height:220px;display:grid;place-items:center;border:1px dashed var(--neutral-300);border-radius:var(--radius-md);color:var(--neutral-600)}.portal-footer{display:flex;justify-content:space-between;gap:12px;max-width:var(--content);width:100%;margin:auto auto 0;padding:20px 32px 26px;border-top:1px solid var(--neutral-200);color:var(--neutral-600);font-size:12px}.last-updated{text-align:right;font-size:13px;color:var(--neutral-600)}.plan-card dl{margin:18px 0}.plan-card{border-top:4px solid var(--navy-800)}.plan-price{font-size:1.75rem;font-weight:700;margin:20px 0}.stepper{display:flex;list-style:none;padding:0}.stepper li{flex:1;display:grid;gap:5px;color:var(--neutral-600);border-top:3px solid var(--neutral-200);padding-top:8px}.stepper li.active{color:var(--brand-700);border-color:var(--brand-500)}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:18px 0}.module-card--selected{border:2px solid var(--teal-500);box-shadow:0 0 0 3px var(--teal-100)}.module-card{position:relative;overflow:hidden}.module-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--navy-100)}.module-card--selected:before{background:var(--teal-500)}.schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.schedule-grid label{display:grid;gap:4px;font-size:12px}.schedule-grid input{min-width:0;min-height:var(--touch);border:1px solid var(--neutral-200);border-radius:9px;padding:6px}.dependency-warning{color:var(--warning)}.dialog-backdrop{position:fixed;inset:0;z-index:50;background:color-mix(in srgb,var(--navy-900) 58%,transparent);display:grid;place-items:center;padding:18px}.dialog{width:min(560px,100%);max-height:90vh;overflow:auto;background:var(--neutral-0);border-radius:var(--radius-xl);padding:20px;box-shadow:var(--shadow-modal)}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.toast{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;align-items:center;gap:12px;background:var(--navy-800);color:#fff;border-radius:12px;padding:8px 10px 8px 16px}.global-banner{position:sticky;top:64px;z-index:17;padding:9px;text-align:center;background:var(--warning-bg);color:var(--warning-text);font-weight:600}.state-view{max-width:560px;margin:12vh auto;text-align:center;padding:32px;background:var(--neutral-0);border:1px solid var(--neutral-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-1)}.state-view>svg{width:44px;height:44px;color:var(--warning);padding:9px;border-radius:50%;background:var(--warning-bg)}.skeleton{display:grid;gap:16px}.skeleton i{display:block;height:120px;border-radius:var(--radius-control);background:linear-gradient(90deg,var(--neutral-100),var(--navy-50),var(--neutral-100));background-size:200%;animation:pulse 1.2s infinite}.review-panel{position:fixed;z-index:60;right:16px;bottom:16px;width:min(760px,calc(100vw - 32px));background:var(--navy-900);color:#fff;border-radius:12px;box-shadow:var(--shadow-2)}.review-panel>summary{min-height:44px;padding:12px 16px;cursor:pointer;font-weight:700}.review-panel__controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:4px 12px 12px}.review-panel__controls label{display:grid;gap:4px;color:var(--navy-100);font-size:12px}.review-panel select,.review-panel button{min-height:38px;border:0;border-radius:8px;padding:6px 9px}.review-panel__controls small{grid-column:1 / -1;color:var(--neutral-400)}.bottom-nav{display:none}.showcase-grid{display:grid;gap:16px}.showcase-chart-states{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.horizontal{grid-auto-flow:column;justify-content:start}.showcase-states details>.state-view{margin:20px}.tooltip{position:relative}.tooltip:focus:after,.tooltip:hover:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:0;background:var(--navy-900);color:#fff;padding:6px 8px;border-radius:6px;white-space:nowrap;font-size:12px}.mobile-menu nav,.mobile-menu-secondary{display:grid;gap:8px}.mobile-menu>.organisation-switcher{margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--neutral-200)}.mobile-menu .organisation-trigger,.mobile-menu .account-trigger{background:var(--navy-50);color:var(--navy-800)}.mobile-menu .organisation-copy b,.mobile-menu .account-copy b{color:var(--navy-800)}.mobile-menu .organisation-copy small,.mobile-menu .account-copy small,.mobile-menu .organisation-copy>span{color:var(--neutral-600)}.mobile-account-area{margin-top:18px;padding-top:18px;border-top:1px solid var(--neutral-200)}.mobile-account-area>.eyebrow{display:block;margin-bottom:8px}.mobile-menu .organisation-popover,.mobile-menu .account-popover{position:static;width:100%;margin-top:8px}.mobile-menu nav a,.mobile-menu-secondary button{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;border:0;border-radius:var(--radius-control);padding:10px 12px;background:transparent;color:var(--navy-800);text-align:left;text-decoration:none}.mobile-menu nav a.active{background:var(--teal-100);color:var(--navy-900)}.mobile-menu-secondary{margin-top:18px;padding-top:18px;border-top:1px solid var(--neutral-200)}.bottom-nav a{border:0;background:transparent;min-width:60px;min-height:56px;display:grid;place-items:center;color:var(--neutral-600);font-size:11px;text-decoration:none}.bottom-nav a.active{color:var(--teal-700);box-shadow:inset 0 3px 0 var(--teal-500)}.portal-title-chip{max-width:260px;overflow:hidden;border:1px solid var(--neutral-200);border-radius:999px;padding:7px 12px;color:var(--navy-700);background:var(--neutral-0);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.review-landing{min-height:100vh;display:flex;flex-direction:column;background:var(--neutral-50)}.review-landing__header{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px max(20px,calc((100vw - var(--content)) / 2 + 32px));border-bottom:1px solid var(--neutral-200);background:var(--neutral-0)}.review-landing__header>div,.review-landing__header span{display:flex;align-items:center;gap:10px}.review-landing__header span{align-items:flex-start;flex-direction:column;gap:1px}.review-landing__hero{max-width:760px;margin-bottom:28px}.portal-selector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.portal-selector-card{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:14px;min-height:224px;border-top:2px solid var(--navy-700)}.portal-selector-card--ledger{border-top-color:var(--warning)}.portal-selector-card--consumer{border-top-color:var(--teal-500)}.portal-selector-card--hybrid{border-top-color:var(--info)}.portal-selector-card__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--radius-md);color:var(--teal-700);background:var(--teal-100)}.portal-selector-card>.button{grid-column:1 / -1;align-self:end;justify-content:space-between}.role-context-strip{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:16px;padding:10px 12px;border:1px solid var(--neutral-200);border-radius:var(--radius-md);background:var(--neutral-0)}.role-context-strip small{margin-left:auto}.schedule-list{list-style:none;display:grid;gap:0;margin:10px 0 0;padding:0}.schedule-list li{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--neutral-100)}.schedule-list li>span{display:grid;gap:2px}.student-identity,.referral-code{display:flex;align-items:center;gap:14px}.referral-code{margin:14px 0;padding:14px;border:1px dashed var(--teal-500);border-radius:var(--radius-md);background:var(--teal-50)}.referral-code>div{display:grid;flex:1}.ledger-surface,.hybrid-surface{display:grid;gap:16px}.hybrid-surface .ledger-card{border-top:2px solid var(--teal-600)}.planned-screen{max-width:760px;min-height:360px;display:flex;align-items:flex-start;flex-direction:column;justify-content:center;margin:32px auto}.planned-screen>svg{width:44px;height:44px;margin:20px 0 8px;padding:10px;border-radius:var(--radius-md);color:var(--teal-700);background:var(--teal-100)}.planned-screen dl{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.planned-screen dl div{padding:12px;border-radius:var(--radius-control);background:var(--neutral-50)}.planned-screen dd{margin:4px 0 0;font-weight:700}@keyframes pulse{to{background-position:-200%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}.context-hero{display:flex;flex-wrap:wrap;align-items:stretch;gap:18px;padding:20px 22px;border:1px solid var(--register-border, var(--neutral-200));border-radius:var(--radius-lg);background:var(--register-surface, var(--neutral-0));box-shadow:var(--shadow-1)}.context-hero__main{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:6px}.context-hero__eyebrow{font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--register-action, var(--teal-700))}.context-hero__title-row{display:flex;align-items:center;gap:12px;min-width:0}.context-hero__icon{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:var(--radius-control);background:var(--register-soft, var(--neutral-100));color:var(--register-action, var(--teal-700))}.context-hero__icon svg{width:22px;height:22px}.context-hero__title{margin:0;min-width:0;color:var(--register-text, var(--navy-800))}.context-hero__description{color:var(--register-muted, var(--neutral-600));max-width:66ch}.context-hero__next{flex:0 1 300px;min-width:0;display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:var(--radius-md);background:var(--register-soft, var(--neutral-100));border:1px solid var(--register-border, var(--neutral-200))}.context-hero__next-label{font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--register-action, var(--teal-700))}.context-hero__next-title{font-family:var(--font-heading);font-size:var(--text-h5);line-height:var(--leading-h5);font-weight:var(--weight-h5);color:var(--register-text, var(--navy-800))}.context-hero__next-detail{font-size:var(--text-small);color:var(--register-muted, var(--neutral-600));font-variant-numeric:tabular-nums}.context-hero__next-status{margin-top:4px}.context-hero__next-action{margin-top:10px}@media(max-width:900px){.context-hero__next{flex:1 1 100%}}@media(max-width:560px){.context-hero{padding:16px}}.attention-queue{background:var(--register-surface, var(--neutral-0));border:1px solid var(--register-border, var(--neutral-200));border-radius:var(--radius-lg);box-shadow:var(--shadow-1);overflow:hidden}.attention-queue__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px 12px}.attention-queue__title{margin:0;font-size:var(--text-h4);line-height:var(--leading-h4);font-weight:var(--weight-h4);color:var(--register-text, var(--navy-800))}.attention-queue__detail{margin:4px 0 0;font-size:var(--text-small);color:var(--register-muted, var(--neutral-600))}.attention-queue__list{list-style:none;margin:0;padding:0}.attention-queue__item{display:flex;align-items:center;gap:12px;padding:12px 18px;border-top:1px solid var(--register-border, var(--neutral-200));transition:background-color var(--motion-fast) ease}.attention-queue__item:hover,.attention-queue__item:focus-within{background:var(--register-soft, var(--neutral-50))}.attention-queue__icon{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:var(--radius-control);background:var(--register-soft, var(--neutral-100));color:var(--register-action, var(--teal-700))}.attention-queue__icon svg{width:18px;height:18px}.attention-queue__body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.attention-queue__item-title{font-weight:var(--weight-semibold);color:var(--register-text, var(--navy-800))}.attention-queue__item-detail{font-size:var(--text-small);color:var(--register-muted, var(--neutral-600))}.attention-queue__meta{font-size:var(--text-caption);color:var(--register-muted, var(--neutral-600));font-variant-numeric:tabular-nums}.attention-queue__status,.attention-queue__action{flex:none}.attention-queue__empty{margin:0;padding:16px 18px 20px;color:var(--register-muted, var(--neutral-600));border-top:1px solid var(--register-border, var(--neutral-200))}@media(max-width:640px){.attention-queue__item{flex-wrap:wrap}.attention-queue__body{flex:1 1 100%}}.chart-card--primary{padding:20px}.chart-card--primary .chart-plot{height:340px}.chart-card--primary .section-head h2{font-size:var(--text-h3);line-height:var(--leading-h3)}.attention-queue__item{border-left:3px solid transparent}.attention-queue__item--warning{border-left-color:var(--status-due-today-border)}.attention-queue__item--warning .attention-queue__icon{background:var(--status-due-today-bg);color:var(--status-due-today-text)}.attention-queue__item--danger{border-left-color:var(--status-urgent-border)}.attention-queue__item--danger .attention-queue__icon{background:var(--status-urgent-bg);color:var(--status-urgent-text)}.attention-queue__item--info{border-left-color:var(--status-in-progress-border)}.attention-queue__item--info .attention-queue__icon{background:var(--status-in-progress-bg);color:var(--status-in-progress-text)}.attention-queue__item--success{border-left-color:var(--status-done-border)}.attention-queue__item--success .attention-queue__icon{background:var(--status-done-bg);color:var(--status-done-text)}.edunux-wordmark{font-family:var(--font-heading);font-weight:700;white-space:nowrap}.edunux-wordmark--dark{color:var(--edunux-wordmark-navy)}.edunux-wordmark--light{color:var(--edunux-wordmark-white)}.edunux-wordmark__accent{color:var(--edunux-wordmark-teal)}.portal-footer__attribution{display:inline-flex;align-items:baseline;gap:4px}.portal-footer__link{border-radius:var(--radius-control);color:inherit;text-decoration:none}.portal-footer__link:hover .edunux-wordmark,.portal-footer__link:focus-visible .edunux-wordmark{text-decoration:underline;text-underline-offset:2px}.portal-footer__link:focus-visible{outline:2px solid var(--teal-500);outline-offset:2px}.school-login{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:56px;padding:32px 32px 12px;background:radial-gradient(circle at 12% 12%,var(--school-primary-soft),transparent 32%),linear-gradient(180deg,var(--neutral-50),var(--navy-50));color:var(--navy-900)}.school-login>.school-login__surface{width:min(100%,1040px);max-width:none;min-height:min(620px,calc(100dvh - 118px));display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);margin:0;padding:0;overflow:clip;border:1px solid color-mix(in srgb,var(--school-primary) 12%,var(--neutral-200));border-radius:24px;background:var(--neutral-0);box-shadow:var(--shadow-3)}.school-login__identity{position:relative;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,5vw,64px);overflow:hidden;background:linear-gradient(145deg,var(--school-primary),color-mix(in srgb,var(--school-primary) 72%,var(--school-secondary)) 68%,var(--school-secondary) 130%);color:var(--neutral-0)}.school-login__identity:after{content:"";position:absolute;right:-90px;bottom:-110px;width:260px;height:260px;border:1px solid color-mix(in srgb,var(--school-accent) 32%,transparent);border-radius:50%;opacity:.8;pointer-events:none}.school-login__logo-frame{position:relative;z-index:1;width:78px;height:78px;flex:0 0 78px;display:grid;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--neutral-0) 48%,transparent);border-radius:18px;background:color-mix(in srgb,var(--neutral-0) 94%,transparent);box-shadow:0 8px 22px #0000001a}.school-login__logo{width:100%;height:100%;object-fit:contain;padding:8px}.school-login__logo-fallback{display:grid;width:100%;height:100%;place-content:center;place-items:center;gap:5px;color:var(--neutral-600);font-size:.625rem;font-weight:var(--weight-semibold);letter-spacing:.02em;line-height:1.1;text-align:center}.school-login__logo-fallback svg{width:23px;height:23px;stroke-width:1.6}.school-login__identity-copy{position:relative;z-index:1;display:flex;flex-direction:column;gap:50px}.school-login__identity-heading{width:min(100%,360px);display:flex;flex-direction:column;align-items:center;gap:18px;margin-inline:auto}.school-login__identity-title{width:100%;min-width:0;display:flex;flex-direction:column;align-items:center}.school-login__eyebrow{display:block;color:color-mix(in srgb,var(--school-accent) 92%,var(--school-primary));font-size:.9375rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.school-login__identity h1{max-width:360px;margin:0;color:var(--neutral-0);font-size:clamp(2rem,3vw,2.625rem);line-height:1.16;text-align:center}.school-login__description{width:min(100%,330px);display:flex;flex-direction:column;align-items:flex-start}.school-login__purpose{margin:8px 0 0;color:color-mix(in srgb,var(--neutral-0) 80%,transparent);font-size:var(--text-body-lg);line-height:1.65;text-align:left}.school-login__brand-line{position:relative;z-index:1;align-self:flex-start;width:56px;height:4px;margin-top:28px;border-radius:var(--radius-full);background:var(--school-accent)}.school-login__panel{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:clamp(40px,5vw,68px);background:var(--neutral-0)}.school-login__panel>*{width:min(100%,440px);margin-inline:auto}.school-login__intro h2{margin:0 0 10px;color:var(--navy-900);font-size:clamp(1.75rem,3vw,2.25rem);line-height:1.2}.school-login__intro p{margin:0;color:var(--neutral-600);font-size:var(--text-body-lg);line-height:1.6}.school-login__form{display:grid;gap:18px}.school-login .field__label{color:var(--navy-900)}.school-login .input{min-height:50px;border-color:var(--neutral-300);background:var(--neutral-0);color:var(--neutral-950)}.school-login .input:focus{border-color:var(--school-primary);box-shadow:0 0 0 3px var(--school-primary-soft)}.school-login .button--primary{min-height:50px;background:var(--school-primary);color:var(--school-primary-ink)}.school-login .button--primary:hover:not(:disabled){background:var(--school-primary-strong);color:var(--school-primary-ink)}.school-login .button--primary:focus-visible,.school-login__form>a:focus-visible,.school-login__footer a:focus-visible{outline:3px solid var(--school-accent);outline-offset:3px}.school-login__form>a{justify-self:start;border-radius:var(--radius-sm);color:var(--school-primary);font-size:var(--text-body);font-weight:var(--weight-semibold)}.school-login__password-field{position:relative;display:block}.school-login__password-field .input{width:100%;padding-right:54px}.school-login__password-toggle{position:absolute;top:50%;right:4px;width:44px;height:44px;display:grid;place-items:center;padding:0;transform:translateY(-50%);border:0;border-radius:9px;background:transparent;color:var(--neutral-600);cursor:pointer}.school-login__password-toggle:hover{background:var(--school-primary-soft);color:var(--school-primary)}.school-login__password-toggle:focus-visible{outline:2px solid var(--school-primary);outline-offset:-2px}.school-login__password-toggle svg{width:19px;height:19px}.school-login__footer{width:min(100%,1440px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:baseline;column-gap:clamp(48px,8vw,120px);padding-inline:0;color:var(--neutral-600);font-size:var(--text-small);line-height:1.5}.school-login__footer>:first-child{grid-column:1;justify-self:start}.school-login__powered{grid-column:2;display:inline-flex;align-items:baseline;justify-self:end;gap:4px;white-space:nowrap}.school-login__footer a{border-radius:var(--radius-sm);color:inherit;text-decoration:none}.school-login__footer a:hover .edunux-wordmark,.school-login__footer a:focus-visible .edunux-wordmark{text-decoration:underline;text-underline-offset:2px}@media(min-width:821px){.school-login__footer{width:min(100%,1040px);grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);column-gap:0}.school-login__footer>:first-child{justify-self:center}.school-login__powered{margin-right:clamp(40px,5.7vw,82px)}}.school-login__message-slot{min-height:42px}.school-login__message-slot .alert{min-height:42px;gap:8px;padding:6px 10px;margin:0;font-size:var(--text-small)}.school-login__message-slot .alert>div{line-height:1.35}.school-login__message-slot .alert strong,.school-login__message-slot .alert p{display:inline}.school-login__message-slot .alert strong{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.school-login__message-slot .alert p{display:block;margin:0}.school-login__session{display:flex;align-items:center;gap:14px;color:var(--neutral-600)}.school-login__session p{margin:0}.school-login__spinner{width:22px;height:22px;flex:0 0 auto;border:2px solid var(--neutral-300);border-top-color:var(--school-primary);border-radius:50%;animation:button-spin .8s linear infinite}.school-login__recovery-actions{display:flex;flex-wrap:wrap;gap:12px}.school-login--system{background:var(--neutral-50)}.school-login__system-surface{width:min(calc(100% - 32px),520px);display:grid;gap:28px;padding:clamp(28px,6vw,52px);border:1px solid var(--neutral-200);border-radius:20px;background:var(--neutral-0);box-shadow:var(--shadow-2)}.school-login__system-surface>.edunux-wordmark{font-size:1.375rem}@media(max-width:820px){.school-login{gap:68px;padding:28px 28px 12px}.school-login__footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(32px,6vw,48px);padding-inline:32px}.school-login__footer>:first-child{grid-column:1}.school-login__powered{grid-column:2;margin-right:0}.school-login__panel{gap:10px}.school-login>.school-login__surface{width:min(100%,712px);min-height:0;grid-template-columns:1fr}.school-login__identity{min-height:230px;padding:32px 40px}.school-login__identity-copy{gap:34px}.school-login__identity h1{font-size:1.75rem}.school-login__purpose{max-width:520px;margin-top:6px;font-size:var(--text-body)}.school-login__description{width:min(100%,520px)}.school-login__logo-frame{width:68px;height:68px;flex-basis:68px;border-radius:16px}.school-login__panel{padding:35px 40px}}@media(max-width:520px){.school-login{justify-content:flex-start;gap:20px;padding:8px 12px}.school-login>.school-login__surface{border-radius:18px}.school-login__identity{min-height:208px;padding:12px 24px}.school-login__identity-copy{gap:22px}.school-login__identity h1{font-size:1.5rem}.school-login__purpose{margin-top:6px;font-size:var(--text-small);line-height:1.5}.school-login__eyebrow{font-size:.875rem}.school-login__identity-heading{gap:10px}.school-login__logo-frame{width:60px;height:60px;flex-basis:60px;border-radius:14px}.school-login__logo-fallback{font-size:.5625rem}.school-login__logo-fallback svg{width:20px;height:20px}.school-login__brand-line{width:40px;height:3px;margin-top:12px}.school-login__panel{gap:6px;padding:18px 24px}.school-login__message-slot,.school-login__message-slot .alert{min-height:70px}.school-login__message-slot .alert{gap:8px;padding:8px 10px;font-size:var(--text-caption)}.school-login__message-slot .alert svg{width:16px}.school-login__intro h2{font-size:1.75rem}.school-login__intro p{font-size:var(--text-body);line-height:1.5}.school-login__form{gap:16px}.school-login__footer{width:100%;display:flex;flex-direction:column;align-items:center;gap:3px;padding-inline:22px;text-align:center;font-size:var(--text-caption)}.school-login__footer>:first-child,.school-login__powered{justify-self:auto}.school-login__recovery-actions{display:grid}}@media(prefers-reduced-motion:reduce){.school-login__spinner{animation-duration:2.4s}}.school-recovery__intro h1{margin:0 0 10px;color:var(--navy-900);font-size:clamp(1.75rem,3vw,2.25rem);line-height:1.2}.school-recovery__intro>p{margin:0 0 20px;color:var(--neutral-600)}.school-recovery__intro>.alert{margin-bottom:16px}.school-recovery__intro .school-login__form{gap:14px}.sg{display:flex;flex-direction:column;gap:28px;padding-bottom:48px}.sg-masthead{padding-bottom:18px;border-bottom:2px solid var(--navy-800)}.sg-masthead__eyebrow{font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--teal-700)}.sg-masthead p{max-width:72ch}.sg-section{scroll-margin-top:80px}.sg-section__head{display:flex;align-items:baseline;gap:12px;padding-bottom:10px;margin-bottom:16px;border-bottom:1px solid var(--neutral-200)}.sg-section__num{flex:none;padding:2px 9px;border:1px solid var(--neutral-200);border-radius:var(--radius-full);background:var(--teal-50);color:var(--teal-700);font-family:var(--font-heading);font-size:var(--text-caption);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.sg-section__title{margin:0;font-size:var(--text-h3);line-height:var(--leading-h3)}.sg-section__detail{margin:4px 0 0;max-width:78ch;font-size:var(--text-small);color:var(--neutral-600)}.sg-section__body{display:flex;flex-direction:column;gap:14px}.sg-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.sg-row__label{flex:0 0 108px;font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--neutral-600)}.sg-row__items{display:flex;flex-wrap:wrap;align-items:center;gap:10px;flex:1 1 320px}.sg-swatch{display:flex;flex-direction:column;gap:3px;min-width:92px}.sg-swatch__chip{height:40px;border-radius:var(--radius-control);border:1px solid var(--neutral-200)}.sg-swatch__name{font-size:var(--text-small);font-weight:var(--weight-semibold)}.sg-swatch__token{font-size:var(--text-caption);color:var(--neutral-600);font-family:var(--font-mono)}.sg-type{display:flex;flex-direction:column;gap:8px}.sg-forms{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;align-items:start}.sg-forms .sg-row{grid-column:1 / -1}.sg-grid{display:grid;gap:14px}.sg-grid--3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.sg-grid--4{grid-template-columns:repeat(auto-fit,minmax(212px,1fr))}.sg-register{min-height:0;border-radius:var(--radius-lg);border:1px solid var(--register-border);background:var(--register-canvas);overflow:hidden}.sg-register__inner{margin:12px;padding:16px;border-radius:var(--radius-md);border:1px solid var(--register-border);background:var(--register-surface);display:flex;flex-direction:column;gap:6px}.sg-register__eyebrow{font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--register-action)}.sg-register__title{margin:0;font-size:var(--text-h5);line-height:var(--leading-h5);color:var(--register-text)}.sg-register__body{margin:0;font-size:var(--text-small);color:var(--register-muted)}.sg-register__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.sg-list{margin:0;padding-left:20px;display:grid;gap:8px;max-width:78ch}.sg-steps{margin:0;padding-left:20px;display:grid;gap:8px;max-width:78ch;font-size:var(--text-body)}.sg-steps li::marker{color:var(--teal-700);font-weight:var(--weight-bold)}.sg-analytics-demo{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:14px;align-items:start}.sg-activity-demo{border:1px solid var(--neutral-200);border-radius:var(--radius-lg);padding:4px 14px;background:var(--neutral-0)}@media(max-width:1100px){.sg-analytics-demo{grid-template-columns:minmax(0,1fr)}}.sg-page-heading-demo{padding:4px 18px 14px;border:1px solid var(--neutral-200);border-radius:var(--radius-lg);background:var(--neutral-0)}.sg-page-heading-demo h1{font-size:var(--text-h2);line-height:var(--leading-h2)}.sg-footer-demo{border:1px solid var(--neutral-200);border-radius:var(--radius-lg);background:var(--neutral-50);overflow:hidden}.sg-footer-demo .portal-footer{margin:0;border-top:0}html:has(.app-shell[data-portal=hq]),body:has(.app-shell[data-portal=hq]){background:#06111f;overflow-y:hidden;scrollbar-color:#315574 #06111f}.app-shell[data-portal=hq]{--sidebar: 268px;--sidebar-collapsed: 80px;--content: 1680px;--hq-footer-height: 70px;height:100vh;height:100dvh;min-height:0;overflow:hidden;background:var(--hq-canvas);color:var(--hq-text)}.app-shell[data-portal=hq].app-shell--sidebar-collapsed{--sidebar: var(--sidebar-collapsed)}.app-shell[data-portal=hq] .workspace,.app-shell[data-portal=hq] main{background:var(--hq-canvas)}.app-shell[data-portal=hq] .workspace{height:100%;min-height:0;overflow:hidden;padding-bottom:0}.app-shell[data-portal=hq] main{min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-color:#315574 var(--hq-canvas);padding-top:22px}.app-shell[data-portal=hq] h1,.app-shell[data-portal=hq] h2,.app-shell[data-portal=hq] h3,.app-shell[data-portal=hq] strong,.app-shell[data-portal=hq] b{color:var(--hq-text)}.app-shell[data-portal=hq] p,.app-shell[data-portal=hq] small,.app-shell[data-portal=hq] .breadcrumb,.app-shell[data-portal=hq] .detail dt,.app-shell[data-portal=hq] .feed span{color:var(--hq-muted)}.app-shell[data-portal=hq] .sidebar{padding:0;border-right:1px solid var(--hq-border);background:var(--hq-shell);box-shadow:10px 0 30px #0000002e}.app-shell[data-portal=hq] .hq-command-identity{display:grid;flex:none;align-items:center;height:72px;padding:0 16px;border-bottom:1px solid var(--hq-border)}.app-shell[data-portal=hq] .hq-command-identity__copy{display:grid;min-width:0}.app-shell[data-portal=hq] .hq-command-identity__copy b{font-size:24px;font-weight:700;line-height:1.25;letter-spacing:.01em}.app-shell[data-portal=hq] .hq-command-identity__copy small{color:var(--hq-cyan);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.app-shell[data-portal=hq] .sidebar--collapsed .hq-command-identity{padding-inline:4px;text-align:center}.app-shell[data-portal=hq] .sidebar--collapsed nav{padding-left:0}.app-shell[data-portal=hq] .sidebar--collapsed .hq-command-identity__copy b{font-size:10px}.app-shell[data-portal=hq] .sidebar--collapsed .hq-command-identity__copy small{font-size:7px;letter-spacing:0}.app-shell[data-portal=hq] .account-trigger{height:100%;min-height:var(--hq-footer-height);padding:0 20px;border:0;border-radius:0;background:var(--hq-surface);box-shadow:none}.app-shell[data-portal=hq] .account-trigger:hover,.app-shell[data-portal=hq] .account-trigger[aria-expanded=true]{background:var(--hq-surface-interactive)}.app-shell[data-portal=hq] .account-trigger:focus-visible{outline:2px solid var(--hq-cyan);outline-offset:-3px}.app-shell[data-portal=hq] .account-trigger .account-copy{gap:1px}.app-shell[data-portal=hq] .account-trigger .account-copy__email{display:block;margin-top:1px;color:var(--hq-muted);font-size:11px;overflow-wrap:anywhere;white-space:normal;line-height:1.35}.app-shell[data-portal=hq] .sidebar--collapsed .account-trigger{padding:0}.app-shell[data-portal=hq] .sidebar nav{gap:3px;margin-top:10px;padding-right:0;padding-left:12px;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--hq-border-strong) transparent}.app-shell[data-portal=hq] .sidebar-bottom{height:var(--hq-footer-height);flex:none;display:flex;align-items:stretch;margin:auto 0 0;padding:0}.app-shell[data-portal=hq] .sidebar-bottom .account-menu{width:100%;height:100%}.app-shell[data-portal=hq] .mobile-menu{--nav-section-label: var(--edunux-sidebar-section-label)}.app-shell[data-portal=hq] .sidebar .nav-group-label{margin-top:5px;padding-top:9px}.app-shell[data-portal=hq] .sidebar nav a{position:relative;min-height:42px;border:1px solid transparent;color:#b7cadb}.app-shell[data-portal=hq] .sidebar nav a:hover{border-color:var(--hq-border);background:#132a42c7;color:var(--hq-text);box-shadow:none}.app-shell[data-portal=hq] .sidebar nav a.active{border-color:#2dd4bf52;background:#2dd4bf29;color:#ecfffb;box-shadow:inset 3px 0 0 var(--hq-teal)}.app-shell[data-portal=hq] .sidebar nav a.active svg{color:var(--hq-teal)}.app-shell[data-portal=hq] .sidebar-bottom{border-top-color:var(--hq-border);background:var(--hq-shell)}.app-shell[data-portal=hq] .hq-command-bar{flex:none;height:72px;gap:16px;border-bottom-color:var(--hq-border);background:#06111ff0;box-shadow:0 10px 26px #0000002e;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-shell[data-portal=hq] .hq-sidebar-toggle{width:var(--touch);height:var(--touch);flex:none;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:var(--hq-muted)}.app-shell[data-portal=hq] .hq-sidebar-toggle:hover{background:var(--hq-surface-interactive);color:var(--hq-teal)}.app-shell[data-portal=hq] .hq-sidebar-toggle{margin-left:calc((22px - var(--touch)) / 2)}.app-shell[data-portal=hq] .hq-sidebar-toggle svg{width:22px;height:22px}.app-shell[data-portal=hq] .hq-command-bar__title{display:grid;gap:1px;min-width:180px;max-width:280px}.app-shell[data-portal=hq] .hq-command-bar__title span{color:var(--hq-cyan);font-size:10px;font-weight:700;letter-spacing:.12em;line-height:1.2;text-transform:uppercase}.app-shell[data-portal=hq] .hq-command-bar__title strong{overflow:hidden;color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:20px;font-weight:800;line-height:1.2}.app-shell[data-portal=hq] .hq-command-bar__title{flex:1 1 auto;max-width:420px}.app-shell[data-portal=hq] .hq-command-bar__search .hq-destination-search{margin-top:0}.app-shell[data-portal=hq] .hq-command-bar__search .hq-destination-search__field>label{border-color:var(--hq-border);background:var(--hq-surface)}.app-shell[data-portal=hq] .card,.app-shell[data-portal=hq] .hq-analytics-toolbar,.app-shell[data-portal=hq] .popover-panel{border-color:var(--hq-border);background:var(--hq-surface);box-shadow:var(--shadow-1)}.app-shell[data-portal=hq] .card{border-radius:12px}.app-shell[data-portal=hq] .card:hover{border-color:var(--hq-border-strong)}.app-shell[data-portal=hq] .section-head{padding-bottom:9px;border-bottom:1px solid rgba(32,59,86,.62)}.app-shell[data-portal=hq] .section-head h2{font-size:14px;letter-spacing:.01em}.app-shell[data-portal=hq] .eyebrow,.app-shell[data-portal=hq] .hq-screen-kicker code{color:var(--hq-cyan)}.app-shell[data-portal=hq] .breadcrumb svg{color:#59758e}.app-shell[data-portal=hq] .page-heading{margin-top:8px;padding-bottom:4px}.app-shell[data-portal=hq] .button--secondary,.app-shell[data-portal=hq] .pagination button{border-color:var(--hq-border-strong);background:var(--hq-surface-elevated);color:var(--hq-text)}.app-shell[data-portal=hq] .button--secondary:hover,.app-shell[data-portal=hq] .pagination button:hover:not(:disabled){border-color:var(--hq-cyan)}.app-shell[data-portal=hq] .button--quiet{color:#73dff8}.app-shell[data-portal=hq] .stat-card,.app-shell[data-portal=hq] .ledger-card{min-height:118px;align-content:start;background:var(--hq-surface-elevated)}.app-shell[data-portal=hq] .stat-card__top{color:var(--hq-muted);font-size:12px}.app-shell[data-portal=hq] .stat-card__top svg{border:1px solid var(--hq-border);background:#38bdf814;color:var(--hq-cyan)}.app-shell[data-portal=hq] .stat-card strong,.app-shell[data-portal=hq] .ledger-card strong{color:#f7fbff;font-size:1.55rem;font-variant-numeric:tabular-nums}.app-shell[data-portal=hq] .stat-card small{color:#8ec4d5}.app-shell[data-portal=hq] .hq-primary-kpis .stat-card{position:relative;min-height:138px;overflow:hidden}.app-shell[data-portal=hq] .hq-primary-kpis .stat-card:after{content:"";position:absolute;inset:auto -30px -46px auto;width:110px;height:110px;border-radius:50%;background:#38bdf81a}.app-shell[data-portal=hq] .hq-primary-kpis .stat-card:first-child,.app-shell[data-portal=hq] .hq-primary-kpis .stat-card:nth-child(4){border-color:#2dd4bf61;background:#103b3d}.app-shell[data-portal=hq] .hq-primary-kpis .stat-card:nth-child(2),.app-shell[data-portal=hq] .hq-primary-kpis .stat-card:nth-child(3){border-color:#60a5fa61;background:#123250}.app-shell[data-portal=hq] .hq-command-dashboard>section{margin-block:18px}.app-shell[data-portal=hq] .hq-command-dashboard>section>.section-head{margin-bottom:10px}.app-shell[data-portal=hq] .hq-command-dashboard>section>.stat-grid{margin-block:0}.app-shell[data-portal=hq] .hq-operation-list{margin-bottom:0}.app-shell[data-portal=hq] .hq-operation-list li{align-items:flex-start;min-height:56px;padding-block:10px}.app-shell[data-portal=hq] .hq-operation-list svg{width:19px;flex:0 0 19px;color:var(--hq-cyan)}.app-shell[data-portal=hq] .hq-operation-list span{color:var(--hq-muted)}.app-shell[data-portal=hq] .hq-delegated-dashboard{--hq-role-accent: var(--hq-cyan)}.app-shell[data-portal=hq] .hq-delegated-dashboard[data-hq-role=hq-finance-admin]{--hq-role-accent: var(--hq-amber)}.app-shell[data-portal=hq] .hq-delegated-dashboard[data-hq-role=hq-support-admin]{--hq-role-accent: var(--hq-teal)}.app-shell[data-portal=hq] .hq-delegated-dashboard[data-hq-role=hq-security-admin]{--hq-role-accent: var(--hq-red)}.app-shell[data-portal=hq] .hq-delegated-dashboard[data-hq-role=hq-migration-admin]{--hq-role-accent: var(--hq-purple)}.app-shell[data-portal=hq] .hq-delegated-dashboard[data-hq-role=hq-analytics-admin]{--hq-role-accent: var(--hq-blue)}.app-shell[data-portal=hq] .hq-delegated-dashboard .eyebrow{color:var(--hq-role-accent)}.app-shell[data-portal=hq] .hq-delegated-dashboard>.alert{border-left:3px solid var(--hq-role-accent)}.app-shell[data-portal=hq] .hq-delegated-dashboard .hq-delegated-kpis .stat-card{border-color:color-mix(in srgb,var(--hq-role-accent) 34%,var(--hq-border));background:color-mix(in srgb,var(--hq-role-accent) 10%,var(--hq-surface-elevated))}.app-shell[data-portal=hq] .hq-signal-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.app-shell[data-portal=hq] .hq-signal-grid .stat-card{min-height:94px;padding:13px}.app-shell[data-portal=hq] .hq-signal-grid .stat-card strong{font-size:1.25rem}.app-shell[data-portal=hq] .chart-card{background:var(--hq-surface)}.app-shell[data-portal=hq] .chart-summary{border-top-color:var(--hq-border);color:var(--hq-muted)}.app-shell[data-portal=hq] .recharts-default-tooltip{border-color:var(--hq-border-strong)!important;background:var(--hq-surface-elevated)!important;color:var(--hq-text)!important}.app-shell[data-portal=hq] .recharts-legend-item-text,.app-shell[data-portal=hq] .recharts-tooltip-label,.app-shell[data-portal=hq] .recharts-tooltip-item{color:var(--hq-muted)!important}.app-shell[data-portal=hq] .input,.app-shell[data-portal=hq] .search-field,.app-shell[data-portal=hq] input:not([type=checkbox]):not([type=radio]),.app-shell[data-portal=hq] select,.app-shell[data-portal=hq] textarea{border-color:var(--hq-border-strong);background:var(--hq-surface-interactive);color:var(--hq-text)}.app-shell[data-portal=hq] input::placeholder,.app-shell[data-portal=hq] textarea::placeholder{color:#8199ae}.app-shell[data-portal=hq] option{background:var(--hq-surface);color:var(--hq-text)}.app-shell[data-portal=hq] .input:focus-within,.app-shell[data-portal=hq] .input:focus,.app-shell[data-portal=hq] .search-field:focus-within{border-color:var(--hq-cyan);box-shadow:0 0 0 3px #38bdf829}.hq-school-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px}.hq-school-form__actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:12px;padding-top:6px}.app-shell[data-portal=hq] .field .validation{color:var(--danger-text);font-weight:600}.hq-school-form__subheading{grid-column:1 / -1;margin:6px 0 -4px;padding-top:14px;border-top:1px solid var(--hq-border);color:var(--hq-text);font-size:1rem;font-weight:700}.password-input{position:relative;display:block}.password-input .input{width:100%;padding-right:52px}.password-input__toggle{position:absolute;top:50%;right:4px;width:44px;height:44px;display:grid;place-items:center;padding:0;transform:translateY(-50%);border:0;border-radius:9px;background:transparent;color:var(--hq-muted, #9fb4c5);cursor:pointer}.password-input__toggle:hover{background:var(--hq-surface-interactive, #132a42);color:var(--hq-text, #f8fafc)}.password-input__toggle:focus-visible{outline:2px solid var(--hq-teal, #2dd4bf);outline-offset:-2px}.password-input__toggle svg{width:19px;height:19px}.hq-directory-recovery{display:grid;justify-items:start;gap:12px}@media(max-width:700px){.hq-school-form{grid-template-columns:1fr}.hq-school-form__actions{grid-column:auto}}.app-shell[data-portal=hq] .table-wrap{border:1px solid var(--hq-border);border-radius:10px;background:#0715248f}.app-shell[data-portal=hq] table{font-variant-numeric:tabular-nums}.app-shell[data-portal=hq] thead{position:sticky;top:0;z-index:1}.app-shell[data-portal=hq] th{background:#0d2237;color:#8faac0}.app-shell[data-portal=hq] th,.app-shell[data-portal=hq] td{border-bottom-color:#203b56a8}.app-shell[data-portal=hq] tbody tr:hover td{background:#132a42d1}.app-shell[data-portal=hq] .mobile-data-card{border-left-color:var(--hq-cyan)}.app-shell[data-portal=hq] .badge{border:1px solid rgba(168,188,208,.18)}.app-shell[data-portal=hq] .alert{border-color:#38bdf847}.app-shell[data-portal=hq] .alert--warning{border-color:#fbbf244d}.app-shell[data-portal=hq] .alert--danger{border-color:#fb718552}.app-shell[data-portal=hq] .tabs,.app-shell[data-portal=hq] .role-context-strip{border:1px solid var(--hq-border);background:var(--hq-surface-elevated)}.app-shell[data-portal=hq] .tabs button[aria-selected=true]{background:var(--hq-surface-interactive);color:var(--hq-text)}.app-shell[data-portal=hq] .activity-list li,.app-shell[data-portal=hq] .feed li,.app-shell[data-portal=hq] .timeline li,.app-shell[data-portal=hq] .detail,.app-shell[data-portal=hq] .hq-check-list li{border-bottom-color:#203b56b3}.app-shell[data-portal=hq] .hq-record-hero,.app-shell[data-portal=hq] .hq-ticket-header,.app-shell[data-portal=hq] .hq-transition-hero{border-left-color:var(--hq-cyan)}.app-shell[data-portal=hq] .hq-plan-card{border-top-color:var(--hq-border-strong)}.app-shell[data-portal=hq] .hq-plan-card--featured{border-color:var(--hq-teal);box-shadow:0 10px 28px #2dd4bf1a}.app-shell[data-portal=hq] .quotation-total{border:1px solid rgba(45,212,191,.28);background:#103b3d}.app-shell[data-portal=hq] .hq-conversation li{border:1px solid var(--hq-border);background:var(--hq-surface-elevated)}.app-shell[data-portal=hq] .hq-conversation li.staff{border-color:#2dd4bf47;background:#0d302d}.app-shell[data-portal=hq] .hq-settings-layout>nav button{color:var(--hq-muted)}.app-shell[data-portal=hq] .hq-settings-layout>nav button.active{border-color:#2dd4bf59;background:#2dd4bf1a;color:#bffdf1}.app-shell[data-portal=hq] .state-view{border:1px solid var(--hq-border);background:var(--hq-surface);box-shadow:var(--shadow-2)}.app-shell[data-portal=hq] .portal-footer{flex:none;justify-content:center;align-items:center;min-height:var(--hq-footer-height);max-width:none;margin:0;padding:10px 18px;border-top-color:var(--hq-border);color:#9fb4c5;text-align:center}.app-shell[data-portal=hq] .notification-panel,.app-shell[data-portal=hq] .account-popover,.app-shell[data-portal=hq] .organisation-popover,.app-shell[data-portal=hq] .dialog{border-color:var(--hq-border-strong);background:var(--hq-surface);color:var(--hq-text)}.app-shell[data-portal=hq] .account-popover{max-height:calc(100dvh - var(--hq-footer-height) - 18px);overflow-y:auto;scrollbar-color:var(--hq-border-strong) var(--hq-surface)}.app-shell[data-portal=hq] .account-popover__identity{border-bottom:0;margin-bottom:6px;padding-inline:6px}.app-shell[data-portal=hq] .account-popover__email{max-width:210px;font-size:11px;overflow-wrap:anywhere;line-height:1.4}.app-shell[data-portal=hq] .notification-panel__preview-note,.app-shell[data-portal=hq] .notification-panel__empty{margin:0;padding:12px 10px;color:var(--hq-muted);line-height:1.4}.app-shell[data-portal=hq] .notification-panel__controls{display:flex;align-items:center;gap:4px}.app-shell[data-portal=hq] .notification-panel__controls button[aria-label="Close notifications"]{width:var(--touch);justify-content:center}.app-shell[data-portal=hq] .notification-panel__controls svg{width:18px;height:18px}.app-shell[data-portal=hq] .account-popover>button[role=menuitem]{min-height:44px}.app-shell[data-portal=hq] .account-popover__current{background:#2dd4bf1f;color:#ecfffb;box-shadow:inset 3px 0 0 var(--hq-teal)}.app-shell[data-portal=hq] .account-popover__current svg{color:var(--hq-teal)}.app-shell[data-portal=hq] .account-popover__identity--text{display:none;margin-bottom:4px;padding:8px 12px 10px;border-bottom:1px solid var(--hq-border)}.app-shell[data-portal=hq] .sidebar--collapsed .account-popover__identity--text{display:block}@media(min-width:768px)and (max-width:1023px){.app-shell[data-portal=hq] .sidebar .account-popover__identity--text{display:block}}.app-shell[data-portal=hq] .account-popover__identity--text span{display:grid;min-width:0}.app-shell[data-portal=hq] .account-popover__identity--text small{color:var(--hq-muted)}.app-shell[data-portal=hq] .account-popover__divider{margin:8px 0 4px;background:var(--hq-border-strong)}.app-shell[data-portal=hq] .notification-list li{border-bottom-color:var(--hq-border)}.app-shell[data-portal=hq] .notification-list li.unread,.app-shell[data-portal=hq] .popover-panel button:hover,.app-shell[data-portal=hq] .popover-panel button:focus-visible,.app-shell[data-portal=hq] .popover-panel button.selected{background:var(--hq-surface-interactive)}.app-shell[data-portal=hq] .popover-panel button{color:var(--hq-text)}.app-shell[data-portal=hq] .hq-destination-results{border-color:var(--hq-border-strong);background:var(--hq-surface);color:var(--hq-text)}.app-shell[data-portal=hq] .hq-destination-results button,.app-shell[data-portal=hq] .hq-destination-results [role=option]{color:var(--hq-text)}.app-shell[data-portal=hq] .hq-destination-results__hint{color:var(--hq-muted)}.app-shell[data-portal=hq] .hq-destination-results button:hover,.app-shell[data-portal=hq] .hq-destination-results button:focus-visible,.app-shell[data-portal=hq] .hq-destination-results button[aria-selected=true]{background:var(--hq-surface-interactive)}.hq-destination-search{position:relative;margin-top:12px}.hq-destination-search__field{position:relative}.hq-destination-search__field>label{display:flex;align-items:center;gap:8px;min-height:var(--touch);padding:7px 9px;border:1px solid color-mix(in srgb,var(--navy-100) 24%,transparent);border-radius:var(--radius-control);background:color-mix(in srgb,var(--navy-900) 62%,transparent);color:var(--navy-100)}.hq-destination-search--header{width:100%;margin-top:0}.app-shell[data-portal=hq] .hq-command-bar__search{width:340px;flex:0 1 340px;min-width:0}.hq-destination-search--header .hq-destination-search__field>label{width:100%;min-width:0;background:var(--hq-surface);box-shadow:none}.hq-destination-search--header .hq-destination-search__field>label:focus-within{border-color:var(--hq-cyan);outline:2px solid var(--hq-cyan);outline-offset:2px}.app-shell[data-portal=hq] .hq-command-bar .notification-menu{flex:none}.app-shell[data-portal=hq] .hq-command-bar .notification-trigger{width:44px}.app-shell[data-portal=hq] .hq-command-bar .notification-badge{top:4px;right:2px;border-color:#061424}.app-shell[data-portal=hq] .notification-trigger .icon-button:hover{background:var(--hq-surface-interactive);color:var(--hq-teal)}.hq-destination-search--header .hq-destination-results{right:0;left:auto;width:min(360px,calc(100vw - var(--sidebar) - 40px))}.hq-destination-search svg{width:17px}.hq-destination-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--neutral-0);font-size:12px}.app-shell[data-portal=hq] .hq-destination-search input[type=search]{border:0;background:transparent}.hq-destination-search input::placeholder{color:var(--navy-300)}.hq-destination-results{position:absolute;z-index:95;top:calc(100% + 7px);left:0;width:min(390px,calc(100vw - var(--sidebar) - 24px));padding:7px;border:1px solid var(--neutral-200);border-radius:var(--radius-lg);background:var(--neutral-0);box-shadow:var(--shadow-3);color:var(--navy-800)}.hq-destination-results button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:var(--touch);padding:8px 9px;border:0;border-radius:8px;background:transparent;color:var(--navy-800);text-align:left}.hq-destination-results button:hover,.hq-destination-results button:focus-visible{background:var(--teal-50)}.hq-destination-results button>span{display:grid;min-width:0}.hq-destination-results small{color:var(--neutral-600)}.hq-destination-results code{flex:none;color:var(--teal-700);font-size:var(--text-caption)}.hq-destination-results p{margin:6px;font-size:12px}.hq-destination-results__hint{margin:4px 7px 8px;color:var(--neutral-600);font-size:11px;line-height:1.45}.hq-destination-results [role=option][aria-disabled=true]{padding:8px 9px;color:var(--neutral-600);font-size:12px}.hq-product-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.hq-product-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.hq-product-card__mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--teal-50);color:var(--teal-700)}.app-shell[data-portal=hq] .hq-product-card__mark{border:1px solid var(--hq-border);background:#38bdf814;color:var(--hq-cyan)}.hq-product-card__mark svg{width:19px}.hq-product-card__head{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.hq-product-card .button{margin-top:auto}.hq-product-hero .hq-product-card__mark{margin-bottom:8px}.hq-screen-kicker{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.hq-page-heading>div{min-width:0}.hq-page-heading p{max-width:780px}.hq-filter-grid{grid-template-columns:minmax(230px,2fr) repeat(2,minmax(150px,1fr))}.hq-definition-grid{margin:0}.hq-check-list{display:grid;gap:0;margin:8px 0;padding:0;list-style:none}.hq-check-list li{display:flex;align-items:flex-start;gap:9px;padding:10px 0;border-bottom:1px solid var(--neutral-100)}.hq-check-list svg{width:18px;flex:none;color:var(--teal-700)}.hq-form-layout{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)}.approval-summary{display:grid;grid-template-columns:1.3fr .7fr;gap:14px;margin:16px 0}.hq-restriction-card{max-width:720px;margin:28px auto}.hq-restriction-card>svg{width:44px;height:44px;padding:9px;border-radius:50%;background:var(--danger-bg);color:var(--danger-text)}.hq-record-hero,.hq-ticket-header,.hq-transition-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:14px 0;border-left:3px solid var(--teal-500)}.hq-record-hero h2,.hq-ticket-header h2,.hq-transition-hero h2{margin:2px 0;font-size:var(--text-h2);line-height:var(--leading-h2)}.hq-record-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.approval-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0}.approval-progress span{padding:9px 8px;border-top:3px solid var(--neutral-200);color:var(--neutral-600);font-size:var(--text-small);font-weight:600}.approval-progress span.complete,.approval-progress span.active{border-color:var(--teal-500);color:var(--teal-700)}.approval-progress span.active{background:var(--teal-50)}.hq-plan-catalogue{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.hq-plan-card{display:flex;flex-direction:column;gap:6px;border-top:3px solid var(--navy-300)}.hq-plan-card--featured{border-color:var(--teal-500);box-shadow:var(--shadow-2)}.hq-plan-card .button{margin-top:auto}.hq-price-pending{display:block;min-height:44px;margin:8px 0;color:var(--warning-text);font-variant-numeric:tabular-nums}.hq-quotation-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);gap:16px}.two-column-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hq-quotation-summary{position:relative}.hq-quotation-summary>.card{position:sticky;top:80px;display:grid;gap:8px;border-top:3px solid var(--navy-800)}.quotation-total{display:grid;gap:4px;padding:14px;border-radius:var(--radius-md);background:var(--navy-800);color:var(--neutral-0)}.quotation-total small{color:var(--teal-100)}.hq-mode-comparison{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);align-items:center;gap:10px;margin:16px 0}.hq-mode-arrow{justify-self:center;color:var(--teal-700)}.hq-mode-comparison .card{height:100%}.hq-support-layout{grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr)}.hq-support-layout>aside{display:grid;align-content:start;gap:14px}.hq-ticket-header>div:last-child{display:grid;justify-items:end;gap:8px}.hq-conversation{display:grid;gap:14px;padding:0;list-style:none}.hq-conversation li{display:flex;gap:10px;max-width:88%;padding:12px;border-radius:var(--radius-lg);background:var(--neutral-50)}.hq-conversation li.staff{justify-self:end;background:var(--teal-50)}.hq-conversation li>div{min-width:0}.hq-conversation small{display:block}.hq-conversation p{margin-bottom:0}.hq-analytics-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid var(--neutral-200);border-radius:var(--radius-md);background:var(--neutral-0)}.hq-analytics-toolbar>div{display:grid}.hq-analytics-toolbar select{max-width:220px}.hq-permission-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:14px;margin:16px 0}.hq-settings-layout{display:grid;grid-template-columns:minmax(220px,.3fr) minmax(0,1fr);gap:14px}.hq-settings-layout>nav,.hq-settings-content{display:grid;align-content:start;gap:7px}.hq-settings-layout>nav{position:sticky;top:80px}.hq-settings-layout>nav button{display:flex;align-items:center;gap:9px;min-height:var(--touch);padding:9px 11px;border:1px solid transparent;border-radius:var(--radius-control);background:transparent;color:var(--navy-700);text-align:left}.hq-settings-layout>nav button.active{border-color:var(--teal-100);background:var(--teal-50);color:var(--teal-700);font-weight:700}.hq-settings-layout>nav svg{width:18px}@media(max-width:1279px){.hq-plan-catalogue{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1023px){.sidebar .nav-group-label{height:1px;margin:7px 5px;padding:0;overflow:hidden;background:color-mix(in srgb,var(--navy-100) 18%,transparent);color:transparent}.hq-quotation-layout,.hq-permission-layout{grid-template-columns:1fr}.hq-quotation-summary>.card{position:static}}@media(max-width:767px){.mobile-menu .nav-group-label{padding:14px 10px 4px}.hq-page-heading>.button{width:100%}.approval-summary,.hq-plan-catalogue,.hq-quotation-layout,.hq-mode-comparison,.hq-permission-layout,.hq-settings-layout,.two-column-form{grid-template-columns:1fr}.hq-record-hero,.hq-ticket-header,.hq-transition-hero,.hq-analytics-toolbar{align-items:flex-start;flex-direction:column}.hq-record-actions,.hq-record-actions .button,.hq-analytics-toolbar select{width:100%}.approval-progress span{padding-inline:4px;font-size:11px}.hq-mode-arrow{rotate:90deg}.hq-ticket-header>div:last-child{justify-items:start}.hq-conversation li{max-width:100%}.hq-settings-layout>nav{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.hq-settings-layout>nav button{align-items:flex-start}}@media(max-width:420px){.hq-settings-layout>nav{grid-template-columns:1fr}.hq-screen-kicker .badge:nth-of-type(2){display:none}}@media(max-width:1023px){.app-shell[data-portal=hq]{--sidebar: 80px}.app-shell[data-portal=hq] .hq-command-identity{padding-inline:4px;text-align:center}.app-shell[data-portal=hq] .hq-command-identity__copy b{font-size:10px}.app-shell[data-portal=hq] .hq-command-identity__copy small{font-size:7px;letter-spacing:0}.app-shell[data-portal=hq] .hq-sidebar-toggle{display:none}.app-shell[data-portal=hq] .sidebar{padding-inline:0}.app-shell[data-portal=hq] .sidebar nav{padding-left:0}.app-shell[data-portal=hq] .hq-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.app-shell[data-portal=hq]{--sidebar: 0px}.app-shell[data-portal=hq] .portal-footer{padding-inline:14px}.app-shell[data-portal=hq] main{padding-top:18px}.app-shell[data-portal=hq] .hq-command-bar{height:62px;gap:9px}.app-shell[data-portal=hq] .hq-destination-search--header .hq-destination-results{position:fixed;top:66px;right:8px;left:8px;width:auto;max-height:calc(100dvh - 78px);overflow-y:auto}.app-shell[data-portal=hq] .hq-command-bar__title{min-width:0;max-width:min(52vw,230px)}.app-shell[data-portal=hq] .hq-command-bar__title span{font-size:9px}.app-shell[data-portal=hq] .hq-command-bar__title strong{font-size:17px}.app-shell[data-portal=hq] .hq-primary-kpis,.app-shell[data-portal=hq] .hq-signal-grid{grid-template-columns:1fr}}@media(max-width:420px){.app-shell[data-portal=hq] .hq-command-bar__title{max-width:46vw}}@media(max-width:600px){.app-shell[data-portal=hq] .hq-command-bar{height:auto;min-height:112px;flex-wrap:wrap;padding-block:8px;row-gap:8px}.app-shell[data-portal=hq] .hq-command-bar .top-actions{width:100%;flex:1 0 100%;margin-left:0}.app-shell[data-portal=hq] .hq-command-bar__search{width:auto;flex:1 1 auto}.app-shell[data-portal=hq] .hq-destination-search--header .hq-destination-results,.app-shell[data-portal=hq] .notification-panel{top:116px;max-height:calc(100dvh - 126px)}}.app-shell[data-portal=hq][data-live=true] .hq-live-workspace{display:grid;gap:24px}.app-shell[data-portal=hq][data-live=true] .hq-live-product-switcher{display:flex;flex-wrap:wrap;gap:10px}.app-shell[data-portal=hq][data-live=true] .hq-live-product-switcher a{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:9px 15px;border:1px solid var(--hq-border);border-radius:10px;color:var(--hq-text);text-decoration:none}.app-shell[data-portal=hq][data-live=true] .hq-live-product-switcher a[aria-current=page]{border-color:var(--hq-teal);background:color-mix(in srgb,var(--hq-teal) 12%,transparent)}.app-shell[data-portal=hq][data-live=true] .hq-live-product-switcher svg{width:18px;height:18px;color:var(--hq-teal)}.app-shell[data-portal=hq][data-live=true] .hq-live-product-switcher a:focus-visible,.app-shell[data-portal=hq][data-live=true] .hq-live-product-card a:focus-visible{outline:2px solid var(--hq-teal);outline-offset:3px}.app-shell[data-portal=hq][data-live=true] .hq-live-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.app-shell[data-portal=hq][data-live=true] .hq-live-product-card,.app-shell[data-portal=hq][data-live=true] .hq-live-action-card{display:flex;flex-direction:column;align-items:flex-start;gap:15px;min-width:0}.app-shell[data-portal=hq][data-live=true] .hq-live-product-card h2,.app-shell[data-portal=hq][data-live=true] .hq-live-action-card h2{margin:0 0 9px;font-size:1.25rem}.app-shell[data-portal=hq][data-live=true] .hq-live-product-card p,.app-shell[data-portal=hq][data-live=true] .hq-live-action-card p{margin:0;line-height:1.6}.app-shell[data-portal=hq][data-live=true] .hq-live-product-card>a{display:inline-flex;align-items:center;gap:7px;margin-top:auto;color:var(--hq-teal);font-weight:700}.app-shell[data-portal=hq][data-live=true] .hq-live-product-card>a svg{width:17px;height:17px}.app-shell[data-portal=hq][data-live=true] .hq-live-product-card__icon{width:28px;height:28px;color:var(--hq-teal)}@media(max-width:1100px){.app-shell[data-portal=hq][data-live=true] .hq-live-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.app-shell[data-portal=hq][data-live=true] .hq-live-grid{grid-template-columns:1fr}}.app-shell[data-portal=hq] .hqp-page{display:grid;gap:18px;min-width:0}.app-shell[data-portal=hq] .hqp-page>*{min-width:0}.app-shell[data-portal=hq] .hqp-preview-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:1px dashed var(--hq-border-strong);border-radius:10px;background:var(--hq-surface);color:var(--hq-muted);font-size:13px}.app-shell[data-portal=hq] .hqp-preview-bar strong{color:var(--hq-cyan)}.app-shell[data-portal=hq] .hqp-preview-bar label{display:inline-flex;align-items:center;gap:8px;color:var(--hq-text)}.app-shell[data-portal=hq] .hqp-preview-bar select{width:auto;min-width:170px}.app-shell[data-portal=hq] .hqp-notice-region:empty{display:none}.app-shell[data-portal=hq] .hqp-notice{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid rgba(45,212,191,.4);border-radius:10px;background:#2dd4bf1f;color:var(--hq-text)}.app-shell[data-portal=hq] .hqp-notice svg{flex:none;width:18px;color:var(--hq-teal)}.app-shell[data-portal=hq] .hqp-notice span{min-width:0;flex:1}.app-shell[data-portal=hq] .hqp-notice button{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--hq-muted)}.app-shell[data-portal=hq] .hqp-notice button:hover{background:var(--hq-surface-interactive);color:var(--hq-text)}.app-shell[data-portal=hq] .hqp-notice button svg{width:16px;color:inherit}.app-shell[data-portal=hq] .hqp-state{display:grid;justify-items:start;gap:8px;padding:28px 24px;border:1px solid var(--hq-border);border-radius:12px;background:var(--hq-surface)}.app-shell[data-portal=hq] .hqp-state h2{margin:0;font-size:18px}.app-shell[data-portal=hq] .hqp-state p{margin:0;max-width:62ch;color:var(--hq-muted)}.app-shell[data-portal=hq] .hqp-state[role=alert]{border-color:#f8717180}.app-shell[data-portal=hq] .hqp-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--hq-border)}.app-shell[data-portal=hq] .hqp-tabs button{flex:none;min-height:44px;padding:0 16px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--hq-muted);font-weight:600;white-space:nowrap}.app-shell[data-portal=hq] .hqp-tabs button:hover{color:var(--hq-text)}.app-shell[data-portal=hq] .hqp-tabs button.is-active{border-bottom-color:var(--hq-teal);color:#fff}.app-shell[data-portal=hq] .hqp-tabs button:focus-visible,.app-shell[data-portal=hq] .hqp-list button:focus-visible,.app-shell[data-portal=hq] .hqp-faq summary:focus-visible{outline:2px solid var(--hq-cyan);outline-offset:-2px}.app-shell[data-portal=hq] .hqp-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.app-shell[data-portal=hq] .hqp-filters .search-field{flex:1 1 240px;max-width:420px}.app-shell[data-portal=hq] .hqp-filters .field{flex:0 1 200px;min-width:150px}.app-shell[data-portal=hq] .hqp-sub{display:block;color:var(--hq-muted);font-size:12px;line-height:1.4}.app-shell[data-portal=hq] .hqp-muted{color:var(--hq-muted);font-size:13px}.app-shell[data-portal=hq] .hqp-row-actions{display:flex;flex-wrap:wrap;gap:4px}.app-shell[data-portal=hq] .hqp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.app-shell[data-portal=hq] .hqp-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.app-shell[data-portal=hq] .hqp-card{display:grid;gap:14px;padding:20px}.app-shell[data-portal=hq] .hqp-card h2{margin:0;font-size:17px}.app-shell[data-portal=hq] .hqp-card p{margin:0}.app-shell[data-portal=hq] .hqp-form{display:grid;gap:14px}.app-shell[data-portal=hq] .hqp-settings{max-width:760px}.app-shell[data-portal=hq] .hqp-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.app-shell[data-portal=hq] .hqp-dialog-copy{display:grid;gap:10px}.app-shell[data-portal=hq] .hqp-inline-error{padding:10px 14px;border:1px solid rgba(248,113,113,.55);border-radius:10px;background:#f871711f;color:#fecaca}.app-shell[data-portal=hq] .hqp-detail{display:grid;gap:10px;margin:0}.app-shell[data-portal=hq] .hqp-detail>div{display:grid;gap:2px}.app-shell[data-portal=hq] .hqp-detail dt{color:var(--hq-muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.app-shell[data-portal=hq] .hqp-detail dd{margin:0;overflow-wrap:anywhere}.app-shell[data-portal=hq] .hqp-fieldset{display:grid;gap:8px;margin:0;padding:12px;border:1px solid var(--hq-border);border-radius:10px}.app-shell[data-portal=hq] .hqp-fieldset legend{padding:0 6px;font-weight:600}.app-shell[data-portal=hq] .hqp-option{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr);align-items:center;gap:10px}.app-shell[data-portal=hq] .hqp-savebar{position:sticky;bottom:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;padding:12px 14px;border:1px solid var(--hq-border-strong);border-radius:12px;background:var(--hq-surface)}.app-shell[data-portal=hq] .hqp-savebar span{flex:1 1 auto;color:var(--hq-muted)}.app-shell[data-portal=hq] .hqp-split{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:16px;align-items:start}.app-shell[data-portal=hq] .hqp-split__list{display:grid;gap:12px;min-width:0}.app-shell[data-portal=hq] .hqp-split__detail{min-width:0}.app-shell[data-portal=hq] .hqp-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.app-shell[data-portal=hq] .hqp-list button{display:grid;gap:6px;width:100%;min-height:44px;padding:12px 14px;border:1px solid var(--hq-border);border-radius:10px;background:var(--hq-surface);color:var(--hq-text);text-align:left}.app-shell[data-portal=hq] .hqp-list button:hover{background:var(--hq-surface-interactive)}.app-shell[data-portal=hq] .hqp-list button[aria-current=true]{border-color:var(--hq-teal);background:#2dd4bf1a}.app-shell[data-portal=hq] .hqp-list__top,.app-shell[data-portal=hq] .hqp-list__meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.app-shell[data-portal=hq] .hqp-list__meta{color:var(--hq-muted);font-size:12px}.app-shell[data-portal=hq] .hqp-thread{display:grid;gap:14px;padding:20px;border:1px solid var(--hq-border);border-radius:12px;background:var(--hq-surface)}.app-shell[data-portal=hq] .hqp-thread h2,.app-shell[data-portal=hq] .hqp-thread p{margin:0}.app-shell[data-portal=hq] .hqp-back{display:none;justify-self:start}.app-shell[data-portal=hq] .hqp-messages{display:grid;gap:10px;margin:0;padding:0;list-style:none}.app-shell[data-portal=hq] .hqp-messages li{display:grid;gap:2px;padding:12px 14px;border:1px solid var(--hq-border);border-radius:10px;background:var(--hq-canvas)}.app-shell[data-portal=hq] .hqp-messages li.is-staff{border-color:#38bdf873}.app-shell[data-portal=hq] .hqp-messages span{color:var(--hq-muted);font-size:12px}.app-shell[data-portal=hq] .hqp-identity{grid-template-columns:auto minmax(0,1fr);align-items:start;column-gap:18px}.app-shell[data-portal=hq] .hqp-identity .hqp-muted{grid-column:1 / -1}.app-shell[data-portal=hq] .hqp-rules{display:grid;gap:4px;margin:0;padding:0;list-style:none;color:var(--hq-muted);font-size:13px}.app-shell[data-portal=hq] .hqp-rules li.is-met{color:var(--hq-teal)}.app-shell[data-portal=hq] .hqp-faq{display:grid;gap:8px}.app-shell[data-portal=hq] .hqp-faq details{border:1px solid var(--hq-border);border-radius:10px;background:var(--hq-canvas)}.app-shell[data-portal=hq] .hqp-faq summary{min-height:44px;padding:12px 14px;font-weight:600;cursor:pointer}.app-shell[data-portal=hq] .hqp-faq details p{padding:0 14px 14px;color:var(--hq-muted)}@media(max-width:1023px){.app-shell[data-portal=hq] .hqp-split{grid-template-columns:minmax(0,1fr)}.app-shell[data-portal=hq] .hqp-split.has-selection .hqp-split__list{display:none}.app-shell[data-portal=hq] .hqp-split:not(.has-selection) .hqp-split__detail{display:none}.app-shell[data-portal=hq] .hqp-back{display:inline-flex}}@media(max-width:767px){.app-shell[data-portal=hq] .hqp-grid-2,.app-shell[data-portal=hq] .hqp-option,.app-shell[data-portal=hq] .hqp-identity{grid-template-columns:minmax(0,1fr)}.app-shell[data-portal=hq] .hqp-actions>*,.app-shell[data-portal=hq] .hqp-savebar>button{flex:1 1 140px}.app-shell[data-portal=hq] .hqp-preview-bar label{display:grid;width:100%;gap:4px}.app-shell[data-portal=hq] .hqp-preview-bar select{width:100%}.app-shell[data-portal=hq] .hqp-filters .field,.app-shell[data-portal=hq] .hqp-filters .search-field{flex:1 1 100%;max-width:none}}.app-shell[data-portal=hq] .skeleton i{height:72px;border:1px solid var(--hq-border);background:var(--hq-surface-interactive);background-image:none;animation:hq-skeleton-fade 1.4s ease-in-out infinite}@keyframes hq-skeleton-fade{0%,to{opacity:.55}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.app-shell[data-portal=hq] .skeleton i{animation:none}}.app-shell[data-portal=hq] .hq-directory-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px}.app-shell[data-portal=hq] .hq-directory-pager span{flex:1 1 auto;color:var(--hq-muted);font-size:13px}@media(max-width:767px){.app-shell[data-portal=hq] .hq-directory-pager>button{flex:1 1 140px}}.app-shell[data-portal=hq] .table-empty-row td{padding:22px 16px;color:var(--hq-muted);text-align:center}.app-shell[data-portal=hq] fieldset.hqp-pending{min-width:0;margin:0;padding:0;border:0;display:grid;gap:14px}.app-shell[data-portal=hq] fieldset.hqp-pending:disabled{opacity:.7}.app-shell[data-portal=school-owner],.app-shell[data-portal=group-admin]{--school-canvas: var(--register-canvas);--school-surface: var(--register-surface);--school-soft: var(--register-soft);--school-border: var(--register-border);--school-navy: var(--register-structure);--school-teal: var(--register-action);--school-blue: #1a567a;background:var(--school-canvas)}.app-shell[data-portal=school-owner] .workspace,.app-shell[data-portal=group-admin] .workspace,.app-shell[data-portal=school-owner] main,.app-shell[data-portal=group-admin] main{background:var(--school-canvas)}.app-shell[data-portal=school-owner] main,.app-shell[data-portal=group-admin] main{width:min(100%,1600px)}.app-shell[data-portal=school-owner] .sidebar,.app-shell[data-portal=group-admin] .sidebar{background:linear-gradient(180deg,#0b2a3e,#071d2b);box-shadow:10px 0 30px #071d2b14}.app-shell[data-portal=school-owner] .sidebar .nav-group-label,.app-shell[data-portal=group-admin] .sidebar .nav-group-label,.app-shell[data-portal=school-owner] .mobile-menu .nav-group-label,.app-shell[data-portal=group-admin] .mobile-menu .nav-group-label{padding:16px 10px 5px}.app-shell[data-portal=school-owner] .sidebar--collapsed .nav-group-label,.app-shell[data-portal=group-admin] .sidebar--collapsed .nav-group-label{display:none}.app-shell[data-portal=school-owner] .sidebar nav a.active,.app-shell[data-portal=group-admin] .sidebar nav a.active{position:relative;background:var(--teal-500);color:var(--navy-900)}.app-shell[data-portal=school-owner] .sidebar nav a.active:before,.app-shell[data-portal=group-admin] .sidebar nav a.active:before{position:absolute;inset:8px auto 8px -12px;width:3px;border-radius:0 3px 3px 0;background:#6fe3c8;content:""}.app-shell[data-portal=school-owner] .topbar,.app-shell[data-portal=group-admin] .topbar{border-bottom-color:var(--school-border);background:color-mix(in srgb,white 96%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-shell[data-portal=school-owner] .portal-title-chip,.app-shell[data-portal=group-admin] .portal-title-chip{border:1px solid var(--teal-100);background:var(--teal-50);color:var(--teal-700)}.app-shell[data-portal=school-owner] .card,.app-shell[data-portal=group-admin] .card{border-color:var(--school-border);background:var(--school-surface);box-shadow:0 1px 2px #0b2a3e0d}.app-shell[data-portal=school-owner] .card:hover,.app-shell[data-portal=group-admin] .card:hover{border-color:#c3d3de}.school-screen-meta,.branch-context-strip{display:flex;align-items:center;gap:10px;min-width:0;margin:-4px 0 16px;padding:10px 12px;border:1px solid var(--school-border);border-radius:var(--radius-control);background:var(--school-soft);color:var(--neutral-600);font-size:var(--text-small)}.school-screen-meta>:last-child,.branch-context-strip>:last-child{margin-left:auto}.school-filter-grid,.school-comparison-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) repeat(2,minmax(150px,.44fr));gap:10px;margin:14px 0}.school-comparison-toolbar{grid-template-columns:repeat(2,minmax(220px,320px));padding:14px;border:1px solid var(--school-border);border-radius:var(--radius-lg);background:var(--school-surface)}.school-definition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.school-check-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.school-check-list li{display:flex;align-items:flex-start;gap:9px;padding:10px;border:1px solid var(--neutral-200);border-radius:var(--radius-control);background:var(--neutral-50)}.school-check-list svg{width:18px;flex:none;color:var(--teal-700)}.school-form-layout>.card{min-width:0}.school-form-layout .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.school-form-layout .form-grid>:last-child:nth-child(odd){grid-column:1 / -1}.school-state-card{display:grid;justify-items:start;max-width:760px;gap:12px;margin:26px auto;padding:32px}.school-state-card>svg{width:52px;height:52px;padding:12px;border-radius:14px;background:var(--warning-bg);color:var(--warning-text)}.school-state-card dl{width:100%}.organisation-tree,.organisation-tree ol{display:grid;gap:9px;margin:10px 0 0;padding-left:22px}.organisation-tree li{padding:9px 12px;border-left:2px solid var(--teal-300);background:var(--neutral-50)}.organisation-tree li>span{display:block;color:var(--neutral-600);font-size:var(--text-small)}.school-record-hero{display:flex;align-items:center;gap:16px;border-left:4px solid var(--teal-500)!important}.school-record-hero>div:first-child:not(.record-hero-actions){flex:1}.school-record-hero img{width:72px;height:72px;flex:none;border-radius:18px;object-fit:cover}.record-hero-actions,.button-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.permission-fieldset,.permission-matrix{display:grid;gap:8px;margin:16px 0 0;padding:14px;border:1px solid var(--neutral-200);border-radius:var(--radius-control)}.permission-fieldset legend{padding:0 6px;color:var(--navy-700);font-weight:700}.permission-matrix label{display:flex;align-items:flex-start;gap:10px;min-height:var(--touch);padding:9px;border-radius:8px;background:var(--neutral-50)}.permission-matrix label>span{display:grid}.school-signal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}.school-signal-grid .card{display:grid;gap:3px;padding:14px;border-top:2px solid var(--teal-500)}.school-signal-grid strong{color:var(--navy-800);font-size:1.35rem;font-variant-numeric:tabular-nums}.school-finance-priority,.school-ledger-surface{font-variant-numeric:tabular-nums}.commercial-mode-cards,.module-status-grid,.withdrawal-gate{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.commercial-mode-cards .card,.module-status-grid .card{display:grid;align-content:start;gap:10px}.commercial-mode-cards .selected-mode{border-color:var(--teal-500);box-shadow:0 0 0 2px var(--teal-100)}.commercial-mode-cards ul{display:grid;gap:8px;padding-left:20px}.step-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.step-track span{min-height:58px;padding:10px;border:1px solid var(--neutral-200);border-radius:var(--radius-control);background:var(--neutral-50);color:var(--neutral-600)}.step-track span.active{border-color:var(--teal-500);background:var(--teal-50);color:var(--teal-700);font-weight:700}.withdrawal-gate>.card:first-child{display:grid;align-content:center;gap:12px;background:linear-gradient(145deg,var(--navy-800),var(--navy-700));color:#fff}.withdrawal-gate>.card:first-child strong{font-size:2rem}.withdrawal-gate>.card:first-child p,.withdrawal-gate>.card:first-child .eyebrow{color:var(--navy-100)}.school-settings-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px}.school-settings-layout>nav{display:grid;align-content:start;gap:5px;padding:10px;border:1px solid var(--school-border);border-radius:var(--radius-lg);background:var(--school-surface)}.school-settings-layout>nav button{min-height:var(--touch);border:0;border-radius:8px;background:transparent;color:var(--neutral-700);text-align:left}.school-settings-layout>nav button.active{background:var(--teal-50);color:var(--teal-700);font-weight:700}@media(max-width:1023px){.app-shell[data-portal=school-owner] .sidebar .nav-group-label,.app-shell[data-portal=group-admin] .sidebar .nav-group-label{display:none}.school-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.school-filter-grid>:first-child{grid-column:1 / -1}.school-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.step-track{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:767px){.school-screen-meta,.branch-context-strip{align-items:flex-start;flex-direction:column}.school-screen-meta>:last-child,.branch-context-strip>:last-child{margin-left:0}.school-filter-grid,.school-comparison-toolbar,.school-definition-grid,.school-form-layout .form-grid,.school-signal-grid,.commercial-mode-cards,.module-status-grid,.withdrawal-gate,.school-settings-layout{grid-template-columns:1fr}.school-filter-grid>:first-child,.school-form-layout .form-grid>:last-child:nth-child(odd){grid-column:auto}.school-record-hero{align-items:flex-start;flex-direction:column}.record-hero-actions,.record-hero-actions .button,.button-row,.button-row .button{width:100%}.step-track{grid-template-columns:1fr}.school-settings-layout>nav{grid-auto-flow:column;grid-auto-columns:minmax(160px,1fr);overflow-x:auto}}@media(max-width:420px){.school-state-card{padding:20px}.school-screen-meta .badge{max-width:100%;white-space:normal}}.app-shell[data-portal=branch-admin]{--branch-console-active: 1;--branch-canvas: var(--register-canvas);--branch-surface: var(--register-surface);--branch-soft: var(--register-soft);--branch-border: var(--register-border);--branch-navy: var(--register-structure);--branch-teal: var(--register-action);background:var(--branch-canvas)}.app-shell[data-portal=branch-admin] .workspace,.app-shell[data-portal=branch-admin] main{background:var(--branch-canvas)}.app-shell[data-portal=branch-admin] main{width:min(100%,1600px)}.app-shell[data-portal=branch-admin] .sidebar{background:linear-gradient(180deg,#0b2a3e,#071d2b);box-shadow:10px 0 30px #071d2b14}.app-shell[data-portal=branch-admin] .sidebar .nav-group-label,.app-shell[data-portal=branch-admin] .mobile-menu .nav-group-label{padding:16px 10px 5px}.app-shell[data-portal=branch-admin] .sidebar--collapsed .nav-group-label{display:none}.app-shell[data-portal=branch-admin] .sidebar nav a.active{position:relative;background:var(--teal-500);color:var(--navy-900)}.app-shell[data-portal=branch-admin] .sidebar nav a.active:before{position:absolute;inset:8px auto 8px -12px;width:3px;border-radius:0 3px 3px 0;background:#6fe3c8;content:""}.app-shell[data-portal=branch-admin] .topbar{border-bottom-color:var(--branch-border);background:color-mix(in srgb,white 96%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-shell[data-portal=branch-admin] .portal-title-chip{border:1px solid var(--teal-100);background:var(--teal-50);color:var(--teal-700)}.app-shell[data-portal=branch-admin] .card{border-color:var(--branch-border);background:var(--branch-surface);box-shadow:0 1px 2px #0b2a3e0d}.branch-screen-meta,.branch-context-strip{display:flex;align-items:center;gap:10px;min-width:0;margin:-4px 0 16px;padding:10px 12px;border:1px solid var(--branch-border);border-radius:var(--radius-control);background:var(--branch-soft);color:var(--neutral-600);font-size:var(--text-small)}.branch-screen-meta>:last-child,.branch-context-strip>:last-child{margin-left:auto}.branch-signal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.branch-signal-grid .card{display:grid;gap:5px;min-width:0;padding:14px}.branch-signal-grid span,.branch-signal-grid small{color:var(--neutral-500);font-size:var(--text-small)}.branch-signal-grid strong{color:var(--navy-900);font-size:1.375rem;font-variant-numeric:tabular-nums}.branch-filter-grid{display:grid;grid-template-columns:minmax(220px,1fr) repeat(2,minmax(150px,.44fr));gap:10px;margin:14px 0}.branch-definition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.branch-check-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.branch-check-list li{display:flex;align-items:flex-start;gap:9px;padding:10px;border:1px solid var(--neutral-200);border-radius:var(--radius-control);background:var(--neutral-50)}.branch-check-list svg{width:18px;flex:none;color:var(--teal-700)}.branch-form-layout{align-items:start}.branch-priority-intro{margin-bottom:16px;border-left:4px solid var(--teal-600)!important}.branch-priority-intro h2{max-width:780px;margin:5px 0;color:var(--navy-900);font-size:1.125rem}.branch-timetable-toolbar{display:grid;grid-template-columns:repeat(2,minmax(180px,280px)) auto;align-items:end;gap:10px;margin-bottom:16px;padding:14px;border:1px solid var(--branch-border);border-radius:var(--radius-lg);background:var(--branch-surface)}.branch-timetable-cards{gap:10px}.app-shell[data-portal=branch-admin] .table-wrap{border-color:var(--branch-border);background:#fff}.app-shell[data-portal=branch-admin] thead{background:var(--neutral-50)}.app-shell[data-portal=branch-admin] tbody tr:hover,.app-shell[data-portal=branch-admin] tbody tr:focus-within{background:var(--teal-50)}.app-shell[data-portal=branch-admin] input:focus-visible,.app-shell[data-portal=branch-admin] select:focus-visible,.app-shell[data-portal=branch-admin] textarea:focus-visible,.app-shell[data-portal=branch-admin] button:focus-visible,.app-shell[data-portal=branch-admin] a:focus-visible{outline-color:var(--teal-600)}.branch-module-state{max-width:820px}@media(max-width:1023px){.branch-signal-grid,.branch-timetable-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.branch-timetable-toolbar button{grid-column:1 / -1;justify-self:start}}@media(max-width:767px){.branch-screen-meta,.branch-context-strip{align-items:flex-start;flex-wrap:wrap}.branch-screen-meta>:last-child,.branch-context-strip>:last-child{width:100%;margin-left:0}.branch-filter-grid,.branch-definition-grid,.branch-timetable-toolbar{grid-template-columns:minmax(0,1fr)}.branch-timetable-toolbar button{grid-column:auto;width:100%}.branch-signal-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.branch-signal-grid .card{padding:12px}}@media(max-width:374px){.branch-signal-grid{grid-template-columns:minmax(0,1fr)}}.app-shell[data-portal=teacher]{--teacher-console-active: 1;--teacher-canvas: var(--register-canvas);--teacher-surface: var(--register-surface);--teacher-soft: var(--register-soft);--teacher-border: var(--register-border);--teacher-navy: var(--register-text);--teacher-teal: var(--register-action);background:var(--teacher-canvas)}.app-shell[data-portal=teacher] .workspace,.app-shell[data-portal=teacher] main{background:var(--teacher-canvas)}.app-shell[data-portal=teacher] main{padding-bottom:28px}.app-shell[data-portal=teacher] .sidebar{background:linear-gradient(180deg,#0b2a3e,#071f30)}.app-shell[data-portal=teacher] .sidebar nav a.active{background:#0ca9862e;color:#fff}.app-shell[data-portal=teacher] .sidebar nav a.active:before{background:var(--teacher-teal)}.app-shell[data-portal=teacher] .topbar{border-bottom-color:var(--teacher-border);background:#fffffff5}.app-shell[data-portal=teacher] .portal-title-chip{color:var(--teacher-navy);border-color:#bbd7d1;background:#eefaf7}.app-shell[data-portal=teacher] .card{border-color:var(--teacher-border);background:var(--teacher-surface)}.app-shell[data-portal=teacher] input:focus-visible,.app-shell[data-portal=teacher] select:focus-visible,.app-shell[data-portal=teacher] textarea:focus-visible,.app-shell[data-portal=teacher] button:focus-visible,.app-shell[data-portal=teacher] a:focus-visible{outline:3px solid rgba(12,169,134,.34);outline-offset:2px}.teacher-screen-meta{display:flex;align-items:center;gap:10px;margin:-8px 0 18px;padding:10px 14px;border:1px solid var(--teacher-border);border-radius:12px;background:var(--teacher-soft);color:#40576a;font-size:.78rem}.teacher-screen-meta>:last-child{margin-left:auto}.teacher-day-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;color:#fff;border-color:transparent!important;background:linear-gradient(125deg,#0b2a3e,#0d5260 68%,#0b776a)!important}.teacher-day-hero h2{margin:10px 0 6px;color:#fff;font-size:clamp(1.25rem,2vw,1.65rem)}.teacher-day-hero p{max-width:650px;margin:0;color:#dcecf1}.teacher-next-lesson{display:grid;flex:0 0 210px;gap:3px;padding:15px 18px;border:1px solid rgba(255,255,255,.25);border-radius:12px;background:#041c2a66}.teacher-next-lesson small,.teacher-next-lesson span{color:#d4e7ed}.teacher-next-lesson strong{font-size:1.75rem;font-variant-numeric:tabular-nums}.teacher-task-grid,.teacher-compact-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0}.teacher-task-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 12px;min-height:132px;padding:16px}.teacher-task-card h3,.teacher-task-card p{margin:0}.teacher-task-card h3{color:var(--teacher-navy);font-size:.94rem}.teacher-task-card p{margin-top:4px;color:#64788a;font-size:.78rem}.teacher-task-card .badge{grid-column:2;justify-self:start}.teacher-task-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:10px;color:#087b68;background:#e6f7f3}.teacher-task-icon svg{width:19px}.teacher-dashboard-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}.teacher-timetable-list,.teacher-progress-list,.teacher-scheme-list,.teacher-variation-queue{display:grid;gap:9px}.teacher-timetable-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #e3eaf0}.teacher-timetable-row time{color:var(--teacher-navy);font-weight:700;font-variant-numeric:tabular-nums}.teacher-timetable-row>span,.teacher-timetable-row small,.teacher-message-feed li,.teacher-priority-list li>div,.teacher-variation-queue>div>div{display:grid;min-width:0;gap:2px}.teacher-timetable-row small{color:#64788a}.teacher-progress-list>div{display:grid;gap:6px;padding:8px 0}.teacher-progress-list>div>span{display:flex;justify-content:space-between;gap:12px}.teacher-progress-track{height:8px;overflow:hidden;border-radius:999px;background:#e5edf1}.teacher-progress-track i{display:block;height:100%;border-radius:inherit;background:var(--teacher-teal)}.teacher-concern-grid,.teacher-resource-grid,.teacher-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.teacher-concern-grid>div{display:grid;gap:6px;padding:14px;border:1px solid var(--teacher-border);border-radius:10px;background:var(--teacher-soft)}.teacher-concern-grid .badge{justify-self:start}.teacher-priority-list,.teacher-boundary-list,.teacher-check-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.teacher-priority-list li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;padding:11px;border-radius:10px;background:var(--teacher-soft)}.teacher-priority-list li>span,.teacher-task-number{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;color:#fff;background:var(--teacher-navy);font-weight:700}.teacher-boundary-list li,.teacher-check-list li{display:flex;align-items:center;gap:9px}.teacher-check-list svg,.teacher-check-grid svg{flex:0 0 auto;width:18px;color:#087b68}.teacher-today-strip,.teacher-entry-context{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;margin-bottom:16px;border:1px solid var(--teacher-border);border-radius:12px;background:var(--teacher-border)}.teacher-today-strip>div,.teacher-entry-context>div{display:grid;min-width:0;gap:3px;padding:14px 16px;background:#fff}.teacher-today-strip small,.teacher-entry-context small{color:#607586;text-transform:uppercase;letter-spacing:.06em}.teacher-today-strip b,.teacher-entry-context b{overflow-wrap:anywhere;color:var(--teacher-navy)}.teacher-task-board{display:grid;gap:10px}.teacher-task-board article{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:12px;border:1px solid #e0e8ed;border-radius:10px}.teacher-task-board h3,.teacher-task-board p{margin:4px 0 0}.teacher-task-board p{color:#657889;font-size:.8rem}.teacher-timetable-toolbar,.teacher-filter-row,.teacher-score-toolbar{display:flex;align-items:end;gap:12px;margin-bottom:14px}.teacher-timetable-toolbar{justify-content:space-between;align-items:center}.teacher-filter-row>*,.teacher-score-toolbar .field{min-width:0;flex:1}.teacher-definition-grid,.teacher-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.teacher-check-grid span{display:flex;align-items:center;gap:8px;padding:11px;border-radius:9px;color:#30485a;background:var(--teacher-soft)}.teacher-attendance-list{display:grid;gap:10px}.teacher-attendance-list fieldset{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(380px,1.5fr) minmax(180px,.8fr);align-items:center;gap:16px;margin:0;padding:12px;border:1px solid #dee7ec;border-radius:10px}.teacher-attendance-list legend{display:grid;float:left;width:100%;min-width:0}.teacher-attendance-list legend+*{clear:none}.teacher-status-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.teacher-status-options .choice{justify-content:center;padding:8px;border:1px solid #dbe5ea;border-radius:8px}.teacher-sticky-actions{position:sticky;z-index:2;bottom:10px;display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:16px;padding:12px;border:1px solid var(--teacher-border);border-radius:11px;background:#fffffff7;box-shadow:0 8px 22px #0b2a3e1a}.teacher-sticky-actions span{margin-right:auto;color:#536b7c;font-size:.8rem}.teacher-form-layout,.teacher-review-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:16px}.teacher-paper-preview{min-height:360px;padding:26px;border:1px solid #d8e1e6;border-radius:10px;background:#fbfcfd;background-image:linear-gradient(#edf2f5 1px,transparent 1px);background-size:100% 32px}.teacher-paper-preview h3{margin-top:42px}.teacher-score-toolbar{padding:12px;border:1px solid var(--teacher-border);border-radius:11px;background:#fff}.teacher-unsaved{flex:0 0 auto;padding:9px 10px;border-radius:8px;color:#506879;background:#edf3f6;font-size:.76rem}.teacher-unsaved--active{color:#7a4a00;background:#fff2d6}.teacher-bulk-grid .table-wrap{max-height:520px;overflow:auto}.teacher-bulk-grid thead{position:sticky;z-index:1;top:0}.teacher-bulk-grid .teacher-sticky-student{display:block;min-width:180px}.teacher-report-card{padding:28px}.teacher-report-header,.teacher-session-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.teacher-report-header h2,.teacher-session-hero h2{margin:4px 0;color:var(--teacher-navy)}.teacher-report-comments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.teacher-report-comments>div{padding:14px;border:1px solid #dde6eb;border-radius:9px;background:var(--teacher-soft)}.teacher-scheme-list>div,.teacher-variation-queue>div{display:grid;grid-template-columns:80px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:11px;border-bottom:1px solid #e2e9ed}.teacher-plan-grid article,.teacher-resource-grid>.card{display:grid;gap:8px;min-width:0}.teacher-plan-grid h3,.teacher-resource-grid h3{margin:6px 0 0;overflow-wrap:anywhere;color:var(--teacher-navy)}.teacher-restricted-state,.teacher-module-state{display:grid;justify-items:start;gap:12px;max-width:760px;padding:28px}.teacher-restricted-state>svg,.teacher-module-state>svg{width:42px;height:42px;color:#8a5a0a}.teacher-restricted-state h2,.teacher-module-state h2{margin:0;color:var(--teacher-navy)}@media(max-width:1180px){.teacher-task-grid,.teacher-compact-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-attendance-list fieldset{grid-template-columns:minmax(150px,.7fr) minmax(340px,1.3fr)}.teacher-attendance-list fieldset>.input{grid-column:1 / -1}}@media(max-width:900px){.teacher-dashboard-grid,.teacher-form-layout,.teacher-review-layout{grid-template-columns:1fr}.teacher-concern-grid,.teacher-resource-grid,.teacher-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-score-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-unsaved{grid-column:1 / -1}.teacher-attendance-list fieldset{grid-template-columns:1fr}.teacher-attendance-list fieldset>.input{grid-column:auto}}@media(max-width:767px){.app-shell[data-portal=teacher] main{padding-bottom:88px}.teacher-screen-meta{overflow-x:auto;align-items:flex-start;white-space:nowrap}.teacher-screen-meta>:last-child{margin-left:0}.teacher-day-hero,.teacher-report-header,.teacher-session-hero{align-items:stretch;flex-direction:column}.teacher-next-lesson{flex-basis:auto}.teacher-task-grid,.teacher-compact-stats,.teacher-concern-grid,.teacher-resource-grid,.teacher-plan-grid,.teacher-today-strip,.teacher-entry-context,.teacher-definition-grid,.teacher-check-grid,.teacher-report-comments{grid-template-columns:1fr}.teacher-today-strip,.teacher-entry-context{gap:0;background:#fff}.teacher-today-strip>div,.teacher-entry-context>div{border-bottom:1px solid var(--teacher-border)}.teacher-task-board article{grid-template-columns:auto minmax(0,1fr)}.teacher-task-board article>.badge,.teacher-task-board article>button{grid-column:2;justify-self:start}.teacher-timetable-toolbar,.teacher-filter-row,.teacher-score-toolbar{display:grid;grid-template-columns:1fr;align-items:stretch}.teacher-timetable-toolbar strong{grid-row:1;text-align:center}.teacher-status-options{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-sticky-actions{bottom:72px;flex-wrap:wrap}.teacher-sticky-actions span{flex-basis:100%}.teacher-sticky-actions button{flex:1}.teacher-scheme-list>div,.teacher-variation-queue>div{grid-template-columns:minmax(0,1fr) auto}.teacher-scheme-list>div>:first-child{grid-column:1 / -1}.teacher-variation-queue>div>div{grid-column:1 / -1}.teacher-report-card{padding:16px}}@media(max-width:390px){.teacher-task-grid,.teacher-compact-stats{grid-template-columns:1fr}.teacher-timetable-row{grid-template-columns:52px minmax(0,1fr)}.teacher-timetable-row .badge{grid-column:2;justify-self:start}}@media(prefers-reduced-motion:reduce){.app-shell[data-portal=teacher] *,.app-shell[data-portal=teacher] *:before,.app-shell[data-portal=teacher] *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.app-shell[data-portal=accountant]{--finance-ledger-active: 1;--finance-canvas: var(--register-canvas);--ledger-surface: var(--register-surface);--ledger-soft: var(--register-soft);--table-header-bg: var(--navy-50);--table-header-text: var(--navy-800);background:var(--finance-canvas)}.app-shell[data-portal=accountant] main{background:linear-gradient(180deg,color-mix(in srgb,var(--navy-800) 3%,transparent),transparent 180px),var(--finance-canvas)}.app-shell[data-portal=accountant] main{padding-top:20px}.app-shell[data-portal=accountant] .page-heading{margin-top:0}.app-shell[data-portal=accountant] .card{border-color:var(--register-border);box-shadow:var(--shadow-1)}.app-shell[data-portal=accountant] .sidebar-link--active{box-shadow:inset 3px 0 0 var(--teal-500)}.finance-screen{min-width:0}.finance-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.finance-kpi-grid .ledger-card__amount{overflow-wrap:anywhere}.finance-dashboard-grid,.finance-details-grid,.finance-approval-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);gap:14px;margin:16px 0}.finance-task-list,.finance-checklist,.finance-timeline,.finance-audit-timeline{display:grid;gap:0;padding:0;margin:0;list-style:none}.finance-task-list li,.finance-checklist li,.finance-audit-timeline li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--neutral-200)}.finance-task-list li:last-child,.finance-checklist li:last-child,.finance-audit-timeline li:last-child{border-bottom:0}.finance-task-list svg,.finance-checklist svg{width:18px;color:var(--teal-700)}.finance-task-list span,.finance-checklist span,.finance-audit-timeline div{display:grid;min-width:0}.finance-task-list small,.finance-checklist small,.finance-audit-timeline p,.finance-timeline span{color:var(--neutral-600);font-size:var(--text-small)}.finance-definition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:8px 0}.finance-definition-grid .detail{display:grid;gap:3px;min-width:0;padding:12px;border-bottom:1px solid var(--neutral-200)}.finance-definition-grid dt{color:var(--neutral-500);font-size:var(--text-caption);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.finance-definition-grid dd{margin:0;overflow-wrap:anywhere;color:var(--neutral-800);font-variant-numeric:tabular-nums}.finance-amount{display:inline-block;min-width:max-content;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;text-align:right;white-space:nowrap}.finance-reference{display:inline-block;max-width:100%;overflow-wrap:anywhere;color:var(--navy-700);font-family:var(--font-mono);font-size:var(--text-small);font-weight:var(--weight-semibold)}.app-shell[data-portal=accountant] table{font-variant-numeric:tabular-nums}.app-shell[data-portal=accountant] th{position:sticky;top:0;z-index:1}.app-shell[data-portal=accountant] th:nth-last-child(n+2),.app-shell[data-portal=accountant] td:nth-last-child(n+2){vertical-align:middle}.finance-ledger{min-width:0;padding:0;overflow:hidden}.finance-ledger .table-wrap{max-height:560px;border:0;border-radius:0}.finance-filter-bar{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(150px,.55fr) minmax(150px,.55fr) auto;gap:10px;align-items:center;margin:14px 0}.finance-filter-bar .search-field,.finance-filter-bar .input{min-width:0}.finance-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--neutral-200);color:var(--neutral-600);font-size:var(--text-small)}.finance-pagination>div{display:flex;gap:8px}.finance-mobile-list{gap:10px;padding:12px}.finance-mobile-list .mobile-data-card{box-shadow:none}.finance-mobile-list .mobile-data-card .detail{grid-template-columns:minmax(92px,.45fr) minmax(0,1fr)}.finance-mobile-list .mobile-data-card dd{min-width:0;overflow-wrap:anywhere;text-align:right}.finance-form{display:grid;gap:14px;margin:16px 0}.finance-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.finance-sticky-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--neutral-200)}.finance-document,.finance-receipt,.finance-statement{margin:16px 0;border-top:4px solid var(--navy-700)}.finance-document__head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}.finance-document__head h2,.finance-document__head p{margin:5px 0 0}.finance-file{padding:10px 12px;border:1px solid var(--neutral-200);border-radius:var(--radius-control);background:var(--ledger-soft);overflow-wrap:anywhere}.finance-timeline li{display:grid;gap:3px;padding:10px 0 10px 18px;border-left:2px solid var(--navy-100)}.finance-timeline li:before{content:"";width:8px;height:8px;margin:5px 0 0 -23px;border:2px solid var(--neutral-0);border-radius:50%;background:var(--teal-600);box-shadow:0 0 0 1px var(--teal-600)}.finance-match-card{margin:16px 0}.finance-match-columns{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:center;margin:12px 0}.finance-match-columns section{display:grid;gap:8px;min-width:0;padding:14px;border:1px solid var(--navy-100);border-radius:var(--radius-md);background:var(--ledger-soft)}.finance-restricted-state,.finance-module-state{display:grid;justify-items:start;gap:12px;max-width:820px;margin:16px auto}.finance-restricted-state>svg,.finance-module-state>svg{width:32px;height:32px;color:var(--navy-700)}@media(max-width:1100px){.finance-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-filter-bar{grid-template-columns:minmax(0,1fr) minmax(150px,.5fr)}}@media(max-width:767px){.finance-kpi-grid,.finance-dashboard-grid,.finance-details-grid,.finance-approval-layout,.finance-form-grid,.finance-filter-bar,.finance-definition-grid,.finance-match-columns{grid-template-columns:minmax(0,1fr)}.finance-match-columns>svg,.finance-match-columns>span[aria-hidden]{transform:rotate(90deg);justify-self:center}.finance-filter-bar .button,.finance-sticky-actions .button,.finance-pagination .button{width:100%}.finance-sticky-actions,.finance-pagination{align-items:stretch;flex-direction:column}.finance-pagination>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.finance-document__head{flex-direction:column}.finance-document__head .finance-amount{white-space:normal;text-align:left}.finance-task-list li,.finance-checklist li,.finance-audit-timeline li{grid-template-columns:auto minmax(0,1fr)}.finance-task-list li .button,.finance-checklist li .badge,.finance-audit-timeline li .badge{grid-column:2;justify-self:start}}@media(max-width:374px){.finance-kpi-grid{grid-template-columns:minmax(0,1fr)}.finance-mobile-list{padding:8px}.finance-mobile-list .mobile-data-card .detail{grid-template-columns:minmax(0,1fr)}.finance-mobile-list .mobile-data-card dd{text-align:left}}.finance-analytics-band,.finance-workflow-band{display:grid;gap:14px;margin:16px 0;align-items:start}.finance-analytics-band{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr)}.finance-analytics-band>*:only-child{grid-column:1 / -1}.finance-workflow-band{grid-template-columns:minmax(0,1.15fr) minmax(300px,1fr)}.finance-activity-card{align-self:stretch}.finance-activity-card .finance-audit-timeline{margin-top:4px}@media(max-width:1100px){.finance-analytics-band,.finance-workflow-band{grid-template-columns:minmax(0,1fr)}}.app-shell[data-portal=accountant]{--finance-header-height: 76px;--finance-header-rule: color-mix(in srgb, var(--navy-300) 45%, transparent);--portal-header-height: var(--finance-header-height)}.app-shell[data-portal=accountant] .topbar{height:var(--finance-header-height);gap:18px;padding:0 28px;background:var(--neutral-0);border-bottom:1px solid var(--finance-header-rule);box-shadow:none}.app-shell[data-portal=accountant] .finance-topbar__welcome{margin:0 auto 0 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--navy-900);font-family:var(--font-heading);font-size:var(--text-h2);line-height:var(--leading-h2);font-weight:var(--weight-bold);letter-spacing:-.01em}.app-shell[data-portal=accountant] .top-actions{gap:14px}.app-shell[data-portal=accountant] .finance-topbar__search{display:flex;align-items:center;gap:10px;width:min(320px,32vw);min-height:44px;padding:0 16px;border:1px solid var(--register-border);border-radius:8px;background:var(--neutral-50);color:var(--neutral-500);transition:background-color var(--motion-fast) ease,border-color var(--motion-fast) ease}.app-shell[data-portal=accountant] .finance-topbar__search:hover{background:var(--neutral-200)}.app-shell[data-portal=accountant] .finance-topbar__search:focus-within{background:var(--neutral-0);border-color:var(--teal-700);box-shadow:0 0 0 3px var(--teal-100)}.app-shell[data-portal=accountant] .finance-topbar__search svg{width:18px;height:18px;flex:none}.app-shell[data-portal=accountant] .finance-topbar__search input{flex:1;min-width:0;border:0;background:transparent;color:var(--navy-900);font-family:var(--font-sans);font-size:var(--text-body)}.app-shell[data-portal=accountant] .finance-topbar__search input:focus{outline:none}.app-shell[data-portal=accountant] .finance-topbar__search input::placeholder{color:var(--neutral-500)}.app-shell[data-portal=accountant] .finance-topbar__search input::-webkit-search-cancel-button{appearance:none}.app-shell[data-portal=accountant] .top-actions .icon-button{color:var(--navy-900)}.app-shell[data-portal=accountant] .top-actions .icon-button svg{width:22px;height:22px}.app-shell[data-portal=accountant] .account-menu--topbar .account-trigger{padding:0;background:transparent;border-radius:var(--radius-full)}.app-shell[data-portal=accountant] .account-menu--topbar .media-avatar{width:38px;height:38px}.finance-profile{display:grid;gap:14px;max-width:760px}.finance-profile__identity{display:flex;align-items:center;gap:16px;margin:12px 0 18px}.finance-profile__identity p{margin:6px 0 0;color:var(--neutral-600)}.finance-profile__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:12px 0 18px}.finance-profile__submit{grid-column:1 / -1}.finance-profile__password{position:relative;display:flex;align-items:center}.finance-profile__password .input{width:100%;padding-right:44px}.finance-profile__password .icon-button{position:absolute;right:4px;width:34px;height:34px}.finance-profile__password .icon-button svg{width:18px;height:18px}@media(min-width:1024px){.app-shell[data-portal=accountant]{--finance-footer-height: 58px;--shell-footer-height: var(--finance-footer-height);position:fixed;inset:0;overflow:hidden}.app-shell[data-portal=accountant] .workspace{height:100dvh;min-height:0;display:flex;flex-direction:column}.app-shell[data-portal=accountant] main{flex:1 1 auto;min-height:0;overflow-y:auto;max-width:none;width:100%;margin:0;padding-inline:max(28px,calc((100% - var(--content)) / 2));padding-bottom:40px}.app-shell[data-portal=accountant] .topbar{flex:none;box-sizing:border-box;height:var(--finance-header-height)}.app-shell[data-portal=accountant] .portal-footer{flex:none;box-sizing:border-box;height:var(--finance-footer-height);display:flex;align-items:center;border-top-width:1px;border-top-style:solid}.app-shell[data-portal=accountant] .portal-footer{justify-content:space-between;max-width:none;width:100%;margin:0;padding:0 28px;border-top-color:var(--neutral-200)}}.finance-dashboard{display:grid;gap:16px;min-width:0}.finance-dashboard__analytics{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(280px,1fr);gap:14px;align-items:start}.finance-dashboard__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:14px;align-items:start}.finance-dashboard__grid--wide{grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr)}.finance-dashboard__stack{display:grid;gap:14px;align-content:start;min-width:0}.finance-analytics{min-width:0}.finance-analytics__progress{display:grid;gap:6px;margin:0 0 14px}.finance-analytics__progress-bar,.finance-breakdown__bar{display:block;block-size:6px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--navy-800) 10%,transparent);overflow:hidden}.finance-analytics__progress-bar>span,.finance-breakdown__bar>span{display:block;block-size:100%;border-radius:var(--radius-full);background:var(--teal-500)}.finance-analytics__progress-text{color:var(--neutral-600);font-size:var(--text-small)}.finance-range{display:inline-flex;gap:2px;padding:3px;border-radius:var(--radius-control);background:color-mix(in srgb,var(--navy-800) 6%,transparent)}.finance-range__option{border:0;border-radius:7px;padding:5px 10px;background:transparent;color:var(--neutral-600);font-family:inherit;font-size:var(--text-small);font-weight:var(--weight-medium);cursor:pointer}.finance-range__option:hover{color:var(--navy-800)}.finance-range__option.is-active{background:var(--neutral-0);color:var(--navy-900);font-weight:var(--weight-semibold);box-shadow:var(--shadow-1)}.finance-range__option:focus-visible{outline:2px solid var(--teal-500);outline-offset:1px}.finance-breakdown__total{display:grid;gap:2px;margin:0 0 14px}.finance-breakdown__total-label{color:var(--neutral-600);font-size:var(--text-small)}.finance-breakdown__total-value{font-size:var(--text-h3);line-height:var(--leading-h3);color:var(--navy-900)}.finance-breakdown__list{display:grid;gap:10px;padding:0;margin:0;list-style:none}.finance-breakdown__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px}.finance-breakdown__label{color:var(--navy-800);font-size:var(--text-small);font-weight:var(--weight-medium);min-width:0;overflow-wrap:anywhere}.finance-breakdown__amount{color:var(--navy-900);font-size:var(--text-small);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;text-align:right}.finance-breakdown__meta{grid-column:1 / -1;color:var(--neutral-500);font-size:var(--text-caption)}.finance-breakdown__bar{grid-column:1 / -1;margin-top:2px}.finance-position,.finance-payroll__figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0 0 16px}.finance-position__figure{display:grid;gap:2px;margin:0;padding:12px 14px;border:1px solid var(--register-border, var(--neutral-200));border-radius:var(--radius-control)}.finance-position__figure span{color:var(--neutral-600);font-size:var(--text-small)}.finance-position__figure strong{font-size:var(--text-h4);line-height:var(--leading-h4);color:var(--navy-900)}.finance-position__figure--net{border-color:color-mix(in srgb,var(--teal-500) 45%,transparent);background:color-mix(in srgb,var(--teal-500) 6%,transparent)}.finance-payroll__stages{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}.finance-payroll__stages li{padding:5px 12px;border:1px solid var(--neutral-200);border-radius:var(--radius-full);color:var(--neutral-600);font-size:var(--text-small)}.finance-payroll__stages li.is-reached{border-color:color-mix(in srgb,var(--teal-500) 40%,transparent);background:color-mix(in srgb,var(--teal-500) 10%,transparent);color:var(--teal-700);font-weight:var(--weight-semibold)}.finance-payroll__stages li[aria-current=step]{border-color:var(--teal-700);background:var(--teal-700);color:var(--neutral-0)}.finance-table__money{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.finance-table__primary{color:var(--navy-900);font-weight:var(--weight-semibold)}.finance-table__empty{margin:8px 0 0;padding:18px;border:1px dashed var(--neutral-300);border-radius:var(--radius-control);color:var(--neutral-600);font-size:var(--text-small);text-align:center}.finance-activity__list{display:grid;gap:0;padding:0;margin:0;list-style:none}.finance-activity__item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--neutral-200)}.finance-activity__item:last-child{border-bottom:0}.finance-activity__body{display:grid;gap:2px;min-width:0}.finance-activity__title{color:var(--navy-800);font-size:var(--text-small);font-weight:var(--weight-semibold)}.finance-activity__detail{color:var(--neutral-600);font-size:var(--text-caption);overflow-wrap:anywhere}.finance-activity__aside{display:flex;align-items:center;gap:8px;flex:none}.finance-activity__time{color:var(--neutral-500);font-size:var(--text-caption);font-variant-numeric:tabular-nums}.finance-quick-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:14px 16px;border:1px solid var(--register-border, var(--neutral-200));border-radius:var(--radius-lg);background:var(--neutral-0)}.finance-quick-actions__title{margin:0;font-size:var(--text-small);line-height:1.4;color:var(--neutral-600);font-weight:var(--weight-semibold)}.finance-quick-actions__row{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:1180px){.finance-dashboard__analytics,.finance-dashboard__grid--wide{grid-template-columns:minmax(0,1fr)}}@media(max-width:720px){.finance-dashboard__grid{grid-template-columns:minmax(0,1fr)}.finance-range{width:100%;justify-content:space-between}}.finance-profile__access-title{margin:16px 0 8px;font-size:var(--text-small);line-height:1.4;color:var(--navy-800)}.finance-profile__access{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 16px;padding:0;margin:0 0 14px;list-style:none}.finance-profile__access li{position:relative;padding-left:18px;color:var(--neutral-700);font-size:var(--text-small)}.finance-profile__access li:before{content:"";position:absolute;left:2px;top:7px;width:5px;height:9px;border:solid var(--teal-600);border-width:0 2px 2px 0;rotate:45deg}.finance-summary-board{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr);grid-auto-rows:1fr;gap:14px}.finance-summary-board .finance-board-card--feature{grid-row:span 2}.finance-summary-board[data-supporting="0"],.finance-summary-board[data-supporting="1"],.finance-summary-board[data-supporting="2"]{grid-auto-rows:auto}.finance-summary-board[data-supporting="0"] .finance-board-card--feature,.finance-summary-board[data-supporting="1"] .finance-board-card--feature,.finance-summary-board[data-supporting="2"] .finance-board-card--feature{grid-row:auto}.finance-summary-board[data-feature=no]{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-auto-rows:auto}.finance-board-card{position:relative;display:flex;flex-direction:column;gap:10px;min-width:0;padding:14px 16px;border-radius:var(--radius-lg);overflow:hidden;isolation:isolate}.finance-board-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.finance-board-card__body{display:grid;gap:2px;min-width:0}.finance-board-card__value{font-size:var(--text-h3);line-height:1.15;color:inherit;overflow-wrap:anywhere}.finance-board-card__label{font-size:var(--text-small);font-weight:var(--weight-medium);line-height:1.35}.finance-board-card--green{--tone: var(--teal-700)}.finance-board-card--blue{--tone: #2563eb}.finance-board-card--amber{--tone: #b45309}.finance-board-card--violet{--tone: #7c3aed}.finance-board-card--metric{background:color-mix(in srgb,var(--tone) 7%,var(--neutral-0));border:1px solid color-mix(in srgb,var(--tone) 20%,transparent);color:var(--navy-900)}.finance-board-card--metric .finance-board-card__icon{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:var(--radius-full);background:var(--tone);color:var(--neutral-0)}.finance-board-card--metric .finance-board-card__icon svg{width:17px;height:17px}.finance-board-card--metric .finance-board-card__label{color:var(--neutral-600)}.finance-board-card__chevron{display:grid;place-items:center;width:24px;height:24px;flex:none;padding:0;border:0;border-radius:var(--radius-full);background:color-mix(in srgb,var(--tone) 12%,transparent);color:var(--tone);cursor:pointer;transition:background-color var(--motion-fast) ease}.finance-board-card__chevron:hover{background:color-mix(in srgb,var(--tone) 22%,transparent)}.finance-board-card__chevron:focus-visible{outline:2px solid var(--tone);outline-offset:2px}.finance-board-card__chevron svg{width:14px;height:14px}.finance-board-card__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:auto}.finance-board-card__meta{display:grid;gap:2px;min-width:0}.finance-board-card__delta{font-size:var(--text-caption);font-weight:var(--weight-semibold);line-height:1.35}.finance-board-card__delta--up{color:color-mix(in srgb,var(--success) 76%,#000000)}.finance-board-card__delta--down{color:var(--danger-text)}.finance-board-card__detail{font-size:var(--text-caption);line-height:1.35;color:var(--neutral-600)}.finance-spark{display:flex;align-items:flex-end;gap:2px;flex:none;height:24px}.finance-spark__bar{width:4px;border-radius:2px;background:color-mix(in srgb,var(--tone) 28%,transparent)}.finance-spark__bar.is-latest{background:var(--tone)}.finance-board-card--feature{padding:20px 22px;gap:14px;justify-content:space-between;border:1px solid color-mix(in srgb,var(--neutral-0) 10%,transparent);background:linear-gradient(150deg,var(--edunux-surface),color-mix(in srgb,var(--school-primary, var(--navy-700)) 22%,var(--edunux-bg)));color:var(--neutral-0)}.finance-board-card--feature .finance-board-card__icon{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:var(--radius-full);background:color-mix(in srgb,var(--neutral-0) 14%,transparent);color:var(--neutral-0)}.finance-board-card--feature .finance-board-card__icon svg{width:20px;height:20px}.finance-board-card--feature .finance-board-card__value{font-size:var(--text-h1);line-height:var(--leading-h1)}.finance-board-card--feature .finance-board-card__label{font-size:var(--text-body);line-height:1.35;color:color-mix(in srgb,var(--neutral-0) 76%,transparent)}.finance-board-card__details{display:inline-flex;align-items:center;gap:6px;flex:none;padding:5px 11px;border:1px solid color-mix(in srgb,var(--neutral-0) 24%,transparent);border-radius:var(--radius-full);background:color-mix(in srgb,var(--neutral-0) 10%,transparent);color:var(--neutral-0);font-family:inherit;font-size:var(--text-caption);font-weight:var(--weight-semibold);cursor:pointer;transition:background-color var(--motion-fast) ease}.finance-board-card__details:hover{background:color-mix(in srgb,var(--neutral-0) 18%,transparent)}.finance-board-card__details:focus-visible{outline:2px solid var(--neutral-0);outline-offset:2px}.finance-board-card__details svg{width:14px;height:14px}.finance-feature-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--neutral-0) 16%,transparent)}.finance-feature-split dt{color:color-mix(in srgb,var(--neutral-0) 66%,transparent);font-size:var(--text-caption);line-height:1.35}.finance-feature-split dd{margin:0;color:var(--neutral-0);font-size:var(--text-h5);line-height:1.25}.finance-feature-progress{display:grid;gap:5px}.finance-feature-progress__track{display:block;block-size:6px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--neutral-0) 16%,transparent);overflow:hidden}.finance-feature-progress__track>span{display:block;block-size:100%;border-radius:var(--radius-full);background:var(--success)}.finance-feature-progress__text{font-size:var(--text-caption);line-height:1.35;color:color-mix(in srgb,var(--neutral-0) 78%,transparent)}.finance-feature-term{display:flex;align-items:center;gap:8px;margin:0;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--neutral-0) 16%,transparent);color:color-mix(in srgb,var(--neutral-0) 78%,transparent);font-size:var(--text-caption)}.finance-feature-term{line-height:1.35}.finance-feature-term svg{width:15px;height:15px;flex:none}.finance-board-card__texture{position:absolute;inset:0;z-index:-1;pointer-events:none}.finance-board-card__texture>span{position:absolute;border-radius:50%;background:currentColor}.finance-board-card__texture>span:first-child{width:44%;aspect-ratio:1;right:-10%;bottom:-16%;opacity:.06}.finance-board-card__texture>span:last-child{width:28%;aspect-ratio:1;right:10%;bottom:10%;opacity:.045}@media(max-width:1180px){.finance-summary-board{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.finance-summary-board .finance-board-card--feature{grid-column:1 / -1;grid-row:auto}.finance-summary-board[data-feature=no]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media(max-width:720px){.finance-summary-board,.finance-summary-board[data-supporting="0"],.finance-summary-board[data-supporting="1"],.finance-summary-board[data-supporting="2"],.finance-summary-board[data-feature=no]{grid-template-columns:minmax(0,1fr)}}.app-shell[data-portal=accountant] .finance-topbar__greeting{display:grid;gap:1px;margin-right:auto;min-width:0}.app-shell[data-portal=accountant] .finance-topbar__welcome{margin:0;font-family:var(--font-heading);font-size:1.25rem;line-height:1.25;font-weight:var(--weight-bold);color:var(--navy-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell[data-portal=accountant] .finance-topbar__context{margin:0;color:var(--neutral-500);font-size:.8125rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell[data-portal=accountant] .finance-topbar__search{width:min(420px,34vw)}.app-shell[data-portal=accountant] .finance-topbar__shortcut{flex:none;padding:2px 6px;border:1px solid var(--neutral-300);border-radius:6px;background:var(--neutral-0);color:var(--neutral-500);font-family:var(--font-sans);font-size:.6875rem;line-height:1.4}.app-shell[data-portal=accountant] .top-actions .account-trigger{gap:10px;padding:4px 10px 4px 4px;border-radius:var(--radius-full);background:transparent;transition:background-color var(--motion-fast) ease}.app-shell[data-portal=accountant] .top-actions .account-trigger:hover{background:var(--neutral-100)}.app-shell[data-portal=accountant] .top-actions .account-copy{gap:0;text-align:left}.app-shell[data-portal=accountant] .top-actions .account-copy b{color:var(--navy-900);font-size:.8125rem;line-height:1.3}.app-shell[data-portal=accountant] .top-actions .account-copy small{color:var(--neutral-500);font-size:.6875rem;line-height:1.3}.app-shell[data-portal=accountant] .top-actions .account-trigger>svg{width:16px;height:16px;color:var(--neutral-400);rotate:180deg}.finance-page{display:grid;gap:16px;min-width:0}.finance-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:14px 16px;border:1px solid var(--register-border, var(--neutral-200));border-radius:var(--radius-lg);background:var(--neutral-0)}.finance-field{display:grid;gap:5px;min-width:180px;flex:1 1 180px}.finance-field>span{display:flex;align-items:center;gap:6px;color:var(--neutral-600);font-size:var(--text-caption);font-weight:var(--weight-medium)}.finance-field>span svg{width:14px;height:14px}.finance-toolbar__actions{display:flex;gap:10px;margin-left:auto;flex:none}.app-shell[data-portal=accountant] .button--primary{background:var(--school-primary, var(--teal-500));color:var(--school-primary-ink, var(--navy-900))}.app-shell[data-portal=accountant] .button--primary:hover:not(:disabled){background:var(--school-primary-strong, var(--teal-600));color:var(--school-primary-ink, var(--navy-900))}.app-shell[data-portal=accountant] .button--primary:active:not(:disabled){background:var(--school-primary-strong, var(--teal-700))}.finance-stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.finance-stat{display:grid;gap:10px;align-content:start;padding:16px;border:1px solid var(--register-border, var(--neutral-200));border-radius:var(--radius-lg);background:var(--neutral-0);min-width:0}.finance-stat--green{--tone: var(--teal-700)}.finance-stat--blue{--tone: #2563eb}.finance-stat--amber{--tone: #b45309}.finance-stat--violet{--tone: #7c3aed}.finance-stat--plain .finance-stat__icon{background:color-mix(in srgb,var(--tone) 12%,transparent);color:var(--tone)}.finance-stat--tinted{background:color-mix(in srgb,var(--tone) 7%,var(--neutral-0));border-color:color-mix(in srgb,var(--tone) 20%,transparent)}.finance-stat--tinted .finance-stat__icon{background:var(--tone);color:var(--neutral-0)}.finance-stat__head{display:flex;align-items:center;justify-content:space-between;gap:10px}.finance-stat__icon{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:var(--radius-control)}.finance-stat__icon svg{width:20px;height:20px}.finance-stat__chevron{display:grid;place-items:center;width:28px;height:28px;flex:none;border:0;border-radius:var(--radius-full);background:transparent;color:var(--neutral-600);cursor:pointer}.finance-stat__chevron:hover{background:color-mix(in srgb,var(--tone) 12%,transparent);color:var(--tone)}.finance-stat__chevron:focus-visible{outline:2px solid var(--school-primary, var(--teal-500));outline-offset:1px}.finance-stat__chevron svg{width:17px;height:17px}.finance-stat__body{display:grid;gap:2px;min-width:0}.finance-stat__value{font-size:var(--text-h4);line-height:1.2;color:var(--navy-900);overflow-wrap:anywhere}.finance-stat__label{color:var(--navy-800);font-size:var(--text-small);font-weight:var(--weight-semibold)}.finance-stat__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;min-width:0}.finance-stat__meta{display:grid;gap:1px;min-width:0}.finance-stat__detail{color:var(--neutral-600);font-size:var(--text-caption)}.finance-stat__delta{font-size:var(--text-caption);font-weight:var(--weight-semibold)}.finance-stat__delta--up{color:color-mix(in srgb,var(--success) 76%,#000000)}.finance-stat__delta--down{color:var(--danger-text)}.finance-stat__delta--flat{color:var(--neutral-600)}.finance-rail-module{min-width:0}.finance-donut__arc--green,.finance-legend__dot--green,.finance-progress-list__fill--green,.finance-feed__mark--green,.finance-quick-list__icon--green{--tone: var(--teal-700)}.finance-donut__arc--blue,.finance-legend__dot--blue,.finance-progress-list__fill--blue,.finance-feed__mark--blue,.finance-quick-list__icon--blue{--tone: #2563eb}.finance-donut__arc--amber,.finance-legend__dot--amber,.finance-progress-list__fill--amber,.finance-feed__mark--amber,.finance-quick-list__icon--amber{--tone: #b45309}.finance-donut__arc--violet,.finance-legend__dot--violet,.finance-progress-list__fill--violet,.finance-feed__mark--violet,.finance-quick-list__icon--violet{--tone: #7c3aed}.finance-donut__arc--red,.finance-legend__dot--red,.finance-progress-list__fill--red,.finance-feed__mark--red,.finance-quick-list__icon--red{--tone: var(--danger-text)}.finance-donut__arc--slate,.finance-legend__dot--slate,.finance-progress-list__fill--slate,.finance-feed__mark--slate,.finance-quick-list__icon--slate{--tone: var(--neutral-500)}.finance-donut{position:relative;display:grid;place-items:center;width:min(180px,60%);margin:4px auto 16px}.finance-donut__ring{width:100%;height:auto;transform:rotate(0)}.finance-donut__track{stroke:var(--neutral-200)}.finance-donut__arc{stroke:var(--tone);stroke-linecap:butt}.finance-donut__centre{position:absolute;display:grid;justify-items:center;gap:1px;text-align:center}.finance-donut__centre b{color:var(--navy-900);font-size:var(--text-h5);line-height:1.1}.finance-donut__centre small{color:var(--neutral-600);font-size:var(--text-caption)}.finance-legend{display:grid;gap:9px;margin:0;padding:0;list-style:none}.finance-legend li{display:flex;align-items:center;gap:9px;min-width:0}.finance-legend__dot{width:9px;height:9px;flex:none;border-radius:var(--radius-full);background:var(--tone)}.finance-legend__label{flex:1 1 auto;min-width:0;color:var(--neutral-700);font-size:var(--text-small);overflow-wrap:anywhere}.finance-legend__value{color:var(--navy-900);font-size:var(--text-small);white-space:nowrap}.finance-legend__percent{flex:none;min-width:42px;text-align:right;color:var(--neutral-600);font-size:var(--text-caption)}.finance-progress-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.finance-progress-list__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:5px}.finance-progress-list__label{color:var(--neutral-700);font-size:var(--text-small)}.finance-progress-list__value{color:var(--navy-900);font-size:var(--text-small);white-space:nowrap}.finance-progress-list__track{display:block;height:6px;border-radius:var(--radius-full);background:var(--neutral-100);overflow:hidden}.finance-progress-list__fill{display:block;height:100%;border-radius:var(--radius-full);background:var(--tone)}.finance-feed{display:grid;gap:12px;margin:0;padding:0;list-style:none}.finance-feed li{display:flex;align-items:flex-start;gap:10px;min-width:0}.finance-feed__mark{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:var(--radius-full);background:color-mix(in srgb,var(--tone) 13%,transparent);color:var(--tone)}.finance-feed__mark svg{width:15px;height:15px}.finance-feed__body{display:grid;gap:1px;flex:1 1 auto;min-width:0}.finance-feed__body b{color:var(--navy-900);font-size:var(--text-small);font-weight:var(--weight-semibold)}.finance-feed__body small{color:var(--neutral-600);font-size:var(--text-caption)}.finance-feed__time{flex:none;color:var(--neutral-500);font-size:var(--text-caption);white-space:nowrap}.finance-quick-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.finance-quick-list button{display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;border:1px solid var(--neutral-200);border-radius:var(--radius-control);background:var(--neutral-0);color:inherit;font-family:inherit;text-align:left;cursor:pointer}.finance-quick-list button:hover{border-color:color-mix(in srgb,var(--school-primary, var(--teal-600)) 40%,transparent);background:var(--neutral-50)}.finance-quick-list button:focus-visible{outline:2px solid var(--school-primary, var(--teal-500));outline-offset:1px}.finance-quick-list__icon{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:var(--radius-control);background:color-mix(in srgb,var(--tone) 13%,transparent);color:var(--tone)}.finance-quick-list__icon svg{width:16px;height:16px}.finance-quick-list__copy{display:grid;gap:1px;flex:1 1 auto;min-width:0}.finance-quick-list__copy b{color:var(--navy-900);font-size:var(--text-small);font-weight:var(--weight-semibold)}.finance-quick-list__copy small{color:var(--neutral-600);font-size:var(--text-caption)}.finance-quick-list button>svg{width:16px;height:16px;flex:none;color:var(--neutral-500)}.finance-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:14px;padding-top:13px;border-top:1px solid var(--neutral-200)}.finance-pagination__range{color:var(--neutral-600);font-size:var(--text-small)}.finance-pagination__pages{display:flex;align-items:center;gap:4px}.finance-pagination__page,.finance-pagination__step{display:grid;place-items:center;min-width:32px;height:32px;padding:0 8px;border:1px solid var(--neutral-200);border-radius:var(--radius-control);background:var(--neutral-0);color:var(--navy-800);font-family:inherit;font-size:var(--text-small);cursor:pointer}.finance-pagination__page:hover:not(.is-current),.finance-pagination__step:hover:not(:disabled){background:var(--neutral-50)}.finance-pagination__page.is-current{background:var(--school-primary, var(--teal-600));border-color:var(--school-primary, var(--teal-600));color:var(--school-primary-ink, var(--neutral-0));font-weight:var(--weight-semibold)}.finance-pagination__page:focus-visible,.finance-pagination__step:focus-visible{outline:2px solid var(--school-primary, var(--teal-500));outline-offset:1px}.finance-pagination__step:disabled{opacity:.45;cursor:default}.finance-pagination__step svg{width:16px;height:16px}.finance-pagination__gap{padding:0 2px;color:var(--neutral-500)}.finance-chain{display:grid;gap:0;margin:0 0 14px;padding:0;list-style:none;border:1px solid var(--neutral-200);border-radius:var(--radius-control);overflow:hidden}.finance-chain li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:11px 13px;background:var(--neutral-0);border-bottom:1px solid var(--neutral-200)}.finance-chain li:last-child{border-bottom:0}.finance-chain span{color:var(--neutral-700);font-size:var(--text-small);min-width:0}.finance-chain b{color:var(--navy-900);font-size:var(--text-small);white-space:nowrap}.finance-chain .is-award{background:var(--status-due-today-bg, #fffaeb)}.finance-chain .is-award b{color:var(--status-due-today-text, #b54708)}.finance-chain .is-result{background:color-mix(in srgb,var(--school-primary, #2563eb) 8%,transparent)}.finance-chain .is-result b{font-size:var(--text-h5)}.finance-doc-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}.finance-doc-list li{display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid var(--neutral-200);border-radius:var(--radius-control);background:var(--neutral-50)}.finance-doc-list li svg{width:15px;height:15px;flex:none;color:var(--neutral-600)}.finance-doc-list li span{flex:1 1 auto;min-width:0;color:var(--navy-900);font-size:var(--text-small);overflow-wrap:anywhere}.finance-restricted-note{display:inline-flex;align-items:center;gap:5px;color:var(--neutral-600);font-size:var(--text-caption);font-style:italic}.finance-restricted-note svg{width:13px;height:13px;flex:none}.finance-highvalue{color:var(--status-due-today-text, #b54708);font-size:var(--text-caption);font-weight:var(--weight-semibold)}.finance-priority{display:inline-flex;align-items:center;padding:2px 9px;border-radius:var(--radius-full);font-size:var(--text-caption);font-weight:var(--weight-semibold);white-space:nowrap}.finance-priority--high{background:color-mix(in srgb,#b45309 12%,#ffffff);color:#8a3f07}.finance-priority--medium{background:color-mix(in srgb,#2563eb 12%,#ffffff);color:#1e4fb8}.finance-priority--low{background:var(--neutral-100);color:var(--neutral-700)}.finance-queue__age svg{width:12px;height:12px;vertical-align:-2px;margin-right:3px}.finance-workspace{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(300px,1fr);gap:14px;align-items:start}.finance-register{min-width:0}.finance-register__tools{display:flex;align-items:center;gap:10px}.finance-register__foot{margin-top:14px}.finance-rail{display:grid;gap:14px;align-content:start;min-width:0}.finance-inline-search{display:flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;border:1px solid var(--neutral-200);border-radius:var(--radius-full);background:var(--neutral-50);color:var(--neutral-500)}.finance-inline-search svg{width:15px;height:15px;flex:none}.finance-inline-search input{width:min(200px,30vw);border:0;background:none;color:var(--navy-900);font-family:inherit;font-size:var(--text-small);outline:none}.fee-type{display:inline-flex;align-items:center;width:max-content;padding:2px 9px;border-radius:var(--radius-full);font-size:var(--text-caption);font-weight:var(--weight-semibold);white-space:nowrap}.fee-type--compulsory{background:color-mix(in srgb,#b45309 14%,#ffffff);color:#6b3007}.fee-type--optional{background:color-mix(in srgb,#2563eb 14%,#ffffff);color:#17397f}.fee-type--conditional{background:color-mix(in srgb,#7c3aed 14%,#ffffff);color:#4a1d94}.finance-cell-stack{display:grid;gap:1px;min-width:0}.finance-cell-stack b{color:var(--navy-900);font-weight:var(--weight-semibold)}.finance-cell-stack small{color:var(--neutral-600);font-size:var(--text-caption)}.finance-muted{color:var(--neutral-500);font-style:normal}.finance-impact__list{display:grid;gap:8px;margin:0}.finance-impact__row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:var(--radius-control);background:var(--neutral-50)}.finance-impact__row dt{color:var(--neutral-700);font-size:var(--text-small)}.finance-impact__row dd{margin:0;color:var(--navy-900);font-size:var(--text-small);white-space:nowrap}.finance-impact__row.is-total{background:color-mix(in srgb,var(--school-primary, #2563eb) 8%,transparent);border:1px solid color-mix(in srgb,var(--school-primary, #2563eb) 22%,transparent)}.finance-impact__row.is-total dd{font-size:var(--text-h5)}.finance-impact__note{margin:12px 0 0;padding:10px 12px;border-radius:var(--radius-control);background:var(--info-bg, var(--neutral-50));color:var(--neutral-700);font-size:var(--text-caption)}.finance-steps{display:grid;gap:10px;margin:0 0 12px;padding:0;list-style:none;counter-reset:step}.finance-steps li{display:flex;align-items:center;gap:10px;color:var(--neutral-500);font-size:var(--text-small)}.finance-steps__dot{display:grid;place-items:center;width:24px;height:24px;flex:none;border-radius:var(--radius-full);background:var(--neutral-200);color:var(--neutral-600);font-size:var(--text-caption);font-weight:var(--weight-bold)}.finance-steps li.is-reached{color:var(--navy-900);font-weight:var(--weight-semibold)}.finance-steps li.is-reached .finance-steps__dot{background:var(--school-primary, #2563eb);color:var(--school-primary-ink, var(--neutral-0))}.finance-publish__note{margin:0 0 12px;color:var(--neutral-600);font-size:var(--text-caption)}.finance-publish__actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.finance-tabs{display:inline-flex;gap:2px;padding:3px;border-radius:var(--radius-control);background:var(--neutral-100)}.finance-tabs__tab{border:0;border-radius:7px;padding:6px 12px;background:transparent;color:var(--neutral-600);font-family:inherit;font-size:var(--text-small);font-weight:var(--weight-medium);cursor:pointer}.finance-tabs__tab:hover{color:var(--navy-800)}.finance-tabs__tab.is-active{background:var(--neutral-0);color:var(--navy-900);font-weight:var(--weight-semibold);box-shadow:var(--shadow-1)}.finance-tabs__tab:focus-visible{outline:2px solid var(--school-primary, var(--teal-500));outline-offset:1px}@media(max-width:1180px){.finance-workspace{grid-template-columns:minmax(0,1fr)}}@media(max-width:720px){.finance-stat-row{grid-template-columns:minmax(0,1fr)}.finance-toolbar__actions{margin-left:0;width:100%}.finance-toolbar__actions .button{flex:1}}.finance-queue{display:grid;gap:8px;margin:0;padding:0;list-style:none}.finance-queue__item{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--neutral-200);border-left:3px solid var(--neutral-300);border-radius:var(--radius-control);background:var(--neutral-0)}.finance-queue__item--urgent{border-left-color:var(--status-urgent-text, #b42318);background:var(--status-urgent-bg, #fef3f2)}.finance-queue__item--due-today{border-left-color:var(--status-due-today-text, #b54708);background:var(--status-due-today-bg, #fffaeb)}.finance-queue__item--in-progress{border-left-color:var(--status-in-progress-text, #175cd3)}.finance-queue__item--planned,.finance-queue__item--neutral{border-left-color:var(--neutral-400)}.finance-queue__item--done,.finance-queue__item--current{border-left-color:var(--teal-700)}.finance-queue__body{display:grid;gap:2px;min-width:0;flex:1 1 auto}.finance-queue__title{color:var(--navy-900);font-size:var(--text-small);font-weight:var(--weight-semibold)}.finance-queue__detail{color:var(--neutral-600);font-size:var(--text-caption)}.finance-queue__meta{display:flex;align-items:center;gap:10px;flex:none;flex-wrap:wrap;justify-content:flex-end}.finance-queue__amount{color:var(--navy-900);font-size:var(--text-small);white-space:nowrap}.finance-queue__age{color:var(--neutral-600);font-size:var(--text-caption);white-space:nowrap}.finance-queue--compact .finance-queue__item{padding:10px 12px}.finance-record-head{display:grid;gap:2px;padding:14px 16px;margin-bottom:14px;border-radius:var(--radius-control);background:var(--neutral-50)}.finance-record-head__amount{color:var(--navy-900);font-size:var(--text-h3, 1.5rem);line-height:1.2}.finance-record-head__meta{color:var(--neutral-600);font-size:var(--text-caption)}.finance-record-reason{margin:0 0 14px;color:var(--neutral-700);font-size:var(--text-small)}.finance-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;margin:0;border:1px solid var(--neutral-200);border-radius:var(--radius-control);background:var(--neutral-200);overflow:hidden}.finance-facts__row{display:grid;gap:2px;padding:10px 14px;background:var(--neutral-0)}.finance-facts__row dt{color:var(--neutral-600);font-size:var(--text-caption)}.finance-facts__row dd{margin:0;color:var(--navy-900);font-size:var(--text-small);font-weight:var(--weight-medium)}.finance-decision{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.finance-history{display:grid;gap:0;margin:0;padding:0;list-style:none}.finance-history__item{display:flex;align-items:flex-start;gap:14px;padding:12px 0;border-bottom:1px solid var(--neutral-200)}.finance-history__item:last-child{border-bottom:0}.finance-history__time{display:grid;flex:none;width:58px;text-align:right}.finance-history__time b{color:var(--navy-900);font-size:var(--text-small);font-weight:var(--weight-semibold)}.finance-history__time small{color:var(--neutral-600);font-size:var(--text-caption)}.finance-history__body{display:grid;gap:2px;min-width:0;flex:1 1 auto}.finance-history__body b{color:var(--navy-900);font-size:var(--text-small);font-weight:var(--weight-semibold)}.finance-history__body small{color:var(--neutral-600);font-size:var(--text-caption)}.finance-match{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px}.finance-match__side{display:grid;gap:4px;padding:14px 16px;border:1px solid var(--neutral-200);border-radius:var(--radius-control);background:var(--neutral-50);min-width:0}.finance-match__side h3{margin:0;color:var(--neutral-600);font-size:var(--text-caption);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em}.finance-match__side strong{color:var(--navy-900);font-size:var(--text-h4)}.finance-match__side span{color:var(--neutral-700);font-size:var(--text-small)}.finance-match__side small{color:var(--neutral-600);font-size:var(--text-caption)}.finance-match__arrow{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--radius-full);background:var(--neutral-100);color:var(--neutral-600)}.finance-match__arrow svg{width:17px;height:17px}.finance-settings-group{padding:16px 0;border-bottom:1px solid var(--neutral-200)}.finance-settings-group:last-of-type{border-bottom:0}.finance-settings-group__title{margin:0;color:var(--navy-900);font-size:var(--text-body);font-weight:var(--weight-semibold)}.finance-settings-group__detail{margin:2px 0 12px;color:var(--neutral-600);font-size:var(--text-caption)}.finance-setting{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 0;flex-wrap:wrap}.finance-setting__copy{display:grid;gap:2px;min-width:0;flex:1 1 320px}.finance-setting__copy b{color:var(--navy-900);font-size:var(--text-small);font-weight:var(--weight-semibold)}.finance-setting__copy small{color:var(--neutral-600);font-size:var(--text-caption)}.finance-setting__lock{display:flex;align-items:flex-start;gap:6px;margin-top:4px;color:var(--neutral-700)}.finance-setting__lock svg{width:13px;height:13px;flex:none;margin-top:1px}.finance-setting__control{flex:none}.finance-guidance__body{margin:0;color:var(--neutral-700);font-size:var(--text-small);line-height:1.55}@media(max-width:860px){.finance-match{grid-template-columns:minmax(0,1fr);justify-items:stretch}.finance-match__arrow{justify-self:center;transform:rotate(90deg)}}@media(max-width:720px){.finance-queue__item{flex-wrap:wrap}.finance-queue__meta{justify-content:flex-start;width:100%}.finance-facts{grid-template-columns:minmax(0,1fr)}}.finance-person{display:flex;align-items:center;gap:10px;min-width:0}.finance-person__avatar{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:var(--radius-full);background:color-mix(in srgb,var(--tone) 15%,transparent);color:var(--tone);font-size:var(--text-caption);font-weight:var(--weight-bold);letter-spacing:.02em}.finance-person__avatar--blue{--tone: #2563eb}.finance-person__avatar--green{--tone: var(--teal-700)}.finance-person__avatar--amber{--tone: #b45309}.finance-person__avatar--violet{--tone: #7c3aed}.finance-person__copy{display:grid;gap:1px;min-width:0}.finance-person__copy b{color:var(--navy-900);font-size:var(--text-small);font-weight:var(--weight-semibold)}.finance-person__copy small{color:var(--neutral-600);font-size:var(--text-caption)}.finance-person--lead{margin-bottom:14px}.finance-person--lead .finance-person__avatar{width:42px;height:42px;font-size:var(--text-small)}.finance-person--lead .finance-person__copy b{font-size:var(--text-body)}.finance-feature-progress--light .finance-feature-progress__track{background:var(--neutral-200)}.finance-feature-progress--light .finance-feature-progress__track>span{background:var(--school-primary, var(--teal-600))}.finance-feature-progress--light .finance-feature-progress__text{color:var(--neutral-700)}.finance-register .finance-tabs{margin-bottom:14px}.finance-field--wide{flex:2 1 280px}.finance-trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;align-items:start}.finance-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:14px;align-items:start}.finance-feed__amount{display:grid;justify-items:end;flex:none;text-align:right}.finance-feed__amount b{color:var(--navy-900);font-size:var(--text-small);white-space:nowrap}.finance-feed__amount small{color:var(--neutral-600);font-size:var(--text-caption);white-space:nowrap}.finance-reason{display:inline-flex;padding:2px 9px;border-radius:var(--radius-full);background:var(--status-due-today-bg, #fffaeb);color:var(--status-due-today-text, #b54708);font-size:var(--text-caption)}.finance-wizard{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:0;padding:14px 16px;border:1px solid var(--register-border, var(--neutral-200));border-radius:var(--radius-lg);background:var(--neutral-0);list-style:none}.finance-wizard__step{display:flex;align-items:center;gap:11px;min-width:0}.finance-wizard__dot{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:var(--radius-full);background:var(--neutral-200);color:var(--neutral-600);font-size:var(--text-small);font-weight:var(--weight-bold)}.finance-wizard__step.is-reached .finance-wizard__dot{background:var(--school-primary, var(--teal-600));color:var(--school-primary-ink, var(--neutral-0))}.finance-wizard__copy{display:grid;gap:1px;min-width:0}.finance-wizard__copy b{color:var(--neutral-600);font-size:var(--text-small);font-weight:var(--weight-semibold)}.finance-wizard__step.is-reached .finance-wizard__copy b{color:var(--navy-900)}.finance-wizard__copy small{color:var(--neutral-600);font-size:var(--text-caption)}.finance-register>.card+.card{margin-top:14px}.finance-inline-search--block{width:100%;margin-bottom:14px;border-radius:var(--radius-control)}.finance-inline-search--block input{width:100%}.finance-selected-student{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 16px;margin-bottom:16px;border:1px solid var(--neutral-200);border-radius:var(--radius-control);background:var(--neutral-50)}.finance-selected-student__copy{display:grid;gap:1px;flex:1 1 200px;min-width:0}.finance-selected-student__copy b{color:var(--navy-900);font-size:var(--text-body)}.finance-selected-student__copy small,.finance-selected-student__guardian small{color:var(--neutral-600);font-size:var(--text-caption)}.finance-selected-student__guardian{display:grid;gap:1px;flex:none}.finance-selected-student__guardian b{color:var(--navy-900);font-size:var(--text-small)}.finance-stat-row--compact{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.finance-stat-row--compact .finance-stat{padding:12px;gap:8px}.finance-stat-row--compact .finance-stat__value{font-size:var(--text-h5)}.finance-amount-input{display:flex;align-items:stretch;gap:0}.finance-amount-input>span{display:grid;place-items:center;width:40px;flex:none;border:1px solid var(--neutral-200);border-right:0;border-radius:var(--radius-control) 0 0 var(--radius-control);background:var(--neutral-100);color:var(--navy-800)}.finance-amount-input>span svg{width:16px;height:16px}.finance-amount-input>span+.input{border-radius:0 var(--radius-control) var(--radius-control) 0}.finance-amount-input .input{flex:1 1 auto;min-width:0}.finance-regenerate{display:grid;place-items:center;width:40px;flex:none;border:1px solid var(--neutral-200);border-left:0;border-radius:0 var(--radius-control) var(--radius-control) 0;background:var(--neutral-50);color:var(--neutral-700);cursor:pointer}.finance-regenerate:hover{background:var(--neutral-100)}.finance-regenerate:focus-visible{outline:2px solid var(--school-primary, var(--teal-500));outline-offset:1px}.finance-regenerate svg{width:15px;height:15px}.finance-amount-input .input[readonly]{background:var(--neutral-50);color:var(--neutral-700)}.finance-quick-amounts{display:flex;flex-wrap:wrap;gap:7px;margin:-4px 0 4px}.finance-quick-amounts button{padding:5px 11px;border:1px solid var(--neutral-200);border-radius:var(--radius-full);background:var(--neutral-0);color:var(--navy-800);font-family:inherit;font-size:var(--text-caption);font-weight:var(--weight-medium);cursor:pointer}.finance-quick-amounts button:hover{border-color:color-mix(in srgb,var(--school-primary, var(--teal-600)) 40%,transparent);background:var(--neutral-50)}.finance-quick-amounts button:focus-visible{outline:2px solid var(--school-primary, var(--teal-500));outline-offset:1px}.finance-impact__note svg{width:14px;height:14px;vertical-align:-2px;margin-right:4px}.finance-bar-cell{display:grid;gap:4px;min-width:110px}.finance-bar-cell b{color:var(--navy-900);font-size:var(--text-small);font-variant-numeric:tabular-nums}.finance-bar-cell__track{display:block;height:6px;border-radius:var(--radius-full);background:var(--neutral-100);overflow:hidden}.finance-bar-cell__track>span{display:block;height:100%;border-radius:var(--radius-full);background:var(--school-primary, var(--teal-600))}.finance-balance-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-full);background:var(--status-urgent-bg, #fef3f2);color:var(--status-urgent-text, #b42318);font-size:var(--text-caption);font-weight:var(--weight-semibold)}.finance-balance-badge.is-balanced{background:var(--status-done-bg, #ecfdf3);color:var(--status-done-text, #027a48)}.finance-totals{margin-top:14px}.finance-feed__amount .button{min-height:28px;padding:4px 8px}@media(max-width:720px){.app-shell[data-portal=accountant] .topbar{height:auto;flex-wrap:wrap;gap:10px;padding:10px 16px}.app-shell[data-portal=accountant] .finance-topbar__greeting{flex:1 1 auto;min-width:0}.app-shell[data-portal=accountant] .finance-topbar__welcome{font-size:var(--text-h4);line-height:1.25}.app-shell[data-portal=accountant] .finance-topbar__context{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell[data-portal=accountant] .top-actions{flex:1 1 100%;flex-wrap:wrap;justify-content:flex-end;margin-left:0;row-gap:10px}.app-shell[data-portal=accountant] .finance-topbar__search{order:3;flex:1 0 100%;width:100%;max-width:none}}.finance-method{display:inline-flex;align-items:center;padding:2px 9px;border-radius:var(--radius-full);background:var(--neutral-100);color:var(--navy-800);font-size:var(--text-caption);font-weight:var(--weight-medium);white-space:nowrap}.finance-narration{font-family:var(--font-mono, ui-monospace, "SFMono-Regular", monospace);font-size:var(--text-caption);color:var(--navy-900);letter-spacing:-.01em}.finance-compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.finance-compare__side{display:grid;gap:2px;padding:12px;border:1px solid var(--neutral-200);border-radius:var(--radius-control);background:var(--neutral-50);min-width:0}.finance-compare__side b{color:var(--navy-900);font-size:var(--text-h5);overflow-wrap:anywhere}.finance-compare__side small{color:var(--neutral-600);font-size:var(--text-caption)}.finance-compare__icon{display:grid;place-items:center;width:28px;height:28px;margin-bottom:2px;border-radius:var(--radius-control);background:color-mix(in srgb,var(--school-primary, #2563eb) 12%,transparent);color:var(--school-primary, #2563eb)}.finance-compare__icon svg{width:15px;height:15px}.finance-variance{margin:10px 0 0;padding:9px 12px;border-radius:var(--radius-control);background:var(--status-due-today-bg, #fffaeb);color:var(--status-due-today-text, #b54708);font-size:var(--text-small)}.finance-table th:first-child,.finance-table td:first-child:has(input[type=checkbox]){width:1%;white-space:nowrap}.receipt{display:grid;gap:14px;padding:22px;border:1px solid var(--neutral-200);border-radius:var(--radius-lg);background:var(--neutral-0);color:var(--navy-900);container-type:inline-size}.receipt__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-bottom:14px;border-bottom:2px solid var(--school-primary, var(--teal-600))}.receipt__identity{display:flex;align-items:center;gap:11px;min-width:0}.receipt__logo{width:44px;height:44px;flex:none;object-fit:contain}.receipt__identity span{display:grid;gap:1px;min-width:0}.receipt__identity b{color:var(--school-secondary, var(--navy-900));font-size:1rem;line-height:1.2}.receipt__identity small,.receipt__contact{color:var(--neutral-600);font-size:.6875rem}.receipt__contact{display:grid;gap:3px;font-style:normal;text-align:left}.receipt__contact>span{display:flex;align-items:flex-start;gap:6px}.receipt__contact>span>span{display:grid}.receipt__contact svg{width:12px;height:12px;flex:none;margin-top:1px;color:var(--school-primary, var(--teal-600))}.receipt__banner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.receipt__title h2{margin:0;color:var(--school-secondary, var(--navy-900));font-size:1.5rem;line-height:1.1;letter-spacing:-.01em;text-transform:uppercase}.receipt__title p{margin:2px 0 0;color:var(--neutral-600);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase}.receipt__meta{display:flex;gap:18px;margin:0;padding:10px 14px;border-radius:var(--radius-control);background:var(--neutral-50)}.receipt__meta dt{color:var(--neutral-600);font-size:.6875rem}.receipt__meta dd{margin:0;color:var(--navy-900);font-size:.8125rem;font-weight:var(--weight-semibold)}.receipt__status{display:flex;align-items:center;gap:9px;margin:0;padding:10px 14px;border-radius:var(--radius-control);background:var(--status-done-bg, #ecfdf3)}.receipt__status svg{width:22px;height:22px;color:var(--status-done-text, #027a48)}.receipt__status span{display:grid}.receipt__status small{color:var(--neutral-600);font-size:.6875rem}.receipt__status b{color:var(--status-done-text, #027a48);font-size:.9375rem}.receipt__student,.receipt__payment{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;padding:14px 16px;border:1px solid var(--neutral-200);border-radius:var(--radius-control);background:var(--neutral-50)}.receipt__student>div,.receipt__payment>div{display:grid;gap:1px;min-width:0}.receipt__student small,.receipt__payment small{color:var(--neutral-600);font-size:.6875rem}.receipt__student b,.receipt__payment b{color:var(--navy-900);font-size:.875rem;overflow-wrap:anywhere}.receipt__body{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:14px;align-items:start}.receipt__lines table{width:100%;border-collapse:collapse}.receipt__lines th,.receipt__lines td{padding:9px 11px;font-size:.8125rem;text-align:left}.receipt__lines thead th{background:var(--school-primary-soft, var(--neutral-100));color:var(--school-secondary, var(--navy-900));font-size:.6875rem;font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em}.receipt__lines tbody tr{border-bottom:1px solid var(--neutral-200)}.receipt__lines tfoot th,.receipt__lines tfoot td{background:var(--neutral-50);color:var(--navy-900);font-size:.9375rem;font-weight:var(--weight-semibold)}.receipt__balances{display:grid;gap:10px}.receipt__balances dl{display:grid;gap:1px;margin:0;border:1px solid var(--neutral-200);border-radius:var(--radius-control);background:var(--neutral-200);overflow:hidden}.receipt__balances dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--neutral-0)}.receipt__balances dt{color:var(--neutral-700);font-size:.8125rem}.receipt__balances dd{margin:0;color:var(--navy-900);font-size:.875rem;font-weight:var(--weight-semibold);white-space:nowrap}.receipt__balances .is-paid{background:var(--status-done-bg, #ecfdf3)}.receipt__balances .is-paid dd{color:var(--status-done-text, #027a48)}.receipt__balances .is-total{background:var(--school-primary-soft, var(--neutral-50))}.receipt__thanks{margin:0;padding:11px 13px;border-radius:var(--radius-control);background:var(--neutral-50);color:var(--neutral-700);font-size:.75rem;text-align:center}.receipt__footnotes{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start;padding-top:14px;border-top:1px solid var(--neutral-200)}.receipt__notes{padding:12px 14px;border-radius:var(--radius-control);background:var(--info-bg, var(--neutral-50))}.receipt__notes b{color:var(--navy-900);font-size:.8125rem}.receipt__notes ol{margin:6px 0 0;padding-left:18px;color:var(--neutral-700);font-size:.75rem;line-height:1.55}.receipt__motto{margin:8px 0 0;color:var(--school-secondary, var(--navy-900));font-size:.75rem;font-weight:var(--weight-semibold)}.receipt__signature{display:grid;gap:2px;justify-items:center;text-align:center;padding-top:20px}.receipt__rule{display:block;width:100%;border-top:1px solid var(--neutral-400);margin-bottom:6px}.receipt__signature b{color:var(--navy-900);font-size:.75rem}.receipt__signature small,.receipt__verify small{color:var(--neutral-600);font-size:.6875rem}.receipt__verify{display:flex;align-items:flex-start;gap:10px}.receipt__verify span{display:grid;gap:1px;min-width:0}.receipt__verify b{color:var(--navy-900);font-size:.75rem}.receipt__verify-mark{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:var(--radius-control);background:var(--neutral-100);color:var(--school-secondary, var(--navy-900))}.receipt__verify-mark svg{width:18px;height:18px}.receipt__verify small b{font-size:inherit}.receipt__reprint{margin:0;padding:7px 12px;border:1px dashed var(--neutral-300);border-radius:var(--radius-control);color:var(--neutral-700);font-size:.6875rem}.receipt__reprint b{color:var(--navy-900)}.receipt__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--neutral-200);color:var(--neutral-600);font-size:.6875rem}.receipt__foot a{color:var(--school-primary, var(--teal-700));font-weight:var(--weight-semibold)}.receipt--preview{padding:14px;gap:10px;font-size:.8125rem}.receipt--preview .receipt__title h2{font-size:1.0625rem}.receipt--preview .receipt__banner,.receipt--preview .receipt__body{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.receipt--preview .receipt__meta{justify-content:space-between}@container (max-width: 560px){.receipt__body,.receipt__footnotes{grid-template-columns:minmax(0,1fr)}}.receipt-print-root{display:none}@page{size:A4 portrait;margin:12mm}@media print{body:has(>.receipt-print-root)>*:not(.receipt-print-root){display:none!important}body:has(>.receipt-print-root){margin:0;background:#fff!important}.receipt-print-root{display:block!important}.receipt-print-root .receipt{gap:12px;padding:0;border:0;border-radius:0;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}.receipt-print-root .receipt__head,.receipt-print-root .receipt__banner,.receipt-print-root .receipt__reprint,.receipt-print-root .receipt__student,.receipt-print-root .receipt__body,.receipt-print-root .receipt__payment,.receipt-print-root .receipt__footnotes,.receipt-print-root .receipt__foot{break-inside:avoid;page-break-inside:avoid}.receipt-print-root a{color:inherit;text-decoration:none}}.finance-direction{font-size:var(--text-caption);font-weight:var(--weight-semibold);white-space:nowrap}.finance-direction--credit{color:color-mix(in srgb,var(--success) 76%,#000000)}.finance-direction--debit{color:var(--neutral-700)}.finance-variance.is-clear{color:color-mix(in srgb,var(--success) 76%,#000000)}.finance-variance.is-open{color:var(--danger-text);font-weight:var(--weight-semibold)}.finance-aging{display:inline-flex;padding:2px 8px;border-radius:var(--radius-full);background:var(--neutral-100);color:var(--neutral-700);font-size:var(--text-caption);font-weight:var(--weight-medium);white-space:nowrap}.finance-evidence{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-caption);font-weight:var(--weight-semibold);white-space:nowrap}.finance-evidence svg{width:14px;height:14px;flex:none}.finance-evidence.is-present{color:var(--teal-700)}.finance-evidence.is-missing{color:var(--danger-text)}.finance-row-actions{display:inline-flex;align-items:center;gap:2px}.finance-run-steps{padding:16px 20px}.finance-stepper{display:flex;margin:0;padding:0;list-style:none}.finance-stepper li{display:flex;align-items:center;gap:10px;flex:1 1 0;min-width:0;color:var(--neutral-600);font-size:var(--text-small)}.finance-stepper li:not(:last-child):after{content:"";flex:1 1 auto;height:2px;margin:0 12px;border-radius:var(--radius-full);background:var(--neutral-200)}.finance-stepper li.is-done:not(:last-child):after{background:var(--school-primary, var(--teal-600))}.finance-stepper__dot{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:var(--radius-full);background:var(--neutral-100);color:var(--neutral-700);font-weight:var(--weight-bold)}.finance-stepper__label{white-space:nowrap}.finance-stepper li.is-done .finance-stepper__dot,.finance-stepper li.is-current .finance-stepper__dot{background:var(--school-primary, var(--teal-600));color:var(--school-primary-ink, var(--neutral-0))}.finance-stepper li.is-current{color:var(--navy-900);font-weight:var(--weight-semibold)}.finance-stepper li.is-current .finance-stepper__dot{box-shadow:0 0 0 4px color-mix(in srgb,var(--school-primary, var(--teal-600)) 22%,transparent)}.finance-payslip{display:grid;gap:12px}.finance-payslip__head{display:grid;gap:2px;padding-bottom:12px;border-bottom:1px dashed var(--neutral-300)}.finance-payslip__head b{color:var(--navy-900);font-family:var(--font-heading);font-size:var(--text-body)}.finance-payslip__head small{color:var(--neutral-600);font-size:var(--text-caption)}.finance-payslip__lines{display:grid;gap:6px;margin:0}.finance-payslip__lines>div{display:flex;justify-content:space-between;gap:12px;font-size:var(--text-small)}.finance-payslip__lines dt{color:var(--neutral-700)}.finance-payslip__lines dd{margin:0;color:var(--navy-900);font-variant-numeric:tabular-nums;white-space:nowrap}.finance-payslip__lines .is-subtotal{padding-top:6px;border-top:1px solid var(--neutral-200);font-weight:var(--weight-semibold)}.finance-payslip__net{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:var(--radius-control);background:color-mix(in srgb,var(--school-primary, var(--teal-600)) 9%,var(--neutral-0));color:var(--navy-900);font-weight:var(--weight-semibold)}.finance-payslip__net b{font-size:var(--text-h4)}@media(max-width:860px){.finance-stepper{overflow-x:auto;padding-bottom:4px}.finance-stepper li{flex:0 0 auto}.finance-stepper li:not(:last-child):after{width:28px}}.app-shell[data-portal=accountant] .finance-table th{white-space:nowrap}.app-shell[data-portal=accountant] .finance-table .finance-reference{white-space:nowrap;overflow-wrap:normal}.app-shell[data-portal=accountant] .finance-rail-module .section-head{flex-wrap:wrap;row-gap:10px}.app-shell[data-portal=accountant] .finance-rail-module .section-head h2{white-space:nowrap}@media(pointer:fine){.app-shell[data-portal=accountant] .finance-rail-module .section-head .button{min-height:36px;padding:6px 12px;font-size:var(--text-small)}}@media(min-width:1181px){.app-shell[data-portal=accountant] .finance-workspace--wide-register{grid-template-columns:minmax(0,3fr) minmax(320px,1fr)}}.finance-notices{display:flex;flex-wrap:wrap;gap:6px 8px;margin-top:-6px}.finance-notice{display:flex;align-items:flex-start;gap:7px;max-width:100%;margin:0;padding:5px 11px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--neutral-200) 55%,var(--neutral-0));color:var(--neutral-700);font-size:var(--text-caption);line-height:1.45}.finance-notice svg{width:14px;height:14px;flex:none;margin-top:1px;color:var(--neutral-600)}.finance-notice b{color:var(--navy-900);font-weight:var(--weight-semibold)}.finance-notice--control{background:color-mix(in srgb,var(--school-primary, #2563eb) 8%,var(--neutral-0))}.finance-notice--control svg{color:var(--school-primary, #2563eb)}.finance-notice--warning{background:var(--status-due-today-bg, #fffaeb)}.finance-notice--warning svg{color:var(--status-due-today-text, #b54708)}.app-shell[data-portal=accountant] main .alert{gap:10px;align-items:flex-start;padding:9px 14px}.app-shell[data-portal=accountant] main .alert svg{width:16px;height:16px;margin-top:2px}.app-shell[data-portal=accountant] main .alert strong{display:inline;margin-right:6px;font-size:var(--text-small)}.app-shell[data-portal=accountant] main .alert p{display:inline;margin:0;font-size:var(--text-small)}.finance-dash{display:grid;gap:16px}.finance-dash__analytics{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:16px;align-items:stretch}.finance-dash__modules{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;align-items:stretch}.finance-dash__foot{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:16px;align-items:start}.finance-dash__col{display:grid;gap:16px;align-content:start;min-width:0}.finance-dash__analytics>*,.finance-dash__modules>*{min-width:0}.finance-dash .finance-dash__trend .chart-card{margin-top:6px;padding:0;border:0;background:transparent;box-shadow:none}.finance-dash .finance-dash__trend .chart-card .section-head h2{font-size:var(--text-body)}.finance-dash .finance-dash__trend .chart-plot{height:220px;min-height:220px}.finance-dash__note{margin:10px 0 0;color:var(--neutral-600);font-size:var(--text-caption);line-height:1.5}.finance-donut__footnote{margin:12px 0 0;padding:8px 10px;border-radius:var(--radius-control);background:var(--status-due-today-bg, #fffaeb);color:var(--neutral-700);font-size:var(--text-caption)}.finance-donut__footnote b{color:var(--navy-900)}.finance-report-split{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:16px;align-items:start}.finance-report-split>*{min-width:0}@media(max-width:1180px){.finance-dash__analytics,.finance-dash__foot,.finance-report-split{grid-template-columns:minmax(0,1fr)}}.app-shell[data-portal=accountant] .account-menu .media-avatar>span{display:grid;place-items:center;width:100%;height:100%;border-radius:inherit;background:var(--school-primary, var(--teal-600));color:var(--school-primary-ink, var(--neutral-0));font-weight:var(--weight-bold);font-size:.8125rem;letter-spacing:.02em}.app-shell[data-portal=accountant] .finance-table .finance-cell-stack{min-width:150px}.app-shell[data-portal=accountant] .finance-table .finance-person{min-width:170px}.app-shell[data-portal=accountant] .finance-table .finance-reason-cell{min-width:220px;max-width:300px}.app-shell[data-portal=accountant] .finance-table .finance-reason-cell b{font-weight:var(--weight-regular)}@media(max-width:1180px){.finance-summary-board{grid-auto-rows:auto}}.receipt__ref{white-space:nowrap;overflow-wrap:normal}.receipt__lines th.finance-table__money,.receipt__lines td.finance-table__money{text-align:right;font-variant-numeric:tabular-nums}.receipt__notes ol{list-style:decimal}@container (min-width: 600px){.receipt--full .receipt__payment{grid-template-columns:minmax(0,1fr) minmax(0,1.45fr) minmax(0,1fr) minmax(0,1fr)}.receipt--full .receipt__footnotes{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,1.35fr)}}.app-shell[data-portal=school-owner]{--owner-header-height: 76px;--shell-gutter: 20px;--owner-canvas: #f3f6fb;--owner-ink: #0b1b3f;--owner-ink-2: #34425c;--owner-muted: #64748b;--owner-line: #e1e7f0;--owner-line-soft: #eef2f8;--owner-radius: 10px;--owner-shadow: 0 1px 2px rgb(8 18 38 / .05);--owner-blue: #2563eb;--owner-green: #10b981;--owner-violet: #7c3aed;--owner-orange: #f97316;--owner-rose: #e11d48;--owner-amber: #f59e0b;--owner-sky: #0284c7;background:var(--owner-canvas)}.app-shell[data-portal=school-owner] .school-logo__placeholder-icon{width:21px;height:21px;color:var(--edunux-text-soft);stroke-width:1.7}.app-shell[data-portal=school-owner] .owner-accent--blue{--owner-accent: var(--owner-blue);--owner-accent-soft: #e8efff;--owner-accent-ink: #1d4ed8}.app-shell[data-portal=school-owner] .owner-accent--green{--owner-accent: var(--owner-green);--owner-accent-soft: #e2f7ef;--owner-accent-ink: #047857}.app-shell[data-portal=school-owner] .owner-accent--violet{--owner-accent: var(--owner-violet);--owner-accent-soft: #efe8fe;--owner-accent-ink: #6d28d9}.app-shell[data-portal=school-owner] .owner-accent--orange{--owner-accent: var(--owner-orange);--owner-accent-soft: #ffefe2;--owner-accent-ink: #c2410c}.app-shell[data-portal=school-owner] .owner-accent--rose{--owner-accent: var(--owner-rose);--owner-accent-soft: #fde8ed;--owner-accent-ink: #be123c}.app-shell[data-portal=school-owner] .owner-accent--amber{--owner-accent: var(--owner-amber);--owner-accent-soft: #fef1d6;--owner-accent-ink: #b45309}.app-shell[data-portal=school-owner] .owner-accent--sky{--owner-accent: var(--owner-sky);--owner-accent-soft: #e2f2fb;--owner-accent-ink: #0369a1}.app-shell[data-portal=school-owner] .owner-tone--danger{--owner-tone: var(--danger);--owner-tone-soft: #fdeeee;--owner-tone-line: #f8d2d2;--owner-tone-ink: #b91c1c}.app-shell[data-portal=school-owner] .owner-tone--warning{--owner-tone: var(--warning);--owner-tone-soft: #fef6e4;--owner-tone-line: #f9e2ad;--owner-tone-ink: #92400e}.app-shell[data-portal=school-owner] .owner-tone--info{--owner-tone: var(--info);--owner-tone-soft: #e8f5fd;--owner-tone-line: #c6e7f8;--owner-tone-ink: #075985}.app-shell[data-portal=school-owner] .owner-tone--success{--owner-tone: var(--success);--owner-tone-soft: #e6f6f0;--owner-tone-line: #c3e9da;--owner-tone-ink: #065f46}.app-shell[data-portal=school-owner]{--portal-header-height: var(--owner-header-height)}.app-shell[data-portal=school-owner] .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"greeting actions";align-items:center;column-gap:20px;box-sizing:border-box;height:auto;min-height:var(--owner-header-height);padding:10px 24px;border-bottom:1px solid var(--owner-line);background:#fff;box-shadow:none}.app-shell[data-portal=school-owner] .topbar>.icon-button:first-child{grid-area:menu;color:var(--owner-ink)}.app-shell[data-portal=school-owner] .owner-topbar__greeting{display:grid;grid-area:greeting;gap:4px;min-width:0}.app-shell[data-portal=school-owner] .owner-topbar__hello{margin:0;color:var(--owner-ink);font-family:var(--font-heading);font-size:1.75rem;font-weight:700;letter-spacing:-.015em;line-height:1.15;white-space:normal}.app-shell[data-portal=school-owner] .owner-topbar__slogan{margin:0;overflow:hidden;color:color-mix(in srgb,var(--school-primary, var(--owner-blue)) 72%,var(--owner-ink));font-size:1rem;font-weight:500;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.app-shell[data-portal=school-owner] .top-actions{display:flex;grid-area:actions;align-items:center;justify-content:flex-end;gap:14px;margin:0}.app-shell[data-portal=school-owner] .owner-topbar__context{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}.app-shell[data-portal=school-owner] .owner-topbar__search{display:flex;align-items:center;gap:10px;box-sizing:border-box;width:clamp(220px,21vw,320px);height:42px;padding:0 8px 0 14px;border:1px solid var(--owner-line);border-radius:8px;background:#fff;color:var(--owner-muted);transition:border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.app-shell[data-portal=school-owner] .owner-topbar__search:hover{border-color:#cfd8e6}.app-shell[data-portal=school-owner] .owner-topbar__search:focus-within{border-color:var(--school-primary, var(--owner-blue));box-shadow:0 0 0 3px var(--school-primary-soft, #e8efff)}.app-shell[data-portal=school-owner] .owner-topbar__search>svg{width:18px;height:18px;flex:none}.app-shell[data-portal=school-owner] .owner-topbar__search input{flex:1;min-width:0;border:0;background:transparent;color:var(--owner-ink);font-family:var(--font-sans);font-size:.875rem}.app-shell[data-portal=school-owner] .owner-topbar__search input:focus{outline:none}.app-shell[data-portal=school-owner] .owner-topbar__search input::placeholder{color:var(--owner-muted)}.app-shell[data-portal=school-owner] .owner-topbar__search input::-webkit-search-cancel-button{appearance:none}.app-shell[data-portal=school-owner] .owner-topbar__shortcut{flex:none;padding:2px 6px;border:1px solid var(--owner-line);border-radius:6px;background:#f6f8fc;color:var(--owner-ink-2);font-family:var(--font-sans);font-size:.6875rem;font-weight:600;line-height:1.4;white-space:nowrap}.app-shell[data-portal=school-owner] .owner-sync{position:relative;display:flex;flex:none;align-items:center;gap:10px;box-sizing:border-box;height:44px;margin:0;padding:0 14px 0 12px;border:1px solid var(--owner-tone-line, #c3e9da);border-radius:8px;background:#ecf8f3}.app-shell[data-portal=school-owner] .owner-sync>svg{width:20px;height:20px;flex:none;color:var(--success)}.app-shell[data-portal=school-owner] .owner-sync__copy{display:grid;line-height:1.2}.app-shell[data-portal=school-owner] .owner-sync__copy b{color:#064e3b;font-size:.8125rem;font-weight:600;white-space:nowrap}.app-shell[data-portal=school-owner] .owner-sync__copy small{color:#047857;font-size:.6875rem;white-space:nowrap}.app-shell[data-portal=school-owner] .owner-sync__count{display:none}.app-shell[data-portal=school-owner] .top-actions .icon-button{color:var(--owner-ink)}.app-shell[data-portal=school-owner] .top-actions .icon-button svg{width:22px;height:22px}.app-shell[data-portal=school-owner] .account-menu--topbar .account-trigger{width:auto;gap:10px;padding:4px 6px 4px 4px;border-radius:999px;background:transparent;transition:background-color var(--motion-fast) ease}.app-shell[data-portal=school-owner] .account-menu--topbar .account-trigger:hover{background:#f1f4f9}.app-shell[data-portal=school-owner] .top-actions .account-copy{display:grid;gap:1px;text-align:left}.app-shell[data-portal=school-owner] .top-actions .account-copy b{color:var(--owner-ink);font-size:.9375rem;font-weight:700;line-height:1.25;white-space:nowrap}.app-shell[data-portal=school-owner] .top-actions .account-copy small{color:var(--owner-muted);font-size:.8125rem;line-height:1.25;white-space:nowrap}.app-shell[data-portal=school-owner] .top-actions .account-trigger>svg{width:18px;height:18px;color:var(--owner-ink-2);rotate:180deg}.app-shell[data-portal=school-owner] .account-menu--topbar .media-avatar{width:44px;height:44px}.app-shell[data-portal=school-owner] .account-menu .media-avatar>span{display:grid;place-items:center;width:100%;height:100%;border-radius:inherit;background:var(--school-primary, var(--owner-blue));color:var(--school-primary-ink, #ffffff);font-size:.875rem;font-weight:700;letter-spacing:.02em}.app-shell[data-portal=school-owner] .account-popover__upcoming{color:var(--owner-muted)}.app-shell[data-portal=school-owner] .account-popover__soon{margin-left:auto;padding:1px 8px;border-radius:999px;background:#eef2f8;color:var(--owner-ink-2);font-size:.6875rem;font-weight:600;white-space:nowrap}.app-shell[data-portal=school-owner] .owner-select{position:relative;display:inline-flex;align-items:center;min-width:0}.app-shell[data-portal=school-owner] .owner-select>svg:first-child{position:absolute;left:12px;width:18px;height:18px;color:var(--owner-ink-2);pointer-events:none}.app-shell[data-portal=school-owner] .owner-select__chevron{position:absolute;right:10px;width:16px;height:16px;color:var(--owner-ink-2);pointer-events:none}.app-shell[data-portal=school-owner] .owner-select select{box-sizing:border-box;width:100%;min-width:0;height:40px;padding:0 34px 0 40px;border:1px solid var(--owner-line);border-radius:8px;background:#fff;color:var(--owner-ink);font-family:var(--font-sans);font-size:.875rem;font-weight:600;text-overflow:ellipsis;appearance:none;cursor:pointer}.app-shell[data-portal=school-owner] .owner-select select:hover{border-color:#cfd8e6}.app-shell[data-portal=school-owner] .owner-select select:focus-visible{outline:2px solid var(--school-primary, var(--owner-blue));outline-offset:1px}.app-shell[data-portal=school-owner] .portal-footer{max-width:none;margin:0;padding:16px 24px;border-top:1px solid var(--owner-line);background:#fff;color:var(--owner-muted)}.app-shell[data-portal=school-owner] main:has(.owner-dashboard-page){max-width:none;margin:0;padding:16px 20px 24px}.app-shell[data-portal=school-owner] .owner-dashboard-page{display:grid;gap:14px;container:owner-dashboard / inline-size}.app-shell[data-portal=school-owner] .owner-dashboard-page>.page-heading{align-items:flex-start;margin-top:0}.app-shell[data-portal=school-owner] .owner-dashboard-page>.page-heading>div:first-child{min-width:0}.app-shell[data-portal=school-owner] .owner-academic-context{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.app-shell[data-portal=school-owner] .owner-context-pill,.app-shell[data-portal=school-owner] .owner-academic-context__status{display:inline-flex;align-items:center;gap:8px;min-height:42px;box-sizing:border-box;margin:0;padding:0 12px;border:1px solid var(--owner-line);border-radius:8px;background:#fff;color:var(--owner-ink-2);font-size:.8125rem;font-weight:600;white-space:nowrap}.app-shell[data-portal=school-owner] .owner-context-pill svg{width:17px;height:17px;color:var(--school-primary, var(--owner-blue))}.app-shell[data-portal=school-owner] .owner-academic-context__status button{min-height:32px;border:0;background:transparent;color:var(--school-primary, var(--owner-blue));font:inherit;cursor:pointer}.app-shell[data-portal=school-owner] .owner-dashboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"hero      hero      hero      brief" "kpis      kpis      kpis      kpis" "analytics analytics analytics quick" "status    status    status    quick" "feed      feed      feed      feed";gap:14px}.app-shell[data-portal=school-owner] .owner-hero{grid-area:hero}.app-shell[data-portal=school-owner] .owner-brief{grid-area:brief}.app-shell[data-portal=school-owner] .owner-kpis{grid-area:kpis}.app-shell[data-portal=school-owner] .owner-analytics{grid-area:analytics}.app-shell[data-portal=school-owner] .owner-quick{grid-area:quick}.app-shell[data-portal=school-owner] .owner-statuses{grid-area:status}.app-shell[data-portal=school-owner] .owner-feed-grid{grid-area:feed}.app-shell[data-portal=school-owner] .owner-kpis,.app-shell[data-portal=school-owner] .owner-statuses{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.app-shell[data-portal=school-owner] .owner-analytics{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:14px}.app-shell[data-portal=school-owner] .owner-feed-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.05fr);gap:14px}.app-shell[data-portal=school-owner] :is(.owner-panel,.owner-kpi,.owner-status){box-sizing:border-box;min-width:0;border:1px solid var(--owner-line);border-radius:var(--owner-radius);background:#fff;box-shadow:var(--owner-shadow)}.app-shell[data-portal=school-owner] .owner-panel{display:flex;flex-direction:column;padding:14px 16px 12px}.app-shell[data-portal=school-owner] .owner-panel__head{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.app-shell[data-portal=school-owner] .owner-panel__icon{display:grid;flex:none;place-items:center;width:22px;height:22px;color:var(--school-primary, var(--owner-blue))}.app-shell[data-portal=school-owner] .owner-panel__icon svg{width:20px;height:20px}.app-shell[data-portal=school-owner] .owner-panel__titles{flex:1;min-width:0}.app-shell[data-portal=school-owner] .owner-panel__titles h2{margin:0;color:var(--owner-ink);font-family:var(--font-heading);font-size:1.0625rem;font-weight:700;line-height:1.3}.app-shell[data-portal=school-owner] .owner-panel__titles p{margin:2px 0 0;color:var(--owner-muted);font-size:.75rem;line-height:1.35}.app-shell[data-portal=school-owner] .owner-panel__view-all{flex:none;padding:2px 0;color:color-mix(in srgb,var(--school-primary, var(--owner-blue)) 80%,var(--owner-ink));font-size:.8125rem;font-weight:600;text-decoration:none}.app-shell[data-portal=school-owner] .owner-panel__view-all:hover{text-decoration:underline;text-underline-offset:2px}.app-shell[data-portal=school-owner] .owner-panel-select{position:relative;display:inline-flex;flex:none;align-items:center}.app-shell[data-portal=school-owner] .owner-panel-select select{height:32px;padding:0 30px 0 12px;border:1px solid var(--owner-line);border-radius:8px;background:#fff;color:var(--owner-ink);font-family:var(--font-sans);font-size:.75rem;font-weight:600;appearance:none;cursor:pointer}.app-shell[data-portal=school-owner] .owner-panel-select select:focus-visible{outline:2px solid var(--school-primary, var(--owner-blue));outline-offset:1px}.app-shell[data-portal=school-owner] .owner-panel-select svg{position:absolute;right:9px;width:14px;height:14px;color:var(--owner-ink-2);pointer-events:none}.app-shell[data-portal=school-owner] :is(.owner-shortcut,.owner-brief__row,.owner-action,.owner-alert,.owner-panel__view-all):focus-visible{outline:2px solid var(--school-primary, var(--owner-blue));outline-offset:2px}.app-shell[data-portal=school-owner] .owner-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:12px;box-sizing:border-box;min-height:196px;padding:22px 0 22px 26px;overflow:hidden;border:1px solid color-mix(in srgb,var(--school-primary, var(--owner-blue)) 14%,#ffffff);border-radius:var(--owner-radius);background:color-mix(in srgb,var(--school-primary, var(--owner-blue)) 7%,#ffffff);container:owner-hero / inline-size}.app-shell[data-portal=school-owner] .owner-hero__copy{position:relative;z-index:1;display:grid;align-content:center;gap:6px;min-width:0}.app-shell[data-portal=school-owner] .owner-hero h2{margin:0;color:var(--owner-ink);font-family:var(--font-heading);font-size:1.875rem;font-weight:700;letter-spacing:-.015em;line-height:1.15;text-wrap:balance}.app-shell[data-portal=school-owner] .owner-hero__lead{margin:0 0 12px;color:var(--owner-ink-2);font-size:.9375rem;line-height:1.45}.app-shell[data-portal=school-owner] .owner-hero__shortcuts{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}.app-shell[data-portal=school-owner] .owner-shortcut{display:flex;align-items:center;gap:10px;box-sizing:border-box;min-height:56px;padding:8px 14px 8px 8px;border:1px solid rgb(255 255 255 / .9);border-radius:12px;background:#ffffffd6;box-shadow:0 6px 16px -12px #0f172a66;color:var(--owner-ink);font-size:.8125rem;font-weight:600;line-height:1.25;text-decoration:none;transition:background-color var(--motion-fast) ease,border-color var(--motion-fast) ease}.app-shell[data-portal=school-owner] .owner-shortcut:hover{border-color:color-mix(in srgb,var(--owner-accent) 35%,#ffffff);background:#fff}.app-shell[data-portal=school-owner] .owner-shortcut__icon{display:grid;flex:none;place-items:center;width:38px;height:38px;border-radius:999px;background:var(--owner-accent);color:#fff}.app-shell[data-portal=school-owner] .owner-shortcut__icon svg{width:19px;height:19px}.app-shell[data-portal=school-owner] .owner-shortcut__label>span{display:block;white-space:nowrap}.app-shell[data-portal=school-owner] .owner-hero__art{display:flex;align-items:flex-end;gap:4px;margin:-22px 0;padding-right:22px}.app-shell[data-portal=school-owner] .owner-hero__image{display:block;flex:none;width:auto;height:216px;max-width:none}.app-shell[data-portal=school-owner] .owner-hero__motto{display:grid;align-self:center;margin:0 0 0 4px;padding-bottom:10px;color:var(--owner-ink);font-family:var(--font-heading);font-size:1.125rem;font-style:italic;font-weight:600;line-height:1.28;rotate:-8deg;white-space:nowrap}.app-shell[data-portal=school-owner] .owner-hero__motto:after{content:"";display:block;width:64%;height:3px;margin-top:8px;border-radius:999px;background:var(--school-accent, var(--owner-green))}@container owner-hero (max-width: 940px){.app-shell[data-portal=school-owner] .owner-hero__motto{display:none}}@container owner-hero (max-width: 760px){.app-shell[data-portal=school-owner] .owner-hero__image{height:180px}}@container owner-hero (max-width: 600px){.app-shell[data-portal=school-owner] .owner-hero{padding-right:20px}.app-shell[data-portal=school-owner] .owner-hero__art{display:none}.app-shell[data-portal=school-owner] .owner-hero h2{font-size:1.5rem}.app-shell[data-portal=school-owner] .owner-hero__shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell[data-portal=school-owner] .owner-shortcut__label>span{white-space:normal}}.app-shell[data-portal=school-owner] .owner-brief__list{display:grid;margin:0;padding:0;list-style:none}.app-shell[data-portal=school-owner] .owner-brief__list>li+li{border-top:1px solid var(--owner-line-soft)}.app-shell[data-portal=school-owner] .owner-brief__row{display:grid;grid-template-columns:auto minmax(0,1fr) auto 16px;align-items:center;gap:10px;min-height:40px;padding:3px 6px;border-radius:8px;color:var(--owner-ink-2);font-size:.8125rem;font-weight:500;text-decoration:none}.app-shell[data-portal=school-owner] a.owner-brief__row:hover{background:#f5f8fd}.app-shell[data-portal=school-owner] .owner-brief__icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--owner-accent-soft);color:var(--owner-accent-ink)}.app-shell[data-portal=school-owner] .owner-brief__icon svg{width:16px;height:16px}.app-shell[data-portal=school-owner] .owner-brief__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell[data-portal=school-owner] .owner-count{min-width:30px;box-sizing:border-box;padding:2px 8px;border-radius:999px;background:var(--owner-accent-soft);color:var(--owner-accent-ink);font-size:.75rem;font-variant-numeric:tabular-nums;font-weight:700;text-align:center}.app-shell[data-portal=school-owner] .owner-brief__chevron{width:16px;height:16px;color:var(--owner-muted)}.app-shell[data-portal=school-owner] .owner-kpi{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;container-type:inline-size}.app-shell[data-portal=school-owner] .owner-kpi__icon{display:grid;place-items:center;width:58px;height:58px;border-radius:999px;background:var(--owner-accent-soft);color:var(--owner-accent)}.app-shell[data-portal=school-owner] .owner-kpi__icon svg{width:26px;height:26px}.app-shell[data-portal=school-owner] .owner-kpi__copy{min-width:0}.app-shell[data-portal=school-owner] .owner-kpi__label{margin:0;color:var(--owner-ink-2);font-size:.875rem;font-weight:500}.app-shell[data-portal=school-owner] .owner-kpi__value{margin:2px 0;color:var(--owner-ink);font-family:var(--font-heading);font-size:1.75rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.15}.app-shell[data-portal=school-owner] .owner-kpi__trend{display:flex;flex-wrap:nowrap;align-items:center;gap:4px;margin:0;color:var(--owner-muted);font-size:.75rem;line-height:1.35}.app-shell[data-portal=school-owner] .owner-kpi__trend svg{width:13px;height:13px;flex:none}.app-shell[data-portal=school-owner] .owner-kpi__trend--up svg,.app-shell[data-portal=school-owner] .owner-kpi__trend--up b{color:var(--success);font-weight:600}.app-shell[data-portal=school-owner] .owner-kpi__bars{display:flex;align-items:flex-end;align-self:end;gap:3px;height:42px}.app-shell[data-portal=school-owner] .owner-kpi__bars>span{width:7px;border-radius:2px 2px 0 0;background:var(--owner-accent)}.app-shell[data-portal=school-owner] .owner-kpi__bars>span:nth-child(1){opacity:.3}.app-shell[data-portal=school-owner] .owner-kpi__bars>span:nth-child(2){opacity:.5}.app-shell[data-portal=school-owner] .owner-kpi__bars>span:nth-child(3){opacity:.72}@container (max-width: 270px){.app-shell[data-portal=school-owner] .owner-kpi__icon{width:46px;height:46px}.app-shell[data-portal=school-owner] .owner-kpi__icon svg{width:22px;height:22px}.app-shell[data-portal=school-owner] .owner-kpi__bars{display:none}}@container (max-width: 200px){.app-shell[data-portal=school-owner] .owner-kpi__icon{width:40px;height:40px}.app-shell[data-portal=school-owner] .owner-kpi__value{font-size:1.375rem}}.app-shell[data-portal=school-owner] .owner-chart__legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 16px;margin:-2px 0 4px;padding:0;color:var(--owner-ink-2);font-size:.75rem;list-style:none}.app-shell[data-portal=school-owner] .owner-chart__legend li{display:flex;align-items:center;gap:6px}.app-shell[data-portal=school-owner] .owner-chart__legend i{width:10px;height:10px;border-radius:999px;background:var(--owner-accent)}.app-shell[data-portal=school-owner] .owner-chart__plot,.app-shell[data-portal=school-owner] .owner-chart__loading{height:196px}.app-shell[data-portal=school-owner] .owner-donut-panel{container-type:inline-size}.app-shell[data-portal=school-owner] .owner-donut{display:flex;flex:1;align-items:center;gap:20px}.app-shell[data-portal=school-owner] .owner-donut__ring{position:relative;flex:none;width:172px;max-width:100%;aspect-ratio:1}.app-shell[data-portal=school-owner] .owner-donut__ring svg{display:block;width:100%;height:100%}.app-shell[data-portal=school-owner] .owner-donut__seg{stroke:var(--owner-accent);transition:opacity var(--motion-fast) ease}.app-shell[data-portal=school-owner] .owner-donut__total{position:absolute;inset:0;display:grid;place-content:center;margin:0;text-align:center}.app-shell[data-portal=school-owner] .owner-donut__total b{color:var(--owner-ink);font-family:var(--font-heading);font-size:1.5rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.1}.app-shell[data-portal=school-owner] .owner-donut__total span{color:var(--owner-ink-2);font-size:.8125rem}.app-shell[data-portal=school-owner] .owner-donut__legend{display:grid;flex:1;gap:11px;min-width:0;margin:0;padding:0;list-style:none}.app-shell[data-portal=school-owner] .owner-donut__legend li{display:grid;grid-template-columns:12px minmax(0,1fr) auto auto;align-items:center;gap:8px;color:var(--owner-ink-2);font-size:.8125rem;transition:opacity var(--motion-fast) ease}.app-shell[data-portal=school-owner] .owner-donut__swatch{width:12px;height:12px;border-radius:999px;background:var(--owner-accent)}.app-shell[data-portal=school-owner] .owner-donut__legend b{color:var(--owner-ink);font-variant-numeric:tabular-nums;font-weight:700;text-align:right}.app-shell[data-portal=school-owner] .owner-donut__share{min-width:52px;color:var(--owner-muted);font-variant-numeric:tabular-nums;text-align:right}.app-shell[data-portal=school-owner] .is-dimmed{opacity:.28}@container (max-width: 400px){.app-shell[data-portal=school-owner] .owner-donut{flex-direction:column;align-items:stretch}.app-shell[data-portal=school-owner] .owner-donut__ring{align-self:center}}.app-shell[data-portal=school-owner] .owner-actions{display:grid;gap:8px;margin:0;padding:0;list-style:none}.app-shell[data-portal=school-owner] .owner-action{display:flex;align-items:center;gap:12px;box-sizing:border-box;min-height:46px;padding:5px 10px 5px 5px;border:1px solid var(--owner-line);border-radius:10px;background:#fff;color:var(--owner-ink);font-size:.875rem;font-weight:600;line-height:1.3;text-decoration:none;transition:background-color var(--motion-fast) ease,border-color var(--motion-fast) ease}.app-shell[data-portal=school-owner] .owner-action:hover{border-color:color-mix(in srgb,var(--owner-accent) 40%,var(--owner-line));background:var(--owner-accent-soft)}.app-shell[data-portal=school-owner] .owner-action__icon{display:grid;flex:none;place-items:center;width:34px;height:34px;border-radius:8px;background:var(--owner-accent);color:#fff}.app-shell[data-portal=school-owner] .owner-action__icon svg{width:18px;height:18px}.app-shell[data-portal=school-owner] .owner-action__label{flex:1;min-width:0}.app-shell[data-portal=school-owner] .owner-action__chevron{width:16px;height:16px;flex:none;color:var(--owner-muted)}.app-shell[data-portal=school-owner] .owner-status{display:flex;align-items:center;gap:12px;padding:14px;container-type:inline-size}.app-shell[data-portal=school-owner] .owner-status__icon{display:grid;flex:none;place-items:center;width:48px;height:48px;border-radius:999px;background:var(--owner-tone-soft);color:var(--owner-tone-ink)}.app-shell[data-portal=school-owner] .owner-status__icon svg{width:22px;height:22px}.app-shell[data-portal=school-owner] .owner-status__copy{min-width:0}.app-shell[data-portal=school-owner] .owner-status__label{margin:0;color:var(--owner-ink-2);font-size:.8125rem;font-weight:500}.app-shell[data-portal=school-owner] .owner-status__value{margin:2px 0;color:var(--owner-ink);font-family:var(--font-heading);font-size:1.25rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.2;overflow-wrap:anywhere}.app-shell[data-portal=school-owner] .owner-status__value--text{color:var(--owner-tone-ink);font-family:var(--font-sans);font-size:.8125rem;font-weight:600;line-height:1.3}.app-shell[data-portal=school-owner] .owner-status__detail{margin:0;color:var(--owner-muted);font-size:.75rem}@container (max-width: 250px){.app-shell[data-portal=school-owner] .owner-status__icon{width:40px;height:40px}.app-shell[data-portal=school-owner] .owner-status__icon svg{width:19px;height:19px}.app-shell[data-portal=school-owner] .owner-status__value{font-size:1.0625rem}}.app-shell[data-portal=school-owner] :is(.owner-feed,.owner-tasks,.owner-alerts){margin:0;padding:0;list-style:none}.app-shell[data-portal=school-owner] .owner-feed>li+li,.app-shell[data-portal=school-owner] .owner-tasks>li+li{border-top:1px solid var(--owner-line-soft)}.app-shell[data-portal=school-owner] .owner-feed__row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 0}.app-shell[data-portal=school-owner] .owner-feed__icon{display:grid;place-items:center;width:32px;height:32px;border-radius:999px;background:var(--owner-accent-soft);color:var(--owner-accent-ink)}.app-shell[data-portal=school-owner] .owner-feed__icon svg{width:16px;height:16px}.app-shell[data-portal=school-owner] :is(.owner-feed__copy,.owner-task__copy,.owner-alert__copy){display:grid;min-width:0}.app-shell[data-portal=school-owner] :is(.owner-feed__copy,.owner-task__copy) b{color:var(--owner-ink);font-size:.8125rem;font-weight:600;line-height:1.35}.app-shell[data-portal=school-owner] :is(.owner-feed__copy,.owner-task__copy)>span{overflow:hidden;color:var(--owner-muted);font-size:.75rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.app-shell[data-portal=school-owner] .owner-feed__time{color:var(--owner-muted);font-size:.75rem;font-variant-numeric:tabular-nums;white-space:nowrap}.app-shell[data-portal=school-owner] .owner-task{display:flex;align-items:center;gap:10px;padding:6px 0}.app-shell[data-portal=school-owner] .owner-task__label{display:flex;flex:1;align-items:center;gap:12px;min-width:0;cursor:pointer}.app-shell[data-portal=school-owner] .owner-task input{width:20px;height:20px;flex:none;margin:0;accent-color:var(--school-primary, var(--owner-blue));cursor:pointer}.app-shell[data-portal=school-owner] .owner-task.is-done .owner-task__copy b{color:var(--owner-muted);text-decoration:line-through}.app-shell[data-portal=school-owner] .owner-task__count{display:grid;flex:none;place-items:center;min-width:26px;height:24px;box-sizing:border-box;padding:0 8px;border-radius:6px;background:#fdecec;color:#b91c1c;font-size:.75rem;font-weight:700}.app-shell[data-portal=school-owner] .owner-alerts{display:grid;gap:8px}.app-shell[data-portal=school-owner] .owner-alert{display:grid;grid-template-columns:auto minmax(0,1fr) 16px;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--owner-tone-line);border-radius:10px;background:var(--owner-tone-soft);color:var(--owner-ink);text-decoration:none;transition:border-color var(--motion-fast) ease}.app-shell[data-portal=school-owner] a.owner-alert:hover{border-color:var(--owner-tone)}.app-shell[data-portal=school-owner] .owner-alert__icon{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:var(--owner-tone);color:#fff}.app-shell[data-portal=school-owner] .owner-tone--warning .owner-alert__icon{color:#422006}.app-shell[data-portal=school-owner] .owner-alert__icon svg{width:16px;height:16px}.app-shell[data-portal=school-owner] .owner-alert__copy b{color:var(--owner-tone-ink);font-size:.8125rem;font-weight:600;line-height:1.35}.app-shell[data-portal=school-owner] .owner-alert__copy>span:not(.sr-only){color:var(--owner-ink-2);font-size:.75rem;line-height:1.35}.app-shell[data-portal=school-owner] .owner-alert__chevron{width:16px;height:16px;color:var(--owner-tone-ink)}.app-shell[data-portal=school-owner] .owner-disclosure{display:flex;align-items:center;gap:8px;margin:0;color:var(--owner-muted);font-size:.75rem}.app-shell[data-portal=school-owner] .owner-disclosure svg{width:14px;height:14px;flex:none}.app-shell[data-portal=school-owner] .owner-disclosure b{color:var(--owner-ink-2);font-weight:600}@container owner-dashboard (max-width: 1099px){.app-shell[data-portal=school-owner] .owner-dashboard{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"hero      hero" "brief     quick" "kpis      kpis" "analytics analytics" "status    status" "feed      feed";align-items:start}.app-shell[data-portal=school-owner] .owner-hero,.app-shell[data-portal=school-owner] :is(.owner-kpis,.owner-analytics,.owner-statuses,.owner-feed-grid){align-self:stretch}.app-shell[data-portal=school-owner] .owner-feed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell[data-portal=school-owner] .owner-alerts-panel{grid-column:1 / -1}}@container owner-dashboard (max-width: 899px){.app-shell[data-portal=school-owner] .owner-kpis,.app-shell[data-portal=school-owner] .owner-statuses{grid-template-columns:repeat(2,minmax(0,1fr))}}@container owner-dashboard (max-width: 699px){.app-shell[data-portal=school-owner] .owner-dashboard{grid-template-columns:minmax(0,1fr);grid-template-areas:"hero" "brief" "kpis" "quick" "alerts" "tasks" "status" "enrol" "donut" "activity";gap:12px}.app-shell[data-portal=school-owner] :is(.owner-analytics,.owner-feed-grid){display:contents}.app-shell[data-portal=school-owner] .owner-enrol-panel{grid-area:enrol}.app-shell[data-portal=school-owner] .owner-donut-panel{grid-area:donut}.app-shell[data-portal=school-owner] .owner-activity-panel{grid-area:activity}.app-shell[data-portal=school-owner] .owner-tasks-panel{grid-area:tasks}.app-shell[data-portal=school-owner] .owner-alerts-panel{grid-area:alerts;grid-column:auto}.app-shell[data-portal=school-owner] .owner-kpis,.app-shell[data-portal=school-owner] .owner-statuses{gap:10px}.app-shell[data-portal=school-owner] .owner-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell[data-portal=school-owner] .owner-kpi{grid-template-columns:minmax(0,1fr);gap:8px;padding:14px}.app-shell[data-portal=school-owner] .owner-kpi__bars{display:none}.app-shell[data-portal=school-owner] .owner-status{flex-direction:column;align-items:flex-start;gap:8px}.app-shell[data-portal=school-owner] .owner-feed__copy>span{white-space:normal}.app-shell[data-portal=school-owner] .owner-chart__plot,.app-shell[data-portal=school-owner] .owner-chart__loading{height:180px}}@media(max-width:1439px){.app-shell[data-portal=school-owner] .owner-topbar__hello{font-size:1.5rem;white-space:normal}.app-shell[data-portal=school-owner] .owner-topbar__slogan{font-size:.9375rem;white-space:normal}}@media(max-width:1279px){.app-shell[data-portal=school-owner] .owner-topbar__hello{font-size:1.375rem;white-space:normal}.app-shell[data-portal=school-owner] .owner-sync{justify-content:center;width:44px;padding:0}.app-shell[data-portal=school-owner] .owner-sync__copy{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-shell[data-portal=school-owner] .owner-sync__count{position:absolute;top:-6px;right:-6px;display:grid;place-items:center;min-width:18px;height:18px;box-sizing:border-box;padding:0 4px;border:2px solid #ffffff;border-radius:999px;background:#047857;color:#fff;font-size:.625rem;font-weight:700}.app-shell[data-portal=school-owner] .top-actions .account-copy,.app-shell[data-portal=school-owner] .top-actions .account-trigger>svg{display:none}.app-shell[data-portal=school-owner] .account-menu--topbar .account-trigger{padding:2px}}@media(max-width:1023px){.app-shell[data-portal=school-owner] .workspace{padding-bottom:0}.app-shell[data-portal=school-owner]{--shell-gutter: 16px}.app-shell[data-portal=school-owner] .topbar{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"menu greeting actions";padding:10px 16px}.app-shell[data-portal=school-owner] .owner-topbar__hello{font-size:1.375rem;white-space:normal}.app-shell[data-portal=school-owner] .owner-topbar__search{width:clamp(180px,30vw,280px)}.app-shell[data-portal=school-owner] main:has(.owner-dashboard-page){padding:14px 16px 20px}}@media(max-width:767px){.app-shell[data-portal=school-owner][data-live=true] .topbar{grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"menu greeting bell account";align-items:center}.app-shell[data-portal=school-owner] .topbar{position:static;grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"menu   greeting greeting bell" "search search   sync     account";column-gap:8px;row-gap:10px;padding:10px 12px 12px}.app-shell[data-portal=school-owner] .top-actions{display:contents}.app-shell[data-portal=school-owner] .owner-topbar__search{grid-area:search;width:100%}.app-shell[data-portal=school-owner] .owner-sync{grid-area:sync}.app-shell[data-portal=school-owner] .notification-menu{grid-area:bell}.app-shell[data-portal=school-owner] .account-menu--topbar{grid-area:account}.app-shell[data-portal=school-owner] .owner-topbar__hello{font-size:1.125rem}.app-shell[data-portal=school-owner] .owner-topbar__slogan{font-size:.8125rem;white-space:normal}.app-shell[data-portal=school-owner] .owner-topbar__shortcut{display:none}.app-shell[data-portal=school-owner]{--shell-gutter: 12px}.app-shell[data-portal=school-owner] .owner-topbar__context{gap:8px}.app-shell[data-portal=school-owner] .owner-select{flex:1 1 100%}.app-shell[data-portal=school-owner] main:has(.owner-dashboard-page){padding:12px 12px 20px}.app-shell[data-portal=school-owner] .owner-dashboard-page>.page-heading{align-items:stretch}.app-shell[data-portal=school-owner] .owner-academic-context{justify-content:flex-start}.app-shell[data-portal=school-owner] .owner-context-pill{flex:1 1 100%;white-space:normal}.app-shell[data-portal=school-owner] .portal-footer{flex-direction:column;padding:16px 12px}}.app-shell[data-portal=school-owner] main:has(.owner-campuses-page){max-width:none;margin:0;padding:14px 20px 24px}.app-shell[data-portal=school-owner] .owner-campuses-page{display:grid;gap:14px;container:owner-campuses / inline-size}.app-shell[data-portal=school-owner] .owner-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;color:var(--owner-muted);font-size:.8125rem;list-style:none}.app-shell[data-portal=school-owner] .owner-breadcrumb li+li:before{content:"›";margin-right:6px;color:var(--owner-muted)}.app-shell[data-portal=school-owner] .owner-breadcrumb [aria-current=page]{color:var(--owner-ink);font-weight:600}.app-shell[data-portal=school-owner] .owner-page-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;margin-top:-6px}.app-shell[data-portal=school-owner] .owner-page-head h1{margin:0;color:var(--owner-ink);font-family:var(--font-heading);font-size:2rem;font-weight:700;letter-spacing:-.015em;line-height:1.15}.app-shell[data-portal=school-owner] .owner-page-head p{margin:4px 0 0;color:color-mix(in srgb,var(--school-primary, var(--owner-blue)) 72%,var(--owner-ink));font-size:.9375rem}.app-shell[data-portal=school-owner] .owner-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;box-sizing:border-box;min-height:38px;padding:0 12px;border:1px solid var(--owner-line);border-radius:10px;background:#fff;color:var(--owner-ink);font-family:var(--font-sans);font-size:.8125rem;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--motion-fast) ease,border-color var(--motion-fast) ease}.app-shell[data-portal=school-owner] .owner-button svg{width:16px;height:16px;flex:none}.app-shell[data-portal=school-owner] .owner-button:hover{border-color:#cfd8e6;background:#f7f9fc}.app-shell[data-portal=school-owner] .owner-button:focus-visible{outline:2px solid var(--school-primary, var(--owner-blue));outline-offset:2px}.app-shell[data-portal=school-owner] .owner-button--primary{min-height:46px;padding:0 18px;border-color:var(--school-primary, var(--owner-blue));background:var(--school-primary, var(--owner-blue));box-shadow:0 12px 22px -16px var(--school-primary, var(--owner-blue));color:var(--school-primary-ink, #ffffff);font-size:.9375rem}.app-shell[data-portal=school-owner] .owner-button--primary:hover{border-color:var(--school-primary-strong, #1e40af);background:var(--school-primary-strong, #1e40af)}.app-shell[data-portal=school-owner] .owner-button--small{min-height:30px;padding:0 12px;font-size:.75rem}.app-shell[data-portal=school-owner] .owner-button[aria-disabled=true]{background:#f6f8fb;color:var(--owner-muted);cursor:default}.app-shell[data-portal=school-owner] .owner-button.is-filtered{border-color:var(--school-primary, var(--owner-blue));color:color-mix(in srgb,var(--school-primary, var(--owner-blue)) 80%,var(--owner-ink))}.app-shell[data-portal=school-owner] .owner-button__count{display:grid;place-items:center;min-width:18px;height:18px;border-radius:999px;background:var(--school-primary, var(--owner-blue));color:var(--school-primary-ink, #ffffff);font-size:.625rem;font-weight:700}.app-shell[data-portal=school-owner] .owner-soon{flex:none;margin-left:auto;padding:1px 8px;border-radius:999px;background:#eef2f8;color:var(--owner-ink-2);font-size:.6875rem;font-weight:600;white-space:nowrap}.app-shell[data-portal=school-owner] .owner-menu{position:relative;display:flex;min-width:0}.app-shell[data-portal=school-owner] .owner-menu>.owner-button{width:100%}.app-shell[data-portal=school-owner] .owner-menu__chevron{margin-left:2px}.app-shell[data-portal=school-owner] .owner-menu__panel{top:calc(100% + 6px);right:0;width:240px;min-width:0;padding:6px}.app-shell[data-portal=school-owner] .owner-menu__panel button{display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:6px 10px;border:0;border-radius:8px;background:transparent;color:var(--owner-ink);font-family:var(--font-sans);font-size:.8125rem;font-weight:500;text-align:left;cursor:pointer}.app-shell[data-portal=school-owner] .owner-menu__panel button:hover,.app-shell[data-portal=school-owner] .owner-menu__panel button:focus-visible{background:#f1f5fb;outline:none}.app-shell[data-portal=school-owner] .owner-menu__panel button svg{width:16px;height:16px;flex:none;color:var(--owner-ink-2)}.app-shell[data-portal=school-owner] .owner-menu__panel button.is-unavailable{color:var(--owner-muted)}.app-shell[data-portal=school-owner] .owner-menu__panel [aria-checked=true]{font-weight:600}.app-shell[data-portal=school-owner] .owner-menu__check{margin-left:auto;color:var(--school-primary, var(--owner-blue))!important}.app-shell[data-portal=school-owner] .owner-campuses{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-rows:auto auto 1fr;grid-template-areas:"stats   side" "list    side" "summary side";align-items:start;gap:14px}.app-shell[data-portal=school-owner] .owner-campus-stats{display:grid;grid-area:stats;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.app-shell[data-portal=school-owner] .owner-campus-list{grid-area:list;container-type:inline-size}.app-shell[data-portal=school-owner] .owner-campus-summary{grid-area:summary;container-type:inline-size}.app-shell[data-portal=school-owner] .owner-campus-side{display:grid;grid-area:side;align-content:start;gap:14px}.app-shell[data-portal=school-owner] .owner-stat{display:flex;align-items:center;gap:14px;box-sizing:border-box;min-width:0;padding:16px;border:1px solid var(--owner-line);border-radius:var(--owner-radius);background:#fff;box-shadow:var(--owner-shadow)}.app-shell[data-portal=school-owner] .owner-stat__icon{display:grid;flex:none;place-items:center;width:56px;height:56px;border-radius:999px;background:var(--owner-accent-soft);color:var(--owner-accent)}.app-shell[data-portal=school-owner] .owner-stat__icon svg{width:26px;height:26px}.app-shell[data-portal=school-owner] .owner-stat__copy{min-width:0}.app-shell[data-portal=school-owner] .owner-stat__value{margin:0;color:var(--owner-ink);font-family:var(--font-heading);font-size:1.75rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.15}.app-shell[data-portal=school-owner] .owner-stat__label{margin:2px 0 0;color:var(--owner-ink-2);font-size:.875rem;font-weight:500}.app-shell[data-portal=school-owner] .owner-stat__detail{margin:2px 0 0;color:var(--owner-muted);font-size:.75rem}.app-shell[data-portal=school-owner] .owner-campus-list .owner-panel__head{flex-wrap:wrap;align-items:center}.app-shell[data-portal=school-owner] .owner-campus-tools{display:flex;flex-wrap:wrap;gap:8px}.app-shell[data-portal=school-owner] .owner-search{display:flex;align-items:center;gap:8px;box-sizing:border-box;width:240px;height:38px;padding:0 12px;border:1px solid var(--owner-line);border-radius:10px;background:#fff;color:var(--owner-muted)}.app-shell[data-portal=school-owner] .owner-search:focus-within{border-color:var(--school-primary, var(--owner-blue));box-shadow:0 0 0 3px var(--school-primary-soft, #e8efff)}.app-shell[data-portal=school-owner] .owner-search svg{width:16px;height:16px;flex:none}.app-shell[data-portal=school-owner] .owner-search input{flex:1;min-width:0;border:0;background:transparent;color:var(--owner-ink);font-family:var(--font-sans);font-size:.8125rem}.app-shell[data-portal=school-owner] .owner-search input:focus{outline:none}.app-shell[data-portal=school-owner] .owner-campus-context,.app-shell[data-portal=school-owner] .owner-campus-empty{margin:0 0 10px;color:var(--owner-ink-2);font-size:.8125rem}.app-shell[data-portal=school-owner] .owner-campus-empty{padding:24px;border:1px dashed var(--owner-line);border-radius:12px;text-align:center}.app-shell[data-portal=school-owner] .owner-campus-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}.app-shell[data-portal=school-owner] .owner-campus{display:flex;flex-direction:column;height:100%;box-sizing:border-box;min-width:0;border:1px solid var(--owner-line);border-radius:12px;background:#fff}.app-shell[data-portal=school-owner] .owner-campus.is-context{border-color:var(--school-primary, var(--owner-blue));box-shadow:0 0 0 3px var(--school-primary-soft, #e8efff)}.app-shell[data-portal=school-owner] .owner-campus__media{position:relative;aspect-ratio:16 / 7;overflow:hidden;border-radius:11px 11px 0 0;background:#e8eef6}.app-shell[data-portal=school-owner] .owner-campus__media img{display:block;width:100%;height:100%;object-fit:cover}.app-shell[data-portal=school-owner] .owner-campus__placeholder{display:grid;place-items:center;height:100%;color:var(--owner-muted)}.app-shell[data-portal=school-owner] .owner-campus__placeholder svg{width:32px;height:32px}.app-shell[data-portal=school-owner] .owner-campus__kind{position:absolute;bottom:8px;left:8px;padding:3px 9px;border-radius:999px;font-size:.6875rem;font-weight:700;line-height:1.3}.app-shell[data-portal=school-owner] .owner-campus__kind--main{background:var(--school-secondary, var(--owner-ink));color:var(--school-secondary-ink, #ffffff)}.app-shell[data-portal=school-owner] .owner-campus__kind--branch{background:var(--school-primary, var(--owner-blue));color:var(--school-primary-ink, #ffffff)}.app-shell[data-portal=school-owner] .owner-state{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:.6875rem;font-weight:600;line-height:1.4;white-space:nowrap}.app-shell[data-portal=school-owner] .owner-state--active{background:#e6f6f0;color:#065f46}.app-shell[data-portal=school-owner] .owner-state--inactive{background:#eef1f5;color:#475569}.app-shell[data-portal=school-owner] .owner-state__dot{width:7px;height:7px;flex:none;border-radius:999px;background:currentColor}.app-shell[data-portal=school-owner] .owner-state--active .owner-state__dot{background:var(--success)}.app-shell[data-portal=school-owner] .owner-state--inactive .owner-state__dot{background:#94a3b8}.app-shell[data-portal=school-owner] .owner-campus__state{position:absolute;right:8px;bottom:8px;box-shadow:0 2px 6px #0f172a1f}.app-shell[data-portal=school-owner] .owner-campus__state.owner-state--active{background:#fff}.app-shell[data-portal=school-owner] .owner-campus__body{display:grid;flex:1;align-content:start;gap:8px;padding:12px}.app-shell[data-portal=school-owner] .owner-campus__body h3{margin:0;color:var(--owner-ink);font-family:var(--font-heading);font-size:1rem;font-weight:700;line-height:1.3}.app-shell[data-portal=school-owner] .owner-campus__address{display:flex;align-items:flex-start;gap:6px;min-height:2.7em;margin:0;color:var(--owner-muted);font-size:.75rem;line-height:1.35}.app-shell[data-portal=school-owner] .owner-campus__address svg{width:14px;height:14px;flex:none;margin-top:1px;color:var(--school-primary, var(--owner-blue))}.app-shell[data-portal=school-owner] .owner-campus__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:2px 0;padding:8px 0;border-top:1px solid var(--owner-line-soft);border-bottom:1px solid var(--owner-line-soft)}.app-shell[data-portal=school-owner] .owner-campus__stats>div{display:flex;flex-direction:column-reverse;align-items:center;gap:1px;min-width:0}.app-shell[data-portal=school-owner] .owner-campus__stats dt{color:var(--owner-muted);font-size:.6875rem}.app-shell[data-portal=school-owner] .owner-campus__stats dd{display:flex;align-items:center;gap:5px;margin:0;color:var(--owner-ink);font-family:var(--font-heading);font-size:.9375rem;font-variant-numeric:tabular-nums;font-weight:700}.app-shell[data-portal=school-owner] .owner-campus__stats dd svg{width:14px;height:14px;color:var(--school-primary, var(--owner-blue))}.app-shell[data-portal=school-owner] .owner-campus__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.app-shell[data-portal=school-owner] .owner-campus__actions .owner-button{width:100%;min-height:34px;padding:0 8px;font-size:.75rem}@container (max-width: 880px){.app-shell[data-portal=school-owner] .owner-campus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (max-width: 520px){.app-shell[data-portal=school-owner] .owner-campus-grid{grid-template-columns:minmax(0,1fr)}.app-shell[data-portal=school-owner] .owner-campus__media{aspect-ratio:16 / 5}.app-shell[data-portal=school-owner] .owner-campus__address{min-height:0}.app-shell[data-portal=school-owner] .owner-campus-tools{flex:1 1 100%}.app-shell[data-portal=school-owner] .owner-search{flex:1;width:auto}}.app-shell[data-portal=school-owner] .owner-table-wrap{overflow-x:auto}.app-shell[data-portal=school-owner] .owner-table{width:100%;border-collapse:collapse;font-size:.8125rem}.app-shell[data-portal=school-owner] .owner-table thead th{padding:10px 12px;border-bottom:1px solid var(--owner-line);background:#f6f8fc;color:var(--owner-ink-2);font-weight:600;text-align:left;white-space:nowrap}.app-shell[data-portal=school-owner] .owner-table tbody :is(th,td){padding:9px 12px;border-bottom:1px solid var(--owner-line-soft);color:var(--owner-ink-2);font-variant-numeric:tabular-nums;text-align:left;white-space:nowrap}.app-shell[data-portal=school-owner] .owner-table tbody th{color:var(--owner-ink);font-weight:600;letter-spacing:normal;text-transform:none}.app-shell[data-portal=school-owner] .owner-table thead th{font-size:.75rem;letter-spacing:normal;text-transform:none}.app-shell[data-portal=school-owner] .owner-table tbody tr.is-context :is(th,td){background:var(--school-primary-soft, #e8efff)}@container (max-width: 760px){.app-shell[data-portal=school-owner] .owner-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.app-shell[data-portal=school-owner] .owner-table,.app-shell[data-portal=school-owner] .owner-table tbody{display:block}.app-shell[data-portal=school-owner] .owner-table tbody{display:grid;gap:10px}.app-shell[data-portal=school-owner] .owner-table tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;padding:12px;border:1px solid var(--owner-line);border-radius:12px}.app-shell[data-portal=school-owner] .owner-table tbody :is(th,td){padding:0;border:0;white-space:normal}.app-shell[data-portal=school-owner] .owner-table tbody th{grid-column:1 / -2;align-self:center;font-size:.9375rem}.app-shell[data-portal=school-owner] .owner-table tbody td{display:flex;flex-direction:column;align-items:flex-start;gap:2px;color:var(--owner-ink);font-weight:600}.app-shell[data-portal=school-owner] .owner-table tbody td:before{content:attr(data-label);color:var(--owner-muted);font-size:.6875rem;font-weight:500}.app-shell[data-portal=school-owner] .owner-table tbody td[data-label=Status]{grid-row:1;grid-column:-2 / -1;align-items:flex-end}.app-shell[data-portal=school-owner] .owner-table tbody td[data-label=Status]:before,.app-shell[data-portal=school-owner] .owner-table tbody td.owner-table__actions:before{content:none}.app-shell[data-portal=school-owner] .owner-table tbody td[data-label="Principal / Head"]{grid-column:auto}.app-shell[data-portal=school-owner] .owner-table tbody td.owner-table__actions{align-items:flex-end;align-self:end}.app-shell[data-portal=school-owner] .owner-table tbody tr.is-context{border-color:var(--school-primary, var(--owner-blue))}}.app-shell[data-portal=school-owner] .owner-distribution{display:grid;gap:14px;margin:2px 0 4px;padding:0;list-style:none}.app-shell[data-portal=school-owner] .owner-distribution>li{display:grid;grid-template-columns:4px minmax(0,1fr);gap:10px}.app-shell[data-portal=school-owner] .owner-distribution__marker{border-radius:4px;background:var(--owner-accent)}.app-shell[data-portal=school-owner] .owner-distribution__row{display:flex;justify-content:space-between;gap:8px;margin:0;color:var(--owner-ink);font-size:.8125rem;font-weight:600}.app-shell[data-portal=school-owner] .owner-distribution__row b{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.app-shell[data-portal=school-owner] .owner-distribution__row small{color:var(--owner-muted);font-size:.75rem;font-weight:500}.app-shell[data-portal=school-owner] .owner-distribution__track{display:block;height:8px;margin-top:6px;overflow:hidden;border-radius:999px;background:#edf1f7}.app-shell[data-portal=school-owner] .owner-distribution__track>span{display:block;height:100%;border-radius:inherit;background:var(--owner-accent)}.app-shell[data-portal=school-owner] .owner-campus-quick .owner-actions{gap:6px}.app-shell[data-portal=school-owner] .owner-campus-quick .owner-action{min-height:40px;padding:3px 8px 3px 3px;font-size:.8125rem}.app-shell[data-portal=school-owner] .owner-campus-quick .owner-action__icon{width:32px;height:32px}.app-shell[data-portal=school-owner] .owner-action.is-unavailable{color:var(--owner-muted);cursor:default}.app-shell[data-portal=school-owner] .owner-action.is-unavailable .owner-action__icon{opacity:.5}.app-shell[data-portal=school-owner] .owner-help{display:grid;gap:10px;margin:0;padding:0;list-style:none}.app-shell[data-portal=school-owner] .owner-help li{display:flex;align-items:flex-start;gap:10px;color:var(--owner-ink-2);font-size:.8125rem;line-height:1.35}.app-shell[data-portal=school-owner] .owner-help li svg{width:16px;height:16px;flex:none;color:var(--school-primary, var(--owner-blue))}.app-shell[data-portal=school-owner] .owner-help__foot{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin:12px 0 0;color:var(--owner-muted);font-size:.8125rem;font-weight:600}.app-shell[data-portal=school-owner] .owner-help__foot svg{width:14px;height:14px}.app-shell[data-portal=school-owner] .owner-help__foot .owner-soon{margin-left:4px}.app-shell[data-portal=school-owner] .owner-empty-state{display:grid;justify-items:start;gap:10px;max-width:640px;padding:28px;border:1px solid var(--owner-line);border-radius:var(--owner-radius);background:#fff;box-shadow:var(--owner-shadow)}.app-shell[data-portal=school-owner] .owner-empty-state__icon{display:grid;place-items:center;width:56px;height:56px;border-radius:999px;background:var(--school-primary-soft, #e8efff);color:var(--school-primary, var(--owner-blue))}.app-shell[data-portal=school-owner] .owner-empty-state__icon svg{width:26px;height:26px}.app-shell[data-portal=school-owner] .owner-empty-state h2{margin:4px 0 0;color:var(--owner-ink);font-family:var(--font-heading);font-size:1.25rem;font-weight:700}.app-shell[data-portal=school-owner] .owner-empty-state p{margin:0;color:var(--owner-ink-2);font-size:.9375rem;line-height:1.5}.app-shell[data-portal=school-owner] .owner-empty-state__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}@container owner-campuses (max-width: 1099px){.app-shell[data-portal=school-owner] .owner-campuses{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-template-areas:"stats" "list" "side" "summary"}.app-shell[data-portal=school-owner] .owner-campus-side{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.app-shell[data-portal=school-owner] .owner-help-panel{grid-column:1 / -1}}@container owner-campuses (max-width: 899px){.app-shell[data-portal=school-owner] .owner-campus-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@container owner-campuses (max-width: 699px){.app-shell[data-portal=school-owner] .owner-campuses{grid-template-areas:"stats" "list" "distribution" "quick" "summary" "help";gap:12px}.app-shell[data-portal=school-owner] .owner-campus-side{display:contents}.app-shell[data-portal=school-owner] .owner-distribution-panel{grid-area:distribution}.app-shell[data-portal=school-owner] .owner-campus-quick{grid-area:quick}.app-shell[data-portal=school-owner] .owner-help-panel{grid-area:help;grid-column:auto}.app-shell[data-portal=school-owner] .owner-campus-stats{gap:10px}.app-shell[data-portal=school-owner] .owner-stat{flex-direction:column;align-items:flex-start;gap:8px;padding:14px}.app-shell[data-portal=school-owner] .owner-stat__icon{width:42px;height:42px}.app-shell[data-portal=school-owner] .owner-stat__icon svg{width:21px;height:21px}.app-shell[data-portal=school-owner] .owner-stat__value{font-size:1.5rem}.app-shell[data-portal=school-owner] .owner-page-head h1{font-size:1.625rem}.app-shell[data-portal=school-owner] .owner-page-head>.owner-button--primary{width:100%}}@media(max-width:767px){.app-shell[data-portal=school-owner] main:has(.owner-campuses-page){padding:12px 12px 20px}}@media(min-width:768px)and (max-width:1023px){.app-shell[data-portal=school-owner] main:has(.owner-campuses-page){padding:14px 16px 20px}}.app-shell[data-portal=school-owner] .student-roster-page,.app-shell[data-portal=school-owner] .student-roster-card{display:grid;min-width:0;gap:18px}.app-shell[data-portal=school-owner] .student-roster-filters{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr) minmax(150px,.75fr) auto;align-items:end;gap:12px}.app-shell[data-portal=school-owner] .student-roster-filter-actions,.app-shell[data-portal=school-owner] .student-roster-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.app-shell[data-portal=school-owner] .student-roster-table-wrap{min-width:0;overflow-x:auto;border:1px solid var(--owner-line-soft);border-radius:10px}.app-shell[data-portal=school-owner] .student-roster-table-wrap table{width:100%;min-width:720px;border-collapse:collapse}.app-shell[data-portal=school-owner] .student-roster-table-wrap th,.app-shell[data-portal=school-owner] .student-roster-table-wrap td{padding:12px 14px;border-bottom:1px solid var(--owner-line-soft);color:var(--owner-ink);font-size:.8125rem;text-align:left;vertical-align:middle}.app-shell[data-portal=school-owner] .student-roster-table-wrap th{background:var(--owner-soft, #f7f9fc);color:var(--owner-muted);font-size:.75rem;font-weight:700}.app-shell[data-portal=school-owner] .student-roster-table-wrap tbody tr:last-child td{border-bottom:0}.app-shell[data-portal=school-owner] .student-roster-table-wrap td strong,.app-shell[data-portal=school-owner] .student-roster-table-wrap td small{display:block;max-width:320px;overflow-wrap:anywhere}.app-shell[data-portal=school-owner] .student-roster-table-wrap td small{margin-top:3px;color:var(--owner-muted)}.app-shell[data-portal=school-owner] .student-roster-admission{max-width:190px;font-family:var(--font-mono, monospace);overflow-wrap:anywhere}.app-shell[data-portal=school-owner] .student-roster-mobile-list{display:none}.app-shell[data-portal=school-owner] .student-roster-mobile-card{display:grid;gap:12px;min-width:0;padding:16px;border:1px solid var(--owner-line-soft);border-radius:10px;background:#fff}.app-shell[data-portal=school-owner] .student-roster-mobile-card>div:first-child{display:grid;gap:3px}.app-shell[data-portal=school-owner] .student-roster-mobile-card strong,.app-shell[data-portal=school-owner] .student-roster-mobile-card span,.app-shell[data-portal=school-owner] .student-roster-mobile-card dd{overflow-wrap:anywhere}.app-shell[data-portal=school-owner] .student-roster-mobile-card>div:first-child span{color:var(--owner-muted);font-family:var(--font-mono, monospace);font-size:.75rem}.app-shell[data-portal=school-owner] .student-roster-mobile-card dl{display:grid;gap:8px;margin:0}.app-shell[data-portal=school-owner] .student-roster-mobile-card dl>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:8px}.app-shell[data-portal=school-owner] .student-roster-mobile-card dt{color:var(--owner-muted);font-size:.75rem}.app-shell[data-portal=school-owner] .student-roster-mobile-card dd{margin:0;color:var(--owner-ink);font-size:.8125rem;font-weight:600}.app-shell[data-portal=school-owner] .student-roster-state{display:grid;justify-items:start;gap:10px;min-width:0;padding:22px;border:1px dashed var(--owner-line-soft);border-radius:10px}.app-shell[data-portal=school-owner] .student-roster-state h3,.app-shell[data-portal=school-owner] .student-roster-state p{margin:0}.app-shell[data-portal=school-owner] .student-roster-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;color:var(--owner-muted);font-size:.8125rem}.app-shell[data-portal=school-owner] .student-roster-form,.app-shell[data-portal=school-owner] .student-roster-duplicate{display:grid;gap:16px;min-width:0}.app-shell[data-portal=school-owner] .student-roster-form-intro{margin:0;color:var(--owner-muted);font-size:.875rem}.app-shell[data-portal=school-owner] .student-roster-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.app-shell[data-portal=school-owner] .student-roster-duplicate ul{display:grid;gap:8px;max-height:280px;margin:0;padding:0;overflow-y:auto;list-style:none}.app-shell[data-portal=school-owner] .student-roster-duplicate li{display:grid;gap:3px;padding:12px;border:1px solid var(--owner-line-soft);border-radius:8px}.app-shell[data-portal=school-owner] .student-roster-duplicate li span{color:var(--owner-muted);font-size:.8125rem;overflow-wrap:anywhere}@media(max-width:1023px){.app-shell[data-portal=school-owner] .student-roster-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.app-shell[data-portal=school-owner] main:has(.student-roster-page){padding:12px 12px 20px}.app-shell[data-portal=school-owner] .student-roster-page .page-heading,.app-shell[data-portal=school-owner] .student-roster-filters,.app-shell[data-portal=school-owner] .student-roster-form-grid{grid-template-columns:minmax(0,1fr)}.app-shell[data-portal=school-owner] .student-roster-page .page-heading{display:grid;gap:12px}.app-shell[data-portal=school-owner] .student-roster-page .page-heading>.button,.app-shell[data-portal=school-owner] .student-roster-filter-actions,.app-shell[data-portal=school-owner] .student-roster-dialog-actions{width:100%}.app-shell[data-portal=school-owner] .student-roster-filter-actions>*,.app-shell[data-portal=school-owner] .student-roster-dialog-actions>*{flex:1 1 140px}.app-shell[data-portal=school-owner] .student-roster-table-wrap{display:none}.app-shell[data-portal=school-owner] .student-roster-mobile-list{display:grid;gap:10px}.app-shell[data-portal=school-owner] .student-roster-pagination{justify-content:space-between}.app-shell[data-portal=school-owner] .student-roster-pagination .button{min-width:88px}}.app-shell[data-portal=school-owner] .academic-setup-page{display:grid;gap:18px}.app-shell[data-portal=school-owner] .academic-setup-card{display:grid;gap:16px}.app-shell[data-portal=school-owner] .academic-setup-form-grid,.app-shell[data-portal=school-owner] .academic-setup-inline-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:12px}.app-shell[data-portal=school-owner] .academic-setup-inline-form{grid-template-columns:minmax(220px,1fr) auto}.app-shell[data-portal=school-owner] .academic-setup-detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);gap:18px}.app-shell[data-portal=school-owner] .academic-setup-list{display:grid;gap:8px}.app-shell[data-portal=school-owner] .academic-setup-row,.app-shell[data-portal=school-owner] .academic-setup-calendar{display:grid;gap:8px;padding:10px;border:1px solid var(--owner-line);border-radius:12px;background:var(--owner-canvas)}.app-shell[data-portal=school-owner] .academic-setup-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.app-shell[data-portal=school-owner] .academic-setup-calendar-form{padding-block:4px 16px;border-bottom:1px solid var(--owner-line)}.app-shell[data-portal=school-owner] .academic-structure{display:grid;gap:14px}.app-shell[data-portal=school-owner] .academic-structure-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));align-items:start;gap:16px}.app-shell[data-portal=school-owner] .academic-structure .academic-setup-inline-form,.app-shell[data-portal=school-owner] .academic-structure-form,.app-shell[data-portal=school-owner] .academic-structure-edit{grid-template-columns:repeat(2,minmax(0,1fr)) auto}.app-shell[data-portal=school-owner] .academic-structure-edit{display:grid;align-items:end}.app-shell[data-portal=school-owner] .academic-setup-subrow{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:11px 12px;border:1px solid var(--owner-line);border-radius:10px;background:#fff;color:var(--owner-ink);text-align:left}.app-shell[data-portal=school-owner] button.academic-setup-row{cursor:pointer}.app-shell[data-portal=school-owner] .academic-setup-row--selected{border-color:var(--shell-accent, #0f9f86);box-shadow:0 0 0 2px #0f9f8626}.app-shell[data-portal=school-owner] .academic-setup-row span:first-child,.app-shell[data-portal=school-owner] .academic-setup-subrow span:first-child{display:grid;gap:2px}.app-shell[data-portal=school-owner] .academic-setup-row small{color:var(--owner-muted)}.app-shell[data-portal=school-owner] .academic-setup-offering{display:grid;gap:10px;padding:12px;border:1px solid var(--owner-line);border-radius:12px;background:var(--owner-canvas)}.app-shell[data-portal=school-owner] .academic-setup-subrow{margin-left:18px;width:calc(100% - 18px);padding-block:8px}@media(max-width:900px){.app-shell[data-portal=school-owner] .academic-setup-detail-grid,.app-shell[data-portal=school-owner] .academic-setup-form-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:560px){.app-shell[data-portal=school-owner] .academic-setup-inline-form{grid-template-columns:minmax(0,1fr)}.app-shell[data-portal=school-owner] .academic-setup-row,.app-shell[data-portal=school-owner] .academic-setup-subrow{align-items:flex-start;flex-wrap:wrap}.app-shell[data-portal=school-owner] .academic-setup-row>span:first-child{min-width:100%;overflow-wrap:anywhere}.app-shell[data-portal=school-owner] .academic-setup-actions,.app-shell[data-portal=school-owner] .academic-setup-actions .button{width:100%}.app-shell[data-portal=school-owner] .academic-structure .academic-setup-inline-form,.app-shell[data-portal=school-owner] .academic-structure-form,.app-shell[data-portal=school-owner] .academic-structure-edit{grid-template-columns:minmax(0,1fr)}}.app-shell[data-portal=school-owner] main:has(.staff-management-page){max-width:none}.app-shell[data-portal=school-owner] .staff-management-page,.app-shell[data-portal=school-owner] .staff-directory-card,.app-shell[data-portal=school-owner] .staff-dialog-form,.app-shell[data-portal=school-owner] .staff-credential{display:grid;gap:16px}.app-shell[data-portal=school-owner] .staff-directory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:14px}.app-shell[data-portal=school-owner] .staff-card{display:grid;min-width:0;gap:14px;padding:16px;border:1px solid var(--owner-line);border-radius:14px;background:var(--owner-canvas)}.app-shell[data-portal=school-owner] .staff-card__heading,.app-shell[data-portal=school-owner] .staff-card__actions{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:10px}.app-shell[data-portal=school-owner] .staff-card__heading>div{min-width:0}.app-shell[data-portal=school-owner] .staff-card__heading h2,.app-shell[data-portal=school-owner] .staff-empty-state h2{margin:0;color:var(--owner-ink);font-size:1rem}.app-shell[data-portal=school-owner] .staff-card__heading p{margin:3px 0 0;overflow-wrap:anywhere;color:var(--owner-muted)}.app-shell[data-portal=school-owner] .staff-card__facts,.app-shell[data-portal=school-owner] .staff-credential dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.app-shell[data-portal=school-owner] .staff-card__facts div,.app-shell[data-portal=school-owner] .staff-credential dl div{min-width:0}.app-shell[data-portal=school-owner] .staff-card__facts dt,.app-shell[data-portal=school-owner] .staff-credential dt{color:var(--owner-muted);font-size:.75rem}.app-shell[data-portal=school-owner] .staff-card__facts dd,.app-shell[data-portal=school-owner] .staff-credential dd{margin:2px 0 0;overflow-wrap:anywhere;color:var(--owner-ink);font-weight:600}.app-shell[data-portal=school-owner] .staff-empty-state{display:grid;justify-items:start;gap:8px;padding:22px;border:1px dashed var(--owner-line);border-radius:14px;background:var(--owner-canvas)}.app-shell[data-portal=school-owner] .staff-campus-choices{display:grid;gap:8px;margin:0;padding:12px;border:1px solid var(--owner-line);border-radius:10px}.app-shell[data-portal=school-owner] .staff-campus-choices legend{padding-inline:4px;color:var(--owner-ink);font-weight:700}.app-shell[data-portal=school-owner] .staff-campus-choices label{display:flex;align-items:center;min-height:40px;gap:9px}.app-shell[data-portal=school-owner] .staff-credential code{padding:14px;overflow-wrap:anywhere;border:1px solid var(--owner-line);border-radius:10px;background:var(--owner-canvas);color:var(--owner-ink);font-size:1.05rem;font-weight:700;letter-spacing:.04em;-webkit-user-select:all;user-select:all}@media(max-width:560px){.app-shell[data-portal=school-owner] .staff-card__facts,.app-shell[data-portal=school-owner] .staff-credential dl{grid-template-columns:minmax(0,1fr)}.app-shell[data-portal=school-owner] .staff-card__actions,.app-shell[data-portal=school-owner] .staff-card__actions .button,.app-shell[data-portal=school-owner] .staff-dialog-form .dialog-actions,.app-shell[data-portal=school-owner] .staff-dialog-form .dialog-actions .button,.app-shell[data-portal=school-owner] .staff-credential .dialog-actions,.app-shell[data-portal=school-owner] .staff-credential .dialog-actions .button{width:100%}}.app-shell[data-portal=school-owner] main:has(.owner-campus-detail-page){max-width:none;margin:0;padding:14px 20px 24px}.app-shell[data-portal=school-owner] .owner-campus-detail-page{display:grid;gap:14px;container:owner-campus-detail / inline-size}.app-shell[data-portal=school-owner] .owner-breadcrumb__link{color:var(--owner-muted);text-decoration:none}.app-shell[data-portal=school-owner] .owner-breadcrumb__link:hover{color:var(--owner-ink);text-decoration:underline;text-underline-offset:2px}.app-shell[data-portal=school-owner] :is(.owner-breadcrumb__link,.owner-back-link):focus-visible{outline:2px solid var(--school-primary, var(--owner-blue));outline-offset:2px;border-radius:4px}.app-shell[data-portal=school-owner] .owner-back-link{display:inline-flex;align-items:center;justify-self:start;gap:6px;margin-top:-6px;color:color-mix(in srgb,var(--school-primary, var(--owner-blue)) 80%,var(--owner-ink));font-size:.8125rem;font-weight:600;text-decoration:none}.app-shell[data-portal=school-owner] .owner-back-link svg{width:16px;height:16px}.app-shell[data-portal=school-owner] .owner-back-link:hover{text-decoration:underline;text-underline-offset:2px}.app-shell[data-portal=school-owner] .owner-detail-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--owner-line);border-radius:var(--owner-radius);background:#fff;box-shadow:var(--owner-shadow)}.app-shell[data-portal=school-owner] .owner-detail-head__identity{display:flex;align-items:center;gap:16px;min-width:0}.app-shell[data-portal=school-owner] .owner-detail-head__media{display:block;flex:none;width:168px;aspect-ratio:16 / 9;overflow:hidden;border-radius:12px;background:#e8eef6}.app-shell[data-portal=school-owner] .owner-detail-head__media img{display:block;width:100%;height:100%;object-fit:cover}.app-shell[data-portal=school-owner] .owner-detail-head__copy{min-width:0}.app-shell[data-portal=school-owner] .owner-detail-head__badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.app-shell[data-portal=school-owner] .owner-campus__kind.owner-detail-kind{position:static}.app-shell[data-portal=school-owner] .owner-detail-head h1{margin:0;color:var(--owner-ink);font-family:var(--font-heading);font-size:1.875rem;font-weight:700;letter-spacing:-.015em;line-height:1.15}.app-shell[data-portal=school-owner] .owner-detail-head__address{display:flex;align-items:center;gap:6px;margin:6px 0 0;color:var(--owner-ink-2);font-size:.875rem}.app-shell[data-portal=school-owner] .owner-detail-head__address svg{width:16px;height:16px;flex:none;color:var(--school-primary, var(--owner-blue))}.app-shell[data-portal=school-owner] .owner-detail-head__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.app-shell[data-portal=school-owner] .owner-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:14px}.app-shell[data-portal=school-owner] :is(.owner-detail-main,.owner-detail-side){display:grid;gap:14px;min-width:0}.app-shell[data-portal=school-owner] .owner-detail-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.app-shell[data-portal=school-owner] .owner-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0 0 14px}.app-shell[data-portal=school-owner] .owner-facts>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--owner-line-soft);font-size:.8125rem}.app-shell[data-portal=school-owner] .owner-facts dt{color:var(--owner-muted)}.app-shell[data-portal=school-owner] .owner-facts dd{margin:0;color:var(--owner-ink);font-variant-numeric:tabular-nums;font-weight:600;text-align:right}.app-shell[data-portal=school-owner] .owner-subheading{margin:4px 0 12px;color:var(--owner-ink);font-family:var(--font-heading);font-size:.9375rem;font-weight:700}.app-shell[data-portal=school-owner] .owner-info{display:grid;margin:0}.app-shell[data-portal=school-owner] .owner-info>div{display:grid;grid-template-columns:108px minmax(0,1fr);align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--owner-line-soft);font-size:.8125rem}.app-shell[data-portal=school-owner] .owner-info>div:last-child{border-bottom:0}.app-shell[data-portal=school-owner] .owner-info dt{color:var(--owner-muted)}.app-shell[data-portal=school-owner] .owner-info dd{margin:0;color:var(--owner-ink);font-weight:600;overflow-wrap:anywhere}.app-shell[data-portal=school-owner] .owner-people{display:grid;gap:12px;margin:0;padding:0;list-style:none}.app-shell[data-portal=school-owner] .owner-info dd.owner-info__email{overflow-wrap:normal}.app-shell[data-portal=school-owner] .owner-person{display:flex;align-items:center;gap:12px}.app-shell[data-portal=school-owner] .owner-person__avatar{display:grid;flex:none;place-items:center;width:40px;height:40px;border-radius:999px;background:var(--school-primary-soft, #e8efff);color:color-mix(in srgb,var(--school-primary, var(--owner-blue)) 80%,var(--owner-ink));font-size:.8125rem;font-weight:700}.app-shell[data-portal=school-owner] .owner-person__avatar.is-vacant{background:#eef1f5;color:var(--owner-muted)}.app-shell[data-portal=school-owner] .owner-person b{display:block;color:var(--owner-ink);font-size:.875rem;font-weight:600}.app-shell[data-portal=school-owner] .owner-person small{color:var(--owner-muted);font-size:.75rem}.app-shell[data-portal=school-owner] .owner-detail-note{margin:12px 0 0;color:var(--owner-muted);font-size:.75rem}.app-shell[data-portal=school-owner] .owner-detail-actions .owner-actions{gap:6px}.app-shell[data-portal=school-owner] .owner-detail-actions .owner-action{min-height:40px;padding:3px 8px 3px 3px;font-size:.8125rem}.app-shell[data-portal=school-owner] .owner-detail-actions .owner-action__icon{width:32px;height:32px}@container owner-campus-detail (max-width: 1000px){.app-shell[data-portal=school-owner] .owner-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"stats    stats" "snapshot snapshot" "info     leadership" "actions  activity"}.app-shell[data-portal=school-owner] :is(.owner-detail-main,.owner-detail-side){display:contents}.app-shell[data-portal=school-owner] .owner-detail-stats{grid-area:stats}.app-shell[data-portal=school-owner] .owner-detail-snapshot{grid-area:snapshot}.app-shell[data-portal=school-owner] .owner-detail-info{grid-area:info}.app-shell[data-portal=school-owner] .owner-detail-leadership{grid-area:leadership}.app-shell[data-portal=school-owner] .owner-detail-actions{grid-area:actions}.app-shell[data-portal=school-owner] .owner-detail-activity{grid-area:activity}}@container owner-campus-detail (max-width: 900px){.app-shell[data-portal=school-owner] .owner-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@container owner-campus-detail (max-width: 700px){.app-shell[data-portal=school-owner] .owner-detail-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"stats" "snapshot" "info" "leadership" "actions" "activity";gap:12px}.app-shell[data-portal=school-owner] .owner-detail-stats{gap:10px}.app-shell[data-portal=school-owner] .owner-detail-stats .owner-stat{flex-direction:column;align-items:flex-start;gap:8px;padding:14px}.app-shell[data-portal=school-owner] .owner-detail-stats .owner-stat__icon{width:42px;height:42px}.app-shell[data-portal=school-owner] .owner-detail-stats .owner-stat__icon svg{width:21px;height:21px}.app-shell[data-portal=school-owner] .owner-detail-stats .owner-stat__value{font-size:1.5rem}.app-shell[data-portal=school-owner] .owner-facts{grid-template-columns:minmax(0,1fr)}.app-shell[data-portal=school-owner] .owner-detail-head__identity{flex-direction:column;align-items:stretch;width:100%}.app-shell[data-portal=school-owner] .owner-detail-head__media{width:100%;aspect-ratio:16 / 6}.app-shell[data-portal=school-owner] .owner-detail-head h1{font-size:1.5rem}.app-shell[data-portal=school-owner] .owner-detail-head__actions{width:100%}.app-shell[data-portal=school-owner] .owner-detail-head__actions>*{flex:1}.app-shell[data-portal=school-owner] .owner-detail-head__actions .owner-button{width:100%}}@media(max-width:767px){.app-shell[data-portal=school-owner] main:has(.owner-campus-detail-page){padding:12px 12px 20px}}@media(min-width:768px)and (max-width:1023px){.app-shell[data-portal=school-owner] main:has(.owner-campus-detail-page){padding:14px 16px 20px}}.app-shell[data-portal=principal] .principal-dashboard{display:grid;gap:12px}.app-shell[data-portal=principal] main{padding-top:20px}.app-shell[data-portal=principal] .principal-dashboard .page-heading{margin:0}.app-shell[data-portal=principal] .principal-dashboard .page-heading p{margin:.2rem 0 0}.app-shell[data-portal=principal] .principal-dashboard .page-heading .button{flex:none;text-decoration:none}.app-shell[data-portal=principal] .principal-topbar__greeting{display:grid;gap:1px;margin-right:auto;min-width:0}.app-shell[data-portal=principal] .principal-topbar__hello{margin:0;overflow:hidden;color:var(--navy-900);font-family:var(--font-heading);font-size:1.25rem;font-weight:var(--weight-bold);line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.app-shell[data-portal=principal] .principal-topbar__line{margin:0;overflow:hidden;color:var(--neutral-600);font-size:.8125rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.app-shell[data-portal=principal] .principal-topbar__search{display:flex;align-items:center;gap:10px;box-sizing:border-box;width:min(360px,30vw);min-height:40px;padding:0 14px;border:1px solid var(--register-border);border-radius:8px;background:var(--neutral-0);color:var(--neutral-500)}.app-shell[data-portal=principal] .principal-topbar__search:focus-within{border-color:var(--school-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--school-primary) 20%,transparent)}.app-shell[data-portal=principal] .principal-topbar__search svg{width:17px;height:17px;flex:none}.app-shell[data-portal=principal] .principal-topbar__search input{flex:1;min-width:0;border:0;background:transparent;color:var(--navy-900);font-family:var(--font-sans);font-size:.875rem}.app-shell[data-portal=principal] .principal-topbar__search input:focus{outline:none}.app-shell[data-portal=principal] .principal-topbar__search input::-webkit-search-cancel-button{appearance:none}@media(max-width:767px){.app-shell[data-portal=principal] .topbar{height:auto;flex-wrap:wrap;padding-block:10px}.app-shell[data-portal=principal] .top-actions{flex:1 1 100%;flex-wrap:wrap;justify-content:flex-end;row-gap:10px}.app-shell[data-portal=principal] .principal-topbar__search{order:3;flex:1 1 100%;width:100%}}.app-shell[data-portal=principal] .principal-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.app-shell[data-portal=principal] .principal-kpis .stat-card{gap:4px;padding:14px}.app-shell[data-portal=principal] .principal-kpis .stat-card__top span{font-size:.8125rem;line-height:1.3}.app-shell[data-portal=principal] .principal-kpis .stat-card__top svg{width:30px;height:30px;padding:7px}.app-shell[data-portal=principal] .principal-kpis .stat-card strong{font-size:1.75rem;line-height:2rem}.app-shell[data-portal=principal] .principal-kpis .stat-card small{font-size:.75rem;line-height:1.35}.app-shell[data-portal=principal] .principal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.app-shell[data-portal=principal] .principal-grid--wide-first{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}.app-shell[data-portal=principal] .principal-grid--wide-last{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.app-shell[data-portal=principal] .principal-grid--thirds{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell[data-portal=principal] .principal-panel{display:flex;flex-direction:column;gap:10px;padding:16px 18px;border:1px solid var(--register-border);border-radius:12px;background:var(--neutral-0);box-shadow:var(--shadow-1)}.app-shell[data-portal=principal] .principal-panel--primary{border-color:color-mix(in srgb,var(--teal-600) 40%,var(--register-border));box-shadow:inset 3px 0 0 var(--teal-600),var(--shadow-1)}.app-shell[data-portal=principal] .principal-panel .section-head{margin:0}.app-shell[data-portal=principal] .principal-panel__link{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:4px;color:var(--school-primary);font-size:.8125rem;font-weight:var(--weight-semibold);text-decoration:none}.app-shell[data-portal=principal] .principal-panel__link:hover{text-decoration:underline;text-underline-offset:2px}.app-shell[data-portal=principal] .principal-panel__link svg{width:14px;height:14px}.app-shell[data-portal=principal] .principal-panel :is(ul,ol){display:grid;gap:2px;margin:0;padding:0;list-style:none}.app-shell[data-portal=principal] .principal-panel li>a{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;color:inherit;text-decoration:none;transition:background-color var(--motion-fast) ease}.app-shell[data-portal=principal] .principal-panel li>a:hover{background:var(--neutral-50)}.app-shell[data-portal=principal] .principal-panel li b{color:var(--navy-900);font-size:.875rem;font-weight:var(--weight-semibold);line-height:1.3}.app-shell[data-portal=principal] .principal-panel li small{display:block;color:var(--neutral-600);font-size:.75rem;line-height:1.35}.app-shell[data-portal=principal] .principal-schedule li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;padding:7px 8px;border-radius:8px}.app-shell[data-portal=principal] .principal-schedule time{color:var(--navy-700);font-size:.8125rem;font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.app-shell[data-portal=principal] .principal-schedule li[data-tone=current]{background:color-mix(in srgb,var(--teal-600) 9%,var(--neutral-0))}.app-shell[data-portal=principal] .principal-schedule li[data-tone=next]{background:var(--neutral-50)}.app-shell[data-portal=principal] .principal-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.app-shell[data-portal=principal] .principal-metrics>div{padding:10px 12px;border:1px solid var(--register-border);border-radius:10px;background:var(--neutral-50)}.app-shell[data-portal=principal] .principal-metrics dt{color:var(--neutral-600);font-size:.75rem}.app-shell[data-portal=principal] .principal-metrics dd{margin:2px 0 0;color:var(--navy-900);font-family:var(--font-heading);font-size:1.375rem;font-weight:var(--weight-bold);line-height:1.2}.app-shell[data-portal=principal] .principal-metrics small{color:var(--neutral-600);font-size:.6875rem}.app-shell[data-portal=principal] .principal-metrics>div[data-tone=warning]{border-color:color-mix(in srgb,var(--warning) 40%,transparent);background:var(--warning-bg)}.app-shell[data-portal=principal] .principal-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.app-shell[data-portal=principal] .principal-board li{display:grid;gap:1px;padding:9px 11px;border:1px solid var(--register-border);border-radius:10px}.app-shell[data-portal=principal] .principal-board li b{font-family:var(--font-heading);font-size:1.25rem;line-height:1.2}.app-shell[data-portal=principal] .principal-board li span{color:var(--neutral-600);font-size:.75rem}.app-shell[data-portal=principal] .principal-board li[data-tone=success] b{color:var(--success)}.app-shell[data-portal=principal] .principal-board li[data-tone=danger] b{color:var(--danger-text)}.app-shell[data-portal=principal] .principal-board li[data-tone=warning] b{color:var(--warning-text)}.app-shell[data-portal=principal] .principal-rows li>a{align-items:flex-start}.app-shell[data-portal=principal] .principal-rows li>a>b{display:grid;place-items:center;min-width:34px;height:34px;flex:none;padding:0 6px;border-radius:8px;background:var(--navy-50);color:var(--navy-800);font-family:var(--font-heading);font-size:1rem}.app-shell[data-portal=principal] .principal-rows strong{display:block;color:var(--navy-900);font-size:.875rem;font-weight:var(--weight-semibold);line-height:1.3}.app-shell[data-portal=principal] :is(.principal-queue,.principal-tasks) li>a{justify-content:space-between}.app-shell[data-portal=principal] :is(.principal-queue,.principal-tasks) li .badge{flex:none}.app-shell[data-portal=principal] .principal-alerts li>a>svg{width:18px;height:18px;flex:none}.app-shell[data-portal=principal] .principal-alerts li[data-tone=danger] svg{color:var(--danger)}.app-shell[data-portal=principal] .principal-alerts li[data-tone=warning] svg{color:var(--warning)}.app-shell[data-portal=principal] .principal-alerts li[data-tone=info] svg{color:var(--info)}.app-shell[data-portal=principal] .principal-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.app-shell[data-portal=principal] .principal-actions a{display:flex;align-items:center;gap:10px;min-height:52px;padding:9px 11px;border:1px solid var(--register-border);border-radius:10px;color:inherit;text-decoration:none;transition:border-color var(--motion-fast) ease,background-color var(--motion-fast) ease}.app-shell[data-portal=principal] .principal-actions a:hover{border-color:color-mix(in srgb,var(--teal-600) 45%,var(--register-border));background:var(--neutral-50)}.app-shell[data-portal=principal] .principal-actions svg{width:18px;height:18px;flex:none;color:var(--teal-700)}.app-shell[data-portal=principal] .principal-actions b{display:block;color:var(--navy-900);font-size:.8125rem;font-weight:var(--weight-semibold)}.app-shell[data-portal=principal] .principal-actions small{color:var(--neutral-600);font-size:.6875rem}.app-shell[data-portal=principal] .principal-feed li{display:flex;align-items:flex-start;gap:10px;padding:7px 4px;border-bottom:1px solid var(--neutral-100)}.app-shell[data-portal=principal] .principal-feed li:last-child{border-bottom:0}.app-shell[data-portal=principal] .principal-feed svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--neutral-500)}.app-shell[data-portal=principal] .principal-feed span{flex:1;min-width:0}.app-shell[data-portal=principal] .principal-feed time{flex:none;color:var(--neutral-500);font-size:.6875rem;font-variant-numeric:tabular-nums}.app-shell[data-portal=principal] .principal-today__actions{display:flex;flex:none;gap:8px}.app-shell[data-portal=principal] .principal-day li{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:8px}.app-shell[data-portal=principal] .principal-day time{width:46px;flex:none;color:var(--navy-700);font-size:.8125rem;font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.app-shell[data-portal=principal] .principal-day li>span:not(.badge){flex:1;min-width:0}.app-shell[data-portal=principal] .principal-day .badge{flex:none}.app-shell[data-portal=principal] .principal-day__state{flex:none;color:var(--neutral-500);font-size:.6875rem}.app-shell[data-portal=principal] .principal-day li[data-status=now]{background:color-mix(in srgb,var(--teal-600) 9%,var(--neutral-0))}.app-shell[data-portal=principal] .principal-day li[data-status=next]{background:var(--neutral-50)}.app-shell[data-portal=principal] .principal-day li[data-status=completed]{opacity:.66}.app-shell[data-portal=principal] .principal-periods li>:is(a,div){align-items:flex-start}.app-shell[data-portal=principal] .principal-periods__static{display:flex;gap:10px;padding:8px;border-radius:8px;color:inherit}.app-shell[data-portal=principal] .principal-periods__class{width:104px;flex:none}.app-shell[data-portal=principal] .principal-periods__who{flex:1;min-width:0}.app-shell[data-portal=principal] .principal-periods strong{display:block;color:var(--navy-900);font-size:.8125rem;font-weight:var(--weight-semibold);line-height:1.3}.app-shell[data-portal=principal] .principal-periods__note{color:var(--warning-text)}.app-shell[data-portal=principal] .principal-periods .badge{flex:none}.app-shell[data-portal=principal] .principal-periods li[data-status=alert]{border-radius:8px;background:var(--warning-bg)}.app-shell[data-portal=principal] .principal-today__exceptions{padding-top:2px;border-top:1px solid var(--neutral-100)}.app-shell[data-portal=principal] .principal-today__exceptions li>a{border-left:3px solid var(--neutral-200);border-radius:0 8px 8px 0}.app-shell[data-portal=principal] .principal-today__exceptions li[data-tone=danger]>a{border-left-color:var(--danger)}.app-shell[data-portal=principal] .principal-today__exceptions li[data-tone=warning]>a{border-left-color:var(--warning)}.app-shell[data-portal=principal] .principal-today__exceptions li[data-tone=info]>a{border-left-color:var(--info)}.app-shell[data-portal=principal] .principal-priorities li>a{justify-content:space-between}.app-shell[data-portal=principal] .principal-priorities__rank{display:grid;place-items:center;width:22px;height:22px;flex:none;border-radius:999px;background:var(--navy-50);color:var(--navy-800);font-family:var(--font-heading);font-size:.75rem;font-weight:var(--weight-bold)}.app-shell[data-portal=principal] .principal-priorities li>a>span:nth-child(2){flex:1;min-width:0}.app-shell[data-portal=principal] .principal-priorities .badge{flex:none}.app-shell[data-portal=principal] .principal-tasks__summary{grid-template-columns:repeat(5,minmax(0,1fr))}.app-shell[data-portal=principal] .principal-tasks__summary .stat-card[data-tone]{border-top:3px solid var(--neutral-200)}.app-shell[data-portal=principal] .principal-tasks__summary .stat-card[data-tone=danger]{border-top-color:var(--danger)}.app-shell[data-portal=principal] .principal-tasks__summary .stat-card[data-tone=warning]{border-top-color:var(--warning)}.app-shell[data-portal=principal] .principal-tasks__summary .stat-card[data-tone=success]{border-top-color:var(--success)}.app-shell[data-portal=principal] .principal-tasks__summary .stat-card strong{font-size:1.75rem;line-height:2rem}.app-shell[data-portal=principal] .principal-filters{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:10px 14px;border:1px solid var(--register-border);border-radius:12px;background:var(--neutral-0)}.app-shell[data-portal=principal] .principal-filters__set,.app-shell[data-portal=principal] .principal-filters__select{display:flex;align-items:center;gap:8px;min-width:0}.app-shell[data-portal=principal] .principal-filters__label{color:var(--neutral-600);font-size:.75rem;font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.app-shell[data-portal=principal] .principal-filters__chips{display:flex;gap:4px;flex-wrap:wrap}.app-shell[data-portal=principal] .principal-chip{min-height:30px;padding:4px 11px;border:1px solid var(--register-border);border-radius:999px;background:var(--neutral-0);color:var(--navy-800);font-family:var(--font-sans);font-size:.8125rem;font-weight:var(--weight-semibold);cursor:pointer;transition:background-color var(--motion-fast) ease,border-color var(--motion-fast) ease}.app-shell[data-portal=principal] .principal-chip:hover{border-color:color-mix(in srgb,var(--teal-600) 45%,var(--register-border));background:var(--neutral-50)}.app-shell[data-portal=principal] .principal-chip[aria-pressed=true]{border-color:var(--teal-600);background:color-mix(in srgb,var(--teal-600) 12%,var(--neutral-0));color:var(--teal-800)}.app-shell[data-portal=principal] .principal-filters__select select{min-height:30px;padding:4px 8px;border:1px solid var(--register-border);border-radius:8px;background:var(--neutral-0);color:var(--navy-900);font-family:var(--font-sans);font-size:.8125rem}.app-shell[data-portal=principal] .principal-filters__count{margin:0 0 0 auto;color:var(--neutral-600);font-size:.75rem;white-space:nowrap}.app-shell[data-portal=principal] .principal-tasks__group[data-group=Overdue]{border-color:color-mix(in srgb,var(--danger) 40%,var(--register-border));box-shadow:inset 3px 0 0 var(--danger),var(--shadow-1)}.app-shell[data-portal=principal] .principal-tasks__group[data-group="Due today"]{box-shadow:inset 3px 0 0 var(--warning),var(--shadow-1)}.app-shell[data-portal=principal] .principal-tasks__group[data-group=Completed]{background:var(--neutral-50)}.app-shell[data-portal=principal] .principal-tasks__list{display:grid;gap:2px;margin:0;padding:0;list-style:none}.app-shell[data-portal=principal] .principal-tasks__list li>:is(a,.principal-task__static){display:flex;align-items:center;gap:12px;padding:9px 8px;border-radius:8px;color:inherit;text-decoration:none;transition:background-color var(--motion-fast) ease}.app-shell[data-portal=principal] .principal-tasks__list li>a:hover{background:var(--neutral-0)}.app-shell[data-portal=principal] .principal-tasks__group[data-group=Completed] li>a:hover{background:var(--neutral-0)}.app-shell[data-portal=principal] .principal-task__main{flex:1;min-width:0}.app-shell[data-portal=principal] .principal-task__main b{display:block;color:var(--navy-900);font-size:.875rem;font-weight:var(--weight-semibold);line-height:1.3}.app-shell[data-portal=principal] .principal-task__main small{display:block;color:var(--neutral-600);font-size:.75rem;line-height:1.35}.app-shell[data-portal=principal] .principal-task__meta{display:flex;align-items:center;gap:8px;flex:none}.app-shell[data-portal=principal] .principal-task__due{color:var(--navy-700);font-size:.75rem;font-variant-numeric:tabular-nums;white-space:nowrap}.app-shell[data-portal=principal] li[data-group=Overdue] .principal-task__due{color:var(--danger-text);font-weight:var(--weight-semibold)}.app-shell[data-portal=principal] .principal-task__action{display:inline-flex;align-items:center;gap:5px;flex:none;width:118px;justify-content:flex-end;color:var(--school-primary);font-size:.75rem;font-weight:var(--weight-semibold)}.app-shell[data-portal=principal] .principal-task__action svg{width:13px;height:13px}.app-shell[data-portal=principal] .principal-task__static{cursor:default}.app-shell[data-portal=principal] .principal-tasks__group[data-group=Completed] .principal-task__main b{color:var(--neutral-600)}.app-shell[data-portal=principal] .principal-breakdown{display:grid;gap:2px;margin:0;padding:0;list-style:none}.app-shell[data-portal=principal] .principal-breakdown li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 8px;border-bottom:1px solid var(--neutral-100);color:var(--neutral-700);font-size:.8125rem}.app-shell[data-portal=principal] .principal-breakdown li:last-child{border-bottom:0}.app-shell[data-portal=principal] .principal-breakdown b{color:var(--navy-900);font-family:var(--font-heading);font-size:.9375rem}.app-shell[data-portal=principal] .principal-empty{margin:0;padding:10px 8px;color:var(--neutral-600);font-size:.8125rem}.app-shell[data-portal=principal] .principal-tasks__note{margin:0;color:var(--neutral-600);font-size:.8125rem;line-height:1.45}@media(max-width:1439px){.app-shell[data-portal=principal] .principal-kpis,.app-shell[data-portal=principal] .principal-tasks__summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1023px){.app-shell[data-portal=principal] .principal-tasks__list li>:is(a,.principal-task__static){flex-wrap:wrap;row-gap:6px}.app-shell[data-portal=principal] .principal-task__main{flex:1 1 100%}.app-shell[data-portal=principal] .principal-task__meta{flex-wrap:wrap}.app-shell[data-portal=principal] .principal-task__action{width:auto;margin-left:auto}.app-shell[data-portal=principal] .principal-tasks__summary{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell[data-portal=principal] .principal-filters__count{margin-left:0}}@media(max-width:1180px){.app-shell[data-portal=principal] .principal-grid--thirds{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1023px){.app-shell[data-portal=principal] .principal-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell[data-portal=principal] :is(.principal-grid,.principal-grid--wide-first,.principal-grid--wide-last,.principal-grid--thirds){grid-template-columns:minmax(0,1fr)}}@media(max-width:767px){.app-shell[data-portal=principal] .principal-periods li>:is(a,div){flex-wrap:wrap;row-gap:4px}.app-shell[data-portal=principal] .principal-periods__class{width:auto}.app-shell[data-portal=principal] .principal-periods__who{flex:1 1 100%;order:3}.app-shell[data-portal=principal] .principal-today__actions{flex:1 1 100%}.app-shell[data-portal=principal] .principal-today__actions .button{flex:1}}@media(max-width:560px){.app-shell[data-portal=principal] .principal-kpis,.app-shell[data-portal=principal] .principal-metrics,.app-shell[data-portal=principal] .principal-board,.app-shell[data-portal=principal] .principal-actions,.app-shell[data-portal=principal] .principal-tasks__summary{grid-template-columns:minmax(0,1fr)}.app-shell[data-portal=principal] .principal-panel li>a,.app-shell[data-portal=principal] .principal-actions a,.app-shell[data-portal=principal] .principal-tasks__list li>a{min-height:48px}.app-shell[data-portal=principal] .principal-filters{align-items:stretch;gap:10px}.app-shell[data-portal=principal] .principal-filters__select select{flex:1;min-height:40px}.app-shell[data-portal=principal] .principal-chip{min-height:36px}}.app-shell[data-portal=teacher] .teacher-workspace{display:grid;gap:14px}.app-shell[data-portal=teacher] main{padding-top:20px}.app-shell[data-portal=teacher] .teacher-workspace{--t-teaching: var(--info, #2f6fed);--t-done: var(--success);--t-upcoming: var(--warning);--t-assess: #7c5cd6;--t-concern: var(--danger)}.app-shell[data-portal=teacher] .teacher-topbar__greeting{display:grid;gap:1px;margin-right:auto;min-width:0}.app-shell[data-portal=teacher] .teacher-topbar__hello{margin:0;overflow:hidden;color:var(--navy-900);font-family:var(--font-heading);font-size:1.25rem;font-weight:var(--weight-bold);line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.app-shell[data-portal=teacher] .teacher-topbar__line{margin:0;overflow:hidden;color:var(--neutral-600);font-size:.8125rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.app-shell[data-portal=teacher] .teacher-topbar__search{display:flex;align-items:center;gap:10px;box-sizing:border-box;width:min(380px,30vw);min-height:40px;padding:0 14px;border:1px solid var(--register-border);border-radius:10px;background:var(--neutral-0);color:var(--neutral-500)}.app-shell[data-portal=teacher] .teacher-topbar__search:focus-within{border-color:var(--school-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--school-primary) 20%,transparent)}.app-shell[data-portal=teacher] .teacher-topbar__search svg{width:17px;height:17px;flex:none}.app-shell[data-portal=teacher] .teacher-topbar__search input{flex:1;min-width:0;border:0;background:transparent;color:var(--navy-900);font-family:var(--font-sans);font-size:.875rem}.app-shell[data-portal=teacher] .teacher-topbar__search input:focus{outline:none}.app-shell[data-portal=teacher] .teacher-topbar__search input::-webkit-search-cancel-button{appearance:none}@media(max-width:767px){.app-shell[data-portal=teacher] .topbar{height:auto;flex-wrap:wrap;padding-block:10px}.app-shell[data-portal=teacher] .top-actions{flex:1 1 100%;flex-wrap:wrap;justify-content:flex-end;row-gap:10px}.app-shell[data-portal=teacher] .teacher-topbar__search{order:3;flex:1 1 100%;width:100%}}.app-shell[data-portal=teacher] .teacher-strip{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) auto;align-items:center;gap:20px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--teal-600) 26%,var(--register-border));border-radius:16px;background:linear-gradient(100deg,color-mix(in srgb,var(--teal-500) 12%,var(--neutral-0)),var(--neutral-0) 58%);box-shadow:var(--shadow-1)}.app-shell[data-portal=teacher] .teacher-strip__intro h1{margin:0;color:var(--navy-900);font-family:var(--font-heading);font-size:1.625rem;line-height:1.2;letter-spacing:-.01em}.app-shell[data-portal=teacher] .teacher-strip__intro p{margin:4px 0 0;color:var(--neutral-600);font-size:.8125rem;line-height:1.4}.app-shell[data-portal=teacher] .teacher-strip__lesson{display:grid;gap:2px;min-width:0;padding:10px 14px;border:1px solid var(--register-border);border-left:3px solid var(--teal-600);border-radius:12px;background:var(--neutral-0)}.app-shell[data-portal=teacher] .teacher-strip__state{display:flex;align-items:center;gap:8px;margin-bottom:2px}.app-shell[data-portal=teacher] .teacher-strip__state small{color:var(--neutral-600);font-size:.6875rem}.app-shell[data-portal=teacher] .teacher-strip__lesson>b{color:var(--navy-900);font-family:var(--font-heading);font-size:1.125rem;line-height:1.25}.app-shell[data-portal=teacher] .teacher-strip__meta{color:var(--neutral-600);font-size:.75rem;line-height:1.4}.app-shell[data-portal=teacher] .teacher-strip__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.app-shell[data-portal=teacher] .teacher-action{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:8px 14px;border:1px solid var(--register-border);border-radius:10px;background:var(--neutral-0);color:var(--navy-800);font-size:.8125rem;font-weight:var(--weight-semibold);text-decoration:none;transition:background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,transform var(--motion-fast) ease}.app-shell[data-portal=teacher] .teacher-action svg{width:16px;height:16px;color:var(--t-teaching)}.app-shell[data-portal=teacher] .teacher-action:hover{border-color:color-mix(in srgb,var(--teal-600) 55%,var(--register-border));background:var(--neutral-50)}.app-shell[data-portal=teacher] .teacher-action:active{transform:translateY(1px)}.app-shell[data-portal=teacher] .teacher-action--primary{border-color:var(--teal-600);background:var(--teal-500);color:var(--navy-900)}.app-shell[data-portal=teacher] .teacher-action--primary svg{color:var(--navy-900)}.app-shell[data-portal=teacher] .teacher-action--primary:hover{background:var(--teal-600);border-color:var(--teal-700)}.app-shell[data-portal=teacher] .teacher-grid{display:grid;gap:14px;align-items:start}.app-shell[data-portal=teacher] .teacher-grid--day{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.app-shell[data-portal=teacher] .teacher-grid--thirds{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell[data-portal=teacher] .teacher-panel{display:flex;flex-direction:column;gap:10px;padding:16px 18px;border:1px solid var(--register-border);border-radius:14px;background:var(--neutral-0);box-shadow:var(--shadow-1)}.app-shell[data-portal=teacher] .teacher-panel .section-head{margin:0}.app-shell[data-portal=teacher] .teacher-panel :is(ul,ol){display:grid;gap:4px;margin:0;padding:0;list-style:none}.app-shell[data-portal=teacher] .teacher-panel__link{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:4px;color:var(--school-primary);font-size:.8125rem;font-weight:var(--weight-semibold);text-decoration:none}.app-shell[data-portal=teacher] .teacher-panel__link:hover{text-decoration:underline;text-underline-offset:2px}.app-shell[data-portal=teacher] .teacher-panel__link svg{width:14px;height:14px}.app-shell[data-portal=teacher] .teacher-day li{display:flex;align-items:flex-start;gap:10px;position:relative;padding:9px 8px 9px 22px;border-radius:10px}.app-shell[data-portal=teacher] .teacher-day__rail{position:absolute;left:5px;top:16px;width:9px;height:9px;border:2px solid var(--neutral-300);border-radius:50%;background:var(--neutral-0)}.app-shell[data-portal=teacher] .teacher-day li:before{content:"";position:absolute;left:9px;top:27px;bottom:-4px;width:1px;background:var(--neutral-200)}.app-shell[data-portal=teacher] .teacher-day li:last-child:before{display:none}.app-shell[data-portal=teacher] .teacher-day li[data-state=completed] .teacher-day__rail{border-color:var(--t-done);background:var(--t-done)}.app-shell[data-portal=teacher] .teacher-day li[data-state=now] .teacher-day__rail{border-color:var(--teal-600);background:var(--teal-500);box-shadow:0 0 0 4px color-mix(in srgb,var(--teal-500) 22%,transparent)}.app-shell[data-portal=teacher] .teacher-day li[data-state=next] .teacher-day__rail{border-color:var(--t-upcoming)}.app-shell[data-portal=teacher] .teacher-day li[data-state=now]{background:color-mix(in srgb,var(--teal-600) 8%,var(--neutral-0))}.app-shell[data-portal=teacher] .teacher-day li[data-state=completed]{opacity:.62}.app-shell[data-portal=teacher] .teacher-day time{width:44px;flex:none;color:var(--navy-700);font-size:.8125rem;font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.app-shell[data-portal=teacher] .teacher-day__body{flex:1;min-width:0}.app-shell[data-portal=teacher] .teacher-day__body b{display:block;color:var(--navy-900);font-size:.875rem;font-weight:var(--weight-semibold);line-height:1.3}.app-shell[data-portal=teacher] .teacher-day__body small{display:block;color:var(--neutral-600);font-size:.75rem;line-height:1.35}.app-shell[data-portal=teacher] .teacher-day__note{color:var(--teal-700)}.app-shell[data-portal=teacher] .teacher-day__state{flex:none;color:var(--neutral-500);font-size:.6875rem;font-weight:var(--weight-semibold)}.app-shell[data-portal=teacher] .teacher-day li[data-state=now] .teacher-day__state{color:var(--teal-700)}.app-shell[data-portal=teacher] .teacher-actions-list li>a{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--register-border);border-radius:12px;color:inherit;text-decoration:none;transition:border-color var(--motion-fast) ease,background-color var(--motion-fast) ease}.app-shell[data-portal=teacher] .teacher-actions-list li>a:hover{border-color:color-mix(in srgb,var(--teal-600) 45%,var(--register-border));background:var(--neutral-50)}.app-shell[data-portal=teacher] .teacher-actions-list__icon{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:10px;background:var(--navy-50)}.app-shell[data-portal=teacher] .teacher-actions-list__icon svg{width:17px;height:17px}.app-shell[data-portal=teacher] .teacher-actions-list li>a>span:nth-child(2){flex:1;min-width:0}.app-shell[data-portal=teacher] .teacher-actions-list b{color:var(--navy-900);font-family:var(--font-heading);font-size:1.0625rem;margin-right:6px}.app-shell[data-portal=teacher] .teacher-actions-list strong{color:var(--navy-900);font-size:.8125rem;font-weight:var(--weight-semibold)}.app-shell[data-portal=teacher] .teacher-actions-list small{display:block;color:var(--neutral-600);font-size:.75rem;line-height:1.35}.app-shell[data-portal=teacher] .teacher-actions-list>li>a>svg:last-child{width:15px;height:15px;flex:none;color:var(--neutral-400)}.app-shell[data-portal=teacher] li[data-tone=blue] .teacher-actions-list__icon{background:color-mix(in srgb,var(--t-teaching) 12%,var(--neutral-0));color:var(--t-teaching)}.app-shell[data-portal=teacher] li[data-tone=purple] .teacher-actions-list__icon{background:color-mix(in srgb,var(--t-assess) 12%,var(--neutral-0));color:var(--t-assess)}.app-shell[data-portal=teacher] li[data-tone=amber] .teacher-actions-list__icon{background:var(--warning-bg);color:var(--warning-text)}.app-shell[data-portal=teacher] li[data-tone=coral] .teacher-actions-list__icon{background:var(--danger-bg);color:var(--danger-text)}.app-shell[data-portal=teacher] .teacher-classes{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px!important}.app-shell[data-portal=teacher] .teacher-classes__card{display:grid;gap:8px;height:100%;padding:14px;border:1px solid var(--register-border);border-top:3px solid var(--t-teaching);border-radius:12px;color:inherit;text-decoration:none;transition:border-color var(--motion-fast) ease,background-color var(--motion-fast) ease}a.teacher-classes__card:hover{border-color:color-mix(in srgb,var(--teal-600) 45%,var(--register-border));background:var(--neutral-50)}.app-shell[data-portal=teacher] .teacher-classes__card--static{cursor:default;background:var(--neutral-50)}.app-shell[data-portal=teacher] .teacher-classes__head b{display:block;color:var(--navy-900);font-family:var(--font-heading);font-size:1rem;line-height:1.25}.app-shell[data-portal=teacher] .teacher-classes__head small,.app-shell[data-portal=teacher] .teacher-classes__next{color:var(--neutral-600);font-size:.75rem}.app-shell[data-portal=teacher] .teacher-classes__stats{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.75rem;color:var(--neutral-600)}.app-shell[data-portal=teacher] .teacher-classes__stats b{color:var(--navy-900);font-weight:var(--weight-semibold)}.app-shell[data-portal=teacher] .teacher-classes__stats span[data-attention] b{color:var(--danger-text)}.app-shell[data-portal=teacher] .teacher-classes__unknown{color:var(--neutral-500);font-style:italic}.app-shell[data-portal=teacher] .teacher-classes__open{display:inline-flex;align-items:center;gap:5px;color:var(--school-primary);font-size:.75rem;font-weight:var(--weight-semibold)}.app-shell[data-portal=teacher] .teacher-classes__open svg{width:13px;height:13px}.app-shell[data-portal=teacher] .teacher-pulse li>a{display:grid;gap:2px;padding:9px 10px;border-left:3px solid var(--neutral-200);border-radius:0 10px 10px 0;color:inherit;text-decoration:none;transition:background-color var(--motion-fast) ease}.app-shell[data-portal=teacher] .teacher-pulse li>a:hover{background:var(--neutral-50)}.app-shell[data-portal=teacher] .teacher-pulse li[data-tone=coral]>a{border-left-color:var(--t-concern)}.app-shell[data-portal=teacher] .teacher-pulse li[data-tone=amber]>a{border-left-color:var(--t-upcoming)}.app-shell[data-portal=teacher] .teacher-pulse li[data-tone=blue]>a{border-left-color:var(--t-teaching)}.app-shell[data-portal=teacher] .teacher-pulse__who{display:flex;align-items:baseline;gap:8px}.app-shell[data-portal=teacher] .teacher-pulse__who b{color:var(--navy-900);font-size:.875rem;font-weight:var(--weight-semibold)}.app-shell[data-portal=teacher] .teacher-pulse strong{display:block;color:var(--navy-800);font-size:.8125rem;font-weight:var(--weight-semibold)}.app-shell[data-portal=teacher] .teacher-pulse small{color:var(--neutral-600);font-size:.6875rem}.app-shell[data-portal=teacher] .teacher-workflow li>a{display:grid;gap:3px;padding:9px 11px;border:1px solid var(--register-border);border-left:3px solid var(--t-assess);border-radius:10px;color:inherit;text-decoration:none;transition:background-color var(--motion-fast) ease}.app-shell[data-portal=teacher] .teacher-workflow li>a:hover{background:var(--neutral-50)}.app-shell[data-portal=teacher] li[data-stage=Prepare]>a{border-left-color:color-mix(in srgb,var(--t-assess) 35%,var(--neutral-0))}.app-shell[data-portal=teacher] li[data-stage=Grade]>a{border-left-color:color-mix(in srgb,var(--t-assess) 60%,var(--neutral-0))}.app-shell[data-portal=teacher] li[data-stage=Submit]>a{border-left-color:var(--teal-600)}.app-shell[data-portal=teacher] .teacher-workflow__head{display:flex;align-items:baseline;gap:8px}.app-shell[data-portal=teacher] .teacher-workflow__head b{color:var(--navy-900);font-family:var(--font-heading);font-size:1.0625rem}.app-shell[data-portal=teacher] .teacher-workflow__head strong{color:var(--navy-900);font-size:.8125rem;font-weight:var(--weight-semibold)}.app-shell[data-portal=teacher] .teacher-workflow__items{display:grid}.app-shell[data-portal=teacher] .teacher-workflow small{color:var(--neutral-600);font-size:.6875rem;line-height:1.4}.app-shell[data-portal=teacher] .teacher-workflow__authority{color:var(--neutral-500)!important;font-style:italic}.app-shell[data-portal=teacher] .teacher-note{margin:0;padding-top:2px;color:var(--neutral-600);font-size:.75rem;line-height:1.45}.app-shell[data-portal=teacher] .teacher-resources li>a{display:flex;align-items:flex-start;gap:10px;padding:8px;border-radius:10px;color:inherit;text-decoration:none;transition:background-color var(--motion-fast) ease}.app-shell[data-portal=teacher] .teacher-resources li>a:hover{background:var(--neutral-50)}.app-shell[data-portal=teacher] .teacher-resources svg{width:17px;height:17px;flex:none;margin-top:1px;color:var(--t-assess)}.app-shell[data-portal=teacher] .teacher-resources b{display:block;color:var(--navy-900);font-size:.8125rem;font-weight:var(--weight-semibold);line-height:1.3}.app-shell[data-portal=teacher] .teacher-resources small{color:var(--neutral-600);font-size:.6875rem}.app-shell[data-portal=teacher] .teacher-resources__links{display:flex;gap:16px;margin-top:auto}.app-shell[data-portal=teacher] .teacher-panel--signal .teacher-signals{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell[data-portal=teacher] .teacher-signals li>a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border:1px solid var(--register-border);border-radius:10px;color:inherit;text-decoration:none;transition:background-color var(--motion-fast) ease}.app-shell[data-portal=teacher] .teacher-signals li>a:hover{background:var(--neutral-50)}.app-shell[data-portal=teacher] .teacher-signals b{display:block;color:var(--navy-900);font-size:.8125rem;font-weight:var(--weight-semibold)}.app-shell[data-portal=teacher] .teacher-signals small{color:var(--neutral-600);font-size:.6875rem}.app-shell[data-portal=teacher] .teacher-signals svg{width:15px;height:15px;flex:none;color:var(--neutral-400)}.app-shell[data-portal=teacher] .teacher-disclosure{margin:0;color:var(--neutral-500);font-size:.6875rem;line-height:1.5}.app-shell[data-portal=teacher] .teacher-empty{color:var(--neutral-600);font-size:.8125rem}@media(max-width:1439px){.app-shell[data-portal=teacher] .teacher-classes{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1280px){.app-shell[data-portal=teacher] .teacher-strip{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.app-shell[data-portal=teacher] .teacher-strip__actions{grid-column:1 / -1;justify-content:flex-start}.app-shell[data-portal=teacher] .teacher-grid--thirds{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1023px){.app-shell[data-portal=teacher] :is(.teacher-grid,.teacher-grid--day,.teacher-grid--thirds){grid-template-columns:minmax(0,1fr)}.app-shell[data-portal=teacher] .teacher-strip{grid-template-columns:minmax(0,1fr);gap:14px}}@media(max-width:767px){.app-shell[data-portal=teacher] .teacher-classes,.app-shell[data-portal=teacher] .teacher-panel--signal .teacher-signals{grid-template-columns:minmax(0,1fr)}.app-shell[data-portal=teacher] .teacher-strip__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell[data-portal=teacher] .teacher-action{min-height:46px;justify-content:center}.app-shell[data-portal=teacher] .teacher-strip__intro h1{font-size:1.375rem}}@media(max-width:480px){.app-shell[data-portal=teacher] .teacher-strip__actions{grid-template-columns:minmax(0,1fr)}.app-shell[data-portal=teacher] .teacher-panel li>a{min-height:48px}.app-shell[data-portal=teacher] .teacher-workflow__items{display:none}}.app-shell[data-portal=parent]{--parent-canvas: var(--register-canvas);--parent-surface: var(--register-surface);--parent-soft: var(--register-soft);--parent-border: #d7e5e3;--parent-ink: var(--register-text);--parent-muted: var(--register-muted);background:var(--parent-canvas)}.app-shell[data-portal=parent] main{background:radial-gradient(circle at 90% 0%,rgba(15,195,158,.09),transparent 280px),var(--parent-canvas)}.app-shell[data-portal=parent] .card{border-color:var(--parent-border);box-shadow:0 4px 16px #0b2a3e0b}.app-shell[data-portal=parent] .portal-title-chip{border:1px solid var(--teal-100);background:var(--teal-50);color:var(--navy-800)}.app-shell[data-portal=parent] .page-heading{align-items:center}.app-shell[data-portal=parent] .page-heading p{max-width:760px}.parent-screen{width:100%;max-width:1360px;margin:0 auto}.parent-context-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:-4px 0 14px;color:var(--parent-muted);font-size:.82rem}.parent-context-line>span:not(.badge){padding-right:8px;border-right:1px solid var(--parent-border)}.parent-child-switcher{min-width:0;margin:12px 0 20px;padding:0;border:0}.parent-child-switcher legend{margin-bottom:8px;color:var(--parent-muted);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.parent-child-switcher__rail{display:flex;gap:10px;max-width:100%;overflow-x:auto;padding:3px 2px 8px;scroll-snap-type:x proximity;scrollbar-color:var(--teal-500) var(--neutral-100)}.parent-child-switcher__rail button{display:flex;align-items:center;gap:10px;flex:0 0 250px;min-height:76px;padding:10px;border:1px solid var(--parent-border);border-radius:14px;background:var(--parent-surface);color:var(--parent-ink);text-align:left;scroll-snap-align:start}.parent-child-switcher__rail button.is-selected{border:2px solid var(--teal-600);background:var(--parent-soft);box-shadow:0 3px 12px #0fc39e21}.parent-child-switcher__rail button>span:last-child{display:grid;min-width:0;gap:2px}.parent-child-switcher__rail button b,.parent-child-switcher__rail button small,.parent-child-switcher__rail button span span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parent-child-switcher__rail button small{color:var(--parent-muted)}.parent-child-switcher__rail button span span{color:var(--teal-800);font-size:.74rem;font-weight:700}.parent-welcome-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:28px;border:0!important;background:linear-gradient(125deg,#0b2a3e,#125166 62%,#0b776a);color:#fff}.parent-welcome-card h2,.parent-welcome-card p,.parent-welcome-card .eyebrow{color:inherit}.parent-welcome-card h2{margin:7px 0;font-size:clamp(1.45rem,3vw,2rem)}.parent-welcome-card p{max-width:680px;margin:0;color:#d9f5ef}.parent-next-class{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;min-width:235px;padding:16px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:#051b296b}.parent-next-class svg{grid-row:1 / 3;align-self:center;color:#6fe3c8}.parent-next-class span{color:#c7e8e3;font-size:.75rem}.parent-today-panel{margin:16px 0;padding:20px;border:1px solid var(--parent-border);border-radius:16px;background:var(--parent-surface)}.parent-today-grid,.parent-snapshot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.parent-today-item{display:grid;grid-template-columns:auto 1fr;gap:2px 9px;min-width:0;padding:12px;border-radius:12px;background:var(--parent-soft)}.parent-today-item>span{grid-row:1 / 3;color:var(--teal-700)}.parent-today-item small{color:var(--parent-muted)}.parent-today-item b{overflow-wrap:anywhere}.parent-quick-actions{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0}.parent-snapshot-grid{margin:14px 0}.parent-snapshot-grid .stat-card,.parent-mini-stat{min-width:0;border-top:3px solid var(--teal-500)}.parent-two-column,.parent-message-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);gap:16px;margin:16px 0}.parent-action-list,.parent-update-list,.parent-thread-list,.parent-notification-list,.parent-event-list,.parent-day-timeline{display:grid;gap:0;margin:0;padding:0;list-style:none}.parent-action-list li,.parent-update-list li,.parent-thread-list li,.parent-notification-list li,.parent-event-list li,.parent-day-timeline li{display:flex;align-items:center;gap:12px;min-width:0;padding:13px 0;border-bottom:1px solid var(--parent-border)}.parent-action-list li:last-child,.parent-update-list li:last-child,.parent-thread-list li:last-child,.parent-notification-list li:last-child,.parent-event-list li:last-child,.parent-day-timeline li:last-child{border-bottom:0}.parent-action-list li>span:not(.badge),.parent-update-list li>span:not(.badge),.parent-thread-list li>span:not(.badge):not(.parent-thread-avatar),.parent-notification-list li>span:not(.badge),.parent-event-list li>span:not(.badge),.parent-day-timeline li>span:not(.badge){display:grid;min-width:0;flex:1;gap:3px}.parent-action-list small,.parent-update-list small,.parent-thread-list small,.parent-notification-list small,.parent-event-list small,.parent-day-timeline small{color:var(--parent-muted)}.parent-day-timeline time,.parent-event-list time{width:62px;flex:0 0 62px;color:var(--teal-800);font-weight:700}.parent-family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.parent-child-card{display:grid;align-content:start;gap:14px}.parent-family-list,.parent-assignment-grid,.parent-announcement-grid,.parent-finance-cards,.parent-result-cards,.parent-record-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0}.parent-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.parent-detail-grid .detail{min-width:0;padding:10px 0;border-bottom:1px solid var(--parent-border)}.parent-detail-grid dt{color:var(--parent-muted);font-size:.75rem}.parent-detail-grid dd{margin:4px 0 0;overflow-wrap:anywhere;color:var(--parent-ink);font-weight:650}.parent-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(68px,1fr));gap:8px;margin:0;padding:0;overflow-x:auto;list-style:none}.parent-calendar-grid li{display:grid;gap:8px;min-height:84px;padding:10px;border:1px solid var(--parent-border);border-radius:10px;background:#fff}.parent-calendar-grid li span{font-size:.72rem;font-weight:700}.parent-calendar-grid .is-present{border-left:4px solid var(--teal-600)}.parent-calendar-grid .is-late{border-left:4px solid #d58a10}.parent-calendar-grid .is-excused{border-left:4px solid #397ac0}.parent-calendar-grid .is-weekend{background:var(--neutral-100);color:var(--parent-muted)}.parent-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;color:var(--parent-muted);font-size:.78rem}.parent-results-card .table-wrap,.parent-results-card table{width:100%}.parent-result-header,.parent-invoice header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.parent-report-card{max-width:1040px;margin:0 auto 16px;padding:clamp(18px,4vw,38px)}.parent-report-card>header{padding-bottom:18px;border-bottom:2px solid var(--navy-800);text-align:center}.parent-report-comments{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.parent-report-comments section{padding:15px;border-radius:12px;background:var(--parent-soft)}.parent-assignment-card{display:grid;align-content:start;gap:12px}.parent-assignment-card dl{display:grid;gap:6px;margin:0}.parent-schedule-list{display:grid;gap:10px}.parent-fee-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border-radius:16px;background:var(--navy-800);color:#fff}.parent-fee-hero>div,.parent-amount-summary{display:grid;gap:3px}.parent-fee-hero strong,.parent-amount-summary strong{font-variant-numeric:tabular-nums;font-size:clamp(1.7rem,5vw,2.5rem)}.parent-fee-hero small{color:#c6e7e2}.parent-amount-summary{margin:16px 0;padding:18px;border-radius:14px;background:var(--parent-soft)}.parent-payment-form,.parent-form{max-width:980px;margin:0 auto 16px}.parent-payment-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px;padding:0;list-style:none}.parent-payment-steps li{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:10px;background:var(--neutral-100);color:var(--parent-muted);font-weight:700}.parent-payment-steps li.active{background:var(--teal-100);color:var(--navy-900)}.parent-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.parent-sticky-action{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding-top:16px;border-top:1px solid var(--parent-border)}.parent-review-card,.parent-outcome,.parent-receipt,.parent-access-hero,.parent-offer-card{max-width:820px;margin:0 auto 16px}.parent-outcome{display:grid;justify-items:center;gap:12px;padding:32px;text-align:center}.parent-outcome>svg{width:64px;height:64px}.parent-outcome--success>svg{color:var(--teal-700)}.parent-outcome--failed>svg{color:#b42318}.parent-receipt{position:relative;overflow:hidden;padding:clamp(20px,5vw,42px)}.parent-receipt:before{position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,var(--navy-800),var(--teal-500));content:""}.parent-receipt__brand{display:flex;align-items:center;gap:10px}.parent-receipt__brand span{display:grid}.parent-receipt__amount{display:block;margin:14px 0;font-variant-numeric:tabular-nums;font-size:clamp(2rem,7vw,3.25rem);color:var(--navy-800)}.parent-thread-avatar{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:var(--parent-soft);color:var(--teal-800);font-weight:800}.parent-thread-list p{margin:0;color:var(--parent-muted)}.parent-bubbles{display:grid;gap:12px;margin:18px 0}.parent-bubbles p{display:grid;gap:5px;max-width:78%;margin:0;padding:13px;border-radius:14px}.parent-bubbles .incoming{background:var(--neutral-100)}.parent-bubbles .outgoing{justify-self:end;background:var(--parent-soft)}.parent-access-hero{border-top:4px solid var(--teal-500)!important}.parent-offer-card ul{display:grid;gap:8px;padding-left:20px}.parent-support-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.parent-restricted-state,.parent-module-state{display:grid;justify-items:start;gap:14px;max-width:780px;margin:22px auto;padding:28px}.parent-restricted-state>svg,.parent-module-state>svg{width:44px;height:44px;color:var(--teal-700)}@media(max-width:1023px){.parent-today-grid,.parent-snapshot-grid,.parent-family-grid,.parent-family-list,.parent-assignment-grid,.parent-announcement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.app-shell[data-portal=parent] main{padding-bottom:78px}.app-shell[data-portal=parent] .page-heading{gap:12px}.app-shell[data-portal=parent] .page-heading>.button{width:100%}.parent-context-line{margin-top:0}.parent-child-switcher__rail button{flex-basis:min(82vw,270px)}.parent-welcome-card,.parent-two-column,.parent-message-layout,.parent-report-comments{grid-template-columns:1fr}.parent-next-class{min-width:0}.parent-today-grid,.parent-snapshot-grid,.parent-family-grid,.parent-family-list,.parent-assignment-grid,.parent-announcement-grid,.parent-finance-cards,.parent-result-cards,.parent-record-cards,.parent-form-grid{grid-template-columns:1fr}.parent-detail-grid{grid-template-columns:1fr 1fr}.parent-fee-hero,.parent-result-header,.parent-invoice header{align-items:stretch;flex-direction:column}.parent-fee-hero .button,.parent-sticky-action .button{width:100%}.parent-sticky-action{position:sticky;bottom:58px;z-index:5;align-items:stretch;flex-direction:column;margin-inline:-16px;padding:14px 16px;background:#fff;box-shadow:0 -5px 18px #0b2a3e14}.parent-payment-steps li span{font-size:.72rem}.parent-action-list li,.parent-notification-list li{align-items:flex-start;flex-wrap:wrap}.parent-action-list li .button,.parent-notification-list li .button{margin-left:auto}.parent-support-options{grid-template-columns:1fr}.parent-bubbles p{max-width:90%}.app-shell[data-portal=parent] .bottom-nav a{min-width:0;flex:1;padding:4px}}@media(max-width:389px){.parent-detail-grid,.parent-today-grid{grid-template-columns:1fr}.parent-payment-steps li{gap:3px}.parent-payment-steps li span{max-width:60px;text-align:center}}@media(prefers-reduced-motion:reduce){.parent-child-switcher__rail{scroll-behavior:auto}}.app-shell[data-portal=student]{--student-canvas: var(--register-canvas);--student-surface: var(--register-surface);--student-soft: var(--register-soft);--student-border: var(--register-border);--student-ink: var(--register-text);--student-muted: var(--register-muted);background:var(--student-canvas)}.app-shell[data-portal=student] main{background:radial-gradient(circle at 88% 0%,rgba(15,195,158,.1),transparent 300px),var(--student-canvas)}.app-shell[data-portal=student] .card{border-color:var(--student-border);box-shadow:0 4px 16px #0b2a3e0b}.app-shell[data-portal=student] .portal-title-chip{border:1px solid var(--teal-100);background:var(--teal-50);color:var(--navy-800)}.student-screen{width:100%;max-width:1360px;margin:0 auto}.student-context-line{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:-4px 0 18px;color:var(--student-muted);font-size:.82rem}.student-context-line img{width:34px;height:34px;border:2px solid #fff;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px var(--student-border)}.student-context-line>span:not(.badge){display:grid;gap:1px;min-width:0}.student-context-line>span:not(.badge)+span:not(.badge){padding-left:10px;border-left:1px solid var(--student-border)}.student-context-line small{color:var(--student-muted)}.student-welcome{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:28px;border:0!important;background:linear-gradient(125deg,#0b2a3e,#125166 62%,#0b776a);color:#fff}.student-welcome h2,.student-welcome p,.student-welcome .eyebrow{color:inherit}.student-welcome h2{margin:7px 0;font-size:clamp(1.45rem,3vw,2rem)}.student-welcome p{margin:0;color:#d9f5ef}.student-next{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;min-width:245px;padding:15px;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:#051b296b}.student-next svg{grid-row:1 / 4;align-self:center;color:#70e3c9}.student-next span,.student-next small{color:#cae9e4}.student-task-grid,.student-stat-grid,.student-three-grid,.student-resource-grid,.student-subject-grid,.student-task-columns,.student-card-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0}.student-task-card,.student-subject-card,.student-resource-grid>.card{display:grid;align-content:start;gap:9px;min-width:0}.student-task-card svg,.student-resource-grid svg{color:var(--teal-700)}.student-task-card .button,.student-subject-card .button,.student-resource-grid .button{align-self:end;justify-self:start;margin-top:4px}.student-stat-grid .stat-card{min-width:0;border-top:3px solid var(--teal-500)}.student-three-grid,.student-resource-grid,.student-subject-grid,.student-card-list{grid-template-columns:repeat(3,minmax(0,1fr))}.student-task-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.student-two-column,.student-message-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:16px;margin:16px 0}.student-list,.student-timeline{display:grid;gap:0;margin:0;padding:0;list-style:none}.student-list li,.student-timeline li{display:flex;align-items:center;gap:12px;min-width:0;padding:13px 0;border-bottom:1px solid var(--student-border)}.student-list li:last-child,.student-timeline li:last-child{border-bottom:0}.student-list li>span:not(.badge):not(.student-avatar-letter),.student-timeline li>span:not(.badge){display:grid;min-width:0;flex:1;gap:3px}.student-list small,.student-timeline small{color:var(--student-muted);overflow-wrap:anywhere}.student-timeline time{flex:0 0 58px;color:var(--teal-800);font-weight:700}.student-timeline li.is-current{padding-inline:10px;border-left:4px solid var(--teal-600);background:var(--student-soft)}.student-timeline li.is-due{padding-inline:10px;border-left:4px solid #c77800}.student-filter-card,.student-view-tabs,.student-question-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:12px 0}.student-filter-card .search-field{flex:1 1 250px}.student-filter-card .input{flex:0 1 220px}.student-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:14px 0}.student-detail-grid .detail{min-width:0;padding:10px 0;border-bottom:1px solid var(--student-border)}.student-detail-grid dt{color:var(--student-muted);font-size:.75rem}.student-detail-grid dd{margin:4px 0 0;overflow-wrap:anywhere;color:var(--student-ink);font-weight:650}.student-subject-hero,.student-practice-hero,.student-offer-hero,.student-access-hero{padding:clamp(20px,4vw,30px);background:linear-gradient(135deg,#0d344c,#126b70);color:#fff}.student-subject-hero h2,.student-subject-hero p,.student-practice-hero h2,.student-practice-hero p,.student-offer-hero h2,.student-offer-hero p,.student-access-hero h2,.student-access-hero p{color:inherit}.student-offer-hero--boost{background:linear-gradient(135deg,#0b4353,#087b6c)}.student-offer-hero>svg{color:#7be5cc}.student-progress{width:100%;height:9px;overflow:hidden;margin:12px 0;border-radius:999px;background:#c8e0dc73}.student-progress span{display:block;height:100%;border-radius:inherit;background:var(--teal-500)}.student-calendar{display:grid;grid-template-columns:repeat(7,minmax(88px,1fr));gap:8px;margin:0;padding:0 0 6px;overflow-x:auto;list-style:none}.student-calendar li{display:grid;gap:7px;min-height:76px;padding:10px;border:1px solid var(--student-border);border-radius:10px}.student-calendar .is-present{border-left:4px solid var(--teal-600)}.student-calendar .is-late{border-left:4px solid #c77800}.student-calendar .is-excused{border-left:4px solid #3578b8}.student-result-head,.student-report-card>header,.student-question-card>header,.student-profile-card{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.student-result-average{display:grid;text-align:right;font-variant-numeric:tabular-nums;font-size:clamp(1.6rem,4vw,2.3rem)}.student-result-average small{color:var(--student-muted);font-size:.72rem;font-weight:500}.student-report-card{max-width:1060px;margin:0 auto 16px;padding:clamp(18px,4vw,36px)}.student-report-card>header{padding-bottom:18px;border-bottom:2px solid var(--navy-800)}.student-report-card>header img{width:58px;height:58px}.student-report-comments{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:18px}.student-report-comments section{padding:14px;border-radius:12px;background:var(--student-soft)}.student-question-card{max-width:920px;margin-inline:auto}.student-question-card fieldset{display:grid;gap:9px;margin:18px 0;padding:0;border:0}.student-question-card legend{margin-bottom:12px;color:var(--student-ink);font-size:1.04rem;font-weight:650}.student-question-card header strong{display:grid;text-align:right;font-variant-numeric:tabular-nums}.student-question-card header small{color:var(--student-muted);font-size:.65rem}.student-question-map{display:grid;grid-template-columns:repeat(10,minmax(38px,1fr));gap:8px;margin:16px 0}.student-question-map button{min-height:42px;border:1px solid var(--student-border);border-radius:9px;background:#fff;color:var(--student-ink)}.student-question-map .is-answered{border-color:var(--teal-600);background:var(--student-soft)}.student-question-map .is-flagged{border:2px dashed #b36b00}.student-question-map .is-unanswered{border:2px solid #b33737}.student-practice-result{display:grid;justify-items:center;max-width:680px;margin-inline:auto;text-align:center}.student-practice-result>svg{width:48px;height:48px;color:var(--teal-700)}.student-avatar-letter{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:50%;background:var(--navy-800);color:#fff;font-weight:700}.student-profile-card{justify-content:flex-start;align-items:center}.student-profile-card img{width:92px;height:92px;border-radius:50%;object-fit:cover}.student-profile-card>div{min-width:0}.student-state-card{max-width:760px}.student-state-card>svg{width:38px;height:38px;color:var(--teal-700)}.student-access-card{border-top:4px solid var(--teal-500)!important}.student-screen blockquote{margin:15px 0;padding:15px;border-left:4px solid var(--teal-600);background:var(--student-soft)}.app-shell[data-portal=student] .money,.app-shell[data-portal=student] table{font-variant-numeric:tabular-nums}@media(max-width:1023px){.student-task-grid,.student-stat-grid,.student-subject-grid,.student-resource-grid,.student-three-grid,.student-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}.student-two-column,.student-message-layout{grid-template-columns:1fr}}@media(max-width:639px){.student-context-line>span:not(.badge)+span:not(.badge){width:100%;padding:7px 0 0;border:0}.student-welcome{grid-template-columns:1fr;padding:20px}.student-next{min-width:0}.student-task-grid,.student-stat-grid,.student-subject-grid,.student-resource-grid,.student-three-grid,.student-task-columns,.student-card-list{grid-template-columns:1fr}.student-filter-card{align-items:stretch}.student-filter-card .search-field,.student-filter-card .input{width:100%;flex-basis:auto}.student-detail-grid,.student-report-comments{grid-template-columns:1fr}.student-timeline li{align-items:flex-start}.student-result-head,.student-report-card>header,.student-question-card>header{display:grid}.student-result-average,.student-question-card header strong{text-align:left}.student-report-card>header img{width:46px;height:46px}.student-question-map{grid-template-columns:repeat(5,minmax(38px,1fr))}.student-question-actions{align-items:stretch}.student-question-actions .button{width:100%}.student-profile-card{display:grid;justify-items:start}}@media(prefers-reduced-motion:reduce){.app-shell[data-portal=student] *,.app-shell[data-portal=student] *:before,.app-shell[data-portal=student] *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.app-shell[data-portal=agent]{--agent-canvas: var(--register-canvas);--agent-surface: var(--register-surface);--agent-soft: var(--register-soft);--agent-border: var(--register-border);--agent-ink: var(--register-text);--agent-muted: var(--register-muted);background:var(--agent-canvas)}.app-shell[data-portal=agent] main{background:linear-gradient(180deg,rgba(17,136,119,.05),transparent 230px),var(--agent-canvas)}.app-shell[data-portal=agent] .card{border-color:var(--agent-border);box-shadow:0 3px 14px #0c2e3f0b}.app-shell[data-portal=agent] .portal-title-chip{border:1px solid var(--teal-100);background:var(--teal-50);color:var(--navy-800)}.agent-screen{width:100%;max-width:1380px;margin:0 auto}.agent-context-line{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:-4px 0 18px;color:var(--agent-muted);font-size:.82rem}.agent-context-line img{width:34px;height:34px;border:2px solid #fff;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px var(--agent-border)}.agent-context-line>span:not(.badge){display:grid;min-width:0;gap:1px}.agent-context-line>span:not(.badge)+span:not(.badge){padding-left:10px;border-left:1px solid var(--agent-border)}.agent-context-line small{color:var(--agent-muted)}.agent-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:28px;border:0!important;background:linear-gradient(125deg,#0b2a3e,#124b5d 62%,#087565);color:#fff}.agent-hero h2,.agent-hero p,.agent-hero .eyebrow{color:inherit}.agent-hero h2{margin:7px 0;font-size:clamp(1.45rem,3vw,2rem)}.agent-hero p{margin:0;color:#d8f2ed}.agent-hero-next{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px;min-width:280px;padding:15px;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:#041c286b}.agent-hero-next svg{grid-row:1 / 4;align-self:center;color:#76e5ce}.agent-hero-next span,.agent-hero-next small{color:#cdebe6}.agent-stat-grid,.agent-ledger-grid,.agent-resource-grid,.agent-task-columns,.agent-card-list,.agent-demo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0}.agent-stat-grid .stat-card{min-width:0;border-top:3px solid var(--teal-500)}.agent-stat-grid .stat-card svg{color:var(--teal-700)}.agent-ledger-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.agent-ledger-grid .ledger-card{min-width:0}.agent-task-columns,.agent-card-list,.agent-resource-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.agent-two-column{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:16px;margin:16px 0}.agent-stack{display:grid;align-content:start;gap:16px}.agent-task-list,.agent-feed,.agent-day,.agent-timeline,.agent-checklist{display:grid;gap:0;margin:0;padding:0;list-style:none}.agent-task-list li,.agent-feed li,.agent-day li,.agent-timeline li{display:flex;align-items:center;gap:12px;min-width:0;padding:13px 0;border-bottom:1px solid var(--agent-border)}.agent-task-list li:last-child,.agent-feed li:last-child,.agent-day li:last-child,.agent-timeline li:last-child{border-bottom:0}.agent-task-list li>span:not(.badge),.agent-feed li>span:not(.badge),.agent-day li>span,.agent-timeline li>span{display:grid;min-width:0;flex:1;gap:3px}.agent-task-list small,.agent-feed small,.agent-day small,.agent-timeline small{color:var(--agent-muted);overflow-wrap:anywhere}.agent-task-list time,.agent-day time{flex:0 0 50px;color:var(--teal-800);font-weight:700}.agent-timeline time{flex:0 0 116px;color:var(--agent-muted);font-size:.78rem}.agent-day li.is-current{padding-inline:10px;border-left:4px solid var(--teal-600);background:var(--agent-soft)}.agent-mini-pipeline{display:grid;gap:7px}.agent-mini-pipeline div{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid var(--agent-border);border-radius:9px;background:#f8fbfb}.agent-pipeline{display:grid;grid-template-columns:repeat(6,minmax(145px,1fr));gap:10px;margin:16px 0}.agent-pipeline>article,.agent-stage-column{display:grid;align-content:start;gap:9px;min-width:0;padding:13px;border:1px solid var(--agent-border);border-radius:12px;background:#f9fbfb}.agent-pipeline>article>strong{font-size:1.7rem;color:var(--navy-800)}.agent-pipeline small{color:var(--agent-muted)}.agent-stage-column header{display:flex;justify-content:space-between;gap:8px;align-items:center}.agent-stage-column article{display:grid;gap:8px;padding:11px;border:1px solid var(--agent-border);border-radius:9px;background:#fff}.agent-stage-column span,.agent-stage-column small{color:var(--agent-muted);font-size:.75rem;overflow-wrap:anywhere}.agent-filter-bar{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-bottom:16px}.agent-filter-bar .form-field{flex:1 1 210px}.agent-school-hero,.agent-resource-hero,.agent-period-head,.agent-statement-head,.agent-profile-card{display:flex;align-items:center;justify-content:space-between;gap:18px}.agent-school-hero p,.agent-profile-card p{display:flex;align-items:center;gap:6px}.agent-school-hero h2{margin:8px 0}.agent-form-card{max-width:1050px}.agent-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.agent-form-grid .form-field:has(textarea){grid-column:1 / -1}.agent-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:14px 0}.agent-detail-grid .detail{min-width:0;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--agent-border)}.agent-detail-grid dt{flex:1 1 5rem;color:var(--agent-muted);font-size:.75rem}.agent-detail-grid dd{flex:1 1 8rem;min-width:4rem;margin:4px 0 0;overflow-wrap:break-word;color:var(--agent-ink);font-weight:650}.agent-demo-grid article{display:grid;gap:8px;min-width:0;padding:14px;border:1px solid var(--agent-border);border-radius:12px;background:#fff}.agent-demo-grid small{color:var(--agent-muted);overflow-wrap:anywhere}.agent-checklist{gap:9px}.agent-checklist li{display:flex;align-items:center;gap:8px}.agent-checklist svg{flex:0 0 auto;color:var(--teal-700)}.agent-onboarding-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:16px 0}.agent-onboarding-steps div{display:grid;gap:6px;padding:14px;border:1px solid var(--agent-border);border-radius:11px;background:#fff}.agent-onboarding-steps span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e6ecee;font-weight:700}.agent-onboarding-steps small{color:var(--agent-muted)}.agent-onboarding-steps .is-done{border-top:3px solid var(--teal-600)}.agent-onboarding-steps .is-done span{background:var(--teal-100);color:var(--teal-800)}.agent-onboarding-steps .is-current{border-top:3px solid #c77800}.agent-referral-card{display:grid;align-content:center;justify-items:start;gap:12px;min-height:260px;background:linear-gradient(135deg,#effaf7,#fff)}.agent-referral-card>svg{color:var(--teal-700)}.agent-referral-card code{max-width:100%;overflow-wrap:anywhere;font-size:.9rem}.agent-referral-card>div{display:flex;flex-wrap:wrap;gap:8px}.agent-provisional{padding:9px 11px;border-left:4px solid #c77800;background:#fff7e7;color:#774d06;font-size:.78rem;font-weight:700}.agent-ledger-card .table-wrap,[data-agent-priority=commission-ledger] .table-wrap,[data-agent-priority=commission-dashboard] .table-wrap{font-variant-numeric:tabular-nums}.app-shell[data-portal=agent] .money{white-space:nowrap;font-variant-numeric:tabular-nums}.app-shell[data-portal=agent] code{overflow-wrap:anywhere}.agent-state-card{display:grid;justify-items:start;gap:12px;max-width:820px}.agent-state-card>svg{width:34px;height:34px;color:var(--teal-700)}.agent-state-card .badge--danger+h2{color:#9b2c2c}.agent-funnel{display:grid;gap:8px;margin:16px 0}.agent-funnel div{display:grid;grid-template-columns:minmax(100px,1fr) auto;gap:2px 12px;padding:10px 14px;border-left:5px solid var(--teal-600);border-radius:0 9px 9px 0;background:linear-gradient(90deg,var(--agent-soft),#fff)}.agent-funnel small{grid-column:1 / -1;color:var(--agent-muted)}.agent-resource-grid>.alert{grid-column:1 / -1}.agent-resource-grid .card{display:grid;align-content:start;min-width:0}.agent-resource-grid .button{justify-self:start;margin-top:auto}.agent-resource-hero{justify-content:flex-start;padding:24px;background:linear-gradient(135deg,#0f344b,#0e6f68);color:#fff}.agent-resource-hero h2,.agent-resource-hero p{color:inherit}.agent-resource-hero>svg{flex:0 0 auto;width:36px;height:36px;color:#7be4ce}.agent-profile-card{justify-content:flex-start}.agent-profile-card img{width:88px;height:88px;border-radius:20px;object-fit:cover}@media(max-width:1180px){.agent-stat-grid,.agent-ledger-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.agent-pipeline{grid-template-columns:repeat(3,minmax(0,1fr))}.agent-resource-grid,.agent-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}.agent-onboarding-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.agent-screen{padding-bottom:6px}.agent-context-line>span:not(.badge)+span:not(.badge){width:100%;padding:4px 0 0;border:0}.agent-hero{grid-template-columns:1fr;padding:20px}.agent-hero-next{width:100%;min-width:0}.agent-two-column,.agent-task-columns,.agent-resource-grid,.agent-card-list,.agent-form-grid{grid-template-columns:1fr}.agent-stat-grid,.agent-ledger-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.agent-pipeline,.agent-pipeline--full{grid-template-columns:1fr}.agent-stage-column{grid-template-columns:minmax(0,1fr)}.agent-onboarding-steps{grid-template-columns:1fr}.agent-onboarding-steps div{grid-template-columns:auto minmax(0,1fr);align-items:center}.agent-onboarding-steps small{grid-column:2}.agent-demo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.agent-school-hero,.agent-period-head,.agent-statement-head{align-items:flex-start;flex-direction:column}.agent-school-hero .button{width:100%}.agent-timeline li{align-items:flex-start;flex-wrap:wrap}.agent-timeline time{flex-basis:100%}.agent-funnel div{width:100%!important}}@media(max-width:460px){.agent-stat-grid,.agent-ledger-grid,.agent-demo-grid,.agent-detail-grid{grid-template-columns:1fr}.agent-task-list li,.agent-day li{align-items:flex-start;flex-wrap:wrap}.agent-task-list time,.agent-day time{flex-basis:45px}.agent-task-list li>span:not(.badge),.agent-day li>span{min-width:calc(100% - 60px)}.agent-task-list .badge,.agent-day .button{margin-left:60px}.agent-profile-card{align-items:flex-start}.agent-profile-card img{width:68px;height:68px}}@media(prefers-reduced-motion:reduce){.app-shell[data-portal=agent] *{scroll-behavior:auto!important}}@media(max-width:1023px){:root{--sidebar: var(--sidebar-collapsed)}.sidebar .organisation-copy,.sidebar .organisation-chevron,.sidebar nav span,.sidebar .account-copy,.sidebar .account-trigger>svg,.sidebar .sidebar-collapse span{display:none}.sidebar{padding-inline:13px;overflow:visible}.sidebar nav a,.sidebar .organisation-trigger,.sidebar .account-trigger,.sidebar .sidebar-collapse{justify-content:center;padding-inline:0;position:relative}.sidebar .account-popover{left:calc(100% + 12px);bottom:0;width:280px}.sidebar [data-tooltip]:hover:after,.sidebar [data-tooltip]:focus-visible:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 12px);top:50%;translate:0 -50%;z-index:80;padding:7px 10px;border-radius:7px;background:var(--navy-900);color:var(--neutral-0);box-shadow:var(--shadow-2);white-space:nowrap;font-size:12px}.stat-grid,.module-grid,.filter-grid{grid-template-columns:repeat(2,1fr)}.showcase-chart-states{grid-template-columns:1fr}.portal-selector-grid,.review-panel__controls{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){:root{--sidebar: 0px}.sidebar{display:none}.workspace{margin-left:0;padding-bottom:68px}.topbar{height:64px;padding:0 12px}.topbar>.icon-button:first-child{display:grid}.topbar-context{display:block;flex:1;max-width:calc(100vw - 156px)}.topbar-context .organisation-trigger{background:transparent;color:var(--navy-800);padding-inline:2px}.topbar-context .organisation-copy b{color:var(--navy-800)}.topbar-context .organisation-copy small,.topbar-context .organisation-copy>span{color:var(--neutral-600)}.topbar-context .organisation-popover{top:calc(100% + 10px);left:0;width:min(360px,calc(100vw - 24px))}main{padding:18px 14px 82px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading>.button{width:100%}.stat-grid,.dashboard-grid,.three-grid,.ledger-grid,.consumer-summary,.module-grid,.filter-grid{grid-template-columns:1fr}.toolbar,.inline-field{align-items:stretch;flex-direction:column}.desktop-only{display:none}.mobile-only{display:grid}.card{padding:16px}.consumer-hero{padding:20px}.attendance-ring{width:84px;height:84px;border-width:6px}.bottom-nav{display:flex;position:fixed;inset:auto 0 0;z-index:40;background:var(--neutral-0);border-top:1px solid var(--neutral-200);justify-content:space-around;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav svg{width:20px}.dialog-backdrop{align-items:end;padding:0}.dialog{width:100%;max-height:88vh;border-radius:22px 22px 0 0;padding-bottom:max(20px,env(safe-area-inset-bottom))}.review-panel{left:8px;right:8px;bottom:68px}.review-panel small{display:none}.global-banner{top:64px}.horizontal{grid-auto-flow:row}.plan-grid{display:grid}.portal-footer{flex-direction:column;padding:18px 14px calc(86px + env(safe-area-inset-bottom))}.portal-footer--consumer{padding-bottom:calc(86px + env(safe-area-inset-bottom))}.notification-panel{position:fixed;inset:64px 8px auto;width:auto;max-height:calc(100dvh - 74px)}.chart-card{min-height:330px}.chart-plot{height:230px}.portal-title-chip{display:none}.portal-selector-grid{grid-template-columns:1fr}.portal-selector-card{min-height:220px}.review-landing__header{padding-inline:14px}.review-panel__controls{max-height:50dvh;overflow-y:auto}.role-context-strip{align-items:flex-start;flex-direction:column}.role-context-strip small{margin-left:0}.planned-screen dl{grid-template-columns:1fr}}@media(max-width:420px){.topbar-context .organisation-logo,.topbar-context .organisation-chevron{display:none}.topbar-context{max-width:calc(100vw - 142px)}.topbar-context .organisation-trigger{padding:0}.topbar-context .organisation-copy b{font-size:13px}.stat-grid{gap:10px}.stat-card strong{font-size:1.4rem}.consumer-hero{align-items:flex-start}.attendance-ring{width:76px;height:76px}.schedule-grid{grid-template-columns:1fr}.stepper li{font-size:12px}.review-panel b{display:none}.notification-actions{display:grid;grid-template-columns:1fr 1fr}.notification-actions button{justify-content:center}}.app-shell[data-shell=edunux]{--sidebar: var(--edunux-shell-width);--shell-header-height: var(--portal-header-height, 76px);--shell-accent: var(--edunux-accent);--shell-motion: .14s;--radius-control: 8px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 14px;--shadow-1: 0 1px 2px rgba(8, 18, 38, .05);--shadow-2: 0 2px 8px rgba(8, 18, 38, .07);--shadow-3: 0 8px 20px rgba(8, 18, 38, .1)}.app-shell[data-shell=edunux] .sidebar{width:var(--sidebar);padding:0;overflow:hidden;border-right:1px solid var(--edunux-border);background:var(--edunux-sidebar);box-shadow:none;color:var(--edunux-text);font-family:var(--font-sans)}.app-shell[data-shell=edunux] .sidebar-organisation{display:flex;flex:none;align-items:center;box-sizing:border-box;height:var(--shell-header-height);margin:0;padding:0 16px;border-bottom:1px solid var(--edunux-divider);background:transparent}.app-shell[data-shell=edunux] .sidebar-identity{display:flex;align-items:center;gap:12px;width:100%;min-width:0;color:inherit;text-decoration:none}.app-shell[data-shell=edunux] .sidebar-identity :is(.organisation-logo,.school-logo){display:grid;place-items:center;width:46px;height:46px;flex:none;box-sizing:border-box}.app-shell[data-shell=edunux] .sidebar-identity :is(.organisation-logo,.school-logo) img{width:100%;height:100%;object-fit:contain}.app-shell[data-shell=edunux] .sidebar-identity .school-logo--placeholder{border:1px dashed color-mix(in srgb,var(--edunux-text-muted) 45%,transparent);border-radius:10px;background:color-mix(in srgb,var(--edunux-text) 6%,transparent);color:var(--edunux-text-soft)}.app-shell[data-shell=edunux] .sidebar-identity .school-logo--placeholder .school-logo__placeholder-label{font-size:.5rem;font-weight:700;letter-spacing:.04em;line-height:1.15;text-align:center;text-transform:uppercase}.app-shell[data-shell=edunux] .sidebar-identity__copy{display:grid;gap:2px;min-width:0}.app-shell[data-shell=edunux] .sidebar-identity__copy b{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--edunux-text);font-family:var(--font-heading);font-size:.9375rem;font-weight:700;line-height:1.2;white-space:normal;overflow-wrap:anywhere}.app-shell[data-portal=school-owner] .sidebar-organisation{height:auto;min-height:var(--shell-header-height);padding-block:10px}.app-shell[data-portal=school-owner] .sidebar-identity__copy b{display:block;overflow:visible;-webkit-line-clamp:unset}.app-shell[data-shell=edunux] .sidebar-identity__copy span{color:var(--edunux-text-muted);font-size:.6875rem;line-height:1.3}.app-shell[data-shell=edunux] .sidebar-identity--link:is(:hover,:focus-visible) .sidebar-identity__copy b{text-decoration:underline;text-underline-offset:2px}.app-shell[data-shell=edunux] .sidebar-identity--link:focus-visible{border-radius:6px;outline:2px solid var(--edunux-focus);outline-offset:3px}.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) nav{display:flex;flex:1 1 auto;flex-direction:column;gap:1px;min-height:0;margin:0;padding:6px 10px 14px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--edunux-surface-raised) transparent}.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) nav::-webkit-scrollbar{width:5px}.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) nav::-webkit-scrollbar-track{background:transparent}.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) nav::-webkit-scrollbar-button{display:none;width:0;height:0}.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) nav::-webkit-scrollbar-thumb{border-radius:3px;background:var(--edunux-surface-raised)}.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) .nav-group-label{display:block;flex:none;margin:0;padding:16px 10px 6px 12px;color:var(--shell-accent);text-align:left}.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) nav>.nav-group-label:first-child{padding-top:10px}.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) nav a,.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) nav .nav-item-unavailable{position:relative;display:flex;flex:none;align-items:center;gap:11px;width:100%;box-sizing:border-box;min-height:36px;margin:0;padding:0 10px 0 12px;border:0;border-radius:6px;background:transparent;box-shadow:none;color:var(--edunux-text-soft);font-family:var(--font-sans);font-size:.8125rem;font-weight:500;line-height:1.3;text-align:left;text-decoration:none;transition:background-color var(--shell-motion) ease,color var(--shell-motion) ease}.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) nav a[hidden],.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) nav .nav-item-unavailable[hidden]{display:none}.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) nav a>span:not(.nav-badge,.sr-only),.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) nav .nav-item-unavailable>span:not(.sr-only){display:block;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) nav a svg,.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) nav .nav-item-unavailable svg{width:17px;height:17px;flex:none;padding:0;background:transparent;color:var(--edunux-text-muted);stroke-width:1.8;transition:color var(--shell-motion) ease}@media(pointer:coarse){.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) nav a{min-height:44px}}.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) nav a:hover{background:var(--edunux-sidebar-hover);color:var(--edunux-text)}.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) nav a:hover svg{color:var(--edunux-text-soft)}.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) nav a:focus-visible{outline:2px solid var(--edunux-focus);outline-offset:-2px;color:var(--edunux-text)}.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) nav a.active,.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) nav a[aria-current=page]{background:color-mix(in srgb,var(--shell-accent) 12%,var(--edunux-sidebar));color:var(--shell-accent);font-weight:600;box-shadow:inset 2px 0 0 var(--shell-accent)}.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) nav a.active:before{content:none}.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) nav a.active svg,.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) nav a[aria-current=page] svg{color:var(--shell-accent)}.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) .nav-badge{display:inline-grid;flex:none;place-items:center;min-width:20px;height:18px;margin-left:auto;padding:0 6px;box-sizing:border-box;border-radius:9px;background:#dc2626;color:#fff;font-size:.6875rem;font-weight:700;line-height:1}.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) nav .nav-item-unavailable{color:var(--edunux-text-muted);cursor:default}.app-shell[data-shell=edunux] :is(.sidebar,.mobile-menu) nav .nav-item-unavailable svg{opacity:.7}.app-shell[data-shell=edunux] .sidebar-bottom{display:flex;flex:none;flex-direction:column;justify-content:center;box-sizing:border-box;min-height:var(--shell-footer-height, 0px);margin:0;padding:10px 12px;border-top:1px solid var(--edunux-divider);border-radius:0;background:transparent}.app-shell[data-shell=edunux] .sidebar-status{display:flex;align-items:center;gap:8px;margin:0;padding:0 4px;color:var(--edunux-text-soft);font-size:.75rem;font-weight:500}.app-shell[data-shell=edunux] :is(.sidebar-status__dot,.owner-plan__dot){width:7px;height:7px;flex:none;border-radius:50%;background:color-mix(in srgb,var(--success) 60%,#ffffff);box-shadow:none}.app-shell[data-shell=edunux] .sidebar-status__version{margin-left:auto;color:var(--edunux-text-muted);font-size:.6875rem;font-variant-numeric:tabular-nums}.app-shell[data-shell=edunux] .owner-plan{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"status version" "row    row";align-items:center;gap:4px 8px;padding:9px 12px;border:1px solid var(--edunux-border);border-radius:8px;background:var(--edunux-surface);color:var(--edunux-text)}.app-shell[data-shell=edunux] .owner-connection{display:block;padding-block:10px}.app-shell[data-shell=edunux] .owner-connection .owner-plan__status svg{width:16px;height:16px;color:color-mix(in srgb,var(--success) 70%,#ffffff)}.app-shell[data-shell=edunux] .owner-connection:is(.is-offline,.is-degraded) .owner-plan__status svg{color:color-mix(in srgb,var(--danger) 70%,#ffffff)}.app-shell[data-shell=edunux] .owner-plan__status{grid-area:status;display:flex;align-items:center;gap:8px;margin:0;color:var(--edunux-text);font-size:.8125rem;font-weight:600}.app-shell[data-shell=edunux] .owner-plan__row{grid-area:row;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--edunux-text-soft);font-size:.75rem}.app-shell[data-shell=edunux] .owner-plan__row b{color:var(--edunux-text);font-weight:600}.app-shell[data-shell=edunux] .owner-plan__link{display:inline-flex;flex:none;align-items:center;gap:2px;margin-right:-4px;padding:3px 4px 3px 6px;border-radius:6px;background:transparent;color:var(--shell-accent);font-size:.75rem;font-weight:600;text-decoration:none;transition:background-color var(--shell-motion) ease}.app-shell[data-shell=edunux] .owner-plan__link svg{width:13px;height:13px}.app-shell[data-shell=edunux] .owner-plan__link:hover{background:var(--edunux-sidebar-hover);text-decoration:underline;text-underline-offset:2px}.app-shell[data-shell=edunux] .owner-plan__link:focus-visible{outline:2px solid var(--edunux-focus);outline-offset:1px}.app-shell[data-shell=edunux] .owner-plan__version{grid-area:version;color:var(--edunux-text-muted);font-size:.6875rem;font-variant-numeric:tabular-nums}.app-shell[data-shell=edunux] .topbar{border-bottom:1px solid var(--register-border);background:var(--neutral-0);box-shadow:none;color:var(--navy-900);-webkit-backdrop-filter:none;backdrop-filter:none}.app-shell[data-shell=edunux] .shell-portal-context{display:flex;align-items:center;gap:10px;margin:0;min-width:0}.app-shell[data-shell=edunux] .shell-portal-context>svg{width:18px;height:18px;flex:none;color:var(--neutral-500)}.app-shell[data-shell=edunux] .shell-portal-context>span{display:grid;min-width:0}.app-shell[data-shell=edunux] .shell-portal-context small{color:var(--neutral-500);font-size:.6875rem;line-height:1.3}.app-shell[data-shell=edunux] .shell-portal-context b{overflow:hidden;color:var(--navy-900);font-family:var(--font-heading);font-size:1rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.app-shell[data-shell=edunux] .shell-portal-context--select select{height:40px;padding:0 12px;border:1px solid var(--register-border);border-radius:8px;background:var(--neutral-0);color:var(--navy-900);font-family:var(--font-sans);font-size:.875rem;font-weight:600}.app-shell[data-shell=edunux] .topbar :is(.owner-topbar__search,.finance-topbar__search,.owner-select select){border:1px solid var(--register-border);border-radius:8px;background:var(--neutral-0);box-shadow:none;color:var(--navy-900)}.app-shell[data-shell=edunux] .topbar :is(.owner-topbar__search,.finance-topbar__search,.owner-select select):hover{border-color:var(--neutral-300);background:var(--neutral-0)}.app-shell[data-shell=edunux] .topbar :is(.owner-topbar__search,.finance-topbar__search):focus-within,.app-shell[data-shell=edunux] .topbar .owner-select select:focus-visible{border-color:var(--school-primary);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--school-primary) 20%,transparent)}.app-shell[data-shell=edunux] .topbar :is(.owner-topbar__search,.finance-topbar__search) input{color:var(--navy-900)}.app-shell[data-shell=edunux] .topbar :is(.owner-topbar__search,.finance-topbar__search) input::placeholder{color:var(--neutral-500);opacity:1}.app-shell[data-shell=edunux] .topbar :is(.owner-topbar__search,.finance-topbar__search)>svg,.app-shell[data-shell=edunux] .topbar .owner-select>svg,.app-shell[data-shell=edunux] .topbar .owner-select__chevron{color:var(--neutral-500)}.app-shell[data-shell=edunux] .topbar :is(.owner-topbar__shortcut,.finance-topbar__shortcut){border:1px solid var(--register-border);background:var(--neutral-50);color:var(--neutral-500)}.app-shell[data-shell=edunux] .topbar :is(.owner-topbar__hello,.finance-topbar__welcome,.account-copy b){color:var(--navy-900)}.app-shell[data-shell=edunux] .topbar :is(.finance-topbar__context,.account-copy small){color:var(--neutral-500)}.app-shell[data-shell=edunux] .topbar :is(.icon-button,.account-trigger>svg){color:var(--navy-800)}.app-shell[data-shell=edunux] .topbar .icon-button:hover,.app-shell[data-shell=edunux] .topbar .account-trigger:hover{background:var(--neutral-100)}.app-shell[data-shell=edunux] .topbar .notification-badge{border-color:var(--neutral-0)}.app-shell[data-shell=edunux] .topbar :is(.icon-button,.account-trigger,.organisation-trigger):focus-visible{outline:2px solid var(--school-primary);outline-offset:2px}.app-shell[data-shell=edunux] .shell-context-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px var(--shell-gutter, 28px) 0;background:transparent}@media(max-width:1023px){.app-shell[data-shell=edunux]{--sidebar: 0px}.app-shell[data-shell=edunux] .sidebar{display:none}.app-shell[data-shell=edunux] .workspace{margin-left:0}.app-shell[data-shell=edunux] .topbar>.icon-button:first-child{display:grid}}.app-shell[data-shell=edunux] .dialog-backdrop--side{place-items:stretch start;align-items:stretch;padding:0;background:#0208149e}.app-shell[data-shell=edunux] .dialog--side{display:flex;flex-direction:column;box-sizing:border-box;width:min(304px,86vw);height:100dvh;max-height:none;padding:0;padding-bottom:env(safe-area-inset-bottom);overflow:hidden;border-right:1px solid var(--edunux-border);border-radius:0;background:var(--edunux-sidebar);color:var(--edunux-text);box-shadow:0 0 48px #00000080;animation:edunux-drawer-in .16s ease-out}@keyframes edunux-drawer-in{0%{translate:-24px 0;opacity:.6}}.app-shell[data-shell=edunux] .dialog--side>.section-head{display:flex;flex:none;align-items:center;justify-content:space-between;gap:8px;min-height:52px;margin:0;padding:0 6px 0 16px;border-bottom:1px solid var(--edunux-divider)}.app-shell[data-shell=edunux] .dialog--side>.section-head h2{margin:0;color:var(--edunux-text-muted);font-family:var(--font-sans);font-size:.6875rem;font-weight:600;letter-spacing:.12em;line-height:1.3;text-transform:uppercase}.app-shell[data-shell=edunux] .dialog--side>.section-head .icon-button{border-radius:8px;background:transparent;color:var(--edunux-text-soft)}.app-shell[data-shell=edunux] .dialog--side>.section-head .icon-button:hover{background:var(--edunux-sidebar-hover);color:var(--edunux-text)}.app-shell[data-shell=edunux] .dialog--side>.section-head .icon-button:focus-visible{outline:2px solid var(--edunux-focus);outline-offset:-2px}.app-shell[data-shell=edunux] .dialog--side .drawer-content,.app-shell[data-shell=edunux] .dialog--side .mobile-menu{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.app-shell[data-shell=edunux] .mobile-menu{--nav-section-label: var(--shell-accent)}.app-shell[data-shell=edunux] .mobile-menu__identity{flex:none;margin:0;padding:14px 16px;border-bottom:1px solid var(--edunux-divider)}.app-shell[data-shell=edunux] .mobile-menu>.organisation-switcher{flex:none;margin:12px 12px 0;padding:0;border:0}.app-shell[data-shell=edunux] .mobile-menu .organisation-trigger,.app-shell[data-shell=edunux] .mobile-account-area .account-trigger{border:1px solid var(--edunux-border);border-radius:8px;background:var(--edunux-surface);color:var(--edunux-text)}.app-shell[data-shell=edunux] .mobile-menu .organisation-copy b,.app-shell[data-shell=edunux] .mobile-account-area .account-copy b{color:var(--edunux-text)}.app-shell[data-shell=edunux] .mobile-menu .organisation-copy small,.app-shell[data-shell=edunux] .mobile-menu .organisation-copy>span,.app-shell[data-shell=edunux] .mobile-account-area .account-copy small{color:var(--edunux-text-muted)}.app-shell[data-shell=edunux] .mobile-menu nav a{min-height:42px}.app-shell[data-shell=edunux] .mobile-account-area{flex:none;margin:0;padding:10px 12px 12px;border-top:1px solid var(--edunux-divider)}.app-shell[data-shell=edunux] .mobile-account-area>.eyebrow{margin:0 0 6px 4px;color:var(--edunux-text-muted);font-size:.6875rem;letter-spacing:.12em}.app-shell[data-shell=edunux] .mobile-account-area .account-trigger:hover{background:var(--edunux-surface-raised)}.app-shell[data-shell=edunux] .mobile-account-area .account-trigger>svg{color:var(--edunux-text-muted)}.app-shell[data-shell=edunux] .mobile-account-area .account-popover{max-height:42dvh;overflow-y:auto}@media(prefers-reduced-motion:reduce){.app-shell[data-shell=edunux] :is(.sidebar,.dialog--side),.app-shell[data-shell=edunux] :is(.sidebar,.dialog--side) *{animation:none!important;transition:none!important}}@media(min-width:768px){.app-shell[data-shell=edunux][data-portal=school-owner] .topbar{height:var(--shell-header-height);min-height:0}.app-shell[data-shell=edunux] :is(.owner-topbar__hello,.owner-topbar__slogan){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
