@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-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--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;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--animate-spin:spin 1s linear infinite;--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,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container{container-type:inline-size}.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}.sticky{position:sticky}.isolate{isolation:isolate}.row-1{grid-row:1}.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}}.\!hidden{display:none!important}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-cell{display:table-cell}.table-row{display:table-row}.flex-shrink,.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,)}.animate-spin{animation:var(--animate-spin)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.py-12{padding-block:calc(var(--spacing) * 12)}.text-center{text-align:center}.break-all{word-break:break-all}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.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}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.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))}.select-all{-webkit-user-select:all;user-select:all}}:root{--so-bg:#f6f8fb;--so-bg-shell:#eef3ff;--so-surface:#fff;--so-surface-raised:#fff;--so-surface-sunken:#f8fafc;--so-surface-inverse:#14213a;--so-text:#0f172a;--so-text-secondary:#475569;--so-text-muted:#556375;--z-base:0;--z-sticky:10;--z-dropdown:20;--z-fab:30;--z-drawer:40;--z-modal:50;--z-toast:60;--so-text-inverse:#e2e8f0;--so-text-placeholder:#94a3b8;--so-border:#e2e8f0;--so-border-subtle:#f1f5f9;--so-border-strong:#cbd5e1;--so-primary:#2563eb;--so-primary-hover:#1d4ed8;--so-primary-soft:#eff6ff;--so-primary-on:#fff;--so-success:#166534;--so-success-soft:#dcfce7;--so-success-solid:#059669;--so-warning:#92400e;--so-warning-soft:#fef3c7;--so-warning-solid:#d97706;--so-danger:#991b1b;--so-danger-soft:#fee2e2;--so-danger-solid:#dc2626;--so-info:#1d4ed8;--so-info-soft:#eff6ff;--so-info-solid:#2563eb;--so-neutral:#475569;--so-neutral-soft:#f1f5f9;--so-accent-violet:#7c3aed;--so-leave-soft:#ede9fe;--so-leave:#6d28d9;--so-accent-teal:#0e7490;--so-focus-ring:#2563eb;--so-focus-ring-width:2px;--so-focus-ring-offset:2px;--so-font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--so-size-caption:11px;--so-size-label:12px;--so-size-body-sm:13px;--so-size-body:14px;--so-size-h3:16px;--so-size-h2:20px;--so-size-h1:24px;--so-size-kpi:21px;--so-size-kpi-sm:17px;--so-size-display:32px;--so-leading-tight:1.25;--so-leading-snug:1.35;--so-leading-normal:1.5;--so-weight-regular:400;--so-weight-medium:500;--so-weight-semibold:600;--so-weight-bold:700;--so-tracking-caps:.06em;--so-space-1:4px;--so-space-2:8px;--so-space-3:12px;--so-space-4:16px;--so-space-5:20px;--so-space-6:24px;--so-space-8:32px;--so-space-10:40px;--so-page-gutter:24px;--so-section-gap:20px;--so-card-padding:16px;--so-card-gap:12px;--so-cell-padding-y:10px;--so-cell-padding-x:14px;--so-control-gap:8px;--perf-donut-size:168px;--so-radius-sm:6px;--so-radius-md:8px;--so-radius-lg:10px;--so-radius-xl:14px;--so-radius-pill:999px;--so-shadow-none:none;--so-shadow-sm:0 1px 2px #0f172a0d;--so-shadow-md:0 1px 3px #0f172a0f, 0 4px 10px -4px #0f172a12;--so-shadow-lg:0 10px 30px -12px #0f172a2e;--so-duration-fast:.12s;--so-duration-base:.18s;--so-ease:cubic-bezier(.2, .8, .3, 1);--so-transition:var(--so-duration-base) var(--so-ease);--so-control-height-sm:32px;--so-control-height:36px;--so-control-height-lg:44px;--so-control-height-filter:38px;--so-scrim:#0f172a73;--so-print-size-body:8.5pt;--so-print-size-logo:10pt;--so-print-size-school:13pt;--so-print-size-title:14pt;--so-print-size-meta:8pt;--so-print-size-micro:6.5pt;--so-print-size-total:11pt;--so-print-size-footer:7.5pt;--so-tap-target:44px;--background:var(--so-bg);--foreground:var(--so-text);--muted:var(--so-text-muted);--primary:var(--so-primary);--primary-dark:var(--so-primary-hover);--border:var(--so-border);--card:var(--so-surface);--success:var(--so-success-solid);--warning:var(--so-warning-solid);--danger:var(--so-danger-solid)}*{box-sizing:border-box}html,body{overscroll-behavior-x:none;background:#f8fbff;width:100%;max-width:100%;overflow-x:clip}body{color:var(--foreground);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.container{width:min(1180px,100% - 32px);margin:0 auto}.btn{border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:8px 16px;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 14px #2563eb33}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px)}.btn-secondary{color:#0f172a;border:1px solid var(--border);background:#fff}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:0 1px 3px #0f172a0a,0 4px 12px -2px #0f172a0d}.badge{color:#1d4ed8;background:#eff6ff;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.grid{gap:20px;display:grid}.dashboard-shell{overscroll-behavior-x:none;grid-template-columns:240px minmax(0,1fr);width:100%;min-width:0;max-width:100%;min-height:100vh;display:grid}.sidebar{background:var(--figma-sidebar,#14213a);color:#fff;scrollbar-width:thin;border-right:1px solid #ffffff12;flex-direction:column;height:100vh;padding:14px 12px;display:flex;position:sticky;top:0;overflow:hidden auto}.sidebar nav{scrollbar-width:thin;flex-direction:column;flex:auto;gap:4px;display:flex;overflow:hidden auto}.sidebar a{color:#cbd5e1;border-radius:8px;align-items:center;gap:9px;margin-bottom:2px;padding:6px 10px;font-size:13px;font-weight:600;display:flex}.sidebar a:hover{color:#fff;background:#ffffff14}.main{padding:28px}.metric{border:1px solid var(--border);background:#fff;border-radius:14px;padding:14px 16px}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:14px}.table th{text-transform:uppercase;color:var(--muted);letter-spacing:.06em;font-size:12px}.status{text-align:center;border-radius:999px;justify-content:center;align-items:center;padding:4px 9px;font-size:12px;font-weight:500;line-height:1.2;display:inline-flex}.status.good{color:#166534;background:#dcfce7}.status.warn{color:#92400e;background:#fef3c7}.status.bad{color:#991b1b;background:#fee2e2}@media (max-width:860px){.dashboard-shell{grid-template-columns:minmax(0,1fr)}.sidebar{height:auto;position:relative}.main{padding:18px}}:root{--premium-bg:var(--so-bg-shell);--premium-ink:var(--so-text);--premium-muted:var(--so-text-muted);--premium-blue:var(--so-primary);--premium-violet:var(--so-accent-violet);--premium-emerald:var(--so-success-solid);--premium-amber:var(--so-warning-solid);--premium-rose:var(--so-danger-solid)}.premium-shell{background:radial-gradient(circle at 20% 0,#2563eb2e,#0000 28%),radial-gradient(circle at 90% 10%,#7c3aed24,#0000 30%),linear-gradient(#f8fbff 0%,#eef3ff 100%)}.premium-sidebar{background:linear-gradient(#07111ffa,#0f172afa),radial-gradient(circle at 50% 0,#2563eb59,#0000 38%);border-right:1px solid #ffffff14}.sidebar-brand{flex-shrink:0;align-items:center;gap:10px;margin-bottom:12px;display:flex}.sidebar-brand strong{letter-spacing:-.03em;font-size:18px;display:block}.sidebar-brand span{color:#93a4bb;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:600}.sidebar-status{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;flex:none;margin-top:auto;padding:8px 10px}.sidebar-status strong{color:#fff;white-space:nowrap;text-overflow:ellipsis;margin-top:0;font-size:12px;font-weight:700;line-height:1.25;display:block;overflow:hidden}.sidebar-status p{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-size:12px;line-height:1.35;overflow:hidden}.status-dot{background:#10b981;border-radius:50%;width:9px;height:9px;display:inline-block;box-shadow:0 0 0 6px #10b9811f}.premium-main{overscroll-behavior-x:none;width:100%;min-width:0;max-width:100%;padding:24px}.premium-dashboard{gap:18px;min-width:0;max-width:100%;display:grid}.premium-dashboard>*,.card.premium-panel{min-width:0;max-width:100%}.card-aurora{color:var(--so-text);box-shadow:var(--so-shadow-sm);background:radial-gradient(circle at 100% 0,#818cf8a6,#0000 24%),radial-gradient(circle at 0,#10b98147,#0000 32%),linear-gradient(135deg,#07111f 0%,#111c35 48%,#1e1b4b 100%);border-radius:14px;padding:clamp(16px,2.5vw,24px);position:relative;overflow:hidden}.card-aurora:after{content:"";background:var(--so-surface-sunken);filter:blur(20px);height:140px;position:absolute;inset:auto -10% -55% 20%;transform:rotate(-6deg)}.hero-command h1,.intelligence-hero h1{letter-spacing:-.035em;max-width:920px;margin:8px 0 6px;font-size:clamp(22px,2.5vw,30px);line-height:1.15}.hero-command p,.intelligence-hero p{color:var(--so-text-muted);max-width:680px;font-size:14px;line-height:1.48}.hero-actions{gap:var(--so-space-2);flex-wrap:wrap;margin-top:14px;display:flex}.premium-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--so-text-muted);align-items:center;gap:7px;font-size:11px;font-weight:500;display:inline-flex}.premium-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-width:0;max-width:100%;display:grid}.premium-metric{overflow-wrap:break-word;word-break:break-word;background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);border:1px solid #e2e8f0f2;border-radius:14px;min-width:0;max-width:100%;padding:14px 16px;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s,border-color .2s;position:relative;box-shadow:0 1px 3px #0f172a0a,0 6px 16px -2px #0f172a0d,inset 0 1px #fff}.premium-metric .metric-icon{border:1px solid #ffffffe6;border-radius:10px;place-items:center;width:34px;height:34px;margin-bottom:10px;display:grid;box-shadow:0 2px 6px #0000000a,inset 0 1px #ffffffd9}.premium-metric span{color:var(--premium-muted);font-size:12px;font-weight:600;display:block}.premium-metric strong{letter-spacing:-.03em;margin:4px 0 2px;font-size:24px;display:block}.premium-metric small{font-weight:600}.premium-metric p{color:var(--premium-muted);margin-bottom:0;font-size:12px;line-height:1.45}.tone-emerald .metric-icon{color:#047857;background:#dcfce7}.tone-blue .metric-icon{color:#1d4ed8;background:#dbeafe}.tone-amber .metric-icon{color:#b45309;background:#fef3c7}.tone-violet .metric-icon{color:#6d28d9;background:#ede9fe}.tone-rose .metric-icon{color:#be123c;background:#ffe4e6}.premium-grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;display:grid}.align-start{align-items:start}.premium-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffdb;border-color:#94a3b83d;border-radius:14px;padding:16px 18px}.panel-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.panel-header.compact{margin-bottom:14px}.panel-header h2,.premium-panel h2{letter-spacing:-.03em;margin:4px 0 0;font-size:18px;font-weight:600}.panel-value{letter-spacing:-.03em;font-size:20px}.insight-row{color:var(--premium-muted);border-top:1px solid #94a3b833;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;font-size:13px;font-weight:600;display:flex}.insight-row strong{color:var(--premium-ink)}.muted-copy{color:var(--premium-muted);font-size:13px;line-height:1.5}.radial-wrap{width:90px;height:90px;margin:10px auto;position:relative}.radial-center{text-align:center;align-content:center;place-items:center;display:grid;position:absolute;inset:0}.radial-center strong{font-size:18px;display:block}.radial-center span{color:#ffffffa6;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:600;display:block}.signal-list{gap:12px;display:grid}.signal-item{background:#f8fafcc7;border:1px solid #94a3b838;border-radius:14px;justify-content:space-between;gap:14px;padding:16px;display:flex}.signal-item strong{font-size:15px;display:block}.signal-item p{color:var(--premium-muted);margin:7px 0;line-height:1.55}.signal-item small{color:var(--premium-blue);font-weight:700}.severity{border-radius:999px;align-self:flex-start;padding:6px 10px;font-size:11px;font-weight:700}.command-list{gap:12px;display:grid}kbd{color:#fff;background:#0f172a;border-radius:10px;padding:6px 9px;font-family:inherit;font-weight:700}.timeline-list{gap:12px;display:grid}.timeline-list article{grid-template-columns:64px 1fr;gap:14px;display:grid}.timeline-list time{color:var(--premium-blue);font-weight:700}.timeline-list strong{display:block}.timeline-list p{color:var(--premium-muted);margin:5px 0 0;line-height:1.55}.role-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.role-grid article{background:#f8fafc;border:1px solid #94a3b838;border-radius:14px;padding:18px}.role-grid strong{font-size:18px}.role-grid p{color:var(--premium-muted);line-height:1.6}.role-grid div{flex-wrap:wrap;gap:7px;display:flex}.role-grid span{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:700}.intelligence-hero{align-content:center;min-height:300px;display:grid}.module-hero{padding-top:24px;padding-bottom:24px;min-height:0!important}.premium-note{color:#1d4ed8;background:#eff6ff;border-radius:14px;align-items:center;gap:12px;padding:18px 20px;font-weight:700;display:flex}.premium-note p{margin:0;line-height:1.55}.launch-list{gap:16px;margin-top:18px;display:grid}.launch-list article{background:#f8fafc;border:1px solid #94a3b838;border-radius:14px;padding:16px}.progress-track{background:#e2e8f0;border-radius:999px;width:100%;height:8px;position:relative;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,#2563eb,#3b82f6);height:100%;transition:width .3s;display:block;margin:0!important}@media (max-width:1180px){.premium-metrics,.role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:860px){.premium-main{padding:14px 14px 76px}.premium-grid-2,.premium-metrics,.role-grid{grid-template-columns:minmax(0,1fr)}.card-aurora{border-radius:14px}.hero-command h1,.intelligence-hero h1{font-size:24px}.command-item,.signal-item{flex-direction:column}}.command-trigger{color:#334155;cursor:pointer;background:#ffffffd1;border:1px solid #94a3b847;border-radius:999px;align-items:center;gap:10px;padding:10px 12px 10px 14px;font-weight:700;display:inline-flex;box-shadow:0 14px 40px #0f172a0f}.command-trigger kbd{color:#fff;background:#0f172a;border-radius:8px;padding:4px 8px;font-size:11px}.command-overlay{z-index:var(--z-modal);pointer-events:auto;justify-content:center;align-items:flex-start;padding-top:clamp(48px,12vh,120px);padding-left:16px;padding-right:16px;display:flex;position:fixed;inset:0}.command-backdrop{-webkit-backdrop-filter:blur(8px);cursor:pointer;z-index:0;background:#020617ad;border:0;position:fixed;inset:0}.command-modal{z-index:1;background:#fffffffa;border:1px solid #ffffff73;border-radius:14px;flex-direction:column;width:min(720px,100%);max-height:calc(100dvh - 96px);display:flex;position:relative;overflow:hidden;box-shadow:0 40px 120px #0206176b}.command-search-row{border-bottom:1px solid #94a3b838;flex-shrink:0;align-items:center;gap:12px;padding:18px;display:flex}.command-search-row input{color:#0f172a;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:17px;font-weight:700}.command-search-row button{color:#334155;cursor:pointer;background:#f1f5f9;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.command-results{flex:1;gap:6px;min-height:0;padding:10px;display:grid;overflow-y:auto}.command-results a{border-radius:14px;align-items:center;gap:14px;padding:14px;transition:all .16s;display:flex}.command-results a:hover{background:#eff6ff}.command-icon{color:#2563eb;background:linear-gradient(135deg,#dbeafe,#ede9fe);border-radius:14px;place-items:center;width:42px;height:42px;display:grid}.command-results strong{font-size:15px;display:block}.command-results small{color:var(--so-text-muted);margin-top:3px;font-weight:600;display:block}.command-empty{color:var(--so-text-muted);padding:22px;font-weight:700}.role-select-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0;display:grid}.role-select-grid button,.role-tabs button{color:#334155;cursor:pointer;text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:12px;font-weight:700}.role-select-grid button.active,.role-tabs button.active{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe;box-shadow:0 12px 28px #2563eb1a}.role-metrics{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.role-metrics span{background:#ffffff1a;border:1px solid #ffffff1f;border-radius:999px;padding:8px 11px;font-weight:500}@media (max-width:620px){.role-select-grid{grid-template-columns:minmax(0,1fr)}}.premium-table{min-width:920px}.premium-table td{white-space:nowrap}.trust-list{gap:12px;margin-top:18px;display:grid}.trust-list article{background:#f8fafc;border:1px solid #94a3b838;border-radius:20px;justify-content:space-between;gap:16px;padding:16px;display:flex}.trust-list strong{display:block}.trust-list p{color:#64748b;margin:6px 0 0;line-height:1.55}.trust-list span{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border-radius:999px;align-self:start;padding:6px 10px;font-size:12px;font-weight:950}@media (max-width:620px){.trust-scores{grid-template-columns:minmax(0,1fr)}.trust-list article{flex-direction:column}}.auth-page{--auth-ink:#f8fafc;--auth-ink-dim:#b6c6e2;--auth-deep:#071634;--auth-deep-2:#0d2451;--auth-line:#94c5ff2e;--auth-glass:#ffffff12;--auth-cyan:#38bdf8;background:var(--so-surface);min-height:100svh;color:var(--so-text);grid-template-columns:minmax(0,1.32fr) minmax(0,1fr);display:grid}.auth-showcase{background:radial-gradient(90% 70% at 85% 15%, #2563eb61, transparent 60%), radial-gradient(70% 60% at 15% 85%, #38bdf838, transparent 65%), linear-gradient(155deg, var(--auth-deep-2) 0%, var(--auth-deep) 62%);min-width:0;color:var(--auth-ink);align-items:center;padding:clamp(32px,4vw,64px);display:flex;position:relative}.auth-showcase-inner{width:100%;min-width:0;max-width:760px;margin:0 auto;position:relative}@media (min-width:1025px){.auth-showcase{align-items:flex-start}.auth-showcase-inner{margin-top:22px}}.auth-showcase-logo{margin-bottom:clamp(20px,3vw,34px);display:block}.auth-brand-lockup{max-width:100%;color:var(--so-text);align-items:center;gap:12px;display:inline-flex}.auth-brand-lockup.is-light{color:#fff}.auth-brand-copy{text-align:left;justify-items:start;gap:3px;min-width:0;display:grid}.auth-brand-tagline{color:var(--so-text-muted);font-size:clamp(11px,.95vw,13px);font-weight:var(--so-weight-medium);letter-spacing:.01em;white-space:nowrap;line-height:1.25}.auth-brand-lockup.is-light .auth-brand-tagline{color:var(--auth-ink-dim)}.auth-brand-lockup strong{font-size:clamp(24px,2.4vw,34px);font-weight:var(--so-weight-bold);letter-spacing:-.045em;white-space:nowrap}.auth-brand-lockup strong span{color:var(--so-primary)}.auth-brand-lockup strong em{color:#0ccfc1;font-style:normal}.auth-brand-mark{--mark-size:58px;width:var(--mark-size);height:var(--mark-size);flex:none;display:block;position:relative;overflow:hidden}.auth-brand-mark img{width:calc(var(--mark-size) * 2.86);max-width:none;height:auto;left:calc(var(--mark-size) * -.93);top:calc(var(--mark-size) * -.39);display:block;position:absolute}.auth-showcase h1{color:var(--auth-ink);font-size:clamp(26px,3.5vw,44px);font-weight:var(--so-weight-bold);letter-spacing:-.03em;margin:0 0 14px;line-height:1.12}.auth-showcase h1 em{background:linear-gradient(95deg, #60a5fa 0%, var(--auth-cyan) 55%, #5eead4 100%);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.auth-showcase-lede{max-width:44ch;color:var(--auth-ink-dim);font-size:clamp(13px,1.1vw,16px);line-height:var(--so-leading-normal);margin:0 0 clamp(22px,3vw,38px)}.auth-stage{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(10px,1.6vw,22px);min-width:0;display:grid}.auth-stage-rail{gap:clamp(10px,1.4vw,18px);min-width:0;display:grid}.auth-module-card{border:1px solid var(--auth-line);border-radius:var(--so-radius-xl);background:linear-gradient(160deg, #3884ff38, var(--auth-glass));width:clamp(72px,7vw,96px);color:var(--auth-ink);text-align:center;justify-items:center;gap:6px;padding:clamp(10px,1.1vw,15px) 8px;display:grid;box-shadow:0 10px 30px -18px #020a1ce6}.auth-module-card svg{color:var(--auth-cyan);flex:none}.auth-module-card small{font-size:clamp(9px,.78vw,11px);font-weight:var(--so-weight-semibold);overflow-wrap:anywhere;line-height:1.25}.auth-device{min-width:0}.auth-device-screen{background:linear-gradient(170deg,#22304d,#0e1a33);border:1px solid #94c5ff4d;border-radius:clamp(8px,1vw,14px) clamp(8px,1vw,14px) 3px 3px;padding:clamp(5px,.7vw,10px);position:relative;box-shadow:0 34px 70px -34px #000000f2}.auth-device-screen img{background:var(--so-surface-sunken);border-radius:3px;width:100%;max-width:100%;height:auto;display:block}.auth-device-base{background:linear-gradient(#8fa3c4 0%,#5a6e91 45%,#33435f 100%);border-radius:0 0 clamp(6px,.8vw,10px) clamp(6px,.8vw,10px);width:116%;height:clamp(8px,.95vw,13px);margin-left:-8%;display:block}.auth-assurances{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.4vw,20px);margin:clamp(24px,3.2vw,42px) 0 0;padding:0;list-style:none;display:grid}.auth-assurances li{align-items:center;gap:10px;min-width:0;display:flex}.auth-assurances li>span:first-child{border:1px solid var(--auth-line);border-radius:var(--so-radius-md);background:var(--auth-glass);width:34px;height:34px;color:var(--auth-cyan);flex:none;place-items:center;display:grid}.auth-assurances li>span:last-child{gap:2px;min-width:0;display:grid}.auth-assurances strong{color:var(--auth-ink);font-size:clamp(11px,.92vw,13px);font-weight:var(--so-weight-semibold);line-height:1.2}.auth-assurances small{color:var(--auth-ink-dim);font-size:clamp(10px,.8vw,12px);line-height:1.3}.auth-panel{background:radial-gradient(80% 50% at 50% 0%, var(--so-primary-soft), transparent 70%), var(--so-bg);justify-content:center;align-items:center;min-width:0;padding:clamp(28px,3.2vw,56px) clamp(16px,2.6vw,48px);display:flex}.auth-panel-inner{width:100%;min-width:0;max-width:452px}@media (min-width:1025px){.auth-panel-inner{transform:translateY(-28px)}}.auth-panel-logo{text-align:center;justify-items:center;gap:6px;margin-bottom:clamp(18px,2.4vw,30px);display:grid}.auth-panel-logo .auth-brand-mark{--mark-size:66px}.auth-panel-logo small{color:var(--so-text-muted);font-size:var(--so-size-body-sm)}.auth-card{border:1px solid var(--so-border);border-radius:var(--so-radius-xl);background:var(--so-surface);box-shadow:var(--so-shadow-lg);padding:clamp(22px,2.6vw,36px)}.auth-card h2{color:var(--so-text);font-size:clamp(26px,2.6vw,34px);font-weight:var(--so-weight-bold);letter-spacing:-.03em;margin:0 0 6px;line-height:1.15}.auth-card-description{color:var(--so-text-secondary);font-size:var(--so-size-body);line-height:var(--so-leading-normal);margin:0 0 22px}.auth-field{color:var(--so-text);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold);gap:7px;margin-bottom:16px;display:grid}.auth-field>div{border:1px solid var(--so-border-strong);border-radius:var(--so-radius-lg);background:var(--so-surface);min-width:0;min-height:52px;color:var(--so-text-muted);transition:border-color var(--so-transition), box-shadow var(--so-transition);align-items:center;gap:10px;padding:0 14px;display:flex}.auth-field>div:focus-within{border-color:var(--so-primary);box-shadow:0 0 0 3px #2563eb24}.auth-field>div>svg{flex:none}.auth-field input{width:100%;min-width:0;height:50px;color:var(--so-text);font-size:var(--so-size-body);font-weight:var(--so-weight-regular);background:0 0;border:0;outline:0}.auth-field input::placeholder{color:var(--so-text-placeholder)}.auth-reveal{border-radius:var(--so-radius-sm);width:32px;height:32px;color:var(--so-text-muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:grid}.auth-reveal:hover{color:var(--so-primary)}.auth-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:2px 0 20px;display:flex}.auth-remember{color:var(--so-text-secondary);font-size:var(--so-size-body-sm);cursor:pointer;align-items:center;gap:9px;display:inline-flex}.auth-remember input{width:18px;height:18px;accent-color:var(--so-primary);cursor:pointer;flex:none}.auth-forgot{color:var(--so-primary);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold);cursor:pointer;background:0 0;border:0}.auth-forgot:hover{color:var(--so-primary-hover);text-decoration:underline}.auth-submit{border-radius:var(--so-radius-lg);background:linear-gradient(95deg, var(--so-primary) 0%, #1e40af 100%);width:100%;min-height:52px;color:var(--so-primary-on);font-size:var(--so-size-h3);font-weight:var(--so-weight-semibold);cursor:pointer;transition:filter var(--so-transition);border:0;justify-content:center;align-items:center;gap:10px;padding:0 18px;display:flex}.auth-submit:hover:not(:disabled){filter:brightness(1.08)}.auth-submit:disabled,.auth-secondary:disabled,.auth-forgot:disabled{cursor:wait;opacity:.65}.auth-divider{color:var(--so-text-muted);font-size:var(--so-size-body-sm);align-items:center;gap:12px;margin:18px 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--so-border);flex:1;height:1px}.auth-secondary{border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface-sunken);width:100%;min-height:52px;color:var(--so-text);font-size:var(--so-size-body);font-weight:var(--so-weight-semibold);cursor:pointer;transition:background var(--so-transition), border-color var(--so-transition);justify-content:center;align-items:center;gap:10px;margin-top:10px;padding:0 18px;text-decoration:none;display:flex}.auth-secondary:first-of-type{margin-top:0}.auth-secondary:hover{border-color:var(--so-border-strong);background:var(--so-bg-shell)}.auth-secondary svg{color:var(--so-primary);flex:none}.auth-secondary-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:0;display:grid}.auth-page .auth-secondary-row>.auth-secondary{min-width:0;min-height:52px;margin-top:0;padding-inline:10px}.auth-page.auth-page-single{grid-template-columns:minmax(0,1fr)}.password-rules{color:var(--so-text-secondary);gap:6px;margin:4px 0 12px;padding:0;list-style:none;display:grid}.password-rules li{align-items:center;gap:8px;display:flex}.password-rules li.is-met{color:var(--so-success)}a.portal-sidebar-identity{text-decoration:none}@media (max-width:980px){.portal-topbar .profile-menu{display:none}}.setup-checklist{position:relative}.setup-checklist-close{position:absolute;top:10px;right:10px}.setup-checklist-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-right:40px;display:flex}.setup-checklist-head h2{margin:0}.setup-checklist-progress{flex:0 220px}.setup-checklist-progress::-webkit-progress-value{background:var(--so-primary);border-radius:var(--so-radius-pill)}.setup-checklist-progress::-moz-progress-bar{background:var(--so-primary);border-radius:var(--so-radius-pill)}.setup-checklist-steps{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.setup-checklist-step a{border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface-sunken);height:100%;color:var(--so-text);gap:6px;padding:10px 12px;text-decoration:none;display:grid}.setup-checklist-step.is-done a{border-color:var(--so-success-soft);background:var(--so-success-soft)}.setup-checklist-step.is-next a{border-color:var(--so-primary);background:var(--so-primary-soft)}.setup-checklist-step a:focus-visible{outline:2px solid var(--so-primary);outline-offset:2px}.setup-checklist-mark{border-radius:var(--so-radius-pill);background:var(--so-border);width:22px;height:22px;color:var(--so-text-secondary);place-items:center;font-weight:700;display:inline-grid}.setup-checklist-step.is-done .setup-checklist-mark{background:var(--so-success-solid);color:var(--so-text-inverse)}.setup-checklist-step.is-next .setup-checklist-mark{background:var(--so-primary);color:var(--so-primary-on)}.setup-checklist-state{color:var(--so-text-muted);align-items:center;gap:4px;display:inline-flex}.setup-checklist-step.is-done .setup-checklist-state{color:var(--so-success)}.setup-checklist-step.is-next .setup-checklist-state{color:var(--so-primary)}@media (max-width:640px){.setup-checklist-steps{grid-template-columns:minmax(0,1fr)}.setup-checklist-progress{flex-basis:100%}}.dashboard-home{gap:var(--so-section-gap);min-width:0;display:grid}.dashboard-home>*{min-width:0}.dashboard-home-label{margin:0 0 var(--so-space-2);font-size:var(--so-size-body);font-weight:var(--so-weight-semibold);color:var(--so-text)}.dashboard-home-action-row{gap:var(--so-space-2);flex-wrap:wrap;display:flex}.dashboard-home-modules{gap:var(--so-space-4);display:grid}.dashboard-home-modules-head h2{font-size:var(--so-size-h3);margin:0}.dashboard-home-modules-head p{margin:var(--so-space-1) 0 0;font-size:var(--so-size-body-sm);color:var(--so-text-muted)}.dashboard-home-empty{color:var(--so-text-muted);margin:0}.home-tile-grid{gap:var(--so-space-4);grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;margin:0;padding:0;list-style:none;display:grid}.home-tile{--home-accent:var(--so-primary);align-content:start;gap:var(--so-space-3);min-width:0;padding:var(--so-card-padding);padding-right:calc(var(--so-card-padding) + 6px);border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);box-shadow:var(--so-shadow-md);transition:transform var(--so-transition), box-shadow var(--so-transition);display:grid;position:relative;overflow:hidden}.home-tile:before{content:"";background:var(--home-accent);width:6px;position:absolute;top:0;bottom:0;right:0}.home-tile:hover,.home-tile:focus-within{box-shadow:var(--so-shadow-md), var(--so-shadow-lg);transform:translateY(-2px)}.home-tile.accent-success{--home-accent:var(--so-success-solid)}.home-tile.accent-warning{--home-accent:var(--so-warning-solid)}.home-tile.accent-violet{--home-accent:var(--so-accent-violet)}.home-tile.accent-info{--home-accent:var(--so-info-solid)}.home-tile.accent-danger{--home-accent:var(--so-danger-solid)}.home-tile-watermark{right:var(--so-space-4);bottom:var(--so-space-4);width:88px;height:88px;color:var(--home-accent);opacity:.07;pointer-events:none;position:absolute}.home-tile{isolation:isolate}.home-tile-watermark{z-index:-1}.home-tile .home-tile-tasks{padding-right:88px}.home-tile .home-tile-tasks li{min-width:0;max-width:100%}.home-tile .home-tile-tasks a{max-width:100%}.home-tile-head{gap:var(--so-space-3);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;display:grid}.home-tile-title{gap:2px;min-width:0;display:grid}.home-tile-title small{font-size:var(--so-size-caption);color:var(--so-text-muted)}a.home-tile-link{font-size:var(--so-size-body);font-weight:var(--so-weight-semibold);color:var(--so-text);text-decoration:none}a.home-tile-link:after{content:"";border-radius:inherit;position:absolute;inset:0}a.home-tile-link:focus-visible{outline:none}.home-tile:has(a.home-tile-link:focus-visible){outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:var(--so-focus-ring-offset)}.home-tile-chevron{color:var(--so-text-muted)}.home-tile-tasks{z-index:1;gap:var(--so-space-2);justify-items:start;margin:0;padding:0;list-style:none;display:grid;position:relative}.home-tile-tasks a{align-items:center;gap:var(--so-space-2);font-size:var(--so-size-body-sm);color:var(--so-text-secondary);text-decoration:none;display:inline-flex}.home-tile-tasks a:before{content:"";border-radius:var(--so-radius-pill);background:var(--home-accent);width:5px;height:5px}.home-tile-tasks a:hover{color:var(--so-text);text-decoration:underline}.dashboard-home-show-all{display:none}.student-quick-search{align-items:center;min-width:0;display:flex;position:relative}.student-quick-search-icon{left:var(--so-space-3);color:var(--so-text-muted);pointer-events:none;position:absolute}.student-quick-search input{width:100%;min-width:0;height:var(--so-control-height);padding:0 var(--so-space-3) 0 calc(var(--so-space-3) * 2 + 15px);border:1px solid var(--so-border);border-radius:var(--so-radius-md);background:var(--so-surface-sunken);font-size:var(--so-size-body-sm);color:var(--so-text)}.student-quick-search .student-quick-search-list{top:calc(100% + var(--so-space-1));z-index:var(--z-dropdown);box-shadow:var(--so-shadow-lg);position:absolute;left:0;right:0}.schoolos-topbar-center:has(.topbar-student-search){gap:var(--so-space-2);flex:0 520px}.topbar-student-search{flex:280px}.dashboard-home-search{display:none}@media (max-width:1280px){.home-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:980px){.topbar-student-search{display:none}.dashboard-home-search{display:flex}}@media (max-width:640px){.home-tile-grid{grid-template-columns:minmax(0,1fr)}.home-tile-grid:not(.is-expanded)>.home-tile:nth-child(n+5){display:none}.dashboard-home-show-all{justify-content:space-between;justify-self:stretch;display:inline-flex}.dashboard-home-action-row{padding-bottom:var(--so-space-1);flex-wrap:nowrap;overflow-x:auto}.dashboard-home-action-row>.btn{flex:none}}@media (prefers-reduced-motion:reduce){.home-tile,.home-tile:hover,.home-tile:focus-within{transition:none;transform:none}}.performance-page,.performance-body{gap:var(--so-section-gap);min-width:0;display:grid}.performance-toolbar{align-items:center;gap:var(--so-space-3);flex-wrap:wrap;display:flex}.performance-ranges{border:1px solid var(--so-border);border-radius:var(--so-radius-md);background:var(--so-surface-sunken);flex-wrap:wrap;gap:2px;padding:2px;display:inline-flex}.performance-range{min-height:var(--so-control-height-sm);padding:0 var(--so-space-3);border-radius:var(--so-radius-sm);color:var(--so-text-secondary);font-size:var(--so-size-body-sm);cursor:pointer;background:0 0;border:0}.performance-range.is-active{background:var(--so-surface);color:var(--so-text);font-weight:var(--so-weight-semibold);box-shadow:var(--so-shadow-sm)}.performance-hide{align-items:center;gap:var(--so-space-2);font-size:var(--so-size-body-sm);color:var(--so-text);display:inline-flex}.performance-custom{align-items:flex-end;gap:var(--so-space-3);flex-wrap:wrap;display:flex}.performance-custom label{gap:var(--so-space-1);font-size:var(--so-size-label);color:var(--so-text-secondary);display:grid}.performance-custom input{height:var(--so-control-height);padding:0 var(--so-space-2);border:1px solid var(--so-border);border-radius:var(--so-radius-sm);font-size:var(--so-size-body-sm)}.performance-custom .form-error{flex-basis:100%;margin:0}.performance-page.is-hidden-numbers :is(.kpi-card-value,.viz-badge,.viz-donut,.viz-legend,.viz-context,.viz-split,.viz-total-row,.perf-donut,.perf-legend,.perf-bars ul,.perf-by-students-summary){filter:blur(7px);-webkit-user-select:none;user-select:none}.perf-donut-row{align-items:center;gap:var(--so-space-4);flex-wrap:wrap;min-width:0;display:flex}.perf-donut{width:var(--perf-donut-size,168px);height:var(--perf-donut-size,168px);flex:none;place-items:center;display:inline-grid;position:relative}.perf-donut svg{width:100%;height:100%;display:block}.perf-donut-centre{text-align:center;pointer-events:none;place-content:center;display:grid;position:absolute;inset:0}.perf-donut-centre strong{font-weight:var(--so-weight-medium);letter-spacing:-.035em;color:var(--so-text);font-variant-numeric:tabular-nums;line-height:1;display:block}.perf-donut-centre :is(span,small){font-size:var(--so-size-caption);font-weight:var(--so-weight-regular);color:var(--so-text-muted);margin-top:3px;display:block}.perf-legend{gap:var(--so-space-2);flex:180px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.perf-legend li{align-items:center;gap:var(--so-space-2);font-size:var(--so-size-body-sm);color:var(--so-text-secondary);grid-template-columns:auto minmax(0,1fr) auto 48px;display:grid}.perf-legend strong{color:var(--so-text);font-weight:var(--so-weight-semibold);font-variant-numeric:tabular-nums;text-align:right;min-width:24px}.perf-share{text-align:right;min-width:48px;color:var(--so-text-muted);font-variant-numeric:tabular-nums}.perf-dot{border-radius:var(--so-radius-pill);background:var(--so-text-muted);flex:none;width:8px;height:8px}.perf-dot.is-paid{background:var(--so-success-solid)}.perf-dot.is-partly{background:var(--so-warning-solid)}.perf-dot.is-pending{background:var(--so-danger-solid)}.perf-dot.is-noVoucher{background:var(--so-text-muted)}.perf-dot.is-boys{background:var(--so-primary)}.perf-dot.is-girls{background:var(--so-accent-violet)}.perf-dot.is-notRecorded{background:var(--so-border-strong)}.perf-by-students-summary{font-size:var(--so-size-body-sm);color:var(--so-text);line-height:var(--so-leading-normal);margin:0}.perf-foot{justify-content:space-between;gap:var(--so-space-2);margin-top:var(--so-space-3);font-size:var(--so-size-caption);color:var(--so-text-muted);flex-wrap:wrap;display:flex}.perf-gender-total{align-items:center;gap:var(--so-space-4);flex-wrap:wrap;flex:360px;min-width:0;display:flex}.perf-bars{flex:240px;min-width:0}.perf-bars h4{margin:0 0 var(--so-space-2);font-size:var(--so-size-label);color:var(--so-text)}.perf-bars ul{gap:var(--so-space-2);margin:0;padding:0;list-style:none;display:grid}.perf-bars li{align-items:center;gap:var(--so-space-2);font-size:var(--so-size-caption);color:var(--so-text-secondary);grid-template-columns:minmax(64px,auto) minmax(0,1fr) auto;display:grid}.perf-bar{width:100%;height:8px}.perf-bar-value{color:var(--so-text-muted);font-variant-numeric:tabular-nums}.perf-row>.viz-card{justify-content:normal}.perf-row .viz-card>.perf-bars{flex:none}@media (max-width:640px){.performance-toolbar,.performance-ranges{width:100%}.performance-range{flex:auto}.performance-page .kpi-grid.kpi-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}.reports-hub,.report-view{gap:var(--so-section-gap);min-width:0;display:grid}.reports-hub>*,.report-view>*{min-width:0}.reports-hub-toolbar{justify-content:space-between;align-items:center;gap:var(--so-space-3);margin-bottom:var(--so-space-4);flex-wrap:wrap;display:flex}.reports-hub-tabs{border:1px solid var(--so-border);border-radius:var(--so-radius-md);background:var(--so-surface-sunken);flex-wrap:wrap;gap:2px;padding:2px;display:inline-flex}.reports-hub-tab{min-height:var(--so-control-height-sm);padding:0 var(--so-space-3);border-radius:var(--so-radius-sm);color:var(--so-text-secondary);font-size:var(--so-size-body-sm);cursor:pointer;background:0 0;border:0}.reports-hub-tab.is-active{background:var(--so-surface);color:var(--so-text);font-weight:var(--so-weight-semibold);box-shadow:var(--so-shadow-sm)}.reports-hub-search{min-width:0;color:var(--so-text-muted);flex:0 320px;align-items:center;display:flex;position:relative}.reports-hub-search svg{left:var(--so-space-3);position:absolute}.reports-hub-search input{width:100%;height:var(--so-control-height);padding:0 var(--so-space-3) 0 calc(var(--so-space-3) * 2 + 15px);border:1px solid var(--so-border);border-radius:var(--so-radius-md);font-size:var(--so-size-body-sm)}.reports-hub-feature{align-items:center;gap:var(--so-space-3);color:var(--so-text);grid-template-columns:auto minmax(0,1fr) auto;text-decoration:none;display:grid}.reports-hub-feature span:nth-child(2){gap:2px;display:grid}.reports-hub-feature small,.reports-card small{font-size:var(--so-size-caption);color:var(--so-text-muted)}.reports-hub-module h2{margin:0 0 var(--so-space-3);font-size:var(--so-size-h3)}.reports-hub-grid{gap:var(--so-space-3);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.reports-card{gap:var(--so-space-1);height:100%;padding:var(--so-card-padding);border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);box-shadow:var(--so-shadow-sm);color:var(--so-text);text-decoration:none;display:grid}.reports-card:hover,.reports-card:focus-visible{box-shadow:var(--so-shadow-md)}.reports-card strong{font-size:var(--so-size-body)}.reports-card-icon{border-radius:var(--so-radius-md);width:32px;height:32px;color:var(--so-primary);background:var(--so-primary-soft);place-items:center;display:inline-grid}.reports-card-open{align-items:center;gap:var(--so-space-1);margin-top:var(--so-space-2);font-size:var(--so-size-body-sm);color:var(--so-primary);display:inline-flex}.reports-hub-empty,.report-hint{color:var(--so-text-muted);margin:0}.reports-hub-classic{justify-self:start;align-items:center;gap:var(--so-space-1);font-size:var(--so-size-body-sm);color:var(--so-text-secondary);display:inline-flex}.report-view .report-actions{gap:var(--so-space-2);flex-wrap:wrap;display:flex}.report-filterbar{gap:0;padding:0;display:grid;overflow:visible}.report-filterbar-row{align-items:flex-end;gap:var(--so-space-3);padding:var(--so-space-4) var(--so-space-4);flex-wrap:wrap;display:flex}.report-filterbar-fields{align-items:flex-start;gap:var(--so-space-3);flex-wrap:wrap;flex:auto;min-width:0;display:flex}.report-filterbar-actions{align-items:center;gap:var(--so-space-3);min-height:var(--so-control-height-filter);flex-wrap:wrap;margin-left:auto;display:flex}.report-filterbar-more{align-items:flex-start;gap:var(--so-space-3);padding:var(--so-space-4);border-top:1px solid var(--so-border-subtle);background:var(--so-surface-sunken);flex-wrap:wrap;display:flex}.report-field{align-content:start;gap:6px;min-width:0;display:grid}.report-field>label,.report-field-label{font-size:var(--so-size-label);font-weight:var(--so-weight-semibold);color:var(--so-text-secondary)}.report-field :is(input,select){height:var(--so-control-height-filter);min-width:150px;padding:0 var(--so-space-3);border:1px solid var(--so-border-strong);border-radius:var(--so-radius-md);font-size:var(--so-size-body-sm);color:var(--so-text);background:var(--so-surface)}.report-field select{min-width:170px}.report-field :is(input,select):focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:0}.report-field :is(input,select)[aria-invalid=true]{border-color:var(--so-danger-solid)}.report-field-error{max-width:220px;font-size:var(--so-size-caption);font-weight:var(--so-weight-medium);color:var(--so-danger);margin:0}.report-presets{height:var(--so-control-height-filter);border:1px solid var(--so-border);border-radius:var(--so-radius-md);background:var(--so-surface-sunken);align-items:center;gap:2px;padding:3px;display:inline-flex}.report-preset{height:100%;padding:0 var(--so-space-3);border-radius:var(--so-radius-sm);color:var(--so-text-muted);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-medium);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000}.report-preset[aria-pressed=true]{border-color:var(--so-border);background:var(--so-surface);color:var(--so-text);font-weight:var(--so-weight-semibold);box-shadow:var(--so-shadow-sm)}.report-preset:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:1px}.report-reset{color:var(--so-primary)}.report-pending{border-radius:var(--so-radius-pill);background:var(--so-warning-soft);color:var(--so-warning);font-size:var(--so-size-label);font-weight:var(--so-weight-medium);white-space:nowrap;padding:4px 10px}.report-chips{align-items:center;gap:var(--so-space-2);padding:10px var(--so-space-4);border-top:1px solid var(--so-border-subtle);background:var(--so-surface-sunken);border-radius:0 0 var(--so-radius-lg) var(--so-radius-lg);flex-wrap:wrap;display:flex}.report-chips-label{font-size:var(--so-size-label);font-weight:var(--so-weight-semibold);color:var(--so-text-muted)}.report-chip{align-items:center;gap:var(--so-space-2);border-radius:var(--so-radius-pill);background:var(--so-primary-soft);color:var(--so-primary);font-size:var(--so-size-label);font-weight:var(--so-weight-medium);cursor:pointer;border:0;padding:4px 10px 4px 12px;display:inline-flex}.report-chip:focus-visible,.report-chips-clear:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:1px}.report-chips-clear{color:var(--so-primary);font-size:var(--so-size-label);font-weight:var(--so-weight-semibold);cursor:pointer;background:0 0;border:0;padding:0}.report-state{gap:var(--so-space-3);padding:var(--so-space-5);justify-items:start;display:grid}.report-state p{margin:0}.report-state-label{font-size:var(--so-size-label);font-weight:var(--so-weight-semibold);letter-spacing:var(--so-tracking-caps);text-transform:uppercase;color:var(--so-text-secondary)}.report-skeleton{border-radius:var(--so-radius-sm);background:var(--so-neutral-soft);width:min(380px,80%);height:12px;display:block}.report-skeleton:nth-of-type(2n){width:min(300px,64%)}.report-state-title{font-size:var(--so-size-body);font-weight:var(--so-weight-semibold);color:var(--so-text)}.report-state-failed .report-state-title{color:var(--so-danger)}.report-state-hint{font-size:var(--so-size-body-sm);color:var(--so-text-muted)}.report-filter-summary{justify-content:space-between;align-items:center;gap:var(--so-space-3);padding:var(--so-space-3) var(--so-space-4);display:none}.report-filter-summary-text{gap:2px;min-width:0;display:grid}.report-filter-summary-text strong{font-size:var(--so-size-body-sm);color:var(--so-text)}.report-filter-summary-text span{font-size:var(--so-size-label);color:var(--so-text-muted)}.report-filters-button{align-items:center;gap:var(--so-space-2);min-height:var(--so-tap-target);background:var(--so-primary-soft);color:var(--so-primary);font-weight:var(--so-weight-semibold);border:0;flex:none;display:inline-flex}.report-filters-count{border-radius:var(--so-radius-pill);background:var(--so-primary);min-width:20px;height:20px;color:var(--so-primary-on);font-size:var(--so-size-caption);place-items:center;padding:0 6px;display:inline-grid}.report-sheet-layer{z-index:var(--z-modal);align-items:flex-end;display:flex;position:fixed;inset:0}.report-sheet-backdrop{background:var(--so-scrim);cursor:default;border:0;padding:0;position:absolute;inset:0}.report-sheet{width:100%;max-height:88vh;padding:var(--so-space-2) var(--so-space-4) 0;border-radius:var(--so-radius-xl) var(--so-radius-xl) 0 0;background:var(--so-surface);box-shadow:var(--so-shadow-lg);grid-template-rows:auto auto minmax(0,1fr);display:grid;position:relative}.report-sheet-grabber{width:40px;height:4px;margin-bottom:var(--so-space-3);border-radius:var(--so-radius-pill);background:var(--so-border-strong);justify-self:center}.report-sheet-head{justify-content:space-between;align-items:center;gap:var(--so-space-3);margin-bottom:var(--so-space-3);display:flex}.report-sheet-head h2{font-size:var(--so-size-h3);margin:0}.report-sheet-body{gap:var(--so-space-4);padding-bottom:0;display:grid;overflow-y:auto}.report-sheet-body .report-field :is(input,select){width:100%;min-width:0;height:var(--so-control-height-lg)}.report-sheet-body .report-presets{width:100%;height:var(--so-control-height-lg);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.report-sheet-more{min-height:var(--so-tap-target);border:0;border-top:1px solid var(--so-border);border-bottom:1px solid var(--so-border);color:var(--so-text);font-size:var(--so-size-body);font-weight:var(--so-weight-semibold);cursor:pointer;background:0 0;justify-content:space-between;align-items:center;padding:0;display:flex}.report-sheet-footer{gap:var(--so-space-3);padding:var(--so-space-3) 0 var(--so-space-4);background:var(--so-surface);border-top:1px solid var(--so-border-subtle);grid-template-columns:auto minmax(0,1fr);display:grid;position:sticky;bottom:0}.report-column-chooser{place-self:end;position:relative}.report-column-popover{z-index:var(--z-dropdown);right:0;top:calc(100% + var(--so-space-2));width:min(260px,100vw - 32px);padding:var(--so-space-3);gap:var(--so-space-2);background:var(--so-surface);border:1px solid var(--so-border);border-radius:var(--so-radius-lg);box-shadow:var(--so-shadow-lg);display:grid;position:absolute}.report-column-popover-head{justify-content:space-between;align-items:center;gap:var(--so-space-2);display:flex}.report-column-option{justify-content:start;align-items:center;gap:var(--so-space-2);grid-template-columns:auto 1fr;grid-auto-flow:column;display:flex!important}.report-column-option input{width:auto;height:auto}.report-column-popover .form-helper{margin:0}.report-column-popover .link-button{color:var(--so-info);cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.report-view .report-table-wrap{overflow-x:auto}.report-view .report-table{border-collapse:collapse;width:100%;font-size:var(--so-size-body-sm)}.report-view .report-table th{text-align:left;padding:var(--so-cell-padding-y) var(--so-cell-padding-x);border-bottom:1px solid var(--so-border);font-size:var(--so-size-label);color:var(--so-text-secondary);white-space:nowrap}.report-view .report-table td{padding:var(--so-cell-padding-y) var(--so-cell-padding-x);border-bottom:1px solid var(--so-border-subtle);color:var(--so-text)}.report-view .report-table .is-number{text-align:right;white-space:nowrap}.report-view .report-table tfoot td{font-weight:var(--so-weight-semibold);border-top:2px solid var(--so-border-strong);border-bottom:0}.report-view .report-table-card{gap:0;padding:0;display:grid;overflow:hidden}.report-view .report-table-card .report-table-wrap{border:0;border-radius:0;position:relative;overflow-x:auto}.report-view .report-table-card .report-table{border-collapse:collapse;width:100%;font-size:var(--so-size-body-sm);font-variant-numeric:tabular-nums}.report-view .report-table-card .report-table th{vertical-align:middle;height:40px;padding:0 var(--so-space-3);text-align:left;background:var(--so-surface-sunken);border-bottom:1px solid var(--so-border-subtle);font-size:var(--so-size-caption);font-weight:var(--so-weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--so-text-secondary);white-space:nowrap}.report-view .report-table-card .report-table td{height:44px;padding:0 var(--so-space-3);border-bottom:1px solid var(--so-border-subtle);color:var(--so-text-secondary);vertical-align:middle}.report-view .report-table-card .report-table tbody tr:nth-child(2n) td{background:var(--so-surface-sunken)}.report-view .report-table-card .report-table .is-number{text-align:right;white-space:nowrap}.report-view .report-table-card .report-table .report-row-group th{background:var(--so-primary-soft);height:36px;color:var(--so-primary);font-size:var(--so-size-body-sm);letter-spacing:0;text-transform:none}.report-view .report-table-card .report-table .report-row-child td:first-child{padding-left:calc(var(--so-space-3) * 2)}.report-view .report-table-card .report-table .report-row-subtotal td{background:var(--so-surface);color:var(--so-text);font-weight:var(--so-weight-semibold)}.report-view .report-table-card .report-table tfoot td{background:var(--so-surface-sunken);border-top:2px solid var(--so-border-strong);height:44px;color:var(--so-text);font-weight:var(--so-weight-semibold);border-bottom:0}.report-table-footer{justify-content:space-between;align-items:center;gap:var(--so-space-3);padding:var(--so-space-3) var(--so-space-4);border-top:1px solid var(--so-border-subtle);flex-wrap:wrap;display:flex}.report-table-count{font-size:var(--so-size-label);color:var(--so-text-muted);margin:0}.report-table-footer .table-pagination{border:0;flex:auto;justify-content:flex-end;padding:0}.report-table-footer .table-pagination-summary{display:none}.report-cards{margin:0;padding:0;list-style:none;display:none}.report-card-row{gap:var(--so-space-1);padding:var(--so-space-3) var(--so-space-4);border-bottom:1px solid var(--so-border-subtle);display:grid}.report-card-row.is-subtotal{background:var(--so-surface-sunken)}.report-card-top,.report-card-bottom{justify-content:space-between;align-items:baseline;gap:var(--so-space-3);min-width:0;display:flex}.report-card-top strong{font-size:var(--so-size-body);color:var(--so-text);overflow-wrap:anywhere;min-width:0}.report-card-figure{font-size:var(--so-size-body);font-weight:var(--so-weight-bold);color:var(--so-text);font-variant-numeric:tabular-nums;white-space:nowrap}.report-card-bottom span:first-child{font-size:var(--so-size-label);color:var(--so-text-muted);overflow-wrap:anywhere;min-width:0}.report-card-group{padding:var(--so-space-2) var(--so-space-4);background:var(--so-primary-soft);color:var(--so-primary);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold)}.report-totals .kpi-card-value{font-variant-numeric:tabular-nums}.report-student-header{align-items:center;gap:var(--so-space-4);padding:var(--so-space-4) var(--so-space-5);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.report-student-initials{border-radius:var(--so-radius-pill);background:var(--so-primary-soft);width:44px;height:44px;color:var(--so-primary);font-weight:var(--so-weight-bold);place-items:center;display:inline-grid}.report-student-who{gap:2px;min-width:0;display:grid}.report-student-who strong{font-size:var(--so-size-h3);color:var(--so-text)}.report-student-who span{font-size:var(--so-size-label);color:var(--so-text-muted);overflow-wrap:anywhere}.report-student-due{justify-items:end;gap:var(--so-space-1);display:grid}.report-student-due>span{font-size:var(--so-size-label);color:var(--so-text-muted)}.report-student-due strong{font-size:var(--so-size-kpi);color:var(--so-text);font-variant-numeric:tabular-nums}.report-student-due strong.is-due{color:var(--so-danger)}.report-view .report-layout-grid th.report-day,.report-view .report-layout-grid td.report-day{text-align:center;width:28px;min-width:28px;padding:0 2px}.report-view .report-layout-grid th.report-day{line-height:var(--so-leading-tight);display:table-cell}.report-view .report-layout-grid th.report-day span,.report-view .report-layout-grid th.report-day small{display:block}.report-view .report-layout-grid th.report-day small{font-weight:var(--so-weight-regular);color:var(--so-text-muted)}.report-view .report-layout-grid td.report-day.is-off{background:var(--so-neutral-soft)}.report-view .report-layout-grid td.report-day.is-a{color:var(--so-danger);font-weight:var(--so-weight-semibold)}.report-view .report-layout-grid td.report-day.is-l{color:var(--so-warning);font-weight:var(--so-weight-semibold)}.report-view .report-layout-grid td.report-day.is-lv{color:var(--so-primary);font-weight:var(--so-weight-semibold)}.report-empty{color:var(--so-text-muted);margin:0}@media (max-width:1100px){.reports-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.reports-hub-grid{grid-template-columns:minmax(0,1fr)}.reports-hub-search{flex-basis:100%}.report-filter-summary{display:flex}.report-filterbar{display:none}.report-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.report-student-header{grid-template-columns:auto minmax(0,1fr)}.report-student-due{grid-column:1/-1;justify-items:start}.report-table-footer,.report-table-footer .table-pagination{justify-content:center}.report-view .report-actions{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;width:100%;display:grid}.report-view .report-column-chooser .btn{width:100%}}.report-print{display:none}@page report-portrait{size:A4 portrait;margin:10mm}@page report-landscape{size:A4 landscape;margin:10mm}@media print{body:has(.report-print) :is(.sidebar,.desktop-sidebar,.schoolos-command-bar,.mobile-dashboard-topbar,.global-ai-assistant-root,.demo-banner){display:none!important}body:has(.report-print) .report-view>:not(.report-print){display:none!important}body:has(.report-print) :is(.dashboard-shell,.schoolos-workspace,.premium-main,main){background:var(--so-surface)!important;width:auto!important;min-height:0!important;box-shadow:none!important;margin:0!important;padding:0!important;display:block!important}.report-view:has(.report-print){margin:0;padding:0;display:block}.report-print{color:var(--so-text);font-size:var(--so-print-size-body);display:block}.report-print-page{break-after:page;page-break-after:always;flex-direction:column;display:flex;overflow:hidden}.report-print-page:last-child{break-after:auto;page-break-after:auto}.report-print-page.is-portrait{page:report-portrait;height:276mm}.report-print-page.is-landscape{page:report-landscape;height:189mm}.report-print-top{border-bottom:.6mm solid var(--so-text);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4mm;padding-bottom:3mm;display:grid}.report-print-logo{object-fit:contain;background:var(--so-surface-inverse);width:12mm;height:12mm;color:var(--so-text-inverse);font-weight:var(--so-weight-bold);font-size:var(--so-print-size-logo);border-radius:2mm;place-items:center;display:inline-grid}img.report-print-logo{background:0 0}.report-print-school,.report-print-title{gap:.5mm;display:grid}.report-print-school strong{font-size:var(--so-print-size-school)}.report-print-title{text-align:right;justify-items:end}.report-print-title strong{font-size:var(--so-print-size-title)}.report-print-school span,.report-print-title span{font-size:var(--so-print-size-meta);color:var(--so-text-muted)}.report-print-filters{background:var(--so-surface-sunken);font-size:var(--so-print-size-meta);border-radius:1.5mm;margin:3mm 0 0;padding:2mm 3mm}.report-print-totals{grid-template-columns:repeat(4,minmax(0,1fr));gap:3mm;margin-top:3mm;display:grid}.report-print-totals div{border:.25mm solid var(--so-border-strong);border-radius:1.5mm;gap:.5mm;padding:2mm 3mm;display:grid}.report-print-totals span{font-size:var(--so-print-size-micro);letter-spacing:var(--so-tracking-caps);text-transform:uppercase;color:var(--so-text-muted)}.report-print-totals strong{font-size:var(--so-print-size-total)}.report-print-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:3mm}.report-print-table th{background:var(--so-surface-sunken);border-bottom:.25mm solid var(--so-border-strong);height:6mm;font-size:var(--so-print-size-micro);font-weight:var(--so-weight-semibold);letter-spacing:var(--so-tracking-caps);text-transform:uppercase;text-align:left;color:var(--so-text-secondary);padding:0 1.5mm}.report-print-table td{border-bottom:.2mm solid var(--so-border);white-space:nowrap;text-overflow:ellipsis;max-width:60mm;height:5.6mm;padding:0 1.5mm;overflow:hidden}.report-print-table tr{break-inside:avoid;page-break-inside:avoid}.report-print-table .is-number{text-align:right}.report-print-table tfoot td{border-top:.4mm solid var(--so-border-strong);font-weight:var(--so-weight-bold);border-bottom:0}.report-print-group td{font-weight:var(--so-weight-semibold);background:var(--so-surface-sunken)}.report-print-subtotal td{font-weight:var(--so-weight-semibold)}.report-print.is-landscape .report-print-table :is(th,td){padding:0 1mm}.report-print-day{text-align:center;width:5.5mm}.report-print-day.is-off{background:var(--so-neutral-soft)}.report-print-total{font-size:var(--so-print-size-body);margin:3mm 0 0}.report-print-continued{text-align:right;font-size:var(--so-print-size-meta);color:var(--so-text-muted);margin:3mm 0 0}.report-print-signatures{gap:12mm;margin-top:auto;padding-top:14mm;display:flex}.report-print-signatures span{border-top:.3mm solid var(--so-text-secondary);font-size:var(--so-print-size-meta);color:var(--so-text-muted);flex:0 0 50mm;padding-top:1.5mm}.report-print-footer{border-top:.2mm solid var(--so-border);font-size:var(--so-print-size-footer);color:var(--so-text-muted);justify-content:space-between;gap:4mm;margin-top:auto;padding-top:2mm;display:flex}.report-print-signatures+.report-print-footer{margin-top:4mm}.report-print-footer strong{color:var(--so-text)}}.expenses-page{gap:var(--so-section-gap);min-width:0;padding-top:var(--so-space-4);display:grid}.expenses-page>*{min-width:0}.expense-tabs{justify-self:start}.expense-fields{gap:var(--so-space-3);grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;display:grid}.expense-fields>*{gap:var(--so-space-1);flex-direction:column;width:100%;min-width:0;display:flex}.expense-fields>*>span:first-child,.expense-filters>*>span:first-child{font-size:var(--so-size-label);font-weight:var(--so-weight-medium);color:var(--so-text-secondary);line-height:var(--so-leading-normal);min-height:20px;display:block}.expense-fields :is(input,select){box-sizing:border-box;width:100%;height:42px;min-height:42px}.expense-fields .so-segmented{box-sizing:border-box;min-height:42px}.expense-fields .expense-type{grid-column:span 1}.expense-fields .expense-remarks{grid-column:span 3}.expense-add,.expense-list-card{gap:var(--so-space-4);display:grid}.expense-add-foot{justify-content:space-between;align-items:center;gap:var(--so-space-3);padding-top:var(--so-space-3);border-top:1px solid var(--so-border-subtle);flex-wrap:wrap;display:flex}.expense-add-foot .form-helper{margin:0}.expense-list-head{align-items:center;gap:var(--so-space-3);flex-wrap:wrap;display:flex}.expense-list-head h2{font-size:var(--so-size-h3);margin:0}.expense-filters{gap:var(--so-space-3);grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;display:grid}.expense-filters>label{gap:var(--so-space-1);flex-direction:column;min-width:0;display:flex}.expense-filters>label>:is(input,select){box-sizing:border-box;width:100%;height:42px;min-height:42px}.expense-filters>button{box-sizing:border-box;white-space:nowrap;align-self:end;height:42px;min-height:42px;margin:0}.expense-selection{justify-content:space-between;align-items:center;gap:var(--so-space-3);flex-wrap:wrap;display:flex}.expense-selection p{color:var(--so-text-secondary);font-size:var(--so-size-body-sm);margin:0}.expense-selection-actions,.expense-row-actions{gap:var(--so-space-2);flex-wrap:wrap;display:flex}.expense-heads{gap:var(--so-section-gap);grid-template-columns:minmax(0,2fr) minmax(260px,1fr);align-items:start;display:grid}.expense-heads-side{gap:var(--so-section-gap);display:grid}.expense-heads-side form{gap:var(--so-space-3);display:grid}.expense-suggestions{margin:0 0 var(--so-space-3);gap:var(--so-space-2);padding:0;list-style:none;display:grid}.payment-voucher-page{gap:var(--so-section-gap);min-width:0;display:grid}.payment-voucher{justify-self:center;gap:var(--so-space-4);width:min(100%,210mm);padding:var(--so-space-6);border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);box-shadow:var(--so-shadow-md);display:grid}.payment-voucher-head{justify-content:space-between;gap:var(--so-space-3);padding-bottom:var(--so-space-3);border-bottom:1px solid var(--so-border);flex-wrap:wrap;display:flex}.payment-voucher-head strong{font-size:var(--so-size-h3);color:var(--so-text)}.payment-voucher-head span{justify-items:end;gap:2px;display:grid}.payment-voucher-head b{color:var(--so-primary);font-size:var(--so-size-body-sm);letter-spacing:var(--so-tracking-caps)}.payment-voucher-head small,.payment-voucher-printed{font-size:var(--so-size-caption);color:var(--so-text-muted)}.payment-voucher-facts{gap:var(--so-space-3);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.payment-voucher-facts dt{font-size:var(--so-size-caption);color:var(--so-text-muted)}.payment-voucher-facts dd{font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold);color:var(--so-text);margin:2px 0 0}.payment-voucher-table{border-collapse:collapse;width:100%;font-size:var(--so-size-body-sm)}.payment-voucher-table th,.payment-voucher-table td{padding:var(--so-space-2) var(--so-space-3);border-bottom:1px solid var(--so-border-subtle);text-align:left}.payment-voucher-table th:last-child,.payment-voucher-table td:last-child{text-align:right}.payment-voucher-table tfoot td{font-weight:var(--so-weight-bold);background:var(--so-surface-sunken);border-bottom:0}.payment-voucher-words{font-size:var(--so-size-body-sm);color:var(--so-text-secondary);margin:0}.payment-voucher-signs{gap:var(--so-space-5);padding-top:var(--so-space-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.payment-voucher-signs div{padding-top:var(--so-space-2);border-top:1px solid var(--so-border-strong);font-size:var(--so-size-caption);color:var(--so-text-muted);gap:2px;display:grid}.payment-voucher-signs strong{color:var(--so-text);font-size:var(--so-size-caption)}@media (max-width:1100px){.expense-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-fields .expense-remarks{grid-column:1/-1}.expense-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-heads{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.expense-fields,.expense-filters{grid-template-columns:minmax(0,1fr)}.expense-fields .expense-remarks{grid-column:auto}.expense-add-foot>.btn,.expense-filters>.btn{width:100%}.payment-voucher{padding:var(--so-space-4)}.payment-voucher-facts,.payment-voucher-signs{grid-template-columns:minmax(0,1fr)}}@page payment-voucher-a5{size:A5 landscape;margin:8mm}@media print{body:has(.payment-voucher-page) :is(.sidebar,.desktop-sidebar,.schoolos-command-bar,.mobile-dashboard-topbar,.global-ai-assistant-root,.demo-banner,.page-back-link,.report-actions,.principal-page-heading){display:none!important}.payment-voucher-page{page:payment-voucher-a5;display:block}.payment-voucher-page>.form-helper{display:none}.payment-voucher{width:auto;box-shadow:none;border:0;padding:0}}.logins-preview-table-wrap{margin:var(--so-space-3) 0;border:1px solid var(--so-border);border-radius:var(--so-radius-md);background:var(--so-surface);overflow:hidden}.logins-preview-table-header{background:var(--so-surface-sunken);border-bottom:1px solid var(--so-border);font-size:var(--so-size-caption);font-weight:var(--so-weight-bold);color:var(--so-text-secondary);text-transform:uppercase;letter-spacing:.04em;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:8px 14px;display:grid}.logins-preview-table-header>span:last-child{text-align:right;min-width:140px}.logins-preview-list{max-height:240px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.logins-preview-list li{border-bottom:1px solid var(--so-border-subtle);font-size:var(--so-size-body-sm);grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:9px 14px;transition:background-color .15s;display:grid}.logins-preview-list li:last-child{border-bottom:0}.logins-preview-list li:hover{background:var(--so-surface-sunken)}.logins-preview-name{color:var(--so-text);font-weight:var(--so-weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.logins-preview-id{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--so-size-label);font-weight:var(--so-weight-bold);color:var(--so-primary);text-align:right;letter-spacing:.02em;min-width:140px}.login-cards-warning{border:1px solid var(--so-warning-solid);border-radius:var(--so-radius-lg);background:var(--so-warning-soft);color:var(--so-warning);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;padding:14px 16px;display:flex}.login-cards-warning p{margin:4px 0 0}.login-cards-failed{margin:var(--so-space-2) 0;padding-left:var(--so-space-5);text-align:left}.login-cards-failed li+li{margin-top:var(--so-space-1)}.login-cards-sheet{background:var(--so-surface);border:1px solid var(--so-border);border-radius:var(--so-radius-lg);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:760px;margin:16px auto;padding:16px;display:grid}.login-card{border:1px dashed var(--so-border-strong);border-radius:var(--so-radius-lg);break-inside:avoid;gap:4px;padding:12px;display:grid}.login-card-school,.login-card-line,.login-card-note{color:var(--so-text-secondary);margin:0}.login-card-name{margin:0}.login-card-body{justify-content:space-between;align-items:center;gap:8px;display:flex}.login-card-body dl{gap:2px;margin:0;display:grid}.login-card-body dt{color:var(--so-text-muted)}.login-card-body dd{margin:0}.login-card-value{letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700}.login-card-qr{flex:none}.login-card,.login-card-body dl{min-width:0}.login-card-value,.login-card-name,.login-card-line,.login-card-school{overflow-wrap:anywhere}.login-card-urdu{overflow-wrap:break-word;text-align:right;margin:4px 0 0}@media (max-width:640px){.login-cards-sheet{grid-template-columns:minmax(0,1fr)}}@media print{.login-cards-page .login-cards-no-print{display:none!important}body:has(.login-cards-page) .desktop-sidebar{display:none!important}body:has(.login-cards-page) .sidebar{display:none!important}body:has(.login-cards-page) .mobile-dashboard-topbar{display:none!important}body:has(.login-cards-page) .schoolos-command-bar{display:none!important}body:has(.login-cards-page) .schoolos-topbar{display:none!important}body:has(.login-cards-page) .global-ai-assistant-root{display:none!important}body:has(.login-cards-page) .premium-main{margin:0!important;padding:0!important}.login-cards-sheet{page:login-cards;border:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:62mm;gap:2mm;max-width:none;margin:0;padding:0}.login-card{height:62mm;font-size:var(--so-size-label);align-content:start;gap:1mm;padding:3mm 4mm;line-height:1.25;overflow:hidden}.login-card-name{font-size:var(--so-size-body)}.login-card-qr{width:22mm;height:22mm}.login-card-urdu{margin-top:1mm}.login-cards-sheet:not(:last-child){break-after:page}}@page login-cards{size:A4;margin:10mm}.auth-invite-note{border:1px solid var(--so-info-soft);border-radius:var(--so-radius-lg);background:var(--so-info-soft);color:var(--so-text-secondary);font-size:var(--so-size-body-sm);line-height:var(--so-leading-normal);margin:0 0 18px;padding:12px 14px}.auth-invite-note.is-rejected{border-color:var(--so-danger-soft);background:var(--so-danger-soft);color:var(--so-danger)}.auth-invite-note strong{color:var(--so-text)}.auth-safety-note{border-radius:var(--so-radius-lg);background:var(--so-primary-soft);color:var(--so-text-secondary);font-size:var(--so-size-body-sm);line-height:var(--so-leading-snug);margin:2px 0 18px;padding:12px 14px}.auth-message{min-height:20px;color:var(--so-text-secondary);font-size:var(--so-size-body-sm);line-height:var(--so-leading-snug);margin:12px 0 0}.auth-switch-prompt{color:var(--so-text-muted);font-size:var(--so-size-body-sm);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:18px;display:flex}.auth-switch-prompt button{color:var(--so-primary);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;display:inline-flex}.auth-card-footnote{color:var(--so-text-muted);font-size:var(--so-size-caption);line-height:var(--so-leading-snug);text-align:center;margin:16px 0 0}.auth-contact{color:var(--so-text-muted);font-size:var(--so-size-body-sm);text-align:center;margin-top:18px;text-decoration:none;display:block}.auth-contact:hover,.auth-contact:focus-visible{color:var(--so-primary);text-decoration:underline}.auth-panel-footnote{color:var(--so-text-muted);font-size:var(--so-size-body-sm);text-align:center;gap:2px;margin:clamp(20px,2.6vw,30px) 0 0;display:grid}.auth-panel-footnote small{font-size:var(--so-size-caption)}.auth-page button:focus-visible,.auth-page a:focus-visible,.auth-page input:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:var(--so-focus-ring-offset)}.auth-page .auth-message:empty{display:none}@media (max-width:640px){.auth-secondary-row{grid-template-columns:minmax(0,1fr);gap:8px}}@media (min-width:1025px) and (max-height:900px){.auth-page .auth-showcase{padding-bottom:18px}.auth-page .auth-showcase-logo{margin-bottom:29px}.auth-page .auth-showcase-lede{margin-bottom:22px}.auth-page .auth-assurances{margin-top:20px}.auth-page .auth-panel{align-items:flex-start;padding-bottom:18px}.auth-page .auth-panel-inner{transform:none}.auth-page .auth-panel-logo{margin-bottom:30px}.auth-page .auth-card{padding-bottom:24px}.auth-page .auth-card-description{margin-bottom:12px}.auth-page .auth-field{gap:5px;margin-bottom:9px}.auth-page .auth-field>div{min-height:44px}.auth-page .auth-field input{height:42px}.auth-page .auth-row{margin-bottom:12px}.auth-page .auth-submit,.auth-page .auth-secondary{min-height:44px}.auth-page .auth-secondary,.auth-page .auth-message{margin-top:6px}.auth-page .auth-divider{margin:14px 0}.auth-page .auth-switch-prompt,.auth-page .auth-card-footnote,.auth-page .auth-panel-footnote{margin-top:10px}}@media (min-width:1025px) and (max-height:820px){.auth-page .auth-card{padding-bottom:20px}.auth-page .auth-card-description{margin-bottom:8px}.auth-page .auth-field{margin-bottom:6px}.auth-page .auth-field>div{min-height:42px}.auth-page .auth-field input{height:40px}.auth-page .auth-row{margin-bottom:7px}.auth-page .auth-submit,.auth-page .auth-secondary{min-height:40px}.auth-page .auth-secondary{margin-top:4px}.auth-page .auth-message{min-height:16px;margin-top:4px}.auth-page .auth-divider{margin:12px 0}.auth-page .auth-switch-prompt,.auth-page .auth-card-footnote{margin-top:5px}.auth-page .auth-contact{margin-top:8px}.auth-page .auth-panel-footnote{margin-top:5px}}@media (min-width:1025px) and (max-height:850px){.auth-page .auth-showcase{padding:40px clamp(32px,4vw,64px) 16px}.auth-page .auth-showcase-inner{max-width:730px;margin-top:12px}.auth-page .auth-showcase-logo{margin-bottom:20px}.auth-page .auth-showcase h1{margin-bottom:10px;font-size:clamp(24px,3.1vw,42px);line-height:1.08}.auth-page .auth-showcase-lede{margin-bottom:16px;font-size:clamp(12px,1vw,15px)}.auth-page .auth-stage{gap:clamp(8px,1.2vw,16px)}.auth-page .auth-device{justify-self:center;width:96%}.auth-page .auth-stage-rail{gap:clamp(8px,.8vw,12px)}.auth-page .auth-module-card{gap:4px;padding:11px 7px}.auth-page .auth-assurances{margin-top:14px}}@media (min-width:1025px) and (min-height:821px) and (max-height:850px){.auth-page .auth-contact{margin-top:4px}.auth-page .auth-panel-footnote{margin-top:0}.auth-page .auth-panel{padding-bottom:12px}}@media (max-width:1024px){.auth-page{grid-template-columns:minmax(0,1fr)}.auth-showcase{padding:clamp(28px,5vw,44px) clamp(20px,5vw,44px)}.auth-showcase-inner{max-width:640px}.auth-stage{grid-template-columns:minmax(0,1fr);gap:20px}.auth-stage-rail{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.auth-device{order:1}.auth-stage-rail:first-of-type{order:2}.auth-stage-rail:last-of-type{order:3}.auth-module-card{width:auto}.auth-panel{padding:clamp(28px,5vw,44px) clamp(16px,5vw,44px) clamp(36px,6vw,56px)}}@media (max-width:640px){.auth-panel{order:1}.auth-showcase{order:2;padding:26px 16px 30px}.auth-showcase h1{font-size:clamp(22px,6.4vw,28px)}.auth-showcase-lede{margin-bottom:22px;font-size:14px}.auth-brand-lockup{gap:8px}.auth-brand-lockup strong{font-size:24px}.auth-brand-mark,.auth-panel-logo .auth-brand-mark{--mark-size:46px}.auth-stage{gap:16px}.auth-stage-rail{gap:8px}.auth-device-base{width:calc(100% + 16px);margin-left:-8px}.auth-module-card{border-radius:var(--so-radius-lg);gap:4px;padding:10px 6px}.auth-module-card svg{width:17px;height:17px}.auth-module-card small{font-size:10px}.auth-assurances{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}.auth-assurances strong{font-size:12px}.auth-assurances small{font-size:11px}.auth-panel{padding:24px 16px 30px}.auth-panel-logo{margin-bottom:18px}.auth-card{border-radius:var(--so-radius-xl);padding:22px 18px}.auth-card h2{font-size:26px}.auth-card-description{margin-bottom:18px;font-size:13px}.auth-message:empty{display:none}.auth-divider{margin:16px 0}.auth-panel-footnote{margin-top:18px}}@media (max-width:360px){.auth-showcase{padding:22px 14px 26px}.auth-showcase h1{font-size:21px}.auth-stage-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-assurances{grid-template-columns:minmax(0,1fr);gap:10px}.auth-panel{padding:20px 12px 28px}.auth-card{padding:20px 14px}.auth-card h2{font-size:24px}.auth-field>div{min-height:48px;padding:0 12px}.auth-field input{height:46px}.auth-submit,.auth-secondary{min-height:48px;font-size:var(--so-size-body)}.auth-row{gap:8px}}@media (max-width:640px){.auth-stage{gap:var(--so-space-2);grid-template-rows:auto repeat(3,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr))}.auth-stage .auth-device{margin-bottom:var(--so-space-2);order:-1;grid-column:1/-1}.auth-stage-rail{display:contents}.auth-module-card{justify-content:flex-start;align-items:center;gap:var(--so-space-2);width:auto;min-width:0;height:100%;padding:var(--so-space-3);text-align:left;display:flex}.auth-assurances{gap:var(--so-space-2);grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr}.auth-assurances li{align-items:flex-start;gap:var(--so-space-2);height:100%;padding:var(--so-space-3);border:1px solid var(--auth-line);border-radius:var(--so-radius-lg);background:var(--auth-glass)}.auth-assurances li>span:first-child{width:28px;height:28px}}.student-directory{overscroll-behavior-x:none;touch-action:pan-y pinch-zoom;gap:22px;width:100%;min-width:0;max-width:100%;display:grid}.student-toolbar{justify-content:space-between;gap:10px;margin-bottom:12px;display:flex}.student-search{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex:1;align-items:center;gap:10px;padding:0 12px;display:flex}.student-search input{color:#0f172a;background:0 0;border:0;outline:0;flex:1;min-width:0;height:40px;font-size:14px;font-weight:500}.student-toolbar select{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:10px;min-height:40px;padding:0 12px;font-size:14px;font-weight:600}.student-profile-hero{grid-template-columns:64px 1fr auto!important;align-items:start!important;gap:20px!important;display:grid!important}.student-profile-hero .status{align-self:flex-start;margin-top:4px}.student-profile-hero h1{letter-spacing:-.035em;margin:8px 0 6px;font-size:clamp(22px,2.8vw,32px);line-height:1.15}.student-profile-hero p{color:var(--so-text-muted);font-size:14px}@media (max-width:780px){.student-toolbar,.student-card-top{flex-direction:column}.student-profile-hero{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}}.teacher-workspace{gap:18px;display:grid}.teacher-hero{grid-template-columns:1fr 280px;align-items:center;gap:20px;display:grid}.teacher-hero h1{letter-spacing:-.035em;margin:8px 0 6px;font-size:clamp(22px,2.5vw,30px);line-height:1.15}.teacher-hero p{color:var(--so-text-muted);max-width:680px;font-size:14px;line-height:1.48}.teacher-hero-card{z-index:1;border:1px solid var(--so-border);background:var(--so-surface-sunken);color:var(--so-text);border-radius:14px;gap:8px;padding:14px 16px;display:grid;position:relative}.teacher-hero-card strong{letter-spacing:-.03em;font-size:20px;font-weight:500}.teacher-hero-card span{color:var(--so-text-muted);font-size:12px;font-weight:400}.teacher-hero-card div{color:var(--so-text);align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.panel-header select{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:10px;min-height:38px;padding:8px 12px;font-size:13px;font-weight:600}.attendance-summary-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0;display:grid}.attendance-summary-row span{color:var(--so-text-muted);background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:400}.attendance-summary-row strong{color:#0f172a;margin-top:2px;font-size:18px;font-weight:500;display:block}.register-list{gap:8px;display:grid}.register-item{background:linear-gradient(#fff,#f8fafc);border:1px solid #94a3b83d;border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.register-person{align-items:flex-start;gap:10px;display:flex}.register-person strong{font-size:14px;font-weight:500;display:block}.register-person span{color:var(--so-text-muted);margin:2px 0;font-size:12px;font-weight:400;display:block}.register-person p{color:var(--so-text-muted);margin:0;font-size:12px;line-height:1.4}.status-switcher{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:200px;display:grid}.status-switcher button{color:var(--so-text-muted);cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;min-height:38px;padding:6px 10px;font-size:12px;font-weight:500}.status-switcher button.active.good{color:#166534;background:#dcfce7;border-color:#bbf7d0}.status-switcher button.active.warn{color:#92400e;background:#fef3c7;border-color:#fde68a}.status-switcher button.active.bad{color:#991b1b;background:#fee2e2;border-color:#fecaca}.status-switcher button.active.blue{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.register-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;display:flex}.register-actions span{color:#166534;align-items:center;gap:8px;font-size:13px;font-weight:500;display:inline-flex}.teacher-note{color:#1d4ed8;background:#eff6ff;border-radius:10px;gap:10px;margin-top:14px;padding:12px 14px;display:flex}.teacher-note p{margin:0;font-size:13px;font-weight:600;line-height:1.5}.teacher-heatmap{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:14px 0;display:grid}.teacher-heatmap span{color:#fff;background:linear-gradient(135deg,#2563eb,#10b981);border-radius:10px;place-items:center;min-height:44px;font-size:12px;font-weight:700;display:grid}@media (min-width:641px){.register-summary-row{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width:980px){.teacher-hero,.register-item{grid-template-columns:minmax(0,1fr)}.status-switcher{gap:8px 10px;width:100%;min-width:0}.status-switcher button{border-radius:10px;min-height:44px;padding:8px 12px;font-size:12px}.status-switcher .status.neutral{text-align:center;grid-column:1/-1}}@media (max-width:640px){.attendance-summary-row,.register-summary-row,.teacher-heatmap{grid-template-columns:repeat(2,minmax(0,1fr))}}.finance-center{gap:18px;display:grid}.finance-hero{grid-template-columns:1fr 300px;align-items:center;gap:20px;display:grid}.finance-hero h1{letter-spacing:-.035em;margin:8px 0 6px;font-size:clamp(22px,2.5vw,30px);line-height:1.15}.finance-hero p{color:var(--so-text-muted);max-width:680px;font-size:14px;line-height:1.48}.finance-hero-card{z-index:1;border:1px solid var(--so-border);background:var(--so-surface-sunken);color:var(--so-text);border-radius:14px;gap:6px;padding:14px 18px;display:grid;position:relative}.finance-hero-card span{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.finance-hero-card strong{letter-spacing:-.04em;font-size:26px}.finance-hero-card small{color:var(--so-text-muted);font-size:12px;font-weight:600}.invoice-list{gap:8px;display:grid}.invoice-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:10px 14px;display:flex}.invoice-row strong{font-size:14px;display:block}.invoice-row span:not(.status){color:var(--so-text-muted);margin-top:2px;font-size:12px;font-weight:600;display:block}.invoice-row>div:last-child{text-align:right}.mini-link{color:#2563eb;align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex}.timeline-amount{color:#1d4ed8;background:#eff6ff;border-radius:999px;margin-top:5px;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex}@media (max-width:980px){.finance-hero{grid-template-columns:minmax(0,1fr)}.invoice-row{flex-direction:column;align-items:flex-start}.invoice-row>div:last-child{text-align:left}}.results-center{gap:18px;display:grid}.results-hero{grid-template-columns:1fr 300px;align-items:center;gap:20px;display:grid}.results-hero h1{letter-spacing:-.035em;margin:8px 0 6px;font-size:clamp(22px,2.5vw,30px);line-height:1.15}.results-hero p{color:var(--so-text-muted);max-width:680px;font-size:14px;line-height:1.48}.results-hero-card{z-index:1;border:1px solid var(--so-border);background:var(--so-surface-sunken);color:var(--so-text);border-radius:14px;gap:6px;padding:14px 18px;display:grid;position:relative}.results-hero-card span{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.results-hero-card strong{letter-spacing:-.03em;font-size:28px}.results-hero-card small{color:var(--so-text-muted);font-size:12px;font-weight:600}.result-list{gap:8px;display:grid}.approval-list{gap:10px;margin-top:14px;display:grid}.approval-list article{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;justify-content:space-between;gap:12px;padding:12px 14px;display:flex}.approval-list p{color:var(--so-text-muted);margin:4px 0 0;font-size:12px;line-height:1.45}.approval-list span{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border-radius:999px;align-self:flex-start;padding:4px 8px;font-size:12px;font-weight:700}.subject-bars{gap:12px;margin-top:14px;display:grid}.subject-bars article>div:first-child{justify-content:space-between;margin-bottom:6px;font-size:13px;font-weight:700;display:flex}.subject-bars span{color:#2563eb}.report-card-shell{gap:14px;display:grid}.report-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.report-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:clamp(16px,2.5vw,24px);box-shadow:0 8px 24px #0f172a0f}.report-card header{border-bottom:2px solid #e2e8f0;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;padding-bottom:14px;display:grid}.report-card h1{letter-spacing:-.03em;margin:0;font-size:clamp(20px,2.5vw,26px)}.report-card header p{color:#64748b;font-size:13px;font-weight:600}.report-table{border-collapse:collapse;border-radius:10px;width:100%;overflow:hidden}.report-table th,.report-table td{text-align:left;border-bottom:1px solid #e2e8f0;padding:8px 12px;font-size:13px}.report-table th{color:#fff;text-transform:uppercase;letter-spacing:.06em;background:#0f172a;font-size:11px}.report-card footer{color:#64748b;border-top:1px solid #e2e8f0;justify-content:space-between;gap:12px;margin-top:16px;padding-top:12px;font-size:12px;font-weight:600;display:flex}.report-card footer span{align-items:center;gap:6px;display:inline-flex}@media print{html,body{height:auto!important;overflow:visible!important}.dashboard-shell,.schoolos-shell,.role-aware-shell{height:auto!important;max-height:none!important;display:block!important;overflow:visible!important}.schoolos-workspace{height:auto!important;max-height:none!important;overflow:visible!important}.sidebar,.desktop-sidebar,.schoolos-command-bar,.top-command-row,.report-card-actions,.page-back-link{display:none!important}.premium-main{padding:0!important}.report-card{box-shadow:none!important;border:0!important}}@media (max-width:980px){.results-hero,.report-card header,.report-student-grid,.report-comments,.result-row{grid-template-columns:minmax(0,1fr)}.approval-list article{flex-direction:column}}.portal-shell{background:radial-gradient(circle at 12% 0,#2563eb29,#0000 28%),linear-gradient(#f8fbff,#eef3ff);gap:18px;min-height:100vh;padding:20px;display:grid}.portal-hero{grid-template-columns:1fr 300px;align-items:center;gap:20px;display:grid}.portal-hero h1{letter-spacing:-.035em;margin:8px 0 6px;font-size:clamp(22px,2.5vw,30px);line-height:1.15}.portal-hero p{color:#ffffffbf;max-width:820px;font-size:14px;line-height:1.48}.portal-child-list,.subject-progress-list{gap:10px;margin-top:14px;display:grid}.portal-child-list article,.subject-progress-list article{background:#f8fafc;border:1px solid #94a3b83d;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.subject-progress-list article{grid-template-columns:1fr auto}.portal-child-list strong,.subject-progress-list strong{font-size:14px;display:block}.portal-child-list span:not(.status),.subject-progress-list span:not(.status){color:var(--so-text-muted);margin-top:2px;font-size:12px;font-weight:600;display:block}.portal-child-list p{color:var(--so-text-muted);margin:4px 0 0;font-size:12px}@media (max-width:900px){.portal-hero,.portal-child-list article,.subject-progress-list article,.achievement-path{grid-template-columns:minmax(0,1fr)}}.campaign-list,.template-list{gap:10px;margin-top:14px;display:grid}.campaign-list article{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.campaign-list strong,.template-list strong{font-size:14px;display:block}.campaign-list span:not(.status){color:var(--so-text-muted);margin-top:2px;font-size:12px;font-weight:600;display:block}.template-list article{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:12px 14px}.template-list p{color:var(--so-text-muted);margin:6px 0 0;font-size:12px;line-height:1.5}@media (max-width:920px){.communications-hero,.campaign-list article{grid-template-columns:minmax(0,1fr)}}.database-hero,.launch-hero{grid-template-columns:1fr 280px;align-items:center;gap:20px;display:grid}.database-hero h1,.launch-hero h1{letter-spacing:-.035em;margin:8px 0 6px;font-size:clamp(22px,2.5vw,30px);line-height:1.15}.database-hero p,.launch-hero p{color:var(--so-text-muted);font-size:14px;line-height:1.48}.database-live-card,.launch-score-card{z-index:1;color:#fff;text-align:center;background:#ffffff17;border:1px solid #ffffff24;border-radius:14px;place-items:center;gap:6px;padding:14px 18px;display:grid;position:relative}.database-live-card strong{letter-spacing:-.03em;font-size:24px}.database-live-card span{color:#bfdbfe;font-size:12px;font-weight:700}.database-table-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.database-table-grid article{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px}.database-table-grid strong{letter-spacing:-.03em;font-size:20px;display:block}.database-table-grid span{color:var(--so-text-muted);margin-top:2px;font-size:12px;font-weight:600;display:block}.database-json-card{color:#dbeafe;background:#0f172a;border-radius:14px;max-height:420px;padding:18px;overflow:auto}.database-json-card pre{margin:0;font-size:12px;line-height:1.65}.launch-score-card .radial-center span{color:#ffffffad}.launch-readiness-list{gap:12px;margin-top:18px;display:grid}.launch-readiness-list article{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:16px;display:grid}.launch-readiness-list p{color:var(--so-text-muted);margin:6px 0 0;line-height:1.55}.launch-readiness-list article>div:last-child{text-align:right}.launch-readiness-list span{color:#1d4ed8;background:#eff6ff;border-radius:999px;margin-bottom:7px;padding:5px 9px;font-size:12px;font-weight:700;display:inline-block}.launch-readiness-list article>div:last-child strong{letter-spacing:-.04em;font-size:24px;display:block}.launch-checklist{gap:10px;margin-top:18px;display:grid}.launch-checklist article{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;align-items:center;gap:12px;padding:14px;display:flex}.launch-checklist span{color:#fff;background:#e2e8f0;border-radius:50%;place-items:center;width:26px;height:26px;font-weight:700;display:grid}.launch-checklist article.done span{background:#16a34a}.product-script-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.product-script-grid article{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;gap:12px;padding:16px;display:flex}.product-script-grid span{color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed);border-radius:14px;flex:none;place-items:center;width:38px;height:38px;font-weight:700;display:grid}.product-script-grid p{color:#475569;margin:0;font-weight:700;line-height:1.55}@media (max-width:900px){.database-hero,.launch-hero,.launch-readiness-list article,.product-script-grid,.database-table-grid{grid-template-columns:minmax(0,1fr)}.launch-readiness-list article>div:last-child{text-align:left}}.auth-message{color:var(--so-text-muted);text-align:center;margin:12px 0 0;font-weight:700;line-height:1.55}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}button:disabled{opacity:.7;cursor:not-allowed}.session-badge{color:#334155;background:#ffffffd1;border:1px solid #94a3b847;border-radius:999px;align-items:center;gap:9px;padding:10px 12px;font-weight:700;display:inline-flex;box-shadow:0 14px 40px #0f172a0f}.session-badge.live{padding:8px 8px 8px 12px}.session-badge span{line-height:1.1;display:grid}.session-badge strong{text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:12px;overflow:hidden}.session-badge small{color:var(--so-text-muted);font-size:10px;font-weight:700}.session-badge button{color:#334155;cursor:pointer;background:#f1f5f9;border:0;border-radius:999px;place-items:center;width:30px;height:30px;display:grid}@media (max-width:720px){.top-command-row{flex-wrap:wrap;justify-content:stretch}.session-badge,.command-trigger{justify-content:center;width:100%}}:root{--ds-primary:#2563eb;--ds-primary-strong:#1d4ed8;--ds-secondary:#0f172a;--ds-accent:#10b981;--ds-success:#059669;--ds-warning:#d97706;--ds-error:#dc2626;--ds-ink:#07111f;--ds-text:#1e293b;--ds-muted:#64748b;--ds-soft:#f8fafc;--ds-surface:#fff;--ds-border:#e2e8f0;--ds-ring:#2563eb57;--ds-shadow:0 24px 70px #0f172a14;--ds-radius-lg:28px;--ds-radius-md:18px}::selection{background:#2563eb2e}.ds-section-title{letter-spacing:-.06em;color:var(--ds-ink);margin:12px 0;font-size:clamp(34px,5vw,58px);line-height:1}.ds-eyebrow{color:#2563eb;text-transform:uppercase;letter-spacing:.13em;align-items:center;gap:8px;font-size:12px;font-weight:950;line-height:1;display:inline-flex}.ds-btn{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:12px 18px;font-weight:900;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.ds-btn:hover{transform:translateY(-1px)}.ds-btn-primary{color:#fff;background:linear-gradient(135deg, var(--ds-primary), #7c3aed);box-shadow:0 16px 38px #2563eb3d}.ds-btn-secondary{color:var(--ds-ink);border-color:var(--ds-border);background:#fff;box-shadow:0 12px 30px #0f172a0d}.ds-btn-lg{min-height:52px;padding:14px 22px}.ds-card{border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow);background:#ffffffe0;border:1px solid #94a3b83d}.brand-logo{color:var(--ds-ink);align-items:center;gap:12px;display:inline-flex}.marketing-hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.hero-chart i:nth-child(2){height:44px}.hero-chart i:nth-child(3){height:62px}.hero-chart i:nth-child(4){height:48px}.hero-chart i:nth-child(5){height:78px}.hero-chart i:nth-child(6){height:68px}.hero-chart i:nth-child(7){height:88px}.module-card h3{letter-spacing:-.035em;margin:18px 0 8px;font-size:22px}.module-card p{color:var(--ds-muted);line-height:1.7}.faq-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.faq-grid article{border:1px solid var(--ds-border);background:#fff;border-radius:22px;padding:20px}.faq-grid h3,.faq-grid h2{letter-spacing:-.03em;margin:0 0 8px}.faq-grid p{color:var(--ds-muted);line-height:1.65}.final-cta{padding-top:30px}.public-page{background:linear-gradient(#fff,#f8fbff);min-height:100vh;padding:24px}.public-nav{justify-content:space-between;align-items:center;gap:16px;width:min(1120px,100%);margin:0 auto;padding-bottom:54px;display:flex}.public-hero{text-align:center;width:min(980px,100%);margin:0 auto 28px}.public-hero h1{letter-spacing:-.075em;margin:16px 0;font-size:clamp(42px,7vw,76px);line-height:.94}.public-hero p{color:var(--ds-muted);font-size:19px;line-height:1.75}.public-card-grid,.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:min(1120px,100%);margin:0 auto;display:grid}.public-card,.pricing-card{padding:24px}.public-card svg{color:#2563eb}.public-card h2,.pricing-card h2{letter-spacing:-.04em;margin:16px 0 8px;font-size:24px}.public-card p,.pricing-card p{color:var(--ds-muted);line-height:1.7}.public-card a{color:#2563eb;font-weight:900}.public-panel{border:1px solid var(--ds-border);width:min(900px,100%);box-shadow:var(--ds-shadow);background:#fff;border-radius:28px;margin:22px auto 0;padding:28px}.public-panel ul{gap:12px;padding:0;list-style:none;display:grid}.public-panel li{color:#334155;align-items:flex-start;gap:10px;line-height:1.6;display:flex}.legal-content{gap:12px;width:min(900px,100%);margin:22px auto 0;display:grid}.legal-content .site-faq{box-shadow:var(--ds-shadow)}.legal-content .site-faq-row{scroll-margin-top:calc(var(--so-site-nav-height) + 24px)}.public-faq{width:min(980px,100%);margin:0 auto}.pricing-card ul{gap:12px;margin:20px 0;padding:0;list-style:none;display:grid}.pricing-card li{color:#334155;align-items:center;gap:10px;font-weight:850;display:flex}@media (max-width:980px){.module-grid,.proof-section,.public-card-grid,.pricing-grid,.role-card-grid,.faq-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:620px){.marketing-nav-actions .ds-btn,.marketing-hero-actions .ds-btn{width:100%}.public-page{padding:16px}.public-nav{flex-direction:column;align-items:stretch}}.live-status-card{color:#334155;background:#ffffffe0;border:1px solid #94a3b83d;border-radius:14px;align-items:center;gap:10px;padding:14px 16px;font-weight:700;display:flex;box-shadow:0 16px 40px #0f172a0d}.live-status-card svg{color:#2563eb;flex:none}.live-status-card span{flex:1;line-height:1.5}.live-status-card button{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #dbeafe;border-radius:999px;padding:8px 12px;font-weight:700}.live-form-panel h2{margin-top:8px}.live-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.live-form-grid label{color:#334155;gap:7px;font-weight:700;display:grid}.live-form-grid label span{text-transform:uppercase;letter-spacing:.08em;color:var(--so-text-muted);font-size:12px}.live-form-grid input,.live-form-grid select{color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;outline:none;min-height:46px;padding:0 12px;font-weight:700}.live-form-grid input:focus,.live-form-grid select:focus{border-color:#93c5fd;box-shadow:0 0 0 4px #2563eb1f}.live-form-grid button{align-self:end}.empty-state-card{color:var(--so-text-muted);text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;padding:22px;font-weight:700}@media (max-width:900px){.live-form-grid{grid-template-columns:minmax(0,1fr)}.live-status-card{flex-direction:column;align-items:flex-start}}.visual-story-card{box-shadow:var(--ds-shadow);background:#fff;border:1px solid #94a3b838;border-radius:30px;overflow:hidden}.visual-story-card img{aspect-ratio:16/9;object-fit:cover;background:#e2e8f0;width:100%;display:block}.visual-story-card.large img{aspect-ratio:16/10}.visual-story-card span{color:#2563eb;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:950}.visual-story-card h3{letter-spacing:-.05em;margin:10px 0 8px;font-size:clamp(22px,3vw,34px);line-height:1.04}.visual-story-card p{color:var(--ds-muted);margin:0;line-height:1.7}@media (max-width:980px){.visual-story-grid,.image-use-case-grid{grid-template-columns:minmax(0,1fr)}.visual-story-card.large{grid-row:auto}}@keyframes eduBoxFloat{0%,to{transform:translate(-50%,-50%)rotateX(-18deg)rotateY(34deg)translateY(0)}50%{transform:translate(-50%,-50%)rotateX(-14deg)rotateY(42deg)translateY(-12px)}}.visual-story-card div{padding:20px!important}.visual-story-card h3{font-size:clamp(22px,2.4vw,30px)!important}.marketing-nav-actions,.marketing-hero-actions{align-items:center;gap:16px!important}.marketing-hero-actions .ds-btn,.marketing-nav-actions .ds-btn{min-height:52px;padding:14px 22px}.ds-btn-secondary{border-color:#cbd5e1!important;box-shadow:0 12px 30px #0f172a0f,inset 0 0 0 1px #fff9!important}.module-card{padding:28px!important}.module-card:nth-child(-n+3){background:linear-gradient(#fff,#f8fbff);border-color:#2563eb47;box-shadow:0 26px 80px #2563eb17}.module-card p{max-width:92%;font-size:15px;line-height:1.82!important}.visual-story-card div{text-align:left}.visual-story-card.large{grid-row:auto!important}.visual-story-card img,.visual-story-card.large img{aspect-ratio:auto!important;object-fit:cover!important;object-position:center!important;height:260px!important}.visual-story-card div{min-height:210px}.faq-grid{background:#fff;border:1px solid #e5e7eb;border-radius:26px;overflow:hidden;gap:0!important}.faq-grid article{box-shadow:none!important;border:0!important;border-bottom:1px solid #e5e7eb!important;border-radius:0!important;padding:24px!important}.faq-grid article:nth-last-child(-n+2){border-bottom:0!important}@media (max-width:980px){.visual-story-grid{grid-template-columns:1fr!important}.visual-story-card div{min-height:auto}.faq-grid article:nth-last-child(-n+2){border-bottom:1px solid #e5e7eb!important}.faq-grid article:last-child{border-bottom:0!important}}@media (max-width:700px){.marketing-nav-actions{gap:12px!important}.marketing-hero-actions .ds-btn,.marketing-nav-actions .ds-btn{min-height:50px}.hero-kpi-grid div{min-height:96px}.visual-story-card img,.visual-story-card.large img{height:240px!important}}.clean-wordmark.uploaded-brand-logo{width:clamp(220px,18vw,292px)!important;height:76px!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;overflow:visible!important}.brand-logo img{filter:drop-shadow(0 8px 18px #0f172a14);object-fit:contain!important;object-position:left center!important;width:100%!important;height:100%!important;transform:none!important}.brand-logo:not(.uploaded-brand-logo){align-items:center;width:220px;height:70px;display:inline-grid}.marketing-nav-links a:hover,.marketing-nav-links a:focus-visible{color:#0f46d9!important}#platform{background:#f9f9fb;width:100%;max-width:none;padding-left:max(16px,50vw - 600px);padding-right:max(16px,50vw - 600px);padding-top:clamp(80px,8vw,108px)!important;padding-bottom:clamp(80px,8vw,108px)!important}#platform .section-heading,#platform .module-grid{width:min(1200px,100%);margin-left:auto;margin-right:auto}.visual-proof-section{background:linear-gradient(#fff 0%,#f5f5f3 18% 100%);width:100%;max-width:none;padding-left:max(16px,50vw - 600px);padding-right:max(16px,50vw - 600px)}.faq-grid{padding:8px;background:#fafafa!important;border:1px solid #e5e7eb!important;border-radius:18px!important;gap:8px!important}.faq-grid article{background:#fff!important;border:1px solid #eee!important;border-radius:12px!important}.final-cta{background:#fafafa;position:relative;padding-top:96px!important}.final-cta:before{content:"";clip-path:polygon(0 100%,100% 28%,100% 100%,0 100%);opacity:.98;background:#07111f;width:100%;height:72px;position:absolute;top:0;left:0}.module-card{transition:transform .18s,box-shadow .18s,border-color .18s!important}.module-card:hover,.module-card:focus-within{transform:translateY(-4px);border-color:#2563eb57!important;box-shadow:0 30px 86px #0f172a1f!important}.visual-story-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important;gap:24px!important;display:grid!important}.visual-story-card,.visual-story-card.large{grid-template-rows:260px 1fr!important;height:100%!important;display:grid!important}.visual-story-card img,.visual-story-card.large img{aspect-ratio:auto!important;object-fit:cover!important;object-position:center center!important;width:100%!important;height:260px!important}.visual-story-card div{min-height:0!important;padding:24px!important}.visual-story-card span{color:#333!important;letter-spacing:2px!important;font-size:11px!important;font-weight:950!important}.faq-grid{background:#fafafa!important;border-radius:16px!important;grid-template-columns:1fr!important;gap:0!important;padding:0!important;display:grid!important}.faq-grid article{border:0!important;border-bottom:1px solid #ebebeb!important;border-radius:0!important;padding:24px 26px!important}.faq-grid article:last-child{border-bottom:0!important}.faq-grid p{color:#3f4a5f!important;font-size:14px!important;line-height:1.65!important}@media (max-width:980px){.visual-story-grid{grid-template-columns:1fr!important;gap:18px!important}.visual-story-card,.visual-story-card.large{grid-template-rows:260px auto!important}}@media (max-width:700px){.visual-story-card,.visual-story-card.large{grid-template-rows:240px auto!important}.visual-story-card img,.visual-story-card.large img{height:240px!important}.hero-kpi-grid strong{font-size:24px!important}}.sidebar-brand-logo{margin-bottom:28px}.brand-report-logo .uploaded-brand-logo{width:190px!important;height:64px!important}.empty-module-panel{justify-items:start;gap:12px;max-width:760px;display:grid}.empty-module-panel svg{color:#2563eb;box-sizing:content-box;background:#eff6ff;border-radius:14px;padding:12px}.empty-module-panel p{color:var(--so-text-muted);max-width:620px;line-height:1.7}.setup-hero{grid-template-columns:1fr 260px;align-items:center;gap:24px;display:grid}.setup-hero h1{letter-spacing:-.035em;margin:8px 0 6px;font-size:clamp(22px,2.5vw,30px);line-height:1.15}.setup-hero p{color:var(--so-text-muted);font-size:14px;line-height:1.48}.setup-score-card{color:#fff;text-align:center;background:#ffffff14;border:1px solid #ffffff24;border-radius:14px;gap:6px;padding:14px 18px;display:grid}.setup-score-card strong{letter-spacing:-.03em;font-size:28px}.setup-score-card span{color:#bfdbfe;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:700}.setup-score-card small{color:#ffffffbf;font-size:12px;font-weight:600}.setup-stepper{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.setup-stepper button{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;place-items:center;gap:4px;min-height:48px;font-weight:700;display:grid}.setup-stepper button.active{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.setup-stepper button.done{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.setup-stepper span{font-size:11px;line-height:1.2}.setup-form h2,.setup-summary h2{letter-spacing:-.03em;margin-top:6px;font-size:20px}.setup-form textarea,.live-form-grid textarea{color:#0f172a;resize:vertical;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;outline:none;min-height:92px;padding:12px;font-family:inherit;font-weight:700}.setup-checkbox{align-self:end;align-items:center;gap:10px;min-height:46px;display:flex!important}.setup-checkbox input{width:18px;height:18px}.setup-readiness-list{gap:10px;margin:16px 0;display:grid}.setup-readiness-list article{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;justify-content:space-between;gap:14px;padding:14px;display:flex}.setup-readiness-list span{color:var(--so-text-muted);font-weight:700}.setup-readiness-list strong{color:#0f172a}.setup-summary p{color:var(--so-text-muted);line-height:1.7}.setup-launch-step{justify-items:start;gap:14px;display:grid}.setup-launch-step svg{color:#2563eb;box-sizing:content-box;background:#eff6ff;border-radius:14px;padding:14px}@media (max-width:980px){.setup-hero{grid-template-columns:minmax(0,1fr)}.setup-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.setup-stepper{grid-template-columns:minmax(0,1fr)}}.invitation-list{gap:12px;margin-top:16px;display:grid}.invitation-list article{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.invitation-list strong{display:block}.invitation-list span{color:var(--so-text-muted);margin-top:4px;font-weight:700;display:block}.invitation-list button{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #dbeafe;border-radius:999px;align-items:center;gap:7px;padding:9px 12px;font-weight:700;display:inline-flex}@media (max-width:760px){.invitation-list article{flex-direction:column;align-items:flex-start}}.setup-help{color:var(--so-text-muted);margin:8px 0 18px;font-weight:700;line-height:1.65}.live-form-grid input[type=file]{height:auto;min-height:50px;padding:12px}.single-column-form button{justify-self:start}@media (min-width:981px){:is(html:has(.dashboard-shell),body:has(.dashboard-shell)){height:100%;overflow:hidden}.dashboard-shell,.role-aware-shell,.schoolos-shell{grid-template-columns:240px minmax(0,1fr);width:100%;min-width:0;max-width:100%;height:100dvh;max-height:100dvh;display:grid;overflow:hidden}.desktop-sidebar{box-sizing:border-box;flex-direction:column;height:100dvh;max-height:100dvh;padding:24px;display:flex;position:relative;top:auto;overflow:hidden}.desktop-sidebar .sidebar-brand{flex:none;margin-bottom:24px}.desktop-sidebar nav{overscroll-behavior-y:contain;overscroll-behavior-x:none;flex:auto;min-height:0;padding-right:2px;overflow-y:auto}.desktop-sidebar .sidebar-status{flex:none;margin-top:auto}.schoolos-workspace{overscroll-behavior-y:auto;overscroll-behavior-x:none;flex-direction:column;width:100%;min-width:0;max-width:100%;height:100dvh;max-height:100dvh;display:flex;overflow:hidden auto}.schoolos-workspace .premium-main{flex:1 0 auto;min-height:min-content}}.role-aware-shell{overscroll-behavior-x:none;grid-template-columns:240px minmax(0,1fr);width:100%;min-width:0;max-width:100%}.desktop-sidebar nav{scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;flex-direction:column;flex:1;justify-content:flex-start;align-items:stretch;gap:8px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.desktop-sidebar nav::-webkit-scrollbar{width:5px}.sidebar nav::-webkit-scrollbar{width:5px}.mobile-nav-panel nav::-webkit-scrollbar{width:5px}.desktop-sidebar nav::-webkit-scrollbar-track{background:0 0}.sidebar nav::-webkit-scrollbar-track{background:0 0}.mobile-nav-panel nav::-webkit-scrollbar-track{background:0 0}.desktop-sidebar nav::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:6px}.sidebar nav::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:6px}.mobile-nav-panel nav::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:6px}.desktop-sidebar nav::-webkit-scrollbar-thumb:hover{background:#ffffff52}.sidebar nav::-webkit-scrollbar-thumb:hover{background:#ffffff52}.mobile-nav-panel nav::-webkit-scrollbar-thumb:hover{background:#ffffff52}.nav-group{flex-direction:column;flex-shrink:0;align-items:stretch;gap:2px;display:flex}.nav-group h3{color:#8393aa;text-transform:uppercase;letter-spacing:.1em;flex-shrink:0;margin:4px 0 2px 8px;font-size:11px;font-weight:400;line-height:1}.nav-group-header-btn{cursor:pointer;color:#8393aa;text-align:left;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;width:100%;padding:3px 6px 3px 8px;transition:background .15s,color .15s;display:flex}.nav-group-header-btn:hover,.nav-group-header-btn:focus-visible{color:#cbd5e1;background:#ffffff0d}.nav-group-header-btn h3{text-transform:uppercase;letter-spacing:.1em;color:inherit;margin:0;font-size:11px;font-weight:400;line-height:1}.nav-group-chevron{opacity:.65;justify-content:center;align-items:center;transition:transform .15s;display:flex}.nav-group-header-btn:hover .nav-group-chevron{opacity:1}.nav-group-items{flex-direction:column;gap:2px;display:flex}.sidebar-status-compact{background:#ffffff0a!important;border:1px solid #ffffff14!important;border-radius:8px!important;padding:6px 8px!important}.sidebar-status-compact .sidebar-school-identity{align-items:center;gap:7px;display:flex}.sidebar-status-compact .sidebar-school-logo{object-fit:contain;border-radius:6px;width:22px;height:22px}.sidebar-status-compact .sidebar-school-text{flex:1;align-items:center;gap:5px;min-width:0;display:flex}.sidebar-status-compact .sidebar-school-text strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:12px!important;line-height:1.2!important}.sidebar-status-compact .sidebar-school-term{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#94a3b8!important;margin:2px 0 0!important;font-size:11px!important;line-height:1.2!important}@media (min-width:981px) and (max-height:820px){.desktop-sidebar{padding:14px 16px!important}.desktop-sidebar .sidebar-brand-logo{margin-bottom:10px!important}.nav-group-header-btn{padding:2px 4px 2px 6px!important}.nav-group-header-btn h3{font-size:10px!important}.nav-group a{gap:7px!important;min-height:28px!important;padding:4px 8px!important;font-size:12px!important}}.nav-group a{color:#cbd5e1;box-sizing:border-box;border-radius:8px;flex-shrink:0;align-items:center;gap:9px;min-height:33px;padding:6px 10px;font-size:14px;font-weight:400;transition:background .16s,color .16s,transform .16s;display:flex}.nav-group a:hover,.nav-group a:focus-visible{color:#fff;background:#ffffff17;transform:translate(2px)}.mobile-dashboard-topbar{display:none}.mobile-nav-overlay{z-index:var(--z-drawer);position:fixed;inset:0}.mobile-nav-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0206178f;border:0;position:fixed;inset:0}.mobile-nav-panel{background:var(--figma-sidebar,#14213a);color:#fff;border-right:1px solid #ffffff14;width:min(320px,100vw - 40px);padding:18px;position:fixed;inset:0 auto 0 0;overflow-y:auto;box-shadow:22px 0 70px #02061752}.mobile-nav-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.mobile-nav-head button,.mobile-dashboard-topbar button{color:#fff;background:#ffffff14;border:1px solid #94a3b847;border-radius:14px;place-items:center;width:44px;height:44px;display:grid}.mobile-nav-panel nav{gap:18px;display:grid}.mobile-nav-panel .nav-group{gap:6px;display:grid}.mobile-nav-panel .nav-group h3{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.14em;margin:0 0 5px 4px;font-size:10px}.mobile-nav-panel .nav-group a{color:#e2e8f0;background:#ffffff0a;border-radius:14px;align-items:center;gap:10px;min-height:46px;padding:12px 13px;font-weight:700;display:flex}@media (max-width:980px){html,body{height:auto;overflow-x:clip}.dashboard-shell,.role-aware-shell,.schoolos-shell{height:auto;max-height:none;display:block;overflow:visible}.desktop-sidebar{display:none!important}.schoolos-workspace{height:auto;max-height:none;overflow:visible}.mobile-dashboard-topbar{z-index:var(--z-sticky);background:var(--figma-sidebar,#14213a);color:#fff;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex;position:sticky;top:0;box-shadow:0 12px 34px #0206172e}.premium-main{padding:16px!important}.top-command-row{z-index:var(--z-sticky);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8fbffeb;border:1px solid #e2e8f0cc;border-radius:14px;margin-bottom:14px;padding:10px;position:sticky;top:78px}}@media (max-width:520px){.mobile-nav-panel{width:min(320px,100vw - 24px)}}.auth-recovery-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px;display:flex}.schoolos-shell{--figma-primary:var(--so-primary);--figma-canvas:var(--so-bg);--figma-ink:var(--so-text);--figma-success:var(--so-success);--figma-attention:var(--so-warning);--figma-critical:var(--so-danger);--figma-sidebar:var(--so-surface-inverse);--figma-space:var(--so-space-2);--figma-card-radius:var(--so-radius-lg);--page-top-lead:22px;overscroll-behavior-x:none;background:var(--figma-canvas);width:100%;min-width:0;max-width:100%;color:var(--figma-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.schoolos-shell .premium-sidebar,.schoolos-shell .mobile-nav-panel{background:var(--figma-sidebar)}.schoolos-shell .schoolos-command-bar{color:var(--figma-ink);background:#fff}.schoolos-shell .premium-main{padding:var(--page-top-lead) calc(var(--figma-space) * 4) 88px}.schoolos-shell .card{border-radius:var(--figma-card-radius)}.schoolos-workspace{overscroll-behavior-x:none;width:100%;min-width:0;max-width:100%}.schoolos-command-bar{box-sizing:border-box;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:100%;max-width:100%;height:56px;min-height:56px;max-height:56px;z-index:var(--z-sticky);background:#fffffff5;border-bottom:1px solid #94a3b82e;flex-direction:row;justify-content:space-between;align-items:center;gap:12px;padding:0 20px;display:flex;position:sticky;top:0}.schoolos-topbar-left{flex:none;align-items:center;gap:10px;min-width:0;display:flex}.schoolos-context{flex-direction:column;flex-shrink:0;gap:1px;min-width:0;display:flex}.schoolos-context strong{color:#07111f;letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:14px;line-height:1.2;overflow:hidden}.schoolos-context .schoolos-tagline{color:var(--so-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;line-height:1.2;overflow:hidden}.schoolos-topbar-demo-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.topbar-demo-actions-container{align-items:center;display:flex}.topbar-demo-inline{flex-wrap:nowrap;align-items:center;gap:6px;display:flex}.btn-text-short{display:none}.btn-text-full{display:inline}.topbar-demo-mobile{display:none}@media (max-width:1359px){.btn-text-full{display:none}.btn-text-short{display:inline}.schoolos-context .schoolos-tagline{display:none}.schoolos-command-bar .command-trigger{max-width:160px;font-size:12px}.schoolos-command-bar .command-trigger kbd{display:none}}@media (max-width:1120px){.schoolos-topbar-right .session-badge small{display:none}}@media (max-width:1080px){.schoolos-command-bar .command-trigger .command-trigger-label{display:none}.schoolos-command-bar .command-trigger{justify-content:center;width:34px;min-width:34px;max-width:34px;padding:0}.schoolos-topbar-right .session-badge span{display:none}}@media (max-width:1023px){.topbar-demo-inline{display:none}.topbar-demo-mobile{display:block;position:relative}.topbar-demo-mobile-trigger{color:#1e40af;cursor:pointer;box-sizing:border-box;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;align-items:center;gap:4px;height:32px;padding:0 9px;font-size:11px;font-weight:700;display:inline-flex}.topbar-demo-mobile-backdrop{z-index:var(--z-dropdown);position:fixed;inset:0}.topbar-demo-mobile-popover{z-index:var(--z-dropdown);background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:10px;min-width:230px;padding:12px;display:flex;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 12px 28px #0f172a26}.topbar-demo-mobile-popover .btn-start-guided-demo,.topbar-demo-mobile-popover .btn-reset-demo{justify-content:center;width:100%}.topbar-demo-mobile-popover .btn-text-full{display:inline}.topbar-demo-mobile-popover .btn-text-short{display:none}}.schoolos-topbar-demo-actions .btn-start-guided-demo{color:#fff;cursor:pointer;white-space:nowrap;box-sizing:border-box;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:1px solid #1d4ed8;border-radius:999px;align-items:center;gap:4px;height:32px;min-height:32px;padding:0 10px;font-size:11px;font-weight:700;transition:all .15s;display:inline-flex;box-shadow:0 2px 6px #2563eb33}.schoolos-topbar-demo-actions .btn-start-guided-demo:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af)}.schoolos-topbar-demo-actions .btn-reset-demo{color:#475569;cursor:pointer;white-space:nowrap;box-sizing:border-box;background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;align-items:center;gap:4px;height:32px;min-height:32px;padding:0 8px;font-size:11px;font-weight:700;transition:all .15s;display:inline-flex}.schoolos-topbar-demo-actions .btn-reset-demo:hover{color:#0f172a;background:#f1f5f9;border-color:#94a3b8}.schoolos-topbar-center{flex:0 240px;justify-content:center;min-width:60px;display:flex}.schoolos-topbar-right{flex:none;align-items:center;gap:10px;display:flex}.schoolos-command-bar .command-trigger{box-sizing:border-box;white-space:nowrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex:auto;width:100%;max-width:240px;height:34px;min-height:34px;max-height:34px;padding:0 10px;font-size:12px}.schoolos-command-bar .command-trigger kbd{color:var(--so-text-muted);background:#fff;border:1px solid #cbd5e1;border-radius:6px;margin-left:auto;padding:2px 5px;font-size:10px}.schoolos-topbar-right .session-badge{box-sizing:border-box;background:#fff;border:1px solid #94a3b847;border-radius:999px;align-items:center;height:34px;min-height:34px;padding:3px 8px 3px 10px;font-size:12px;display:inline-flex;box-shadow:0 1px 4px #0f172a0a}@media (max-width:768px){.schoolos-command-bar{gap:10px;padding:0 16px}.schoolos-context .schoolos-tagline{display:none}.schoolos-topbar-center{min-width:140px}}.schoolos-logo{color:var(--schoolos-logo-color);align-items:center;gap:10px;min-width:0;display:inline-flex}.schoolos-logo>span{gap:3px;min-width:0;line-height:1.05;display:grid}.schoolos-logo strong{letter-spacing:-.045em;color:var(--schoolos-logo-color);white-space:nowrap;font-size:18px}.schoolos-logo small{color:var(--schoolos-logo-color);opacity:.68;letter-spacing:.045em;white-space:nowrap;font-size:9px;font-weight:700}.sidebar-brand-logo .schoolos-logo{align-items:flex-start}.sidebar-brand-logo .schoolos-logo>span{padding-top:3px}.desktop-sidebar{flex-direction:column;display:flex}.desktop-sidebar nav{flex:1}.nav-group a.active{box-shadow:inset 3px 0 0 var(--figma-primary);background:#4f46e547;font-weight:700;color:#fff!important}.nav-group a.active svg{color:#a5b4fc!important}.nav-group a svg{color:#94a3b8;flex-shrink:0;transition:color .15s}.schoolos-shell .nav-group a:hover,.schoolos-shell .nav-group a:focus-visible{color:#fff;background:#ffffff17;transform:none}.schoolos-shell .nav-group a:hover svg,.schoolos-shell .nav-group a:focus-visible svg{color:#fff}.mobile-nav-panel .nav-group a.active{box-shadow:inset 3px 0 0 var(--figma-primary);color:#fff!important;background:#4f46e547!important}.sidebar-signout-btn{color:#94a3b8;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;margin-left:auto;padding:4px;transition:color .15s,background .15s;display:grid}.sidebar-signout-btn:hover{color:#fff;background:#ffffff1a}.status-dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 2px #22c55e33}.schoolos-shell :is(a,button,input,select,textarea):focus-visible{outline-offset:2px;outline:3px solid #4f46e573}.sidebar-status{flex:none}.demo-controls{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;max-width:100%;display:flex}.demo-mode-badge{color:#1e3a8a;box-sizing:border-box;background:#ffffffe0;border:1px solid #dbeafe;border-radius:999px;flex:none;align-items:center;gap:8px;min-width:0;max-width:100%;height:46px;padding:0 14px;display:inline-flex}.demo-mode-badge>span{gap:2px;line-height:1.05;display:grid}.demo-mode-badge strong{font-size:12px}.demo-mode-badge small{color:var(--so-text-muted);font-size:10px;font-weight:700}.btn-start-guided-demo{color:#fff;cursor:pointer;box-sizing:border-box;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:1px solid #1d4ed8;border-radius:999px;flex:none;align-items:center;gap:8px;height:46px;padding:0 16px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex;box-shadow:0 4px 12px #2563eb33}.btn-start-guided-demo:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 6px 16px #2563eb4d}.btn-reset-demo{height:46px;color:var(--so-text-muted);cursor:pointer;box-sizing:border-box;background:#ffffffeb;border:1px solid #cbd5e1;border-radius:999px;flex:none;align-items:center;gap:7px;padding:0 14px;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex}.btn-reset-demo:hover{color:#0f172a;background:#f8fafc;border-color:#94a3b8}.command-center-page{color:#17243b;gap:14px;max-width:1200px;margin:0 auto;display:grid}.command-page-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.command-breadcrumb{color:var(--so-text-muted);margin-bottom:9px;font-size:11px;display:block}.command-breadcrumb span{color:#cbd5e1;margin:0 6px}.command-page-heading h1{letter-spacing:-.035em;margin:0;font-size:25px;line-height:1.1}.command-page-heading p{color:var(--so-text-muted);margin:5px 0 0;font-size:12px}.command-page-heading p span{color:#cbd5e1;margin:0 5px}.command-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.command-kpi-card,.command-panel{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 2px 8px #0f172a09}.command-kpi-card{color:inherit;min-width:0;padding:13px 14px;text-decoration:none}.command-kpi-card:hover,.command-module-card:hover{border-color:#a5b4fc;box-shadow:0 4px 12px #2563eb14}.command-kpi-label{color:var(--so-text-muted);font-size:var(--so-size-label);justify-content:space-between;align-items:center;gap:8px;font-weight:400;display:flex}.command-kpi-card>strong{font-size:var(--so-size-kpi);letter-spacing:-.025em;margin-top:8px;font-weight:500;line-height:1;display:block}.command-kpi-card>small{color:var(--so-text-muted);font-weight:400;font-size:var(--so-size-caption);margin-top:7px;display:block}.command-kpi-icon,.command-module-icon{border-radius:6px;place-items:center;display:grid}.command-kpi-icon{width:24px;height:24px}.command-kpi-icon.blue,.command-module-icon.blue{color:#2563eb;background:#eff6ff}.command-kpi-icon.green,.command-module-icon.green{color:#059669;background:#ecfdf5}.command-kpi-icon.red{color:#dc2626;background:#fef2f2}.command-kpi-icon.orange,.command-module-icon.orange{color:#d97706;background:#fff7ed}.command-panel{padding:14px}.command-panel-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.command-panel-heading h2{letter-spacing:-.015em;margin:0;font-size:14px;font-weight:600}.command-panel-heading p{color:var(--so-text-muted);margin:3px 0 0;font-size:10px;font-weight:400}.command-panel-heading>a{color:#4f46e5;white-space:nowrap;align-items:center;gap:4px;font-size:10px;font-weight:500;display:inline-flex}.attendance-legend i.present{background:#138a45}.attendance-legend i.late{background:#d05a13}.attendance-legend i.absent{background:#c73229}.command-action-list{gap:7px;display:grid}.command-action-list>a,.command-action-list>div{color:inherit;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:9px;padding:9px 10px;text-decoration:none;display:flex}.command-action-list>a>span:nth-child(2),.command-action-list>div>span:nth-child(2){flex:1;min-width:0}.command-action-list strong,.command-action-list small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.command-action-list strong{font-size:11px}.command-action-list small{color:var(--so-text-muted);margin-top:2px;font-size:9px}.command-action-dot{background:#94a3b8;border-radius:50%;flex:none;width:8px;height:8px}.command-action-dot.high,.command-action-dot.urgent{background:#dc2626}.command-action-dot.medium{background:#d97706}.command-empty,.command-dependency-note{color:var(--so-text-muted);font-size:11px}.command-dependency-note{margin:10px 0 0;font-size:10px}.command-center-state{text-align:center;max-width:640px;margin:40px auto;padding:32px}.command-center-state h1{margin:8px 0;font-size:22px}.command-center-state p{color:var(--so-text-muted);font-size:13px}.principal-dashboard-page{max-width:1240px}.principal-page-heading{flex-direction:column;gap:3px;margin-bottom:6px;display:flex}.principal-page-heading .command-breadcrumb{color:var(--so-text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:400}.principal-page-heading .command-breadcrumb span{color:#cbd5e1;margin:0 4px}.principal-page-heading h1{letter-spacing:-.03em;color:#0f172a;margin:0;font-size:24px;font-weight:600;line-height:1.15}.principal-page-heading p{color:var(--so-text-muted);margin:0;font-size:13px;font-weight:400}.principal-page-heading p span{color:#cbd5e1;margin:0 6px}.principal-command-hero{color:#fff;background:#14213a;border-radius:14px;grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:20px;margin-bottom:16px;padding:20px 24px;display:grid;position:relative;overflow:hidden}.principal-command-hero:after{content:"";background:#6366f124;border-radius:50%;width:240px;height:240px;position:absolute;top:-80px;right:-60px}.principal-hero-kicker{color:#a5b4fc;letter-spacing:.08em;font-size:10px;font-weight:500}.principal-command-hero h2{letter-spacing:-.03em;margin:6px 0;font-size:20px;font-weight:600;line-height:1.2}.principal-command-hero p{color:#c7d2fe;margin:0;font-size:12px;line-height:1.5}.principal-hero-actions{gap:10px;margin-top:14px;display:flex}.principal-hero-actions .btn{border-radius:8px;min-height:32px;padding:6px 14px;font-size:12px;font-weight:500}.principal-hero-actions .btn-secondary{color:#14213a;background:#fff;border-color:#fff}.principal-status-card{z-index:1;background:#1f2f4dbf;border:1px solid #324565;border-radius:10px;gap:6px;padding:14px;display:grid;position:relative}.principal-status-card>span{color:#a5b4fc;letter-spacing:.08em;font-size:9px}.principal-status-card strong{font-size:14px;font-weight:500;line-height:1.2}.principal-status-card small{color:#c7d2fe;font-size:10px}.principal-content-grid{grid-template-columns:minmax(0,1.7fr) minmax(220px,.8fr);gap:14px;display:grid}.principal-operation-list{gap:10px;display:grid}.principal-brief-card{flex-direction:column;align-items:flex-start;display:flex}.principal-brief-status{color:#9a6700;background:#fff4d6;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:500;display:inline-flex}.principal-brief-card>strong{margin-top:18px;font-size:10px;font-weight:500}.principal-brief-copy{color:var(--so-text-muted);margin:15px 0 auto;font-size:10px;line-height:1.5}.principal-brief-card .btn{min-height:28px;margin-top:18px;padding:6px 10px;font-size:9px;font-weight:500}@media (max-width:900px){.command-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:680px){.command-center-page{gap:10px}.command-page-heading h1{font-size:21px}.command-page-heading{gap:8px}.command-mode-pill{font-size:8px}.command-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.command-kpi-card{padding:10px}.command-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.command-module-card{padding:8px}.command-module-card small{white-space:normal;min-height:22px;line-height:1.2}.command-split-grid{grid-template-columns:minmax(0,1fr);gap:10px}.attendance-breakdown-content{gap:20px}.principal-page-heading{gap:8px}.principal-page-heading h1{font-size:21px}.principal-command-hero{grid-template-columns:minmax(0,1fr);gap:18px;padding:20px 16px}.principal-command-hero h2{font-size:21px}.principal-status-card{max-width:none}.principal-content-grid{grid-template-columns:minmax(0,1fr);gap:10px}}.command-center-title{letter-spacing:-.03em;color:#0f172a;margin:0;font-size:20px;font-weight:700;line-height:1.2}.executive-kpi-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.executive-kpi-card{color:inherit;background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);border:1px solid #e2e8f0f2;border-radius:10px;flex-direction:column;gap:6px;padding:10px 14px;text-decoration:none;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s,border-color .18s;display:flex;position:relative;box-shadow:0 1px 3px #0f172a0a,0 4px 10px -2px #0f172a0a,inset 0 1px #fff}.executive-kpi-card:hover{border-color:#2563eb59;transform:translateY(-2px)scale(1.005);box-shadow:0 3px 6px -1px #0f172a0a,0 8px 18px -4px #0f172a1a,inset 0 1px #fff}.kpi-icon-pill{border:1px solid #ffffffe6;border-radius:8px;flex-shrink:0;place-items:center;width:28px;height:28px;display:grid;box-shadow:0 1px 4px #0000000a,inset 0 1px #ffffffd9}.kpi-subtext{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.02em;font-size:11px;font-weight:700}.kpi-card-body{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;display:flex}.kpi-value{color:#07111f;letter-spacing:-.02em;font-size:20px;font-weight:700;line-height:1}.kpi-detail{color:var(--so-text-muted);font-size:12px;font-weight:600}.school-operations-section{margin-bottom:20px}.operations-section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.operations-section-title{letter-spacing:-.02em;color:#07111f;margin:2px 0;font-size:19px;font-weight:700;line-height:1.2}.operations-section-subtitle{color:var(--so-text-muted);margin:0;font-size:12px;font-weight:500}.operations-quick-actions{align-items:center;gap:6px;display:flex}.btn-sm{min-height:30px;padding:5px 12px;font-size:12px;font-weight:700}.school-operations-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}@media (min-width:1600px){.school-operations-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}}@media (max-width:1080px) and (min-width:681px){.school-operations-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.executive-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.school-operations-grid,.executive-kpi-strip{grid-template-columns:minmax(0,1fr);gap:8px}.command-center-header{flex-direction:column;align-items:flex-start;padding:12px 14px}}.dashboard-charts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}@media (max-width:1024px){.dashboard-charts-grid{grid-template-columns:minmax(0,1fr);gap:12px}}.module-hub-card{min-height:94px;color:inherit;cursor:pointer;background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);border:1px solid #e2e8f0f2;border-radius:10px;flex-direction:column;justify-content:space-between;gap:7px;padding:11px 13px;text-decoration:none;transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s,border-color .22s;display:flex;position:relative;transform:perspective(1000px)translateZ(0);box-shadow:0 1px 3px #0f172a0a,0 3px 8px -2px #0f172a0a,inset 0 1px #fff}.module-hub-card:hover{border-color:#2563eb59;transform:perspective(1000px)translateY(-2px)scale(1.005);box-shadow:0 8px 18px -3px #0f172a1a,0 12px 24px -6px #2563eb0f,inset 0 1px #fff}.module-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.module-icon-box{border:1px solid #fffc;border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid;box-shadow:0 2px 5px #0000000a}.module-badge{white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:170px;padding:2px 8px;font-size:11px;font-weight:700;overflow:hidden}.module-card-content{flex-direction:column;gap:2px;display:flex}.module-card-name{color:#07111f;letter-spacing:-.01em;font-size:14px;font-weight:500}.module-card-desc{color:var(--so-text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;font-weight:400;line-height:1.35;display:-webkit-box;overflow:hidden}.module-card-footer{border-top:1px solid #f1f5f9cc;justify-content:flex-end;align-items:center;padding-top:4px;display:flex}.module-open-link{color:#2563eb;align-items:center;gap:4px;font-size:12px;font-weight:500;transition:transform .15s;display:inline-flex}.module-hub-card:hover .module-open-link{transform:translate(3px)}.tone-emerald{color:#059669;background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.tone-blue{color:#2563eb;background:linear-gradient(135deg,#eff6ff,#dbeafe)}.tone-amber{color:#d97706;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.tone-violet{color:#7c3aed;background:linear-gradient(135deg,#f5f3ff,#ede9fe)}.tone-indigo{color:#4f46e5;background:linear-gradient(135deg,#eef2ff,#e0e7ff)}.tone-rose{color:#e11d48;background:linear-gradient(135deg,#fff1f2,#ffe4e6)}.tone-sky{color:#0284c7;background:linear-gradient(135deg,#f0f9ff,#e0f2fe)}.tone-teal{color:#0d9488;background:linear-gradient(135deg,#f0fdfa,#ccfbf1)}.tone-purple{color:#9333ea;background:linear-gradient(135deg,#faf5ff,#f3e8ff)}.tone-orange{color:#ea580c;background:linear-gradient(135deg,#fff7ed,#ffedd5)}.tone-slate{color:#475569;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.tone-ai{color:#4338ca;background:linear-gradient(135deg,#eff6ff,#ede9fe)}.premium-metric:not(.clickable-metric):not(a):not(button),.fee-secondary-metrics article:not(.clickable-metric):not(a):not(button){cursor:default;transform:none!important}.premium-metric:not(.clickable-metric):not(a):not(button):hover,.fee-secondary-metrics article:not(.clickable-metric):not(a):not(button):hover{border-color:#e2e8f0f2!important;transform:none!important;box-shadow:0 1px 3px #0f172a0a,0 6px 16px -2px #0f172a0d,inset 0 1px #fff!important}.clickable-metric,a.executive-kpi-card,button.executive-kpi-card,a.premium-metric,button.premium-metric{cursor:pointer;color:inherit;text-decoration:none;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s,border-color .18s}.clickable-metric:hover,a.executive-kpi-card:hover,button.executive-kpi-card:hover,a.premium-metric:hover,button.premium-metric:hover{border-color:#2563eb59;transform:translateY(-3px)scale(1.005);box-shadow:0 4px 6px -1px #0f172a0a,0 12px 28px -4px #0f172a1f,inset 0 1px #fff}.clickable-metric:focus-visible,.module-hub-card:focus-visible,.executive-kpi-card:focus-visible,a.premium-metric:focus-visible,button.premium-metric:focus-visible{outline:2px solid var(--premium-blue);outline-offset:2px}.active-tab-card{border-color:#2563eb!important;box-shadow:0 0 0 2px #2563eb33,0 8px 20px -4px #2563eb26,inset 0 1px #fff!important}.principal-brief-hero{grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:28px;display:grid}.principal-brief-hero h1{letter-spacing:-.035em;word-break:break-word;margin:8px 0 6px;font-size:clamp(22px,2.5vw,30px);line-height:1.15}.executive-dashboard{gap:16px}.executive-dashboard .principal-brief-hero{box-sizing:border-box;border-radius:14px;grid-template-columns:minmax(0,1fr) 290px;align-items:center;gap:20px;min-height:160px;padding:18px 24px;display:grid;overflow:hidden!important}.executive-dashboard .principal-brief-hero h1{letter-spacing:-.035em;word-break:break-word;margin:6px 0 4px;font-size:clamp(22px,2.5vw,30px);line-height:1.15}.principal-brief-hero>div:first-child>p{color:#ffffffbd;max-width:680px;margin:0;font-size:13px;line-height:1.45}.principal-brief-hero .brief-attention-count{letter-spacing:-.02em;margin:0 0 4px;font-size:clamp(15px,1.6vw,18px);font-weight:700;color:#fff!important}.principal-brief-hero .hero-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.principal-health-card{z-index:1;-webkit-backdrop-filter:blur(16px);box-sizing:border-box;text-align:center;background:linear-gradient(145deg,#0f172abf 0%,#1e293b8c 100%);border:1px solid #ffffff29;border-radius:14px;flex-direction:column;justify-content:space-between;align-self:center;align-items:center;width:290px;height:220px;padding:12px 16px;display:flex;position:relative;box-shadow:0 16px 36px -8px #0006,inset 0 1px #fff3}.health-card-school-row{justify-content:flex-start;align-items:center;gap:10px;width:100%;padding-bottom:2px;display:flex}.principal-health-card .dashboard-school-logo{object-fit:cover;border:1.5px solid #ffffff40;border-radius:50%;flex-shrink:0;width:28px;height:28px;margin:0;box-shadow:0 2px 8px #00000040}.principal-health-card .dashboard-school-icon{color:#60a5fa;background:#2563eb33;border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.health-card-school-info{text-align:left;flex-direction:column;min-width:0;display:flex}.principal-health-card>strong{color:#f8fafc;white-space:nowrap;text-overflow:ellipsis;max-width:210px;font-size:12px;font-weight:500;line-height:1.2;display:block;overflow:hidden}.principal-health-card>span{color:var(--so-text-muted);margin-top:1px;font-size:10px;font-weight:400;line-height:1.2;display:block}.principal-health-card .radial-wrap{width:104px;height:104px;margin:0 auto;position:relative}.principal-health-card .radial-wrap svg{width:104px;height:104px;display:block}.principal-health-card .radial-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.principal-health-card .radial-center strong{letter-spacing:-.04em;color:#fff;text-shadow:0 2px 10px #0006;font-size:24px;font-weight:500;line-height:1}.principal-health-card .radial-center span{letter-spacing:.1em;text-transform:uppercase;color:#93c5fd;margin-top:2px;font-size:10px;font-weight:500}.brief-issue-list{gap:10px;margin-top:16px;display:grid}.principal-activity-list small{color:#2563eb;font-weight:700}.action-layout{grid-template-columns:minmax(0,1.3fr) minmax(360px,.9fr);align-items:start;gap:20px;display:grid}.action-table-wrap{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin-top:16px;overflow-x:auto}.action-queue-table{border-collapse:separate;border-spacing:0;width:100%;min-width:580px;font-size:13px}.action-queue-table th{color:#475569;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;text-align:left;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:10px 12px;font-size:11px;font-weight:700}.action-table-row{cursor:pointer;transition:background-color .15s}.action-table-row:hover{background:#f8fafc}.action-table-row.active-row{background:#eff6ff}.action-table-row td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:10px 12px}.action-table-row.active-row td{border-bottom-color:#dbeafe}.action-table-row.active-row td:first-child{border-left:3px solid #2563eb}.action-issue-title{color:#0f172a;font-size:13px;font-weight:700;line-height:1.35;display:block}.action-context-stack{flex-direction:column;gap:3px;display:flex}.action-entity-label{color:#334155;font-size:12px;font-weight:600;line-height:1.3}.action-due-date{color:var(--so-text-muted);align-items:center;gap:4px;font-size:11px;display:flex}.action-table-buttons button,.action-table-buttons a{color:#1d4ed8;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #dbeafe;border-radius:6px;align-items:center;gap:4px;min-height:28px;padding:4px 8px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}.action-table-buttons button:hover,.action-table-buttons a:hover{background:#eff6ff;border-color:#93c5fd}.btn-action-view{color:#475569!important;background:#f8fafc!important;border-color:#e2e8f0!important}.btn-action-view:hover{color:#0f172a!important;background:#f1f5f9!important}.action-queue{gap:12px;margin-top:18px;display:grid}.action-queue>article{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;scroll-margin-top:100px;overflow:hidden}.action-queue>article.active{background:#fff;border-color:#93c5fd;box-shadow:0 0 0 4px #2563eb14}.action-buttons button,.action-edit-buttons button{color:#1d4ed8;cursor:pointer;background:#fff;border:1px solid #dbeafe;border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:7px 10px;font-size:12px;font-weight:700;display:inline-flex}.action-detail-panel{position:sticky;top:100px}.action-detail-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.action-detail-heading p{color:var(--so-text-muted);margin:0;font-weight:700}.action-evidence,.action-recommendation{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin-top:18px;padding:16px}.action-evidence>span,.action-recommendation>span{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.09em;font-size:11px;font-weight:700}.action-evidence p,.action-recommendation p{color:#334155;margin:8px 0 0;font-weight:600;line-height:1.65}.action-recommendation textarea{resize:vertical;color:#0f172a;width:100%;min-height:100px;font:inherit;background:#fff;border:1px solid #bfdbfe;border-radius:14px;margin-top:10px;padding:12px;font-weight:600}.action-edit-buttons{gap:7px;margin-top:8px;display:flex}.action-detail-meta{gap:10px;margin:18px 0;display:grid}.action-detail-meta span{color:var(--so-text-muted);align-items:center;gap:8px;font-size:13px;display:flex}.action-detail-meta strong{color:#0f172a}.execution-note{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:14px;gap:10px;padding:15px;display:flex}.execution-note p{margin:4px 0 0;line-height:1.55}.action-detail-actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.ai-boundary-card .trust-list svg{color:#10b981}.prototype-list{gap:10px;margin-top:16px;display:grid}.prototype-list article{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;padding:15px;display:flex}.prototype-list article>div:first-child>strong,.prototype-list article>div:first-child>span,.prototype-list article>div:first-child>p{display:block}.prototype-list article>div:first-child>span{color:var(--so-text-muted);margin-top:4px;font-size:12px;font-weight:700}.prototype-list article p{color:#475569;margin:5px 0 0}.prototype-list article>div:last-child{text-align:right}.prototype-list article>div:last-child>strong{margin-bottom:6px;display:block}.pilot-entry{box-sizing:border-box;background:radial-gradient(circle at 10% 0,#2563eb29,#0000 30%),radial-gradient(circle at 90% 10%,#10b98121,#0000 28%),linear-gradient(#fff,#eef3ff);flex-direction:column;min-height:100vh;padding:20px 24px;display:flex}.pilot-entry>nav{color:#64748b;flex:none;justify-content:space-between;align-items:center;gap:18px;width:min(1180px,100%);margin:0 auto;font-size:12px;font-weight:900;display:flex}.pilot-entry-grid{flex:auto;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:center;gap:clamp(24px,4vw,60px);width:min(1180px,100%);margin:0 auto;padding:24px 0;display:grid}.pilot-entry-grid h1{letter-spacing:-.05em;color:#07111f;margin:14px 0 16px;font-size:clamp(34px,3.8vw,56px);line-height:1.05}.pilot-entry-grid>div>p{color:#64748b;max-width:620px;margin-bottom:22px;font-size:clamp(15px,1.15vw,17px);line-height:1.55}.pilot-entry-grid .marketing-hero-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:0;display:flex}.pilot-entry-grid .pilot-entry-primary{justify-content:center;min-width:220px}.pilot-entry-card{color:#fff;background:radial-gradient(circle at 100% 0,#10b98152,#0000 35%),linear-gradient(135deg,#07111f,#172554 60%,#312e81);border-radius:16px;padding:18px 22px;box-shadow:0 16px 48px #0f172a26}.pilot-entry-card>span{color:#93c5fd;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:700}.pilot-entry-card>strong{letter-spacing:-.04em;margin:4px 0 0;font-size:32px;display:block}.pilot-entry-card h2{letter-spacing:-.03em;margin-top:4px;font-size:20px}.pilot-entry-card ul{gap:8px;margin:14px 0;padding:0;list-style:none;display:grid}.pilot-entry-card li{color:#ffffffd9;align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:flex}.pilot-entry-card li svg{color:#34d399;flex-shrink:0}.pilot-entry-card small{color:#ffffff8f;font-size:11px;line-height:1.4}@media (max-width:1280px){.prototype-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:980px){.schoolos-command-bar{height:56px;min-height:56px;padding:0 16px}.principal-brief-hero,.action-layout,.pilot-entry-grid{grid-template-columns:minmax(0,1fr)}.executive-dashboard .principal-brief-hero{gap:16px;height:auto;min-height:0;padding:18px 20px}.action-detail-panel{position:static}}@media (max-width:680px){.schoolos-context{display:none}.schoolos-command-bar{gap:8px;height:56px;min-height:56px;padding:0 12px}.schoolos-topbar-center{flex:auto;min-width:0}.schoolos-command-bar .command-trigger{width:100%;max-width:none}.demo-controls{flex-wrap:wrap}.principal-health-card{border-radius:14px;flex-flow:wrap;justify-content:space-between;align-items:center;gap:10px;width:100%;max-width:340px;height:auto;min-height:0;margin:0 auto;padding:12px 14px;display:flex}.health-card-school-row{border-bottom:1px solid #ffffff14;width:100%;padding-bottom:6px}.health-card-gauge-wrap{flex:none}.health-card-status-pill{flex:auto;justify-content:center;margin:0}.prototype-list article,.phase-boundary-note,.action-detail-heading{flex-direction:column;align-items:flex-start}.prototype-list article>div:last-child{text-align:left}.pilot-entry{padding:16px}.pilot-entry>nav{flex-direction:row;align-items:center;gap:10px}.pilot-entry>nav>.schoolos-logo{flex:auto}.pilot-entry>nav>div{flex:none}.pilot-entry>nav>div>span{display:none}.pilot-entry>nav .ds-btn{white-space:nowrap;width:auto}.pilot-entry-grid .pilot-entry-primary{width:100%}.pilot-entry-grid{padding:48px 0}}.directory-toolbar{gap:var(--so-space-2);max-width:100%;margin-bottom:var(--so-space-4);flex-flow:wrap;align-items:center;display:flex}.directory-toolbar select,.directory-toolbar select.so-field,.student-toolbar select{border:1px solid var(--so-border);background:var(--so-surface);border-radius:var(--so-radius-md);height:42px;min-height:42px;font-size:var(--so-size-body-sm);font-weight:var(--so-weight-medium);color:var(--so-text);box-sizing:border-box;text-overflow:ellipsis;flex:0 auto;width:auto;min-width:0;max-width:100%;padding:0 12px}.directory-toolbar .student-search,.student-toolbar .student-search{box-sizing:border-box;border:1px solid var(--so-border);background:var(--so-surface-sunken);border-radius:var(--so-radius-md);flex:240px;align-items:center;gap:10px;min-width:0;max-width:100%;height:42px;min-height:42px;padding:0 12px;display:flex}.directory-toolbar .student-search input,.student-toolbar .student-search input{box-sizing:border-box;height:40px;font-weight:var(--so-weight-medium);font-size:var(--so-size-body-sm);color:var(--so-text);background:0 0;border:0;outline:0;flex:auto;min-width:0}.student-open-link{color:#2563eb;align-items:center;gap:7px;font-weight:700;display:inline-flex}.student-not-found{text-align:center;max-width:720px;margin:60px auto}.student-not-found p{color:var(--so-text-muted)}.student-not-found .btn{margin-top:14px}.schoolos-risk-summary{border-width:2px}.schoolos-risk-summary.risk-bad{background:linear-gradient(135deg,#fff,#fff1f2);border-color:#fecaca}.schoolos-risk-summary.risk-warn{background:linear-gradient(135deg,#fff,#fffbeb);border-color:#fde68a}.schoolos-risk-summary.risk-good{background:linear-gradient(135deg,#fff,#ecfdf5);border-color:#bbf7d0}.risk-summary-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.risk-summary-heading h2{letter-spacing:-.025em;color:#0f172a;margin:4px 0 0;font-size:20px;font-weight:700}.schoolos-risk-summary>p{color:var(--so-text-muted);margin:4px 0 0;font-size:13px;line-height:1.5}.risk-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.risk-evidence-grid>div{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;justify-content:space-between;padding:16px 18px;display:flex;box-shadow:0 1px 3px #0f172a08}.risk-evidence-grid>div>strong{color:#0f172a;margin-bottom:8px;font-size:14px;font-weight:700;display:block}.risk-evidence-grid ul{color:#475569;margin:0;padding-left:18px;font-size:13px;line-height:1.6}.risk-evidence-grid p{color:#1e293b;margin:0 0 8px;font-size:13px;font-weight:600;line-height:1.55}.risk-evidence-grid small{color:var(--so-text-muted);font-size:12px;font-weight:500;line-height:1.5;display:block}.attendance-timeline,.student-action-list{gap:9px;margin-top:16px;display:grid}.attendance-timeline article{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:13px 14px;display:flex}.attendance-timeline strong,.attendance-timeline span{display:block}.attendance-timeline div>span{color:var(--so-text-muted);margin-top:3px;font-size:12px;font-weight:700}.student-detail-list{gap:0;margin:16px 0 0;display:grid}.student-detail-list>div{border-bottom:1px solid #e2e8f0;justify-content:space-between;gap:18px;padding:14px 0;display:flex}.student-detail-list dt{color:var(--so-text-muted);font-weight:700}.student-detail-list dd{color:#0f172a;text-align:right;margin:0;font-weight:700}.student-action-list article{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:15px;display:flex}.student-action-list article>div{gap:7px;display:grid}.student-action-list p{color:#475569;margin:0;line-height:1.5}.student-action-list a{color:#2563eb;white-space:nowrap;align-items:center;gap:6px;font-weight:700;display:inline-flex}.student-activity-list small{color:#2563eb;font-weight:700}.attendance-overview-hero,.teacher-register-hero{grid-template-columns:minmax(0,1fr) 280px;align-items:center;gap:20px;display:grid}.attendance-overview-hero h1,.attendance-overview-hero h2,.teacher-register-hero h1,.teacher-register-hero h2{letter-spacing:-.035em;margin:8px 0 6px;font-size:clamp(22px,2.5vw,30px);line-height:1.15}.attendance-overview-hero>div:first-child>p,.teacher-register-hero>div:first-child>p{color:var(--so-text-muted);max-width:680px;font-size:14px;line-height:1.48}.attendance-stat-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.attendance-stat{background:#ffffffdb;border:1px solid #94a3b838;border-radius:14px;gap:6px;min-width:0;padding:12px 14px;display:grid;box-shadow:0 4px 14px #0f172a0a}.attendance-stat svg{width:18px}.attendance-stat strong{color:#0f172a;font-size:var(--so-size-kpi);letter-spacing:-.03em}.attendance-stat.tone-emerald svg{color:#059669}.attendance-stat.tone-rose svg{color:#dc2626}.attendance-stat.tone-amber svg{color:#d97706}.attendance-stat.tone-blue svg{color:#2563eb}.attendance-stat.tone-violet svg{color:#7c3aed}.class-attendance-list,.intervention-student-list{gap:10px;margin-top:16px;display:grid}.class-attendance-list article{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:minmax(0,1fr) minmax(180px,.75fr);align-items:center;gap:18px;padding:14px;display:grid}.class-attendance-list strong,.class-attendance-list span{display:block}.class-attendance-list article>div:first-child>span{color:var(--so-text-muted);margin-top:5px;font-size:12px;font-weight:700}.intervention-student-list>a{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;justify-content:space-between;align-items:flex-start;gap:14px;padding:15px;display:flex}.intervention-student-list>a:hover{background:#fff;border-color:#93c5fd}.intervention-student-list strong,.intervention-student-list div>span{font-weight:500;display:block}.intervention-student-list div>span{color:var(--so-text-muted);margin-top:4px;font-size:12px;font-weight:400}.intervention-student-list p{color:#475569;margin:6px 0 0;line-height:1.45}.register-panel{overflow:hidden}.register-toolbar{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.register-toolbar h2{letter-spacing:-.03em;margin:6px 0 4px;font-size:20px}.register-toolbar p{color:var(--so-text-muted);margin:0;font-size:13px}.register-fields{flex-wrap:wrap;gap:10px;display:flex}.register-fields label{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.07em;gap:6px;font-size:11px;font-weight:500;display:grid}.register-fields input,.register-fields select{color:#0f172a;min-height:46px;font:inherit;background:#f8fafc;border:1px solid #dbeafe;border-radius:14px;padding:0 12px;font-weight:400}.canonical-register-list{margin-top:18px}.canonical-register-list .register-person p{align-items:center;gap:5px;display:flex}.register-confirmation,.teacher-sync-note{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:14px;align-items:flex-start;gap:12px;margin-top:18px;padding:16px;display:flex}.register-confirmation strong,.teacher-sync-note strong{font-weight:500;display:block}.register-confirmation p,.teacher-sync-note p{margin:4px 0 0;line-height:1.55}.teacher-sync-note{margin:0;box-shadow:0 14px 38px #05966914}.attendance-case-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0;display:grid}.attendance-case-summary>div{background:#eff6ff;border:1px solid #dbeafe;border-radius:14px;padding:11px}.attendance-case-summary span,.attendance-case-summary strong{display:block}.attendance-case-summary span{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700}.attendance-case-summary strong{color:#1e3a8a;margin-top:5px;font-size:13px}@media (max-width:1180px){.attendance-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:980px){.attendance-overview-hero,.teacher-register-hero,.risk-evidence-grid{grid-template-columns:minmax(0,1fr)}.directory-toolbar,.student-toolbar{gap:var(--so-space-2);flex-wrap:wrap;display:flex}.directory-toolbar .student-search,.student-toolbar .student-search{flex:100%;width:100%}.directory-toolbar select,.student-toolbar select{flex:140px;min-width:0;max-width:100%}.register-toolbar{flex-direction:column;align-items:flex-start}.register-fields{width:100%}.register-fields label{flex:220px}}@media (max-width:680px){.directory-toolbar,.student-toolbar{gap:var(--so-space-2);flex-flow:wrap;display:flex}.directory-toolbar select,.student-toolbar select{flex:auto;width:100%}.attendance-stat-grid,.attendance-brief-strip,.attendance-case-summary{grid-template-columns:minmax(0,1fr)}.risk-summary-heading,.student-action-list article,.intervention-student-list>a{flex-direction:column;align-items:flex-start}.student-detail-list>div{flex-direction:column;gap:5px}.student-detail-list dd{text-align:left}.class-attendance-list article{grid-template-columns:minmax(0,1fr)}.register-fields{grid-template-columns:minmax(0,1fr);display:grid}}.fee-overview-hero,.fee-account-hero{grid-template-columns:minmax(0,1fr) 280px;align-items:center;gap:20px;display:grid}.fee-overview-hero h1,.fee-recovery-hero h1,.fee-account-hero h1{letter-spacing:-.035em;margin:8px 0 6px;font-size:clamp(22px,2.5vw,30px);line-height:1.15}.fee-overview-hero>div:first-child>p,.fee-recovery-hero>p,.fee-account-hero>div:first-child>p{color:var(--so-text-muted);max-width:680px;font-size:14px;line-height:1.48}.fee-health-card,.fee-account-balance{z-index:1;background:#ffffff17;border:1px solid #ffffff26;border-radius:14px;gap:8px;padding:14px 18px;display:grid;position:relative}.fee-health-card>span,.fee-account-balance>span:first-child{color:#bfdbfe;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.fee-health-card>strong,.fee-account-balance>strong{color:#fff;letter-spacing:-.03em;font-size:28px;line-height:1.1}.fee-health-card>div{background:#ffffff21;border-radius:999px;height:8px;overflow:hidden}.fee-health-card i{border-radius:inherit;background:linear-gradient(90deg,#34d399,#60a5fa);height:100%;display:block}.fee-health-card small,.fee-account-balance small{color:#ffffffb3;font-size:12px;font-weight:600;line-height:1.4}.fee-account-balance .status{justify-self:start;margin-top:4px}.fee-secondary-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.fee-secondary-metrics article{background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);border:1px solid #e2e8f0f2;border-radius:14px;align-items:center;gap:12px;padding:15px;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s,border-color .2s;display:flex;box-shadow:0 1px 3px #0f172a0a,0 6px 16px -2px #0f172a0d,inset 0 1px #fff}.fee-secondary-metrics svg{color:#2563eb;flex:none;width:20px}.fee-secondary-metrics span,.fee-secondary-metrics strong{display:block}.fee-secondary-metrics strong{letter-spacing:-.03em;margin-top:4px;font-size:19px}.fee-priority-list{gap:10px;margin-top:16px;display:grid}.fee-priority-list>a{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:15px;display:flex}.fee-priority-list>a:hover{background:#fff;border-color:#93c5fd}.fee-priority-list strong,.fee-priority-list small{display:block}.fee-priority-list small{color:var(--so-text-muted);font-size:12px;font-weight:700}.fee-recovery-hero{padding-right:clamp(24px,8vw,120px)}.recovery-segment-bar{align-items:center;display:flex}.recovery-segment-bar>svg{color:#2563eb;flex:none}.recovery-segment-bar button{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;align-items:center;display:inline-flex}.recovery-segment-bar button span{background:#fff;border-radius:999px;place-items:center;display:grid}.recovery-segment-bar button.active{color:var(--so-primary-on);border-color:var(--so-primary);background:var(--so-primary)}.recovery-segment-bar button.active span{color:var(--so-primary)}.recovery-table-panel{margin-top:18px;overflow:hidden;padding:0!important}.recovery-data-table{border-collapse:separate;border-spacing:0;width:100%;min-width:760px;font-size:13px}.recovery-data-table th{color:#475569;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;text-align:left;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:12px 16px;font-size:11px;font-weight:700}.recovery-table-row{transition:background-color .15s}.recovery-table-row:hover{background:#f8fafc}.recovery-table-row td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:12px 16px}.recovery-account-stack{flex-direction:column;gap:3px;display:flex}.recovery-student-name{color:#0f172a;font-size:14px;font-weight:700}.recovery-meta-sub{color:var(--so-text-muted);font-size:12px}.recovery-class-tag{color:#334155;font-size:13px;font-weight:600}.recovery-amount-cell{white-space:nowrap}.recovery-amount-text{color:#0f172a;letter-spacing:-.01em;font-size:14px;font-weight:700;display:block}.recovery-overdue-tag{color:#dc2626;font-size:11px;font-weight:700}.recovery-due-tag{color:var(--so-text-muted);font-size:11px;font-weight:600}.recovery-status-stack{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.recovery-status-sub{color:var(--so-text-muted);font-size:11px;font-weight:600}.recovery-next-action-cell{justify-content:space-between;align-items:center;gap:12px;display:flex}.recovery-action-desc{color:#334155;max-width:380px;font-size:12px;font-weight:600;line-height:1.4}.recommended-action-box{background:#eff6ff;border:1px solid #dbeafe;border-radius:14px;margin:16px 0;padding:15px}.recommended-action-box span,.recommended-action-box strong{display:block}.recommended-action-box span{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:700}.recommended-action-box strong{color:#1e3a8a;margin-top:7px;line-height:1.55}.fee-followup-card>p,.manual-payment-form>p{color:var(--so-text-muted);line-height:1.65}.fee-followup-actions{flex-wrap:wrap;gap:8px;display:flex}.fee-account-status-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:18px;display:grid}.fee-account-status-row span{color:var(--so-text-muted);background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;gap:4px;padding:11px;font-size:11px;font-weight:700;display:grid}.fee-account-status-row strong{color:#0f172a;font-size:13px}.payment-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.payment-form-grid label{gap:6px;display:grid}.payment-form-grid label>span{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.payment-form-grid input,.payment-form-grid select,.payment-form-grid textarea{color:#0f172a;width:100%;min-height:46px;font:inherit;background:#f8fafc;border:1px solid #dbeafe;border-radius:14px;padding:10px 12px;font-weight:700}.payment-form-grid textarea{resize:vertical;min-height:88px}.payment-form-grid .full-field{grid-column:1/-1}.fee-history-list{gap:9px;margin-top:16px;display:grid}.fee-history-list article{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;justify-content:space-between;align-items:flex-start;gap:14px;padding:13px;display:flex}.fee-history-list strong,.fee-history-list span{display:block}.fee-history-list span{color:var(--so-text-muted);margin-top:4px;font-size:12px;font-weight:700}.fee-history-list p{color:#475569;margin:5px 0 0;line-height:1.45}.parent-notice-list{gap:10px;margin-top:16px;display:grid}.student-fee-links a{color:#2563eb;align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.parent-notice-list article{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;gap:11px;padding:14px;display:flex}.parent-notice-list svg{color:#2563eb;flex:none}.parent-notice-list strong,.parent-notice-list small{display:block}.parent-notice-list p{color:#475569;margin:5px 0;line-height:1.45}.parent-notice-list small{color:var(--so-text-muted)}.student-fee-summary>p{color:var(--so-text-muted);line-height:1.65}.student-fee-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:16px 0;display:grid}.student-fee-grid>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:13px}.student-fee-grid span,.student-fee-grid strong,.student-fee-grid small{display:block}.student-fee-grid span{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700}.student-fee-grid strong{margin:7px 0 3px;font-size:17px}.student-fee-grid small{color:var(--so-text-muted)}.student-fee-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px;display:grid}.student-fee-detail-grid>div>p{color:#475569;line-height:1.6}.student-fee-detail-grid>div>small{color:var(--so-text-muted);font-weight:700}.student-fee-links{flex-wrap:wrap;gap:12px;margin-top:14px;display:flex}.fee-brief-strip{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:center;gap:10px;padding:14px;display:grid}.fee-brief-strip>div{border-right:1px solid #e2e8f0;padding:5px 12px}.fee-brief-strip span,.fee-brief-strip small,.fee-brief-strip strong{display:block}.fee-brief-strip span,.fee-brief-strip small{color:var(--so-text-muted);font-size:10px;font-weight:700}.fee-brief-strip strong{letter-spacing:-.03em;margin:4px 0;font-size:19px}.fee-brief-strip a{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:10px 12px;font-size:12px;font-weight:700;display:inline-flex}.admissions-brief-strip{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:center;gap:10px;padding:14px;display:grid}.admissions-brief-strip>div{border-right:1px solid #e2e8f0;padding:5px 12px}.admissions-brief-strip span,.admissions-brief-strip small,.admissions-brief-strip strong{display:block}.admissions-brief-strip span,.admissions-brief-strip small{color:var(--so-text-muted);font-size:10px;font-weight:700}.admissions-brief-strip strong{letter-spacing:-.03em;margin:4px 0;font-size:19px}.admissions-brief-strip a{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:10px 12px;font-size:12px;font-weight:700;display:inline-flex}@media (max-width:1180px){.admissions-brief-strip{grid-template-columns:repeat(2,minmax(0,1fr)) auto}}@media (max-width:680px){.admissions-brief-strip{grid-template-columns:minmax(0,1fr)}.admissions-brief-strip>div{border-bottom:1px solid #e2e8f0;border-right:0;padding:8px}}.action-center-empty{min-height:220px;color:var(--so-text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:32px;display:flex}.action-center-empty svg{opacity:.45}.action-center-empty p{max-width:260px;margin:0;font-size:14px;font-weight:700;line-height:1.6}.inline-prompt{background:#f0f7ff;border:1px solid #bfdbfe;border-radius:14px;margin-top:14px;padding:16px}.inline-prompt>span{color:#1e3a8a;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.inline-prompt textarea{resize:vertical;color:#0f172a;width:100%;min-height:80px;font:inherit;box-sizing:border-box;background:#fff;border:1px solid #bfdbfe;border-radius:10px;padding:10px 12px;font-size:13px;font-weight:600}.inline-prompt-actions{gap:8px;margin-top:10px;display:flex}.admissions-hero,.admission-detail-hero{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;display:grid}.admissions-hero-mark span,.admission-muted{color:var(--so-text-muted);font-size:12px;line-height:1.45}.admissions-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.admissions-toolbar{grid-template-columns:minmax(220px,1fr) repeat(3,190px)}.admissions-list{gap:9px;margin-top:18px;display:grid}.admission-row{color:inherit;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:minmax(240px,1.35fr) minmax(300px,1fr) auto;align-items:center;gap:15px;padding:14px;text-decoration:none;transition:border-color .2s,transform .2s;display:grid}.admission-row-main{align-items:center;gap:11px;min-width:0;display:flex}.admission-row-main strong,.admission-row-main span,.admission-row-main p{display:block}.admission-row-main span,.admission-row-main p{color:var(--so-text-muted);margin-top:3px;font-size:12px}.admission-row-main p{margin-bottom:0}.admission-row-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.admission-row-facts span{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700}.admission-row-facts strong{color:#0f172a;text-transform:none;letter-spacing:0;margin-top:5px;font-size:12px;display:block}.admission-row-status{justify-content:flex-end;align-items:center;gap:10px;display:flex}.admission-row-status>svg{color:#2563eb}.admission-detail-hero{grid-template-columns:auto minmax(0,1fr) auto}.admission-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;margin-top:16px;display:grid}.admission-detail-grid .card{min-width:0}.student-detail-list dd{align-items:center;gap:5px;display:flex}.admission-class-field{gap:7px;margin-top:16px;display:grid}.admission-class-field span{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.admission-class-field select{min-height:46px;font:inherit;background:#f8fafc;border:1px solid #dbeafe;border-radius:14px;padding:10px 12px;font-weight:700}.admission-documents-panel{margin-top:16px}.admission-document-list{gap:8px;margin:16px 0 11px;display:grid}.admission-document-list article{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;display:flex}.admission-document-list strong,.admission-document-list span{display:block}.admission-document-list span{color:var(--so-text-muted);margin-top:3px;font-size:11px}.admission-document-list button{cursor:pointer;border:0}.admission-actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.admission-number-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:14px;margin-top:16px;padding:14px}.admission-number-box span,.admission-number-box strong{display:block}.admission-number-box span{color:#166534;text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:700}.admission-number-box strong{color:#14532d;letter-spacing:.04em;margin-top:5px;font-size:22px}.student-admission-origin{margin-top:16px}.student-admission-origin .student-open-link{margin-top:14px}.warning-note{background:#fffbeb;border-color:#fde68a}.fee-aging-header{justify-content:space-between;align-items:center;gap:12px 16px;margin-bottom:12px;display:flex}.fee-aging-header h3{font-size:var(--so-size-h3);letter-spacing:-.02em;margin:4px 0 0;font-weight:700}.fee-aging-asof{border:1px solid var(--so-border);border-radius:var(--so-radius-pill);background:var(--so-surface-sunken);color:var(--so-text-muted);white-space:nowrap;flex:none;padding:4px 10px;font-size:12px;font-weight:600}.fee-aging-grid{gap:var(--so-card-gap);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.aging-bucket-card{--aging-accent:#f59e0b;border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);min-width:0;box-shadow:inset 3px 0 0 var(--aging-accent);padding:12px 14px 12px 16px}.aging-bucket-card.aging-step-2{--aging-accent:#f97316}.aging-bucket-card.aging-step-3{--aging-accent:#ef4444}.aging-bucket-card.aging-step-4{--aging-accent:#b91c1c}.aging-bucket-card.is-empty{--aging-accent:var(--so-border-strong);background:var(--so-surface-sunken)}.aging-bucket-label{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700;display:block}.aging-bucket-amount{color:var(--so-text);letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:4px 0 2px;font-size:19px;font-weight:700}.aging-bucket-card.is-empty .aging-bucket-amount{color:var(--so-text-muted)}.aging-bucket-count{color:var(--so-text-muted);font-size:12px;font-weight:600}.fee-aging-anomaly{border-radius:var(--so-radius-lg);color:#be123c;background:#fff1f2;border:1px solid #fecdd3;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;font-size:13px;display:flex}.so-split-grid.fee-decision-split{align-items:start}.so-split-grid.fee-decision-split>.card>.so-record-list{flex:none}.fee-attention-list{margin-top:12px}.fee-overdue-list{flex-direction:column;gap:8px;display:flex}.fee-overdue-row{border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface-sunken);justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.fee-overdue-row>div:first-child{min-width:0}.fee-overdue-heading{flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0;display:flex}.fee-overdue-heading strong{color:var(--so-text);overflow-wrap:anywhere;font-size:14px;font-weight:600}.fee-overdue-status{white-space:nowrap;padding:3px 8px;font-size:11px;font-weight:600}.fee-overdue-meta{color:var(--so-text-muted);overflow-wrap:anywhere;margin-top:4px;font-size:12px;font-weight:600;display:block}.fee-overdue-amount{text-align:right;flex:none}.fee-overdue-amount strong{color:#be123c;font-variant-numeric:tabular-nums;font-size:15px;font-weight:700;display:block}.fee-overdue-amount span{color:var(--so-text-muted);margin-top:3px;font-size:12px;font-weight:600;display:block}.fee-overdue-truncated{color:var(--so-text-muted);text-align:center;padding:4px 8px;font-size:12px}.invoice-register-toolbar{margin-bottom:var(--so-space-4);justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.invoice-register-toolbar h2{font-size:var(--so-size-h2);margin:4px 0}.invoice-register-toolbar p{color:var(--so-text-muted);margin:0;font-size:13px}.invoice-register-summary{border-radius:var(--so-radius-lg);background:var(--so-primary-soft);color:#1d4ed8;border:1px solid #bfdbfe;justify-items:end;gap:2px;padding:8px 14px;display:grid}.invoice-register-summary strong{font-variant-numeric:tabular-nums;font-size:20px;line-height:1}.invoice-register-summary span{font-size:11px;font-weight:700}.invoice-search-form{align-items:stretch;gap:var(--so-control-gap);margin-bottom:14px;display:flex}.invoice-search-form .invoice-search-field{background:var(--so-surface);border-color:var(--so-border-strong);flex:auto;min-width:0}.invoice-search-field svg{color:var(--so-text-muted);flex:none}.invoice-search-field input{height:42px}.invoice-search-form .btn{min-height:44px;padding-inline:20px}.invoice-register-totals{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.invoice-register-totals span{border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface-sunken);min-width:0;color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.04em;gap:4px;padding:10px 12px;font-size:11px;font-weight:700;display:grid}.invoice-register-totals strong{color:var(--so-text);letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:15px}.invoice-register-frame{border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);min-width:0;overflow:hidden}.invoice-table-scroll{-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow-x:auto}.invoice-register-table{border-collapse:separate;border-spacing:0;width:100%;min-width:860px;font-size:var(--so-size-body-sm)}.invoice-register-table th{background:var(--so-surface-sunken);color:var(--so-text-secondary);border-bottom:1px solid var(--so-border);text-align:left;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;padding:10px 14px;font-size:11px;font-weight:700}.invoice-register-table td{border-bottom:1px solid var(--so-border);color:var(--so-text);vertical-align:middle;white-space:nowrap;padding:11px 14px}.invoice-register-table tbody tr:last-child td{border-bottom:0}.invoice-register-table tbody tr:hover td{background:#f8fbff}.invoice-register-table .is-num{text-align:right;font-variant-numeric:tabular-nums}.invoice-register-table td.is-num{font-weight:600}.invoice-register-table td.is-zero{color:var(--so-text-muted);font-weight:500}.invoice-register-table .invoice-cell-id a{text-overflow:ellipsis;vertical-align:middle;max-width:210px;color:var(--so-primary);font-variant-numeric:tabular-nums;font-weight:600;text-decoration:none;display:inline-block;overflow:hidden}.invoice-register-table .invoice-cell-id a:hover{text-decoration:underline}.invoice-register-table .invoice-cell-id a:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:2px;border-radius:var(--so-radius-sm)}.invoice-cell-student strong{font-weight:600;display:block}.invoice-cell-student small{color:var(--so-text-muted);margin-top:2px;font-size:12px;display:block}.invoice-register-table .invoice-cell-title{text-overflow:ellipsis;max-width:260px;color:var(--so-text-secondary);overflow:hidden}.invoice-register-table .invoice-cell-date{color:var(--so-text-secondary);font-variant-numeric:tabular-nums}.invoice-register-table .status{white-space:nowrap;padding:3px 9px;font-size:12px;font-weight:600}.invoice-register-empty{color:var(--so-text-muted);text-align:center;margin:0;padding:28px 16px;font-size:14px}.invoice-pagination{border-top:1px solid var(--so-border);background:var(--so-surface-sunken);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.invoice-pagination>span{color:var(--so-text-muted);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}@media (max-width:720px){.fee-aging-header,.invoice-register-toolbar{flex-direction:column;align-items:flex-start}.fee-aging-asof{white-space:normal}.fee-aging-grid,.invoice-register-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-register-summary{justify-items:start}}@media (max-width:480px){.aging-bucket-card{padding:10px 12px 10px 14px}.aging-bucket-amount{font-size:17px}.fee-overdue-row{flex-direction:column;align-items:flex-start;gap:8px}.fee-overdue-amount{text-align:left}.invoice-search-form{flex-direction:column}.invoice-search-form .btn{width:100%}.invoice-pagination .btn{min-height:var(--so-tap-target,44px)}}.so-timeline{margin:var(--so-space-3) 0 0;padding:0 0 0 var(--so-space-4);border-left:1px solid var(--so-border);gap:0;list-style:none}.so-timeline li{padding:0 0 var(--so-space-3);gap:2px;display:grid;position:relative}.so-timeline li:last-child{padding-bottom:0}.so-timeline li:before{content:"";left:calc(var(--so-space-4) * -1 - 4px);background:var(--so-primary);width:7px;height:7px;box-shadow:0 0 0 2px var(--so-surface);border-radius:50%;position:absolute;top:6px}.so-timeline p{color:var(--so-text);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-medium);line-height:var(--so-leading-snug);order:1;margin:0}.so-timeline time{color:var(--so-text-muted);font-size:var(--so-size-caption);font-weight:var(--so-weight-regular);line-height:var(--so-leading-snug);font-variant-numeric:tabular-nums;order:2}@media (max-width:980px){.admissions-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.admission-row{grid-template-columns:minmax(0,1fr)}.admission-row-status{justify-content:flex-start}.admissions-toolbar{grid-template-columns:1fr 1fr}.admissions-toolbar .student-search{grid-column:1/-1}}@media (max-width:680px){.admissions-hero,.admission-detail-hero,.admission-detail-grid,.admissions-metrics,.admissions-toolbar{grid-template-columns:minmax(0,1fr)}.admissions-toolbar .student-search{grid-column:auto}.admission-row-facts{grid-template-columns:minmax(0,1fr)}.admission-detail-hero .status{justify-self:start}}.voucher-generator-hero{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;display:grid}.voucher-generator-grid{margin-top:0}.voucher-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.voucher-form-grid label{gap:6px;display:grid}.voucher-form-grid label>span{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700}.voucher-form-grid input,.voucher-form-grid select,.voucher-form-grid textarea{color:#0f172a;width:100%;min-height:44px;font:inherit;background:#f8fafc;border:1px solid #dbeafe;border-radius:14px;min-width:0;padding:10px 12px;font-weight:700}.voucher-form-grid textarea{resize:vertical;min-height:82px}.voucher-form-grid .full-field{grid-column:1/-1}.voucher-student-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.voucher-student-summary div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;min-width:0;padding:11px}.voucher-student-summary span,.voucher-student-summary strong,.voucher-student-summary small{display:block}.voucher-student-summary span{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-weight:700}.voucher-student-summary strong{margin-top:5px;font-size:13px}.voucher-student-summary small{color:#64748b;margin-top:3px}.voucher-line-preview,.voucher-total-preview{gap:8px;margin-top:16px;display:grid}.voucher-line-preview>div,.voucher-total-preview>span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.voucher-line-preview span,.voucher-line-preview small{display:block}.voucher-line-preview small{color:#64748b;margin-top:3px;font-size:10px}.voucher-total-preview .grand-total{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe;font-size:16px}.voucher-calculation-card .btn-primary{margin-top:14px}.voucher-register{gap:8px;margin-top:16px;display:grid}.voucher-register>a{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:13px 15px;display:flex}.voucher-register>a>div:last-child{color:#2563eb;align-items:center;gap:10px;display:flex}.voucher-register strong,.voucher-register span,.voucher-register small{display:block}.voucher-register span,.voucher-register small{color:#64748b;margin-top:3px;font-size:11px}.linked-voucher-strip{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:center;gap:16px;padding:18px 20px;display:grid}.linked-voucher-strip div{gap:3px;display:grid}.linked-voucher-strip span{color:var(--so-text-muted);font-size:10px;font-weight:var(--so-weight-semibold);text-transform:uppercase;letter-spacing:var(--so-tracking-caps)}.linked-voucher-strip small{color:var(--so-text-muted)}.linked-voucher-strip{grid-template-columns:minmax(0,1fr) auto;margin-top:16px}.linked-voucher-strip>div{grid-template-columns:auto auto minmax(0,1fr);align-items:center}.linked-voucher-strip small{grid-column:2/-1}.student-voucher-summary{margin-top:16px}.voucher-print-actions{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.voucher-print-actions>div{flex-wrap:wrap;gap:8px;display:flex}.voucher-accounting-note{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:16px;padding:15px 18px;display:grid}.voucher-accounting-note p{color:#64748b;margin:4px 0 0}.voucher-sheet{background:#e2e8f0;border-radius:22px;gap:12px;padding:16px;display:grid}.voucher-copy{color:#0f172a;background:#fff;border:1px solid #94a3b8;padding:20px}.voucher-copy header{border-bottom:2px solid #0f172a;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding-bottom:12px;display:grid}.voucher-copy header span,.voucher-copy header p{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:850}.voucher-copy header h2{margin:4px 0;font-size:20px}.voucher-copy-label{justify-items:end;gap:3px;display:grid}.voucher-copy-label strong{font-size:16px}.voucher-identity-grid,.voucher-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.voucher-meta-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.voucher-identity-grid div,.voucher-meta-grid div{border:1px solid #cbd5e1;min-width:0;padding:8px}.voucher-identity-grid span,.voucher-meta-grid span{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:8px;font-weight:700;display:block}.voucher-identity-grid strong,.voucher-meta-grid strong{margin-top:3px;font-size:11px;display:block}.voucher-identity-grid small{color:#64748b;font-size:9px}.voucher-breakdown{border-collapse:collapse;width:100%;margin-top:12px;font-size:10px}.voucher-breakdown th,.voucher-breakdown td{text-align:left;border:1px solid #cbd5e1;padding:7px 8px}.voucher-breakdown th{text-transform:uppercase;letter-spacing:.05em;background:#f1f5f9;font-size:8px}.voucher-breakdown th:last-child,.voucher-breakdown td:last-child{text-align:right}.voucher-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px;display:grid}.voucher-summary div{border:1px solid #cbd5e1;justify-content:space-between;gap:8px;padding:7px;font-size:9px;display:flex}.voucher-summary .voucher-payable{color:#1d4ed8;background:#eff6ff;border-color:#60a5fa;grid-column:span 2;font-size:11px}.voucher-payment-details{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;margin-top:10px;padding:9px 11px;font-size:9px}.voucher-payment-details p{color:#475569;margin:3px 0 0}.voucher-copy footer{border-top:1px solid #cbd5e1;grid-template-columns:minmax(0,1fr) auto;gap:15px;margin-top:10px;padding-top:10px;display:grid}.voucher-copy footer p{color:#475569;margin:3px 0 0;font-size:9px}.voucher-copy footer>div:last-child{justify-items:end;gap:4px;display:grid}.voucher-copy footer small{color:#64748b;font-size:8px}.voucher-disclaimer{color:#64748b;text-align:center;margin:9px 0 0;font-size:8px}.voucher-cut-line{text-align:center;border-top:1px dashed #64748b;height:1px}.voucher-cut-line span{color:#64748b;background:#e2e8f0;padding:0 8px;font-size:9px;position:relative;top:-8px}.exam-register{gap:10px;margin-top:16px;display:grid}.exam-register-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:minmax(0,1.35fr) minmax(180px,1fr) auto auto;align-items:center;gap:14px;padding:15px;display:grid}.exam-register-row strong,.exam-register-row span,.exam-register-row small{display:block}.exam-register-row span,.exam-register-row small{color:var(--so-text-muted);margin-top:4px;font-size:11px}.exam-register-facts{text-align:right}.exam-register-facts strong{color:#1d4ed8}.exam-lifecycle-actions{justify-content:space-between;align-items:center;gap:18px;display:flex}.result-entry-toolbar{grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;gap:10px;margin:16px 0;display:grid}.result-entry-toolbar label{gap:6px;display:grid}.result-entry-toolbar label>span{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700}.result-entry-toolbar select{min-height:44px;font:inherit;background:#f8fafc;border:1px solid #dbeafe;border-radius:14px;padding:10px 12px;font-weight:600}.marks-entry-table{overflow-x:auto}.marks-entry-table input{width:112px;min-height:38px;font:inherit;border:1px solid #dbeafe;border-radius:10px;padding:8px 10px;font-weight:700}.exam-class-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:16px;display:grid}.exam-class-grid>div,.exam-class-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;gap:8px;padding:16px 18px;display:flex;box-shadow:0 1px 3px #0f172a0a}.exam-class-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.exam-class-header strong{color:#0f172a;font-size:14px;font-weight:700}.exam-class-pct{color:#2563eb;font-size:13px;font-weight:700}.exam-class-subtext{color:var(--so-text-muted);margin:0;font-size:12px;font-weight:500;display:block}.exam-class-grid span:not(.exam-class-pct):not(.progress-fill){color:var(--so-text-muted);margin:0;font-size:12px;display:block}.result-card-actions{justify-content:space-between;align-items:center;gap:14px;display:flex}.result-card-actions>div{flex-wrap:wrap;gap:8px;display:flex}.result-card-printable{color:#0f172a;background:#fff;border:1px solid #94a3b8;padding:28px}.result-card-printable header{border-bottom:2px solid #0f172a;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding-bottom:16px;display:grid}.result-card-printable header span,.result-card-printable header p{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.result-card-printable header h1{letter-spacing:-.04em;margin:5px 0;font-size:26px}.result-card-label{text-align:right;justify-items:end;gap:4px;display:grid}.result-card-student-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:16px;display:grid}.result-card-student-grid>div{border:1px solid #cbd5e1;min-width:0;padding:10px}.result-card-student-grid span{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:9px;font-weight:700;display:block}.result-card-student-grid strong,.result-card-student-grid small{margin-top:4px;display:block}.result-card-student-grid strong{font-size:12px}.result-card-student-grid small{color:var(--so-text-muted);font-size:10px}.result-card-table{border-collapse:collapse;width:100%;margin-top:16px;font-size:11px}.result-card-table th,.result-card-table td{text-align:left;border:1px solid #cbd5e1;padding:9px}.result-card-table th{text-transform:uppercase;letter-spacing:.05em;background:#f1f5f9;font-size:9px}.result-card-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.result-card-summary>div{border:1px solid #cbd5e1;padding:10px}.result-card-summary span,.result-card-summary strong{display:block}.result-card-summary span{color:var(--so-text-muted);text-transform:uppercase;font-size:9px;font-weight:700}.result-card-summary strong{margin-top:5px;font-size:16px}.result-card-printable footer{border-top:1px solid #cbd5e1;justify-content:space-between;gap:14px;margin-top:18px;padding-top:12px;display:flex}.result-card-printable footer p{color:#475569;margin:4px 0 0;font-size:10px}.result-card-printable footer small{color:var(--so-text-muted);font-size:9px}.parent-result-list{gap:10px;margin-top:16px;display:grid}.parent-result-list article{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:15px;display:grid}.parent-result-list strong,.parent-result-list span,.parent-result-list p{display:block}.parent-result-list span{color:var(--so-text-muted);margin-top:4px;font-size:11px}.parent-result-list p{color:#475569;margin:7px 0 0}.parent-result-list article>div:nth-child(2){justify-items:end;gap:9px;display:grid}.parent-result-list a{color:#2563eb;align-items:center;gap:5px;font-size:12px;font-weight:700;display:inline-flex}@media (max-width:980px){.voucher-generator-hero,.voucher-student-summary{grid-template-columns:minmax(0,1fr)}}@media (max-width:680px){.voucher-form-grid,.voucher-identity-grid,.voucher-meta-grid,.voucher-summary{grid-template-columns:minmax(0,1fr)}.voucher-form-grid .full-field,.voucher-summary .voucher-payable{grid-column:auto}.voucher-print-actions,.linked-voucher-strip{grid-template-columns:minmax(0,1fr);display:grid}.voucher-accounting-note,.voucher-copy header{grid-template-columns:minmax(0,1fr)}.voucher-copy-label{justify-items:start}}@media (max-width:900px){.exam-register-row{grid-template-columns:minmax(0,1fr)}.exam-register-facts{text-align:left}.exam-lifecycle-actions,.academic-brief-strip{grid-template-columns:minmax(0,1fr);display:grid}.result-entry-toolbar{grid-template-columns:1fr 1fr}.result-entry-toolbar .btn{grid-column:1/-1;justify-self:start}.result-card-student-grid,.result-card-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.exam-class-grid,.result-entry-toolbar,.result-card-student-grid,.result-card-summary,.parent-result-breakdown{grid-template-columns:minmax(0,1fr)}.result-card-actions{grid-template-columns:minmax(0,1fr);display:grid}.result-card-printable{padding:18px}.result-card-printable header{grid-template-columns:minmax(0,1fr)}.result-card-label{text-align:left;justify-items:start}.parent-result-list article{grid-template-columns:minmax(0,1fr)}.parent-result-list article>div:nth-child(2){justify-items:start}}@media print{@page{size:A4 portrait;margin:4mm 5mm}:is(html:has(.fee-voucher-page),body:has(.fee-voucher-page)){background:#fff!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important}.fee-voucher-page .register-confirmation,.fee-voucher-page .voucher-print-actions,.fee-voucher-page .voucher-accounting-note{display:none!important}body:has(.fee-voucher-page) .desktop-sidebar{display:none!important}body:has(.fee-voucher-page) .sidebar{display:none!important}body:has(.fee-voucher-page) .mobile-dashboard-topbar{display:none!important}body:has(.fee-voucher-page) .mobile-nav-overlay{display:none!important}body:has(.fee-voucher-page) .schoolos-command-bar{display:none!important}body:has(.fee-voucher-page) .parent-preview-banner{display:none!important}body:has(.fee-voucher-page) .guided-demo-card{display:none!important}body:has(.fee-voucher-page) .command-overlay{display:none!important}body:has(.fee-voucher-page) .erp-modal-overlay{display:none!important}:is(body:has(.fee-voucher-page) .dashboard-shell,body:has(.fee-voucher-page) .schoolos-workspace,body:has(.fee-voucher-page) .premium-main){background:#fff!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}.fee-voucher-page{page-break-inside:avoid!important;break-inside:avoid!important;background:#fff!important;gap:0!important;width:100%!important;margin:0!important;padding:0!important;display:block!important}.voucher-sheet{page-break-inside:avoid!important;break-inside:avoid!important;background:#fff!important;border-radius:0!important;flex-direction:column!important;gap:0!important;width:100%!important;margin:0!important;padding:0!important;display:flex!important}.voucher-copy{break-inside:avoid!important;page-break-inside:avoid!important;min-height:0!important;box-shadow:none!important;background:#fff!important;border:1px solid #64748b!important;margin:0!important;padding:2mm 3.5mm!important;font-size:8pt!important;line-height:1.2!important}.voucher-school-logo{border-color:#94a3b8!important;width:9mm!important;height:9mm!important}.voucher-copy header{border-bottom:1.5px solid #0f172a!important;grid-template-columns:minmax(0,1fr) auto!important;gap:2mm!important;padding-bottom:1.2mm!important;display:grid!important}.voucher-brand-header{align-items:center!important;gap:2.5mm!important;display:flex!important}.voucher-brand-header h2{margin:0!important;font-size:11pt!important;font-weight:800!important;line-height:1.15!important}.voucher-brand-header span{letter-spacing:.04em!important;color:#475569!important;font-size:6.5pt!important;font-weight:700!important;display:block!important}.voucher-brand-header p{color:#475569!important;margin:0!important;font-size:6.5pt!important;line-height:1.15!important}.voucher-copy-label{text-align:right!important;justify-items:end!important;gap:1px!important;display:grid!important}.voucher-copy-label strong{font-size:9.5pt!important;font-weight:800!important}.voucher-copy-label span{text-transform:uppercase!important;color:#64748b!important;font-size:6.5pt!important}.voucher-identity-grid,.voucher-meta-grid{gap:1mm!important;margin-top:1.2mm!important;display:grid!important}.voucher-identity-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.voucher-meta-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.voucher-identity-grid div,.voucher-meta-grid div{border:1px solid #cbd5e1!important;padding:.8mm 1.2mm!important}.voucher-identity-grid span,.voucher-meta-grid span{color:#475569!important;text-transform:uppercase!important;font-size:6pt!important;font-weight:800!important;line-height:1.1!important;display:block!important}.voucher-identity-grid strong,.voucher-meta-grid strong{margin-top:.5px!important;font-size:7.5pt!important;line-height:1.15!important;display:block!important}.voucher-identity-grid small{color:#64748b!important;font-size:6.5pt!important;display:block!important}.voucher-breakdown{border-collapse:collapse!important;width:100%!important;margin-top:1.2mm!important;font-size:7.5pt!important}.voucher-breakdown th,.voucher-breakdown td{border:1px solid #cbd5e1!important;padding:.8mm 1.2mm!important;font-size:7.5pt!important;line-height:1.15!important}.voucher-breakdown th{text-transform:uppercase!important;background:#f1f5f9!important;font-size:6.5pt!important;font-weight:800!important}.voucher-breakdown th:last-child,.voucher-breakdown td:last-child{text-align:right!important}.voucher-summary{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:.8mm!important;margin-top:1mm!important;display:grid!important}.voucher-summary div{border:1px solid #cbd5e1!important;justify-content:space-between!important;padding:.8mm 1mm!important;font-size:7pt!important;line-height:1.15!important;display:flex!important}.voucher-summary span{color:#475569!important}.voucher-summary strong{color:#0f172a!important}.voucher-summary .voucher-payable{color:#1d4ed8!important;background:#eff6ff!important;border-color:#60a5fa!important;grid-column:span 2!important;font-size:8pt!important;font-weight:800!important}.voucher-payment-details{background:#f8fafc!important;border:1px solid #cbd5e1!important;border-radius:4px!important;margin-top:1mm!important;padding:.8mm 1.2mm!important;font-size:6.5pt!important;line-height:1.15!important}.voucher-payment-details strong{color:#0f172a!important;font-size:6.5pt!important}.voucher-payment-details p{color:#475569!important;margin:.5px 0 0!important;font-size:6.5pt!important}.voucher-copy footer{border-top:1px solid #cbd5e1!important;grid-template-columns:minmax(0,1fr) auto!important;gap:2mm!important;margin-top:1mm!important;padding-top:1mm!important;display:grid!important}.voucher-copy footer p{color:#475569!important;margin:.5px 0 0!important;font-size:6.5pt!important}.voucher-copy footer strong{font-size:6.5pt!important}.voucher-copy footer small{color:#64748b!important;font-size:6pt!important}.voucher-disclaimer{color:#64748b!important;text-align:center!important;margin:.8mm 0 0!important;font-size:5.5pt!important;line-height:1.1!important}.voucher-cut-line{text-align:center!important;page-break-inside:avoid!important;break-inside:avoid!important;border-top:1px dashed #64748b!important;height:0!important;margin:1.5mm 0!important;padding:0!important;display:block!important;position:relative!important}.voucher-cut-line span{color:#64748b!important;text-transform:uppercase!important;letter-spacing:.06em!important;background:#fff!important;padding:0 6px!important;font-size:6pt!important;font-weight:700!important;display:inline-block!important;position:relative!important;top:-5px!important}@page{size:A4 portrait;margin:10mm 12mm}:is(html:has(.result-card-page),body:has(.result-card-page)){background:#fff!important;min-height:0!important}.result-card-page .result-card-actions{display:none!important}body:has(.result-card-page) .desktop-sidebar{display:none!important}body:has(.result-card-page) .sidebar{display:none!important}body:has(.result-card-page) .mobile-dashboard-topbar{display:none!important}body:has(.result-card-page) .mobile-nav-overlay{display:none!important}body:has(.result-card-page) .schoolos-command-bar{display:none!important}body:has(.result-card-page) .parent-preview-banner{display:none!important}body:has(.result-card-page) .student-preview-banner{display:none!important}body:has(.result-card-page) .teacher-preview-banner{display:none!important}body:has(.result-card-page) [class*=preview-banner]{display:none!important}body:has(.result-card-page) .guided-demo-card{display:none!important}:is(body:has(.result-card-page) .dashboard-shell,body:has(.result-card-page) .schoolos-workspace,body:has(.result-card-page) .premium-main){background:#fff!important;width:100%!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important}.result-card-page{background:#fff!important;width:100%!important;margin:0!important;padding:0!important;display:block!important}.result-card-printable{box-sizing:border-box!important;break-inside:avoid!important;page-break-inside:avoid!important;height:260mm!important;min-height:255mm!important;max-height:265mm!important;box-shadow:none!important;background:#fff!important;border:1.5px solid #0f172a!important;border-radius:4px!important;flex-direction:column!important;justify-content:space-between!important;margin:0 auto!important;padding:8mm 10mm!important;display:flex!important}.result-card-printable header{border-bottom:2px solid #0f172a!important;justify-content:space-between!important;align-items:center!important;padding-bottom:5mm!important;display:flex!important}.result-card-brand-header{align-items:center!important;gap:14px!important;display:flex!important}.result-card-logo{object-fit:cover!important;border-radius:50%!important;width:52px!important;height:52px!important}.result-card-brand-header div span{text-transform:uppercase!important;letter-spacing:.08em!important;color:#2563eb!important;font-size:8.5pt!important;font-weight:800!important}.result-card-brand-header h2{letter-spacing:-.03em!important;color:#0f172a!important;margin:2px 0!important;font-size:19pt!important;font-weight:900!important}.result-card-brand-header p{color:var(--so-text-muted);margin:0!important;font-size:9.5pt!important}.result-card-label{text-align:right!important}.result-card-label strong{letter-spacing:.06em!important;color:#1e3a8a!important;font-size:13pt!important;font-weight:900!important;display:block!important}.result-card-label span{color:var(--so-text-muted);font-size:9.5pt!important;font-weight:700!important}.result-card-student-grid{grid-template-columns:repeat(4,1fr)!important;gap:3mm!important;margin-top:5mm!important;margin-bottom:5mm!important;display:grid!important}.result-card-student-grid>div{background:#f8fafc!important;border:1px solid #cbd5e1!important;border-radius:4px!important;padding:3.5mm 4mm!important}.result-card-student-grid span{color:var(--so-text-muted);text-transform:uppercase!important;letter-spacing:.05em!important;font-size:7.5pt!important;font-weight:800!important}.result-card-student-grid strong{color:#0f172a!important;margin-top:2px!important;font-size:11pt!important;font-weight:800!important}.result-card-student-grid small{color:#475569!important;font-size:8.5pt!important}.result-card-table{border-collapse:collapse!important;width:100%!important;margin:4mm 0!important;font-size:10pt!important}.result-card-table th,.result-card-table td{text-align:left!important;border:1px solid #cbd5e1!important;padding:3.5mm 4mm!important}.result-card-table th{text-transform:uppercase!important;letter-spacing:.05em!important;color:#334155!important;background:#f1f5f9!important;font-size:8.5pt!important;font-weight:800!important}.result-card-table td{color:#0f172a!important;font-size:10pt!important}.result-card-table td:nth-child(2),.result-card-table td:nth-child(3),.result-card-table td:nth-child(4),.result-card-table td:nth-child(5){font-weight:700!important}.result-card-summary{grid-template-columns:repeat(4,1fr)!important;gap:3mm!important;margin-top:4mm!important;margin-bottom:4mm!important;display:grid!important}.result-card-summary>div{background:#f8fafc!important;border:1.5px solid #cbd5e1!important;border-radius:4px!important;padding:3.5mm 4mm!important}.result-card-summary span{color:var(--so-text-muted);text-transform:uppercase!important;letter-spacing:.05em!important;font-size:8pt!important;font-weight:800!important}.result-card-summary strong{color:#0f172a!important;margin-top:2px!important;font-size:14pt!important;font-weight:900!important}.result-card-printable footer{border-top:1.5px solid #cbd5e1!important;justify-content:space-between!important;align-items:flex-end!important;margin-top:4mm!important;padding-top:4mm!important;display:flex!important}.result-card-printable footer strong{color:#0f172a!important;font-size:9.5pt!important}.result-card-printable footer p{color:#475569!important;margin:2px 0 0!important;font-size:9pt!important}.result-card-printable footer small{color:#94a3b8!important;text-transform:uppercase!important;letter-spacing:.05em!important;font-size:8pt!important}}.status.neutral{color:#475569;background:#eef2f7}.status.blue{color:#1d4ed8;background:#dbeafe}.register-item .status.neutral{margin-left:6px}.form-helper{color:#b45309;margin-top:12px;font-size:12px;font-weight:400}@media (max-width:1180px){.fee-secondary-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.fee-brief-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.fee-brief-strip a{grid-column:1/-1}}@media (max-width:980px){.fee-overview-hero,.fee-account-hero{grid-template-columns:minmax(0,1fr)}.student-fee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-fee-detail-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:680px){.fee-secondary-metrics,.fee-brief-strip,.student-fee-grid,.payment-form-grid,.fee-account-status-row{grid-template-columns:minmax(0,1fr)}.fee-brief-strip a,.payment-form-grid .full-field{grid-column:auto}.fee-brief-strip>div{border-bottom:1px solid #e2e8f0;border-right:0;padding:8px}.fee-priority-list>a,.fee-history-list article{flex-direction:column}}@media (min-width:981px){.action-queue{scrollbar-width:thin;scrollbar-color:#94a3b859 transparent;max-height:calc(100dvh - 220px);padding-right:6px;overflow-y:auto}.action-queue::-webkit-scrollbar{width:6px}.action-queue::-webkit-scrollbar-track{background:0 0}.action-queue::-webkit-scrollbar-thumb{background:#94a3b859;border-radius:999px}.action-detail-panel{scrollbar-width:thin;scrollbar-color:#94a3b859 transparent;max-height:calc(100dvh - 116px);padding-right:6px;position:sticky;top:96px;overflow-y:auto}.action-detail-panel::-webkit-scrollbar{width:6px}.action-detail-panel::-webkit-scrollbar-track{background:0 0}.action-detail-panel::-webkit-scrollbar-thumb{background:#94a3b859;border-radius:999px}}@media (max-width:980px){.action-queue{max-height:none;overflow:visible}.action-detail-panel{max-height:none;position:static;overflow:visible}}.sidebar-school-identity{align-items:center;gap:8px;margin-bottom:3px;display:flex}.sidebar-school-logo{object-fit:contain;background:#fff;border:1px solid #fff3;border-radius:50%;flex-shrink:0;width:26px;height:26px}.sidebar-school-logo.live-school-icon{background:#ffffff1f;border-radius:6px;justify-content:center;align-items:center;display:flex}.sidebar-school-text{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.voucher-brand-header{align-items:center;gap:14px;display:flex}.voucher-school-logo{object-fit:contain;background:#fff;border:1px solid #cbd5e1;border-radius:50%;flex-shrink:0;width:48px;height:48px}.result-card-brand-header{align-items:center;gap:16px;display:flex}.result-card-logo{object-fit:contain;background:#fff;border:1px solid #cbd5e1;border-radius:50%;flex-shrink:0;width:54px;height:54px}.admission-hero-identity{align-items:center;gap:16px;display:flex}.admission-school-logo{object-fit:contain;background:#fff;border:2px solid #ffffff40;border-radius:50%;flex-shrink:0;width:52px;height:52px;box-shadow:0 4px 12px #00000029}@media print{.voucher-school-logo{border-color:#94a3b8;width:12mm;height:12mm}.result-card-logo{border-color:#94a3b8;width:14mm;height:14mm}}.schoolos-logo-brand{flex-shrink:0;display:inline-flex}.schoolos-logo-brand.is-plated{background:#fff;border-radius:8px;padding:5px 7px}.schoolos-logo-lockup{--so-lockup-height:30px;height:var(--so-lockup-height);width:calc(var(--so-lockup-height) * 996 / 661);display:block;position:relative;overflow:hidden}.schoolos-logo-brand.is-plated .schoolos-logo-lockup{--so-lockup-height:26px}.schoolos-logo-lockup img{width:145.38%;max-width:none;height:164.3%;position:absolute;top:-31.62%;left:-22.59%}@media (max-width:480px){.schoolos-logo-lockup{--so-lockup-height:26px}.schoolos-logo-brand.is-plated .schoolos-logo-lockup{--so-lockup-height:22px}}img.demo-brand-logo{aspect-ratio:4/3;object-fit:contain;background:#fff;border-radius:8px;width:auto;padding:2px}.sidebar-status-compact img.demo-brand-logo{border-radius:6px;width:auto;height:26px}@media print{img.demo-brand-logo{object-fit:contain!important;border-radius:6px!important;width:auto!important}.result-card-logo.demo-brand-logo{width:auto!important;height:14mm!important}.voucher-school-logo.demo-brand-logo{width:auto!important;height:10mm!important}}.btn-start-guided-demo{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:1px solid #60a5fa66;border-radius:8px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:600;transition:all .16s;display:inline-flex;box-shadow:0 2px 5px #0000002e,0 0 12px #2563eb47}.btn-start-guided-demo:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);border-color:#93c5fd8c;transform:translateY(-1px);box-shadow:0 4px 10px #0000003d,0 0 16px #2563eb66}.guided-demo-card{-webkit-backdrop-filter:blur(16px);width:360px;max-width:calc(100vw - 32px);z-index:var(--z-toast);color:#f8fafc;background:#0f172af2;border:1px solid #3b82f659;border-radius:14px;flex-direction:column;gap:12px;padding:16px 18px;animation:.25s cubic-bezier(.16,1,.3,1) guidedDemoSlideIn;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 20px 40px -15px #0009,0 0 0 1px #ffffff14,0 0 24px #2563eb33}@keyframes guidedDemoSlideIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.guided-demo-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.guided-demo-badge{text-transform:uppercase;letter-spacing:.06em;color:#60a5fa;background:#2563eb26;border:1px solid #3b82f64d;border-radius:999px;align-items:center;gap:6px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.guided-demo-close{color:var(--so-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:color .15s,background .15s;display:flex}.guided-demo-close:hover{color:#f8fafc;background:#ffffff14}.guided-demo-body{flex-direction:column;gap:6px;display:flex}.guided-demo-title{color:#fff;margin:0;font-size:17px;font-weight:700;line-height:1.25}.guided-demo-message{color:#cbd5e1;margin:0;font-size:14px;line-height:1.45}.guided-demo-optional-action{color:#38bdf8;align-items:center;gap:5px;width:fit-content;margin-top:4px;font-size:12px;font-weight:600;text-decoration:none;transition:color .15s;display:inline-flex}.guided-demo-optional-action:hover{color:#7dd3fc;text-decoration:underline}.guided-demo-footer{border-top:1px solid #ffffff14;flex-direction:column;gap:10px;padding-top:8px;display:flex}.guided-demo-nav-buttons{align-items:center;gap:8px;display:flex}.guided-demo-nav-buttons .btn{cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.guided-demo-nav-buttons .btn:disabled{opacity:.4;cursor:not-allowed}.guided-demo-aux-buttons{justify-content:space-between;align-items:center;gap:8px;display:flex}.btn-guided-aux{color:var(--so-text-muted);cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.btn-guided-aux:hover{color:#f1f5f9;background:#ffffff0f;border-color:#fff3}.btn-guided-aux.active{color:#60a5fa;background:#2563eb33;border-color:#3b82f680}.btn-guided-aux.exit{color:var(--so-text-muted);border-color:#0000}.btn-guided-aux.exit:hover{color:#f87171;background:#ef44441a}.guided-demo-highlight{transition:outline .3s,box-shadow .3s;animation:2s cubic-bezier(.4,0,.6,1) infinite guidedDemoPulse;position:relative;outline-offset:4px!important;outline:3px solid #2563eb!important;box-shadow:0 0 0 8px #2563eb29,0 20px 25px -5px #0000004d!important}@keyframes guidedDemoPulse{0%,to{box-shadow:0 0 0 6px #2563eb38,0 20px 25px -5px #0000004d}50%{box-shadow:0 0 0 12px #2563eb14,0 20px 25px -5px #0000004d}}@media (max-width:640px){.guided-demo-card{gap:10px;width:auto;max-width:none;padding:13px 14px;bottom:12px;left:12px;right:12px}.guided-demo-title{font-size:15px}.guided-demo-message{font-size:12px}.btn-start-guided-demo{padding:4px 8px;font-size:11px}}.parent-child-switcher .switcher-label{color:#475569;white-space:nowrap;letter-spacing:-.01em;font-size:13px;font-weight:700}.parent-child-switcher .switcher-tabs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.child-tab-btn{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:8px;min-height:42px;padding:8px 16px;font-size:14px;line-height:1.2;transition:all .15s;display:inline-flex}.child-tab-btn span{color:#6d28d9;background:#ede9fe;border-radius:6px;padding:2px 7px;font-size:12px;font-weight:500}.child-tab-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.child-tab-btn.active{color:#fff;background:#2563eb;border-color:#2563eb;box-shadow:0 4px 12px #2563eb40}.child-tab-btn.active strong{color:#fff}.child-tab-btn.active span{color:#fff;background:#ffffff38}.family-summary-item span{color:var(--so-text-muted);letter-spacing:.01em;font-size:12px;font-weight:600}.family-summary-item strong{color:#0f172a;font-size:18px;font-weight:700}.parent-attendance-list{flex-direction:column;gap:8px;display:flex}.parent-attendance-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.parent-attendance-row strong{color:#1e293b;font-size:14px;display:block}.parent-attendance-row span{color:var(--so-text-muted);font-size:12px}@media (max-width:768px){.parent-family-summary{grid-template-columns:minmax(0,1fr)}.parent-child-switcher{flex-direction:column;align-items:flex-start;gap:8px}}.setup-workspace,.form-workspace,.import-center,.teacher-directory,.reports-page{gap:20px;display:grid}.setup-sprint-hero,.teacher-profile-hero{padding:clamp(16px,2.5vw,24px)}.setup-sprint-hero h1,.teacher-profile-hero h1,.page-heading h1{margin:8px 0}.setup-sprint-hero p,.teacher-profile-hero p,.page-heading p{max-width:760px}.teacher-profile-hero{justify-content:space-between;align-items:flex-start;gap:24px;display:flex!important}.tp-stats-grid{grid-template-columns:1fr 1fr;gap:10px;min-width:260px;display:grid}.tp-stat-item{background:#ffffff2e;border:1px solid #ffffff40;border-radius:14px;padding:12px 14px}.tp-stat-item .tp-stat-label{letter-spacing:.06em;text-transform:uppercase;opacity:.75;margin-bottom:4px;font-size:11px;font-weight:700;display:block}@media (max-width:720px){.teacher-profile-hero{flex-direction:column}.tp-stats-grid{width:100%;min-width:0}}.panel-header,.teacher-card-heading,.record-actions,.form-actions,.import-upload-row,.report-title-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.panel-header h2,.teacher-card-heading h2,.onboarding-form h2{margin:0}.inline-tabs button,.report-picker button{color:#475569;cursor:pointer;background:#fff;border:1px solid #dbe4f0;border-radius:10px;padding:10px 14px;font-weight:700}.inline-tabs button.active,.report-picker button.active{color:#1d4ed8;background:#eff6ff;border-color:#2563eb}.onboarding-inline-form,.form-grid,.assignment-forms,.column-map-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.onboarding-inline-form label,.form-grid label,.assignment-picker,.column-map-grid label,.report-controls label{color:#334155;gap:7px;font-size:12px;font-weight:700;display:grid}.onboarding-inline-form input,.onboarding-inline-form select,.form-grid input,.form-grid select,.form-grid textarea,.assignment-picker select,.column-map-grid select,.report-controls input,.report-controls select{color:#0f172a;width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:9px 11px}.full-field{grid-column:1/-1}.check-field{grid-column:1/-1;align-items:center;gap:9px!important;display:flex!important}.check-field input{width:auto;min-height:auto}.form-error{color:#b91c1c;background:#fff1f2;border:1px solid #fecaca;border-radius:10px;padding:11px 13px;font-weight:600}.form-helper{margin:0}.setup-record-list{gap:10px;display:grid}.setup-record-list>article,.teacher-directory-card,.existing-family-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:14px}.setup-record-list>article{justify-content:space-between;align-items:center;gap:14px;display:flex}.setup-record-list article p,.teacher-directory-card p{color:var(--so-text-muted);margin:4px 0 0;font-size:13px}.teacher-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.teacher-directory-card{color:inherit;gap:10px;text-decoration:none;transition:transform .16s,border-color .16s;display:grid}.teacher-directory-card:hover{border-color:#93c5fd;transform:translateY(-2px)}.student-detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;margin:16px 0 0;padding:0;display:grid}.student-info-card,.student-detail-list>div{cursor:default;background:#f8fafc;border:1px solid #e2e8f0f2;border-radius:10px;flex-direction:row;justify-content:space-between;align-items:center;min-width:0;padding:10px 14px;display:flex;box-shadow:0 1px 2px #0f172a05}.student-detail-list dt{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;margin-bottom:0;font-size:11px;font-weight:700}.student-detail-list dd{color:#0f172a;overflow-wrap:anywhere;word-break:normal;text-align:right;margin:0;font-size:clamp(13px,1.05vw,15px);font-weight:700;line-height:1.45;display:block}.student-detail-list .field-address{flex-direction:row;grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;display:flex}.student-detail-list .field-address dd{color:#1e293b;text-align:right;line-height:1.5}.student-detail-list .field-phone dd,.student-detail-list .field-emergency-phone dd,.student-detail-list dd.phone-val{white-space:nowrap;font-variant-numeric:tabular-nums}.student-detail-list .field-admission dd{letter-spacing:-.01em;overflow-wrap:anywhere}@media (max-width:990px){.student-detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.student-detail-list .field-address{grid-column:1/-1}}@media (max-width:640px){.student-detail-list{grid-template-columns:minmax(0,1fr);gap:8px}.student-detail-list .field-address{grid-column:auto}.student-detail-list dd{font-size:13px}}.import-counts,.report-summary{flex-wrap:wrap;gap:8px;display:flex}.import-counts span,.report-summary span{color:#3730a3;background:#eef2ff;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700}.school-report-table,.report-table{border-collapse:collapse;width:100%}.school-report-table th,.school-report-table td,.report-table th,.report-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e2e8f0;padding:10px 12px;font-size:12px}.school-report-table th,.report-table th{color:#475569;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc;font-size:10px}.report-table-wrap{border:1px solid #e2e8f0;border-radius:10px;overflow-x:auto}.report-row-off-page{display:none}.report-picker{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;display:grid}.report-picker button{text-align:left;flex-direction:column;justify-content:center;gap:3px;min-height:66px;display:flex}.report-picker small{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:9px}.report-controls{grid-template-columns:repeat(4,minmax(140px,1fr));align-items:end;gap:12px;display:grid}.report-actions{justify-content:flex-end;gap:var(--so-space-2);flex-wrap:wrap;grid-column:1/-1;display:flex}.report-actions button{align-items:center;gap:7px;display:inline-flex}.report-print-area{gap:18px;display:grid}.report-print-header{border-bottom:2px solid #0f172a;align-items:center;gap:13px;padding-bottom:14px;display:flex}.report-print-header p,.report-print-header h2{margin:0}.report-print-header p{color:#2563eb;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.report-print-header span{color:var(--so-text-muted);font-size:12px}.report-school-mark{object-fit:contain;background:#fff;border:1px solid #cbd5e1;border-radius:50%;width:48px;height:48px}.report-title-row>span{color:var(--so-text-muted);white-space:nowrap;font-size:12px}.report-title-row h2{margin:3px 0}.report-title-row p{color:var(--so-text-muted);margin:0}.report-print-footer{color:var(--so-text-muted);border-top:1px solid #cbd5e1;padding-top:10px;font-size:10px}@media (max-width:1050px){.teacher-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.report-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.onboarding-inline-form,.onboarding-inline-form.compact-form,.onboarding-inline-form.assignment-form,.form-grid,.assignment-forms,.column-map-grid,.teacher-card-grid,.student-detail-list,.report-controls{grid-template-columns:minmax(0,1fr)}.report-picker{padding-bottom:5px;display:flex;overflow-x:auto}.report-picker button{min-width:160px}.panel-header,.setup-record-list>article,.import-upload-row,.report-title-row{flex-direction:column;align-items:flex-start}.record-actions,.report-actions{justify-content:flex-start}.report-table-wrap{overflow-x:auto}}.academic-setup-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:0;display:flex}.setup-header-title-row{align-items:center;gap:12px;display:flex}.setup-header-title-row h1{color:#0f172a;margin:0;font-size:26px;font-weight:700}.academic-year-badge{color:#3730a3;background:#e0e7ff;border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.setup-header-subtitle{color:var(--so-text-muted);margin:4px 0 0;font-size:14px}.setup-tabs{border-bottom:1px solid #e2e8f0;gap:8px;padding-bottom:4px;display:flex}.setup-tab-btn{color:var(--so-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:10px 10px 0 0;padding:10px 18px;font-size:14px;font-weight:700;transition:all .15s}.setup-tab-btn:hover{color:#1e293b;background:#f1f5f9}.setup-tab-btn.active{color:#2563eb;background:#eff6ff;border-bottom:2px solid #2563eb}.erp-management-panel{gap:16px;padding:24px;display:grid}.panel-subtitle{color:var(--so-text-muted);margin:4px 0 0;font-size:13px}.erp-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:14px;width:100%;overflow-x:auto}.erp-table{border-collapse:collapse;width:100%}.erp-table th,.erp-table td{text-align:left;border-bottom:1px solid #e2e8f0;padding:12px 16px;font-size:13px}.erp-table th{color:#475569;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc;font-size:11px;font-weight:700}.erp-table tbody tr:hover{background:#f8fafc}.erp-table td .btn-row-action{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;margin-right:6px;padding:5px 10px;font-size:12px;font-weight:700}.erp-table td .btn-row-action:hover{background:#f1f5f9;border-color:#94a3b8}.erp-empty-cell{text-align:center!important;padding:var(--so-space-8) var(--so-space-4)!important}.erp-empty-cell .so-state-empty{background:0 0;border:none;padding:0}.action-btn{color:#475569;cursor:pointer;box-sizing:border-box;vertical-align:middle;background:#fff;border:1px solid #cbd5e1;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:0;text-decoration:none;transition:all .15s ease-in-out;display:inline-flex;position:relative}.action-btn-icon{flex-shrink:0;transition:transform .1s}.action-btn-spinner{animation:1s linear infinite spin}.action-btn:hover{color:#0f172a;background:#f8fafc;border-color:#94a3b8}.action-btn:active{transform:scale(.95)}.action-btn:focus-visible{outline-offset:2px;z-index:2;outline:2px solid #2563eb}.action-btn:disabled,.action-btn.is-disabled,.action-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none;box-shadow:none}.action-btn-default{color:#475569;background:#fff;border-color:#cbd5e1}.action-btn-default:hover{color:#0f172a;background:#f1f5f9;border-color:#94a3b8}.action-btn-primary{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.action-btn-primary:hover{color:#1e40af;background:#dbeafe;border-color:#93c5fd}.action-btn-danger{color:#dc2626;background:#fff;border-color:#fecaca}.action-btn-danger:hover{color:#b91c1c;background:#fef2f2;border-color:#f87171}.action-btn-ghost{color:var(--so-text-muted);background:0 0;border-color:#0000}.action-btn-ghost:hover{color:#0f172a;background:#f1f5f9;border-color:#e2e8f0}.action-btn-sm{border-radius:6px;width:28px;height:28px}.action-btn-md{border-radius:6px;width:32px;height:32px}.action-btn-lg{border-radius:8px;width:36px;height:36px}.timetable-slot-actions .action-btn{border-radius:6px;width:22px;height:22px;padding:0}.timetable-slot-actions .action-btn .action-btn-icon{width:12px;height:12px}.action-btn-group{vertical-align:middle;align-items:center;gap:6px;display:inline-flex}.action-btn-group-left{justify-content:flex-start}.action-btn-group-center{justify-content:center}.action-btn-group-right{justify-content:flex-end}.action-btn-tooltip{color:#fff;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:var(--z-dropdown);background:#0f172a;border-radius:6px;padding:5px 8px;font-size:11px;font-weight:600;line-height:1;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;box-shadow:0 4px 6px -1px #0003,0 2px 4px -1px #0000001a}.action-btn-tooltip-top{bottom:calc(100% + 6px);left:50%;transform:translate(-50%)translateY(4px)}.action-btn-tooltip-top:after{content:"";border:4px solid #0000;border-top-color:#0f172a;border-bottom-width:0;position:absolute;top:100%;left:50%;transform:translate(-50%)}.action-btn-tooltip-bottom{top:calc(100% + 6px);left:50%;transform:translate(-50%)translateY(-4px)}.action-btn-tooltip-bottom:after{content:"";border:4px solid #0000;border-top-width:0;border-bottom-color:#0f172a;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.action-btn-tooltip-left{top:50%;right:calc(100% + 6px);transform:translateY(-50%)translate(4px)}.action-btn-tooltip-left:after{content:"";border:4px solid #0000;border-left-color:#0f172a;border-right-width:0;position:absolute;top:50%;left:100%;transform:translateY(-50%)}.action-btn-tooltip-right{top:50%;left:calc(100% + 6px);transform:translateY(-50%)translate(-4px)}.action-btn-tooltip-right:after{content:"";border:4px solid #0000;border-left-width:0;border-right-color:#0f172a;position:absolute;top:50%;right:100%;transform:translateY(-50%)}.action-btn:hover .action-btn-tooltip-top,.action-btn:focus-visible .action-btn-tooltip-top,.action-btn:hover .action-btn-tooltip-bottom,.action-btn:focus-visible .action-btn-tooltip-bottom{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.action-btn:hover .action-btn-tooltip-left,.action-btn:focus-visible .action-btn-tooltip-left,.action-btn:hover .action-btn-tooltip-right,.action-btn:focus-visible .action-btn-tooltip-right{opacity:1;visibility:visible;transform:translateY(-50%)translate(0)}@media (max-width:768px){.action-btn{min-width:36px;min-height:36px}.action-btn:after{content:"";pointer-events:auto;width:100%;min-width:44px;height:100%;min-height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.action-btn-group{align-items:center;gap:8px;display:inline-flex}.action-btn-group .action-btn{width:34px;min-width:34px;height:34px;min-height:34px}.action-btn-group .action-btn:after{display:none!important}.timetable-slot-actions{gap:4px!important}.timetable-slot-actions .action-btn{width:22px!important;min-width:22px!important;height:22px!important;min-height:22px!important}.timetable-slot-actions .action-btn:after{display:none!important}}.schoolos-tab-nav{-webkit-overflow-scrolling:touch;scrollbar-width:thin;border-bottom:1px solid #e2e8f0;align-items:center;gap:4px;margin:18px 0;padding-bottom:2px;display:flex;overflow-x:auto}.schoolos-tab-btn{color:var(--so-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:8px 8px 0 0;align-items:center;gap:7px;padding:10px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.schoolos-tab-btn:hover{color:#1e293b;background:#f8fafc}.schoolos-tab-btn.active,.schoolos-tab-btn[aria-selected=true]{color:#2563eb;background:#2563eb0a;border-bottom-color:#2563eb;font-weight:700}.schoolos-tab-btn:focus-visible{outline-offset:-2px;outline:2px solid #2563eb}.schoolos-tab-btn .tab-badge{color:#475569;background:#f1f5f9;border-radius:999px;align-items:center;padding:1px 7px;font-size:11px;font-weight:700;display:inline-flex}.schoolos-tab-btn.active .tab-badge{color:#1d4ed8;background:#dbeafe}.schoolos-tab-btn .tab-badge.is-fee-pending,.schoolos-tab-btn.active .tab-badge.is-fee-pending{background:var(--so-warning-soft);color:var(--so-warning)}.schoolos-tab-btn .tab-badge.is-fee-overdue,.schoolos-tab-btn.active .tab-badge.is-fee-overdue{background:var(--so-danger-soft);color:var(--so-danger)}.schoolos-tab-panel{flex-direction:column;gap:16px;width:100%;display:flex}.schoolos-tab-panel[hidden]{display:none!important}.student-table th{white-space:nowrap}.student-table td{vertical-align:middle}.student-cell-identity{align-items:center;gap:10px;display:flex}.student-cell-identity strong{color:#0f172a;font-size:14px;font-weight:700;display:block}.student-cell-identity span{color:var(--so-text-muted);font-size:12px;display:block}.student-table .btn-row-action{align-items:center;gap:5px;text-decoration:none;display:inline-flex}.erp-modal-overlay{z-index:var(--z-modal);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.erp-modal-backdrop{-webkit-backdrop-filter:blur(4px);background:#0f172a8c;position:fixed;inset:0}.erp-modal-container{background:#fff;border:1px solid #e2e8f0;border-radius:14px;gap:18px;width:min(560px,100vw - 32px);max-height:calc(100dvh - 48px);padding:24px;display:grid;position:relative;overflow-y:auto;box-shadow:0 24px 64px #0f172a40}.info-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}@media (max-width:1200px){.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.info-grid{grid-template-columns:minmax(0,1fr)}}.admission-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (max-width:640px){.admission-info-grid{grid-template-columns:minmax(0,1fr)}}.info-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;align-items:flex-start;min-width:0;height:auto;padding:12px;display:flex}.info-label{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px;font-size:11px;font-weight:700}.info-value{color:#0f172a;overflow-wrap:anywhere;word-break:break-word;white-space:normal;margin:0;font-size:14px;font-weight:700;line-height:1.4}.info-value code{background:#f1f5f9;border-radius:6px;padding:2px 6px;font-family:monospace;font-size:12px}.teacher-profile-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr);gap:20px;margin-top:20px;display:grid}@media (max-width:1024px){.teacher-profile-layout{grid-template-columns:minmax(0,1fr)}}.erp-modal-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.erp-modal-header h3{color:#0f172a;margin:0;font-size:18px;font-weight:700}.erp-modal-close{color:var(--so-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px}.erp-modal-close:hover{color:#0f172a;background:#f1f5f9}.erp-modal-body{gap:14px;display:grid}.erp-form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}@media (max-width:640px){.erp-form-grid-2{grid-template-columns:minmax(0,1fr)}}.erp-modal-body label:where(:not(:has(>input[type=radio]))){flex-direction:column;gap:6px;width:100%;display:flex}.erp-modal-body label:where(:not(:has(>input[type=radio])))>span,.erp-modal-body label:where(:not(:has(>input[type=radio])))>strong{color:#334155;font-size:13px;font-weight:600;display:block}.erp-modal-body input:where(:not([type=radio],[type=checkbox])),.erp-modal-body select,.erp-modal-body textarea{color:#0f172a;box-sizing:border-box;background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;outline:none;width:100%;min-height:42px;padding:10px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s;display:block}.erp-modal-body input:where(:not([type=radio],[type=checkbox])):focus,.erp-modal-body select:focus,.erp-modal-body textarea:focus{border-color:#1e3a8a;box-shadow:0 0 0 3px #1e3a8a1a}.erp-modal-body input::placeholder,.erp-modal-body textarea::placeholder{color:#94a3b8}.erp-modal-actions{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:10px;margin-top:8px;padding-top:16px;display:flex}.erp-modal-actions .btn-secondary{color:#475569;background:#fff;border:1px solid #cbd5e1}.directory-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:100%;margin-bottom:0;display:flex}.directory-header-row>div:first-child{min-width:0;max-width:100%}.directory-header-row h1{color:#0f172a;margin:0;font-size:26px;font-weight:600}.directory-count-text{color:var(--so-text-muted);margin:4px 0 0;font-size:14px;font-weight:600}.directory-header-actions{align-items:center;gap:var(--so-space-2);flex-wrap:wrap;max-width:100%;display:flex}.directory-header-actions .btn{white-space:normal;max-width:100%}@media (max-width:680px){.directory-header-row{flex-direction:column;align-items:stretch;gap:12px}.directory-header-actions{align-items:center;gap:var(--so-space-2);flex-flow:wrap;width:100%;display:flex}.directory-header-actions .btn{justify-content:center;width:auto}}.form-workspace{max-width:860px;margin:0 auto}.form-page-header{gap:6px;margin-bottom:16px;display:grid}.form-page-header h1{color:#0f172a;margin:0;font-size:26px;font-weight:700}.form-subtitle{color:var(--so-text-muted);margin:0;font-size:14px}.form-section-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;gap:14px;padding:20px 24px;display:grid}.form-section-card :is(h2,h3){color:#0f172a;border-bottom:1px solid #f1f5f9;margin:0 0 6px;padding-bottom:10px;font-size:16px;font-weight:700}.existing-family-callout{background:#eff6ff;border:2px solid #93c5fd;border-radius:14px;gap:12px;padding:18px 20px;display:grid}.family-callout-header{gap:4px;display:grid}.family-badge{color:#fff;text-transform:uppercase;letter-spacing:.05em;background:#2563eb;border-radius:999px;align-self:flex-start;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.family-callout-header h4{color:#1e3a8a;margin:4px 0 0;font-size:17px;font-weight:700}.family-callout-header p{color:#3b82f6;margin:0;font-size:13px}.family-callout-actions{flex-wrap:wrap;gap:10px;display:flex}.import-stepper{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px;padding:14px;display:grid}.import-step{color:var(--so-text-muted);align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.import-step.active{color:#2563eb}.import-step.complete{color:#059669}.step-num{width:22px;height:22px;color:var(--so-text-muted);background:#e2e8f0;border-radius:50%;justify-content:center;align-items:center;font-size:11px;display:flex}.import-step.active .step-num{color:#fff;background:#2563eb}.import-step.complete .step-num{color:#fff;background:#059669}.status-chip{border-radius:999px;align-items:center;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.status-chip.ready{color:#166534;background:#dcfce7}.status-chip.warn{color:#92400e;background:#fef3c7}.modal-backdrop{z-index:var(--z-modal);-webkit-backdrop-filter:blur(4px);background:#0f172aa6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-backdrop .modal-card{background:#fff;max-height:calc(100dvh - 48px);position:relative;overflow-y:auto;box-shadow:0 24px 64px #0f172a59}.role-metrics{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:inline-flex}.role-metrics>span{background:var(--so-surface-sunken);height:32px;color:var(--so-text-secondary);border:1px solid var(--so-border);white-space:nowrap;box-sizing:border-box;border-radius:999px;justify-content:center;align-items:center;padding:0 12px;font-size:12px;font-weight:500;line-height:1;display:inline-flex}.role-metrics>span.status{border-radius:999px;height:32px;padding:0 14px;font-size:12px;font-weight:700;line-height:1}.role-metrics>span.status.blue{color:#fff;background:#2563eb;border:1px solid #3b82f6;box-shadow:0 2px 8px #2563eb59}.role-metrics>span.status.good{color:#fff;background:#047857;border:1px solid #10b981}.role-metrics>span.status.warn{color:#fff;background:#b45309;border:1px solid #f59e0b}.diary-filter-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.diary-filter-group select{color:#0f172a;cursor:pointer;background-color:#fff;border:1px solid #cbd5e1;border-radius:10px;outline:none;height:40px;padding:0 32px 0 14px;font-size:13px;font-weight:600;transition:border-color .15s,box-shadow .15s}.diary-filter-group select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.diary-search-box{box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:10px;align-items:center;width:220px;height:40px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.diary-search-box svg{color:var(--so-text-muted);flex:none}.diary-search-box input{color:#0f172a;box-sizing:border-box;background:0 0;border:none;border-radius:10px;outline:none;width:100%;height:100%;padding:0;font-size:13px;font-weight:500}.diary-search-box input::placeholder{color:#94a3b8}@media (max-width:640px){.diary-filter-group{width:100%}.diary-filter-group select,.diary-search-box{flex:100%;width:100%}}@media print{:is(html:has(.reports-page),body:has(.reports-page)){background:#fff!important}.reports-page .report-no-print{display:none!important}body:has(.reports-page) .desktop-sidebar{display:none!important}body:has(.reports-page) .sidebar{display:none!important}body:has(.reports-page) .mobile-dashboard-topbar{display:none!important}body:has(.reports-page) .mobile-nav-overlay{display:none!important}body:has(.reports-page) .schoolos-command-bar{display:none!important}body:has(.reports-page) .guided-demo-card{display:none!important}:is(body:has(.reports-page) .dashboard-shell,body:has(.reports-page) .schoolos-workspace,body:has(.reports-page) .premium-main){background:#fff!important;width:100%!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important}.reports-page,.report-print-area{width:100%;box-shadow:none;border:0;margin:0;padding:0;display:block!important}.report-print-header,.report-title-row,.report-summary{margin-bottom:4mm}.report-table-wrap{border:0!important;border-radius:0!important;overflow:visible!important}.report-table-wrap .report-table th{position:static!important}.report-row-off-page{display:table-row!important}.report-table th,.report-table td{color:#0f172a;padding:2mm;font-size:8.5pt}.report-table tr{break-inside:avoid;page-break-inside:avoid}.report-print-footer{margin-top:4mm}}.report-picker{grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-auto-rows:76px!important;gap:10px!important;display:grid!important}.report-picker button{text-align:left!important;box-sizing:border-box!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;gap:3px!important;height:100%!important;padding:10px 14px!important;display:flex!important}@media (max-width:1050px) and (min-width:681px){.report-picker{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:76px!important}}@media (max-width:680px){.report-picker{grid-template-columns:1fr!important;grid-auto-rows:auto!important}.report-picker button{min-height:64px!important}}@media (min-width:981px){.attendance-overview-hero,.fee-overview-hero,.fee-recovery-hero,.fee-account-hero,.results-hero,.teacher-register-hero,.teacher-hero,.portal-hero,.admissions-hero,.principal-brief-hero,.intelligence-hero,.action-hero,.module-hero,.student-hero,.student-profile-hero,.finance-hero,.communications-hero,.database-hero,.launch-hero,.teacher-profile-hero{box-sizing:border-box;align-content:center;min-height:160px;padding:18px 24px;display:grid}.attendance-overview-hero h1,.attendance-overview-hero h2,.fee-overview-hero h1,.fee-overview-hero h2,.fee-recovery-hero h1,.fee-recovery-hero h2,.fee-account-hero h1,.fee-account-hero h2,.voucher-generator-hero h1,.voucher-generator-hero h2,.results-hero h1,.teacher-register-hero h1,.teacher-register-hero h2,.admissions-hero h1,.intelligence-hero h1,.action-hero h1,.module-hero h1,.student-profile-hero h1,.finance-hero h1,.database-hero h1,.launch-hero h1,.teacher-profile-hero h1{letter-spacing:-.035em!important;margin:6px 0 4px!important;font-size:clamp(22px,2.4vw,28px)!important;line-height:1.15!important}.attendance-overview-hero p,.fee-overview-hero p,.fee-recovery-hero p,.fee-account-hero p,.results-hero p,.teacher-register-hero p,.admissions-hero p,.intelligence-hero p,.action-hero p,.module-hero p,.student-profile-hero p,.finance-hero p,.database-hero p,.launch-hero p,.teacher-profile-hero p{max-width:640px!important;margin:0!important;font-size:13px!important;line-height:1.45!important}.attendance-overview-hero .premium-kicker,.fee-overview-hero .premium-kicker,.fee-recovery-hero .premium-kicker,.fee-account-hero .premium-kicker,.results-hero .premium-kicker,.teacher-register-hero .premium-kicker,.admissions-hero .premium-kicker,.intelligence-hero .premium-kicker,.action-hero .premium-kicker,.module-hero .premium-kicker,.student-hero .premium-kicker,.finance-hero .premium-kicker,.communications-hero .premium-kicker{letter-spacing:.1em!important;margin-bottom:2px!important;font-size:11px!important}.attendance-overview-hero .hero-actions,.fee-overview-hero .hero-actions,.fee-recovery-hero .hero-actions,.fee-account-hero .hero-actions,.results-hero .hero-actions,.teacher-register-hero .hero-actions,.admissions-hero .hero-actions,.intelligence-hero .hero-actions,.action-hero .hero-actions,.module-hero .hero-actions,.student-hero .hero-actions,.finance-hero .hero-actions,.communications-hero .hero-actions{gap:8px!important;margin-top:12px!important}.results-hero-card,.finance-hero-card,.fee-health-card,.teacher-hero-card,.portal-live-card,.hero-live-card,.admissions-hero-mark{border-radius:14px!important;align-self:center!important;gap:4px!important;padding:10px 16px!important}.results-hero-card strong,.finance-hero-card strong,.fee-health-card strong,.teacher-hero-card strong,.portal-live-card strong,.hero-live-card strong,.admissions-hero-mark strong{letter-spacing:-.03em!important;font-size:26px!important;line-height:1.05!important}.results-hero-card span,.finance-hero-card span,.fee-health-card span,.teacher-hero-card span,.portal-live-card span,.hero-live-card span,.admissions-hero-mark span{font-size:11px!important}}.schoolos-modal-card{box-sizing:border-box;width:92%;max-width:560px;max-height:90vh;padding:1.75rem;position:relative;overflow-y:auto;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:14px!important;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a!important}.schoolos-modal-close-btn{width:32px;height:32px;color:var(--so-text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute;top:1.25rem;right:1.25rem}.schoolos-modal-close-btn:hover{color:#0f172a;background:#f1f5f9}.schoolos-modal-title{color:#0f172a;letter-spacing:-.02em;margin:.35rem 0 1rem;font-size:1.35rem;font-weight:700}.schoolos-modal-form{flex-direction:column;gap:1rem;display:flex}.schoolos-form-group{flex-direction:column;display:flex}.schoolos-form-label{color:#1e293b;margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.schoolos-input,.schoolos-select{color:#0f172a;box-sizing:border-box;background-color:#fff;border:1px solid #cbd5e1;border-radius:10px;width:100%;height:44px;padding:0 14px;font-family:inherit;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.schoolos-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:38px}.schoolos-input:focus,.schoolos-select:focus,.schoolos-textarea:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb26}.schoolos-input::placeholder,.schoolos-textarea::placeholder{color:#94a3b8}.schoolos-input:disabled,.schoolos-select:disabled{color:var(--so-text-muted);cursor:not-allowed;background-color:#f1f5f9;border-color:#e2e8f0}.schoolos-textarea{color:#0f172a;box-sizing:border-box;resize:vertical;background-color:#fff;border:1px solid #cbd5e1;border-radius:10px;width:100%;min-height:100px;padding:10px 14px;font-family:inherit;font-size:.9rem;line-height:1.5;transition:border-color .15s,box-shadow .15s}.schoolos-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.schoolos-form-row-subject-channel{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:12px;display:grid}@media (max-width:640px){.schoolos-form-row,.schoolos-form-row-subject-channel{grid-template-columns:minmax(0,1fr)}}.schoolos-modal-footer{justify-content:flex-end;gap:10px;margin-top:.5rem;display:flex}.schoolos-form-error{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;padding:.65rem .85rem;font-size:.85rem;font-weight:500}.schoolos-modal-success{text-align:center;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:1.75rem 1rem}.schoolos-modal-success h3{color:#166534;margin:0 0 .25rem;font-size:1.15rem}.schoolos-modal-success p{color:#15803d;margin:0;font-size:.9rem}.intelligence-prompts{flex-direction:column;gap:8px;margin-top:12px;display:flex}.schoolos-ai-page .intelligence-grid{align-items:start}.schoolos-ai-page .ai-boundary-card{position:sticky;top:24px}@media (max-width:980px){.schoolos-ai-page .ai-boundary-card{position:static}}.module-hero-split{grid-template-columns:1fr 310px;align-items:center;gap:24px;width:100%;display:grid}@media (max-width:980px){.module-hero-split{grid-template-columns:minmax(0,1fr);gap:16px}}.module-hero-left{flex-direction:column;min-width:0;display:flex}.hero-micro-kpi-strip{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.hero-micro-kpi-item{border-radius:var(--so-radius-md);background:var(--so-surface-sunken);border:1px solid var(--so-border);font-size:var(--so-size-label);color:var(--so-text-secondary);line-height:var(--so-leading-tight);align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.hero-micro-kpi-item svg{color:#93c5fd;flex-shrink:0}.hero-micro-kpi-item strong{color:var(--so-text);font-weight:500}.hero-micro-kpi-item span{color:var(--so-text-muted);font-weight:400}.module-hero-right{flex-direction:column;align-items:flex-end;gap:10px;min-width:0;display:flex}@media (max-width:980px){.module-hero-right{align-items:flex-start}}.hero-context-card{width:100%;max-width:310px;padding:var(--so-space-3) var(--so-space-4);background:var(--so-surface-sunken);border:1px solid var(--so-border);border-radius:var(--so-radius-lg);gap:var(--so-space-1);box-sizing:border-box;flex-direction:column;display:flex}.hero-context-card .context-card-kicker{font-size:var(--so-size-caption);text-transform:uppercase;letter-spacing:var(--so-tracking-caps);font-weight:var(--so-weight-semibold);color:var(--so-text-muted);align-items:center;gap:5px;display:flex}.hero-context-card strong{font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold);color:var(--so-text);overflow-wrap:anywhere;line-height:var(--so-leading-tight);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.hero-context-card span{font-size:var(--so-size-caption);color:var(--so-text-muted);overflow-wrap:anywhere;line-height:var(--so-leading-tight);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.global-ai-assistant-root{z-index:var(--z-fab);position:relative}@media print{.global-ai-assistant-root{display:none!important}}:is(body:has(.fee-voucher-page) .global-ai-assistant-root,body:has(.result-card-page) .global-ai-assistant-root,body:has(.printable-area) .global-ai-assistant-root){display:none!important}.global-ai-launcher{color:#fff;cursor:pointer;letter-spacing:-.01em;-webkit-user-select:none;user-select:none;height:48px;z-index:var(--z-fab);background:linear-gradient(135deg,#1d4ed8 0%,#4338ca 50%,#6d28d9 100%);border:1px solid #ffffff38;border-radius:14px;align-items:center;gap:9px;padding:0 18px 0 14px;font-size:14px;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 25px -5px #1d4ed880,0 8px 10px -6px #6d28d94d}.global-ai-launcher:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 14px 28px -4px #1d4ed899,0 10px 12px -5px #6d28d966}.global-ai-launcher:active{transform:translateY(0)scale(.98)}.global-ai-launcher-pulse{background:#34d399;border-radius:50%;width:8px;height:8px;position:relative}.global-ai-launcher-pulse:after{content:"";border:2px solid #34d399;border-radius:50%;animation:2s cubic-bezier(.4,0,.6,1) infinite ai-pulse;position:absolute;inset:-2px}@keyframes ai-pulse{0%{opacity:.9;transform:scale(.9)}70%{opacity:0;transform:scale(2.2)}to{opacity:0;transform:scale(2.2)}}.global-ai-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:var(--z-drawer);background:#0f172a66;animation:.2s ease-out forwards ai-fade-in;position:fixed;inset:0}.global-ai-drawer{width:420px;max-width:92vw;z-index:var(--z-drawer);background:#fff;flex-direction:column;animation:.25s cubic-bezier(.16,1,.3,1) forwards ai-slide-in;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;box-shadow:-10px 0 30px -5px #0000002e}@keyframes ai-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ai-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.global-ai-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.global-ai-header-left{align-items:center;gap:10px;display:flex}.global-ai-header-icon{color:#fff;background:linear-gradient(135deg,#1d4ed8,#6d28d9);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.global-ai-header-titles h3{color:#0f172a;margin:0;font-size:15px;font-weight:700;line-height:1.2}.global-ai-header-titles p{color:var(--so-text-muted);margin:2px 0 0;font-size:12px;line-height:1.2}.global-ai-header-actions{align-items:center;gap:6px;display:flex}.global-ai-full-link{color:#2563eb;background:#eff6ff;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.global-ai-full-link:hover{color:#1d4ed8;background:#dbeafe}.global-ai-close-btn{width:32px;height:32px;color:var(--so-text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.global-ai-close-btn:hover{color:#0f172a;background:#e2e8f0}.global-ai-body{flex-direction:column;flex:1;gap:16px;padding:20px;display:flex;overflow-y:auto}.global-ai-bubble-user{color:#fff;word-break:break-word;background:#2563eb;border-radius:14px 14px 2px;align-self:flex-end;max-width:85%;padding:10px 14px;font-size:14px;line-height:1.45}.global-ai-bubble-assistant{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px 14px 14px 2px;flex-direction:column;align-self:flex-start;gap:8px;max-width:95%;padding:14px 16px;font-size:13px;line-height:1.5;display:flex}.global-ai-bubble-assistant h4{color:#0f172a;margin:0;font-size:14px;font-weight:700;line-height:1.35}.global-ai-bubble-assistant p{color:#475569;margin:0;font-size:12px}.global-ai-answer-badge{color:#059669;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:5px;font-size:11px;font-weight:700;display:inline-flex}.global-ai-bubble-actions{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.global-ai-bubble-actions a{color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:4px;padding:5px 10px;font-size:12px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.global-ai-bubble-actions a:hover{color:#2563eb;background:#f8fafc;border-color:#2563eb}.global-ai-footer{background:#fff;border-top:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;gap:10px;padding:14px 18px;display:flex}.global-ai-prompts-label{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:11px;font-weight:600}.global-ai-prompts-row{scrollbar-width:thin;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.global-ai-prompt-chip{white-space:nowrap;color:#334155;cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;flex-shrink:0;align-items:center;padding:5px 10px;font-size:12px;transition:all .15s;display:inline-flex}.global-ai-prompt-chip:hover{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.global-ai-input-form{background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;align-items:center;gap:8px;padding:4px 6px 4px 12px;transition:border-color .15s,box-shadow .15s;display:flex}.global-ai-input-form:focus-within{background:#fff;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.global-ai-input-field{color:#0f172a;background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:13px}.global-ai-send-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:background .15s;display:flex}.global-ai-send-btn:hover:not(:disabled){background:#1d4ed8}.global-ai-send-btn:disabled{cursor:not-allowed;background:#cbd5e1}.global-ai-trust-caption{color:var(--so-text-muted);text-align:center;margin:0;font-size:11px}.recovery-actions-list{flex-direction:column;gap:10px;margin-top:14px;display:flex}.status.neutral{color:#475569;background:#f1f5f9;border:1px solid #cbd5e1}.academic-activity-timeline{flex-direction:column;gap:10px;margin-top:14px;display:flex}.academic-activity-timeline.timeline-list article.academic-activity-row,.academic-activity-row{background:#f8fafc;border:1px solid #f1f5f9;border-radius:10px;grid-template-columns:minmax(110px,120px) 1fr;align-items:flex-start;gap:16px;padding:10px 14px;transition:background-color .15s,border-color .15s;display:grid;position:relative}.academic-activity-timeline.timeline-list article.academic-activity-row:hover,.academic-activity-row:hover{background:#f1f5f9;border-color:#e2e8f0}.academic-activity-time{flex-direction:column;flex-shrink:0;gap:2px;min-width:110px;display:flex}.activity-date{color:#1d4ed8;white-space:nowrap;letter-spacing:-.01em;font-size:12px;font-weight:700}.activity-clock{color:var(--so-text-muted);white-space:nowrap;font-size:11px;font-weight:600}.academic-activity-body{flex-direction:column;gap:3px;min-width:0;display:flex}.academic-activity-body strong{color:#0f172a;font-size:14px;font-weight:700;line-height:1.3}.academic-activity-body p{color:#475569;margin:0;font-size:12px;line-height:1.45}@media (max-width:640px){.academic-activity-timeline.timeline-list article.academic-activity-row,.academic-activity-row{gap:6px;padding:10px 12px;flex-direction:column!important;display:flex!important}.academic-activity-time{flex-direction:row;align-items:center;gap:8px;min-width:0;display:flex}.activity-clock:before{content:"•";color:#cbd5e1;margin-right:8px}}.timetable-modal-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;display:grid}@media (max-width:640px){.timetable-modal-grid{grid-template-columns:1fr;gap:12px;margin-bottom:12px}}.directory-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:0;display:flex}@media (max-width:480px){.directory-header-row{flex-direction:column;align-items:stretch;gap:12px}.directory-header-actions{gap:var(--so-space-2);flex-flow:wrap;width:100%;display:flex}.directory-header-actions .btn{justify-content:center;width:auto}}.compact-directory-page{gap:16px}.compact-directory-page .directory-header-row,.compact-directory-page .principal-page-heading{margin-bottom:0}.compact-kpi-grid,.compact-kpi-grid.admissions-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;min-width:0;display:grid}.compact-kpi-grid .metric{border-color:#e2e8f0;border-radius:10px;min-width:0;padding:12px 14px;box-shadow:0 1px 2px #0f172a0a}.compact-kpi-grid .metric small{line-height:1.35}.compact-directory-panel{min-width:0}.compact-directory-tabs .btn{min-height:36px;padding:8px 12px}.compact-exam-heading .results-hero-card span,.fee-overview .fee-secondary-metrics{gap:8px}.fee-overview .fee-secondary-metrics article{min-height:0;padding:10px 12px}.student-360 .student360-kpis .metric strong{font-size:var(--so-size-kpi);overflow-wrap:anywhere}.student-360 .schoolos-risk-summary{padding:14px 16px}.student-360 .schoolos-risk-summary>p{margin:6px 0 0}.student-360 .risk-evidence-grid{gap:8px;margin-top:10px}.student-360 .risk-evidence-grid>div{box-shadow:none;border-radius:10px;padding:10px 12px}.student-360 .risk-evidence-grid>div>strong{margin-bottom:4px}.student-360 .risk-evidence-grid ul{line-height:1.45}.student-360 .premium-grid-2>.premium-panel{padding:14px}.student-360 .attendance-timeline,.student-360 .student-action-list{gap:6px;margin-top:10px}.student-360 .attendance-timeline article,.student-360 .student-action-list article{border-radius:10px;padding:9px 11px}.student-360 .student-action-list article>div{gap:3px}.student-360 .student-action-list p{line-height:1.35}.student-360 .student-activity-list article{padding-block:9px}.class-diary-overview .diary-entry-details{grid-template-columns:minmax(0,1fr)!important;gap:0!important;margin-top:0!important}.class-diary-overview .diary-entry-summary{grid-template-columns:150px minmax(0,1fr);align-items:start;gap:12px;display:grid;background:0 0!important;border:0!important;border-top:1px solid #e2e8f0!important;border-radius:0!important;padding:8px 0!important}@media (max-width:760px){.compact-kpi-grid,.compact-kpi-grid.admissions-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-directory-page .premium-panel{padding:14px}}@media (max-width:420px){.compact-kpi-grid{grid-template-columns:minmax(0,1fr)}.compact-directory-tabs{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}}.erp-table-wrap{-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow-x:auto}.erp-table{min-width:620px}.erp-table.is-narrow{min-width:0}:is(body:has(.modal-backdrop) .global-ai-launcher,body:has(.mobile-nav-drawer-open) .global-ai-launcher){display:none!important}@media (max-width:768px){.global-ai-launcher{gap:6px;height:38px;padding:0 12px;font-size:12px;bottom:16px;right:16px;box-shadow:0 4px 12px #1d4ed866}}.overview-attendance-trend-section{margin:16px 0 24px}.overview-attendance-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px 22px;box-shadow:0 1px 3px #0f172a0a}.overview-attendance-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.overview-attendance-header-left{flex:1;min-width:240px}.overview-attendance-title{color:#0f172a;margin:3px 0 2px;font-size:16px;font-weight:700}.overview-attendance-subtitle{color:var(--so-text-muted);margin:0;font-size:12px;line-height:1.4}.overview-attendance-summary-badge{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;flex-direction:column;flex-shrink:0;align-items:flex-end;padding:6px 12px;display:flex}.overview-attendance-summary-badge .summary-badge-label{color:#166534;text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:700}.overview-attendance-summary-badge .summary-badge-main{align-items:baseline;gap:6px;display:flex}.overview-attendance-summary-badge .summary-badge-value{color:#15803d;font-size:20px;font-weight:700;line-height:1.1}.overview-attendance-summary-badge .summary-badge-sub{color:#15803d;font-size:11px;font-weight:600}.overview-attendance-chart-container{background:#fafbfc;border:1px solid #f1f5f9;border-radius:10px;width:100%;margin:4px 0 14px;padding:6px 4px 4px}.overview-attendance-chart-svg{width:100%;height:auto;max-height:125px;display:block}.overview-attendance-empty{color:var(--so-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:28px 16px;font-size:13px;display:flex}.overview-attendance-footer-strip{border-top:1px solid #f1f5f9;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:center;gap:16px;padding-top:14px;display:grid}.footer-stat-cell{align-items:center;gap:10px;min-width:0;display:flex}.footer-stat-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.footer-stat-info{flex-direction:column;gap:1px;min-width:0;display:flex}.footer-stat-label{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:700}.footer-stat-value{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.footer-stat-detail{color:var(--so-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.footer-stat-action{flex-shrink:0}@media (max-width:768px){.overview-attendance-footer-strip{gap:12px;grid-template-columns:1fr!important}.overview-attendance-header{flex-direction:column!important;align-items:flex-start!important}.overview-attendance-summary-badge{align-items:flex-start!important}}.student-row-actions{vertical-align:middle;align-items:center;gap:8px;display:inline-flex}.student-quick-view-btn{width:44px;min-width:44px;height:44px;min-height:44px;color:var(--so-text-muted);cursor:pointer;box-sizing:border-box;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s,background-color .15s;display:inline-flex;position:relative}.student-quick-view-icon{flex-shrink:0;width:16px;height:16px}.student-quick-view-btn:hover{color:#0f172a;background:#f1f5f9b3}.student-quick-view-btn:focus-visible{outline-offset:2px;color:#0f172a;outline:2px solid #2563eb}.student-quick-view-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);background:#0f172a99;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out quickViewFadeIn;display:flex;position:fixed;inset:0}.student-quick-view-dialog{color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;width:100%;max-width:520px;max-height:90vh;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.student-quick-view-drag-handle{display:none}.student-quick-view-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:flex-start;padding:20px 24px 16px;display:flex}.student-quick-view-header-content{align-items:center;gap:14px;display:flex}.student-quick-view-close-btn{cursor:pointer;width:36px;height:36px;color:var(--so-text-muted);background:#f1f5f9;border:1px solid #e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.student-quick-view-close-btn:hover{color:#0f172a;background:#e2e8f0}.student-quick-view-close-btn:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.student-quick-view-body{flex-direction:column;gap:16px;padding-block:20px;display:flex}.quick-view-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px}.quick-view-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--so-text-muted);align-items:center;gap:6px;margin-bottom:10px;font-size:11px;font-weight:700;display:flex}.quick-view-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.quick-view-field{flex-direction:column;gap:2px;display:flex}.quick-view-label{color:var(--so-text-muted);font-size:12px;font-weight:500}.quick-view-value{color:#0f172a;font-size:14px;font-weight:600}.quick-view-privacy-notice{color:var(--so-text-muted);background:#f1f5f9;border-left:3px solid #94a3b8;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-size:12px;display:flex}.student-quick-view-footer{background:#f8fafc;border-top:1px solid #f1f5f9;justify-content:flex-end;align-items:center;gap:10px;padding:14px 24px;display:flex}.quick-view-state-box{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px 24px;display:flex}.quick-view-icon-badge{border-radius:10px;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.quick-view-icon-badge.tone-rose{color:#e11d48;background:#ffe4e6}.quick-view-icon-badge.tone-warn{color:#d97706;background:#fef3c7}.quick-view-spinner{color:#2563eb;animation:1s linear infinite spin}@media (max-width:768px){.student-quick-view-overlay{align-items:flex-end;padding:0}.student-quick-view-dialog{border-bottom:none;border-radius:14px 14px 0 0;max-width:100%;max-height:85vh;animation:.25s cubic-bezier(.16,1,.3,1) quickViewSlideUp}.student-quick-view-drag-handle{background:#cbd5e1;border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:10px auto 4px;display:block}.quick-view-grid{grid-template-columns:1fr}.student-quick-view-footer{flex-direction:column-reverse;gap:8px}.student-quick-view-footer .btn{justify-content:center;width:100%}}@keyframes quickViewFadeIn{0%{opacity:0}to{opacity:1}}@keyframes quickViewSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.card-aurora.attendance-overview-hero,.card-aurora.fee-overview-hero,.card-aurora.fee-recovery-hero,.card-aurora.fee-account-hero,.card-aurora.voucher-generator-hero,.card-aurora.results-hero,.card-aurora.teacher-register-hero,.card-aurora.admissions-hero,.card-aurora.admission-detail-hero,.card-aurora.action-hero,.card-aurora.intelligence-hero,.card-aurora.module-hero,.card-aurora.reports-hero,.card-aurora.finance-hero{background:var(--so-surface);color:var(--so-text);border:1px solid var(--so-border);border-radius:var(--so-radius-lg);padding:var(--so-space-4);box-shadow:var(--so-shadow-sm);min-height:0}.portal-hero.card-aurora{background:#14213a;border-radius:14px;min-height:0;padding:20px 24px;box-shadow:0 2px 10px #0f172a1a}.card-aurora.attendance-overview-hero:after,.card-aurora.fee-overview-hero:after,.card-aurora.fee-recovery-hero:after,.card-aurora.fee-account-hero:after,.card-aurora.voucher-generator-hero:after,.card-aurora.results-hero:after,.card-aurora.teacher-register-hero:after,.card-aurora.admissions-hero:after,.card-aurora.admission-detail-hero:after,.card-aurora.action-hero:after,.card-aurora.intelligence-hero:after,.card-aurora.module-hero:after,.card-aurora.reports-hero:after,.card-aurora.finance-hero:after,.portal-hero.card-aurora:after{content:"";filter:none;background:#6366f124;border-radius:50%;width:240px;height:240px;position:absolute;inset:-80px -60px auto auto;transform:none}@media (min-width:981px){.attendance-overview-hero,.calendar-overview-hero,.class-diary-hero,.admissions-crm-hero,.fee-overview-hero,.fee-recovery-hero,.fee-account-hero,.voucher-generator-hero,.results-hero,.teacher-register-hero,.portal-hero,.admissions-hero,.intelligence-hero,.action-hero,.module-hero,.communications-hero,.finance-hero,.reports-hero{align-content:start;height:auto;min-height:0;padding:20px 24px}}.attendance-overview-hero h1,.attendance-overview-hero h2,.calendar-overview-hero h1,.calendar-overview-hero h2,.class-diary-hero h1,.class-diary-hero h2,.admissions-crm-hero h1,.admissions-crm-hero h2,.fee-overview-hero h1,.fee-overview-hero h2,.fee-recovery-hero h1,.fee-recovery-hero h2,.fee-account-hero h1,.fee-account-hero h2,.voucher-generator-hero h1,.voucher-generator-hero h2,.results-hero h1,.results-hero h2,.teacher-register-hero h1,.teacher-register-hero h2,.admissions-hero h1,.admissions-hero h2,.communications-hero h1,.communications-hero h2,.action-hero h1,.action-hero h2,.intelligence-hero h1,.intelligence-hero h2,.module-hero h1,.module-hero h2,.portal-hero h1,.portal-hero h2,.finance-hero h1,.finance-hero h2,.reports-hero h1,.reports-hero h2{font-weight:600;letter-spacing:-.03em!important;margin:6px 0!important;font-size:20px!important;line-height:1.2!important}.attendance-overview-hero p,.calendar-overview-hero p,.class-diary-hero p,.admissions-crm-hero p,.fee-overview-hero p,.fee-recovery-hero p,.fee-account-hero p,.voucher-generator-hero p,.results-hero p,.teacher-register-hero p,.admissions-hero p,.action-hero p,.intelligence-hero p,.module-hero p,.communications-hero p,.finance-hero p,.reports-hero p{color:var(--so-text-muted);max-width:680px!important;margin:0!important;font-size:12px!important;line-height:1.5!important}.attendance-overview-hero .premium-kicker,.calendar-overview-hero .premium-kicker,.class-diary-hero .premium-kicker,.admissions-crm-hero .premium-kicker,.fee-overview-hero .premium-kicker,.fee-recovery-hero .premium-kicker,.fee-account-hero .premium-kicker,.voucher-generator-hero .premium-kicker,.results-hero .premium-kicker,.teacher-register-hero .premium-kicker,.admissions-hero .premium-kicker,.action-hero .premium-kicker,.intelligence-hero .premium-kicker,.module-hero .premium-kicker,.finance-hero .premium-kicker,.reports-hero .premium-kicker{color:var(--so-text-muted);letter-spacing:.08em!important;margin-bottom:0!important;font-size:10px!important;font-weight:500!important}.attendance-overview-hero .hero-actions .btn,.fee-overview-hero .hero-actions .btn,.fee-recovery-hero .hero-actions .btn,.results-hero .hero-actions .btn,.teacher-register-hero .hero-actions .btn,.admissions-hero .hero-actions .btn,.action-hero .hero-actions .btn,.intelligence-hero .hero-actions .btn,.module-hero .hero-actions .btn{border-radius:8px;min-height:32px;padding:6px 14px;font-size:12px;font-weight:500}.attendance-overview-hero .hero-actions,.fee-overview-hero .hero-actions,.fee-recovery-hero .hero-actions,.results-hero .hero-actions,.teacher-register-hero .hero-actions,.admissions-hero .hero-actions,.action-hero .hero-actions,.intelligence-hero .hero-actions,.module-hero .hero-actions{gap:10px!important;margin-top:14px!important}@media (min-width:861px){.card-aurora .principal-health-card{border-radius:10px;gap:6px;width:260px;height:auto;padding:12px 14px}}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-width:0;display:grid}.kpi-grid.kpi-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.kpi-grid.kpi-grid-6{grid-template-columns:repeat(6,minmax(0,1fr))}.kpi-card{color:inherit;background:#fff;border:1px solid #e2e8f0;border-radius:10px;min-width:0;padding:13px 14px;text-decoration:none;display:block;box-shadow:0 2px 8px #0f172a09}a.kpi-card:hover,.kpi-card.is-interactive:hover{border-color:#a5b4fc;box-shadow:0 4px 12px #2563eb14}.kpi-card-label{color:var(--so-text-muted);justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-weight:400;line-height:1.3;display:flex}.kpi-card-value{font-size:var(--so-size-kpi);letter-spacing:-.025em;color:#0f172a;margin-top:8px;font-weight:500;line-height:1;display:block}.kpi-card-detail{color:var(--so-text-muted);margin-top:7px;font-size:11px;font-weight:400;line-height:1.35;display:block}.kpi-card-icon{border-radius:6px;flex-shrink:0;place-items:center;width:24px;height:24px;display:grid}.kpi-card-icon.blue{color:#2563eb;background:#eff6ff}.kpi-card-icon.green{color:#059669;background:#ecfdf5}.kpi-card-icon.red{color:#dc2626;background:#fef2f2}.kpi-card-icon.orange{color:#d97706;background:#fff7ed}.kpi-card-icon.violet{color:#7c3aed;background:#f5f3ff}.kpi-card-icon.slate{color:#475569;background:#f1f5f9}.attendance-stat-grid{gap:12px}.attendance-stat{background:#fff;border:1px solid #e2e8f0;border-radius:10px;gap:8px;padding:13px 14px;box-shadow:0 2px 8px #0f172a09}.attendance-stat svg{width:16px;height:16px}.attendance-stat span{color:var(--so-text-muted);font-size:var(--so-size-caption);font-weight:700}.attendance-stat strong{color:#0f172a;font-size:var(--so-size-kpi);letter-spacing:-.025em;line-height:1}.compact-kpi-grid .metric,.premium-metrics .premium-metric{border-color:#e2e8f0;border-radius:10px;padding:13px 14px;box-shadow:0 2px 8px #0f172a09}.compact-kpi-grid .metric strong{font-size:var(--so-size-kpi)}.premium-metrics .premium-metric.tone-blue,.premium-metrics .premium-metric.tone-emerald,.premium-metrics .premium-metric.tone-amber,.premium-metrics .premium-metric.tone-violet,.premium-metrics .premium-metric.tone-rose,.premium-metrics .premium-metric.tone-neutral{color:inherit;background:#fff}.premium-metrics .premium-metric .metric-icon{width:24px;height:24px;box-shadow:none;border:0;border-radius:6px;margin-bottom:8px}.premium-metrics .premium-metric .metric-icon svg{width:14px;height:14px}.premium-metrics .premium-metric span{color:var(--so-text-muted);font-size:11px;font-weight:700}.premium-metrics .premium-metric strong{letter-spacing:-.025em;color:#0f172a;margin:8px 0 0;font-size:21px}.premium-metrics .premium-metric small{color:var(--so-text-muted);margin-top:7px;font-size:11px;font-weight:500;display:block}.kpi-grid>*,.attendance-stat-grid>*,.compact-kpi-grid>*,.premium-metrics>*{height:100%}@media (max-width:1180px){.kpi-grid.kpi-grid-6,.attendance-stat-grid,.kpi-grid.kpi-grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:860px){.kpi-grid,.kpi-grid.kpi-grid-5,.kpi-grid.kpi-grid-6,.attendance-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.kpi-grid,.kpi-grid.kpi-grid-5,.kpi-grid.kpi-grid-6,.attendance-stat-grid{grid-template-columns:minmax(0,1fr)}}.card-aurora .command-breadcrumb{color:var(--so-text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:0;font-size:10px;font-weight:700}.card-aurora .command-breadcrumb span{color:#a5b4fc8c}.fee-secondary-metrics article{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:13px 14px;box-shadow:0 2px 8px #0f172a09}.fee-secondary-metrics svg{width:16px;height:16px}.fee-secondary-metrics span{color:var(--so-text-muted);font-size:11px;font-weight:700}.fee-secondary-metrics strong{letter-spacing:-.025em;color:#0f172a;margin-top:6px;font-size:21px}.call-today-panel{background:#f59e0b0a;border-left:3px solid #f59e0b;margin-bottom:14px;padding:14px 16px}.call-today-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.call-today-title{color:#b45309;align-items:center;gap:7px;font-size:14px;font-weight:700;display:inline-flex}.call-today-copy{color:#475569;margin:3px 0 0;font-size:12px;line-height:1.45}.call-today-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin-top:12px;display:grid}.call-today-card{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:#fff;border:1px solid #fed7aa;border-radius:10px;gap:4px;padding:10px 12px;display:grid}.call-today-card:hover{border-color:#f59e0b;box-shadow:0 2px 8px #f59e0b24}.call-today-card:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.call-today-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.call-today-card-top strong{letter-spacing:-.01em;font-size:13px}.call-today-card-guardian{color:var(--so-text-muted);font-size:12px;line-height:1.4}.call-today-card-guardian svg{vertical-align:-1px;margin-left:2px;display:inline}.call-today-card-class{color:#b45309;font-size:12px;font-weight:700}.card-aurora.admissions-hero{align-items:start}.card-aurora.admissions-hero .hero-actions{justify-content:flex-end;margin-top:0!important}.card-aurora.admissions-hero .role-metrics{margin-top:12px}@media (max-width:680px){.card-aurora.admissions-hero .hero-actions{justify-content:flex-start}}.action-layout{grid-template-columns:minmax(0,1.35fr) minmax(320px,400px);align-items:stretch;gap:16px}.action-queue-panel{flex-direction:column;min-width:0;max-height:calc(100vh - 132px);padding:14px 16px;display:flex}.action-queue-panel>h2{letter-spacing:-.02em;margin:4px 0 0;font-size:16px}.action-table-wrap{overscroll-behavior:contain;border-radius:10px;flex:auto;min-height:220px;margin-top:12px;overflow:auto}.action-queue-table{font-size:12px}.action-queue-table thead th{z-index:2;padding:8px 10px;font-size:10px;position:sticky;top:0}.action-queue-table td{vertical-align:middle;padding:9px 10px}.action-issue-title{font-size:12px;font-weight:700;line-height:1.35}.action-context-cell{font-size:12px}.action-entity-label{font-size:12px;line-height:1.35}.action-due-date{font-size:11px}.action-priority-cell .status,.action-status-cell .status{padding:3px 7px;font-size:10px}.action-table-buttons{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.action-table-buttons>*{white-space:nowrap;border-radius:6px;min-height:26px;padding:3px 8px;font-size:11px}.action-detail-panel{overscroll-behavior:contain;min-width:0;max-height:calc(100vh - 132px);padding:14px 16px;position:sticky;top:72px;overflow-y:auto}.action-detail-heading h2{letter-spacing:-.02em;margin:6px 0 3px;font-size:16px}.action-detail-heading p{font-size:12px;font-weight:700}.action-detail-meta{gap:8px;margin:14px 0}.action-detail-meta span{font-size:12px}.action-detail-actions{gap:6px;margin-top:14px}.action-detail-actions .btn{border-radius:8px;min-height:30px;padding:5px 10px;font-size:11px}.action-detail-panel .action-evidence p,.action-detail-panel .action-recommendation p{font-size:12px;line-height:1.5}.action-center-empty{min-height:180px;padding:24px}.action-view-tabs{margin:14px 0 12px}@media (max-width:1100px){.action-layout{grid-template-columns:minmax(0,1fr);gap:14px}.action-queue-panel,.action-detail-panel{max-height:none;position:static;overflow:visible}.action-table-wrap{min-height:0;max-height:none;overflow-y:visible}.action-queue-table thead th{position:static}}.intelligence-workspace{gap:14px;min-width:0;display:grid}.chatbot-shell{background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;min-width:0;display:flex;overflow:hidden;box-shadow:0 2px 10px #0f172a0d}.chatbot-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;align-items:center;gap:10px;padding:12px 16px;display:flex}.chatbot-avatar{color:#a5b4fc;background:#14213a;border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.chatbot-identity{flex-direction:column;gap:1px;min-width:0;display:flex}.chatbot-identity strong{letter-spacing:-.02em;color:#0f172a;font-size:14px}.chatbot-identity span{color:var(--so-text-muted);font-size:11px;line-height:1.35}.chatbot-status{color:#047857;white-space:nowrap;background:#ecfdf5;border-radius:999px;align-items:center;gap:5px;margin-left:auto;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.chatbot-thread{overscroll-behavior:contain;background:#fbfcfe;flex-direction:column;gap:12px;min-height:280px;max-height:calc(100vh - 380px);padding:16px;display:flex;overflow-y:auto}.chat-empty{text-align:center;color:var(--so-text-muted);justify-items:center;gap:6px;margin:auto;padding:24px 16px;display:grid}.chat-empty-icon{color:#4f46e5;background:#eef2ff;border-radius:10px;place-items:center;width:44px;height:44px;display:grid}.chat-empty strong{color:#0f172a;font-size:14px}.chat-empty p{max-width:380px;margin:0;font-size:12px;line-height:1.5}.chat-message{align-items:flex-start;gap:8px;max-width:100%;display:flex}.chat-message-assistant{justify-content:flex-start}.chat-message-user{justify-content:flex-end}.chat-avatar{color:#4f46e5;background:#eef2ff;border-radius:8px;flex-shrink:0;place-items:center;width:26px;height:26px;display:grid}.chat-message-user .chat-avatar{color:#475569;background:#e2e8f0}.chat-bubble{color:#0f172a;overflow-wrap:break-word;border-radius:10px;max-width:min(680px,78%);padding:10px 13px;font-size:12px;line-height:1.55}.chat-message-assistant .chat-bubble{background:#fff;border:1px solid #e2e8f0;border-top-left-radius:4px}.chat-message-user .chat-bubble{color:#fff;background:#14213a;border-top-right-radius:4px;font-weight:600}.chat-bubble p{color:#334155;margin:4px 0 0;font-size:12px;line-height:1.55}.chat-bubble-headline{letter-spacing:-.02em;color:#0f172a;font-size:14px;line-height:1.35;display:block}.chat-answer-label{color:#047857;letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:5px;margin-bottom:5px;font-size:10px;font-weight:700;display:inline-flex}.chat-bubble-error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.chat-actions{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.chat-action-link{color:#1d4ed8;background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;align-items:center;padding:5px 10px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.chat-action-link:hover{background:#dbeafe;border-color:#93c5fd}.chat-bubble-pending{padding:12px 14px}.chat-typing{gap:4px;display:inline-flex}.chat-typing i{background:#94a3b8;border-radius:50%;width:6px;height:6px;animation:1.1s ease-in-out infinite chat-typing-bounce}.chat-typing i:nth-child(2){animation-delay:.15s}.chat-typing i:nth-child(3){animation-delay:.3s}@keyframes chat-typing-bounce{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.chat-typing i{opacity:.6;animation:none}}.chatbot-suggestions{background:#fff;border-top:1px solid #e2e8f0;flex-wrap:wrap;gap:7px;padding:10px 16px;display:flex}.chat-suggestion{color:#334155;cursor:pointer;text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:6px 11px;font-size:12px;font-weight:600}.chat-suggestion:hover:not(:disabled){color:#3730a3;background:#eef2ff;border-color:#a5b4fc}.chat-suggestion:disabled{opacity:.5;cursor:default}.chatbot-composer{background:#fff;border-top:1px solid #e2e8f0;align-items:center;gap:8px;padding:12px 16px;display:flex}.chatbot-composer input{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;flex:auto;min-width:0;padding:9px 12px;font-size:12px}.chatbot-composer input:focus-visible{outline-offset:1px;border-color:#2563eb;outline:2px solid #2563eb}.chat-send{color:#fff;cursor:pointer;white-space:nowrap;background:#2563eb;border:0;border-radius:8px;align-items:center;gap:6px;padding:9px 15px;font-size:12px;font-weight:700;display:inline-flex}.chat-send:hover:not(:disabled){background:#1d4ed8}.chat-send:disabled{opacity:.45;cursor:default}.ai-boundary-disclosure{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:0}.ai-boundary-disclosure>summary{cursor:pointer;flex-direction:column;gap:2px;padding:11px 16px;list-style:none;display:flex}.ai-boundary-disclosure>summary::-webkit-details-marker{display:none}.ai-boundary-disclosure>summary:focus-visible{outline-offset:-2px;border-radius:10px;outline:2px solid #2563eb}.ai-boundary-disclosure>summary .premium-kicker{color:#4f46e5;letter-spacing:.08em;font-size:10px}.ai-boundary-summary-title{color:#0f172a;font-size:12px;font-weight:700}.ai-boundary-disclosure[open]>summary{border-bottom:1px solid #e2e8f0}.ai-boundary-disclosure .trust-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;padding:14px 16px;display:grid}.ai-boundary-disclosure .trust-list article{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.ai-boundary-disclosure .trust-list strong{color:#0f172a;font-size:12px;display:block}.ai-boundary-disclosure .trust-list p{color:#64748b;margin:3px 0 0;font-size:12px;line-height:1.45}.ai-boundary-disclosure .trust-list svg{color:#059669;flex-shrink:0;width:16px;height:16px}@media (max-width:860px){.chatbot-thread{max-height:calc(100vh - 320px);padding:12px}.chat-bubble{max-width:88%}.chatbot-composer{padding:10px 12px}.chatbot-suggestions{padding:9px 12px}}.action-actions-cell{width:196px}.action-table-buttons>*{letter-spacing:0;flex:0 auto;gap:4px}.action-table-buttons svg{width:12px;height:12px}@media screen and (max-width:767px){.action-table-wrap{margin-top:var(--so-space-3);background:0 0;border:0;overflow-x:hidden}table.so-cards>tbody>tr.action-table-row.active-row{border-color:var(--so-primary);background:var(--so-primary-soft)}}.data-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;margin:14px 0 0;padding:0;display:grid}.data-list.data-list-1{grid-template-columns:minmax(0,1fr)}.data-list.data-list-3{grid-template-columns:repeat(3,minmax(0,1fr))}.data-row{background:#f8fafc;border:1px solid #e2e8f0f2;border-radius:10px;flex-direction:row;justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:10px 14px;display:flex;box-shadow:0 1px 2px #0f172a05}.data-row-wide{grid-column:1/-1}.data-row dt,.data-row .data-row-label{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;margin:0;font-size:11px;font-weight:700}.data-row dd,.data-row .data-row-value{color:#0f172a;text-align:right;overflow-wrap:anywhere;word-break:normal;min-width:0;margin:0;font-size:clamp(13px,1.05vw,15px);font-weight:700;line-height:1.45;display:block}.data-row dd.is-numeric,.data-row .data-row-value.is-numeric{white-space:nowrap;font-variant-numeric:tabular-nums}.data-row dd .status{font-weight:700}@media (max-width:990px){.data-list,.data-list.data-list-3{grid-template-columns:minmax(0,1fr)}}@media (max-width:560px){.data-row{flex-direction:column;align-items:flex-start;gap:4px}.data-row dd,.data-row .data-row-value{text-align:left}}.btn.btn-compact-cta,.page-cta .btn{white-space:nowrap;border-radius:8px;gap:7px;min-height:34px;padding:7px 14px;font-size:12px;font-weight:700;line-height:1.2}.btn.btn-compact-cta svg,.page-cta .btn svg{width:15px;height:15px}.state-toggle{cursor:pointer;font:inherit;color:#475569;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:inline-flex}.state-toggle:focus-visible{outline-offset:3px;border-radius:6px;outline:2px solid #2563eb}.state-toggle-track{background:#cbd5e1;border-radius:999px;flex-shrink:0;width:34px;height:19px;transition:background-color .16s;position:relative}.state-toggle-track:after{content:"";background:#fff;border-radius:50%;width:15px;height:15px;transition:transform .16s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0f172a40}.state-toggle[aria-checked=true] .state-toggle-track{background:#059669}.state-toggle[aria-checked=true] .state-toggle-track:after{transform:translate(15px)}.state-toggle-label{letter-spacing:.03em;text-transform:uppercase;color:var(--so-text-muted);white-space:nowrap;font-size:11px;font-weight:700}.state-toggle[aria-checked=true] .state-toggle-label{color:#047857}@media (prefers-reduced-motion:reduce){.state-toggle-track,.state-toggle-track:after{transition:none}}.state-toggle[data-state=on] .state-toggle-track{background:#059669}.state-toggle[data-state=on] .state-toggle-track:after{transform:translate(15px)}.state-toggle[data-state=on] .state-toggle-label{color:#047857}.erp-table .state-toggle .state-toggle-label{display:none}.erp-table .state-toggle{vertical-align:middle}.class-attendance-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-top:14px;overflow-x:auto}.class-attendance-table{border-collapse:separate;border-spacing:0;width:100%;min-width:0;font-size:12px}.class-attendance-table thead th{z-index:1;color:#475569;text-transform:uppercase;letter-spacing:.04em;text-align:left;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:7px 8px;font-size:10px;font-weight:500;position:sticky;top:0}.class-attendance-table thead th.num,.class-attendance-table td.num{text-align:right}.class-attendance-table thead th.rate-col{text-align:right;width:118px}.class-attendance-table tbody th,.class-attendance-table tbody td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:7px 8px}.class-attendance-table tbody tr:last-child th,.class-attendance-table tbody tr:last-child td{border-bottom:0}.class-attendance-table tbody th{text-align:left;color:#0f172a;white-space:nowrap;font-weight:400}.class-attendance-table tbody th .status{vertical-align:middle;margin-left:7px;padding:2px 6px;font-size:10px}.class-attendance-table td.num{font-variant-numeric:tabular-nums;color:#334155;font-weight:400}.class-attendance-table tbody tr:hover{background:#f8fafc}.class-attendance-table tbody tr.is-lowest{background:#fffbeb}.class-attendance-table tbody tr.is-lowest:hover{background:#fef3c7}.class-attendance-table td.rate-col{text-align:right;white-space:nowrap;grid-template-columns:1fr auto;justify-content:end;align-items:center;gap:2px 7px;display:grid}.class-rate-bar{background:#e2e8f0;border-radius:999px;flex-shrink:0;grid-column:1;width:100%;min-width:40px;height:6px;display:block;overflow:hidden}.class-rate-bar i{border-radius:inherit;background:#2563eb;height:100%;display:block}.class-rate-bar.tone-good i{background:#059669}.class-rate-bar.tone-warn i{background:#d97706}.class-rate-bar.tone-bad i{background:#dc2626}.class-attendance-table td.rate-col strong{font-variant-numeric:tabular-nums;color:#0f172a;text-align:right;grid-column:2;min-width:0;font-size:13px;font-weight:500}.class-attendance-table td.rate-col small{min-width:0;color:var(--so-text-muted);text-align:right;grid-column:1/-1;font-size:11px;line-height:1.2}@media screen and (max-width:767px){.class-attendance-table-wrap{max-height:none}}.diary-entry-list{gap:10px;margin-top:14px;display:grid}.diary-entry{background:#fff;border:1px solid #e2e8f0;border-radius:10px;gap:8px;padding:12px 14px;display:grid;box-shadow:0 1px 3px #0f172a0a}.diary-entry-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.diary-entry-ident{flex-wrap:wrap;align-items:center;gap:7px;min-width:0;display:flex}.diary-entry-title{letter-spacing:-.01em;color:#0f172a;font-size:14px;font-weight:700}.diary-entry-meta{color:var(--so-text-muted);flex-wrap:wrap;gap:4px 16px;font-size:12px;display:flex}.diary-entry-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.diary-part{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:3px;min-width:0;padding:9px 11px;display:grid}.diary-part-label{letter-spacing:.07em;text-transform:uppercase;color:var(--so-text-muted);font-size:10px;font-weight:700}.diary-part p{color:#1e293b;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.5}@media (max-width:720px){.diary-entry-details{grid-template-columns:minmax(0,1fr)}}.provider-card-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;display:grid}.provider-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;gap:6px;min-width:0;padding:12px 14px 12px 16px;display:grid;position:relative;box-shadow:0 1px 3px #0f172a0a}.provider-card:before{content:"";background:#94a3b8;border-radius:0 3px 3px 0;width:3px;position:absolute;top:10px;bottom:10px;left:0}.provider-card.tone-green:before{background:#059669}.provider-card.tone-blue:before{background:#2563eb}.provider-card.tone-violet:before{background:#7c3aed}.provider-card.tone-amber:before{background:#d97706}.provider-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.provider-card-head strong{color:#0f172a;letter-spacing:-.01em;font-size:13px;font-weight:700}.provider-badge{letter-spacing:.05em;white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:700}.provider-badge.tone-green{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.provider-badge.tone-blue{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.provider-badge.tone-violet{color:#6d28d9;background:#f5f3ff;border:1px solid #ddd6fe}.provider-badge.tone-amber{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.provider-card p{color:#475569;margin:0;font-size:12px;line-height:1.5}.provider-card-meta code{color:#334155;overflow-wrap:anywhere;background:#f1f5f9;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:600}.fee-priority-list{gap:8px;margin-top:14px}.fee-priority-list>a{background:#fff;border-radius:10px;align-items:center;gap:14px;padding:10px 13px}.fee-priority-list>a:hover{background:#f8fafc}.fee-priority-list .status{padding:2px 7px;font-size:10px}.fee-priority-list small{font-size:11px;font-weight:700}.principal-content-grid{align-items:start}.principal-brief-card{align-self:start}.principal-brief-copy{margin:12px 0 0}.principal-brief-card .btn{margin-top:14px}.command-panel.workspace-panel{align-self:start}@media (min-width:981px){.sidebar{overscroll-behavior:contain;overflow:hidden}.sidebar nav{overscroll-behavior:contain;scrollbar-width:thin;flex:auto;min-height:0;overflow-y:auto}}.student-fee-grid{gap:10px;margin:14px 0}.student-fee-grid>div{background:#fff;border:1px solid #e2e8f0;border-radius:10px;min-width:0;padding:11px 13px;box-shadow:0 1px 3px #0f172a09}.student-fee-grid span{letter-spacing:.05em;font-size:10px;font-weight:700}.student-fee-grid strong{letter-spacing:-.025em;color:#0f172a;overflow-wrap:anywhere;margin:7px 0 2px;font-size:18px}.student-fee-grid small{font-size:11px;line-height:1.35}@media (max-width:1100px){.student-fee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.student-fee-grid{grid-template-columns:minmax(0,1fr)}}@media (min-width:981px){.schoolos-shell .premium-main{padding-bottom:112px}}.dashboard-viz-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0;display:grid}.viz-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:12px;min-width:0;padding:14px 16px;display:flex;box-shadow:0 2px 8px #0f172a09}.viz-card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.viz-card-head h3{letter-spacing:-.02em;color:#0f172a;margin:0;font-size:15px;font-weight:600}.viz-card-head p{color:var(--so-text-muted);margin:2px 0 0;font-size:11px;font-weight:400}.viz-badge{white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:500}.viz-badge.tone-green{color:#047857;background:#ecfdf5}.viz-badge.tone-indigo{color:#4338ca;background:#eef2ff}.viz-donut-row{align-items:center;gap:var(--so-space-4);flex-wrap:wrap;display:flex}.viz-donut{width:var(--perf-donut-size,168px);height:var(--perf-donut-size,168px);flex:none;position:relative}.viz-donut svg{width:100%;height:100%;display:block}.viz-donut-center{text-align:center;pointer-events:none;place-content:center;display:grid;position:absolute;inset:0}.viz-donut-center strong{letter-spacing:-.035em;color:#0f172a;font-variant-numeric:tabular-nums;font-size:28px;font-weight:500;line-height:1;display:block}.viz-donut-center span{color:var(--so-text-muted);margin-top:3px;font-size:11px;font-weight:400;display:block}.viz-legend{flex:180px;gap:10px;min-width:0;margin:0;display:grid}.viz-legend-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.viz-legend-row dt{color:#334155;align-items:center;gap:8px;margin:0;font-size:12px;font-weight:400;display:inline-flex}.viz-legend-row dd{font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-size:12px;font-weight:500}.viz-legend-row dd small{color:var(--so-text-muted);margin-left:7px;font-size:11px;font-weight:400}.viz-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;display:inline-block}.viz-total-row{align-items:center;gap:12px;display:flex}.viz-total-icon{color:#4338ca;background:#eef2ff;border-radius:8px;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid}.viz-total-row strong{letter-spacing:-.035em;color:#0f172a;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:26px;font-weight:500;line-height:1.05;display:block}.viz-total-row small{color:var(--so-text-muted);margin-top:2px;font-size:11px;font-weight:500;display:block}.viz-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.viz-split-cell{border:1px solid #0000;border-radius:8px;gap:7px;min-width:0;padding:11px 13px;display:grid}.viz-split-cell.tone-green{background:#ecfdf5;border-color:#a7f3d0}.viz-split-cell.tone-red{background:#fef2f2;border-color:#fecaca}.viz-split-cell strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;align-items:center;gap:8px;font-size:16px;font-weight:500;display:inline-flex}.viz-split-cell.tone-green strong{color:#047857}.viz-split-cell.tone-red strong{color:#b91c1c}.viz-split-foot{justify-content:space-between;align-items:baseline;gap:10px;font-size:12px;display:flex}.viz-split-foot span{font-weight:400}.viz-split-foot em{font-variant-numeric:tabular-nums;font-style:normal;font-weight:500}.viz-split-cell.tone-green .viz-split-foot{color:#047857}.viz-split-cell.tone-red .viz-split-foot{color:#b91c1c}.viz-context{border-radius:8px;align-items:flex-start;gap:9px;margin-top:auto;padding:10px 12px;display:flex}.viz-context.tone-green{background:#ecfdf5}.viz-context.tone-indigo{background:#eef2ff}.viz-context .viz-dot{margin-top:5px}.viz-context strong{color:#0f172a;font-size:12px;font-weight:500;line-height:1.35;display:block}.viz-context small{color:#475569;margin-top:2px;font-size:11px;font-weight:400;line-height:1.4;display:block}.viz-unavailable{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;justify-items:start;gap:5px;padding:16px;display:grid}.viz-unavailable strong{color:#334155;font-size:13px;font-weight:500}.viz-unavailable p{color:var(--so-text-muted);max-width:44ch;margin:0;font-size:12px;line-height:1.5}.viz-link{color:#2563eb;align-items:center;gap:5px;margin-top:5px;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex}.viz-link:hover{text-decoration:underline}@media (max-width:1100px){.dashboard-viz-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:560px){:root{--perf-donut-size:148px}.viz-donut-row,.perf-donut-row{gap:var(--so-space-3);justify-content:center}.viz-donut,.perf-donut{width:var(--perf-donut-size,148px);height:var(--perf-donut-size,148px)}.viz-legend,.perf-legend{flex-basis:100%}.perf-gender-total{justify-content:center}.perf-bars{flex-basis:100%}.viz-split{grid-template-columns:minmax(0,1fr)}.viz-total-row strong{font-size:22px}}.card-aurora.student-profile-hero{background:var(--so-surface);box-shadow:var(--so-shadow-sm);border-radius:14px;align-items:start;min-height:0;padding:20px 24px}.card-aurora.student-profile-hero:after{content:"";filter:none;background:#6366f124;border-radius:50%;width:240px;height:240px;position:absolute;inset:-80px -60px auto auto;transform:none}.card-aurora.student-profile-hero .premium-kicker{color:var(--so-text-muted);letter-spacing:.08em;margin-bottom:0;font-size:10px;font-weight:700}.card-aurora.student-profile-hero h1{letter-spacing:-.03em;margin:6px 0;font-size:20px;line-height:1.2}.card-aurora.student-profile-hero p{color:var(--so-text-muted);margin:0;font-size:12px;line-height:1.5}.card-aurora.student-profile-hero .role-metrics{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.card-aurora.student-profile-hero .role-metrics span{background:var(--so-surface-sunken);border:1px solid var(--so-border);color:var(--so-text-secondary);border-radius:8px;padding:4px 10px;font-size:12px;font-weight:700;line-height:1.25}.card-aurora.student-profile-hero>.status,.card-aurora.student-profile-hero .status{white-space:nowrap;place-self:start end;font-size:11px;font-weight:700}.card-aurora.student-profile-hero .btn{white-space:nowrap;border-radius:8px;gap:6px;min-height:32px;padding:6px 12px;font-size:12px;font-weight:700}.card-aurora.student-profile-hero .btn-secondary{background:var(--so-surface-sunken);color:var(--so-text);border-color:var(--so-border)}.card-aurora.student-profile-hero .btn-secondary:hover{border-color:var(--so-border);background:#e0e7ff}@media (min-width:981px){.student-profile-hero{align-content:start;height:auto;min-height:0;padding:20px 24px}}@media (max-width:680px){.card-aurora.student-profile-hero{padding:16px}.card-aurora.student-profile-hero>.status,.card-aurora.student-profile-hero .status{justify-self:start}.card-aurora.student-profile-hero .btn{flex:calc(50% - 8px);justify-content:center}.card-aurora.student-profile-hero .so-menu-wrap{flex:calc(50% - 8px)}.card-aurora.student-profile-hero .so-menu-end{left:0;right:auto}}.principal-content-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;display:grid}.principal-brief-card.principal-brief-horizontal{flex-flow:wrap;align-self:auto;align-items:center;gap:10px 18px;padding:13px 16px;display:flex}.principal-brief-horizontal .command-panel-heading{flex:none;margin:0}.principal-brief-horizontal .command-panel-heading h2{letter-spacing:-.02em;margin:0;font-size:15px}.principal-brief-horizontal .command-panel-heading p{color:var(--so-text-muted);margin:2px 0 0;font-size:11px;font-weight:500}.principal-brief-horizontal .principal-brief-status{flex:none;margin:0;font-size:10px}.principal-brief-horizontal>strong{color:#0f172a;flex:none;margin:0;font-size:12px;font-weight:700}.principal-brief-horizontal .principal-brief-copy{min-width:0;color:var(--so-text-muted);flex:260px;margin:0;font-size:12px;line-height:1.45}.principal-brief-horizontal .btn{border-radius:8px;flex:none;min-height:32px;margin:0;padding:6px 14px;font-size:12px;font-weight:700}@media (max-width:720px){.principal-brief-card.principal-brief-horizontal{flex-direction:column;align-items:flex-start;gap:9px}.principal-brief-horizontal .principal-brief-copy{flex:auto}.principal-brief-horizontal .btn{justify-content:center;width:100%}}@media (min-width:1200px){.school-operations-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}}@media (max-width:1199px) and (min-width:1081px){.school-operations-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}}@media (max-width:1080px) and (min-width:681px){.school-operations-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}@media (max-width:680px){.school-operations-grid{grid-template-columns:minmax(0,1fr);gap:8px}}.school-operations-grid>.module-hub-card{flex-direction:column;min-width:0;height:100%;display:flex}.school-operations-grid>.module-hub-card .module-card-content{flex:auto;min-width:0}.school-operations-grid>.module-hub-card .module-card-footer{margin-top:auto}.subject-group-panel{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.subject-group-head{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 13px;display:flex}.subject-group-title{letter-spacing:.07em;text-transform:uppercase;color:var(--so-text-muted);font-size:10px;font-weight:700}.subject-group-count{color:var(--so-text-muted);font-size:11px;font-weight:600}.subject-row-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.subject-row{width:100%;font:inherit;text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:10px;padding:9px 13px;display:flex}.subject-row-list>.subject-row:nth-child(odd){border-right:1px solid #f1f5f9}.subject-row:hover{background:#f8fafc}.subject-row:focus-visible{outline-offset:-2px;outline:2px solid #2563eb}.subject-row.is-selected{background:#eff6ff;box-shadow:inset 3px 0 #2563eb}.subject-row-name{color:#0f172a;overflow-wrap:anywhere;min-width:0;font-size:12px;font-weight:700}.subject-row.is-selected .subject-row-name{color:#1d4ed8}.subject-row-meta{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.subject-row-meta .status{padding:2px 6px;font-size:10px}.subject-row-count{color:var(--so-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;font-weight:600}@media (max-width:720px){.subject-row-list{grid-template-columns:minmax(0,1fr)}.subject-row-list>.subject-row:nth-child(odd){border-right:0}}.action-detail-panel .action-detail-heading{border-bottom:1px solid #e2e8f0;margin-bottom:12px;padding-bottom:11px}.action-detail-panel .action-evidence,.action-detail-panel .action-recommendation{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:9px;padding:10px 12px}.action-detail-panel .action-recommendation{background:#eff6ff;border-color:#bfdbfe}.action-detail-panel .action-evidence>span,.action-detail-panel .action-recommendation>span{letter-spacing:.07em;text-transform:uppercase;color:var(--so-text-muted);margin-bottom:4px;font-size:10px;font-weight:700;display:block}.action-detail-panel .action-recommendation>span{color:#1d4ed8}.action-detail-panel .action-evidence p,.action-detail-panel .action-recommendation p{margin:0}.action-detail-panel .action-detail-meta{border:1px solid #e2e8f0;border-radius:8px;gap:0;margin:12px 0;display:grid;overflow:hidden}.action-detail-panel .action-detail-meta>span{background:#fff;border-bottom:1px solid #f1f5f9;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.action-detail-panel .action-detail-meta>span:last-child{border-bottom:0}.action-detail-panel .action-detail-meta strong{color:#0f172a;margin-left:auto}.action-history-block{border-top:1px solid var(--so-border);margin-top:14px;padding-top:11px}.action-history-block .premium-kicker{margin-bottom:8px;display:block}.action-detail-panel .so-timeline{border-left:1px solid var(--so-border)}.fee-overview .premium-grid-2.align-start{align-items:stretch}.fee-overview .premium-grid-2.align-start>*{flex-direction:column;min-width:0;display:flex}.fee-overview .premium-grid-2.align-start .fee-priority-list{flex:auto}.timetable-week-grid{table-layout:fixed}.timetable-week-grid thead th:first-child,.timetable-week-grid tbody td:first-child{width:132px}.timetable-week-grid thead th:not(:first-child),.timetable-week-grid tbody td:not(:first-child){width:auto}.timetable-week-grid tbody td{vertical-align:middle}.timetable-week-grid tbody td>*{min-width:0;max-width:100%}.form-grid,.assignment-forms,.column-map-grid{align-items:start}.field-hint{color:var(--so-text-muted);margin-top:-1px;font-size:11px;font-weight:500;line-height:1.35;display:block}.form-grid input.is-readonly,.onboarding-inline-form input.is-readonly{color:#475569;cursor:not-allowed;background:#f1f5f9}.academic-setup-header .command-breadcrumb{letter-spacing:.04em;text-transform:uppercase;color:var(--so-text-muted);margin-bottom:5px;font-size:11px;font-weight:700;display:block}@media (max-width:720px){.academic-setup-header{flex-direction:column;align-items:stretch}.academic-setup-header .directory-header-actions .btn{justify-content:center;width:100%}}.canonical-register-list .register-item{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:8px 12px}.canonical-register-list .register-person{align-items:center}.canonical-register-list .register-person>div:last-child{flex-wrap:wrap;align-items:baseline;gap:0 9px;min-width:0;display:flex}.canonical-register-list .register-person strong{flex:0 0 100%}.canonical-register-list .register-person span{margin:0}.canonical-register-list .register-person p{min-width:0}.attendance-status-switcher{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:6px;width:auto;min-width:0;display:flex}.attendance-status-switcher button{white-space:nowrap;flex:none;min-height:32px;padding:5px 11px}.canonical-register-list .register-item .status.neutral{white-space:nowrap;flex:none;margin-left:2px}@media (max-width:860px){.canonical-register-list .register-item{grid-template-columns:minmax(0,1fr);gap:10px}.attendance-status-switcher{flex-wrap:wrap;justify-content:flex-start;width:100%}.attendance-status-switcher button{flex:1 1 0;min-height:40px;padding:6px 4px}.canonical-register-list .register-item .status.neutral{text-align:center;flex:1 0 100%;margin-left:0}}@media (max-width:380px){.attendance-status-switcher button{flex:calc(50% - 3px)}}.demo-banner{color:#1e3a8a;background:#eff6ff;border-bottom:1px solid #bfdbfe;justify-content:space-between;align-items:center;gap:12px;padding:8px 20px;font-size:12px;font-weight:600;line-height:1.5;display:flex}.demo-banner-dismiss{width:28px;height:28px;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex}.demo-banner-dismiss:hover{background:#dbeafe}.demo-banner-dismiss:focus-visible{outline-offset:2px;outline:2px solid #2563eb}@media (max-width:640px){.demo-banner{padding:8px 16px;font-size:12px}}@media print{.demo-banner{display:none!important}}.pricing-quote-line{color:var(--ds-muted);margin:0 0 12px;font-size:13px;font-weight:700;display:block}.pricing-card .ds-btn{width:100%}.portal-page{gap:18px;width:100%;max-width:1040px;margin:0 auto;display:grid}.portal-page-heading h1{letter-spacing:-.03em;margin:0 0 4px;font-size:24px;line-height:1.2}.portal-page-heading p{color:var(--so-text-muted);margin:0;font-size:14px}.portal-child-selector button{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;min-height:40px;padding:6px 14px;font-size:13px;font-weight:700}.portal-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.portal-stat{background:#fff;border:1px solid #e2e8f0;border-radius:10px;gap:6px;min-width:0;padding:16px;display:grid}.portal-stat-label{color:var(--so-text-muted);align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.portal-stat>strong{letter-spacing:-.02em;font-size:24px;line-height:1.1}.portal-stat>strong em{color:#475569;font-size:14px;font-style:normal}.portal-stat>small{color:var(--so-text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.portal-stat-link{color:#2563eb;font-size:13px;font-weight:700}.portal-panel h2{align-items:center;gap:8px;margin:0 0 12px;font-size:16px;display:flex}.portal-empty{color:var(--so-text-muted);margin:0;font-size:13px}.portal-footnote{color:var(--so-text-muted);align-items:flex-start;gap:6px;margin:0;font-size:12px;display:flex}.portal-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.portal-list li{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;padding:12px;display:grid}.portal-list li>div:first-child{gap:2px;min-width:0;display:grid}.portal-list li strong{font-size:14px}.portal-list li span,.portal-list li small{color:var(--so-text-muted);font-size:12px}.portal-list-link{color:#2563eb;grid-column:1/-1;font-size:13px;font-weight:700}.portal-list-plain li{grid-template-columns:minmax(0,1fr) auto}.portal-chooser{text-align:center;gap:12px;max-width:560px;margin:24px auto;display:grid}.portal-chooser-list{gap:8px;display:grid}.portal-chooser-list button{text-align:left;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;gap:2px;padding:12px 14px;display:grid}.portal-chooser-list button:hover{border-color:#2563eb}.portal-chooser-list span{color:var(--so-text-muted);font-size:12px}.portal-loading{text-align:center;justify-items:center;gap:8px;max-width:560px;margin:24px auto;display:grid}@media (max-width:900px){.portal-summary-grid,.portal-two-col{grid-template-columns:minmax(0,1fr)}}@media (max-width:480px){.portal-shell{padding:16px}.portal-list li,.portal-list-plain li{grid-template-columns:minmax(0,1fr)}}@media print{.portal-topbar,.demo-banner,.page-back-link,.voucher-print-actions{display:none!important}}.teacher-home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.teacher-home .progress-track{background:#e2e8f0;border-radius:999px;height:6px;margin-top:6px;overflow:hidden}.teacher-home .progress-track span{background:#2563eb;border-radius:999px;height:100%;display:block}.school-shortcuts-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.school-shortcuts-grid .module-icon-box{border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.recent-activity-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.recent-activity-list li{background:#fff;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:110px minmax(0,1fr) auto;align-items:start;gap:12px;padding:10px 12px;display:grid}.recent-activity-list time{color:#2563eb;white-space:normal;overflow-wrap:anywhere;font-size:12px;font-weight:700}.recent-activity-list li>div{gap:2px;min-width:0;display:grid}.recent-activity-list strong{font-size:14px}.recent-activity-list span{color:#475569;font-size:12px}.recent-activity-list small{color:var(--so-text-muted);font-size:11px}.recent-activity-list a{color:#2563eb;background:#eff6ff;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.preview-banner{color:#5b21b6;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;padding:10px 16px;font-size:13px;display:flex}.preview-banner>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.preview-banner-label{color:#6d28d9;background:#ede9fe;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:700}.preview-banner .btn-sm{color:#1e293b;background:#fff;border:1px solid #cbd5e1;height:auto;padding:6px 14px;font-size:12px;font-weight:700}@media (max-width:980px){.teacher-home-grid,.school-shortcuts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.teacher-home-grid{grid-template-columns:minmax(0,1fr)}.school-shortcuts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.school-shortcuts-grid .module-hub-card{padding:10px}.school-shortcuts-grid .module-icon-box{width:34px;height:34px}.recent-activity-list li{grid-template-columns:minmax(0,1fr) auto}.recent-activity-list time{grid-column:1/-1}}.page-back-link{color:#2563eb;white-space:nowrap;justify-self:start;align-items:center;gap:6px;width:fit-content;margin-bottom:8px;font-size:12px;font-weight:700;display:inline-flex}.page-back-link:hover{text-decoration:underline}.page-back-link.is-inline{margin-bottom:0}.sidebar-brand-logo .schoolos-logo small{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}.sidebar-status strong,.sidebar-status-compact .sidebar-school-text strong{white-space:normal;text-overflow:clip;min-width:0;display:block;overflow:visible}.sidebar-school-name{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.session-badge strong{max-width:220px}.schoolos-context strong{text-overflow:clip;overflow:visible}@media print{.result-card-page .principal-page-heading,.fee-voucher-page .principal-page-heading,.result-card-page .directory-header-row,.fee-voucher-page .directory-header-row{display:none!important}}.portal-shell{background:#f8fafc;gap:0;padding:24px 32px 40px}.portal-page{gap:20px;max-width:1376px}.portal-hero-card{color:#fff;background:#0f172a;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;padding:24px;display:flex}.portal-hero-card h1{color:#fff;letter-spacing:-.03em;overflow-wrap:anywhere;margin:0;font-size:26px;line-height:1.15}.portal-hero-card p{color:#cbd5e1;margin:0;font-size:14px}.portal-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.portal-stat{min-width:0;color:inherit;background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-content:start;gap:8px;padding:16px;text-decoration:none;display:grid}.portal-stat-label{color:#475569;font-size:13px;font-weight:600;display:block}.portal-stat-value{font-size:var(--so-size-kpi);letter-spacing:-.02em;color:#0f172a;overflow-wrap:anywhere;font-weight:700;line-height:1.1;display:block}.portal-stat-value em{color:#475569;font-size:14px;font-style:normal;font-weight:600}.portal-stat-detail{color:var(--so-text-muted);font-size:12px;line-height:1.4;display:block}.portal-section-title h2{letter-spacing:-.02em;margin:0;font-size:18px;font-weight:700}.portal-section-title p{color:var(--so-text-muted);margin:2px 0 0;font-size:13px}.portal-timetable li>div{gap:2px;min-width:0;display:grid}.portal-timetable li span{color:var(--so-text-muted);font-size:12px}.portal-action-card{width:100%;color:inherit;text-align:left;font:inherit;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-items:start;gap:8px;padding:14px 16px;text-decoration:none;display:grid}.portal-action-card:hover{border-color:#93c5fd}.portal-action-card:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.portal-action-card.is-static{cursor:default}.portal-action-body{color:#475569;font-size:14px}.portal-pill{color:#1e3a8a;white-space:nowrap;background:#eef2ff;border-radius:999px;align-items:center;padding:5px 10px;font-size:12px;font-style:normal;font-weight:700;display:inline-flex}.portal-pill-link{text-decoration:none}.portal-pill-link:hover{background:#e0e7ff}.portal-updates{margin:0;padding:0;list-style:none}.portal-updates li{border-bottom:1px solid #f1f5f9;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.portal-updates li:last-child{border-bottom:0}.portal-updates li>div,.portal-updates-row>div{gap:2px;min-width:0;display:grid}.portal-updates strong,.portal-updates-row strong{font-size:14px}.portal-updates span{color:var(--so-text-muted);font-size:12px}.portal-updates-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.portal-panel{padding:16px}.portal-panel h2{margin:0 0 10px;font-size:16px}.portal-panel h3{color:#475569;margin:12px 0 8px;font-size:13px}.portal-panel .portal-footnote{margin-top:12px}.portal-list li.is-unread{background:#eff6ff;border-color:#bfdbfe}.portal-chooser-list button.is-remembered{background:#eff6ff;border-color:#2563eb}.portal-chooser-list button em{justify-self:start;margin-top:4px}@media (max-width:900px){.portal-shell{padding:16px}.portal-hero-card{flex-direction:column;align-items:stretch;padding:18px}.portal-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}@media (max-width:480px){.portal-hero-card h1{font-size:22px}.portal-stat-value{font-size:var(--so-size-kpi)}}.portal-shell,.portal-page,.portal-chooser{align-content:start}.portal-chooser h1{letter-spacing:-.02em;margin:0;font-size:22px}.portal-chooser>p{color:var(--so-text-muted);margin:0 0 6px;font-size:14px}.portal-chooser .btn{justify-self:center}@media (max-width:480px){.portal-timetable li{grid-template-columns:52px minmax(0,1fr)}}:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:var(--so-focus-ring-offset)}.sidebar :focus-visible,.premium-sidebar :focus-visible,.module-hero :focus-visible,.principal-command-hero :focus-visible,.portal-hero-card :focus-visible,.student-identity-hero :focus-visible{outline-color:#fff}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.principal-page-heading h1{font-size:var(--so-size-h1);font-weight:var(--so-weight-semibold);line-height:var(--so-leading-tight);color:var(--so-text)}.principal-page-heading p{font-size:var(--so-size-body-sm);font-weight:var(--so-weight-regular);line-height:var(--so-leading-snug);color:var(--so-text-muted)}.principal-page-heading .command-breadcrumb,.command-breadcrumb{font-size:var(--so-size-caption);font-weight:var(--so-weight-regular);letter-spacing:var(--so-tracking-caps);color:var(--so-text-muted)}.command-panel-heading h2,.workspace-panel>.command-panel-heading h2{font-size:var(--so-size-h3);font-weight:var(--so-weight-semibold);line-height:var(--so-leading-snug);color:var(--so-text)}.command-panel-heading p{font-size:var(--so-size-label);font-weight:var(--so-weight-regular);color:var(--so-text-muted)}.premium-kicker{font-size:var(--so-size-caption);font-weight:var(--so-weight-semibold);letter-spacing:var(--so-tracking-caps)}.kpi-card-label{font-size:var(--so-size-label);font-weight:var(--so-weight-regular);color:var(--so-text-muted)}.kpi-card-value{font-size:var(--so-size-kpi);font-weight:var(--so-weight-semibold);line-height:var(--so-leading-tight);color:var(--so-text)}.kpi-card-detail{font-size:var(--so-size-caption);font-weight:var(--so-weight-regular);color:var(--so-text-muted)}.page-back-link{font-size:var(--so-size-label);font-weight:var(--so-weight-medium);color:var(--so-primary)}.card,.premium-panel,.command-panel,.workspace-panel,.kpi-card,.metric,.module-card,.status-card,.portal-card{border-radius:var(--so-radius-lg);border:1px solid var(--so-border);background:var(--so-surface);box-shadow:var(--so-shadow-sm)}.kpi-card,.metric,.module-card{padding:var(--so-card-padding)}.btn{border-radius:var(--so-radius-md);min-height:var(--so-control-height);padding:var(--so-space-2) var(--so-space-4);font-size:var(--so-size-body);font-weight:var(--so-weight-medium);line-height:var(--so-leading-tight);transition:background var(--so-transition), border-color var(--so-transition), color var(--so-transition)}.btn-primary{background:var(--so-primary);color:var(--so-primary-on);border:1px solid var(--so-primary);box-shadow:none}.btn-primary:hover{background:var(--so-primary-hover);border-color:var(--so-primary-hover);transform:none}.btn-secondary{background:var(--so-surface);color:var(--so-text);border:1px solid var(--so-border-strong)}.btn-secondary:hover{background:var(--so-surface-sunken);border-color:var(--so-text-placeholder);transform:none}.btn-pill{border-radius:999px}.btn:disabled,.btn.is-disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}@media (pointer:coarse){.btn{min-height:var(--so-tap-target)}}.status{border-radius:var(--so-radius-pill);padding:3px var(--so-space-2);font-size:var(--so-size-caption);font-weight:var(--so-weight-medium);line-height:var(--so-leading-tight);white-space:nowrap}.status.good{background:var(--so-success-soft);color:var(--so-success)}.status.warn{background:var(--so-warning-soft);color:var(--so-warning)}.status.bad{background:var(--so-danger-soft);color:var(--so-danger)}.status.blue,.status.info{background:var(--so-info-soft);color:var(--so-info)}.status.neutral{background:var(--so-neutral-soft);color:var(--so-neutral)}.value-empty{color:var(--so-text-muted);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-regular)}.table th,.erp-table th{font-size:var(--so-size-label);font-weight:var(--so-weight-semibold);letter-spacing:var(--so-tracking-caps);text-transform:uppercase;color:var(--so-text-muted);padding:var(--so-cell-padding-y) var(--so-cell-padding-x);border-bottom:1px solid var(--so-border)}.table td,.erp-table td{font-size:var(--so-size-body-sm);padding:var(--so-cell-padding-y) var(--so-cell-padding-x);border-bottom:1px solid var(--so-border-subtle)}.table tbody tr:hover,.erp-table tbody tr:hover{background:var(--so-surface-sunken)}.so-field{width:100%;min-height:var(--so-control-height-lg);padding:0 12px;font-family:inherit;display:block}textarea.so-field{min-height:88px;padding:10px 12px}.so-field,.erp-modal-body input:where(:not([type=radio],[type=checkbox])),.erp-modal-body select,.erp-modal-body textarea{font-size:var(--so-size-body);color:var(--so-text);background:var(--so-surface);border:1px solid var(--so-border-strong);border-radius:var(--so-radius-sm);transition:border-color var(--so-transition), box-shadow var(--so-transition)}.so-field::placeholder,.erp-modal-body input::placeholder,.erp-modal-body textarea::placeholder{color:var(--so-text-placeholder);font-weight:var(--so-weight-regular);opacity:1}.so-field:disabled,.erp-modal-body input:disabled,.erp-modal-body select:disabled,.erp-modal-body textarea:disabled{background:var(--so-surface-sunken);color:var(--so-text-secondary);cursor:not-allowed}:root input:is([type=radio],[type=checkbox]):not([role=switch]){flex:none;min-width:0;max-width:1.25rem;min-height:0;max-height:1.25rem;padding:0}.btn-ghost{color:var(--so-text-secondary);background:0 0;border:1px solid #0000}.btn-ghost:hover{background:var(--so-neutral-soft);color:var(--so-text);transform:none}.btn-danger{background:var(--so-surface);color:var(--so-danger);border:1px solid var(--so-danger-soft)}.btn-danger:hover{background:var(--so-danger-soft);border-color:var(--so-danger);transform:none}.btn-sm{min-height:var(--so-control-height-sm);padding:var(--so-space-1) var(--so-space-3);font-size:var(--so-size-body-sm)}.btn-lg{min-height:var(--so-control-height-lg);padding:var(--so-space-3) var(--so-space-5);font-size:var(--so-size-body)}.btn-block{width:100%}.btn-spinner{animation:.9s linear infinite so-spin}@keyframes so-spin{to{transform:rotate(360deg)}}.so-tabs{align-items:stretch;gap:var(--so-space-1);border-bottom:1px solid var(--so-border);scrollbar-width:none;display:flex;overflow-x:auto}.so-tabs::-webkit-scrollbar{display:none}.so-tab{align-items:center;gap:var(--so-space-2);padding:var(--so-space-2) var(--so-space-3);min-height:var(--so-control-height);color:var(--so-text-muted);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-medium);white-space:nowrap;cursor:pointer;transition:color var(--so-transition), border-color var(--so-transition);background:0 0;border:0;border-bottom:2px solid #0000;display:inline-flex}.so-tab:hover:not(:disabled){color:var(--so-text)}.so-tab.is-active{color:var(--so-primary);border-bottom-color:var(--so-primary)}.so-tab:disabled{opacity:.5;cursor:not-allowed}.so-tab-badge{border-radius:var(--so-radius-pill);background:var(--so-neutral-soft);min-width:18px;color:var(--so-text-secondary);font-size:var(--so-size-caption);font-weight:var(--so-weight-semibold);justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.so-tab.is-active .so-tab-badge{background:var(--so-primary-soft);color:var(--so-primary)}.so-menu-wrap{display:inline-flex;position:relative}.so-menu-kebab{width:var(--so-control-height-sm);height:var(--so-control-height-sm);border-radius:var(--so-radius-sm);border:1px solid var(--so-border);background:var(--so-surface);color:var(--so-text-secondary);cursor:pointer;transition:background var(--so-transition), border-color var(--so-transition);place-items:center;display:inline-grid}.so-menu-kebab:hover{background:var(--so-surface-sunken);border-color:var(--so-border-strong)}.so-menu-kebab{position:relative}.so-menu-badge{top:calc(var(--so-space-1) * -1);right:calc(var(--so-space-1) * -1);min-width:18px;padding:0 var(--so-space-1);border-radius:var(--so-radius-pill);background:var(--so-danger-solid);color:var(--so-surface);font-size:var(--so-size-label);font-weight:var(--so-weight-bold);text-align:center;pointer-events:none;line-height:18px;position:absolute}.so-menu-empty{padding:var(--so-space-4)}.so-menu-trigger{gap:var(--so-space-2)}.so-menu{top:calc(100% + var(--so-space-1));z-index:var(--z-dropdown);min-width:200px;padding:var(--so-space-1);border-radius:var(--so-radius-lg);border:1px solid var(--so-border);background:var(--so-surface);box-shadow:var(--so-shadow-lg);flex-direction:column;display:flex;position:absolute}.so-menu-end{right:0}.so-menu-start{left:0}.so-menu-item{align-items:center;gap:var(--so-space-2);width:100%;padding:var(--so-space-2) var(--so-space-3);min-height:var(--so-control-height-sm);border-radius:var(--so-radius-sm);color:var(--so-text);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-medium);text-align:left;cursor:pointer;transition:background var(--so-transition);background:0 0;border:0;display:flex}.so-menu-item:hover{background:var(--so-surface-sunken)}.so-menu-item[aria-disabled=true],.so-menu-item:disabled{opacity:.5;cursor:not-allowed}.so-menu-item.is-destructive{color:var(--so-danger)}.so-menu-item.is-destructive:hover{background:var(--so-danger-soft)}.so-menu-separator{height:1px;margin:var(--so-space-1) var(--so-space-2);background:var(--so-border);display:block}.so-state{align-items:center;gap:var(--so-space-2);padding:var(--so-space-6) var(--so-space-4);border-radius:var(--so-radius-lg);background:var(--so-surface-sunken);border:1px dashed var(--so-border);text-align:center;flex-direction:column;display:flex}.so-state-inline{padding:var(--so-space-3);text-align:left;background:0 0;border:0;align-items:flex-start}.so-state-inline:has(>.so-state-icon){column-gap:var(--so-space-3);row-gap:var(--so-space-1);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.so-state-inline:has(>.so-state-icon)>.so-state-icon{grid-row:1/span 3;align-self:center}:is(.so-state-inline:has(>.so-state-icon)>.so-state-title,.so-state-inline:has(>.so-state-icon)>.so-state-detail,.so-state-inline:has(>.so-state-icon)>.so-state-action){grid-column:2}.so-state-icon{border-radius:var(--so-radius-pill);background:var(--so-neutral-soft);width:32px;height:32px;color:var(--so-text-muted);place-items:center;display:grid}.so-state-title{font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold);color:var(--so-text);margin:0}.so-state-detail{font-size:var(--so-size-label);color:var(--so-text-muted);max-width:46ch;margin:0}.so-state-action{margin-top:var(--so-space-1)}.offline-banner{align-items:center;gap:var(--so-space-2);margin:0 0 var(--so-space-3);padding:var(--so-space-2) var(--so-space-3);border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface-sunken);color:var(--so-text);font-size:var(--so-size-label);display:flex}.offline-banner>svg{color:var(--so-text-muted);flex:none}.offline-banner-back{background:var(--so-success-soft);border-color:var(--so-success-soft)}.offline-banner-back>svg{color:var(--so-success)}.network-failure-notice{left:50%;bottom:calc(var(--so-space-4) + env(safe-area-inset-bottom,0px));z-index:var(--z-toast);align-items:center;gap:var(--so-space-2);width:max-content;max-width:calc(100vw - 32px);padding:var(--so-space-2) var(--so-space-3);border:1px solid var(--so-danger-soft);border-radius:var(--so-radius-lg);background:var(--so-surface);box-shadow:var(--so-shadow-lg);color:var(--so-text);font-size:var(--so-size-label);display:flex;position:fixed;transform:translate(-50%)}.network-failure-notice>svg{color:var(--so-danger);flex:none}.network-failure-notice-close{border-radius:var(--so-radius-pill);min-width:32px;min-height:32px;color:var(--so-text-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.network-failure-notice-close:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:var(--so-focus-ring-offset)}.so-state-action:has(>.so-state-retry){gap:var(--so-space-2);flex-wrap:wrap;display:flex}.so-state-error{background:var(--so-danger-soft);border-color:var(--so-danger-soft)}.so-state-error .so-state-icon{background:var(--so-surface);color:var(--so-danger)}.so-state-error .so-state-title{color:var(--so-danger)}.so-state-success{background:var(--so-success-soft);border-color:var(--so-success-soft)}.so-state-success .so-state-icon{background:var(--so-surface);color:var(--so-success)}.so-state-success .so-state-title{color:var(--so-success)}.so-skeleton{border-radius:var(--so-radius-sm);background:linear-gradient(90deg, var(--so-neutral-soft) 25%, var(--so-border-subtle) 37%, var(--so-neutral-soft) 63%);background-size:400% 100%;width:100%;height:12px;animation:1.4s infinite so-shimmer;display:block}.so-skeleton-stack{gap:var(--so-space-2);width:100%;margin-top:var(--so-space-2);flex-direction:column;display:flex}@keyframes so-shimmer{0%{background-position:100%}to{background-position:0}}.so-field-group{gap:var(--so-space-1);flex-direction:column;display:flex}.so-field-label{font-size:var(--so-size-label);font-weight:var(--so-weight-medium);color:var(--so-text-secondary)}.so-field-help{font-size:var(--so-size-caption);color:var(--so-text-muted)}.so-field-error{font-size:var(--so-size-caption);font-weight:var(--so-weight-medium);color:var(--so-danger)}.req-marker{color:var(--so-danger);font-weight:var(--so-weight-bold);white-space:nowrap}.cal-modal-field>span:first-child{line-height:var(--so-leading-snug);display:block}.so-field:focus,.erp-modal-body input:where(:not([type=radio],[type=checkbox])):focus,.erp-modal-body select:focus,.erp-modal-body textarea:focus{border-color:var(--so-primary);outline:none}.erp-modal-container,.schoolos-modal-card,.modal-card,.student-quick-view-panel{border-radius:var(--so-radius-xl);border:1px solid var(--so-border);background:var(--so-surface);box-shadow:var(--so-shadow-lg)}.erp-modal-header h2,.erp-modal-header h3,.schoolos-modal-title{font-size:var(--so-size-h3);font-weight:var(--so-weight-semibold);line-height:var(--so-leading-snug);color:var(--so-text)}.erp-modal-backdrop,.modal-backdrop,.command-overlay,.student-quick-view-overlay{background:#0f172a73}.erp-modal-close,.schoolos-modal-close-btn{border-radius:var(--so-radius-sm);color:var(--so-text-muted);transition:background var(--so-transition), color var(--so-transition)}.erp-modal-close:hover,.schoolos-modal-close-btn:hover{background:var(--so-neutral-soft);color:var(--so-text)}.card-aurora.card-aurora:not(.portal-hero){padding:var(--so-space-4);border-radius:var(--so-radius-lg);border:1px solid var(--so-border);background:var(--so-surface);color:var(--so-text);box-shadow:var(--so-shadow-sm)}.card-aurora.card-aurora:not(.portal-hero):after,.card-aurora.card-aurora:not(.portal-hero):before{display:none}.card-aurora.card-aurora:not(.portal-hero) h1,.card-aurora.card-aurora:not(.portal-hero) h2,.card-aurora.card-aurora:not(.portal-hero) h3{color:var(--so-text);font-size:var(--so-size-h2);font-weight:var(--so-weight-semibold);line-height:var(--so-leading-snug);letter-spacing:-.01em}.card-aurora.card-aurora:not(.portal-hero) p,.card-aurora.card-aurora:not(.portal-hero)>div:first-child>p,.card-aurora.card-aurora:not(.portal-hero) small{color:var(--so-text-muted);font-size:var(--so-size-body-sm);line-height:var(--so-leading-snug)}.card-aurora.card-aurora:not(.portal-hero) .premium-kicker,.card-aurora.card-aurora:not(.portal-hero) .command-breadcrumb{color:var(--so-text-muted)}.card-aurora.card-aurora:not(.portal-hero) .command-breadcrumb span{color:var(--so-border-strong)}.card-aurora.card-aurora:not(.portal-hero) .hero-micro-kpi-strip{gap:var(--so-space-2)}.card-aurora.card-aurora:not(.portal-hero) .hero-micro-kpi-item,.card-aurora.card-aurora:not(.portal-hero) .role-metrics span{background:var(--so-surface-sunken);border:1px solid var(--so-border);color:var(--so-text-secondary)}.card-aurora.card-aurora:not(.portal-hero) .hero-micro-kpi-item strong,.card-aurora.card-aurora:not(.portal-hero) .role-metrics span strong{color:var(--so-text)}.card-aurora.card-aurora:not(.portal-hero) .hero-micro-kpi-item svg{color:var(--so-text-muted)}.card-aurora.card-aurora:not(.portal-hero) .results-hero-card,.card-aurora.card-aurora:not(.portal-hero) .finance-hero-card,.card-aurora.card-aurora:not(.portal-hero) .teacher-hero-card,.card-aurora.card-aurora:not(.portal-hero) .module-hero-right>div{background:var(--so-surface-sunken);border:1px solid var(--so-border);color:var(--so-text);border-radius:var(--so-radius-lg);box-shadow:none}.card-aurora.card-aurora:not(.portal-hero) .results-hero-card span,.card-aurora.card-aurora:not(.portal-hero) .finance-hero-card span,.card-aurora.card-aurora:not(.portal-hero) .teacher-hero-card span,.card-aurora.card-aurora:not(.portal-hero) .results-hero-card small,.card-aurora.card-aurora:not(.portal-hero) .finance-hero-card small,.card-aurora.card-aurora:not(.portal-hero) .teacher-hero-card small{color:var(--so-text-muted)}.card-aurora.card-aurora:not(.portal-hero) .results-hero-card strong,.card-aurora.card-aurora:not(.portal-hero) .finance-hero-card strong,.card-aurora.card-aurora:not(.portal-hero) .teacher-hero-card strong{color:var(--so-text)}.card-aurora.card-aurora:not(.portal-hero) .btn-secondary{background:var(--so-surface);color:var(--so-text);border:1px solid var(--so-border-strong)}.card-aurora.card-aurora:not(.portal-hero) .btn-secondary:hover{background:var(--so-surface-sunken);border-color:var(--so-text-placeholder)}.card-aurora.card-aurora:not(.portal-hero) :focus-visible{outline-color:var(--so-focus-ring)}.card-aurora.card-aurora:not(.portal-hero):not(.is-overview).student-profile-hero{background:var(--so-surface);color:var(--so-text)}.card-aurora.card-aurora:not(.portal-hero):not(.is-overview).student-profile-hero h1{color:var(--so-text);font-size:var(--so-size-h1)}.card-aurora.card-aurora:not(.portal-hero):not(.is-overview).student-profile-hero p,.card-aurora.card-aurora:not(.portal-hero):not(.is-overview).student-profile-hero .premium-kicker{color:var(--so-text-muted)}.card-aurora.card-aurora:not(.portal-hero):not(.is-overview).student-profile-hero .role-metrics span{color:var(--so-text-secondary)}.kpi-card{padding:var(--so-space-3) var(--so-space-4);gap:var(--so-space-1)}.kpi-card-value,.kpi-card-detail{margin-top:var(--so-space-1)}.kpi-card-icon{background:var(--so-neutral-soft);color:var(--so-text-muted)}.kpi-card-icon.blue{background:var(--so-primary-soft);color:var(--so-primary)}.kpi-card-icon.green{background:var(--so-success-soft);color:var(--so-success)}.kpi-card-icon.red{background:var(--so-danger-soft);color:var(--so-danger)}.kpi-card-icon.orange{background:var(--so-warning-soft);color:var(--so-warning)}.kpi-card-icon.violet{background:var(--so-primary-soft);color:var(--so-accent-violet)}.card-aurora.card-aurora:not(.portal-hero) .principal-health-card,.card-aurora.card-aurora:not(.portal-hero) .fee-health-card,.card-aurora.card-aurora:not(.portal-hero) .fee-account-balance,.card-aurora.card-aurora:not(.portal-hero) .setup-score-card,.card-aurora.card-aurora:not(.portal-hero) .database-live-card,.card-aurora.card-aurora:not(.portal-hero) .launch-score-card{background:var(--so-surface-sunken);border:1px solid var(--so-border);border-radius:var(--so-radius-lg);color:var(--so-text);box-shadow:none}.card-aurora.card-aurora:not(.portal-hero) .principal-health-card>strong,.card-aurora.card-aurora:not(.portal-hero) .principal-health-card .radial-center strong,.card-aurora.card-aurora:not(.portal-hero) .fee-health-card>strong,.card-aurora.card-aurora:not(.portal-hero) .fee-account-balance>strong,.card-aurora.card-aurora:not(.portal-hero) .setup-score-card strong,.card-aurora.card-aurora:not(.portal-hero) .database-live-card strong,.card-aurora.card-aurora:not(.portal-hero) .launch-score-card strong{color:var(--so-text)}.card-aurora.card-aurora:not(.portal-hero) .principal-health-card>span,.card-aurora.card-aurora:not(.portal-hero) .principal-health-card .radial-center span,.card-aurora.card-aurora:not(.portal-hero) .fee-health-card>span,.card-aurora.card-aurora:not(.portal-hero) .fee-health-card small,.card-aurora.card-aurora:not(.portal-hero) .fee-account-balance>span:first-child,.card-aurora.card-aurora:not(.portal-hero) .fee-account-balance small,.card-aurora.card-aurora:not(.portal-hero) .setup-score-card span,.card-aurora.card-aurora:not(.portal-hero) .setup-score-card small,.card-aurora.card-aurora:not(.portal-hero) .database-live-card span,.card-aurora.card-aurora:not(.portal-hero) .launch-score-card span,.card-aurora.card-aurora:not(.portal-hero) .launch-score-card .radial-center span{color:var(--so-text-muted)}.card-aurora.card-aurora:not(.portal-hero) .principal-health-card .dashboard-school-logo{border-color:var(--so-border)}.card-aurora.card-aurora:not(.portal-hero) .fee-health-card>div{background:var(--so-border-subtle)}.student-hero-actions{align-items:center;gap:var(--so-control-gap);margin-top:var(--so-space-3);flex-wrap:wrap;display:flex}.schoolos-shell input::placeholder,.schoolos-shell textarea::placeholder,.portal-shell input::placeholder,.portal-shell textarea::placeholder{color:var(--so-text-placeholder);font-weight:var(--so-weight-regular);opacity:1}.schoolos-shell input,.schoolos-shell textarea,.schoolos-shell select,.portal-shell input,.portal-shell textarea,.portal-shell select{color:var(--so-text)}.schoolos-shell strong,.schoolos-shell b,.portal-shell strong,.portal-shell b,.schoolos-shell .kpi-card-value,.schoolos-shell h1 strong,.schoolos-shell h2 strong{font-weight:var(--so-weight-semibold)}.principal-page-heading .command-breadcrumb span,.principal-page-heading p span{-webkit-user-select:none;user-select:none}.card-aurora.card-aurora:not(.portal-hero){overflow:visible}.card-aurora.card-aurora.is-overview{color:#fff;border-radius:var(--so-radius-xl);padding:var(--so-space-5) var(--so-space-6);box-shadow:var(--so-shadow-md);background:#14213a;border:0;position:relative;overflow:visible}.card-aurora.card-aurora.is-overview:after{content:"";border-radius:inherit;filter:none;pointer-events:none;background:radial-gradient(120px at calc(100% - 60px) 40px,#6366f124 0 99%,#0000 100%);width:auto;height:auto;display:block;position:absolute;inset:0;transform:none}.card-aurora.card-aurora.is-overview>*{z-index:1;position:relative}.card-aurora.card-aurora.is-overview>:has(.so-menu){z-index:2}.card-aurora.card-aurora.is-overview h1,.card-aurora.card-aurora.is-overview h2,.card-aurora.card-aurora.is-overview h3{color:#fff}.card-aurora.card-aurora.is-overview p,.card-aurora.card-aurora.is-overview small,.card-aurora.card-aurora.is-overview>div:first-child>p{color:#ffffffc7}.card-aurora.card-aurora.is-overview .premium-kicker,.card-aurora.card-aurora.is-overview .command-breadcrumb,.card-aurora.card-aurora.is-overview .context-card-kicker{color:#a5b4fc}.card-aurora.card-aurora.is-overview .command-breadcrumb span{color:#a5b4fc8c}.card-aurora.card-aurora.is-overview .hero-micro-kpi-item,.card-aurora.card-aurora.is-overview .role-metrics span,.card-aurora.card-aurora.is-overview .hero-context-card,.card-aurora.card-aurora.is-overview .principal-health-card,.card-aurora.card-aurora.is-overview .fee-health-card,.card-aurora.card-aurora.is-overview .fee-account-balance,.card-aurora.card-aurora.is-overview .results-hero-card,.card-aurora.card-aurora.is-overview .finance-hero-card,.card-aurora.card-aurora.is-overview .teacher-hero-card{color:#ffffffeb;box-shadow:none;background:#ffffff14;border:1px solid #ffffff24}.card-aurora.card-aurora.is-overview .hero-micro-kpi-item strong,.card-aurora.card-aurora.is-overview .role-metrics span strong,.card-aurora.card-aurora.is-overview .hero-context-card strong,.card-aurora.card-aurora.is-overview .principal-health-card>strong,.card-aurora.card-aurora.is-overview .principal-health-card .radial-center strong,.card-aurora.card-aurora.is-overview .fee-health-card>strong,.card-aurora.card-aurora.is-overview .fee-account-balance>strong,.card-aurora.card-aurora.is-overview .results-hero-card strong,.card-aurora.card-aurora.is-overview .finance-hero-card strong,.card-aurora.card-aurora.is-overview .teacher-hero-card strong{color:#fff}.card-aurora.card-aurora.is-overview .hero-micro-kpi-item span,.card-aurora.card-aurora.is-overview .hero-micro-kpi-item svg,.card-aurora.card-aurora.is-overview .hero-context-card span,.card-aurora.card-aurora.is-overview .principal-health-card>span,.card-aurora.card-aurora.is-overview .principal-health-card .radial-center span,.card-aurora.card-aurora.is-overview .fee-health-card>span,.card-aurora.card-aurora.is-overview .fee-health-card small,.card-aurora.card-aurora.is-overview .fee-account-balance>span:first-child,.card-aurora.card-aurora.is-overview .fee-account-balance small,.card-aurora.card-aurora.is-overview .results-hero-card span,.card-aurora.card-aurora.is-overview .results-hero-card small,.card-aurora.card-aurora.is-overview .finance-hero-card span,.card-aurora.card-aurora.is-overview .finance-hero-card small,.card-aurora.card-aurora.is-overview .teacher-hero-card span,.card-aurora.card-aurora.is-overview .teacher-hero-card div{color:#c7d2fe}.card-aurora.card-aurora.is-overview .fee-health-card>div{background:#ffffff29}.card-aurora.card-aurora.is-overview .btn-secondary{color:#fff;background:#ffffff1a;border:1px solid #ffffff38}.card-aurora.card-aurora.is-overview .btn-secondary:hover{background:#ffffff2e;border-color:#ffffff57}.card-aurora.card-aurora.is-overview .status{border:1px solid #ffffff29}.card-aurora.card-aurora.is-overview :focus-visible{outline-color:#fff}.metric{gap:var(--so-space-1);padding:var(--so-space-3) var(--so-space-4);flex-direction:column;display:flex}.metric .metric-value-row{justify-content:space-between;align-items:baseline;gap:var(--so-space-3);display:flex}.kpi-card-icon.slate{background:var(--so-neutral-soft);color:var(--so-text-secondary)}.card-aurora,.card-aurora.card-aurora.is-overview,.principal-command-hero{margin-bottom:var(--so-space-3)}.kpi-grid,.command-kpi-grid,.premium-metrics{margin-top:0;margin-bottom:var(--so-space-3)}.directory-header-row+.card-aurora,.principal-page-heading+.card-aurora,.directory-header-row+.card-aurora.card-aurora.is-overview{margin-top:var(--so-space-2)}.card-aurora+.kpi-grid,.card-aurora+.command-kpi-grid,.card-aurora+.premium-metrics,.card-aurora+section[aria-label],.principal-command-hero+.command-kpi-grid{margin-top:0}.kpi-card-detail,.metric small{line-height:var(--so-leading-snug)}.kpi-card-label>span:first-child,.metric .kpi-card-label>span:first-child{font-weight:var(--so-weight-medium);color:var(--so-text-muted)}.portal-action-card.is-static{cursor:default;background:var(--so-surface-sunken);border-style:dashed}.portal-action-card.is-static:hover{border-color:var(--so-border)}.portal-homework-list{margin:0;padding:0;list-style:none}.portal-homework-list li{gap:var(--so-space-3);padding:var(--so-space-3) var(--so-space-4);border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;display:grid}.portal-homework-list li+li{margin-top:var(--so-space-2)}.portal-homework-list strong{font-size:var(--so-size-body);font-weight:var(--so-weight-semibold);color:var(--so-text);display:block}.portal-homework-list span{font-size:var(--so-size-label);color:var(--so-text-muted);margin-top:2px;display:block}.portal-homework-list small{font-size:var(--so-size-label);color:var(--so-text-muted);white-space:nowrap}.portal-notice-list{gap:var(--so-space-2);margin:0;padding:0;list-style:none;display:grid}.portal-notice-list li{gap:var(--so-space-1);padding:var(--so-space-3) var(--so-space-4);border:1px solid var(--so-border);border-left:3px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);display:grid}.portal-notice-list li.is-unread{border-left-color:var(--so-primary);background:var(--so-primary-soft)}.portal-notice-meta{align-items:center;gap:var(--so-space-2);margin:0;display:flex}.portal-notice-meta time{font-size:var(--so-size-label);color:var(--so-text-muted)}.portal-notice-title{font-size:var(--so-size-body);font-weight:var(--so-weight-semibold);line-height:var(--so-leading-snug);color:var(--so-text)}.portal-card-actions{align-items:center;gap:var(--so-space-2);flex-wrap:wrap;display:flex}.portal-card-stack{align-content:start;gap:var(--so-space-4);min-width:0;display:grid}.portal-week{gap:var(--so-space-3);margin-top:var(--so-space-3);display:grid}.portal-week-day{align-items:center;gap:var(--so-space-2);margin:var(--so-space-2) 0 0;font-size:var(--so-size-body);font-weight:var(--so-weight-semibold);color:var(--so-text);flex-wrap:wrap;display:flex}.portal-notice-open{text-align:left;cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-family:inherit}.portal-notice-open:hover{color:var(--so-primary)}.portal-notice-open:focus-visible{outline:2px solid var(--so-primary);outline-offset:2px;border-radius:var(--so-radius-sm)}.portal-notice-message{font-size:var(--so-size-body-sm);line-height:var(--so-leading-normal);color:var(--so-text-secondary)}.diary-entry{gap:var(--so-space-2);padding:var(--so-space-3) var(--so-space-4);box-shadow:none}.diary-entry-head{align-items:center}.diary-entry-title{font-size:var(--so-size-body);font-weight:var(--so-weight-semibold)}.diary-entry-ident .status{font-size:var(--so-size-caption);padding:2px var(--so-space-2)}.diary-entry-meta{gap:var(--so-space-1) var(--so-space-4);font-size:var(--so-size-label);padding-top:var(--so-space-2);border-top:1px solid var(--so-border-subtle)}.diary-entry-meta strong{color:var(--so-text);font-weight:var(--so-weight-medium)}.diary-entry-body{gap:var(--so-space-2);display:grid}.diary-entry-body>*{min-width:0}.module-hero-right>.hero-context-card,.card-aurora .hero-context-card{max-width:300px;padding:var(--so-space-2) var(--so-space-3);gap:2px}.card-aurora .hero-context-card .context-card-kicker{font-size:var(--so-size-caption)}.card-aurora .hero-context-card strong{font-size:var(--so-size-body-sm)}.card-aurora .hero-context-card span{font-size:var(--so-size-caption)}.admission-row{gap:var(--so-space-4);background:var(--so-surface);padding:var(--so-space-3) var(--so-space-4);grid-template-columns:minmax(240px,1.35fr) minmax(280px,1fr) 190px}.admission-row:hover{border-color:var(--so-border-strong);transform:none}.admission-row-facts{gap:var(--so-space-3)}.admission-row-facts span{font-size:var(--so-size-caption);font-weight:var(--so-weight-medium);letter-spacing:var(--so-tracking-caps)}.admission-row-facts strong{font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold);color:var(--so-text);margin-top:2px}.admission-row-status{gap:var(--so-space-2);white-space:nowrap;justify-content:flex-end}@media (max-width:980px){.admission-row{gap:var(--so-space-3);grid-template-columns:minmax(0,1fr)}.admission-row-status{justify-content:flex-start}}@media (max-width:680px){.admission-row-status{white-space:normal;flex-wrap:wrap}}.exam-register-row{gap:var(--so-space-4);padding:var(--so-space-3) var(--so-space-4);background:var(--so-surface);grid-template-columns:minmax(0,1.5fr) minmax(160px,.9fr) 150px auto}@media (max-width:900px){.exam-register-row{gap:var(--so-space-3);grid-template-columns:minmax(0,1fr) auto}.exam-register-row>div{grid-column:1/-1}.exam-register-row>.status{grid-column:1;justify-self:start}.exam-register-row>svg{grid-column:2;place-self:center end}}.exam-register-row:hover{border-color:var(--so-border-strong);transform:none}.exam-register-row span,.exam-register-row small{font-size:var(--so-size-label);margin-top:2px}.exam-register-facts{text-align:right;justify-items:end;gap:2px;display:grid}@media (max-width:900px){.exam-register-facts{text-align:left;justify-items:start}}.exam-register-facts strong{color:var(--so-text);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold)}.exam-lifecycle-actions{gap:var(--so-space-3)}.results-center .premium-panel,.results-center .command-panel{padding:var(--so-space-4)}.results-center .kpi-grid{margin-bottom:var(--so-space-3)}.card-aurora.card-aurora.is-overview .module-hero-right>div{color:#ffffffeb;box-shadow:none;background:#ffffff14;border:1px solid #ffffff24}.card-aurora.card-aurora.is-overview .module-hero-right>div strong{color:#fff}.card-aurora.card-aurora.is-overview .module-hero-right>div span,.card-aurora.card-aurora.is-overview .module-hero-right>div small{color:#c7d2fe}.portal-workspace{background:var(--so-bg);grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.portal-workspace-main{flex-direction:column;min-width:0;display:flex}.portal-sidebar{align-self:start;gap:var(--so-space-4);height:100vh;padding:var(--so-space-4) var(--so-space-3);background:var(--so-surface-inverse);color:var(--so-text-inverse);border-right:1px solid #ffffff12;flex-direction:column;display:flex;position:sticky;top:0}.portal-sidebar-brand{gap:var(--so-space-2);padding:0 var(--so-space-2);display:grid}.portal-sidebar-workspace{padding:3px var(--so-space-2);border-radius:var(--so-radius-pill);color:#c7d2fe;font-size:var(--so-size-caption);font-weight:var(--so-weight-semibold);letter-spacing:var(--so-tracking-caps);text-transform:uppercase;background:#6366f138;align-self:start;display:inline-flex}.portal-sidebar-nav{flex-direction:column;flex:auto;gap:2px;min-height:0;display:flex}.portal-sidebar-nav a{align-items:center;gap:var(--so-space-2);padding:var(--so-space-2) var(--so-space-3);min-height:var(--so-control-height);border-radius:var(--so-radius-md);color:#cbd5e1;font-size:var(--so-size-body-sm);font-weight:var(--so-weight-medium);transition:background var(--so-transition), color var(--so-transition);display:flex}.portal-sidebar-nav a:hover{color:#fff;background:#ffffff14}.portal-sidebar-nav a.active{background:var(--so-primary);color:#fff}.portal-sidebar-nav a svg{flex:none}.portal-nav-count{min-width:20px;padding:0 var(--so-space-1);border-radius:var(--so-radius-pill);background:var(--so-primary);color:var(--so-surface);font-size:var(--so-size-label);font-weight:var(--so-weight-bold);text-align:center;margin-left:auto;line-height:20px}.portal-sidebar-nav a.active .portal-nav-count{background:var(--so-surface);color:var(--so-primary)}.portal-sidebar :focus-visible{outline-color:#fff}.portal-sidebar-person{align-items:center;gap:var(--so-space-2);padding:var(--so-space-2) var(--so-space-3);border-radius:var(--so-radius-lg);background:#ffffff0f;border:1px solid #ffffff1a;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.portal-sidebar-avatar{border-radius:var(--so-radius-pill);color:#e2e8f0;background:#ffffff1f;place-items:center;width:28px;height:28px;display:grid}.portal-sidebar-identity{min-width:0;display:grid}.portal-sidebar-identity strong{font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold);color:#fff;overflow-wrap:anywhere;line-height:var(--so-leading-tight)}.portal-sidebar-identity small{font-size:var(--so-size-caption);color:#94a3b8;overflow-wrap:anywhere}.portal-sidebar-exit{width:var(--so-control-height-sm);height:var(--so-control-height-sm);border-radius:var(--so-radius-sm);color:#cbd5e1;cursor:pointer;transition:background var(--so-transition), color var(--so-transition);background:0 0;border:0;place-items:center;display:grid}.portal-sidebar-exit:hover{color:#fff;background:#ffffff1f}.portal-topbar{align-items:center;gap:var(--so-space-3);padding:var(--so-space-2) var(--so-space-4);border-bottom:1px solid var(--so-border);background:var(--so-surface);min-height:56px;display:flex}.portal-topbar-menu{width:var(--so-tap-target);height:var(--so-tap-target);border-radius:var(--so-radius-md);color:inherit;cursor:pointer;background:#ffffff14;border:1px solid #94a3b847;flex:none;place-items:center;display:none}.portal-topbar-brand{min-width:0;display:none;overflow:hidden}.portal-topbar-brand .schoolos-logo>span{overflow:hidden}.portal-topbar-brand .schoolos-logo strong,.portal-topbar-brand .schoolos-logo small{text-overflow:ellipsis;overflow:hidden}.portal-topbar-school{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold);color:var(--so-text);overflow:hidden}.portal-topbar-school .portal-school-mark{width:24px;height:24px;margin-right:var(--so-space-2);vertical-align:middle;border-radius:var(--so-radius-sm);object-fit:contain;font-size:var(--so-size-caption);place-items:center;display:inline-grid}.portal-topbar-badge{padding:var(--so-space-1) var(--so-space-3);border-radius:var(--so-radius-pill,999px);background:var(--so-primary-soft);color:var(--so-primary);font-size:var(--so-size-label);font-weight:var(--so-weight-semibold);letter-spacing:var(--so-tracking-caps);text-transform:uppercase;white-space:nowrap;flex:none;margin-left:auto}@media (max-width:980px){.portal-workspace{grid-template-columns:minmax(0,1fr)}.portal-sidebar{display:none}.portal-topbar{z-index:var(--z-sticky);background:var(--so-surface-inverse);color:var(--so-text-inverse);border-bottom:1px solid #ffffff14;position:sticky;top:0}.portal-topbar-menu{display:grid}.portal-topbar-brand{display:block}.portal-topbar-school{display:none}.portal-topbar-badge{color:var(--so-text-inverse);background:#ffffff1f}}@media (max-width:767px){.portal-topbar-brand .schoolos-logo small{display:none}}@media (max-width:380px){.portal-topbar{align-items:center;row-gap:var(--so-space-2);grid-template-columns:auto minmax(0,1fr);display:grid}.portal-topbar-badge{grid-column:1/-1;justify-self:start;margin-left:0}}.so-masterdetail{gap:var(--so-space-5);margin-top:var(--so-space-4);grid-template-columns:320px minmax(0,1fr);min-width:0;min-height:480px;display:grid}.so-masterdetail-list{gap:var(--so-space-2);min-width:0;padding-right:var(--so-space-4);border-right:1px solid var(--so-border);flex-direction:column;display:flex}.so-masterdetail-detail{flex-direction:column;justify-content:space-between;min-width:0;height:100%;display:flex}.so-masterdetail-empty{color:var(--so-text-muted);justify-content:center;align-items:center}.so-masterdetail-composer{gap:var(--so-space-2);min-width:0;display:flex}.so-masterdetail-composer textarea{min-width:0}.so-masterdetail-composer-meta{justify-content:space-between;align-items:center;gap:var(--so-space-2);flex-wrap:wrap;min-width:0;display:flex}.so-masterdetail-composer-meta select{min-width:0;max-width:100%}.so-masterdetail-back{display:none}@media (max-width:767px){.so-masterdetail{gap:var(--so-space-3);grid-template-columns:minmax(0,1fr);min-height:0}.so-masterdetail-list{border-right:0;padding-right:0}.so-masterdetail[data-pane=list] .so-masterdetail-detail,.so-masterdetail[data-pane=detail] .so-masterdetail-list{display:none}.so-masterdetail-back{align-items:center;gap:var(--so-space-2);margin-bottom:var(--so-space-3);align-self:flex-start;display:inline-flex}.so-masterdetail-detail>div[style*=overflow-y],.so-masterdetail-detail>div[style*=overflowY]{max-height:60vh}.so-masterdetail-composer{flex-wrap:wrap}.so-masterdetail-composer>button{justify-content:center;width:100%}}.portal-drawer-overlay{z-index:var(--z-drawer);position:fixed;inset:0}.portal-drawer-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0206178f;border:0;position:fixed;inset:0}.portal-drawer-overlay .portal-sidebar.is-drawer{width:min(320px,100vw - 40px);height:100%;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto;box-shadow:22px 0 70px #02061752}.portal-sidebar.is-drawer .portal-sidebar-brand{grid-template-columns:minmax(0,1fr) auto;align-items:start}.portal-sidebar.is-drawer .portal-sidebar-workspace{grid-column:1/-1}.portal-drawer-close{width:var(--so-tap-target);height:var(--so-tap-target);border-radius:var(--so-radius-md);color:var(--so-text-inverse);cursor:pointer;background:#ffffff14;border:1px solid #94a3b847;place-items:center;display:grid}.portal-drawer-close:hover{background:#ffffff29}@media (min-width:981px){.portal-drawer-overlay{display:none}}.portal-hero-card{background:var(--so-surface-inverse);border-radius:var(--so-radius-xl);padding:var(--so-space-5) var(--so-space-6);position:relative;overflow:hidden}.portal-hero-card:after{content:"";pointer-events:none;background:#6366f124;border-radius:50%;width:240px;height:240px;position:absolute;top:-80px;right:-60px}.portal-hero-card>*{z-index:1;position:relative}.portal-hero-card h1{font-size:var(--so-size-h1);font-weight:var(--so-weight-semibold)}.portal-hero-kicker{font-size:var(--so-size-label);font-weight:var(--so-weight-semibold);color:#a5b4fc;letter-spacing:var(--so-tracking-caps);text-transform:uppercase}.portal-hero-card p{font-size:var(--so-size-body-sm);color:#ffffffc7}.portal-hero-aside{border-radius:var(--so-radius-lg);padding:var(--so-space-3)}.portal-hero-aside>span{font-size:var(--so-size-caption);color:#c7d2fe;letter-spacing:var(--so-tracking-caps);text-transform:uppercase}.portal-hero-aside strong{font-size:var(--so-size-body)}.portal-hero-aside select{min-height:var(--so-control-height);border-radius:var(--so-radius-sm);color:#fff;font-weight:var(--so-weight-medium);font-size:var(--so-size-body-sm);background:#ffffff1a;border:1px solid #ffffff47}.portal-hero-aside select option{color:var(--so-text);background:var(--so-surface)}.portal-sidebar .schoolos-logo small{color:#94a3b8}.command-search-row:focus-within,.auth-field>div:focus-within{border-color:var(--so-primary);outline:none;box-shadow:0 0 0 3px #2563eb29}.command-search-row input:focus,.command-search-row input:focus-visible,.auth-field>div input:focus,.auth-field>div input:focus-visible{box-shadow:none;outline:none}.schoolos-shell input:focus-visible,.schoolos-shell select:focus-visible,.schoolos-shell textarea:focus-visible,.portal-shell input:focus-visible,.portal-shell select:focus-visible,.portal-shell textarea:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:1px;border-color:var(--so-primary)}.schoolos-shell{--page-top-lead:14px}.principal-page-heading{gap:2px;margin-bottom:0;display:grid}.principal-page-heading .command-breadcrumb,.principal-page-heading>.command-breadcrumb{line-height:var(--so-leading-tight);margin-bottom:0}.principal-page-heading h1{line-height:var(--so-leading-tight)}.principal-page-heading h1+p{display:inline}@media (min-width:981px){.principal-page-heading{align-items:baseline;column-gap:var(--so-space-3);grid-template-columns:auto minmax(0,1fr);grid-template-areas:"crumb crumb""title subtitle"}.principal-page-heading .command-breadcrumb,.principal-page-heading .portal-route-breadcrumb{grid-area:crumb}.principal-page-heading h1{grid-area:title}.principal-page-heading>p{grid-area:subtitle;padding-bottom:2px}}.directory-header-row{align-items:start;gap:var(--so-space-4);margin-bottom:var(--so-space-3)}.directory-header-actions{padding-top:2px}.attendance-insight-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start}.intervention-student-list{gap:var(--so-space-2);margin-top:var(--so-space-3)}.intervention-student-list>a{align-items:start;gap:var(--so-space-1) var(--so-space-3);padding:var(--so-space-3);border-radius:var(--so-radius-lg);background:var(--so-surface);grid-template-columns:minmax(0,1fr) auto;display:grid}.intervention-student-list>a:hover{border-color:var(--so-border-strong);background:var(--so-surface-sunken)}.intervention-student-list>a>div{min-width:0}.intervention-student-list strong{font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold);color:var(--so-text);line-height:var(--so-leading-tight)}.intervention-student-list div>span{font-size:var(--so-size-caption);margin-top:1px}.intervention-student-list p{margin:var(--so-space-1) 0 0;font-size:var(--so-size-label);line-height:var(--so-leading-snug);color:var(--so-text-muted);grid-column:1/-1}.intervention-student-list>a>.status{align-self:start}@media (max-width:980px){.attendance-insight-grid{grid-template-columns:minmax(0,1fr)}}.preview-banner{align-items:center;gap:var(--so-space-2);width:auto;padding:var(--so-space-1) var(--so-space-2) var(--so-space-1) var(--so-space-3);margin-bottom:var(--so-space-3);border:1px solid var(--so-border);border-radius:var(--so-radius-pill);background:var(--so-surface);color:var(--so-text-secondary);font-size:var(--so-size-label);display:inline-flex}.preview-banner>div{gap:var(--so-space-2)}.preview-banner-label{padding:2px var(--so-space-2);border-radius:var(--so-radius-pill);background:var(--so-primary-soft);color:var(--so-primary);font-size:var(--so-size-caption);font-weight:var(--so-weight-semibold)}.preview-banner .btn-sm{min-height:26px;padding:2px var(--so-space-3);font-size:var(--so-size-caption);font-weight:var(--so-weight-medium);border-radius:var(--so-radius-pill);background:var(--so-surface);border:1px solid var(--so-border-strong);color:var(--so-text)}.sidebar-school-text strong,.sidebar-school-name{text-wrap:balance;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.sidebar-status-compact .sidebar-school-text{min-width:0}.directory-header-actions .hero-context-card,.directory-header-row .hero-context-card{max-width:260px;min-height:var(--so-control-height);padding:var(--so-space-2) var(--so-space-3);background:var(--so-surface);border:1px solid var(--so-border);justify-content:center;align-self:stretch;gap:1px}.directory-header-actions{align-items:stretch;gap:var(--so-space-2);flex-wrap:wrap;display:flex}.directory-header-actions>.btn{align-self:center}.diary-entry-details{border:1px solid var(--so-border-subtle);border-radius:var(--so-radius-md);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;display:grid;overflow:hidden}.diary-entry-details .diary-part{padding:var(--so-space-2) var(--so-space-3);min-width:0}.diary-entry-details .diary-part+.diary-part{border-left:1px solid var(--so-border-subtle)}.diary-part-classwork{background:var(--so-surface)}.diary-part-homework{background:var(--so-surface-sunken)}.diary-part-label{font-size:var(--so-size-caption);font-weight:var(--so-weight-semibold);letter-spacing:var(--so-tracking-caps);text-transform:uppercase;color:var(--so-text-muted);margin-bottom:2px;display:block}.diary-entry-details .diary-part p{font-size:var(--so-size-body-sm);line-height:var(--so-leading-snug);color:var(--so-text-secondary);margin:0}@media (max-width:860px){.diary-entry-details{grid-template-columns:minmax(0,1fr)}.diary-entry-details .diary-part+.diary-part{border-left:0;border-top:1px solid var(--so-border-subtle)}}.kpi-grid+.kpi-grid,.premium-metrics+.premium-metrics{margin-top:calc(var(--so-space-2) * -1 + var(--so-space-3))}.kpi-grid+.kpi-grid .kpi-card,.premium-metrics+.premium-metrics .metric{padding:var(--so-space-2) var(--so-space-3);background:var(--so-surface-sunken)}.kpi-grid+.kpi-grid .kpi-card-value,.premium-metrics+.premium-metrics .kpi-card-value{font-size:var(--so-size-kpi-sm)}.fee-secondary-metrics{gap:var(--so-space-2)}.fee-secondary-metrics>*{padding:var(--so-space-2) var(--so-space-3);background:var(--so-surface-sunken);border:1px solid var(--so-border-subtle);border-radius:var(--so-radius-lg);box-shadow:none}.fee-secondary-metrics .kpi-card-value,.fee-secondary-metrics strong{font-size:var(--so-size-kpi-sm);font-weight:var(--so-weight-semibold)}.fee-secondary-metrics .kpi-card-label,.fee-secondary-metrics span{font-size:var(--so-size-caption)}.sidebar-school-name{font-size:var(--so-size-caption);letter-spacing:-.01em;line-height:1.3}.portal-page{gap:var(--so-space-4)}.portal-columns,.portal-panels{gap:var(--so-space-4);align-items:start}.portal-column{gap:var(--so-space-3)}.portal-panel{border-radius:var(--so-radius-lg);border:1px solid var(--so-border);background:var(--so-surface);box-shadow:var(--so-shadow-sm);padding:var(--so-space-4)}.portal-section-title,.portal-columns h2,.portal-panels h2{font-size:var(--so-size-h3);font-weight:var(--so-weight-semibold);color:var(--so-text)}.portal-stats{gap:var(--so-card-gap)}.portal-stat{padding:var(--so-space-3) var(--so-space-4);gap:var(--so-space-1);border-radius:var(--so-radius-lg)}.portal-stat-label{font-size:var(--so-size-label);font-weight:var(--so-weight-medium);color:var(--so-text-muted)}.portal-stat strong{font-size:var(--so-size-kpi);font-weight:var(--so-weight-semibold);line-height:var(--so-leading-tight)}.portal-updates li,.portal-list li{border-radius:var(--so-radius-lg);padding:var(--so-space-3) var(--so-space-4)}.portal-timetable li{background:var(--so-surface)}.portal-quick-links{gap:var(--so-space-2)}.premium-dashboard,.compact-directory-page{row-gap:var(--so-space-4)}.premium-dashboard>.directory-header-row.inquiry-crm-heading,div>.directory-header-row.inquiry-crm-heading{margin-bottom:var(--so-space-4)}.premium-dashboard>.directory-header-row,.compact-directory-page>.directory-header-row,.premium-dashboard>.principal-page-heading,.compact-directory-page>.principal-page-heading{margin-bottom:0}.premium-dashboard>.card-aurora,.compact-directory-page>.card-aurora,.premium-dashboard>.principal-command-hero{margin-top:0;margin-bottom:0}:root{--so-block-gap:14px;--so-fab-safe:96px}.premium-dashboard,.premium-dashboard.compact-directory-page{gap:var(--so-block-gap)}.directory-header-row>.principal-page-heading{flex:auto;min-width:0}.card-aurora.card-aurora.is-overview{box-sizing:border-box;min-height:0;padding:18px 24px}.card-aurora.is-overview .hero-actions{margin-top:12px}.card-aurora.card-aurora.is-overview:has(>.module-hero-split){grid-template-columns:minmax(0,1fr)}.card-aurora.is-overview .module-hero-split{grid-template-columns:1fr 310px;align-items:center;gap:24px;width:100%;display:grid}@media (max-width:980px){.card-aurora.is-overview .module-hero-split{grid-template-columns:minmax(0,1fr);gap:16px}}.card-aurora.is-overview .module-hero-left h1,.card-aurora.is-overview .module-hero-left h2,.card-aurora.is-overview.results-hero h1,.card-aurora.is-overview.results-hero h2{font-size:var(--so-size-h2);line-height:var(--so-leading-tight)!important;letter-spacing:-.025em!important;font-weight:var(--so-weight-semibold)!important;color:var(--so-primary-on)!important;margin:4px 0 6px!important}.card-aurora.is-overview .module-hero-left p,.card-aurora.is-overview.results-hero p{font-size:var(--so-size-body-sm);line-height:var(--so-leading-normal)!important;color:var(--so-text-inverse)!important;max-width:640px!important;margin:0!important}.card-aurora.is-overview .module-hero-left .premium-kicker,.card-aurora.is-overview.results-hero .premium-kicker{font-size:var(--so-size-caption);letter-spacing:.08em!important;font-weight:var(--so-weight-medium)!important;color:var(--so-text-inverse)!important;margin-bottom:2px!important}.card-aurora.is-overview .hero-context-card,.card-aurora.is-overview .hero-stat-box,.card-aurora.is-overview .results-hero-card{box-sizing:border-box;width:100%;min-width:220px;max-width:310px;border-radius:var(--so-radius-lg,14px)!important;padding:12px 16px!important}.hero-stat-box{border-radius:var(--so-radius-lg);background:#ffffff14;border:1px solid #ffffff24;flex:none;align-content:center;gap:4px;min-width:190px;max-width:260px;padding:14px 15px;display:grid}.hero-stat-box .hero-stat-label{font-size:var(--so-size-caption);font-weight:var(--so-weight-semibold);letter-spacing:var(--so-tracking-caps);text-transform:uppercase;color:#a5b4fc}.hero-stat-box .hero-stat-value{font-size:var(--so-size-h3);font-weight:var(--so-weight-semibold);color:#fff;overflow-wrap:anywhere;line-height:1.3}.hero-stat-box .hero-stat-label:has(>.hero-stat-icon){justify-content:space-between;align-items:center;gap:var(--so-space-2);display:flex}.hero-stat-box .hero-stat-icon{border-radius:var(--so-radius-sm);color:#a5b4fc;background:#ffffff1a;border:1px solid #ffffff24;flex-shrink:0;place-items:center;width:22px;height:22px;display:grid}.kpi-grid{gap:12px}.kpi-grid.kpi-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.so-record-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.so-record{border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);color:inherit;gap:6px;padding:14px 15px;display:grid}a.so-record:hover{border-color:var(--so-border-strong);background:var(--so-surface-sunken)}.so-record-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.so-record-head strong{font-size:var(--so-size-body);font-weight:var(--so-weight-semibold);color:var(--so-text)}.so-record-head .status{margin-left:auto}.so-record-meta{font-size:var(--so-size-body-sm);color:var(--so-text-secondary)}.so-record-evidence{font-size:var(--so-size-body-sm);color:var(--so-text-muted);margin:0}.so-amount-row{border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);color:inherit;align-items:center;gap:14px;padding:13px 15px;display:flex}a.so-amount-row:hover{border-color:var(--so-border-strong);background:var(--so-surface-sunken)}.so-amount-row-info{flex:auto;gap:2px;min-width:0;display:grid}.so-amount-row-info strong{font-size:var(--so-size-body);font-weight:var(--so-weight-semibold);color:var(--so-text)}.so-amount-row-info span{font-size:var(--so-size-body-sm);color:var(--so-text-muted)}.so-amount-row-end{text-align:right;flex:none;align-content:center;justify-items:end;gap:5px;min-width:112px;display:grid}.so-amount-row-end strong{font-size:var(--so-size-body);font-weight:var(--so-weight-semibold);font-variant-numeric:tabular-nums;color:var(--so-text)}.so-event-row{border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);color:inherit;align-items:center;gap:16px;padding:14px 15px;display:flex}a.so-event-row:hover{border-color:var(--so-border-strong);background:var(--so-surface-sunken)}.so-event-date{border-radius:var(--so-radius-md);background:var(--so-primary-soft);width:66px;min-height:56px;color:var(--so-info);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-bold);letter-spacing:.02em;text-align:center;text-transform:uppercase;flex:none;place-content:center;padding:6px;display:grid}.so-event-info{flex:auto;gap:3px;min-width:0;display:grid}.so-event-info strong{font-size:var(--so-size-body);font-weight:var(--so-weight-semibold);color:var(--so-text)}.so-event-info span{font-size:var(--so-size-body-sm);color:var(--so-text-muted)}.so-row-end{flex:none;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:inline-flex}.so-panel-head{gap:4px;margin-bottom:14px;display:grid}.so-panel-head h2{font-size:var(--so-size-h3);font-weight:var(--so-weight-semibold);color:var(--so-text);margin:0;line-height:1.3}.so-panel-head p{font-size:var(--so-size-body-sm);color:var(--so-text-muted);margin:0}.so-panel-head-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.so-split-grid{gap:var(--so-block-gap);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.so-split-grid.is-wide-left{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}@media (max-width:1080px){.so-split-grid,.so-split-grid.is-wide-left{grid-template-columns:minmax(0,1fr)}}.erp-table th.so-col-end,.erp-table td.so-col-end,.student-table th:last-child,.student-table td:last-child{text-align:right;white-space:nowrap;width:1%}.student-table td:last-child>*{margin-left:auto}.erp-table .so-cell-actions{justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.erp-table .so-cell-status{justify-content:flex-end;display:inline-flex}.erp-table td.num,.erp-table th.num{text-align:right;font-variant-numeric:tabular-nums}.global-ai-launcher{bottom:calc(24px + env(safe-area-inset-bottom,0px));right:calc(24px + env(safe-area-inset-right,0px))}.schoolos-shell .premium-main{padding-bottom:calc(var(--so-space-6) + var(--so-fab-safe))}.module-hero-right .hero-stat-box{width:100%;max-width:310px}.so-event-date strong{font-size:18px;line-height:1.15;font-weight:var(--so-weight-bold);display:block}.so-event-date span{font-size:var(--so-size-caption);font-weight:var(--so-weight-semibold);letter-spacing:var(--so-tracking-caps);display:block}.so-event-row.is-holiday .so-event-date{background:var(--so-success-soft);color:var(--so-success)}.so-event-desc{color:var(--so-text-secondary)!important}.so-event-byline{font-size:var(--so-size-caption)!important;color:var(--so-text-muted)!important}.calendar-filter-group{flex-wrap:wrap;gap:8px;display:flex}.calendar-filter-group select{min-height:var(--so-control-height);font-size:var(--so-size-body-sm);color:var(--so-text);background:var(--so-surface);border:1px solid var(--so-border-strong);border-radius:var(--so-radius-md);padding:6px 12px}.calendar-schedule-panel .so-panel-head-row{border-bottom:1px solid var(--so-border);margin-bottom:14px;padding-bottom:12px}.calendar-schedule-panel .so-panel-head{margin-bottom:0}.class-diary-table td strong{font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold);color:var(--so-text);display:block}.diary-cell-sub{font-size:var(--so-size-caption);color:var(--so-text-muted);margin-top:2px;display:block}.class-diary-table td.diary-cell-prose{color:var(--so-text-secondary);white-space:normal;max-width:320px}.diary-cell-due{font-size:var(--so-size-caption);font-weight:var(--so-weight-semibold);color:var(--so-text-muted);margin-top:4px;display:block}.diary-cell-due.is-due-soon{color:var(--so-warning)}.intelligence-hero.is-compact{min-height:0}.schoolos-ai-page .intelligence-workspace{gap:var(--so-block-gap);display:grid}.schoolos-ai-page .chatbot-thread{flex:auto;min-height:0;max-height:none;overflow-y:visible}.schoolos-ai-page .chatbot-suggestions{border-top:0;border-bottom:1px solid var(--so-border)}.schoolos-ai-page .chatbot-composer{flex:none}@media (max-height:760px){.schoolos-ai-page .chatbot-shell{height:clamp(260px,100vh - 380px,620px)}}.so-record-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.so-record-foot .so-record-evidence{flex:auto}.so-record .progress-track{margin-top:4px}.teacher-period-table td strong{font-weight:var(--so-weight-semibold);color:var(--so-text);display:block}.preview-banner.teacher-preview-banner{border-radius:var(--so-radius-pill);font-size:var(--so-size-caption);min-width:0;max-width:100%;margin-bottom:0;padding:6px 10px}.preview-banner.teacher-preview-banner .preview-banner-label{font-size:var(--so-size-caption)}.preview-banner-identity{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}@media (max-width:1200px){.preview-banner-identity{display:none}}.portal-route-breadcrumb{font-size:var(--so-size-caption);font-weight:var(--so-weight-regular);letter-spacing:.04em;text-transform:uppercase;color:var(--so-text-muted);flex:0 0 100%;margin-bottom:1px}.portal-route-breadcrumb span{color:inherit;margin:0 2px}.portal-route-page{width:100%;max-width:1376px}.portal-route-table td strong{font-weight:var(--so-weight-semibold);color:var(--so-text);display:block}.portal-route-table th[scope=row]{font-weight:var(--so-weight-semibold);color:var(--so-text);text-align:left}.portal-child-switcher select{width:100%;min-height:var(--so-control-height);border-radius:var(--so-radius-md);color:#fff;font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold);background:#ffffff1f;border:1px solid #ffffff38;padding:6px 10px}.portal-child-switcher select option{color:var(--so-text);background:var(--so-surface)}.portal-shell{padding-bottom:calc(var(--so-space-6) + var(--so-space-4))}.premium-dashboard.setup-workspace,.premium-dashboard.form-workspace,.premium-dashboard.teacher-directory,.premium-dashboard.reports-page{gap:var(--so-block-gap)}.principal-page-heading .academic-year-badge{vertical-align:baseline;margin-left:8px}.schoolos-shell .action-detail-panel,.schoolos-shell .so-sticky-pane{max-height:calc(100vh - 100px - var(--so-fab-safe));overscroll-behavior:contain;overflow-y:auto}.action-table-buttons{justify-content:flex-end}.action-actions-cell{text-align:right}@media (max-width:1080px){.schoolos-shell .action-detail-panel,.schoolos-shell .so-sticky-pane{max-height:none;overflow-y:visible}}.teacher-home .portal-notice-list{overscroll-behavior:contain;max-height:372px;overflow-y:auto}.so-split-grid{align-items:stretch}.so-split-grid>.card,.so-split-grid>.premium-panel{flex-direction:column;min-width:0;display:flex}.so-split-grid>.card>.so-record-list{flex:auto;align-content:start;min-height:0}.so-split-grid>.card>.erp-table-wrap{flex:none}@media (min-width:1024px){.attendance-decision-split>.attendance-queue-panel{height:0;min-height:100%}.attendance-decision-split>.attendance-queue-panel>.so-panel-head-row,.attendance-decision-split>.attendance-queue-panel>.so-panel-head{flex:none}.attendance-decision-split>.attendance-queue-panel>.so-record-list{min-height:0;padding-right:var(--so-space-1);flex:auto;overflow-y:auto}.attendance-decision-split>.attendance-class-panel>.class-attendance-table-wrap{flex:none;overflow-y:visible}.so-split-grid.attendance-decision-split,.so-split-grid.attendance-decision-split.is-wide-left{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}}.portal-sidebar{flex:0 0 240px;width:240px}.portal-sidebar-nav a{border-radius:var(--so-radius-md);min-height:38px}.schoolos-ai-page .chatbot-shell{height:auto;min-height:clamp(460px,100vh - 340px,820px)}.schoolos-ai-page .chatbot-suggestions{gap:6px;padding:10px 14px}.chatbot-suggestions-label{color:var(--so-text-muted);font-size:var(--so-size-caption);font-weight:var(--so-weight-semibold);letter-spacing:var(--so-tracking-caps);text-transform:uppercase;white-space:nowrap;align-self:center;margin-right:2px}.schoolos-ai-page .chat-empty{gap:4px;padding:18px 16px}.schoolos-ai-page .chat-empty-icon{width:34px;height:34px}.schoolos-ai-page .ai-boundary-disclosure{margin-top:0}@media (max-height:820px){.schoolos-ai-page .chatbot-shell{min-height:clamp(360px,100vh - 300px,620px)}}.hero-stat-box .hero-stat-meter{border-radius:var(--so-radius-pill);background:#ffffff2e;height:6px;margin-top:2px;overflow:hidden}.hero-stat-box .hero-stat-meter>span{border-radius:inherit;background:#a5b4fc;height:100%;display:block}.hero-stat-box .hero-stat-caption{font-size:var(--so-size-caption);color:#ffffffb8;line-height:var(--so-leading-snug)}.principal-page-heading h1 .academic-year-badge{vertical-align:middle;font-size:var(--so-size-label);font-weight:var(--so-weight-semibold);letter-spacing:0;white-space:nowrap;margin-left:10px}.calendar-schedule-list{gap:10px}.fee-supporting-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.fee-supporting-grid>div{border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);box-shadow:var(--so-shadow-sm);align-content:start;gap:2px;min-width:0;padding:12px 14px;display:grid}.fee-supporting-grid dt,.fee-supporting-grid .fee-supporting-label{font-size:var(--so-size-caption);color:var(--so-text-muted);font-weight:var(--so-weight-medium)}.fee-supporting-grid dd,.fee-supporting-grid .fee-supporting-value{font-size:var(--so-size-h3);font-weight:var(--so-weight-semibold);color:var(--so-text);overflow-wrap:anywhere;margin:0}.fee-supporting-foot{justify-content:flex-end;margin-top:12px;display:flex}.so-split-grid>.card>.portal-empty:last-child,.so-split-grid>.card>.empty-state-card:last-child{text-align:center;flex:auto;place-content:center;justify-items:center;margin:0;display:grid}.student-fee-reconcile{font-size:var(--so-size-body-sm);color:var(--so-text-muted);margin:4px 0 0}.confirm-dialog .erp-modal-header h3{align-items:center;gap:8px;display:flex}.confirm-dialog-icon{color:#dc2626;flex-shrink:0}.confirm-dialog-record{color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:0 0 10px;padding:10px 12px;font-size:13px}.confirm-dialog-description{color:#334155;margin:0;font-size:13px;line-height:1.55}.confirm-dialog-reversibility{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:10px 0 0;padding:9px 12px;font-size:12px;font-weight:600;line-height:1.5}.confirm-dialog-phrase{margin-top:14px;display:block}.confirm-dialog-phrase>span{color:var(--so-text-muted);margin-bottom:5px;font-size:12px;display:block}.confirm-dialog-phrase strong{color:#0f172a;font-family:var(--font-mono,ui-monospace), monospace}.confirm-dialog-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:12px 0 0;padding:9px 12px;font-size:12px}.ds-field{flex-direction:column;gap:5px;min-width:0;display:flex}.ds-field-label{color:var(--so-text-muted);font-size:12px;font-weight:700;display:block}.ds-field-required{color:#dc2626}.ds-field-control{align-items:center;min-width:0;display:flex;position:relative}.ds-field-control>input,.ds-field-control>select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;min-width:0;padding:9px 12px;font-size:13px}.ds-field-control-icon>svg{color:var(--so-text-muted);pointer-events:none;position:absolute;left:11px}.ds-field-control>input:focus-visible,.ds-field-control>select:focus-visible{outline-offset:1px;border-color:#2563eb;outline:2px solid #2563eb}.ds-field-control>input:disabled,.ds-field-control>select:disabled{color:#94a3b8;cursor:not-allowed;background:#f1f5f9}.ds-field.is-invalid .ds-field-control>input,.ds-field.is-invalid .ds-field-control>select{border-color:#dc2626}.ds-field-hint{color:var(--so-text-muted);font-size:11px}.ds-field-error{color:#b91c1c;font-size:11px;font-weight:600}.ds-dropzone{cursor:pointer;text-align:center;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:10px;flex-direction:column;align-items:center;gap:5px;padding:22px 16px;transition:border-color .15s,background .15s;display:flex}.ds-dropzone:hover{border-color:#94a3b8}.ds-dropzone:focus-within{outline-offset:2px;border-color:#2563eb;outline:2px solid #2563eb}.ds-dropzone.is-dragging{background:#eff6ff;border-color:#2563eb}.ds-dropzone.has-file{background:#f0fdf4;border-style:solid;border-color:#16a34a}.ds-dropzone.is-disabled{cursor:not-allowed;opacity:.6}.ds-dropzone>svg{color:var(--so-text-muted)}.ds-dropzone strong{color:#0f172a;font-size:13px}.ds-dropzone span{color:var(--so-text-muted);font-size:11px}.ds-dropzone-input{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ds-dropzone-clear{color:#b91c1c;cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:5px;margin-top:6px;padding:0;font-size:11px;font-weight:600;display:inline-flex}.ds-dropzone-clear:hover{text-decoration:underline}.auth-invite-note{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin:0 0 14px;padding:11px 13px;font-size:13px;line-height:1.55}.auth-request-access{color:var(--so-text-muted);text-align:center;font-size:13px;line-height:1.55;display:block}.command-group{gap:2px;display:grid}.command-group+.command-group{margin-top:6px}.command-group-label{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.08em;margin:0;padding:6px 14px 2px;font-size:10px;font-weight:700}.command-results a.is-active{outline-offset:-2px;background:#eff6ff;outline:2px solid #bfdbfe}.form-field-error{color:#b91c1c;margin-top:4px;font-size:11px;font-weight:600;display:block}.form-disabled-reason{color:var(--so-text-muted);align-self:center;margin-right:auto;font-size:12px;font-weight:600}.auth-invite-note.is-rejected{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.auth-invite-note .spin{vertical-align:-2px;margin-right:6px}.marks-grid-wrap{overflow-x:auto}.marks-grid{min-width:100%}.marks-grid th,.marks-grid td{vertical-align:top}.marks-grid-student{text-align:left;min-width:150px;font-weight:700}.marks-grid-student a{color:inherit}.marks-grid-roll{width:64px;color:var(--so-text-muted);font-size:12px}.marks-grid-subject{text-align:left;min-width:108px}.marks-grid-subject small{color:var(--so-text-muted);text-transform:none;letter-spacing:0;margin-top:2px;font-size:10px;font-weight:600;display:block}.marks-grid-subject small.is-complete{color:#15803d}.marks-grid-cell{width:108px}.marks-grid-cell input{font-variant-numeric:tabular-nums;text-align:right;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:7px 8px;font-size:13px}.marks-grid-cell input:focus-visible{outline-offset:1px;border-color:#2563eb;outline:2px solid #2563eb}.marks-grid-cell input:disabled{color:#94a3b8;cursor:not-allowed;background:#f1f5f9}.marks-grid-cell input::-webkit-outer-spin-button{appearance:none;margin:0}.marks-grid-cell input::-webkit-inner-spin-button{appearance:none;margin:0}.marks-grid-cell input[type=number]{appearance:textfield}.marks-grid-cell.is-invalid input{background:#fef2f2;border-color:#dc2626}.marks-grid-error{color:#b91c1c;margin-top:3px;font-size:10px;font-weight:600;display:block}.marks-grid-note{color:var(--so-text-muted);margin-top:3px;font-size:10px;font-weight:600;display:block}.marks-grid-hint{color:var(--so-text-muted);align-self:center;font-size:12px}.calendar-month-nav{align-items:center;gap:8px;display:flex}.calendar-month-grid{margin-top:14px}.calendar-month-weekdays,.calendar-month-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calendar-month-weekdays{margin-bottom:6px}.calendar-month-weekdays span{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.08em;padding:4px 6px;font-size:10px;font-weight:700}.calendar-month-week+.calendar-month-week{margin-top:6px}.calendar-month-cell{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:3px;min-width:0;min-height:84px;padding:6px;display:flex}.calendar-month-cell.is-outside{background:#f8fafc}.calendar-month-cell.is-outside .calendar-month-daynum{color:#64748b}.calendar-month-cell.is-weekend{background:#f8fafc}.calendar-month-cell.is-holiday{background:#fef2f2;border-color:#fecaca}.calendar-month-cell.is-today{background:#eff6ff;border:2px solid #2563eb}.calendar-month-daynum{color:#0f172a;justify-content:space-between;align-items:center;gap:4px;font-size:12px;font-weight:700;display:flex}.calendar-month-daynum em{color:#1d4ed8;text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-style:normal;font-weight:700}.calendar-month-chip{text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border:0;border-radius:6px;width:100%;padding:3px 6px;font-size:10px;font-weight:700;display:block;overflow:hidden}.calendar-month-chip.tone-holiday{color:#b91c1c;background:#fee2e2}.calendar-month-chip.tone-exam{color:#92400e;background:#fef3c7}.calendar-month-chip.tone-meeting{color:#5b21b6;background:#ede9fe}.calendar-month-chip.tone-event{color:#0369a1;background:#e0f2fe}.calendar-month-chip:hover{filter:brightness(.96)}.calendar-month-chip:focus-visible,.calendar-month-more:focus-visible{outline-offset:1px;outline:2px solid #2563eb}.calendar-month-more{color:var(--so-text-muted);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-size:10px;font-weight:700}.calendar-month-more:hover{color:#2563eb;text-decoration:underline}.calendar-month-empty{color:var(--so-text-muted);margin:14px 0 0;font-size:13px}@media (max-width:900px){.calendar-month-grid{overflow-x:auto}.calendar-month-weekdays,.calendar-month-week{min-width:640px}}.timetable-slot-actions{opacity:0;transition:opacity .12s}.timetable-cell:hover .timetable-slot-actions,.timetable-cell:focus-within .timetable-slot-actions,.timetable-slot-actions:focus-within{opacity:1}@media (hover:none){.timetable-slot-actions{opacity:1}}.timetable-break-row td{text-align:center;background:repeating-linear-gradient(135deg,#f8fafc,#f8fafc 7px,#f1f5f9 7px 14px);border:1px dashed #cbd5e1;border-radius:6px;padding:5px 10px}.timetable-break-row span{color:#475569;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.timetable-break-row small{color:var(--so-text-muted);margin-top:1px;font-size:11px;display:block}.marks-grid-cell.is-absent{background:#fffbeb}.marks-grid-abs{color:#92400e;letter-spacing:.04em;cursor:pointer;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;width:100%;padding:7px 8px;font-size:12px;font-weight:700}.marks-grid-abs:hover{background:#fde68a}.marks-grid-abs:focus-visible{outline-offset:1px;outline:2px solid #2563eb}.marks-grid-abs:disabled{cursor:not-allowed;opacity:.7}.marks-grid-mark-absent{color:var(--so-text-muted);cursor:pointer;background:0 0;border:0;margin-top:3px;padding:0;font-size:10px;font-weight:600;display:block}.marks-grid-mark-absent:hover{color:#b45309;text-decoration:underline}.marks-grid-mark-absent:focus-visible{outline-offset:1px;outline:2px solid #2563eb}.form-helper.is-blocking{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:9px 12px;font-weight:600}.table-pagination{border-top:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:12px;display:flex}.table-pagination-summary{color:var(--so-text-muted);margin:0;font-size:12px;font-weight:600}.table-pagination-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.table-pagination-size{align-items:center;gap:6px;display:inline-flex}.table-pagination-size>span{color:var(--so-text-muted);font-size:12px;font-weight:700}.table-pagination-size select{background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:5px 8px;font-size:12px}.table-pagination-page{color:#0f172a;font-size:12px;font-weight:700}.table-pagination .btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width:480px){.table-pagination-controls{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;row-gap:10px;width:100%;display:grid}.table-pagination-size{grid-column:1/-1}.table-pagination-page{text-align:center}}.table-sort{color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;padding:0}.table-sort:hover{color:#2563eb}.table-sort:focus-visible{outline-offset:2px;border-radius:3px;outline:2px solid #2563eb}.result-card-context{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.result-card-context>div{border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px}.result-card-context span{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700;display:block}.result-card-context strong{color:#0f172a;margin-top:3px;font-size:16px;display:block}.result-card-context small{color:var(--so-text-muted);margin-top:2px;font-size:11px;display:block}.result-card-abs{color:#b45309;letter-spacing:.04em;font-weight:700}.result-card-remarks{margin-top:14px}.result-card-remarks strong{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700;display:block}.result-card-remark-line{color:#0f172a;border-bottom:1px solid #94a3b8;min-height:20px;margin:6px 0 0;padding-bottom:3px;font-size:13px}.result-card-signatures{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:26px;display:grid}.result-card-signatures>div{text-align:center}.result-card-sign-line{border-top:1px solid #0f172a;margin-bottom:4px;display:block}.result-card-signatures small{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700}.result-card-product{color:var(--so-text-muted);font-size:9px}.public-nav-links{align-items:center;gap:18px;margin-left:auto;margin-right:18px;display:flex}.public-nav-links a{color:#334155;font-size:14px;font-weight:600;text-decoration:none}.public-nav-links a:hover{color:#2563eb}.public-nav-links a.is-current{color:#2563eb;text-underline-offset:4px;text-decoration:underline}.public-nav-links a:focus-visible{outline-offset:3px;border-radius:3px;outline:2px solid #2563eb}.public-features,.public-audiences,.public-security-summary,.public-closing{width:100%;max-width:1120px;margin:0 auto;padding:56px 0}.public-features h2,.public-audiences h2,.public-closing h2{margin:6px 0 22px;font-size:30px}.public-feature-grid,.public-audience-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.public-feature,.public-audience{padding:20px}.public-feature h3,.public-audience h3{margin:0 0 8px;font-size:17px}.public-feature p,.public-audience p{color:var(--so-text-muted);margin:0;font-size:14px;line-height:1.6}.public-security-summary>div{color:#e2e8f0;background:#0f172a;border-radius:14px;padding:32px}.public-security-summary h2{color:#fff;margin:6px 0 12px;font-size:26px}.public-security-summary .ds-eyebrow{color:#93c5fd}.public-security-summary p{color:#cbd5e1;max-width:62ch;margin:0 0 18px;font-size:15px;line-height:1.65}.public-closing{text-align:center}.public-closing p{color:var(--so-text-muted);max-width:58ch;margin:0 auto 22px;font-size:16px}.public-closing-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.public-footer{border-top:1px solid #e2e8f0;margin-top:56px;padding:36px 0 24px}.public-footer-top{grid-template-columns:2fr 1fr 1fr;gap:28px;width:100%;max-width:1120px;margin:0 auto;display:grid}.public-footer-brand p{color:var(--so-text-muted);max-width:42ch;margin:10px 0 0;font-size:14px}.public-footer-nav{flex-direction:column;gap:8px;display:flex}.public-footer-nav h2{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 4px;font-size:11px;font-weight:700}.public-footer-nav a{color:#334155;font-size:14px;text-decoration:none}.public-footer-nav a:hover{color:#2563eb;text-decoration:underline}.public-footer-nav a:focus-visible{outline-offset:3px;border-radius:3px;outline:2px solid #2563eb}.public-footer-bottom{border-top:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;gap:12px;width:100%;max-width:1120px;margin:26px auto 0;padding-top:18px;display:flex}.public-footer-bottom small{color:var(--so-text-muted);font-size:12px}.pricing-card{flex-direction:column;display:flex}.pricing-card ul{flex:1}.pricing-compare{width:100%;max-width:1120px;margin:0 auto;padding:48px 0}.pricing-compare h2{margin:0 0 18px;font-size:26px}.pricing-compare-wrap{overflow-x:auto}.pricing-compare-table{border-collapse:collapse;width:100%;min-width:560px}.pricing-compare-table th,.pricing-compare-table td{text-align:left;border-bottom:1px solid #e2e8f0;padding:11px 14px;font-size:14px}.pricing-compare-table thead th{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.pricing-compare-table tbody th{color:#0f172a;font-weight:600}.pricing-compare-table td{color:#334155}.pricing-compare-table svg{color:#16a34a}.pricing-compare-table td:has(svg[aria-hidden]) svg.lucide-minus{color:#cbd5e1}@media (max-width:900px){.public-feature-grid,.public-audience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-footer-top{grid-template-columns:1fr 1fr}.public-nav-links{display:none}}@media (max-width:620px){.public-feature-grid,.public-audience-grid,.public-footer-top{grid-template-columns:1fr}}:is(body:has([role=dialog]) .global-ai-launcher,body:has([role=alertdialog]) .global-ai-launcher,body:has(.mobile-nav-overlay) .global-ai-launcher,body:has(.erp-modal-overlay) .global-ai-launcher,body:has(.modal-backdrop) .global-ai-launcher,body:has(.command-overlay) .global-ai-launcher,body:has(.global-ai-backdrop) .global-ai-launcher){display:none}.premium-dashboard,.portal-route-page,.result-card-page{padding-bottom:var(--fab-clearance,0px)}@media (max-width:1024px){:root{--fab-clearance:84px}}.result-card-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (max-width:767px){.result-card-table{table-layout:fixed;font-size:10px}.result-card-table th,.result-card-table td{overflow-wrap:anywhere;padding:6px 5px}.result-card-table th:first-child,.result-card-table td:first-child{white-space:normal;width:30%}.result-card-table th:not(:first-child),.result-card-table td:not(:first-child){width:14%}.result-card-table .status{padding:2px 5px;font-size:9px}.result-card-summary,.result-card-context{grid-template-columns:repeat(2,minmax(0,1fr))}.result-card-signatures{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.result-card-printable{padding:16px 14px}.result-card-printable footer{flex-direction:column;gap:6px}}@media (max-width:700px){.auth-card{margin-top:0}}@media (max-width:767px){.kpi-grid,.kpi-grid.kpi-grid-5,.kpi-grid.kpi-grid-6,.attendance-stat-grid,.compact-kpi-grid,.compact-kpi-grid.admissions-metrics,.premium-metrics,.result-card-student-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kpi-card{padding:11px}.kpi-card-icon{flex-shrink:0}}@media (max-width:1023px) and (min-width:768px){.kpi-grid.kpi-grid-5,.kpi-grid.kpi-grid-6{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:767px){.page-actions,.hero-actions,.directory-header-actions{gap:var(--so-space-2);flex-flow:wrap;display:flex}.page-actions>.btn-primary,.hero-actions>.btn-primary,.principal-page-actions>.btn-primary,.directory-header-actions>.btn-primary{flex:100%;justify-content:center}.page-actions>.btn-secondary,.hero-actions>.btn-secondary,.principal-page-actions>.btn-secondary,.directory-header-actions>.btn-secondary,.page-actions>.btn-danger,.hero-actions>.btn-danger,.principal-page-actions>.btn-danger,.directory-header-actions>.btn-danger{flex:calc(50% - 4px);justify-content:center;min-width:0}}.kpi-card-label{min-width:0}.kpi-card-label>:first-child{overflow-wrap:anywhere;min-width:0}.kpi-card-label .kpi-card-icon{flex:none}.schoolos-tab-nav,.tab-strip,[role=tablist]{scroll-snap-type:x proximity;scrollbar-width:none}.schoolos-tab-nav::-webkit-scrollbar{display:none}.tab-strip::-webkit-scrollbar{display:none}[role=tablist]::-webkit-scrollbar{display:none}.schoolos-tab-nav>*,.tab-strip>*,[role=tablist]>*{scroll-snap-align:start}@media (max-width:1023px){.schoolos-tab-nav,.tab-strip,[role=tablist]{-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000 100%)}.schoolos-tab-nav.is-scroll-end,.tab-strip.is-scroll-end,[role=tablist].is-scroll-end{-webkit-mask-image:none;mask-image:none}}@media (max-width:767px){.calendar-filter-group,.diary-filter-group,.filter-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.calendar-filter-group>*,.diary-filter-group>*,.filter-row>*{width:100%;min-width:0}.calendar-filter-group>select,.diary-filter-group>select,.filter-row>select{min-height:44px}.calendar-filter-group>:last-child:nth-child(odd),.diary-filter-group>:last-child:nth-child(odd),.filter-row>:last-child:nth-child(odd){grid-column:1/-1}.calendar-month-cell{min-height:62px}}.table-card-list{display:none}@media (max-width:767px){.erp-table-wrap.has-mobile-cards{display:none}.table-card-list{gap:8px;display:grid}}.table-card-list-empty{display:none}@media (max-width:767px){.table-card-list-empty{display:block}}.table-card{border:1px solid var(--so-border);text-align:left;width:100%;min-height:64px;color:inherit;background:#fff;border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:12px 14px;text-decoration:none;display:grid}.table-card:hover,.table-card:focus-visible{background:#f8fbff;border-color:#bfdbfe}.table-card:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.table-card-main{gap:3px;min-width:0;display:grid}.table-card-title{color:var(--so-text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;display:block;overflow:hidden}.table-card-meta{color:var(--so-text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.table-card-meta .status{font-size:11px}.table-card-chevron{color:var(--so-text-muted);align-items:center;display:flex}.timetable-day-tabs,.timetable-day-list{display:none}@media (max-width:767px){.timetable-day-tabs{gap:6px;margin-bottom:12px;padding-bottom:4px;display:flex;overflow-x:auto}.timetable-day-tabs button{border:1px solid var(--so-border);min-height:44px;color:var(--so-text-muted);text-transform:capitalize;cursor:pointer;background:#fff;border-radius:999px;flex:none;padding:0 16px;font-size:13px;font-weight:700}.timetable-day-tabs button[aria-pressed=true]{color:#1d4ed8;background:#eff6ff;border-color:#2563eb}.timetable-day-list{gap:8px;display:grid}.timetable-day-row{border:1px solid var(--so-border);background:#fff;border-radius:10px;grid-template-columns:64px 1fr auto;align-items:center;gap:10px;min-height:56px;padding:10px 12px;display:grid}.timetable-day-row.is-break{background:#f8fafc;grid-template-columns:64px 1fr}.timetable-day-period{color:var(--so-text-muted);font-size:11px;font-weight:700}.timetable-day-period small{font-weight:500;display:block}.timetable-day-subject{gap:2px;min-width:0;display:grid}.timetable-day-subject strong{overflow-wrap:anywhere;font-size:14px}.timetable-day-subject span{color:var(--so-text-muted);overflow-wrap:anywhere;font-size:12px}.timetable-day-actions{gap:4px;display:flex}.timetable-day-empty{color:var(--so-text-muted);text-align:center;padding:20px;font-size:13px}.timetable-week-scroll{display:none}.register-counters{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.attendance-counter-row>*,.register-counters>*{min-width:0}}.command-trigger-label-mobile{display:none}@media (max-width:1023px){.command-trigger-label{display:none}.command-trigger-label-mobile{text-overflow:ellipsis;white-space:nowrap;display:inline;overflow:hidden}.schoolos-command-bar .command-trigger{height:auto;min-height:var(--so-tap-target);max-width:none;max-height:none}.schoolos-command-bar .command-trigger kbd{display:none}.premium-dashboard .hero-actions .btn,.premium-dashboard .page-actions .btn,.premium-dashboard .directory-header-actions .btn,.portal-route-page .hero-actions .btn{min-height:var(--so-tap-target);padding-block:10px}.principal-brief-card .btn,.compact-directory-tabs .btn,.action-detail-actions .btn,.card-aurora.student-profile-hero .btn,.student-hero-actions .btn,.principal-hero-actions .btn{min-height:var(--so-tap-target);padding-block:8px}.hero-stat-box select,.portal-child-select{min-height:var(--so-tap-target)}.auth-field button{min-height:var(--so-tap-target);min-width:var(--so-tap-target)}.auth-contact{margin-top:6px;padding-block:14px}.so-panel-head-row .mini-link{min-height:var(--so-tap-target)}.session-badge button,.recent-activity-list li>a{min-height:var(--so-tap-target);min-width:var(--so-tap-target)}.global-ai-launcher,.btn,.action-btn,.table-sort,.command-trigger,.topbar-demo-mobile-trigger,.demo-banner-dismiss,.portal-pill,.portal-topbar-menu,.auth-forgot,.auth-remember,.auth-magic-link,.marks-grid-mark-absent,select,.pagination-btn,.table-pagination button{min-height:var(--so-tap-target)}.action-btn,.demo-banner-dismiss,.table-pagination button{min-width:var(--so-tap-target)}.btn{padding-block:10px}.table-sort{padding:0 2px}.page-back-link{align-items:center;min-height:44px;display:inline-flex}.mobile-dashboard-topbar{padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right))}.global-ai-launcher{bottom:max(18px, env(safe-area-inset-bottom))}}.fee-structure-table th,.fee-structure-table td{vertical-align:top}.fee-structure-table th:first-child,.fee-structure-table td:first-child{min-width:200px}.fee-structure-identity{gap:var(--so-space-1);flex-direction:column;min-width:14ch;display:flex}.fee-structure-identity>strong{color:var(--so-text);font-size:var(--so-size-body);font-weight:var(--so-weight-semibold);line-height:var(--so-leading-snug)}.fee-structure-identity>span{color:var(--so-text-muted);font-size:var(--so-size-label);line-height:var(--so-leading-snug)}.fee-structure-lines{gap:var(--so-space-2);flex-wrap:wrap;max-width:58ch;display:flex}.fee-structure-line{align-items:baseline;gap:var(--so-space-2);padding:var(--so-space-1) var(--so-space-2);border:1px solid var(--so-border);border-radius:var(--so-radius-md);background:var(--so-surface-sunken);font-size:var(--so-size-label);line-height:var(--so-leading-tight);display:inline-flex}.fee-structure-line-name{color:var(--so-text-secondary)}.fee-structure-line b{color:var(--so-text);font-weight:var(--so-weight-semibold);font-variant-numeric:tabular-nums;white-space:nowrap}.fee-structure-line small{color:var(--so-text-muted);font-size:var(--so-size-caption)}.fee-structure-total{color:var(--so-text);font-size:var(--so-size-body);font-weight:var(--so-weight-semibold);white-space:nowrap}.fee-structure-items-editor{margin-top:var(--so-space-6)}.fee-structure-item-rows{gap:var(--so-space-3);display:grid}.fee-structure-item-row{align-items:end;gap:var(--so-space-3);grid-template-columns:minmax(0,2fr) minmax(110px,1fr) auto auto;display:grid}.fee-structure-item-row>label{gap:var(--so-space-1);min-width:0;color:var(--so-text-secondary);font-size:var(--so-size-label);font-weight:var(--so-weight-medium);display:grid}.fee-structure-item-row input[type=text],.fee-structure-item-row input[type=number]{width:100%;min-width:0;min-height:var(--so-control-height);padding:var(--so-space-2) var(--so-space-3);border:1px solid var(--so-border-strong);border-radius:var(--so-radius-sm);background:var(--so-surface);color:var(--so-text);font:inherit;font-size:var(--so-size-body)}.fee-structure-item-row input:focus{border-color:var(--so-primary);outline:none}.fee-structure-item-row input::placeholder{color:var(--so-text-placeholder)}.fee-structure-item-optional.check-field{white-space:nowrap;grid-column:auto;align-self:center;gap:var(--so-space-2)!important}.fee-structure-item-remove{padding:var(--so-space-2);align-self:center}.fee-structure-form-actions{gap:var(--so-space-3);margin-top:var(--so-space-6);flex-wrap:wrap;display:flex}@media (max-width:767px){.fee-structure-item-row{grid-template-columns:minmax(0,1fr)}.fee-structure-item-remove{justify-self:start}.fee-structure-lines{max-width:none}.fee-structure-table{font-size:var(--so-size-body-sm)}}.kpi-card-label>:first-child,.portal-stat-value,.portal-stat-label{overflow-wrap:break-word;word-break:normal}.kpi-card-value,.portal-stat-value,.compact-metric-value{white-space:nowrap;font-variant-numeric:tabular-nums;overflow-wrap:normal}.kpi-card-value.is-text{white-space:normal;overflow-wrap:break-word;word-break:normal}@media (max-width:1180px){.kpi-grid.kpi-grid-prose{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.kpi-grid,.kpi-grid.kpi-grid-4,.kpi-grid.kpi-grid-5,.kpi-grid.kpi-grid-6,.attendance-stat-grid,.compact-kpi-grid,.compact-kpi-grid.admissions-metrics,.premium-metrics,.portal-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.portal-stats{gap:10px}}.field-reset-link{margin-top:var(--so-space-1);color:var(--so-primary);font-size:var(--so-size-caption);font-weight:var(--so-weight-medium);text-align:left;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;align-self:start;padding:0;text-decoration:underline}.field-reset-link:hover{text-decoration-thickness:2px}.field-reset-link:focus-visible{outline:2px solid var(--so-primary);outline-offset:2px;border-radius:3px}.placement-warnings ul{margin:var(--so-space-2) 0 0;padding-left:var(--so-space-4);gap:var(--so-space-1);display:grid}.placement-warnings li{font-size:var(--so-size-body-sm);line-height:1.45}.placement-warnings small{margin-top:var(--so-space-2);color:var(--so-text-muted);display:block}@media (max-width:768px){.global-ai-launcher{width:48px;height:48px;bottom:calc(16px + env(safe-area-inset-bottom,0px));right:calc(16px + env(safe-area-inset-right,0px));border-radius:999px;justify-content:center;gap:0;padding:0}.global-ai-launcher>span:not(.global-ai-launcher-pulse){display:none}.global-ai-launcher svg{flex:none}}@media (max-width:480px){.global-ai-drawer{width:100%;max-width:100%;padding-bottom:env(safe-area-inset-bottom,0px)}}.global-ai-launcher:focus-visible{outline-offset:-1px;outline:3px solid #fff;box-shadow:0 0 0 5px #1d4ed873}.recovery-segment-bar{overscroll-behavior-x:contain;scrollbar-width:thin;gap:var(--so-space-1);flex-wrap:nowrap;padding:6px;overflow:auto hidden}.recovery-segment-bar>svg{margin:0 var(--so-space-1) 0 2px}.recovery-segment-bar button{min-height:var(--so-tap-target);white-space:nowrap;font-size:var(--so-size-label);font-weight:var(--so-weight-semibold);flex:none;gap:5px;padding:6px 6px 6px 9px}.recovery-segment-bar button span{min-width:18px;height:18px;font-size:var(--so-size-caption);padding:0 5px}@media (max-width:767px){.schoolos-command-bar{height:auto;min-height:56px;max-height:none;padding-top:var(--so-space-2);padding-bottom:var(--so-space-2);row-gap:var(--so-space-2);flex-wrap:wrap}.schoolos-topbar-left{flex:auto}.schoolos-topbar-right{flex:none}.schoolos-topbar-center{flex:100%;order:3;min-width:0}.schoolos-topbar-demo-actions:has(.teacher-preview-banner){flex:100%}.teacher-preview-banner{row-gap:var(--so-space-2);flex-wrap:wrap}}@media (max-width:1024px){.timetable-day-subject strong,.timetable-day-subject span{overflow-wrap:break-word;word-break:normal;-webkit-hyphens:manual;hyphens:manual}}.portal-family-total{margin-top:var(--so-space-4)}.portal-family-total .kpi-grid{margin-top:var(--so-space-3)}.access-limited{justify-items:start;gap:var(--so-space-3);max-width:560px;margin:var(--so-space-8) auto;text-align:left;display:grid}.access-limited h1{font-size:var(--so-size-h1);letter-spacing:-.02em;margin:0}.access-limited p{color:var(--so-text-secondary);font-size:var(--so-size-body);margin:0;line-height:1.55}.access-limited-icon{border-radius:var(--so-radius-lg);background:var(--so-warning-soft);width:44px;height:44px;color:var(--so-warning);place-items:center;display:grid}.access-limited-icon[data-reason=unauthenticated]{background:var(--so-primary-soft);color:var(--so-primary)}.access-limited-icon[data-reason=not-found]{background:var(--so-surface-sunken);color:var(--so-text-muted)}.access-limited-actions{gap:var(--so-space-3);margin-top:var(--so-space-2);flex-wrap:wrap;display:flex}@media (max-width:767px){.access-limited{margin:var(--so-space-4) 0}.access-limited-actions>.btn{flex:100%;justify-content:center}}.marks-grid-mark-absent{min-height:var(--so-tap-target);align-items:center;display:inline-flex;position:relative}.marks-grid-mark-absent:after{content:"";width:max(100%, var(--so-tap-target));height:var(--so-tap-target);position:absolute;inset:50% auto auto 50%;translate:-50% -50%}.timetable-slot-actions .action-btn:after{content:"";width:var(--so-tap-target);height:var(--so-tap-target);position:absolute;inset:50% auto auto 50%;translate:-50% -50%}@media (pointer:coarse){.btn,.action-btn,.table-sort,.command-trigger,.topbar-demo-mobile-trigger,.demo-banner-dismiss,.portal-pill,.portal-topbar-menu,.auth-forgot,.auth-magic-link,.marks-grid-mark-absent,.recovery-segment-bar button,.status-switcher button,select,.pagination-btn,.table-pagination button{min-height:var(--so-tap-target)}.action-btn,.demo-banner-dismiss,.table-pagination button{min-width:var(--so-tap-target)}.auth-field button,.session-badge button,.recent-activity-list li>a{min-height:var(--so-tap-target);min-width:var(--so-tap-target)}.so-panel-head-row .mini-link{min-height:var(--so-tap-target)}.global-ai-launcher{min-height:var(--so-tap-target);min-width:var(--so-tap-target)}.page-back-link{min-height:var(--so-tap-target);align-items:center;display:inline-flex}}.compact-table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}@media (max-width:480px){.so-event-row{row-gap:var(--so-space-2);column-gap:var(--so-space-3);flex-wrap:wrap}.so-event-info{flex:60%}.so-row-end{flex:100%;justify-content:flex-start;margin-left:0}}@media (max-width:1023px),(pointer:coarse){.action-table-buttons>*,.action-table-buttons button,.action-table-buttons a,.action-detail-actions .btn,.principal-brief-card .btn,.compact-directory-tabs .btn{min-height:var(--so-tap-target);padding-block:var(--so-space-2)}.so-tab,[role=tab]{min-height:var(--so-tap-target)}.principal-brief-card .btn{font-size:var(--so-size-label)}}.setup-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.setup-tab-btn{flex:none}@media (max-width:480px){.import-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1200px){.admission-row{row-gap:var(--so-space-3);grid-template-columns:minmax(0,1fr) auto}.admission-row-facts{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.admission-row-status{justify-content:flex-start}.admissions-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.admissions-toolbar .student-search{grid-column:1/-1}.student-toolbar select{min-width:0}}.setup-form{container-type:inline-size}.setup-form .live-form-grid{grid-template-columns:minmax(0,1fr)}@container (min-width:430px){.setup-form .live-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.setup-form .live-form-grid>*,.setup-form .live-form-grid label>*{min-width:0}.setup-form .live-form-grid input:not([type=checkbox]),.setup-form .live-form-grid select,.setup-form .live-form-grid textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.setup-form .live-form-grid input[type=file]{display:block}.setup-form .live-form-grid>.full{grid-column:1/-1}.so-error-shell{min-height:60vh;padding:var(--so-space-6) var(--so-space-4);box-sizing:border-box;place-items:center;display:grid}.so-error-state{width:100%;max-width:460px;margin:var(--so-space-6) auto;padding:var(--so-space-6) var(--so-space-5);box-sizing:border-box;text-align:center;border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);box-shadow:var(--so-shadow-sm)}.so-error-state-icon{width:44px;height:44px;margin:0 auto var(--so-space-3);color:#d97706;background:#fff7ed;border-radius:50%;place-items:center;display:grid}.so-error-state h1{margin:0 0 var(--so-space-2);font-size:var(--so-size-h3);font-weight:var(--so-weight-semibold);color:var(--so-text);line-height:1.3}.so-error-state p{margin:0 0 var(--so-space-4);font-size:var(--so-size-body-sm);color:var(--so-text-muted);line-height:1.55}.so-error-state-ref code{border-radius:var(--so-radius-sm);background:var(--so-surface-sunken);font-size:var(--so-size-caption);overflow-wrap:anywhere;padding:2px 6px}.so-error-state-actions{justify-content:center;gap:var(--so-space-2);flex-wrap:wrap;display:flex}@media (max-width:380px){.so-error-state-actions{flex-direction:column}.so-error-state-actions>*{width:100%}}.form-field-hint{margin-top:var(--so-space-1);color:var(--so-text-muted);font-size:var(--so-size-caption);line-height:1.35;display:block}.form-inline-confirm{align-items:center;gap:var(--so-space-2);padding:var(--so-space-3);border:1px solid var(--so-border);border-radius:var(--so-radius-md);background:var(--so-surface-sunken);font-size:var(--so-size-body-sm);display:flex}.form-inline-confirm input{flex-shrink:0;width:18px;height:18px}.assignment-chips{gap:var(--so-space-1);flex-wrap:wrap;max-width:320px;margin:0;padding:0;list-style:none;display:flex}.assignment-chip{padding:3px var(--so-space-2);border:1px solid var(--so-border);border-radius:var(--so-radius-pill,999px);background:var(--so-surface-sunken);color:var(--so-text);font-size:var(--so-size-caption);font-weight:var(--so-weight-medium);white-space:nowrap;cursor:pointer;transition:border-color var(--so-transition), background var(--so-transition);align-items:center;line-height:1.4;display:inline-flex}.assignment-chip:hover{border-color:var(--so-primary);background:var(--so-primary-soft);color:var(--so-primary)}.assignment-chip:focus-visible{outline:2px solid var(--so-primary);outline-offset:2px}.erp-table td:has(.assignment-chips){vertical-align:top}.erp-table tr:has(.assignment-chips)>td{vertical-align:top}.portal-inbox{grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:0;padding:0;display:grid;overflow:hidden}.portal-inbox-list{border-right:1px solid var(--so-border);min-width:0;padding:16px}.portal-inbox-detail{align-content:start;gap:12px;min-width:0;padding:16px 20px;display:grid}.portal-inbox-threads{gap:6px;margin:12px 0 0;padding:0;list-style:none;display:grid}.portal-inbox-thread{text-align:left;width:100%;min-height:var(--so-tap-target,44px);border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);color:var(--so-text);cursor:pointer;gap:2px;padding:10px 12px;display:grid}.portal-inbox-thread strong{overflow-wrap:anywhere;font-size:14px}.portal-inbox-thread span{color:var(--so-text-muted);font-size:12px}.portal-inbox-thread:hover{border-color:var(--so-border-strong)}.portal-inbox-thread.is-active{border-color:var(--so-primary);background:var(--so-primary-soft)}.portal-inbox-thread:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:var(--so-focus-ring-offset)}.portal-inbox-state{color:var(--so-text-secondary);justify-items:start;gap:8px;padding:16px 0;display:grid}.portal-inbox-placeholder{color:var(--so-text-muted);text-align:center;justify-items:center;gap:8px;padding:48px 16px;display:grid}.portal-inbox-title{overflow-wrap:anywhere;margin:0;font-size:18px}.portal-inbox-meta,.portal-inbox-note{color:var(--so-text-muted);margin:0;font-size:12px}.portal-inbox-messages{gap:10px;margin:0;padding:0;list-style:none;display:grid}.portal-inbox-messages li{border-radius:var(--so-radius-lg);background:var(--so-surface-sunken);border:1px solid var(--so-border-subtle);max-width:min(560px,92%);padding:10px 12px}.portal-inbox-messages li.is-mine{background:var(--so-primary-soft);border-color:var(--so-primary-soft);justify-self:end}.portal-inbox-messages li p{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--so-text);margin:4px 0 0}.portal-inbox-sender{color:var(--so-text-muted);font-size:12px}.portal-inbox-reply,.portal-inbox-compose{gap:10px;display:grid}.portal-inbox-compose h2{margin:0;font-size:18px}.portal-inbox-compose label{color:var(--so-text-secondary);gap:4px;font-size:13px;display:grid}.portal-inbox-reply .btn,.portal-inbox-compose .btn[type=submit]{min-height:var(--so-tap-target,44px);justify-self:end}.portal-inbox-error{color:var(--so-danger);margin:0;font-size:13px}.portal-inbox-back{justify-self:start;display:none}@media (max-width:900px){.portal-inbox{grid-template-columns:minmax(0,1fr)}.portal-inbox-list{border-right:0}.portal-inbox.is-detail .portal-inbox-list,.portal-inbox:not(.is-detail) .portal-inbox-detail{display:none}.portal-inbox-back{display:inline-flex}.portal-inbox-detail{padding:16px}.portal-inbox-reply .btn,.portal-inbox-compose .btn[type=submit]{justify-self:stretch}}.voucher-feedback.register-confirmation{border:1px solid var(--so-primary);border-radius:var(--so-radius-lg);background:var(--so-surface);color:var(--so-text);flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:12px;padding:10px 12px}.voucher-feedback .voucher-success-text{flex:200px;min-width:0;margin:0;font-size:14px;font-weight:600;line-height:1.4}.voucher-feedback .voucher-number{white-space:nowrap}.voucher-open-link{white-space:nowrap;border:1px solid var(--so-primary);border-radius:var(--so-radius-md);background:var(--so-surface);min-height:36px;color:var(--so-primary);cursor:pointer;flex:none;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .12s,color .12s;display:inline-flex}.voucher-open-link svg{flex:none}.voucher-open-link:hover{background:var(--so-primary);color:var(--so-primary-on)}.voucher-open-link:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:var(--so-focus-ring-offset)}@media (max-width:640px){.voucher-feedback.register-confirmation{gap:8px}.voucher-feedback .voucher-success-text{flex:1 1 0}.voucher-open-link{min-height:var(--so-tap-target,44px);justify-content:center;width:100%}}.voucher-sheet-slot{gap:12px;min-width:0;display:grid}.voucher-school-initials{color:#0f172a;background:#f1f5f9;border:1px solid #94a3b8;border-radius:10px;place-items:center;width:40px;height:40px;font-size:14px;font-weight:850;display:inline-grid}.live-challan-copy .voucher-breakdown tfoot th{text-transform:none;letter-spacing:0;background:#f8fafc;font-size:10px}.live-challan-copy .voucher-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.voucher-stamp-space{border:1px dashed #94a3b8;border-radius:6px;min-height:34px;margin-top:4px!important}.challan-settings-required h1{margin:6px 0 10px}.challan-missing-list{gap:4px;margin:8px 0 12px 18px;font-weight:700;display:grid}.challan-settings-panel .challan-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.challan-settings-panel .challan-settings-grid label{gap:6px;display:grid}.challan-settings-panel .challan-settings-grid label>span{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.challan-settings-panel .challan-settings-grid .full-field{grid-column:1/-1}.challan-settings-panel fieldset.challan-settings-grid{gap:var(--so-space-2);border:0;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));min-width:0;margin:14px 0 0;padding:0;display:grid}.challan-settings-panel fieldset.challan-settings-grid label{border:1px solid var(--so-border);border-radius:var(--so-radius-md);background:var(--so-surface);cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:row;align-items:center;gap:10px;min-height:44px;padding:10px 14px;transition:border-color .15s,background-color .15s;display:flex}.challan-settings-panel .challan-settings-grid label:has(input[type=checkbox]){border:1px solid var(--so-border);border-radius:var(--so-radius-md);background:var(--so-surface);cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:row;align-items:center;gap:10px;min-height:44px;padding:10px 14px;transition:border-color .15s,background-color .15s;display:flex}.challan-settings-panel fieldset.challan-settings-grid label:hover{background:var(--so-surface-sunken);border-color:var(--so-border-strong)}.challan-settings-panel .challan-settings-grid label:has(input[type=checkbox]):hover{background:var(--so-surface-sunken);border-color:var(--so-border-strong)}.challan-settings-panel fieldset.challan-settings-grid label:focus-within{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:1px}.challan-settings-panel .challan-settings-grid label:has(input[type=checkbox]:focus-within){outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:1px}:is(.challan-settings-panel .challan-settings-grid label:has(input[type=checkbox]) input[type=checkbox],.challan-settings-panel fieldset.challan-settings-grid input[type=checkbox]){width:18px;height:18px;accent-color:var(--so-primary);cursor:pointer;flex:none;margin:0}.challan-settings-panel fieldset.challan-settings-grid label>span{color:var(--so-text);font-size:var(--so-size-label);font-weight:var(--so-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1.2}.challan-settings-panel .challan-settings-grid label:has(input[type=checkbox])>span{color:var(--so-text);font-size:var(--so-size-label);font-weight:var(--so-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1.2}.challan-settings-panel .challan-settings-grid label:has(input[type=checkbox]:checked){border-color:var(--so-primary);background:var(--so-primary-soft)}.challan-settings-panel fieldset.challan-settings-grid label:has(input[type=checkbox]:checked){border-color:var(--so-primary);background:var(--so-primary-soft)}.challan-settings-panel .challan-settings-grid label:has(input[type=checkbox]:checked)>span{color:var(--so-primary)}.challan-settings-panel fieldset.challan-settings-grid label:has(input[type=checkbox]:checked)>span{color:var(--so-primary)}.challan-settings-panel fieldset.challan-settings-grid:disabled label{opacity:.65;cursor:not-allowed}.challan-settings-panel .challan-settings-grid label:has(input[type=checkbox]:disabled){opacity:.65;cursor:not-allowed}@media (max-width:480px){.challan-settings-panel fieldset.challan-settings-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}.challan-settings-panel dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 0;display:grid}.challan-settings-panel dt{color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.challan-settings-panel dd{margin:3px 0 0;font-weight:600}.challan-settings-panel .challan-settings-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}@media (min-width:1100px){.voucher-sheet.is-three-up{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.voucher-sheet.is-three-up>.voucher-sheet-slot{padding:0 8px}.voucher-sheet.is-three-up>.voucher-sheet-slot+.voucher-sheet-slot{border-left:1px dashed #64748b}.voucher-sheet.is-three-up .voucher-cut-line{display:none}.voucher-sheet.is-three-up .voucher-identity-grid,.voucher-sheet.is-three-up .voucher-meta-grid,.voucher-sheet.is-three-up .voucher-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.voucher-sheet.is-three-up .voucher-summary .voucher-payable{grid-column:1/-1}}@media (max-width:680px){.challan-settings-panel .challan-settings-grid,.challan-settings-panel dl{grid-template-columns:minmax(0,1fr)}}@media print{@page challan-landscape{size:A4 landscape;margin:5mm}.fee-voucher-page.is-three-copy{page:challan-landscape}.fee-voucher-page>header,.fee-voucher-page>.principal-page-heading{display:none!important}.voucher-sheet.is-three-up{flex-direction:initial!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important;gap:0!important;display:grid!important}.voucher-sheet.is-three-up>.voucher-sheet-slot{padding:0 2mm!important;display:block!important}.voucher-sheet.is-three-up>.voucher-sheet-slot+.voucher-sheet-slot{border-left:1px dashed #64748b!important}.voucher-sheet.is-three-up .voucher-cut-line{display:none!important}.voucher-sheet.is-three-up .voucher-copy{height:100%!important;font-size:7.5pt!important}.voucher-sheet.is-three-up .voucher-identity-grid,.voucher-sheet.is-three-up .voucher-meta-grid,.voucher-sheet.is-three-up .voucher-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}.voucher-sheet.is-three-up .voucher-summary .voucher-payable{grid-column:1/-1!important}.voucher-sheet.is-three-up .voucher-copy header{grid-template-columns:minmax(0,1fr)!important}.voucher-sheet.is-three-up .voucher-copy-label{justify-items:start!important}.voucher-school-initials{width:9mm!important;height:9mm!important;font-size:9pt!important}}.receipt-page{gap:16px}.receipt-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0;display:grid}.receipt-details div{gap:2px;display:grid}.receipt-details dt{color:var(--so-text-muted);font-size:12px}.receipt-details dd{overflow-wrap:anywhere;margin:0;font-weight:600}@media (max-width:520px){.receipt-details{grid-template-columns:minmax(0,1fr)}}@media print{:is(html:has(.receipt-page),body:has(.receipt-page)){background:#fff!important;height:auto!important;overflow:visible!important}:is(body:has(.receipt-page) .desktop-sidebar,body:has(.receipt-page) .sidebar,body:has(.receipt-page) .mobile-dashboard-topbar,body:has(.receipt-page) .mobile-nav-overlay,body:has(.receipt-page) .schoolos-command-bar,body:has(.receipt-page) .portal-topbar,body:has(.receipt-page) .guided-demo-card,body:has(.receipt-page) .global-ai-assistant-root){display:none!important}:is(body:has(.receipt-page) .dashboard-shell,body:has(.receipt-page) .schoolos-workspace,body:has(.receipt-page) .premium-main,body:has(.receipt-page) .portal-shell){background:#fff!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}.receipt-page{page:receipt;display:block!important}}.fees-hub-header{gap:12px;min-width:0;display:grid}.fees-hub-tabs.so-tabs{border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);justify-self:start;gap:2px;max-width:100%;padding:4px}.fees-hub-tabs .so-tab{border-radius:var(--so-radius-md);color:var(--so-text-secondary);border-bottom:0;padding:6px 14px;text-decoration:none}.fees-hub-tabs .so-tab:hover{color:var(--so-text);background:var(--so-surface-sunken)}.fees-hub-tabs .so-tab.is-active{color:var(--so-primary);background:var(--so-primary-soft);font-weight:var(--so-weight-semibold)}.fees-hub-tabs .so-tab:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:1px}.fee-hub{gap:var(--so-section-gap);min-width:0;display:grid}.fee-hub-overview{row-gap:var(--so-space-4,16px)}.card-aurora.card-aurora.is-overview.fee-hub-hero{gap:var(--so-space-2);padding-block:var(--so-space-3);color:var(--so-text-inverse);display:grid}.fee-hub-hero-head{z-index:1;justify-content:space-between;align-items:center;gap:var(--so-space-2) var(--so-space-4);flex-wrap:wrap;display:flex;position:relative}.fee-hub-kpi-section{gap:var(--so-space-2);min-width:0;margin-top:0;display:grid}.fee-hub-summary-header{justify-content:space-between;align-items:center;margin:0;display:flex}.fee-hub-hero-kicker{min-width:0;color:var(--so-text-muted);font-size:var(--so-size-caption);font-weight:var(--so-weight-bold);letter-spacing:var(--so-tracking-caps);text-transform:uppercase;overflow-wrap:anywhere}.fee-hub-hero-actions{gap:var(--so-control-gap);flex-wrap:wrap;display:flex}.fee-hub-hero-kpis{z-index:1;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;display:grid;position:relative}.fee-hub-hero-kpis>.metric{background:var(--so-surface);border:1px solid var(--so-border)}.fee-hub-hero-kpis dt{color:var(--so-text-inverse);font-size:var(--so-size-label);font-weight:var(--so-weight-medium)}.fee-hub-hero-kpis dd{color:var(--so-surface);font-size:var(--so-size-kpi);font-weight:var(--so-weight-bold);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}.fee-hub-hero-kpis small{color:var(--so-text-inverse);font-size:var(--so-size-label)}.fee-hub-hero-kpis .metric small{color:var(--so-text-muted)}.fee-hub-panels{gap:var(--so-section-gap);grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.fee-hub-panels>.fee-hub-panel{align-content:start}.fee-hub-panel{gap:12px;min-width:0;display:grid}.fee-hub-table{min-width:760px}.meter-list{margin:0;padding:0;list-style:none;display:grid}.meter-row{gap:var(--so-space-1);border-bottom:1px solid var(--so-border-subtle);padding:10px 0;display:grid}.meter-row:last-child{border-bottom:0}.meter-row-line{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.meter-row-text{gap:2px;min-width:0;display:grid}.meter-row-text strong{color:var(--so-text);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold);overflow-wrap:anywhere}.meter-row-text small{color:var(--so-text-muted);font-size:var(--so-size-label)}.meter-row-amount{color:var(--so-text);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold);font-variant-numeric:tabular-nums;white-space:nowrap}.meter-bar{border-radius:var(--so-radius-pill);background:var(--so-border-subtle);appearance:none;border:0;width:100%;height:4px;display:block;overflow:hidden}.meter-bar::-webkit-progress-bar{background:var(--so-border-subtle);border-radius:var(--so-radius-pill)}.meter-bar.is-success::-webkit-progress-value{background:var(--so-success-solid);border-radius:var(--so-radius-pill)}.meter-bar.is-success::-moz-progress-bar{background:var(--so-success-solid);border-radius:var(--so-radius-pill)}.meter-bar.is-warning::-webkit-progress-value{background:var(--so-warning-solid);border-radius:var(--so-radius-pill)}.meter-bar.is-warning::-moz-progress-bar{background:var(--so-warning-solid);border-radius:var(--so-radius-pill)}.meter-list-more{cursor:pointer;background:0 0;border:0;justify-self:start;padding:0}@media (max-width:1024px){.fee-hub-hero-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.fee-hub-panels{grid-template-columns:minmax(0,1fr)}.fee-hub-hero-actions{width:100%}.fee-hub-hero-actions .btn{flex:1 1 0;justify-content:center}}.fee-hub-filters{flex-wrap:wrap}.fee-hub-filters .invoice-search-field{flex:280px}.fee-hub-filter{flex:0 180px;min-width:0;display:flex}.fee-hub-filter .so-field{width:100%;min-height:44px;padding:0 12px}.collect-stepper{padding:12px 16px}.collect-stepper ol{scrollbar-width:none;align-items:center;gap:12px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.collect-stepper ol::-webkit-scrollbar{display:none}.collect-stepper li{color:var(--so-text-muted);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-medium);white-space:nowrap;flex:none;align-items:center;gap:8px;display:inline-flex}.collect-stepper li+li:before{content:"";background:var(--so-border-strong);width:40px;height:1px}.collect-stepper li.is-current{color:var(--so-text);font-weight:var(--so-weight-semibold)}.collect-step-number{border-radius:var(--so-radius-pill);background:var(--so-neutral-soft);width:22px;height:22px;color:var(--so-text-secondary);font-size:var(--so-size-label);font-weight:var(--so-weight-bold);place-items:center;display:inline-grid}.collect-stepper li.is-current .collect-step-number{background:var(--so-primary);color:var(--so-primary-on)}.collect-stepper li.is-done .collect-step-number{background:var(--so-success-soft);color:var(--so-success)}.collect-invoice-row{cursor:pointer}.collect-invoice-row:focus-visible td{background:var(--so-primary-soft)}.collect-invoice-row:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:-2px}.collect-notice{border-radius:var(--so-radius-md);background:var(--so-warning-soft);color:var(--so-warning);padding:8px 12px}.collect-details,.collect-confirm{gap:14px;display:grid}.collect-details h2,.collect-confirm h2{font-size:var(--so-size-h2,18px);margin:0}.collect-change{margin-left:auto}.collect-chosen{gap:var(--so-space-2);display:grid}.collect-chosen .collect-change{justify-self:end}.collect-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.collect-form-grid label{min-width:0;color:var(--so-text-secondary);font-size:var(--so-size-label);font-weight:var(--so-weight-semibold);gap:6px;display:grid}.collect-form-grid .collect-note{grid-column:1/-1}.collect-actions{justify-content:flex-end;gap:var(--so-control-gap);flex-wrap:wrap;display:flex}.generate-layout{gap:var(--so-section-gap);grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start;display:grid}.generate-form,.generate-preview{gap:14px;min-width:0;display:grid}.generate-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.generate-fields label,.generate-title{min-width:0;color:var(--so-text-secondary);font-size:var(--so-size-label);font-weight:var(--so-weight-semibold);gap:6px;display:grid}.generate-fields:has(.auth-remember){align-items:flex-end;gap:var(--so-space-4);flex-wrap:wrap;display:flex}.generate-fields:has(.auth-remember)>label:not(.auth-remember){gap:var(--so-space-1);flex-direction:column;flex:200px;min-width:0;display:flex}.generate-fields:has(.auth-remember)>label:not(.auth-remember)>span:first-child{font-size:var(--so-size-label);font-weight:var(--so-weight-medium);color:var(--so-text-secondary);line-height:var(--so-leading-normal);min-height:20px}.generate-fields:has(.auth-remember)>label:not(.auth-remember) select{box-sizing:border-box;width:100%;height:42px;min-height:42px}.generate-fields:has(.auth-remember)>.auth-remember{box-sizing:border-box;flex:none;align-items:center;gap:9px;height:42px;min-height:42px;margin:0;display:inline-flex}.generate-fields:has(.auth-remember)>label:after{content:none!important;display:none!important}[data-testid=login-rules] .so-panel-head{margin-top:var(--so-space-4);margin-bottom:var(--so-space-4)}[data-testid=login-rules] .so-panel-head:first-child{margin-top:0}.generate-classes-head{margin-bottom:var(--so-space-2);color:var(--so-text-secondary);font-size:var(--so-size-label);font-weight:var(--so-weight-semibold);justify-content:space-between;align-items:center;gap:12px;display:flex}.generate-classes-head .mini-link{cursor:pointer;background:0 0;border:0;padding:0}.generate-classes-head .mini-link:disabled{color:var(--so-text-muted);cursor:not-allowed}.generate-class-list{border:1px solid var(--so-border);border-radius:var(--so-radius-lg);margin:0;padding:4px 12px;list-style:none;display:grid}.generate-class-list li{border-bottom:1px solid var(--so-border-subtle);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.generate-class-list li:last-child{border-bottom:0}.generate-class-list li>label{cursor:pointer;align-items:center;gap:12px;min-width:0;display:flex}.generate-class-list input[type=checkbox]{width:18px;height:18px;accent-color:var(--so-primary);flex:none}.generate-class-list li.is-disabled>label{cursor:not-allowed;color:var(--so-text-muted)}.generate-class-text{gap:2px;min-width:0;display:grid}.generate-class-text small{color:var(--so-text-muted);font-size:var(--so-size-label)}.generate-class-list .status{white-space:nowrap;flex:none}.generate-class-empty{color:var(--so-text-muted);font-size:var(--so-size-body-sm)}.generate-preview-figures{gap:0;margin:0;display:grid}.generate-preview-figures>div{border-bottom:1px solid var(--so-border-subtle);font-size:var(--so-size-body-sm);justify-content:space-between;gap:12px;padding:9px 0;display:flex}.generate-preview-figures dt{color:var(--so-text-secondary)}.generate-preview-figures dd{font-weight:var(--so-weight-semibold);font-variant-numeric:tabular-nums;margin:0}.generate-preview-figures .is-total{border-bottom:0}.generate-preview-figures .is-total dd{font-size:var(--so-size-kpi-sm);font-weight:var(--so-weight-bold)}.generate-not-included{border-radius:var(--so-radius-md);background:var(--so-warning-soft);color:var(--so-warning);font-size:var(--so-size-label);gap:2px;padding:10px 12px;display:grid}.generate-no-fee-list{gap:2px;margin:2px 0 0;padding-left:18px;display:grid}.generate-no-fee-link{color:inherit;justify-self:start;margin-top:4px;font-weight:600;text-decoration:underline}.generate-submit{justify-content:center;width:100%}.generate-success{border-radius:var(--so-radius-md);background:var(--so-success-soft);color:var(--so-success);font-size:var(--so-size-body-sm);align-items:flex-start;gap:8px;margin:0;padding:10px 12px;display:flex}@media (max-width:1024px){.generate-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){.collect-form-grid,.generate-fields{grid-template-columns:minmax(0,1fr)}.collect-stepper li+li:before{width:16px}.generate-class-list li{flex-wrap:wrap}}.generate-note{color:var(--so-text-muted);font-size:var(--so-size-label);margin:0}.fee-hub .invoice-table-scroll{position:relative}.challan-a4-viewport{width:100%;container-type:inline-size}.challan-a4{aspect-ratio:297/210;background:var(--so-surface);width:100cqw;color:var(--so-text);box-sizing:border-box;border:1px solid var(--so-border);border-radius:var(--so-radius-lg);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:1.2cqw;font-size:.88cqw;line-height:1.3;display:grid}.challan-a4.is-single{aspect-ratio:99/210;grid-template-columns:minmax(0,1fr);max-width:100cqw;font-size:2.64cqw}.challan-a4-copy{border-left:1px dashed var(--so-border-strong);flex-direction:column;gap:.8em;min-width:0;padding:0 1.2em;display:flex}.challan-a4-copy:first-child{border-left:0}.challan-a4.is-single .challan-a4-copy{padding:0}.challan-a4-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8em;display:grid}.challan-a4-logo{object-fit:contain;border-radius:.6em;width:3em;height:3em}.challan-a4-initials{background:var(--so-primary-soft);color:var(--so-primary);font-weight:var(--so-weight-bold);place-items:center;font-size:1.1em;display:inline-grid}.challan-a4-school{min-width:0;display:grid}.challan-a4-school strong{overflow-wrap:anywhere;font-size:1.25em}.challan-a4-school span{color:var(--so-text-secondary);overflow-wrap:anywhere;font-size:.85em}.challan-a4-tag{border-radius:var(--so-radius-sm);background:var(--so-neutral-soft);color:var(--so-text);font-size:.75em;font-weight:var(--so-weight-bold);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border:1px solid var(--so-border);padding:.3em .7em}.challan-a4-tag.is-parent{background:var(--so-surface-inverse);color:var(--so-surface);border-color:var(--so-surface-inverse)}.challan-a4-strip{background:var(--so-surface-inverse);color:var(--so-surface);font-weight:var(--so-weight-bold);letter-spacing:.03em;border-radius:.4em;justify-content:space-between;gap:1em;padding:.55em .9em;display:flex}.challan-a4-cancelled{border:2px solid var(--so-danger);color:var(--so-danger);font-weight:var(--so-weight-bold);border-radius:.4em;margin:0;padding:.5em .8em}.challan-a4-meta,.challan-a4-student{gap:.35em 1.2em;margin:0;display:grid}.challan-a4-meta{border-bottom:1px solid var(--so-border);grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:.7em}.challan-a4-row{justify-content:space-between;gap:.6em;min-width:0;display:flex}.challan-a4-row dt{color:var(--so-text-secondary)}.challan-a4-row dd{font-weight:var(--so-weight-semibold);text-align:right;overflow-wrap:anywhere;margin:0}.challan-a4-row dd.is-due{color:var(--so-danger)}.challan-a4-fees{border-collapse:separate;border-spacing:0;border:1px solid var(--so-border);border-radius:.5em;width:100%;overflow:hidden}.challan-a4-fees th,.challan-a4-fees td{text-align:left;font-variant-numeric:tabular-nums;padding:.45em .8em}.challan-a4-fees th:last-child,.challan-a4-fees td:last-child{text-align:right}.challan-a4-fees thead th{background:var(--so-surface-sunken);color:var(--so-text-secondary);font-weight:var(--so-weight-semibold)}.challan-a4-fees .is-arrears td{color:var(--so-warning)}.challan-a4-payable th,.challan-a4-payable td{background:var(--so-primary-soft);font-weight:var(--so-weight-bold);font-size:1.1em}.challan-a4-after th,.challan-a4-after td{color:var(--so-text-secondary);font-weight:var(--so-weight-medium)}.challan-a4-words,.challan-a4-note{color:var(--so-text-secondary);margin:0}.challan-a4-label{color:var(--so-text-secondary);font-size:.8em;font-weight:var(--so-weight-bold);letter-spacing:.05em;display:block}.challan-a4-bank{background:var(--so-surface-sunken);border-radius:.5em;gap:.8em;padding:.8em;display:grid}.challan-a4-bank.has-qr{grid-template-columns:minmax(0,1fr) 7.5em;align-items:center}.challan-a4-bank>div{overflow-wrap:anywhere;gap:.2em;min-width:0;display:grid}.challan-a4-qr{justify-items:center;gap:.3em;margin:0;display:grid}.challan-a4-qr img{object-fit:contain;background:var(--so-surface);border:1px solid var(--so-border);border-radius:.4em;width:6.5em;height:6.5em;padding:.3em}.challan-a4-qr figcaption{text-align:center;color:var(--so-text-secondary);font-size:.72em}.challan-a4-instructions{border:1px solid var(--so-border);border-radius:.5em;padding:.7em .8em}.challan-a4-instructions ul{margin:.3em 0 0;padding-left:1.2em;list-style:outside}.challan-a4-office{background:var(--so-surface-sunken);color:var(--so-text-secondary);border-radius:.4em;margin:0;padding:.5em .8em}.challan-a4-stamps{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8em;margin-top:auto;display:grid}.challan-a4-stamps>div{border:1px dashed var(--so-border-strong);min-height:4.5em;color:var(--so-text-secondary);text-align:center;border-radius:.4em;justify-content:center;align-items:flex-end;padding:.4em;font-size:.85em;display:flex}.challan-a4-foot{color:var(--so-text-muted);font-size:.75em}.challan-a4-copy.is-cancelled .challan-a4-fees,.challan-a4-copy.is-cancelled .challan-a4-bank{opacity:.55}.challan-print-actions{justify-content:space-between;align-items:center;gap:var(--so-control-gap);flex-wrap:wrap;display:flex}.challan-print-stack{gap:var(--so-section-gap);display:grid}@page challan{size:A4 landscape;margin:6mm}@page challan-single{size:A4 portrait;margin:10mm}@media print{.challan-a4-viewport{width:285mm}.challan-a4{page:challan;aspect-ratio:auto;break-after:page;break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;border:0;border-radius:0;width:285mm;height:198mm;padding:0;font-size:2.45mm}.challan-a4.is-single{page:challan-single;width:95mm;height:198mm;font-size:2.45mm}.challan-a4:last-child{break-after:auto}.challan-print-stack{display:block}.challan-print-actions{display:none!important}:is(html:has(.challan-print-page),body:has(.challan-print-page)){background:var(--so-surface)!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important}.challan-print-page .fees-hub-header,.challan-print-page .page-back-link,.challan-print-page>header,.challan-print-page>.directory-header-row,.challan-print-page>div>.principal-page-heading{display:none!important}body:has(.challan-print-page) .desktop-sidebar{display:none!important}body:has(.challan-print-page) .sidebar{display:none!important}body:has(.challan-print-page) .mobile-dashboard-topbar{display:none!important}body:has(.challan-print-page) .mobile-nav-overlay{display:none!important}body:has(.challan-print-page) .schoolos-command-bar{display:none!important}body:has(.challan-print-page) .parent-preview-banner{display:none!important}body:has(.challan-print-page) .guided-demo-card{display:none!important}body:has(.challan-print-page) .command-overlay{display:none!important}body:has(.challan-print-page) .erp-modal-overlay{display:none!important}body:has(.challan-print-page) .global-ai-assistant-root{display:none!important}body:has(.challan-print-page) .demo-banner{display:none!important}body:has(.challan-print-page) .portal-shell-header{display:none!important}body:has(.challan-print-page) .portal-sidebar{display:none!important}body:has(.challan-print-page) .portal-topbar{display:none!important}body:has(.challan-print-page) .portal-drawer-overlay{display:none!important}.challan-print-page{background:var(--so-surface)!important;width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}body:has(.challan-print-page) .dashboard-shell{background:var(--so-surface)!important;width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}body:has(.challan-print-page) .schoolos-workspace{background:var(--so-surface)!important;width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}body:has(.challan-print-page) .premium-main{background:var(--so-surface)!important;width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}body:has(.challan-print-page) .portal-main{background:var(--so-surface)!important;width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}body:has(.challan-print-page) .portal-workspace{background:var(--so-surface)!important;width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}body:has(.challan-print-page) .portal-workspace-main{background:var(--so-surface)!important;width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}body:has(.challan-print-page) .portal-shell{background:var(--so-surface)!important;width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}}.challan-a4.is-receipt{grid-template-columns:repeat(2,minmax(0,1fr));font-size:1cqw}.challan-a4.is-receipt.is-single{aspect-ratio:148.5/210;grid-template-columns:minmax(0,1fr);width:min(100cqw,560px);max-width:none;margin-inline:auto;padding:min(2.4cqw,13.4px);font-size:min(2cqw,11.2px)}.challan-a4.is-receipt.is-single .challan-a4-copy{padding:0}.receipt-a4-details{border-bottom:1px solid var(--so-border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.6em 1.2em;padding-bottom:.7em;display:grid}.receipt-a4-details a{color:inherit;text-underline-offset:.15em;text-decoration:underline}.receipt-a4-stamp{font-weight:var(--so-weight-bold);text-align:center;white-space:nowrap;border:.2em solid;border-radius:.5em;justify-items:center;gap:.1em;padding:.35em .9em;line-height:1.1;display:grid;transform:rotate(-4deg)}.receipt-a4-stamp strong{letter-spacing:.04em;font-size:1.7em}.receipt-a4-stamp span{letter-spacing:.04em;font-size:.8em}.receipt-a4-stamp.is-success{color:var(--so-success)}.receipt-a4-stamp.is-warning{color:var(--so-warning)}.receipt-a4-stamp.is-danger{color:var(--so-danger)}.receipt-a4-reversal{border:1px solid var(--so-danger);background:var(--so-danger-soft);color:var(--so-danger);overflow-wrap:anywhere;border-radius:.4em;margin:0;padding:.5em .8em}.challan-a4-fees .receipt-a4-received th,.challan-a4-fees .receipt-a4-received td{background:var(--so-success-soft);color:var(--so-success);font-weight:var(--so-weight-bold)}.challan-a4-fees .receipt-a4-received td{font-size:1.25em}.challan-a4-fees .receipt-a4-balance th,.challan-a4-fees .receipt-a4-balance td{color:var(--so-text-secondary);font-weight:var(--so-weight-medium)}.challan-a4-fees .receipt-a4-balance td{color:var(--so-text);font-weight:var(--so-weight-semibold)}.receipt-a4-payment{background:var(--so-surface-sunken);border-radius:.5em;gap:.35em;margin:0;padding:.8em;display:grid}.receipt-a4-copy.is-reversed .challan-a4-fees{opacity:.7}@page receipt{size:A4 landscape;margin:6mm}.fee-history-list article>.btn{white-space:nowrap;flex:none}.payment-reversal-note{margin-top:var(--so-space-1);color:var(--so-text-muted);font-size:var(--so-size-label);overflow-wrap:anywhere;display:block}@media print{.challan-a4.is-receipt{page:receipt;width:285mm;height:198mm;font-size:2.85mm}.challan-a4.is-receipt.is-single{page:receipt;width:142.5mm;height:198mm;margin:0;padding:0;font-size:2.85mm}.receipt-a4-stamp,.receipt-a4-reversal,.challan-a4-fees .receipt-a4-received th,.challan-a4-fees .receipt-a4-received td{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.fee-setup-tabs{border-bottom:1px solid var(--so-border);scrollbar-width:none;gap:20px;display:flex;overflow-x:auto}.fee-setup-tabs a{color:var(--so-text-secondary);font-size:var(--so-size-body);font-weight:var(--so-weight-medium);white-space:nowrap;border-bottom:2px solid #0000;padding:8px 0;text-decoration:none}.fee-setup-tabs a.is-active{color:var(--so-text);border-bottom-color:var(--so-primary);font-weight:var(--so-weight-semibold)}.fee-setup-tabs a:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:2px}.challan-details-card{gap:14px;min-width:0;display:grid}.challan-details-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.challan-details-head h2{font-size:var(--so-size-h2);margin:0}.challan-details-head p{color:var(--so-text-muted);font-size:var(--so-size-body-sm);margin:4px 0 0}.challan-details-notice{border-radius:var(--so-radius-md);background:var(--so-warning-soft);color:var(--so-warning);font-size:var(--so-size-body-sm);margin:0;padding:10px 14px}.challan-details-form{gap:16px;display:grid}.challan-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.challan-details-grid label,.challan-qr-label{min-width:0;color:var(--so-text);font-size:var(--so-size-label);font-weight:var(--so-weight-semibold);gap:6px;display:grid}.challan-details-grid .is-full{grid-column:1/-1}.so-field.is-invalid{border-color:var(--so-danger-solid)}.challan-qr{border-top:1px solid var(--so-border-subtle);gap:10px;padding-top:14px;display:grid}.challan-qr-intro{font-size:var(--so-size-body-sm);gap:2px;display:grid}.challan-qr-intro span{color:var(--so-text-muted)}.challan-qr-body{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:16px;display:grid}.challan-qr-preview{border:1px solid var(--so-border);border-radius:var(--so-radius-lg);justify-items:center;gap:6px;margin:0;padding:10px;display:grid}.challan-qr-preview img{object-fit:contain;width:120px;height:120px}.challan-qr-preview figcaption{color:var(--so-text-muted);font-size:var(--so-size-caption);overflow-wrap:anywhere;text-align:center;max-width:150px}.challan-qr-controls{gap:10px;min-width:0;display:grid}.challan-qr-drop{border:1px dashed var(--so-border-strong);border-radius:var(--so-radius-lg);text-align:center;justify-items:center;gap:8px;padding:16px;display:grid}.challan-qr-drop.is-dragging{border-color:var(--so-primary);background:var(--so-primary-soft)}.challan-qr-drop .mini-link{cursor:pointer;font-size:var(--so-size-body-sm);background:0 0;border:0}.challan-qr-drop small{color:var(--so-text-muted);font-size:var(--so-size-label)}.challan-qr-tip{border-radius:var(--so-radius-md);background:var(--so-primary-soft);color:var(--so-info);font-size:var(--so-size-label);margin:0;padding:8px 12px}.challan-qr-remove{color:var(--so-danger);font-weight:var(--so-weight-semibold);cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:6px;padding:0;display:inline-flex}.challan-details-actions{justify-content:flex-end;gap:var(--so-control-gap);flex-wrap:wrap;display:flex}.challan-details-saved{color:var(--so-success);font-size:var(--so-size-body-sm);align-items:center;gap:6px;margin:0;display:flex}.challan-qr-readonly{align-items:center;gap:10px;display:inline-flex}.challan-qr-readonly img{object-fit:contain;border:1px solid var(--so-border);border-radius:var(--so-radius-md);width:64px;height:64px}.generate-print-links{gap:var(--so-control-gap);flex-wrap:wrap;display:flex}.challan-print-title{font-weight:var(--so-weight-semibold);flex:auto}.challan-print-filter{min-width:180px;display:flex}@media (max-width:760px){.challan-details-grid,.challan-qr-body{grid-template-columns:minmax(0,1fr)}.challan-details-head{flex-direction:column}}.generate-kind-switch{margin-bottom:2px}.other-voucher-target{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.other-voucher-target legend{color:var(--so-text-secondary);font-size:var(--so-size-label);font-weight:var(--so-weight-semibold);margin-bottom:6px;padding:0}.other-voucher-target-tabs .so-segment{cursor:pointer}.other-voucher-target-tabs .so-segment:focus-within{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:-2px}.other-voucher-chips{flex-wrap:wrap;gap:8px;display:flex}.other-voucher-chip{border:1px solid var(--so-border-strong);border-radius:var(--so-radius-pill);background:var(--so-surface);min-height:36px;color:var(--so-text);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold);cursor:pointer;align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.other-voucher-chip small{color:var(--so-text-muted);font-weight:var(--so-weight-medium)}.other-voucher-chip.is-selected{border-color:var(--so-primary);background:var(--so-primary-soft);color:var(--so-primary)}.other-voucher-chip:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:2px}.other-voucher-students{gap:8px;min-width:0;display:grid}.other-voucher-student-list{max-height:280px;overflow-y:auto}.fee-heads-card{gap:14px;min-width:0;display:grid}.fee-head-system{color:var(--so-text-muted);font-size:var(--so-size-caption);align-items:center;gap:4px;margin-top:2px;display:inline-flex}.fee-heads-table td strong{display:block}.fee-head-form{border-top:1px solid var(--so-border-subtle);gap:12px;padding-top:14px;display:grid}.fee-head-form h3{font-size:var(--so-size-h3);margin:0}.fee-head-form-actions{gap:var(--so-control-gap);flex-wrap:wrap;display:flex}.voucher-cancelled-banner{border-color:var(--so-border-strong);background:var(--so-neutral-soft);gap:4px;display:grid}.voucher-cancelled-banner h2{font-size:var(--so-size-h3);margin:0}.voucher-cancelled-banner p{color:var(--so-text-secondary);font-size:var(--so-size-body-sm);overflow-wrap:anywhere;margin:0}.voucher-note-line{overflow-wrap:anywhere;margin:0}.voucher-cancel-strip button{flex:none}.invoice-cell-status .invoice-cancel-reason{max-width:220px;color:var(--so-text-muted);font-size:var(--so-size-caption);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;display:block;overflow:hidden}.generate-batch-name strong,.generate-batch-name small{display:block}.generate-batch-name small{color:var(--so-text-muted);font-size:var(--so-size-caption);margin-top:2px}.invoice-register-table tr.is-cancelled td{color:var(--so-text-muted)}.generate-new-since{border-radius:var(--so-radius-md);background:var(--so-primary-soft);color:var(--so-info);margin:0;padding:8px 12px}.cancel-voucher-reason textarea{resize:vertical;width:100%;min-width:0}.cancel-voucher-reason-hint{color:var(--so-text-muted);font-size:var(--so-size-caption);margin-top:4px;display:block}.cancel-voucher-reason-hint[role=alert]{color:var(--so-danger)}.portal-cancelled-note{border:1px solid var(--so-border);border-radius:var(--so-radius-md);background:var(--so-neutral-soft);color:var(--so-text-secondary);font-size:var(--so-size-body-sm);overflow-wrap:anywhere;margin:0;padding:10px 14px}.portal-cancel-reason{color:var(--so-text-muted);font-size:var(--so-size-caption);overflow-wrap:anywhere;margin-top:2px;display:block}.leaving-vouchers{border-color:var(--so-warning);background:var(--so-warning-soft);gap:10px;margin:14px 0;display:grid}.leaving-vouchers h2{font-size:var(--so-size-h3);margin:0}.leaving-vouchers .muted-copy{margin:0}.leaving-vouchers .btn{justify-self:start}.leaving-vouchers-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.leaving-vouchers-list li{border-radius:var(--so-radius-md);background:var(--so-surface);font-size:var(--so-size-body-sm);grid-template-columns:minmax(0,auto) minmax(0,1fr) auto auto;align-items:baseline;gap:12px;padding:8px 12px;display:grid}.leaving-vouchers-list li strong{overflow-wrap:anywhere}.leaving-vouchers-list .is-num{font-variant-numeric:tabular-nums;font-weight:var(--so-weight-semibold)}.fee-account-hero>div,.portal-page,.portal-page-heading{min-width:0}.fee-account-hero h1,.fee-account-hero h2,.portal-page-heading h1{overflow-wrap:anywhere}@media (max-width:760px){.leaving-vouchers-list li{grid-template-columns:minmax(0,1fr) auto}.voucher-cancel-strip{flex-wrap:wrap}}.generate-fields select optgroup.is-inactive,.generate-fields select optgroup.is-inactive option{color:var(--so-text-muted)}.teacher-profile-details{column-gap:var(--so-space-6);grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-profile-details dd{overflow-wrap:anywhere;min-width:0}.teacher-assignment-list{margin:var(--so-space-3) 0 0;gap:var(--so-space-2);padding:0;list-style:none;display:grid}.teacher-assignment-list li{justify-content:space-between;align-items:center;gap:var(--so-space-3);padding:var(--so-space-3);border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);display:flex}.teacher-assignment-list li>span{gap:var(--so-space-1);min-width:0;display:grid}.teacher-assignment-list small{color:var(--so-text-muted)}.teacher-assignment-list.is-past li{background:0 0}.teacher-history-details{margin-top:var(--so-space-3)}.teacher-history-details summary{cursor:pointer;color:var(--so-text-muted);font-weight:700}.teacher-form-group{margin:0 0 var(--so-space-4);border:0;min-width:0;padding:0}.teacher-form-group legend{margin-bottom:var(--so-space-2);font-weight:700}.teacher-form-actions{justify-content:flex-end;gap:var(--so-space-2);flex-wrap:wrap;display:flex}@media (max-width:640px){.teacher-profile-details{grid-template-columns:minmax(0,1fr)}.teacher-assignment-list li{flex-wrap:wrap}}.teacher-invite-link{gap:var(--so-space-2);margin-top:var(--so-space-3);flex-wrap:wrap;align-items:center;display:flex}.teacher-invite-link .so-field{flex:240px;min-width:0}.table-actions-cell{white-space:nowrap;text-align:right;width:1%;position:relative}.table-actions{justify-content:flex-end;align-items:center;gap:var(--so-control-gap);vertical-align:middle;flex-wrap:nowrap;display:inline-flex}.table-actions-cell .student-row-actions,.table-actions-cell .so-cell-actions{justify-content:flex-end}.summary-table{border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);margin:0;display:grid;overflow:hidden}.summary-table-row{justify-content:space-between;align-items:baseline;gap:var(--so-space-1) var(--so-space-4);border-bottom:1px solid var(--so-border-subtle);flex-wrap:wrap;padding:10px 14px;display:flex}.summary-table-row:last-child{border-bottom:0}.summary-table dt{color:var(--so-text-muted);font-size:var(--so-size-label);font-weight:var(--so-weight-semibold)}.summary-table dd{min-width:0;color:var(--so-text);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold);text-align:right;overflow-wrap:anywhere;margin:0 0 0 auto}.summary-table-row.is-num dd{font-variant-numeric:tabular-nums}.summary-table-row.is-highlight{background:var(--so-success-soft)}.summary-table-row.is-highlight dt,.summary-table-row.is-highlight dd{color:var(--so-success)}.summary-table-row.is-highlight dd{font-weight:var(--so-weight-bold)}.summary-table.is-compact .summary-table-row{padding-block:8px}.summary-table .status{white-space:nowrap}.invoice-register-panel>.table-pagination{margin-top:0}.batch-filters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.batch-filters .fee-hub-filter{flex:0 220px}.batch-cancelled-toggle{color:var(--so-text-secondary);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold);cursor:pointer;align-items:center;gap:8px;display:inline-flex}.batch-cancelled-toggle input{width:18px;height:18px;accent-color:var(--so-primary)}.generate-batch-status small{max-width:240px;color:var(--so-text-muted);font-size:var(--so-size-caption);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;display:block;overflow:hidden}.table-cell-sub{color:var(--so-text-muted);font-size:var(--so-size-caption);display:block}.import-file-group{gap:var(--so-space-2);margin-top:var(--so-space-3);flex-direction:column;max-width:480px;display:flex}.import-file-group>.import-file-field{margin-top:0}.import-file-field{gap:var(--so-space-2);margin-top:var(--so-space-3);flex-direction:column;max-width:480px;display:flex}.import-file-field>span{font-weight:var(--so-weight-semibold)}.import-file-field input[type=file]{min-width:0;max-width:100%}.import-file-field .ds-dropzone-clear{margin-top:0}.import-file-field .ds-field-message{min-height:0;margin:0;line-height:normal;display:block}.import-file-field .ds-field-message:empty{display:none}.form-helper.is-error{color:var(--so-danger);font-weight:var(--so-weight-semibold)}.import-class-map{margin-top:var(--so-space-4)}.import-row-errors{padding-left:var(--so-space-4);font-size:var(--so-size-body-sm);margin:0}.import-row-errors li+li{margin-top:2px}.erp-table tr.is-error-row td{background:var(--so-danger-soft)}.import-progress{gap:var(--so-space-2);margin:var(--so-space-3) 0;display:grid}.import-progress progress{width:100%}.student-import .summary-table,.admissions-live .summary-table{margin-top:var(--so-space-3)}.import-tabs{margin-bottom:var(--so-space-4)}:root{--so-field-message-height:16px;--so-form-control-height:42px;--so-form-control-pad-y:9px;--so-form-control-pad-x:11px;--so-form-control-line:18px;--so-form-label-color:#334155;--so-form-label-gap:7px;--so-form-col-gap:14px;--so-form-message-gap:4px;--so-form-error:#b91c1c;--so-form-row-gap:calc(var(--so-form-message-gap) + var(--so-field-message-height) - var(--so-form-label-gap))}:is(.generate-fields,.erp-form-grid-2,.form-grid,.collect-form-grid,.payment-form-grid,.voucher-form-grid,.live-form-grid,.challan-details-grid,.column-map-grid){align-items:start;row-gap:var(--so-form-row-gap);column-gap:var(--so-form-col-gap)}:is(.generate-fields,.erp-form-grid-2,.form-grid,.collect-form-grid,.payment-form-grid,.voucher-form-grid,.live-form-grid,.challan-details-grid,.column-map-grid,.erp-modal-body)>label{align-content:start;gap:var(--so-form-label-gap);color:var(--so-form-label-color);font-size:var(--so-size-label);font-weight:var(--so-weight-bold);display:grid}.ds-field{align-content:start;gap:var(--so-form-label-gap)}.ds-field>.ds-field-label,.ds-field>.ds-field-label>span:first-child{color:var(--so-form-label-color);font-size:var(--so-size-label);font-weight:var(--so-weight-bold)}:is(.generate-fields,.erp-form-grid-2,.form-grid,.collect-form-grid,.payment-form-grid,.voucher-form-grid,.live-form-grid,.challan-details-grid,.column-map-grid)>label>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--so-form-label-color);font-size:var(--so-size-label);font-weight:var(--so-weight-bold);overflow:hidden}:is(.generate-fields,.erp-form-grid-2,.form-grid,.collect-form-grid,.payment-form-grid,.voucher-form-grid,.live-form-grid,.challan-details-grid,.column-map-grid,.erp-modal-body) :is(input:not([type=checkbox],[type=radio],[type=file],[type=range],[type=hidden]),select),.ds-field-control>:is(input,select){width:100%;height:var(--so-form-control-height);min-height:var(--so-form-control-height);box-sizing:border-box;padding:var(--so-form-control-pad-y) var(--so-form-control-pad-x);line-height:var(--so-form-control-line);border:1px solid var(--so-border-strong);border-radius:var(--so-radius-lg);background:var(--so-surface);color:var(--so-text);font-size:var(--so-size-label);font-weight:var(--so-weight-bold)}.ds-field-control-icon>input{padding-left:33px}:is(.generate-fields,.erp-form-grid-2,.form-grid,.collect-form-grid,.payment-form-grid,.voucher-form-grid,.live-form-grid,.challan-details-grid,.column-map-grid,.erp-modal-body) :is(input:not([type=checkbox],[type=radio],[type=file],[type=range],[type=hidden]),select,textarea):focus,.ds-field-control>:is(input,select):focus{border-color:var(--so-primary);outline:var(--so-focus-ring-width) solid var(--so-focus-ring)}:is(.generate-fields,.erp-form-grid-2,.form-grid,.collect-form-grid,.payment-form-grid,.voucher-form-grid,.live-form-grid,.challan-details-grid,.column-map-grid,.erp-modal-body) textarea{box-sizing:border-box;width:100%;padding:var(--so-form-control-pad-y) var(--so-form-control-pad-x);line-height:var(--so-form-control-line);border:1px solid var(--so-border-strong);border-radius:var(--so-radius-lg);background:var(--so-surface);color:var(--so-text)}:is(.generate-fields,.erp-form-grid-2,.form-grid,.collect-form-grid,.payment-form-grid,.voucher-form-grid,.live-form-grid,.challan-details-grid,.column-map-grid)>label:has(>textarea){grid-column:1/-1}:is(.generate-fields,.erp-form-grid-2,.form-grid,.collect-form-grid,.payment-form-grid,.voucher-form-grid,.live-form-grid,.challan-details-grid,.column-map-grid)>label>:is(small,.form-helper,.ds-field-error),.ds-field-message{min-height:var(--so-field-message-height);margin:calc(var(--so-form-message-gap) - var(--so-form-label-gap)) 0 calc(var(--so-form-label-gap) - var(--so-form-message-gap) - var(--so-field-message-height));font-size:var(--so-size-caption);font-weight:var(--so-weight-bold);line-height:var(--so-field-message-height);display:block}:is(.generate-fields,.erp-form-grid-2,.form-grid,.collect-form-grid,.payment-form-grid,.voucher-form-grid,.live-form-grid,.challan-details-grid,.column-map-grid)>label:not(:has(>small,>.form-helper,>.ds-field-error,>textarea)):after{min-height:var(--so-field-message-height);margin:calc(var(--so-form-message-gap) - var(--so-form-label-gap)) 0 calc(var(--so-form-label-gap) - var(--so-form-message-gap) - var(--so-field-message-height));font-size:var(--so-size-caption);font-weight:var(--so-weight-bold);line-height:var(--so-field-message-height);display:block}:is(.generate-fields,.erp-form-grid-2,.form-grid,.collect-form-grid,.payment-form-grid,.voucher-form-grid,.live-form-grid,.challan-details-grid,.column-map-grid)>label:not(:has(>small,>.form-helper,>.ds-field-error,>textarea)):after{content:""}.ds-field-message>small{display:block}:is(.generate-fields,.erp-form-grid-2,.form-grid,.collect-form-grid,.payment-form-grid,.voucher-form-grid,.live-form-grid,.challan-details-grid,.column-map-grid)>label>.form-field-error,.ds-field-error{color:var(--so-form-error);font-weight:var(--so-weight-semibold)}.field-date-words{color:var(--so-text-muted);font-weight:400}.form-helper{color:var(--so-text-muted)}.form-helper.is-warning{color:var(--so-warning)}.form-helper[role=alert],.form-helper.is-error{color:var(--so-danger);font-weight:var(--so-weight-semibold)}.erp-modal-container{flex-direction:column;display:flex;overflow:hidden}.erp-modal-container>form{flex-direction:column;flex:auto;gap:18px;min-height:0;display:flex}.erp-modal-container .erp-modal-header,.erp-modal-container .erp-modal-actions{flex:none}.erp-modal-container .erp-modal-body{margin-block:-3px;padding-block:3px}.erp-modal-body>*,.erp-modal-body label{min-width:0}.confirm-dialog{width:min(480px,100vw - 32px)}.confirm-dialog:has(:is(.generate-fields,.erp-form-grid-2,.form-grid)){width:min(760px,100vw - 32px)}.erp-modal-body .generate-title{align-content:start;gap:6px;display:grid}@media (max-width:760px){.erp-modal-body :is(.generate-fields,.erp-form-grid-2,.form-grid){grid-template-columns:minmax(0,1fr)}.erp-modal-actions{flex-wrap:wrap}}.erp-form-grid-2.has-gap-above{margin-top:10px}.erp-form-grid-2.has-gap-below{margin-bottom:14px}.challan-a4-school .challan-a4-address{color:var(--so-text);font-size:.95em}.challan-a4-school .challan-a4-phone{font-size:.85em}@media print{.challan-a4-school .challan-a4-address{white-space:nowrap}}.challan-a4-blank{border-bottom:1px solid var(--so-text-secondary);vertical-align:bottom;width:100%;min-width:120px;height:1.1em;display:inline-block}.challan-a4-settled th,.challan-a4-settled td{color:var(--so-success)}.batch-month-groups{grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;display:grid}.batch-month-group{border:1px solid var(--so-border);border-radius:var(--so-radius-md);background:var(--so-surface);min-width:0}.batch-month-group>summary{cursor:pointer;font-size:var(--so-size-body-sm);color:var(--so-text-secondary);padding:12px 14px;list-style-position:inside}.batch-month-group>summary strong{color:var(--so-text)}.batch-month-group[open]>summary{border-bottom:1px solid var(--so-border-subtle)}.batch-month-actions{justify-content:flex-end;padding:10px 14px 0;display:flex}.batch-month-group .invoice-register-frame{margin:10px 14px 14px}@media (max-width:760px){.batch-month-actions{justify-content:stretch}.batch-month-actions .btn{justify-content:center;width:100%}.batch-month-group .invoice-register-frame{margin:10px 8px 8px}}.warning-note{color:var(--so-warning)}.admission-details-needed{margin-bottom:var(--so-space-3)}.admission-details-needed>div{gap:var(--so-space-2);justify-items:start;display:grid}.admission-details-needed p{margin:0}.admission-details-editor{gap:var(--so-space-3);margin-top:var(--so-space-4);display:grid}.admission-details-editor .form-actions{gap:var(--so-space-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.collect-late-fine{gap:var(--so-space-3);margin-top:var(--so-space-4);display:grid}.collect-late-fine .check-field{font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold);color:var(--so-form-label-color)}.student-picker{gap:var(--so-space-2);min-width:0;display:grid;position:relative}.student-picker-list{padding:var(--so-space-1);border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);gap:2px;max-height:320px;margin:0;list-style:none;display:grid;overflow-y:auto}.student-picker-list>li{padding:var(--so-space-2) var(--so-space-3);border-radius:var(--so-radius-md);cursor:pointer;gap:2px;min-width:0;display:grid}.student-picker-list>li.is-active,.student-picker-list>li:hover{background:var(--so-primary-soft)}.student-picker-list>li strong{font-size:var(--so-size-body-sm);color:var(--so-text)}.student-picker-list>li span{font-size:var(--so-size-caption);color:var(--so-text-muted);overflow-wrap:anywhere}.student-picker-list>li.student-picker-empty{cursor:default;color:var(--so-text-muted);font-size:var(--so-size-body-sm)}.branding-panel-logo{object-fit:contain;border:1px solid var(--so-border);border-radius:var(--so-radius-md);background:var(--so-surface);width:40px;height:40px}.register-review-panel{gap:var(--so-space-3);display:grid}.register-review-head{justify-content:space-between;align-items:flex-end;gap:var(--so-space-3);flex-wrap:wrap;display:flex}.register-review-head h2{margin:0}.register-review-head p{margin:var(--so-space-1) 0 0;color:var(--so-text-muted)}.register-review-class{gap:var(--so-space-1);min-width:220px;display:grid}.register-corrections{margin-top:var(--so-space-3);border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);display:grid;overflow:hidden}.register-corrections-header{justify-content:space-between;align-items:center;gap:var(--so-space-3);background:var(--so-surface-sunken);border-bottom:1px solid var(--so-border);padding:10px 16px;display:flex}.register-corrections-title{color:var(--so-text);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-bold);align-items:center;gap:8px;display:inline-flex}.register-corrections-title h3{font-size:inherit;font-weight:inherit;color:inherit;margin:0}.register-corrections-list,.register-corrections ul{margin:0;padding:0;list-style:none;display:grid}.register-correction-item,.register-corrections ul>li{border-bottom:1px solid var(--so-border-subtle);gap:6px;padding:12px 16px;transition:background-color .15s;display:grid}.register-correction-item:last-child,.register-corrections ul>li:last-child{border-bottom:0}.register-correction-item:hover,.register-corrections ul>li:hover{background:var(--so-surface-sunken)}.register-correction-item-head{justify-content:space-between;align-items:center;gap:var(--so-space-2);display:flex}.register-correction-student{font-size:var(--so-size-body-sm);font-weight:var(--so-weight-bold);color:var(--so-text)}.register-correction-time{font-size:var(--so-size-caption);color:var(--so-text-muted);font-variant-numeric:tabular-nums;font-weight:var(--so-weight-medium)}.register-correction-transition{font-size:var(--so-size-body-sm);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.register-correction-arrow{color:var(--so-text-muted);font-weight:var(--so-weight-bold)}.register-correction-author{color:var(--so-text-secondary);font-size:var(--so-size-caption);font-weight:var(--so-weight-medium)}.register-correction-reason{background:var(--so-surface-sunken);border-radius:var(--so-radius-sm);border-left:3px solid var(--so-border-strong);font-size:var(--so-size-caption);align-items:baseline;gap:8px;margin-top:2px;padding:6px 12px;display:flex}.register-correction-reason-tag{color:var(--so-text-muted);font-size:var(--so-size-caption);font-weight:var(--so-weight-bold);text-transform:uppercase;letter-spacing:.05em;flex:none}.register-correction-reason-text{color:var(--so-text);overflow-wrap:anywhere;line-height:1.4}.register-correction-fields{grid-template-columns:1fr}@media (max-width:640px){.register-review-class{width:100%;min-width:0}}.import-stepper{padding:var(--so-space-3) var(--so-space-4);border-radius:var(--so-radius-xl);background:var(--so-surface);border:1px solid var(--so-border);margin-bottom:var(--so-space-3);display:block}.collect-stepper.import-stepper ol,.import-stepper ol{justify-content:space-between;align-items:center;gap:var(--so-space-2);width:100%;margin:0;padding:0;list-style:none;display:flex;overflow-x:visible}.collect-stepper.import-stepper li,.import-stepper li{align-items:center;gap:var(--so-space-2);white-space:normal;min-width:0;line-height:var(--so-leading-snug);color:var(--so-text-muted);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-medium);flex:1 1 0;display:inline-flex}.collect-stepper.import-stepper li span:not(.collect-step-number),.import-stepper li span:not(.collect-step-number){overflow-wrap:break-word;word-break:normal;min-width:0}.collect-stepper.import-stepper li+li:before,.import-stepper li+li:before{content:"";background:var(--so-border-strong);flex:0 0 16px;width:16px;height:1px}@media (max-width:480px){.collect-stepper.import-stepper ol,.import-stepper ol{row-gap:var(--so-space-2);column-gap:var(--so-space-3);flex-wrap:wrap}.collect-stepper.import-stepper li,.import-stepper li{flex:1 1 calc(50% - var(--so-space-3));font-size:var(--so-size-label)}.collect-stepper.import-stepper li+li:before,.import-stepper li+li:before{display:none}}.directory-toolbar,.directory-header-actions,.page-actions,.hero-actions,.report-actions,.expense-selection-actions,.expense-row-actions,.teacher-form-actions,.form-actions,.fee-hub-hero-actions,.fee-followup-actions,.collect-actions,.challan-print-actions,.challan-details-actions,.fee-head-form-actions,.voucher-print-actions,.admission-actions,.student-hero-actions,.reports-hub-toolbar,.invoice-register-toolbar,.compact-directory-tabs,.directory-toolbar[role=tablist],.directory-toolbar>[role=group],.directory-toolbar>.directory-header-actions{gap:var(--so-space-2);flex-flow:wrap;align-items:center;display:flex}.directory-toolbar>.btn,.directory-header-actions>.btn,.report-actions>.btn,.hero-actions>.btn,.page-actions>.btn{flex-shrink:0}@media (max-width:480px){.directory-toolbar,.directory-header-actions,.page-actions,.hero-actions,.report-actions,.expense-selection-actions,.teacher-form-actions{gap:var(--so-space-2);flex-flow:wrap;width:100%;display:flex}.directory-toolbar[role=tablist]{gap:var(--so-space-2);flex-flow:wrap;display:flex}}.directory-toolbar,.so-tabs,.expense-tabs,.setup-tabs,.fee-setup-tabs,.schoolos-tab-nav,.compact-directory-tabs,.directory-toolbar[role=tablist],.report-actions:not(:last-child){margin-bottom:var(--so-space-4)}:is(.premium-dashboard,.compact-directory-page,.fee-hub,.expenses-page,.reports-hub)>:is(.so-tabs,.expense-tabs,.setup-tabs,.fee-setup-tabs,.schoolos-tab-nav,.compact-directory-tabs,.directory-toolbar[role=tablist]),.fees-hub-header .fees-hub-tabs.so-tabs{margin-bottom:0}:is(.card,.premium-panel)>.directory-toolbar{margin-bottom:var(--so-space-4)}.directory-toolbar>.directory-header-actions{margin-bottom:0}.table-pagination,.teacher-form-actions,.form-actions{margin-bottom:var(--so-space-4)}.table-pagination+.teacher-form-actions,.table-pagination+.form-actions,.erp-table-wrap+.teacher-form-actions,.erp-table-wrap+.form-actions{margin-top:var(--so-space-4)}.teacher-form-actions>.form-helper{margin-top:0;margin-bottom:0;margin-right:auto}:is(.card,.premium-panel)>:is(.table-pagination,.teacher-form-actions,.form-actions):last-child{margin-bottom:var(--so-space-4)}.directory-header-actions .btn,.directory-header-actions>.btn,.fee-hub-hero-actions .btn{min-height:36px;font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold);border-radius:var(--so-radius-md);justify-content:center;align-items:center;gap:6px;padding:8px 14px;line-height:1.25;display:inline-flex}.directory-header-actions .btn svg,.directory-header-actions>.btn svg,.fee-hub-hero-actions .btn svg{flex-shrink:0;width:16px;height:16px}.admission-notice{justify-content:space-between;align-items:center;gap:var(--so-space-3);margin-bottom:var(--so-space-4);flex-wrap:wrap;display:flex}.admission-notice-body{align-items:center;gap:var(--so-space-3);display:flex}.admission-notice-icon{color:var(--so-success);flex-shrink:0}.warning-note .admission-notice-icon{color:inherit}.admission-notice-text{margin:2px 0 0}.admission-modal{flex-direction:column;width:min(680px,100vw - 32px);max-width:680px;max-height:90vh;display:flex}.admission-modal.is-narrow{width:min(600px,100vw - 32px);max-width:600px}.admission-modal-kicker{align-items:center;gap:var(--so-space-2);display:flex}.admission-modal-title{margin:2px 0 0}.admission-modal-form{flex-direction:column;flex:1;min-height:0;display:flex}.admission-modal-alert{margin-bottom:var(--so-space-4)}.admission-modal-actions{justify-content:flex-end;gap:var(--so-space-2);padding:var(--so-space-3) 0 0;border-top:1px solid var(--so-border);display:flex}.admission-form-section{margin-bottom:var(--so-space-4)}.admission-form-section-title{margin:0 0 var(--so-space-2);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-bold);letter-spacing:var(--so-tracking-caps);text-transform:uppercase;color:var(--so-text-muted)}.admission-enroll-summary{margin-bottom:var(--so-space-4);padding:var(--so-space-3) 14px;border:1px solid var(--so-border);border-radius:var(--so-radius-md);background:var(--so-surface-sunken);font-size:var(--so-size-body-sm)}.admission-enroll-summary-grid{gap:var(--so-space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admission-enroll-label{color:var(--so-text-muted)}.admission-help{font-size:var(--so-size-caption);color:var(--so-text-muted)}.tt-toolbar-card{padding:10px var(--so-space-4)}.tt-toolbar{gap:var(--so-space-3);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.tt-toolbar-group{gap:var(--so-space-2);display:flex}.tt-toolbar-picker{gap:var(--so-space-3);align-items:center;display:flex}.tt-picker-label{align-items:center;gap:var(--so-space-2);font-weight:var(--so-weight-semibold);font-size:var(--so-size-body-sm);display:flex}.tt-picker-select{padding:6px var(--so-space-3);border-radius:var(--so-radius-sm);border:1px solid var(--so-border);background-color:var(--so-surface);font-size:var(--so-size-body-sm)}.tt-grid-card{padding:var(--so-space-3) 14px}.tt-error{align-items:center;gap:var(--so-space-2);margin-bottom:var(--so-space-3);border-radius:var(--so-radius-sm);background-color:var(--so-danger-soft);color:var(--so-danger);font-size:var(--so-size-body-sm);padding:10px 14px;display:flex}.timetable-week-scroll{overflow-x:auto}.tt-week-table{border-collapse:separate;width:100%;border-spacing:var(--so-space-1);min-width:820px}.tt-week-corner{width:125px;padding:var(--so-space-2) 10px;border-radius:var(--so-radius-sm);background-color:var(--so-neutral-soft);text-align:center;font-size:var(--so-size-body-sm)}.tt-inline-icon{margin-right:var(--so-space-1);display:inline}.tt-week-day{padding:var(--so-space-2) 10px;border-radius:var(--so-radius-sm);background-color:var(--so-surface-sunken);text-align:center;text-transform:capitalize;font-weight:var(--so-weight-bold);color:var(--so-text);font-size:var(--so-size-body-sm)}.tt-period-cell{padding:6px var(--so-space-2);border:1px solid var(--so-border);border-radius:var(--so-radius-sm);background-color:var(--so-surface-sunken);text-align:center;vertical-align:middle}.tt-period-name{font-size:var(--so-size-body-sm);display:block}.tt-period-time{font-size:var(--so-size-caption);color:var(--so-text-muted);margin-top:1px}.timetable-cell{height:54px;padding:var(--so-space-1) 6px;border:1px dashed var(--so-border);border-radius:var(--so-radius-sm);background-color:var(--so-surface);vertical-align:middle;transition:var(--so-duration-fast) ease;position:relative}.timetable-cell[data-filled=true]{border:1px solid var(--so-success-solid);background-color:var(--so-success-soft)}.tt-slot-row{justify-content:space-between;align-items:center;gap:var(--so-space-1);height:100%;display:flex}.tt-slot-main{min-width:0;overflow:hidden}.tt-slot-subject{background-color:var(--so-success-soft);max-width:100%;color:var(--so-success);font-size:var(--so-size-caption);font-weight:var(--so-weight-bold);white-space:nowrap;text-overflow:ellipsis;border-radius:3px;margin-bottom:2px;padding:1px 6px;display:inline-block;overflow:hidden}.tt-slot-teacher{font-size:var(--so-size-caption);font-weight:var(--so-weight-semibold);color:var(--so-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.timetable-slot-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.tt-slot-add{border-radius:var(--so-radius-sm);width:100%;height:100%;color:var(--so-text-placeholder);font-size:var(--so-size-caption);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:3px;padding:2px;display:flex}.tt-slot-empty{width:100%;height:100%;color:var(--so-border-strong);font-size:var(--so-size-caption);justify-content:center;align-items:center;display:flex}.tt-dialog{border-radius:var(--so-radius-xl);flex-direction:column;width:100%;max-width:560px;max-height:min(90dvh,680px);padding:0;display:flex;overflow:hidden}.tt-dialog-head{padding:var(--so-space-5) var(--so-space-6) var(--so-space-4);border-bottom:1px solid var(--so-border);background:var(--so-surface);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.tt-dialog-kicker{margin-bottom:var(--so-space-1);font-size:var(--so-size-caption);font-weight:var(--so-weight-bold);letter-spacing:.1em;text-transform:uppercase;color:var(--so-primary);display:block}.tt-dialog-title{font-size:var(--so-size-h3);font-weight:var(--so-weight-bold);margin:0}.tt-dialog-close{padding:var(--so-space-2);background:var(--so-neutral-soft);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;display:flex}.tt-dialog-body{padding-block:var(--so-space-5)}.tt-dialog-error{align-items:center;gap:var(--so-space-2);margin-bottom:var(--so-space-4);background-color:var(--so-danger-soft);color:var(--so-danger);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-bold);border-radius:10px;padding:10px 14px;display:flex}.tt-field{font-size:var(--so-size-label);font-weight:var(--so-weight-bold);color:var(--so-text-secondary);flex-direction:column;gap:6px;display:flex}.tt-field-label{align-items:center;gap:var(--so-space-1);display:inline-flex}.tt-required{color:var(--so-danger-solid)}.tt-field-select{box-sizing:border-box;width:100%;min-height:var(--so-control-height-lg);padding:0 var(--so-space-3);border:1px solid var(--so-border-strong);background:var(--so-surface);font:inherit;color:var(--so-text);font-weight:var(--so-weight-semibold);cursor:pointer;border-radius:10px}.tt-field-group{flex-direction:column;gap:6px;display:flex}.tt-field-caption{font-size:var(--so-size-label);font-weight:var(--so-weight-bold);color:var(--so-text-secondary)}.tt-field-note{min-height:var(--so-control-height-lg);padding:0 var(--so-space-3);border:1px solid var(--so-warning-solid);background:var(--so-warning-soft);color:var(--so-warning);font-size:var(--so-size-label);font-weight:var(--so-weight-bold);border-radius:10px;align-items:center;display:flex}.tt-field-spaced{margin-bottom:var(--so-space-2)}.tt-field-hint{font-size:var(--so-size-caption);color:var(--so-text-muted);font-weight:var(--so-weight-bold)}.tt-dialog-foot{padding:var(--so-space-4) var(--so-space-6);border-top:1px solid var(--so-border);background:var(--so-surface);flex-shrink:0;justify-content:flex-end;gap:10px;display:flex}.tt-bell-dialog{flex-direction:column;width:100%;max-width:680px;max-height:min(90dvh,720px);padding:0;display:flex;overflow:hidden}.tt-bell-head{padding:var(--so-space-5) var(--so-space-6);border-bottom:1px solid var(--so-border);justify-content:space-between;align-items:flex-start;display:flex}.tt-bell-title{font-size:var(--so-size-h3);font-weight:var(--so-weight-bold);color:var(--so-text);margin:0}.tt-bell-subtitle{margin:var(--so-space-1) 0 0;font-size:var(--so-size-body-sm);color:var(--so-text-muted)}.tt-bell-body{gap:var(--so-space-5);padding-block:var(--so-space-5);flex-direction:column;display:flex}.tt-bell-error{border:1px solid var(--so-danger-soft);border-radius:var(--so-radius-md);background-color:var(--so-danger-soft);color:var(--so-danger);font-size:var(--so-size-body-sm);padding:10px 14px;line-height:1.4}.tt-bell-section-head{margin-bottom:var(--so-space-2);justify-content:space-between;align-items:center;display:flex}.tt-bell-section-title{font-size:var(--so-size-body);font-weight:var(--so-weight-semibold);color:var(--so-text);margin:0}.tt-bell-table-frame{border:1px solid var(--so-border);border-radius:var(--so-radius-md);overflow:hidden}.tt-bell-table-scroll{max-height:240px;overflow-y:auto}.tt-bell-thead{z-index:1;background-color:var(--so-surface-sunken);position:sticky;top:0}.tt-bell-head-row{border-bottom:1px solid var(--so-border);text-align:left}.tt-bell-cell-narrow{width:40px}.tt-bell-cell{padding:var(--so-space-2) 10px}.tt-bell-cell.is-end{text-align:right}.tt-bell-row{border-bottom:1px solid var(--so-border-subtle)}.tt-bell-row.is-editing{background-color:var(--so-primary-soft)}.tt-bell-row.is-break{background-color:var(--so-warning-soft)}.tt-bell-cell.is-middle{vertical-align:middle}.tt-bell-cell.is-muted{color:var(--so-text-muted)}.tt-bell-cell.is-strong{font-weight:var(--so-weight-semibold)}.tt-bell-kind{padding:2px var(--so-space-2);border-radius:var(--so-radius-pill);background-color:var(--so-primary-soft);color:var(--so-primary);font-size:var(--so-size-caption);font-weight:var(--so-weight-semibold);display:inline-block}.tt-bell-kind.is-break{background-color:var(--so-warning-soft);color:var(--so-warning)}.tt-bell-cell.is-secondary{color:var(--so-text-secondary)}.tt-bell-minutes{font-size:var(--so-size-caption);color:var(--so-text-muted);margin-left:6px}.tt-bell-form{padding:var(--so-space-4);border:1px solid var(--so-border);border-radius:var(--so-radius-md);background-color:var(--so-surface-sunken)}.tt-bell-form-head{margin-bottom:var(--so-space-3);justify-content:space-between;align-items:center;display:flex}.tt-bell-form-title{font-size:var(--so-size-body-sm);font-weight:var(--so-weight-bold);color:var(--so-text);margin:0}.tt-bell-form-hint{font-size:var(--so-size-caption);color:var(--so-text-muted)}.tt-bell-label{margin-bottom:var(--so-space-1);font-size:var(--so-size-label);font-weight:var(--so-weight-semibold);color:var(--so-text-secondary);display:block}.tt-bell-form-actions{justify-content:flex-end;gap:var(--so-space-2);margin-top:var(--so-space-3);display:flex}.tt-bell-foot{padding:var(--so-space-4) var(--so-space-6);border-top:1px solid var(--so-border);background-color:var(--so-surface-sunken);justify-content:flex-end;display:flex}.student-tuition-line{align-items:center;gap:var(--so-space-2);font-size:var(--so-size-body-sm);color:var(--so-text);flex-wrap:wrap;margin:0;display:flex}.admission-not-saved{margin:var(--so-space-2) 0 0;padding-left:var(--so-space-4)}:is(.generate-fields,.erp-form-grid-2,.form-grid,.collect-form-grid,.payment-form-grid,.voucher-form-grid,.live-form-grid,.challan-details-grid,.column-map-grid)>label>:is(small,.form-helper,.ds-field-error):not(:last-child){margin-bottom:0}label:is(.form-inline-confirm,.check-field){align-items:center;gap:var(--so-space-2);display:flex}:is(.generate-fields,.erp-form-grid-2,.form-grid,.collect-form-grid,.payment-form-grid,.voucher-form-grid,.live-form-grid,.challan-details-grid,.column-map-grid)>label:is(.form-inline-confirm,.check-field):after{content:none;display:none}label:is(.form-inline-confirm,.check-field)>span:first-child{white-space:normal;text-overflow:clip;overflow:visible}label:is(.form-inline-confirm,.check-field)>input{flex-shrink:0;width:18px;height:18px;min-height:0;margin:0}:root{--so-leading-message:20px;--so-leading-note:18px;--so-fees-row-height:56px;--so-fees-control-height:40px}.form-section-card.fees-step{gap:var(--so-space-5)}.fees-step-head{gap:var(--so-space-1);display:grid}.fees-step .fees-step-head h3{border:0;margin:0;padding:0}.fees-step .fees-step-head .form-subtitle{font-size:var(--so-size-body);line-height:var(--so-leading-message);margin:0}.fees-plan{gap:var(--so-space-3);min-width:0;display:grid}.fees-plan-head{align-items:center;gap:var(--so-space-2);flex-wrap:wrap;display:flex}.fees-plan-label{font-size:var(--so-size-body);font-weight:var(--so-weight-semibold);color:var(--so-text)}.fees-table{border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);display:grid;overflow:hidden}.fees-row{min-height:var(--so-fees-row-height);padding:var(--so-space-2) var(--so-space-4);border-top:1px solid var(--so-border);grid-template-columns:40px minmax(0,1fr) 180px 200px;align-items:center;display:grid}.fees-row:first-child{border-top:0}.fees-row-head{background:var(--so-surface-sunken);min-height:0;font-size:var(--so-size-label);font-weight:var(--so-weight-semibold);color:var(--so-text-muted);text-transform:uppercase;letter-spacing:.04em;padding-block:10px}.fees-row-empty{padding:var(--so-space-4);background:var(--so-surface-sunken);font-size:var(--so-size-body);line-height:var(--so-leading-message);color:var(--so-text-muted);grid-template-columns:minmax(0,1fr)}.fees-row-empty a{color:var(--so-primary);font-weight:var(--so-weight-medium)}.fees-cell-check{align-items:center;display:flex}.fees-cell-check input{width:18px;height:18px;accent-color:var(--so-primary);margin:0}.fees-cell-name{align-items:center;gap:var(--so-space-2);min-width:0;font-size:var(--so-size-body);font-weight:var(--so-weight-medium);line-height:var(--so-leading-message);color:var(--so-text);flex-wrap:wrap;display:flex}.fees-cell-name label{cursor:pointer;font:inherit;color:inherit}.fees-row.is-off .fees-cell-name{color:var(--so-text-muted)}.fees-cell-often{font-size:var(--so-size-body);line-height:var(--so-leading-message);color:var(--so-text-muted)}.fees-amount{align-items:center;gap:var(--so-space-2);height:var(--so-fees-control-height);padding:0 var(--so-space-3);border:1px solid var(--so-border);border-radius:var(--so-radius-md);background:var(--so-surface);display:flex}.fees-amount:focus-within{border-color:var(--so-primary);outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:-1px}.fees-amount.is-disabled{background:var(--so-border-subtle)}.fees-amount.is-invalid{border-color:var(--so-form-error);box-shadow:inset 0 0 0 1px var(--so-form-error)}.fees-amount-prefix{font-size:var(--so-size-body);color:var(--so-text-muted)}.fees-amount input{min-width:0;height:100%;font:inherit;font-size:var(--so-size-body);font-weight:var(--so-weight-medium);color:var(--so-text);background:0 0;border:0;outline:0;flex:auto;padding:0}.fees-amount input:is(:focus,:focus-visible){box-shadow:none;outline:none}.fees-amount input::placeholder{font-weight:var(--so-weight-regular);color:var(--so-text-placeholder)}.fees-amount input:disabled{color:var(--so-text-placeholder)}.fees-message{align-items:flex-start;gap:var(--so-space-2);font-size:var(--so-size-body);line-height:var(--so-leading-message);color:var(--so-text-muted);margin:0;display:flex}.fees-message svg{flex:none;margin-top:2px}.fees-message.is-error{font-weight:var(--so-weight-medium);color:var(--so-form-error)}.fees-voucher{gap:var(--so-space-3);padding:14px var(--so-space-4);border-radius:var(--so-radius-lg);background:var(--so-surface-sunken);display:grid}.fees-voucher-fields{align-items:center;gap:var(--so-space-3) var(--so-space-6);flex-wrap:wrap;display:flex}.fees-voucher-field{align-items:center;gap:var(--so-space-3);font-size:var(--so-size-body);font-weight:var(--so-weight-medium);color:var(--so-text);display:flex}.fees-voucher-field .fees-amount{width:220px}.fees-date{height:var(--so-fees-control-height);padding:0 var(--so-space-3);border:1px solid var(--so-border);border-radius:var(--so-radius-md);background:var(--so-surface);font:inherit;font-size:var(--so-size-body);color:var(--so-text)}.fees-date[aria-invalid=true]{border-color:var(--so-form-error)}.so-switch-row{align-items:center;gap:var(--so-space-3);cursor:pointer;display:inline-flex}.so-switch{appearance:none;border-radius:var(--so-radius-pill);background:var(--so-border-strong);cursor:pointer;width:36px;height:20px;transition:background var(--so-transition);flex:none;margin:0;position:relative}.so-switch:after{content:"";border-radius:var(--so-radius-pill);background:var(--so-surface);width:16px;height:16px;box-shadow:var(--so-shadow-sm);transition:transform var(--so-transition);position:absolute;top:2px;left:2px}.so-switch:checked{background:var(--so-primary)}.so-switch:checked:after{transform:translate(16px)}.so-switch:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:2px}.so-switch-text{gap:2px;display:grid}.so-switch-title{font-size:var(--so-size-body);font-weight:var(--so-weight-semibold);line-height:var(--so-leading-message);color:var(--so-text)}.so-switch-description{font-size:var(--so-size-body-sm);line-height:var(--so-leading-note);color:var(--so-text-muted)}.fees-summary{justify-content:space-between;align-items:center;gap:var(--so-space-3) var(--so-space-6);padding:var(--so-space-4) var(--so-space-5);border-radius:var(--so-radius-lg);background:var(--so-primary-soft);flex-wrap:wrap;display:flex}.fees-summary-main,.fees-summary-side{gap:2px;min-width:0;display:grid}.fees-summary-label{font-size:var(--so-size-body-sm);line-height:var(--so-leading-note);color:var(--so-text-muted)}.fees-summary-value{font-size:var(--so-size-h2);font-weight:var(--so-weight-bold);color:var(--so-text);font-variant-numeric:tabular-nums}.fees-summary-side strong{font-size:var(--so-size-h3);font-weight:var(--so-weight-semibold);color:var(--so-text);font-variant-numeric:tabular-nums}.fees-summary .is-empty{color:var(--so-text-placeholder)}.fees-lock-note{align-items:flex-start;gap:var(--so-space-2);font-size:var(--so-size-body-sm);line-height:var(--so-leading-note);color:var(--so-text-muted);margin:0;display:flex}.fees-lock-note svg{flex:none;margin-top:1px}.confirm-dialog:has(.fees-preview){width:min(620px,100vw - 32px)}.fees-preview{gap:var(--so-space-4);display:grid}.fees-table.is-preview .fees-row{grid-template-columns:minmax(0,1fr) 150px 110px;min-height:0;padding-block:14px}.fees-table.is-preview .fees-row-head{padding-block:10px}.fees-table.is-preview .fees-cell-amount{font-size:var(--so-size-body);font-weight:var(--so-weight-semibold);color:var(--so-text)}.fees-table .is-numeric{text-align:right;font-variant-numeric:tabular-nums}.fees-preview-total{justify-content:space-between;align-items:center;gap:var(--so-space-3);padding:var(--so-space-3) var(--so-space-4);border-radius:var(--so-radius-lg);background:var(--so-primary-soft);font-size:var(--so-size-body);font-weight:var(--so-weight-medium);color:var(--so-text);display:flex}.fees-preview-total strong{font-size:var(--so-size-h3);font-weight:var(--so-weight-bold);font-variant-numeric:tabular-nums}.intake-actions{justify-content:flex-end;gap:var(--so-space-3);display:flex}@media (max-width:760px){.form-section-card.fees-step{padding:var(--so-space-5) var(--so-space-4)}.fees-cell-name{gap:6px}.fees-row{align-items:start}.fees-cell-check{height:var(--so-leading-message)}.fees-cell-often{padding-top:1px}.intake-actions{flex-direction:column-reverse}.intake-actions>.btn{width:100%}.fees-row{min-height:0;padding:var(--so-space-3) 14px;grid-template-columns:28px minmax(0,1fr) auto;row-gap:10px}.fees-row-head{display:none}.fees-row-head+.fees-row{border-top:0}.fees-cell-often{font-size:var(--so-size-body-sm);line-height:var(--so-leading-note);text-align:right}.fees-cell-amount{grid-column:1/-1}.fees-row-empty{grid-template-columns:minmax(0,1fr)}.fees-voucher-fields{flex-direction:column;align-items:stretch}.fees-voucher-field{flex-direction:column;align-items:stretch;gap:6px}.fees-voucher-field .fees-amount,.fees-date{width:100%}.fees-summary{flex-direction:column;align-items:flex-start}.fees-table.is-preview .fees-row{column-gap:var(--so-space-3);grid-template-columns:minmax(0,1fr) auto auto}.fees-table.is-preview .fees-row-head{display:grid}.fees-table.is-preview .fees-cell-amount{grid-column:auto}}:root{--so-icon3d-kpi:40px;--so-icon3d-module:56px}@media (max-width:760px){:root{--so-icon3d-kpi:32px;--so-icon3d-module:48px}}.icon3d{object-fit:contain;flex:none;display:block}.icon3d-kpi{width:var(--so-icon3d-kpi);height:var(--so-icon3d-kpi)}.icon3d-module{width:var(--so-icon3d-module);height:var(--so-icon3d-module)}.icon3d.is-fallback{color:var(--so-text-muted);padding:25%}.kpi-card.has-icon3d,.metric.has-icon3d{column-gap:var(--so-space-3);grid-template-columns:minmax(0,1fr) auto;align-items:start;row-gap:0;display:grid}.metric.has-icon3d{row-gap:var(--so-space-1)}.kpi-card.has-icon3d>:not(.kpi-card-icon3d),.metric.has-icon3d>:not(.kpi-card-icon3d){grid-column:1}.has-icon3d>.kpi-card-label{min-height:24px}.kpi-card-icon3d{grid-area:1/2/span 2;align-self:start;line-height:0}.command-kpi-card.has-icon3d{column-gap:var(--so-space-3);grid-template-columns:minmax(0,1fr) auto;align-items:start;row-gap:0;display:grid}.command-kpi-card.has-icon3d>:not(.kpi-card-icon3d){grid-column:1}.command-kpi-card.has-icon3d>.command-kpi-label{min-height:24px}.premium-metric.has-icon3d>.kpi-card-icon3d{display:block;position:absolute;top:13px;right:14px}.premium-metric.has-icon3d>span:first-child,.premium-metric.has-icon3d>strong{padding-right:calc(var(--so-icon3d-kpi) + var(--so-space-3))}.home-tile-icon3d{line-height:0;display:block}.ai-answer{gap:var(--so-space-2);display:grid}.ai-answer-text{white-space:pre-line;font-size:var(--so-size-body);line-height:var(--so-leading-message);color:var(--so-text);margin:0}.ai-answer-table{border-collapse:collapse;width:100%;font-size:var(--so-size-body-sm)}.ai-answer-table th,.ai-answer-table td{padding:var(--so-space-1) var(--so-space-2);border-top:1px solid var(--so-border);text-align:left}.ai-answer-table th{font-weight:var(--so-weight-medium);color:var(--so-text-muted);text-transform:capitalize}.ai-answer-table td{text-align:right;font-variant-numeric:tabular-nums;color:var(--so-text)}.ai-answer-source{font-size:var(--so-size-body-sm);line-height:var(--so-leading-note);color:var(--so-text-muted);margin:0}.ai-answer-actions{justify-content:space-between;align-items:center;gap:var(--so-space-2);flex-wrap:wrap;display:flex}.ai-answer-link{align-items:center;gap:var(--so-space-1);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold);color:var(--so-primary);text-decoration:none;display:inline-flex}.ai-answer-rate{gap:var(--so-space-1);display:inline-flex}.ai-answer-rate button{border:1px solid var(--so-border);border-radius:var(--so-radius-md);background:var(--so-surface);width:32px;height:32px;color:var(--so-text-muted);cursor:pointer;place-items:center;display:inline-grid}.ai-answer-rate button:hover{border-color:var(--so-primary);color:var(--so-primary)}.ai-answer-thanks{font-size:var(--so-size-body-sm);color:var(--so-text-muted)}.ask-ai-working{font-size:var(--so-size-body);color:var(--so-text-muted);margin:0}.ask-ai-error{font-size:var(--so-size-body);color:var(--so-form-error);margin:0}.chat-bubble-pending{align-items:center;gap:var(--so-space-2);display:flex}.chat-working{font-size:var(--so-size-body);color:var(--so-text-muted);margin:0}.ask-ai-turn{gap:var(--so-space-2);display:grid}@media (max-width:760px){.global-ai-drawer{border-radius:0;width:100%;max-width:100%;height:100dvh;inset:0}}.ai-answer-table thead th{text-align:left;font-weight:var(--so-weight-semibold);color:var(--so-text-muted);text-transform:none}.portal-preview-picker{gap:var(--so-space-4);min-width:0;display:grid}.ppp-top{justify-content:space-between;align-items:center;gap:var(--so-space-3);display:flex}.ppp-top .btn{align-items:center;gap:var(--so-space-2);display:inline-flex}.ppp-back-short{display:none}.ppp-crumbs{color:var(--so-text-muted);font-size:var(--so-size-caption);font-weight:var(--so-weight-medium);letter-spacing:var(--so-tracking-caps);text-transform:uppercase}.ppp-crumbs span{margin:0 var(--so-space-1)}.ppp-hero{margin-bottom:0}.ppp-readonly{align-items:center;gap:var(--so-space-2);padding:var(--so-space-2) var(--so-space-3);border-radius:var(--so-radius-pill);background:var(--so-success-soft);color:var(--so-success);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-medium);display:inline-flex}.ppp-dot{border-radius:var(--so-radius-pill);background:var(--so-success-solid);flex:none;width:8px;height:8px}.ppp-filters{gap:var(--so-space-3);grid-template-columns:minmax(0,1fr) minmax(160px,220px) auto;align-items:center;display:grid}.ppp-search{min-width:0}.ppp-count{color:var(--so-text-muted);font-size:var(--so-size-body-sm);white-space:nowrap}.ppp-grid{gap:var(--so-space-4);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.ppp-card{gap:var(--so-space-3);min-width:0;padding:var(--so-card-padding);border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);box-shadow:var(--so-shadow-sm);align-content:start;display:grid}.ppp-person{gap:var(--so-space-3);grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.ppp-name{gap:2px;min-width:0;display:grid}.ppp-name strong{font-size:var(--so-size-body);color:var(--so-text);overflow-wrap:anywhere}.ppp-name small,.ppp-line,.ppp-children{color:var(--so-text-muted);font-size:var(--so-size-body-sm);overflow-wrap:anywhere;margin:0}.ppp-chips{gap:var(--so-space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.ppp-chips .portal-pill{white-space:normal}.ppp-foot{justify-content:space-between;align-items:center;gap:var(--so-space-3);flex-wrap:wrap;margin-top:auto;display:flex}.ppp-foot .btn{align-items:center;gap:var(--so-space-2);display:inline-flex}.ppp-more{color:var(--so-primary);font-size:var(--so-size-body-sm);margin:0}.ppp-load{color:var(--so-primary);font:inherit;font-weight:var(--so-weight-semibold);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}@media (max-width:1100px){.ppp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.ppp-grid,.ppp-filters{grid-template-columns:minmax(0,1fr)}.ppp-back-long{display:none}.ppp-back-short{display:inline}.ppp-readonly{white-space:normal}}.ai-voice-controls{align-items:center;gap:var(--so-space-1);flex:none;display:inline-flex}.ai-voice-langs{border:1px solid var(--so-border);border-radius:var(--so-radius-md);display:inline-flex;overflow:hidden}.ai-voice-lang{background:var(--so-surface);color:var(--so-text-muted);font-size:var(--so-size-caption);font-weight:var(--so-weight-medium);cursor:pointer;border:0;min-height:28px;padding:4px 7px}.ai-voice-lang[aria-pressed=true]{background:var(--so-primary-soft);color:var(--so-primary)}.ai-voice-lang:disabled{cursor:default}.ai-voice-mic{border-radius:var(--so-radius-md);border:1px solid var(--so-border);background:var(--so-surface);width:34px;height:34px;color:var(--so-primary);cursor:pointer;flex:none;place-items:center;display:inline-grid;position:relative}.ai-voice-mic:disabled{opacity:.5;cursor:not-allowed}.ai-voice-mic.is-listening{background:var(--so-danger-solid);border-color:var(--so-danger-solid);color:var(--so-text-inverse)}.ai-voice-mic.is-listening:after{content:"";border-radius:inherit;border:2px solid var(--so-danger-solid);pointer-events:none;animation:1.4s ease-out infinite ai-voice-pulse;position:absolute;inset:-4px}@keyframes ai-voice-pulse{0%{opacity:.9;transform:scale(.9)}to{opacity:0;transform:scale(1.35)}}@media (prefers-reduced-motion:reduce){.ai-voice-mic.is-listening:after{opacity:.6;animation:none}}.ai-voice-notice{margin:var(--so-space-2) 0 0;color:var(--so-text-muted);font-size:var(--so-size-caption)}.ai-answer-read{align-items:center;gap:var(--so-space-1);color:var(--so-primary);font-size:var(--so-size-caption);font-weight:var(--so-weight-medium);cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}@media (max-width:420px){.ai-voice-lang{padding:4px 5px}}.global-ai-launcher.is-movable{translate:0 calc(-1 * var(--ai-launcher-lift,0px));touch-action:none;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s}.global-ai-launcher-grip{opacity:.75;cursor:grab;flex:none}.global-ai-launcher.is-movable:active{cursor:grabbing}@media (max-width:768px){.global-ai-launcher.is-movable{overflow:visible}.global-ai-launcher-grip{background:var(--so-surface);width:16px;height:28px;color:var(--so-text-muted);box-shadow:var(--so-shadow-sm);opacity:1;border-radius:8px 0 0 8px;margin-top:-14px;padding:6px 1px;position:absolute;top:50%;left:-16px}}.global-ai-launcher.is-movable{border-radius:50%;justify-content:center;gap:0;width:56px;min-width:0;height:56px;padding:0;overflow:visible}.global-ai-launcher.is-movable .global-ai-launcher-icon{width:26px;height:26px}.global-ai-launcher-spark{color:var(--so-surface);position:absolute;top:12px;right:11px}.global-ai-launcher.is-movable .global-ai-launcher-grip{border-radius:var(--so-radius-sm);width:28px;height:14px;box-shadow:none;opacity:0;cursor:grab;background:0 0;margin:0 0 0 -14px;padding:0;position:absolute;top:-6px;left:50%}.global-ai-launcher-tip{right:calc(100% + var(--so-space-2));white-space:nowrap;padding:var(--so-space-1) var(--so-space-2);border-radius:var(--so-radius-md);background:var(--so-text);color:var(--so-surface);font-size:var(--so-size-label);font-weight:var(--so-weight-semibold);box-shadow:var(--so-shadow-md);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s,visibility .15s;position:absolute;top:50%;transform:translateY(-50%)}.global-ai-launcher:hover .global-ai-launcher-tip,.global-ai-launcher:focus-visible .global-ai-launcher-tip{opacity:1;visibility:visible}@media (max-width:768px){:root{--so-fab-safe:80px}.global-ai-launcher.is-movable{width:48px;height:48px}.global-ai-launcher.is-movable>.global-ai-launcher-grip,.global-ai-launcher.is-movable>.global-ai-launcher-tip{display:block}.global-ai-launcher.is-movable .global-ai-launcher-icon{width:22px;height:22px}.global-ai-launcher-spark{top:9px;right:8px}}.global-ai-status-dot{width:8px;height:8px;margin-left:var(--so-space-1);background:var(--so-success);vertical-align:middle;box-shadow:0 0 0 2px var(--so-success-soft);border-radius:50%;display:inline-block}@media (prefers-reduced-motion:reduce){.global-ai-launcher,.global-ai-launcher.is-movable,.global-ai-launcher-tip{transition:none}.global-ai-launcher:hover,.global-ai-launcher:active{transform:none}}:root{--chart-head-h:40px;--chart-figure-h:var(--perf-donut-size,168px);--chart-summary-h:52px}.viz-card.chart-card{justify-content:normal}.chart-card>*{flex:none}.chart-card-head{min-height:var(--chart-head-h);flex-wrap:nowrap}.chart-card-head>div{min-width:0}.chart-card-head .viz-badge{flex:none}.chart-card-figure{height:var(--chart-figure-h);align-items:flex-start;min-width:0;display:flex}.chart-card-figure>.viz-donut-row,.chart-card-figure>.perf-donut-row{width:100%}.chart-card .viz-context,.chart-card .chart-card-summary{min-height:var(--chart-summary-h);margin-top:0}.chart-card .perf-bars{flex:none}.perf-split-bar{border-radius:var(--so-radius-pill);width:100%;height:8px;display:block;overflow:hidden}.perf-split-track{fill:var(--so-border)}.perf-split-boys{fill:var(--so-primary)}.perf-split-girls{fill:var(--so-accent-violet)}@media (max-width:560px){:root{--chart-head-h:54px;--chart-figure-h:calc(var(--perf-donut-size,148px) + 136px);--chart-summary-h:68px}}.so-search{border-radius:var(--so-radius-md)}.so-search.so-search:focus-within{border-color:var(--so-primary);outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:1px;box-shadow:none}.so-search.so-search input:is(:focus,:focus-visible){box-shadow:none;border-color:#0000;outline:none}.so-card-only,.so-card-due-label{display:none}@media screen and (max-width:767px){table.so-cards .so-card-due-label{display:inline}:is(.erp-table-wrap:has(>table.so-cards),.report-table-wrap:has(>table.so-cards),.invoice-register-frame:has(table.so-cards),.tt-bell-table-frame:has(table.so-cards),.so-cards-wrap:has(>table.so-cards)){box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}table.so-cards.so-cards{background:0 0;border:0;width:100%;min-width:0;display:block}table.so-cards>thead{display:none}table.so-cards>tbody,table.so-cards>tfoot{gap:var(--so-space-2);grid-template-columns:minmax(0,1fr);display:grid}table.so-cards>tbody>tr,table.so-cards>tfoot>tr{align-items:center;row-gap:var(--so-space-1);min-width:0;min-height:64px;padding:var(--so-space-3) var(--so-space-4);border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);text-align:left;flex-wrap:wrap;display:flex;position:relative}.tt-bell-table-scroll:has(>table.so-cards){max-height:none;overflow:visible}table.so-cards>tbody>tr:is([hidden],.report-row-off-page){display:none}table.so-cards>tbody>tr[data-card-open]{padding-right:calc(var(--so-space-4) + 20px);cursor:pointer}table.so-cards>tbody>tr[data-card-open]:after{content:"";top:50%;right:var(--so-space-4);border-top:2px solid var(--so-text-muted);border-right:2px solid var(--so-text-muted);pointer-events:none;width:8px;height:8px;position:absolute;transform:translateY(-50%)rotate(45deg)}table.so-cards>tbody>tr:has([data-card-link]:focus-visible){outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:var(--so-focus-ring-offset)}table.so-cards>*>tr>td,table.so-cards>*>tr>th{text-align:left;white-space:normal;background:0 0;border:0;min-width:0;padding:0;display:none}table.so-cards>*>tr>th[data-card]{text-transform:none;letter-spacing:normal}table.so-cards>*>tr>[data-card=title]{color:var(--so-text);font-size:var(--so-size-body);font-weight:var(--so-weight-bold);overflow-wrap:anywhere;flex:0 0 100%;order:1;display:block}table.so-cards>*>tr>[data-card=meta]{color:var(--so-text-muted);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-regular);order:2;display:inline}table.so-cards>*>tr>[data-card=meta]~[data-card=meta]:before,table.so-cards .so-card-part+.so-card-part:before{content:" · "}table.so-cards>*>tr>[data-card=status]{min-width:0;max-width:100%;margin-left:var(--so-space-2);flex-wrap:wrap;order:3;display:inline-flex}table.so-cards .invoice-cancel-reason{flex:100%;min-width:0;max-width:100%}table.so-cards>*>tr>[data-card=actions]{gap:var(--so-space-2);margin-top:var(--so-space-2);z-index:1;flex-wrap:wrap;flex:0 0 100%;order:4;display:flex;position:relative}table.so-cards [data-card-link]{color:inherit}table.so-cards [data-card-link]:after{content:"";border-radius:var(--so-radius-lg);position:absolute;inset:0}table.so-cards>*>tr>[data-card] :is(button,a,input,select,label):not([data-card-link]){z-index:1;position:relative}.report-view .report-table-card .report-table-wrap{display:none}.report-view .report-cards{display:block}}.schoolos-topbar-brand,.schoolos-topbar-menu,.home-date-short{display:none}@media screen and (max-width:767px){.schoolos-shell .mobile-dashboard-topbar{display:none}.schoolos-command-bar.schoolos-command-bar{height:56px;min-height:56px;max-height:56px;padding:0 var(--so-space-3);column-gap:var(--so-space-1);flex-wrap:nowrap;row-gap:0}.schoolos-command-bar.schoolos-command-bar:has(.teacher-preview-banner){height:auto;max-height:none;padding-block:var(--so-space-2);flex-wrap:wrap}.schoolos-command-bar .schoolos-topbar-left{align-items:center;gap:var(--so-space-2);flex:auto;min-width:0;display:flex}.schoolos-command-bar .schoolos-context{display:none}.schoolos-topbar-brand{min-width:0;color:var(--so-text);flex:0 auto;align-items:center;text-decoration:none;display:flex}.schoolos-topbar-brand .schoolos-logo{gap:var(--so-space-2);min-width:0}.schoolos-topbar-brand .schoolos-logo strong{display:none}.schoolos-topbar-brand .schoolos-logo small{color:var(--so-text);opacity:1;font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold);letter-spacing:normal;text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.schoolos-topbar-brand:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:var(--so-focus-ring-offset);border-radius:var(--so-radius-sm)}.schoolos-command-bar .schoolos-topbar-demo-actions{flex:none}.schoolos-command-bar.schoolos-command-bar .topbar-demo-mobile-trigger{height:32px;min-height:32px;padding:0 var(--so-space-2);gap:var(--so-space-1);font-size:var(--so-size-caption)}.schoolos-command-bar .schoolos-topbar-center.schoolos-topbar-center{flex:none;order:0;width:auto;min-width:0}.schoolos-command-bar.schoolos-command-bar .command-trigger{width:var(--so-tap-target);min-width:var(--so-tap-target);max-width:var(--so-tap-target);height:var(--so-tap-target);min-height:var(--so-tap-target);justify-content:center;padding:0}.schoolos-command-bar .command-trigger :is(.command-trigger-label,.command-trigger-label-mobile,kbd){display:none}.command-overlay.command-overlay{padding:0}.command-modal.command-modal{border-radius:0;width:100%;height:100dvh;max-height:none}.schoolos-command-bar .schoolos-topbar-right.schoolos-topbar-right{gap:var(--so-space-1);flex:none}.schoolos-topbar-right .session-badge.session-badge{width:32px;min-width:32px;height:32px;padding:0 0 0 var(--so-space-2);white-space:nowrap;border-radius:var(--so-radius-pill);justify-content:start;overflow:hidden}.schoolos-topbar-right .session-badge.session-badge>span{display:none}.schoolos-topbar-menu{width:var(--so-tap-target);height:var(--so-tap-target);border:1px solid var(--so-border);border-radius:var(--so-radius-md);background:var(--so-surface);color:var(--so-text);cursor:pointer;place-items:center;display:inline-grid}.schoolos-topbar-menu:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:var(--so-focus-ring-offset)}.principal-page-heading .command-breadcrumb,.premium-main .command-breadcrumb,.portal-shell .portal-route-breadcrumb{display:none}.principal-page-heading h1{font-size:var(--so-size-h1)}.dashboard-home .principal-page-heading p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-date-long{display:none}.home-date-short{display:inline}.dashboard-home-action-row{margin-right:calc(-1 * var(--so-space-4));padding:0 var(--so-space-4) 0 0;overscroll-behavior-x:contain;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.dashboard-home-action-row::-webkit-scrollbar{display:none}.dashboard-home-action-row>.btn{scroll-snap-align:start;flex:none}.portal-topbar.portal-topbar{align-items:center;gap:var(--so-space-2);min-height:56px;padding:var(--so-space-2) var(--so-space-3);flex-wrap:nowrap;display:flex}.portal-topbar .portal-topbar-brand{flex:auto;order:1;min-width:0}.portal-topbar-brand .schoolos-logo{min-width:0}.portal-topbar-brand .schoolos-logo strong{display:none}.portal-topbar-brand .schoolos-logo.schoolos-logo small{opacity:1;font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold);letter-spacing:normal;text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.portal-topbar .portal-topbar-badge.portal-topbar-badge{padding:var(--so-space-1) var(--so-space-2);font-size:var(--so-size-caption);flex:none;order:2;grid-column:auto;margin-left:0}.portal-topbar .profile-menu{flex:none;order:3;display:inline-flex}.portal-topbar .portal-topbar-menu{flex:none;order:4}}.comm-view-tabs{margin-bottom:var(--so-space-4)}.class-group-list{margin:0;padding:0;list-style:none;display:grid}.class-group-card{justify-content:space-between;align-items:center;gap:var(--so-space-3);min-width:0;padding:var(--so-space-3) 0;border-bottom:1px solid var(--so-border);display:flex}.class-group-card:last-child{border-bottom:0}.class-group-main{align-items:center;gap:var(--so-space-2);flex-wrap:wrap;min-width:0;display:flex}.class-group-name{font-size:var(--so-size-body);font-weight:var(--so-weight-semibold);color:var(--so-text)}.class-group-card.is-inactive .class-group-name{color:var(--so-text-muted)}.class-group-sections{gap:var(--so-space-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.class-section-chip{min-width:28px;min-height:24px;padding:0 var(--so-space-2);border-radius:var(--so-radius-pill);background:var(--so-primary-soft);color:var(--so-primary);font-size:var(--so-size-caption);font-weight:var(--so-weight-semibold);justify-content:center;align-items:center;display:inline-flex}.class-section-chip.is-inactive{background:var(--so-neutral-soft);color:var(--so-text-muted)}.class-group-students{color:var(--so-text-muted);font-size:var(--so-size-body-sm)}.setup-class-review{gap:var(--so-space-2);justify-items:start;display:grid}.setup-class-review-list{gap:var(--so-space-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.setup-class-review-list li{padding:var(--so-space-1) var(--so-space-2);border-radius:var(--so-radius-pill);background:var(--so-primary-soft);color:var(--so-primary);font-size:var(--so-size-body-sm)}.tt-friday-switch{align-items:center;gap:var(--so-space-2);margin-bottom:var(--so-space-3);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-medium);color:var(--so-text);cursor:pointer;display:inline-flex}.tt-dayset-tabs{margin-bottom:var(--so-space-3)}.tt-bell-problems{gap:var(--so-space-1);margin:var(--so-space-3) 0 0;padding:var(--so-space-2) var(--so-space-3);border-radius:var(--so-radius-md);background:var(--so-danger-soft);color:var(--so-danger);font-size:var(--so-size-body-sm);list-style:none;display:grid}.tt-bell-add-row{gap:var(--so-space-2);margin:var(--so-space-3) 0;flex-wrap:wrap;display:flex}.tt-bell-review{gap:var(--so-space-2);font-size:var(--so-size-body-sm);display:grid}.tt-bell-review ul{gap:var(--so-space-1);padding-left:var(--so-space-4);margin:0;display:grid}.tt-bell-choice{gap:var(--so-space-1);padding:var(--so-space-2) var(--so-space-3);border:1px solid var(--so-border);border-radius:var(--so-radius-md);margin:0;display:grid}.tt-bell-choice legend{padding:0 var(--so-space-1);font-weight:var(--so-weight-semibold)}.tt-bell-choice label{align-items:center;gap:var(--so-space-2);display:flex}.tt-schedule-empty{justify-items:start;gap:var(--so-space-2);padding:var(--so-space-5) var(--so-space-4);color:var(--so-text-muted);display:grid}.tt-schedule-empty strong{color:var(--so-text);font-size:var(--so-size-body)}.tt-schedule-empty p{margin:0}.tt-friday-block{gap:var(--so-space-2);margin-top:var(--so-space-4);display:grid}.tt-friday-heading{font-size:var(--so-size-h3);margin:0}.tt-unplaced-list{margin:0;padding:0;list-style:none;display:grid}.tt-unplaced-row{justify-content:space-between;align-items:center;gap:var(--so-space-3);padding:var(--so-space-3) 0;border-bottom:1px solid var(--so-border);flex-wrap:wrap;display:flex}.tt-unplaced-row:last-child{border-bottom:0}.tt-unplaced-what{gap:2px;min-width:0;display:grid}.tt-unplaced-what span,.tt-unplaced-what small{color:var(--so-text-muted);font-size:var(--so-size-body-sm)}.tt-unplaced-actions{align-items:center;gap:var(--so-space-2);flex-wrap:wrap;display:flex}@media (max-width:767px){.tt-friday-block{display:none}.tt-unplaced-actions,.tt-unplaced-actions label,.tt-unplaced-actions select{width:100%}}.teacher-live-periods{gap:var(--so-space-2);margin:0;padding:0;list-style:none;display:grid}.teacher-live-periods li{gap:var(--so-space-2);padding:var(--so-space-2) 0;border-bottom:1px solid var(--so-border);font-size:var(--so-size-body-sm);flex-wrap:wrap;display:flex}.teacher-live-periods li:last-child{border-bottom:0}.teacher-live-periods span{color:var(--so-text-muted)}.attendance-device-banner{align-items:center;gap:var(--so-space-2);padding:var(--so-space-2) var(--so-space-4);border-radius:var(--so-radius-lg);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-medium);margin:0;display:flex}.attendance-device-banner:before{content:"";border-radius:var(--so-radius-pill);background:currentColor;flex:none;width:8px;height:8px}.attendance-device-banner.is-online{background:var(--so-success-soft);color:var(--so-success)}.attendance-device-banner.is-offline{background:var(--so-warning-soft);color:var(--so-warning)}.attendance-method-options{gap:var(--so-space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.attendance-method-option{align-items:flex-start;gap:var(--so-space-3);padding:var(--so-space-3) var(--so-space-4);border:1px solid var(--so-border);border-radius:var(--so-radius-lg);cursor:pointer;display:flex}.attendance-method-option.is-selected{border-color:var(--so-primary);background:var(--so-primary-soft)}.attendance-method-option>span{gap:var(--so-space-1);display:grid}.attendance-method-option>input[type=radio]{width:18px;height:18px;accent-color:var(--so-primary);cursor:pointer;flex:none;margin:2px 0 0}.attendance-method-option small{color:var(--so-text-muted);font-size:var(--so-size-body-sm)}.attendance-timings{gap:var(--so-space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.attendance-timings label{gap:var(--so-space-1);display:grid}.attendance-days{align-items:center;gap:var(--so-space-2);margin-top:var(--so-space-3);flex-wrap:wrap;display:flex}.attendance-day-chip{min-height:32px;padding:0 var(--so-space-3);border:1px solid var(--so-border);border-radius:var(--so-radius-pill);background:var(--so-surface);color:var(--so-text-muted);font-size:var(--so-size-body-sm);cursor:pointer}.attendance-day-chip.is-on{border-color:var(--so-primary-soft);background:var(--so-primary-soft);color:var(--so-primary);font-weight:var(--so-weight-semibold)}.attendance-device-list{margin:0;padding:0;list-style:none;display:grid}.attendance-device-row{align-items:center;gap:var(--so-space-3);padding:var(--so-space-3) 0;border-bottom:1px solid var(--so-border);grid-template-columns:minmax(0,1fr) auto auto auto;display:grid}.attendance-device-row>span{gap:2px;min-width:0;display:grid}.attendance-device-row small{color:var(--so-text-muted);font-size:var(--so-size-body-sm)}.attendance-device-row .attendance-device-nokey{color:var(--so-warning);grid-column:1/-1}.attendance-device-help summary{cursor:pointer;color:var(--so-primary);font-size:var(--so-size-body-sm)}.attendance-device-help ol{gap:var(--so-space-1);margin:var(--so-space-2) 0;padding-left:var(--so-space-5);font-size:var(--so-size-body-sm);display:grid}.attendance-people{gap:var(--so-space-2);margin-top:var(--so-space-4);justify-items:start;display:grid}.attendance-people textarea{width:100%;min-height:96px}.attendance-device-flags{gap:var(--so-space-2);align-content:start;display:grid}.attendance-settings-actions{justify-content:start;display:flex}.staff-status-switch{margin-bottom:var(--so-space-2)}.staff-simulate{align-items:center;gap:var(--so-space-2);flex-wrap:wrap;display:flex}.my-attendance-card{gap:var(--so-space-2);display:grid}.my-attendance-head{justify-content:space-between;align-items:center;gap:var(--so-space-3);display:flex}.my-attendance-head h2{font-size:var(--so-size-h3);margin:0}.my-attendance-today{align-items:center;gap:var(--so-space-2);flex-wrap:wrap;margin:0;display:flex}.teacher-absence-names{margin:0 0 var(--so-space-3);color:var(--so-text);font-size:var(--so-size-body-sm)}@media (max-width:767px){.attendance-method-options,.attendance-timings{grid-template-columns:minmax(0,1fr)}.attendance-device-row{grid-template-columns:minmax(0,1fr) auto}}.tab-label-short,.reports-card-chevron{display:none}@media (max-width:767px){.so-tab-row.so-tab-row{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;flex:none;justify-content:start;width:auto;min-width:0;max-width:100%;display:flex;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000 100%)}.so-tab-row.so-tab-row.is-scroll-end{-webkit-mask-image:none;mask-image:none}.so-tab-row.so-tab-row::-webkit-scrollbar{display:none}.so-tab-row.so-tab-row>*{white-space:nowrap;scroll-snap-align:start;flex:none;width:auto;max-width:none;position:relative}.so-tab-row.so-tab-row .tab-label-full{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.so-tab-row.so-tab-row .tab-label-short{display:inline}.so-tab-row.so-tab-row>:is([aria-selected=true],[aria-current=page],[aria-pressed=true],[aria-checked=true],.is-active,.is-selected){border-radius:var(--so-radius-md);border-color:var(--so-primary);background:var(--so-primary);color:var(--so-primary-on)}.card-aurora.card-aurora.is-overview{min-height:0;padding-block:var(--so-space-3)}.card-aurora.card-aurora.is-overview .module-hero-split{display:block}.card-aurora.card-aurora.is-overview .module-hero-right,.card-aurora.card-aurora.is-overview .hero-context-card{display:none}.card-aurora.card-aurora.is-overview .module-hero-left>p,.card-aurora.card-aurora.is-overview>p{margin-block:var(--so-space-1);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.card-aurora.card-aurora.is-overview .module-hero-left>p~p,.card-aurora.card-aurora.is-overview>p~p{display:none}.card-aurora.card-aurora.is-overview .hero-micro-kpi-strip{gap:var(--so-space-2);scrollbar-width:none;flex-wrap:nowrap;display:flex;overflow-x:auto}.card-aurora.card-aurora.is-overview .hero-micro-kpi-strip::-webkit-scrollbar{display:none}.card-aurora.card-aurora.is-overview .hero-micro-kpi-item{white-space:nowrap;flex:none}.reports-hub-grid{gap:var(--so-space-2)}.reports-card{align-items:center;column-gap:var(--so-space-3);padding:var(--so-space-1) var(--so-space-3);min-height:var(--so-tap-target);box-shadow:none;grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr) auto;row-gap:0}.reports-hub-feature.reports-hub-feature{padding:var(--so-space-2) var(--so-space-3)}.reports-card .reports-card-icon{grid-row:1/span 2;width:28px;height:28px}.reports-card strong{font-size:var(--so-size-body-sm);grid-column:2}.reports-card small{white-space:nowrap;text-overflow:ellipsis;grid-column:2;overflow:hidden}.reports-card .reports-card-open{display:none}.reports-card .reports-card-chevron{color:var(--so-text-muted);grid-area:1/3/span 2;display:block}.reports-hub-module h2{margin-bottom:var(--so-space-2);font-size:var(--so-size-body)}}.so-segmented{border:1px solid var(--so-border);border-radius:var(--so-radius-md);background:var(--so-surface-sunken);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:2px;max-width:100%;padding:2px;display:inline-grid}.so-segmented.is-block{width:100%;display:grid}.so-segment{justify-content:center;align-items:center;gap:var(--so-space-1);min-width:0;min-height:var(--so-control-height-sm);padding:0 var(--so-space-3);border-radius:var(--so-radius-sm);color:var(--so-text-secondary);font:inherit;font-size:var(--so-size-body-sm);font-weight:var(--so-weight-medium);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.so-segment:hover:not(:disabled){color:var(--so-text)}.so-segment.is-active{background:var(--so-surface);color:var(--so-text);font-weight:var(--so-weight-semibold);box-shadow:var(--so-shadow-sm)}.so-segment:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:-2px}.so-segment:disabled{opacity:.5;cursor:not-allowed}.so-segment>span{text-overflow:ellipsis;min-width:0;overflow:hidden}label.so-segment:focus-within{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:-2px}@media (max-width:767px){.so-segmented.so-segmented{width:100%;display:grid;overflow:visible;-webkit-mask-image:none;mask-image:none}.so-segment.so-segment{min-height:var(--so-tap-target);padding:0 var(--so-space-2)}.so-segment.is-active{background:var(--so-primary);color:var(--so-primary-on)}.so-segmented .tab-label-full{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.so-segmented .tab-label-short{display:inline}}.setup-switch,.logins-tabs{margin-bottom:var(--so-space-4)}.so-page-skeleton{gap:var(--so-section-gap);min-width:0;padding-top:var(--so-space-4);display:grid}.so-page-skeleton-heading{gap:var(--so-space-2);display:grid}.so-page-skeleton .so-skeleton-title{width:40%;height:28px}.so-page-skeleton .so-skeleton-subtitle{width:65%}.so-skeleton-tile{border-radius:var(--so-radius-lg);background:linear-gradient(90deg, var(--so-neutral-soft) 25%, var(--so-border-subtle) 37%, var(--so-neutral-soft) 63%);background-size:400% 100%;min-height:96px;animation:1.4s infinite so-shimmer;display:block}.so-page-skeleton-panel{gap:var(--so-space-3);display:grid}@media (prefers-reduced-motion:reduce){.so-skeleton-tile{animation:none}}.header-search.header-search-phone,.schoolos-command-bar .account-menu,.portal-topbar .account-menu,.portal-topbar-mark{display:none}.header-search{align-items:center;min-width:0;display:flex;position:relative}.header-search-icon{left:var(--so-space-2);color:var(--so-text-muted);pointer-events:none;position:absolute}.header-search input{width:100%;min-width:0;height:40px;padding:0 var(--so-space-2) 0 calc(var(--so-space-2) * 2 + 16px);border:1px solid var(--so-border);border-radius:var(--so-radius-pill);background:var(--so-surface-sunken);color:var(--so-text);font:inherit;font-size:var(--so-size-body)}.header-search input::placeholder{color:var(--so-text-muted)}.header-search input:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:var(--so-focus-ring-offset);background:var(--so-surface)}.header-search input::-webkit-search-cancel-button{cursor:pointer}.header-search .header-search-list{top:60px;left:var(--so-space-3);right:var(--so-space-3);z-index:var(--z-dropdown);max-height:60vh;box-shadow:var(--so-shadow-lg);position:fixed;overflow-y:auto}.header-search-list li.starts-group{border-top:1px solid var(--so-border)}.account-menu{flex:none;position:relative}.account-menu-trigger{width:var(--so-tap-target);height:var(--so-tap-target);border:1px solid var(--so-border);border-radius:var(--so-radius-pill);background:var(--so-surface);color:var(--so-text);cursor:pointer;place-items:center;padding:0;display:inline-grid}.account-menu-trigger:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:var(--so-focus-ring-offset)}.account-menu-panel{top:60px;right:var(--so-space-3);z-index:var(--z-dropdown);gap:var(--so-space-3);width:min(320px, calc(100vw - 2 * var(--so-space-3)));max-height:calc(100dvh - 72px);padding:var(--so-space-4);border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);box-shadow:var(--so-shadow-lg);color:var(--so-text);display:grid;position:fixed;overflow-y:auto}.account-menu-identity{gap:2px;min-width:0;display:grid}.account-menu-identity strong{font-weight:var(--so-weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-menu-identity small{color:var(--so-text-muted);font-size:var(--so-size-label)}.account-menu-demo{gap:var(--so-space-2);padding:var(--so-space-3) 0;border-block:1px solid var(--so-border);display:grid}.account-menu-demo-chip{align-items:center;gap:var(--so-space-1);padding:2px var(--so-space-2);border-radius:var(--so-radius-pill);background:var(--so-primary-soft);color:var(--so-primary);font-size:var(--so-size-caption);font-weight:var(--so-weight-semibold);justify-self:start;display:inline-flex}.account-menu-field{gap:var(--so-space-1);color:var(--so-text-secondary);font-size:var(--so-size-label);display:grid}.account-menu-field select{width:100%}.account-menu-preview{color:var(--so-text-secondary);font-size:var(--so-size-body-sm);margin:0}.account-menu-actions{gap:var(--so-space-2);flex-wrap:wrap;display:flex}.account-menu-links{display:grid}.account-menu-links a,.account-menu-logout{align-items:center;gap:var(--so-space-2);width:100%;min-height:var(--so-tap-target);padding:0 var(--so-space-2);border-radius:var(--so-radius-sm);color:var(--so-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;text-decoration:none;display:flex}.account-menu-links a:hover,.account-menu-logout:hover{background:var(--so-surface-sunken)}.account-menu-logout{color:var(--so-danger)}.header-signout-error{top:60px;right:var(--so-space-3);z-index:var(--z-dropdown);position:fixed}.mobile-nav-school{gap:var(--so-space-1);min-width:0;display:grid}.mobile-nav-school>strong,.portal-drawer-school{color:inherit;font-size:var(--so-size-h3);font-weight:var(--so-weight-semibold);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}@media screen and (max-width:767px){:is(.schoolos-command-bar.schoolos-command-bar,.schoolos-command-bar.schoolos-command-bar:has(.teacher-preview-banner)){height:56px;min-height:56px;max-height:56px;padding:0 var(--so-space-3);column-gap:var(--so-space-1);flex-wrap:nowrap}.schoolos-command-bar .schoolos-topbar-left.schoolos-topbar-left{flex:none}.schoolos-command-bar .schoolos-topbar-demo-actions.schoolos-topbar-demo-actions{display:none}.schoolos-topbar-brand.schoolos-topbar-brand{flex:none}.schoolos-topbar-brand .schoolos-logo-lockup.schoolos-logo-lockup,.portal-topbar-mark .schoolos-logo-lockup.schoolos-logo-lockup{--so-lockup-height:26px}.schoolos-command-bar .schoolos-topbar-center.schoolos-topbar-center{flex:auto;min-width:160px;display:flex}.schoolos-command-bar.schoolos-command-bar .command-trigger.command-trigger{display:none}.schoolos-command-bar .header-search-phone.header-search-phone{flex:auto;display:flex}.schoolos-topbar-right .session-badge.session-badge,.schoolos-topbar-right .profile-menu.profile-menu{display:none}.schoolos-command-bar .account-menu.account-menu{display:inline-flex}.dashboard-home .dashboard-home-search.dashboard-home-search{display:none}.portal-topbar.portal-topbar{gap:var(--so-space-1);height:56px;min-height:56px;padding:0 var(--so-space-3);flex-wrap:nowrap}.portal-topbar .portal-topbar-mark.portal-topbar-mark{flex:none;order:1;display:inline-flex}.portal-topbar .header-search-phone.header-search-phone{flex:auto;order:2;min-width:160px;display:flex}.portal-topbar .account-menu.account-menu{order:3;display:inline-flex}.portal-topbar .portal-topbar-menu.portal-topbar-menu{order:4}.portal-topbar .portal-topbar-brand.portal-topbar-brand,.portal-topbar .portal-topbar-school.portal-topbar-school,.portal-topbar .portal-topbar-badge.portal-topbar-badge,.portal-topbar .profile-menu.profile-menu{display:none}}.so-avatar.so-avatar{border-radius:var(--so-radius-md);background:var(--so-primary);color:var(--so-text-inverse);font-weight:var(--so-weight-semibold);letter-spacing:0;text-align:center;text-transform:uppercase;white-space:nowrap;-webkit-user-select:none;user-select:none;flex:none;place-items:center;line-height:1;display:inline-grid;overflow:hidden}.so-avatar.so-avatar-sm{width:36px;min-width:36px;height:36px;font-size:var(--so-size-label)}.so-avatar.so-avatar-md{width:44px;min-width:44px;height:44px;font-size:var(--so-size-body-sm)}.so-avatar.so-avatar-lg{border-radius:var(--so-radius-lg);width:64px;min-width:64px;height:64px;font-size:var(--so-size-h2)}.staff-day-cards{margin:0;padding:0;list-style:none;display:none}@media (max-width:767px){.staff-day-table{display:none}.staff-day-cards{gap:var(--so-space-2);display:grid}.staff-day-card{align-items:center;gap:var(--so-space-3);width:100%;min-height:72px;padding:var(--so-space-3);border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);color:var(--so-text);font:inherit;text-align:left;cursor:pointer;display:flex}.staff-day-card:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:var(--so-focus-ring-offset)}.staff-day-card-main{gap:var(--so-space-1);flex:auto;min-width:0;display:grid}.staff-day-card-main>strong{font-weight:var(--so-weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.staff-day-card-line{align-items:center;gap:var(--so-space-2);flex-wrap:nowrap;min-width:0;display:flex;overflow:hidden}.staff-day-card-times{color:var(--so-text-secondary);font-size:var(--so-size-body-sm);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.staff-day-card-line .status{flex:none}.staff-day-card-chevron{color:var(--so-text-muted);flex:none}}@media (max-width:429px){.staff-day-card-source{display:none}}.admission-cards{margin:0;padding:0;list-style:none;display:none}@media (max-width:767px){.admission-cards{gap:var(--so-space-2);display:grid}.admission-cards+.admissions-list,.admission-table-wide{display:none}.admission-card{align-items:center;gap:var(--so-space-2);min-height:72px;padding:var(--so-space-3);border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);color:var(--so-text);text-decoration:none;display:flex}.admission-card:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:var(--so-focus-ring-offset)}.admission-card-main{flex:auto;gap:2px;min-width:0;display:grid}.admission-card-main>*{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admission-card-main>strong{font-weight:var(--so-weight-semibold)}.admission-card-main>span{color:var(--so-text-secondary);font-size:var(--so-size-body-sm)}.admission-card>.status{flex:none}.admission-card-chevron{color:var(--so-text-muted);flex:none}}.portal-sidebar.is-drawer .portal-drawer-school{grid-column:1/-1}.portal-sidebar.is-drawer .portal-drawer-close{grid-area:1/2}:is(.so-modal-footer,.erp-modal-actions,.erp-modal-footer,.schoolos-modal-footer,.admission-modal-actions,.tt-dialog-foot,.report-sheet-footer){justify-content:flex-end;align-items:center;gap:var(--so-space-2);flex-wrap:nowrap;display:flex}:is(.so-modal-footer,.erp-modal-actions,.erp-modal-footer,.schoolos-modal-footer,.admission-modal-actions,.tt-dialog-foot,.report-sheet-footer)>:is(.btn,button,a){white-space:nowrap;flex:none;margin:0}@media (max-width:767px){:is(.so-modal-footer,.erp-modal-actions,.erp-modal-footer,.schoolos-modal-footer,.admission-modal-actions,.tt-dialog-foot,.report-sheet-footer){flex-direction:column-reverse;align-items:stretch}:is(.so-modal-footer,.erp-modal-actions,.erp-modal-footer,.schoolos-modal-footer,.admission-modal-actions,.tt-dialog-foot,.report-sheet-footer)>:is(.btn,button,a){width:100%;min-height:var(--so-tap-target,44px);justify-content:center}}.so-required,.ds-field-required,.req-marker,.tt-required{color:var(--so-form-error);font-weight:var(--so-weight-semibold)}.so-required{margin-inline-start:2px}.so-required-tail{white-space:nowrap}.so-required-legend{margin:0 0 var(--so-space-2);font-size:var(--so-size-caption);color:var(--so-text-muted)}.so-alert{align-items:flex-start;gap:var(--so-space-2);padding:var(--so-space-3) var(--so-space-4);border-radius:var(--so-radius-md);font-size:var(--so-size-body-sm);border:1px solid #0000;line-height:1.45;display:flex}.so-alert-icon{flex:none;margin-top:1px}.so-alert-body{flex:auto;gap:2px;min-width:0;display:grid}.so-alert-title{font-weight:var(--so-weight-semibold)}.so-alert-action{flex:none}.so-alert.is-error,.alert-error,.form-error,.schoolos-form-error,.form-error-banner{background:var(--so-danger-soft);border-color:var(--so-danger-solid)}@supports (color:color-mix(in lab, red, red)){.so-alert.is-error,.alert-error,.form-error,.schoolos-form-error,.form-error-banner{border-color:color-mix(in srgb, var(--so-danger-solid) 35%, transparent)}}.so-alert.is-error,.alert-error,.form-error,.schoolos-form-error,.form-error-banner{color:var(--so-danger)}.so-alert.is-warning,.alert-warning,.alert-notice.warning-panel{background:var(--so-warning-soft);border-color:var(--so-warning-solid)}@supports (color:color-mix(in lab, red, red)){.so-alert.is-warning,.alert-warning,.alert-notice.warning-panel{border-color:color-mix(in srgb, var(--so-warning-solid) 40%, transparent)}}.so-alert.is-warning,.alert-warning,.alert-notice.warning-panel{color:var(--so-warning)}.so-alert.is-success,.alert-success,.alert-notice:not(.warning-panel){background:var(--so-success-soft);border-color:var(--so-success-solid)}@supports (color:color-mix(in lab, red, red)){.so-alert.is-success,.alert-success,.alert-notice:not(.warning-panel){border-color:color-mix(in srgb, var(--so-success-solid) 35%, transparent)}}.so-alert.is-success,.alert-success,.alert-notice:not(.warning-panel){color:var(--so-success)}.so-alert.is-info,.alert-info{background:var(--so-info-soft);border-color:var(--so-info-solid)}@supports (color:color-mix(in lab, red, red)){.so-alert.is-info,.alert-info{border-color:color-mix(in srgb, var(--so-info-solid) 30%, transparent)}}.so-alert.is-info,.alert-info{color:var(--so-info)}:is(.alert-error,.alert-warning,.alert-success,.alert-info):not(.card){padding:var(--so-space-3) var(--so-space-4);border-radius:var(--so-radius-md);border-style:solid;border-width:1px}.erp-modal-body .so-alert,.admission-modal .so-alert{margin-bottom:var(--so-space-3)}@media (max-width:480px){.invoice-search-form.invoice-search-form>*,.fee-hub-filters.fee-hub-filters>*{flex:none;width:100%}.invoice-search-form .invoice-search-field,.fee-hub-filter .so-field{min-height:44px}}.so-avatar.so-avatar{background:var(--so-primary);color:var(--so-primary-on)}.btn{white-space:nowrap}:is(.state-toggle-label,.family-badge,.guided-demo-badge,.global-ai-answer-badge,.summary-badge-label,.portal-topbar-badge,.register-correction-reason-tag,.status,.viz-badge){text-transform:none;letter-spacing:normal}@media (max-width:480px){.directory-header-actions{gap:var(--so-space-2);width:100%;display:flex}.directory-header-actions>:is(.btn,a.btn,button){min-width:0;padding-inline:var(--so-space-3);text-overflow:ellipsis;flex:1 1 0;justify-content:center;overflow:hidden}}@media screen{.premium-main.premium-main,.portal-shell.portal-shell{padding-bottom:calc(var(--so-space-6) + var(--so-fab-safe,88px) + env(safe-area-inset-bottom,0px))!important}}@media (max-width:767px){table.so-cards>*>tr>[data-card=meta]~[data-card=meta]:before,table.so-cards .so-card-part+.so-card-part:before{content:none}table.so-cards .so-card-part:not(:last-child):after{content:" ·";margin-right:.3em}table.so-cards>*>tr>[data-card=meta]:has(~[data-card=meta]):after{content:" ·";margin-right:.3em}table.so-cards>*>tr>[data-card=status]{margin-left:0;margin-top:var(--so-space-1);flex:0 0 100%}}.class-group-main{align-items:center;column-gap:var(--so-space-2);grid-template-columns:auto minmax(0,1fr);row-gap:2px;display:grid}.class-group-main>.class-group-students{grid-column:1/-1}.class-group-actions{align-items:center;gap:var(--so-space-1);flex:none;display:flex}.class-group-actions .state-toggle-label{display:none}.class-group-actions .so-menu-kebab{box-shadow:none;background:0 0;border:0}@media (max-width:560px){.chart-card-figure{height:auto}}.perf-bars li{grid-template-columns:minmax(84px,max-content) minmax(48px,1fr) max-content}.perf-bars ul{grid-template-columns:minmax(0,1fr)}.perf-bar-name{white-space:nowrap}.so-date-input{min-width:0;display:block;position:relative}.so-date-input>input[type=date]{width:100%}.so-date-input:not(:focus-within)>input[type=date]::-webkit-datetime-edit{color:#0000}.so-date-input:not(:focus-within)>input[type=date]{color:#0000}.so-date-input:after{content:attr(data-display);color:var(--so-text);font-size:inherit;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;align-items:center;padding-left:12px;display:flex;position:absolute;inset:0 40px 0 0;overflow:hidden}.so-date-input.is-empty:after{color:var(--so-text-placeholder)}.so-date-input.is-disabled:after{color:var(--so-text-muted)}.so-date-input:focus-within:after{display:none}.ds-field-control-icon .so-date-input:after{padding-left:36px}.so-file-button{align-items:center;gap:var(--so-space-2);flex-wrap:wrap;min-width:0;display:flex}.so-file-button>label.btn{cursor:pointer}.so-file-button>label.btn.is-disabled{opacity:.6;cursor:not-allowed}.so-file-button:focus-within>label.btn{outline:var(--so-focus-ring-width,2px) solid var(--so-focus-ring,var(--so-primary));outline-offset:2px}.so-file-meta{align-items:center;gap:var(--so-space-1);min-width:0;font-size:var(--so-size-body-sm);color:var(--so-text-secondary);display:inline-flex}.so-file-meta strong{max-width:220px;color:var(--so-text);font-weight:var(--so-weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.so-file-meta.is-empty{color:var(--so-text-muted)}.so-file-remove{border-radius:var(--so-radius-pill);width:28px;height:28px;color:var(--so-text-muted);cursor:pointer;background:0 0;border:0;place-items:center;display:inline-grid}.so-file-remove:hover{background:var(--so-surface-sunken);color:var(--so-text)}.setup-file-label{font-size:var(--so-size-label);font-weight:var(--so-weight-semibold);color:var(--so-text);margin-bottom:6px;display:block}.register-panel>.form-helper[data-register-mode],.so-panel-head+.portal-notice-list,.so-panel-head-row+.portal-notice-list,.premium-panel>.portal-notice-list{margin-top:var(--so-space-3)}.portal-topbar.portal-topbar{background:var(--so-surface);color:var(--so-text);border-bottom:1px solid var(--so-border)}.portal-topbar .portal-topbar-menu{border-color:var(--so-border);background:var(--so-surface);color:var(--so-text)}@media (max-width:767px){.so-tab-row.so-tab-row{scrollbar-width:thin;scrollbar-color:var(--so-border-strong) transparent;padding-bottom:6px}.so-tab-row.so-tab-row::-webkit-scrollbar{height:3px;display:block}.so-tab-row.so-tab-row::-webkit-scrollbar-thumb{background:var(--so-border-strong);border-radius:var(--so-radius-pill)}.reports-card{padding:var(--so-space-2) var(--so-space-3);min-height:60px}.reports-card .reports-card-icon{width:32px;height:32px}.reports-card strong{font-size:var(--so-size-body)}}.reports-hub-classic{margin-top:var(--so-space-3);color:var(--so-primary);font-weight:var(--so-weight-semibold)}.challan-settings-panel fieldset.challan-settings-grid label>span,.challan-settings-panel .challan-settings-grid label>span,.register-fields label{text-transform:none;letter-spacing:normal}.challan-settings-panel .challan-settings-grid label:has(input[type=checkbox])>span{text-transform:none;letter-spacing:normal}.challan-settings-panel .challan-settings-grid label>span{overflow-wrap:anywhere}.attendance-days-label{margin-top:var(--so-space-4);font-size:var(--so-size-label);font-weight:var(--so-weight-semibold);color:var(--so-text);display:block}.attendance-days{gap:var(--so-space-2);margin-top:var(--so-space-2);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.attendance-day-chip{width:100%;min-height:40px;padding:0 var(--so-space-1);border-color:var(--so-border-strong);color:var(--so-text)}.attendance-day-chip.is-on{border-color:var(--so-primary);background:var(--so-primary);color:var(--so-primary-on)}.attendance-days+.form-helper{margin-top:var(--so-space-1);line-height:1.4;display:block}@media (max-width:560px){.attendance-days{grid-template-columns:repeat(4,minmax(0,1fr))}}.challan-phone-note{display:none}@media screen and (max-width:767px){.challan-phone-note{margin:0 0 var(--so-space-2);display:block}.challan-a4{aspect-ratio:auto;grid-template-columns:minmax(0,1fr);padding:4cqw;font-size:3.2cqw}.challan-a4:has(.challan-a4-copy[data-copy=Parent])>.challan-a4-copy:not([data-copy=Parent]){display:none}.challan-a4>.challan-a4-copy{border:0;padding:0}}@media print{.challan-phone-note{display:none!important}}@media (max-width:767px){.expense-list-card table.so-cards>tbody{gap:0}.expense-list-card table.so-cards>tbody>tr{border:0;border-bottom:1px solid var(--so-border);border-radius:0;padding-right:56px}.expense-list-card table.so-cards>tbody>tr>[data-card=actions]{top:50%;right:var(--so-space-2);flex:none;margin:0;position:absolute;transform:translateY(-50%)}.expense-list-card table.so-cards>tfoot>tr{padding-top:var(--so-space-3);border:0}}.expense-list-totals td{font-weight:var(--so-weight-bold);color:var(--so-text)}.exam-create-modal{width:min(640px,100vw - 32px)}.exam-create-modal .erp-modal-header h3{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.exam-create-modal .erp-modal-body{gap:var(--so-space-3);display:grid}.exam-field{gap:6px;min-width:0;display:grid}.exam-field>span{font-size:var(--so-size-label);font-weight:var(--so-weight-semibold);color:var(--so-text)}.exam-classes{border:0;min-width:0;margin:0;padding:0}.exam-classes legend{margin-bottom:var(--so-space-2);font-size:var(--so-size-label);font-weight:var(--so-weight-semibold);color:var(--so-text);padding:0}.exam-class-chips{gap:var(--so-space-2);flex-wrap:wrap;display:flex}.exam-class-chip{min-height:36px;padding:0 var(--so-space-3);border:1px solid var(--so-border-strong);border-radius:var(--so-radius-pill);background:var(--so-surface);color:var(--so-text);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold);cursor:pointer}.exam-class-chip.is-selected{border-color:var(--so-primary);background:var(--so-primary);color:var(--so-primary-on)}.so-card-facts dl{gap:var(--so-space-2);margin:var(--so-space-2) 0 0;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.so-card-facts dl>div{gap:2px;min-width:0;display:grid}.so-card-facts dt{color:var(--so-text-muted);font-size:var(--so-size-caption)}.so-card-facts dd{color:var(--so-text);font-weight:var(--so-weight-semibold);margin:0}@media (max-width:767px){table.so-cards>*>tr>td.so-card-facts{flex:0 0 100%;display:block}.result-card-signatures{gap:var(--so-space-4);padding-top:var(--so-space-8,48px)}.result-card-signatures small{padding-top:var(--so-space-2);display:block}.marks-grid-wrap{overflow:visible}.marks-grid,.marks-grid>tbody{width:100%;min-width:0;display:block}.marks-grid>thead,.marks-grid .marks-grid-roll{display:none}.marks-grid>tbody>tr{gap:var(--so-space-2);margin-bottom:var(--so-space-3);padding:var(--so-space-3);border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);grid-template-columns:minmax(0,1fr) auto;display:grid}.marks-grid>tbody>tr>*{border:0;width:auto;min-width:0;padding:0;display:block}.marks-grid>tbody>tr>.so-card-only{color:var(--so-text-muted);font-size:var(--so-size-body-sm);grid-column:1/-1}.marks-grid>tbody>tr>.marks-grid-student{font-size:var(--so-size-body);grid-area:1/1}.marks-grid>tbody>tr>[data-card=status]{grid-area:1/2}.marks-grid>tbody>tr>.marks-grid-cell{align-items:center;gap:var(--so-space-2);grid-column:1/-1;grid-template-columns:minmax(0,1fr) 96px auto;display:grid}.marks-grid>tbody>tr>.marks-grid-cell:before{content:attr(data-subject);color:var(--so-text);font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold)}.marks-grid>tbody>tr>.marks-grid-cell>input,.marks-grid>tbody>tr>.marks-grid-cell>.marks-grid-abs{width:96px;min-height:44px}.marks-grid>tbody>tr>.marks-grid-cell>.marks-grid-mark-absent{white-space:nowrap;min-height:44px}.marks-grid>tbody>tr>.marks-grid-cell>:is(.marks-grid-error,.marks-grid-note){grid-column:1/-1}.marks-grid>tbody>tr[data-card-open]:after{content:none}}.modules-readonly-list{gap:var(--so-space-2);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:0;padding:0;list-style:none;display:grid}.modules-readonly-list li{justify-content:space-between;align-items:center;gap:var(--so-space-2);min-height:44px;padding:var(--so-space-2) var(--so-space-3);border:1px solid var(--so-border);border-radius:var(--so-radius-md);background:var(--so-surface);color:var(--so-text);font-weight:var(--so-weight-semibold);display:flex}.attendance-simulate{justify-items:start;gap:var(--so-space-1);margin-top:var(--so-space-3);display:grid}.attendance-people{gap:var(--so-space-3);display:grid}.attendance-device-nokey{color:var(--so-text-secondary)}@media (max-width:560px){.attendance-device-row{gap:var(--so-space-1) var(--so-space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.attendance-device-row>:not(span:first-child):not(.status):not(.so-status-pill){grid-column:1/-1}}@media (max-width:640px){.register-summary-row>span:nth-child(5):last-child{grid-column:1/-1}}.status-switcher button{text-transform:none}.card-aurora.card-aurora.is-overview.portal-route-hero .module-hero-left>p{white-space:normal;text-overflow:clip;display:block;overflow:visible}.portal-notice-meta .status{border-radius:var(--so-radius-pill);font-size:var(--so-size-caption);padding:1px 8px;line-height:18px}.portal-notice-meta .status.blue{border:1px solid var(--so-info-solid)}@supports (color:color-mix(in lab, red, red)){.portal-notice-meta .status.blue{border:1px solid color-mix(in srgb, var(--so-info-solid) 40%, transparent)}}.portal-notice-meta .status.blue{background:var(--so-surface);color:var(--so-info)}.kpi-card-label{overflow-wrap:normal;word-break:keep-all;-webkit-hyphens:none;hyphens:none}.metric-value-row{min-width:0}.metric-value-row .kpi-card-value.kpi-card-value{white-space:normal;overflow-wrap:break-word;min-width:0}.student-not-found div:has(>.btn){flex-wrap:wrap}.so-chat{--so-chat-height:560px;--so-chat-line:20px;height:var(--so-chat-height);background:var(--so-surface);border:1px solid var(--so-border);border-radius:var(--so-radius-lg);grid-template-columns:minmax(260px,340px) minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.so-chat-list{border-right:1px solid var(--so-border);flex-direction:column;min-width:0;min-height:0;display:flex}.so-chat-list-head{border-bottom:1px solid var(--so-border-subtle);flex:none;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px;display:flex}.so-chat-list-head h2{font-size:var(--so-size-h3);color:var(--so-text);margin:0}.so-chat-list-head p{font-size:var(--so-size-label);color:var(--so-text-muted);margin:2px 0 0}.so-chat-list-head .btn{white-space:nowrap;flex:none}.so-chat-list-scroll{overscroll-behavior:contain;flex:auto;min-height:0;padding:12px 16px 16px;overflow-y:auto}.so-chat-threads{gap:6px;margin:0;padding:0;list-style:none;display:grid}.so-chat-thread{text-align:left;width:100%;min-height:var(--so-tap-target,44px);border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);color:var(--so-text);cursor:pointer;font:inherit;gap:4px;padding:10px 12px;display:grid}.so-chat-thread:hover{border-color:var(--so-border-strong)}.so-chat-thread.is-active{border-color:var(--so-primary);background:var(--so-primary-soft)}.so-chat-thread:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:var(--so-focus-ring-offset)}.so-chat-thread-top{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.so-chat-thread-top strong{font-size:var(--so-size-body);overflow-wrap:anywhere}.so-chat-thread-top .status{flex:none}.so-chat-thread-meta{font-size:var(--so-size-label);color:var(--so-text-muted);flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.so-chat-detail{flex-direction:column;min-width:0;min-height:0;display:flex}.so-chat-back{display:none}.so-chat-thread-head{border-bottom:1px solid var(--so-border-subtle);flex:none;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 20px;display:flex}.so-chat-thread-head>div:first-child{min-width:0}.so-chat-thread-head h2{font-size:var(--so-size-h3);color:var(--so-text);overflow-wrap:anywhere;margin:0}.so-chat-thread-head p{font-size:var(--so-size-label);color:var(--so-text-muted);overflow-wrap:anywhere;margin:2px 0 0}.so-chat-thread-head-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.so-chat-messages{overscroll-behavior:contain;flex:auto;min-height:0;padding:16px 20px;overflow-y:auto}.so-chat-messages ol{gap:10px;margin:0;padding:0;list-style:none;display:grid}.so-chat-messages li{border-radius:var(--so-radius-lg);background:var(--so-surface-sunken);border:1px solid var(--so-border-subtle);justify-self:start;max-width:min(560px,92%);padding:10px 12px}.so-chat-messages li.is-mine{background:var(--so-primary-soft);border-color:var(--so-primary-soft);justify-self:end}.so-chat-messages li p{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--so-text);margin:4px 0 0}.so-chat-sender{font-size:var(--so-size-label);color:var(--so-text-muted)}.so-chat-composer{border-top:1px solid var(--so-border-subtle);background:var(--so-surface);flex:none;gap:6px;padding:10px 20px 14px;display:grid}.so-chat-composer-meta{font-size:var(--so-size-label);color:var(--so-text-secondary);flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.so-chat-composer-meta label{align-items:center;gap:6px;display:inline-flex}.so-chat-composer-meta select{min-width:0;max-width:100%}.so-chat-composer-meta{column-gap:20px}.so-chat-composer-meta .so-chat-channel select.so-field{width:auto}@media (max-width:767px){.so-chat-composer-meta{flex-direction:column;align-items:flex-start;row-gap:6px}}.so-chat-composer-error{font-size:var(--so-size-body-sm);color:var(--so-danger);margin:0}.so-chat-composer-row{align-items:flex-end;gap:8px;min-width:0;display:flex}.so-chat-composer-input{resize:none;box-sizing:border-box;border:1px solid var(--so-border-strong);border-radius:var(--so-radius-xl);min-width:0;font:inherit;font-size:var(--so-size-body);line-height:var(--so-chat-line);max-height:calc(var(--so-chat-line) * 4 + 20px);color:var(--so-text);background:var(--so-surface);flex:auto;padding:9px 14px;overflow-y:auto}.so-chat-composer-input:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:1px}.so-chat-send{height:calc(var(--so-chat-line) + 20px);min-height:calc(var(--so-chat-line) + 20px);border-radius:var(--so-radius-pill);white-space:nowrap;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.so-chat-note{border-top:1px solid var(--so-border-subtle);font-size:var(--so-size-body-sm);color:var(--so-success);flex:none;padding:12px 20px;font-weight:600}.so-chat-placeholder{color:var(--so-text-muted);text-align:center;justify-items:center;gap:8px;margin:auto;padding:48px 16px;display:grid}.so-chat-custom{flex:auto;min-height:0;padding:16px 20px;overflow-y:auto}@media (max-width:767px){.so-chat{background:0 0;border:0;border-radius:0;height:auto;display:block;overflow:visible}.so-chat-list{border-right:0}.so-chat-list-head{padding:0 0 12px}.so-chat-list-scroll{padding:12px 0 0;overflow:visible}.so-chat[data-pane=list] .so-chat-detail,.so-chat[data-pane=detail] .so-chat-list{display:none}.so-chat[data-pane=detail] .so-chat-detail{left:0;right:0;top:var(--so-vv-top,0px);height:var(--so-vv-height,100dvh);z-index:var(--z-dropdown);background:var(--so-surface);padding-top:env(safe-area-inset-top,0px);position:fixed}.so-chat-back{align-self:flex-start;margin:12px 16px 4px;display:inline-flex}.so-chat-thread-head{flex-wrap:wrap;padding:8px 16px 10px}.so-chat-thread-head>div:first-child{flex:100%}.so-chat-thread-head-actions{justify-content:start}.so-chat-messages{padding:12px 16px}.so-chat-composer{padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px))}.so-chat[data-keyboard=closed] .so-chat-composer{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}.so-chat-send{width:calc(var(--so-chat-line) + 20px);padding:0}.so-chat-send-label{display:none}.so-chat-custom{padding:12px 16px}}@media (min-width:768px){.portal-shell:has(.so-chat){min-height:0}}.auth-card-footer{border-top:1px solid var(--so-border-subtle);text-align:center;margin-top:18px;padding-top:2px}.auth-card-footer .auth-contact{overflow-wrap:anywhere;margin-top:12px}@media (min-width:1025px) and (max-height:900px){.auth-page .auth-card.has-footer{padding-bottom:clamp(22px,2.6vw,36px)}}.pay-summary{justify-content:space-between;align-items:center;gap:var(--so-space-3);padding:var(--so-space-3) var(--so-space-4);border-radius:var(--so-radius-lg);background:var(--so-surface-sunken);display:flex}.pay-summary>div{gap:var(--so-space-1);min-width:0;display:grid}.pay-summary span{font-size:var(--so-size-body-sm);color:var(--so-text-muted)}.pay-summary-amount{font-size:var(--so-size-h2);font-weight:var(--so-weight-bold);white-space:nowrap}.pay-methods{gap:var(--so-space-2);margin:var(--so-space-4) 0 0;border:0;min-width:0;padding:0;display:grid}.pay-methods legend{margin-bottom:var(--so-space-2);font-size:var(--so-size-label);font-weight:var(--so-weight-semibold);color:var(--so-text);padding:0}.pay-method{align-items:center;gap:var(--so-space-3);padding:var(--so-space-3) var(--so-space-4);border:1px solid var(--so-border);border-radius:var(--so-radius-lg);background:var(--so-surface);cursor:pointer;display:flex}.pay-method.is-selected{border-color:var(--so-primary);background:var(--so-primary-soft)}.pay-method input{accent-color:var(--so-primary);flex:none;margin:0}.pay-method span{gap:2px;min-width:0;display:grid}.pay-method small{font-size:var(--so-size-body-sm);color:var(--so-text-muted)}.erp-modal-body .pay-methods .pay-method{align-items:center;gap:var(--so-space-3);flex-direction:row;width:auto}.erp-modal-body .pay-methods .pay-method input[type=radio]{width:18px;height:18px;min-height:0;box-shadow:none;border:0;flex:0 0 18px;margin:0;padding:0;display:inline-block}.erp-modal-body .pay-methods .pay-method>span{font-size:var(--so-size-body);font-weight:var(--so-weight-regular);color:var(--so-text);gap:2px;display:grid}.erp-modal-body .pay-methods .pay-method>span strong{font-size:var(--so-size-body);font-weight:var(--so-weight-semibold);color:var(--so-text);display:block}.online-switch-list{gap:var(--so-space-3);margin-top:var(--so-space-3);display:grid}.pay-note{margin:var(--so-space-3) 0 0;font-size:var(--so-size-body-sm);color:var(--so-text-muted);line-height:var(--so-leading-normal)}.pay-result{gap:var(--so-space-4);max-width:560px;display:grid}.pay-result-card{justify-items:center;gap:var(--so-space-3);text-align:center;display:grid}.pay-result-icon{border-radius:var(--so-radius-pill);place-items:center;width:44px;height:44px;display:grid}.pay-result-icon.is-paid{background:var(--so-success-soft);color:var(--so-success)}.pay-result-icon.is-pending{background:var(--so-warning-soft);color:var(--so-warning)}.pay-result-icon.is-failed{background:var(--so-danger-soft);color:var(--so-danger)}.pay-result-card h2{font-size:var(--so-size-h2);margin:0}.pay-result-card>p{color:var(--so-text-muted);margin:0}.pay-result-rows{width:100%;padding:var(--so-space-3) var(--so-space-4);border-radius:var(--so-radius-lg);background:var(--so-surface-sunken);gap:var(--so-space-2);text-align:left;margin:0;display:grid}.pay-result-rows div{justify-content:space-between;gap:var(--so-space-3);font-size:var(--so-size-body-sm);display:flex}.pay-result-rows dt{color:var(--so-text-muted)}.pay-result-rows dd{color:var(--so-text);text-align:right;overflow-wrap:anywhere;margin:0}.pay-result-actions{justify-content:center;gap:var(--so-space-2);flex-wrap:wrap;display:flex}.pay-mock{max-width:520px;margin:var(--so-space-6) auto;padding:0 var(--so-space-4)}.pay-mock-actions{gap:var(--so-space-2);margin-top:var(--so-space-4);display:grid}.online-settings-grid{gap:var(--so-space-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.online-settings-stack{gap:var(--so-space-4);min-width:0;display:grid}.online-settings-form{gap:var(--so-space-3);display:grid}.online-settings-actions{justify-content:flex-end;gap:var(--so-space-2);flex-wrap:wrap;display:flex}.messaging-consent-list{list-style:outside}.online-toggle-row{justify-content:space-between;align-items:flex-start;gap:var(--so-space-3);padding:var(--so-space-3) 0;border-top:1px solid var(--so-border);display:flex}.online-toggle-row:first-of-type{border-top:0}.online-toggle-row>span{gap:2px;min-width:0;display:grid}.online-toggle-row small{color:var(--so-text-muted);font-size:var(--so-size-body-sm)}.online-toggle-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--so-primary);flex:none;margin-top:2px}.online-readonly-field{align-items:center;gap:var(--so-space-2);min-width:0;padding:var(--so-space-2) var(--so-space-3);border:1px solid var(--so-border);border-radius:var(--so-radius-sm);background:var(--so-surface-sunken);font-size:var(--so-size-body-sm);overflow-wrap:anywhere;display:flex}@media (max-width:900px){.online-settings-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:480px){.pay-summary{flex-direction:column;align-items:flex-start}.pay-result-rows div{flex-direction:column;gap:2px}.pay-result-rows dd{text-align:left}}@media (min-width:981px){.card-aurora.card-aurora.is-overview.attendance-overview-hero .module-hero-split{grid-template-columns:minmax(0,1fr) 380px}.card-aurora.card-aurora.is-overview.attendance-overview-hero .module-hero-right .hero-stat-box{max-width:380px}}.card-aurora.card-aurora.is-overview.attendance-overview-hero .hero-stat-box{gap:2px}.card-aurora.card-aurora.is-overview.results-hero .role-metrics{margin-top:10px}@media (max-width:767px){.card-aurora.card-aurora.is-overview .results-hero-card{display:none}}.exam-detail .card-aurora.is-overview.results-hero .results-hero-card strong{font-weight:var(--so-weight-semibold);font-size:var(--so-size-h3)!important;letter-spacing:0!important;line-height:1.3!important}.message-recipients{gap:var(--so-space-2);display:grid}.recipient-chips{padding:var(--so-space-2);gap:var(--so-space-2);border:1px solid var(--so-border-strong);border-radius:var(--so-radius-sm);background:var(--so-surface);margin:0;list-style:none;display:grid}.recipient-chip{padding:var(--so-space-2) var(--so-space-3);border-radius:var(--so-radius-sm);background:var(--so-surface-sunken);gap:2px;display:grid}.recipient-chip-head{align-items:baseline;gap:2px var(--so-space-2);flex-wrap:wrap;min-width:0;display:flex}.recipient-chip-head strong{font-size:var(--so-size-body);color:var(--so-text)}.recipient-chip-head span{font-size:var(--so-size-label);color:var(--so-text-muted);overflow-wrap:anywhere}.recipient-chip-remove{border-radius:var(--so-radius-sm);width:24px;height:24px;color:var(--so-text-muted);cursor:pointer;background:0 0;border:0;place-items:center;margin-left:auto;display:inline-grid}.recipient-chip-remove:hover{background:var(--so-surface);color:var(--so-text)}.recipient-chip-remove:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:1px}.recipient-chip-line{font-size:var(--so-size-label);color:var(--so-text-secondary);margin:0}.recipient-chip-line.is-warning{color:var(--so-danger)}.recipient-picker{gap:var(--so-space-2);display:grid}.recipient-class{gap:6px;display:grid}.recipient-add{justify-self:start}.recipient-notice-link{align-items:center;gap:var(--so-space-1);flex-wrap:wrap;margin:0;display:flex}.two-step-status{align-items:center;gap:var(--so-space-2);margin:0 0 var(--so-space-2);display:flex}.two-step-enrol{gap:var(--so-space-3);max-width:420px;display:grid}.two-step-page{min-height:100dvh;padding:var(--so-space-4);background:var(--so-surface-sunken);place-items:center;display:grid}.two-step-panel{width:100%;max-width:440px}.two-step-qr{width:180px;height:180px;padding:var(--so-space-2);border:1px solid var(--so-border);border-radius:var(--so-radius-md);background:var(--so-surface);display:block}.subjects-common-grid,.subjects-classes-grid{gap:var(--so-space-2) var(--so-space-4);margin-bottom:var(--so-space-3);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.subjects-classes{gap:var(--so-space-2);border:0;margin:0;padding:0;display:grid}.subjects-classes legend{font-size:var(--so-size-label);font-weight:var(--so-weight-semibold);color:var(--so-text-secondary);margin-bottom:var(--so-space-1)}.subjects-paste-preview{gap:var(--so-space-1);display:grid}.subjects-paste-preview ul{padding-left:var(--so-space-4);font-size:var(--so-size-label);color:var(--so-text-muted);margin:0}.academic-grading-scale h3{align-items:center;gap:var(--so-space-2);font-size:var(--so-size-h3);margin:var(--so-space-3) 0 var(--so-space-2);display:flex}.academic-exam-types{gap:var(--so-space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.hub-tab-page{gap:var(--so-block-gap);min-width:0;max-width:100%;display:grid}.hub-tab-page>*{min-width:0;max-width:100%}.link-button{color:var(--so-primary);font:inherit;font-weight:var(--so-weight-semibold);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none}.link-button:hover{text-decoration:underline}.link-button:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:var(--so-focus-ring-offset);border-radius:2px}.viz-donut-center,.perf-donut-centre.viz-donut-center{overflow-wrap:break-word;inset:20%;container-type:inline-size}.viz-donut-center strong.is-medium{font-size:var(--so-size-h1)}.viz-donut-center strong.is-long{font-size:var(--so-size-kpi-sm)}@container (max-width:95px){.viz-donut-center strong.is-short{font-size:var(--so-size-h1)}.viz-donut-center strong.is-medium{font-size:var(--so-size-h2)}.viz-donut-center strong.is-long{font-size:var(--so-size-h3)}}.viz-donut-center span{line-height:1.2}.erp-modal-body .tt-bell-label{display:block}.erp-modal-body .tt-bell-label>.ds-field-required{font-size:inherit;font-weight:inherit;display:inline}ul.teacher-absence-names{gap:var(--so-space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.teacher-absence-chip{padding:2px var(--so-space-2);border:1px solid var(--so-border);border-radius:var(--so-radius-pill);background:var(--so-surface-sunken);font-size:var(--so-size-label);overflow-wrap:anywhere;line-height:1.6}.teacher-absence-chip.is-more{color:var(--so-text-muted);font-weight:var(--so-weight-semibold)}.home-tile:not(:has(.home-tile-tasks)){min-height:calc(var(--so-card-padding) * 2 + 168px)}@media (max-width:640px){[data-testid=perf-row-attendance] .chart-card-figure{min-height:calc(var(--perf-donut-size,148px) + 116px)}}.rollover-choice{gap:var(--so-space-4);margin-bottom:var(--so-space-3);font-size:var(--so-size-body-sm);flex-wrap:wrap;display:flex}.rollover-choice label{align-items:center;gap:var(--so-space-2);display:inline-flex}.rollover-kept{margin:0 0 var(--so-space-3);padding-left:var(--so-space-5);gap:var(--so-space-1);color:var(--so-text-secondary);font-size:var(--so-size-body-sm);display:grid}.rollover-classes{gap:var(--so-space-2);display:grid}.rollover-class{border:1px solid var(--so-border);border-radius:var(--so-radius-md);padding:var(--so-space-2) var(--so-space-3);background:var(--so-surface)}.rollover-class>summary{cursor:pointer;font-size:var(--so-size-body-sm);overflow-wrap:anywhere}.rollover-set-all{align-items:center;gap:var(--so-space-2);margin:var(--so-space-2) 0;font-size:var(--so-size-label);color:var(--so-text-secondary);flex-wrap:wrap;display:flex}.rollover-set-all .so-field,.rollover-student-list .so-field{width:auto;min-width:120px}.rollover-student-list{gap:var(--so-space-1);margin:0;padding:0;list-style:none;display:grid}.rollover-student-list li{justify-content:space-between;align-items:center;gap:var(--so-space-2);padding:var(--so-space-1) 0;border-top:1px solid var(--so-border);font-size:var(--so-size-body-sm);flex-wrap:wrap;display:flex}.rollover-student-list li>span{overflow-wrap:anywhere;min-width:0}.rollover-actions{justify-content:space-between;gap:var(--so-space-2);flex-wrap:wrap;display:flex}.login-card{align-content:start}.ai-answer-tool{align-items:center;gap:var(--so-space-1);border:1px solid var(--so-border);border-radius:var(--so-radius-pill);background:var(--so-surface);color:var(--so-text-secondary);font:inherit;font-size:var(--so-size-label);padding:2px var(--so-space-2);cursor:pointer;display:inline-flex}.ai-answer-tool:hover{color:var(--so-text);border-color:var(--so-border-strong)}.ai-answer-tool:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:var(--so-focus-ring-offset)}.ai-fee-table{gap:var(--so-space-2);min-width:0;display:grid}.ai-fee-table-head{gap:2px;display:grid}.ai-fee-table-title{font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold);color:var(--so-text);margin:0}.ai-fee-table-scope,.ai-fee-table-note,.ai-fee-table-empty{font-size:var(--so-size-label);color:var(--so-text-muted);margin:0}.ai-fee-table-wrap{border:1px solid var(--so-border-subtle);border-radius:var(--so-radius-md);background:var(--so-surface);max-width:100%;max-height:min(60vh,420px);overflow:auto}.ai-fee-table-wrap:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:var(--so-focus-ring-offset)}.ai-fee-table-grid{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--so-size-label);font-variant-numeric:tabular-nums}.ai-fee-table-grid th,.ai-fee-table-grid td{padding:var(--so-space-1) var(--so-space-2);border-bottom:1px solid var(--so-border-subtle);text-align:left;white-space:nowrap;color:var(--so-text-secondary);background:var(--so-surface)}.ai-fee-table-grid thead th{z-index:2;background:var(--so-surface-sunken);font-weight:var(--so-weight-semibold);color:var(--so-text-secondary);padding:0;position:sticky;top:0}.ai-fee-table-grid tbody th,.ai-fee-table-grid tfoot th{z-index:1;font-weight:var(--so-weight-medium);color:var(--so-text);position:sticky;left:0}.ai-fee-table-grid thead th:first-child,.ai-fee-table-grid tfoot th{z-index:var(--z-sticky);left:0}.ai-fee-table-grid .is-number{text-align:right}.ai-fee-table-grid tfoot th,.ai-fee-table-grid tfoot td{background:var(--so-surface-sunken);border-top:2px solid var(--so-border-strong);color:var(--so-text);font-weight:var(--so-weight-semibold);border-bottom:0;position:sticky;bottom:0}.ai-fee-table-grid tfoot td{z-index:2}.ai-fee-table-sort{align-items:center;gap:var(--so-space-1);width:100%;min-height:36px;padding:0 var(--so-space-2);font:inherit;color:inherit;text-align:inherit;cursor:pointer;background:0 0;border:0;display:inline-flex}.ai-fee-table-grid th.is-number .ai-fee-table-sort{justify-content:flex-end}.ai-fee-table-sort:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:calc(var(--so-focus-ring-width) * -1)}.ai-fee-table-summary{gap:var(--so-space-2);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.ai-fee-table-summary caption{text-align:left;font-size:var(--so-size-label);font-weight:var(--so-weight-semibold);color:var(--so-text);padding-bottom:var(--so-space-1)}.ai-fee-table-actions{gap:var(--so-space-2);flex-wrap:wrap;display:flex}@media (max-width:640px){.ai-fee-table-actions .ai-answer-tool,.ai-fee-table-sort{min-height:44px}}@media screen and (min-width:981px){.portal-topbar .notification-bell{order:1}.portal-topbar .profile-menu{order:2}}@media screen and (max-width:980px){.portal-topbar .notification-bell{order:3}}@media screen and (max-width:767px){.schoolos-command-bar .schoolos-topbar-center.schoolos-topbar-center,.portal-topbar .header-search-phone.header-search-phone{min-width:0}.notification-bell .so-menu-kebab{width:var(--so-tap-target);height:var(--so-tap-target);border-radius:var(--so-radius-md)}.notification-bell{flex:none}}@media screen and (max-width:379px){:is(.schoolos-command-bar,.portal-topbar) .header-search.header-search-phone.header-search-phone{flex:1 1 0;min-width:0}:is(.schoolos-command-bar,.portal-topbar) .header-search.header-search-phone.header-search-phone input{padding-right:var(--so-space-1);text-overflow:ellipsis}}.portal-attendance-month{gap:var(--so-section-gap);min-width:0;display:grid}.att-layout{gap:var(--so-section-gap);grid-template-columns:minmax(0,1fr);align-items:start;min-width:0;display:grid}@media (min-width:1200px){.att-layout.has-detail{grid-template-columns:minmax(0,1fr) 360px}}.att-card{gap:var(--so-space-4);min-width:0;display:grid;position:relative}.att-card-head{justify-content:space-between;align-items:center;gap:var(--so-space-3);flex-wrap:wrap;display:flex}.att-card-titles h2{font-size:var(--so-size-h3);font-weight:var(--so-weight-semibold);color:var(--so-text);margin:0}.att-card-titles p{font-size:var(--so-size-body-sm);color:var(--so-text-muted);margin:2px 0 0}.att-summary-short{display:none}.att-card-controls{align-items:center;gap:var(--so-space-2);display:flex}.att-month-buttons{gap:var(--so-space-2);display:flex}.att-month-button{border:1px solid var(--so-border-strong);border-radius:var(--so-radius-sm);background:var(--so-surface);width:32px;height:32px;color:var(--so-text);cursor:pointer;place-items:center;padding:0;display:inline-grid}.att-month-button:hover:not(:disabled){background:var(--so-surface-sunken)}.att-month-button:disabled{opacity:.45;cursor:not-allowed}.att-month-button:focus-visible,.att-cell:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:var(--so-focus-ring-offset)}.att-cal{gap:var(--so-space-2);min-width:0;display:grid}.att-weekdays,.att-grid{gap:var(--so-space-2);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.att-weekdays>span{padding-left:var(--so-space-1);font-size:var(--so-size-label);font-weight:var(--so-weight-medium);color:var(--so-text-muted)}.att-wd-short{display:none}.att-cell{min-width:0;height:64px;padding:var(--so-space-2);border-radius:var(--so-radius-md);font:inherit;text-align:start;color:var(--so-text);background:var(--so-surface);border:2px solid #0000;flex-direction:column;align-items:flex-start;gap:2px;display:flex}button.att-cell{cursor:pointer}.att-cell.is-empty{background:0 0;border-color:#0000}.att-cell-day{font-size:var(--so-size-body-sm);font-weight:var(--so-weight-semibold);line-height:1.2}.att-cell-letter{font-size:var(--so-size-caption);font-weight:var(--so-weight-semibold);line-height:1.2}.att-cell.is-present{background:var(--so-success-soft)}.att-cell.is-present .att-cell-letter{color:var(--so-success)}.att-cell.is-late{background:var(--so-warning-soft)}.att-cell.is-late .att-cell-letter{color:var(--so-warning)}.att-cell.is-absent{background:var(--so-danger-soft)}.att-cell.is-absent .att-cell-letter{color:var(--so-danger)}.att-cell.is-leave{background:var(--so-leave-soft)}.att-cell.is-leave .att-cell-letter{color:var(--so-leave)}.att-cell.is-off{background:var(--so-border-subtle)}.att-cell.is-off .att-cell-letter{color:var(--so-text-muted)}.att-cell.is-unmarked,.att-cell.is-future{border-color:var(--so-border);background:var(--so-surface)}.att-cell.is-unmarked .att-cell-day,.att-cell.is-future .att-cell-day{font-weight:var(--so-weight-medium);color:var(--so-text-muted)}.att-cell.is-selected{border-color:var(--so-primary)}.att-legend{gap:var(--so-space-2) var(--so-space-5);font-size:var(--so-size-label);color:var(--so-text-muted);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.att-legend li{align-items:center;gap:6px;display:inline-flex}.att-legend strong{font-weight:var(--so-weight-semibold);color:var(--so-text)}.att-swatch{background:var(--so-text-muted);border-radius:3px;width:10px;height:10px}.att-swatch.is-present{background:var(--so-success)}.att-swatch.is-late{background:var(--so-warning)}.att-swatch.is-absent{background:var(--so-danger)}.att-swatch.is-leave{background:var(--so-leave)}.att-rule{font-size:var(--so-size-label);color:var(--so-text-muted);margin:0}.att-detail{gap:var(--so-space-4);min-width:0;padding:var(--so-space-5);display:grid}.att-detail-head{justify-content:space-between;align-items:center;gap:var(--so-space-2);flex-wrap:wrap;display:flex}.att-detail-head h3{font-size:var(--so-size-h3);font-weight:var(--so-weight-semibold);color:var(--so-text);margin:0}.att-detail-date-short{display:none}.att-chip{padding:var(--so-space-1) 10px;border-radius:var(--so-radius-pill);font-size:var(--so-size-label);font-weight:var(--so-weight-semibold);background:var(--so-border-subtle);color:var(--so-text-muted);align-items:center;gap:6px;display:inline-flex}.att-chip-dot{background:currentColor;border-radius:50%;width:8px;height:8px}.att-chip.is-present{background:var(--so-success-soft);color:var(--so-success)}.att-chip.is-late{background:var(--so-warning-soft);color:var(--so-warning)}.att-chip.is-absent{background:var(--so-danger-soft);color:var(--so-danger)}.att-chip.is-leave{background:var(--so-leave-soft);color:var(--so-leave)}.att-detail-note{font-size:var(--so-size-body-sm);color:var(--so-text-muted);margin:0}.att-detail-rows{margin:0;display:grid}.att-detail-rows>div{padding:var(--so-space-3) 0;border-top:1px solid var(--so-border);gap:2px;display:grid}.att-detail-rows dt{font-size:var(--so-size-label);font-weight:var(--so-weight-medium);color:var(--so-text-muted)}.att-detail-rows dd{font-size:var(--so-size-body);color:var(--so-text);margin:0}.att-callout{gap:var(--so-space-1);padding:var(--so-space-3);border-radius:var(--so-radius-md);background:var(--so-info-soft);color:var(--so-info);font-size:var(--so-size-body-sm);display:grid}.att-callout strong{font-weight:var(--so-weight-semibold)}@media (max-width:767px){.att-card{padding:var(--so-space-4)}.att-card-controls{flex-direction:column;align-items:stretch;width:100%}.att-month-buttons{top:var(--so-space-4);position:absolute;inset-inline-end:var(--so-space-4)}.att-card-titles{padding-inline-end:80px}.att-summary-full{display:none}.att-summary-short{display:inline}.att-weekdays,.att-grid{gap:6px}.att-wd-full{display:none}.att-wd-short{display:inline}.att-weekdays>span{text-align:center;padding-left:0}.att-cell{align-items:center;height:52px;padding:6px 2px}.att-detail{padding:var(--so-space-4)}.att-detail-rows>div{justify-content:space-between;align-items:baseline;gap:var(--so-space-3);grid-auto-flow:column}.att-detail-rows dd{text-align:end}.att-detail-date-full{display:none}.att-detail-date-short{display:inline}}:is(section,div).kpi-grid[class]{gap:var(--so-card-gap);margin-top:0;margin-bottom:var(--so-space-3);grid-template-columns:repeat(4,minmax(0,1fr));min-width:0;display:grid}*+:is(section,div).kpi-grid[class]{margin-top:var(--so-space-3)}.card-aurora+:is(section,div).kpi-grid[class]{margin-top:0}@media (max-width:767px){:is(section,div).kpi-grid[class]{grid-template-columns:repeat(2,minmax(0,1fr))}}.report-exports-list{margin:0;padding:0;list-style:none;display:grid}.report-exports-list li{justify-content:space-between;align-items:center;gap:var(--so-space-2) var(--so-space-4);padding:var(--so-space-3) 0;border-top:1px solid var(--so-border);flex-wrap:wrap;display:flex}.report-exports-main{align-items:center;gap:var(--so-space-3);font-size:var(--so-size-body-sm);color:var(--so-text);display:inline-flex}.report-exports-meta{font-size:var(--so-size-caption);color:var(--so-text-muted);flex:12rem}@media (max-width:767px){.report-exports-list li>.btn{justify-content:center;width:100%}}.print-document{font-family:var(--font-print-latin), var(--font-print-urdu), var(--so-font-sans)}.kpi-card-value:has(>.kpi-fit){white-space:nowrap;overflow-wrap:normal;width:100%;min-width:0;display:block;container-type:inline-size}.metric-value-row .kpi-card-value.kpi-card-value:has(>.kpi-fit){white-space:nowrap;overflow-wrap:normal;flex:auto}.kpi-fit{white-space:nowrap;max-width:100%;font-size:clamp(var(--so-size-body-sm), calc(100cqi / (var(--kpi-fit-chars,1) * .6)), 1em);display:inline-block}.kpi-fit-1{--kpi-fit-chars:1}.kpi-fit-2{--kpi-fit-chars:2}.kpi-fit-3{--kpi-fit-chars:3}.kpi-fit-4{--kpi-fit-chars:4}.kpi-fit-5{--kpi-fit-chars:5}.kpi-fit-6{--kpi-fit-chars:6}.kpi-fit-7{--kpi-fit-chars:7}.kpi-fit-8{--kpi-fit-chars:8}.kpi-fit-9{--kpi-fit-chars:9}.kpi-fit-10{--kpi-fit-chars:10}.kpi-fit-11{--kpi-fit-chars:11}.kpi-fit-12{--kpi-fit-chars:12}.kpi-fit-13{--kpi-fit-chars:13}.kpi-fit-14{--kpi-fit-chars:14}.kpi-fit-15{--kpi-fit-chars:15}.kpi-fit-16{--kpi-fit-chars:16}.kpi-fit-17{--kpi-fit-chars:17}.kpi-fit-18{--kpi-fit-chars:18}.kpi-fit-19{--kpi-fit-chars:19}.kpi-fit-20{--kpi-fit-chars:20}.kpi-fit-21{--kpi-fit-chars:21}.kpi-fit-22{--kpi-fit-chars:22}.kpi-fit-23{--kpi-fit-chars:23}.kpi-fit-24{--kpi-fit-chars:24}@media (max-width:767px){:is(.kpi-card,.metric).has-icon3d:has(.kpi-fit-long)>.kpi-card-icon3d{grid-row:1}:is(.kpi-card,.metric).has-icon3d:has(.kpi-fit-long)>:is(.kpi-card-value,.metric-value-row):has(.kpi-fit-long){grid-column:1/-1}}.persona-switcher{min-width:0;max-width:100%;display:inline-flex;position:relative}.persona-switcher-control{align-items:center;gap:var(--so-space-1);min-width:0;max-width:100%;height:var(--so-control-height-sm);padding:0 var(--so-space-2);border:1px solid var(--so-border);border-radius:var(--so-radius-pill);background:var(--so-surface-sunken);color:var(--so-text-secondary);font:inherit;font-size:var(--so-size-caption);font-weight:var(--so-weight-bold);line-height:var(--so-leading-tight);white-space:nowrap;cursor:pointer;display:inline-flex}.persona-switcher-control:hover{border-color:var(--so-border-strong)}.persona-switcher-label{flex:none}.persona-switcher-value{min-width:0;max-width:18ch;color:var(--so-info);text-overflow:ellipsis;flex:0 auto;overflow:hidden}.persona-switcher-chevron{color:var(--so-text-muted);flex:none}.persona-switcher-control[aria-expanded=true] .persona-switcher-chevron{transform:rotate(180deg)}.persona-switcher-list.persona-switcher-list{top:calc(100% + var(--so-space-1));z-index:var(--z-dropdown);width:max-content;min-width:100%;max-width:calc(100vw - var(--so-space-8));box-shadow:var(--so-shadow-lg);position:absolute;left:0}.persona-switcher-list.persona-switcher-list>li{justify-content:space-between;align-items:center;gap:var(--so-space-3);color:var(--so-text);font-size:var(--so-size-body-sm);display:flex}.persona-switcher-list.persona-switcher-list>li[aria-selected=true]{font-weight:var(--so-weight-semibold)}.persona-switcher-list.persona-switcher-list>li>svg{color:var(--so-primary);flex:none}.topbar-demo-mobile-popover .persona-switcher,.topbar-demo-mobile-popover .persona-switcher-control{width:100%}.topbar-demo-mobile-popover .persona-switcher-value{flex:auto;max-width:none}@media (max-width:1359px){.topbar-demo-inline .persona-switcher-value{max-width:14ch}}.schoolos-ai-page.is-chat-fit .chatbot-shell{height:var(--ai-chat-height,calc(100dvh - 300px));min-height:0;position:relative}.schoolos-ai-page.is-chat-fit .chatbot-thread{overscroll-behavior:contain;flex:auto;min-height:0;max-height:none;overflow-y:auto}.schoolos-ai-page.is-chat-fit .chatbot-suggestions,.schoolos-ai-page.is-chat-fit .chatbot-composer{flex:none}.schoolos-ai-page.is-chat-fit{padding-bottom:0}@media screen{.premium-main.premium-main:has(.schoolos-ai-page.is-chat-fit){padding-bottom:calc(var(--so-space-6) + env(safe-area-inset-bottom,0px))!important}}.schoolos-ai-page .chatbot-thread:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:calc(var(--so-focus-ring-width) * -1)}.chatbot-jump{align-items:center;gap:var(--so-space-1);min-height:32px;padding:0 var(--so-space-3);border:1px solid var(--so-border);border-radius:var(--so-radius-pill);background:var(--so-surface);box-shadow:var(--so-shadow-lg);color:var(--so-primary);font:inherit;font-size:var(--so-size-label);font-weight:var(--so-weight-semibold);cursor:pointer;display:inline-flex;position:absolute;bottom:72px;left:50%;transform:translate(-50%)}.chatbot-jump:focus-visible{outline:var(--so-focus-ring-width) solid var(--so-focus-ring);outline-offset:var(--so-focus-ring-offset)}.chatbot-sample-badge{padding:2px var(--so-space-2);border-radius:var(--so-radius-pill);background:var(--so-surface-sunken);color:var(--so-text-muted);font-size:var(--so-size-caption);font-weight:var(--so-weight-semibold);white-space:nowrap;align-items:center;display:inline-flex}@media (max-width:760px){.schoolos-ai-page.is-chat-fit .chatbot-suggestions{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.schoolos-ai-page.is-chat-fit .chatbot-suggestions .chat-suggestion{white-space:nowrap;flex:none}}@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-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@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}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
