/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight: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-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-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Instrument 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;--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-blue-950:oklch(28.2% .091 267.935);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-900:oklch(41% .159 10.272);--color-rose-950:oklch(27.1% .105 12.094);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-neutral-50:oklch(98.5% 0 0);--color-neutral-100:oklch(97% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-900:oklch(20.5% 0 0);--color-neutral-950:oklch(14.5% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xl:36rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-light:300;--font-weight-medium:500;--font-weight-semibold:600;--tracking-wider:.05em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--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{.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}.fixed{position:fixed}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-ml-px{margin-left:-1px}.flex{display:flex}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.h-5{height:calc(var(--spacing) * 5)}.w-5{width:calc(var(--spacing) * 5)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-2{gap:calc(var(--spacing) * 2)}.rounded-md{border-radius:var(--radius-md)}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-gray-300{border-color:var(--color-gray-300)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-white{background-color:var(--color-white)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.italic{font-style:italic}.underline{text-decoration-line:underline}.shadow-sm{--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-gray-300{--tw-ring-color:var(--color-gray-300)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media (hover:hover){.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:text-gray-400:hover{color:var(--color-gray-400)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}}.focus\:border-blue-300:focus{border-color:var(--color-blue-300)}.focus\:ring:focus{--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)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:bg-gray-100:active{background-color:var(--color-gray-100)}.active\:text-gray-500:active{color:var(--color-gray-500)}.active\:text-gray-700:active{color:var(--color-gray-700)}.active\:text-gray-800:active{color:var(--color-gray-800)}@media (width>=40rem){.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:flex-1{flex:1}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-2{gap:calc(var(--spacing) * 2)}}.rtl\:flex-row-reverse:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){flex-direction:row-reverse}@media (prefers-color-scheme:dark){.dark\:border-gray-600{border-color:var(--color-gray-600)}.dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-300{color:var(--color-gray-300)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-gray-600{color:var(--color-gray-600)}@media (hover:hover){.dark\:hover\:bg-gray-900:hover{background-color:var(--color-gray-900)}.dark\:hover\:text-gray-200:hover{color:var(--color-gray-200)}.dark\:hover\:text-gray-300:hover{color:var(--color-gray-300)}}.dark\:focus\:border-blue-700:focus{border-color:var(--color-blue-700)}.dark\:focus\:border-blue-800:focus{border-color:var(--color-blue-800)}.dark\:active\:bg-gray-700:active{background-color:var(--color-gray-700)}.dark\:active\:text-gray-300:active{color:var(--color-gray-300)}}}:root{--primary:#130c44;--primary-strong:#130c44;--primary-soft:#eeeef6;--primary-ring:#130c442e;--ink:#12213f;--muted:#5d708f;--muted-light:#8aa0c0;--line:#dbe7f7;--line-strong:#c6d7f2;--panel:#fff;--field:#f7faff;--bg-app:#eef4ff;--bg-sidebar:#130c44;--sidebar-ink:#f8fbff;--sidebar-muted:#b8cdf8;--sidebar-active-bg:#130c44;--sidebar-active-text:#fff;--sidebar-icon-bg:#ffffff1f;--sidebar-icon-color:#dbeafe;--sidebar-hover-bg:#ffffff1a;--navbar-bg:#fff;--navbar-text:#12213f;--navbar-muted:#5d708f;--navbar-border:#d6e3f8;--navbar-surface:#f7faff;--hero-dark:#130c44;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-xs:0 1px 3px #0f21470a;--shadow-sm:0 4px 20px #0f21470d;--shadow-md:0 12px 36px #0f214712;--shadow-lg:0 24px 60px #0f214717;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.35s cubic-bezier(.4, 0, .2, 1);--glow-primary:0 0 12px #130c442e;--glass-bg:#ffffffbf;--glass-border:#fff6;--glass-blur:blur(8px)}.school-app,body{font-family:var(--font-sans);background:var(--bg-app);color:var(--ink);-webkit-font-smoothing:antialiased}.public-site{color:#18243b;font-family:var(--font-sans);background:#fff;margin:0}.public-nav{z-index:30;background:#fff;border-bottom:1px solid #e5edf8;justify-content:space-between;align-items:center;gap:24px;min-height:84px;padding:0 clamp(18px,5vw,78px);display:flex;position:sticky;top:0;box-shadow:0 8px 26px #0f214714}.public-brand{color:#12213f;align-items:center;gap:12px;min-width:0;text-decoration:none;display:flex}.public-brand img,.public-brand span{border-radius:8px;flex:none;width:46px;height:46px}.public-brand img{object-fit:contain;background:#fff;border:1px solid #dbe7f7}.public-brand span{color:#fff;background:#130c44;place-items:center;font-weight:900;display:grid;box-shadow:0 12px 26px #130c442e}.public-brand strong{font-size:1rem;font-weight:950;line-height:1.1}.public-nav nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.public-nav nav a{color:#24364f;text-transform:uppercase;letter-spacing:.02em;border-radius:4px;align-items:center;min-height:38px;padding:0 12px;font-size:.9rem;font-weight:850;text-decoration:none;display:inline-flex}.public-nav nav a:hover{color:#130c44;background:#eeeef6}.public-nav .portal-button{color:#fff;background:#130c44;box-shadow:0 12px 26px #130c442e}.public-nav .portal-button:hover{color:#fff;background:#0f0938}.public-menu-button,.public-menu-close,.public-menu-backdrop,.public-menu-head{display:none}.public-menu-button,.public-menu-close{color:#130c44;width:42px;height:42px;box-shadow:none;cursor:pointer;background:#fff;border:1px solid #dbe7f7;border-radius:8px;justify-content:center;align-items:center;padding:0}.public-menu-button svg,.public-menu-close svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.public-hero{background:var(--public-hero-image,url(/images/hero-poster.jpg)) center / cover no-repeat;color:#fff;text-align:center;align-content:center;place-items:center;gap:26px;min-height:calc(100vh - 84px);padding:clamp(68px,9vw,126px) clamp(18px,5vw,72px);display:grid;position:relative;overflow:hidden}.public-hero:before{content:"";pointer-events:none;background:#130c44c7;position:absolute;inset:0}.public-hero-brand{z-index:1;justify-items:center;gap:14px;display:grid;position:relative}.public-hero-brand img,.public-hero-brand>span{object-fit:contain;background:#fff;border-radius:8px;width:104px;height:104px;padding:8px;box-shadow:0 16px 38px #00000038}.public-hero-brand>span{color:#130c44;place-items:center;padding:0;font-size:2rem;font-weight:950;display:grid}.public-hero-brand h1{color:#fff;text-transform:uppercase;letter-spacing:.02em;text-wrap:balance;margin:0;font-size:clamp(2.7rem,6.6vw,6rem);font-weight:950;line-height:.92}.public-hero-brand small{color:#dbeafe;text-transform:uppercase;letter-spacing:.14em;font-size:clamp(.9rem,1.5vw,1.18rem);font-weight:850}.public-hero-content{z-index:1;justify-items:center;gap:14px;width:min(780px,100%);margin-top:8px;display:grid;position:relative}.public-hero-content span{color:#fff;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:950}.public-section-head span{color:#130c44;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:950}.public-hero h2{color:#fff;text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:clamp(2rem,4.4vw,4.1rem);font-weight:950;line-height:.96}.public-hero-content strong{color:#bfdbfe;font-size:clamp(1rem,1.8vw,1.34rem);font-weight:850}.public-hero p{color:#dbeafe;max-width:690px;margin:0;font-size:clamp(1rem,1.8vw,1.24rem);line-height:1.72}.public-actions{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.public-actions a,.public-cta a,.public-section-action a{color:#fff;text-transform:uppercase;letter-spacing:.03em;background:#130c44;border-radius:4px;justify-content:center;align-items:center;min-height:48px;padding:0 20px;font-weight:950;text-decoration:none;display:inline-flex;box-shadow:0 18px 36px #130c442e}.public-actions a+a{color:#fff;box-shadow:none;background:#ffffff1f;border:1px solid #ffffff4d}.public-section{padding:clamp(62px,8vw,104px) clamp(18px,5vw,72px)}.public-invite{color:#fff;text-align:center;background:#130c44;justify-items:center;gap:8px;padding:34px 18px;display:grid}.public-invite span{color:#bfdbfe;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:950}.public-invite h2{color:#fff;margin:0;font-size:clamp(1.35rem,2.5vw,2.15rem);font-weight:950}.public-section-head{gap:10px;width:min(820px,100%);margin-bottom:34px;display:grid}.public-section-head--center{text-align:center;justify-items:center;margin-inline:auto}.public-section-head h2,.public-cta h2{color:#12213f;text-wrap:balance;margin:0;font-size:clamp(2rem,4vw,3.45rem);font-weight:950;line-height:1}.public-section-head p{color:#526987;margin:0;font-size:1rem;line-height:1.7}.public-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.public-card-grid article{text-align:center;background:#fff;border:1px solid #dbe7f7;border-radius:4px;align-content:start;gap:12px;min-height:218px;padding:28px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 42px #0f21470f}.public-card-grid article:before{content:"";background:#130c44;width:4px;position:absolute;inset:0 auto 0 0}.public-card-grid article span,.public-programme-list article>span,.public-gallery-grid article span{color:#130c44;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;font-weight:950}.public-card-grid article p{color:#526987;margin:0;font-size:.96rem;line-height:1.68}.public-motto-list{gap:8px;margin-top:4px;display:grid}.public-motto-list strong{color:#12213f;text-transform:uppercase;letter-spacing:.04em;font-size:1.08rem;font-weight:950}.public-programmes{background:#f6f9ff}.public-programme-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.public-programme-list article{text-align:center;background:#fff;border:1px solid #dbe7f7;border-radius:4px;align-content:start;gap:12px;min-height:230px;padding:28px;display:grid;box-shadow:0 18px 42px #0f21470f}.public-programme-list article:nth-child(2n),.public-programme-list article:nth-last-child(-n+2){border-bottom:1px solid #dbe7f7;border-right:1px solid #dbe7f7}.public-programme-list strong{color:#12213f;font-size:1.1rem;font-weight:950;display:block}.public-programme-list small{color:#526987;margin-top:6px;font-size:.9rem;line-height:1.55;display:block}.public-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.public-gallery-grid article{background:#fff;border:1px solid #dbe7f7;border-radius:4px;align-content:start;gap:0;min-height:280px;display:grid;overflow:hidden;box-shadow:0 16px 38px #0f21470f}.public-gallery-grid article div{background:var(--public-gallery-image,url(/images/hero-mobile.jpg)) center / cover no-repeat;min-height:210px}.public-gallery-grid article strong{color:#12213f;text-align:center;padding:18px 20px;font-weight:900;line-height:1.25;display:block}.public-values{background:#f6f9ff}.public-values-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.public-values-grid article{text-align:center;background:#fff;border:1px solid #dbe7f7;border-radius:4px;align-content:center;justify-items:center;gap:9px;min-height:132px;padding:20px;display:grid;box-shadow:0 14px 32px #0f21470d}.public-values-grid span{color:#130c44;font-size:.82rem;font-weight:950}.public-values-grid strong{color:#12213f;font-size:1.05rem;font-weight:950}.public-cta{text-align:center;background:var(--public-hero-image,url(/images/hero-poster.jpg)) center / cover no-repeat;color:#fff;justify-items:center;gap:14px;padding:clamp(58px,8vw,96px) 18px;display:grid;position:relative;overflow:hidden}.public-cta:before{content:"";pointer-events:none;background:#130c44eb;position:absolute;inset:0}.public-cta>*{z-index:1;position:relative}.public-cta span{color:#fff;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:950}.public-cta h2,.public-cta p{color:#fff}.public-cta p{color:#dbeafe;width:min(680px,100%);margin:0;line-height:1.7}.public-footer{color:#dbeafe;background:#130c44;grid-template-columns:1.2fr .75fr .85fr 1fr;gap:28px;padding:52px clamp(18px,5vw,72px);display:grid}.public-footer strong,.public-footer span{color:#fff;margin-bottom:8px;font-weight:950;display:block}.public-footer p,.public-footer a{color:#b9c8e3;margin:5px 0;line-height:1.6;text-decoration:none;display:block}.public-footer>small{color:#8ea8cf;border-top:1px solid #ffffff1f;grid-column:1/-1;padding-top:20px;display:block}.public-section-action{justify-content:center;margin-top:28px;display:flex}@media (width<=1100px){.public-programme-list,.public-gallery-grid,.public-values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-card-grid{grid-template-columns:1fr}.public-footer{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.public-nav{flex-direction:row;align-items:center;min-height:72px;padding-top:0;padding-bottom:0}.public-brand strong{text-overflow:ellipsis;white-space:nowrap;max-width:min(52vw,360px);overflow:hidden}.public-menu-button{margin-left:auto;display:inline-flex}.public-menu-head{border-bottom:1px solid #dbe7f7;justify-content:space-between;align-items:center;gap:12px;min-height:68px;padding:0 18px;display:flex}.public-menu-head strong{color:#12213f;text-transform:uppercase;letter-spacing:.05em;font-size:1rem;font-weight:950}.public-menu-close{display:inline-flex}.public-nav .public-menu{z-index:50;background:#fff;border-left:1px solid #dbe7f7;flex-wrap:nowrap;place-content:start stretch;gap:0;width:min(86vw,360px);padding:0 0 18px;transition:transform .24s;display:grid;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(102%);box-shadow:-28px 0 70px #0f214733}.public-nav .public-menu a{color:#12213f;border-bottom:1px solid #edf4ff;border-radius:0;justify-content:flex-start;width:auto;min-height:54px;padding:0 22px}.public-nav .public-menu .portal-button{color:#fff;border-bottom:0;border-radius:8px;justify-content:center;width:auto;margin:18px}.public-menu-backdrop{z-index:45;opacity:0;pointer-events:none;background:#0f214770;border:0;padding:0;transition:opacity .2s;display:block;position:fixed;inset:0}.public-menu-open{overflow:hidden}.public-menu-open .public-menu{transform:translate(0)}.public-menu-open .public-menu-backdrop{opacity:1;pointer-events:auto}.public-hero{min-height:620px}.public-card-grid,.public-programme-list,.public-gallery-grid,.public-values-grid,.public-footer{grid-template-columns:1fr}.public-programme-list article,.public-programme-list article:nth-child(2n),.public-programme-list article:nth-last-child(-n+2){border-bottom:1px solid #dbe7f7;border-right:0}.public-programme-list article:last-child{border-bottom:0}}@media (width<=640px){.public-nav nav a{min-height:34px;padding-inline:9px;font-size:.82rem}.public-hero{min-height:560px;padding-top:54px;padding-bottom:54px}.public-actions a,.public-cta a{width:100%}.public-section{padding-top:46px;padding-bottom:46px}}.app-shell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.nav-toggle,.nav-backdrop,.mobile-bar,.rail-close{display:none}.side-rail{background:var(--bg-sidebar);height:100vh;color:var(--sidebar-ink);border-right:1px solid var(--line-strong);box-shadow:var(--shadow-xs);flex-direction:column;gap:24px;padding:24px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.rail-head{justify-content:space-between;align-items:center;gap:12px;padding:0 4px;display:flex}.brand-mark{align-items:center;gap:12px;display:flex}.brand-mark>span{background:var(--primary);color:#fff;letter-spacing:-.02em;width:44px;height:44px;box-shadow:0 6px 16px var(--sidebar-active-bg,var(--primary));border-radius:12px;place-items:center;font-size:1rem;font-weight:800;display:grid}@supports (color:color-mix(in lab, red, red)){.brand-mark>span{box-shadow:0 6px 16px color-mix(in srgb, var(--sidebar-active-bg,var(--primary)) 20%, transparent)}}.brand-mark strong,.brand-mark small{display:block}.brand-mark strong{color:var(--sidebar-ink);letter-spacing:-.03em;font-size:1.05rem;font-weight:800}.brand-mark small{color:var(--sidebar-ink)}@supports (color:color-mix(in lab, red, red)){.brand-mark small{color:color-mix(in srgb, var(--sidebar-ink) 48%, var(--sidebar-muted) 52%)}}.brand-mark small{font-size:.8rem;font-weight:600}.rail-nav{gap:4px;display:grid}.rail-label{color:var(--sidebar-muted,var(--muted));letter-spacing:.08em;text-transform:uppercase;opacity:.85;margin:12px 8px 6px;font-size:.72rem;font-weight:700}.rail-nav a{min-height:46px;color:var(--sidebar-ink);border-radius:var(--radius-md);transition:all var(--transition-normal);border:1px solid #0000;grid-template-columns:36px minmax(0,1fr);align-items:center;padding:0 12px;font-size:.92rem;text-decoration:none;display:grid;position:relative}.rail-nav a span:not(.nav-icon){font-weight:600}.nav-icon{border-radius:var(--radius-sm);background:var(--sidebar-icon-bg,var(--field));width:32px;height:32px;color:var(--sidebar-icon-color,var(--primary-strong));transition:all var(--transition-normal);place-items:center;display:grid}.nav-icon svg{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.rail-nav a:hover{background:var(--sidebar-hover-bg,var(--primary-soft));color:var(--sidebar-ink);border-color:#0000;transform:translate(4px)}.rail-nav a:hover .nav-icon{background:var(--sidebar-active-bg,var(--primary));color:var(--sidebar-active-text,#fff)}.rail-nav a.active{background:var(--sidebar-active-bg,var(--primary));color:var(--sidebar-active-text,#fff);border-color:var(--sidebar-active-bg,var(--primary));box-shadow:0 8px 16px var(--sidebar-active-bg,var(--primary))}@supports (color:color-mix(in lab, red, red)){.rail-nav a.active{box-shadow:0 8px 16px color-mix(in srgb, var(--sidebar-active-bg,var(--primary)) 25%, transparent)}}.rail-nav a.active{transform:translate(4px)}.rail-nav a.active .nav-icon{background:var(--sidebar-active-text,#fff)}@supports (color:color-mix(in lab, red, red)){.rail-nav a.active .nav-icon{background:color-mix(in srgb, var(--sidebar-active-text,#fff) 18%, transparent)}}.rail-nav a.active .nav-icon{color:var(--sidebar-active-text,#fff)}.rail-nav a.active:after{content:"";background:var(--sidebar-active-text,#fff);border-radius:99px;width:4px;height:50%;position:absolute;top:25%;left:0}.rail-foot{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--field);gap:4px;margin-top:auto;padding:14px;display:grid}@supports (color:color-mix(in lab, red, red)){.rail-foot{background:color-mix(in srgb, var(--field) 40%, var(--panel))}}.rail-foot{transition:all var(--transition-normal)}.rail-foot span{color:var(--sidebar-muted,var(--muted));text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.rail-foot strong{color:var(--sidebar-ink);font-size:.9rem;font-weight:600}.workspace{align-content:start;gap:24px;min-width:0;padding:20px clamp(20px,3vw,36px) 36px;display:grid}.panel-head span,.metric span,.metric small,.stack-list span,.dash-stat-label,.dash-stat-hint{color:var(--muted)}.workspace-header{z-index:20;background:var(--navbar-bg);box-shadow:var(--shadow-sm);border-bottom:0;margin:-20px calc(-1*clamp(20px,3vw,36px)) 0;position:sticky;top:0}.workspace-header-accent{background:var(--primary);border-bottom-right-radius:4px;border-bottom-left-radius:4px;height:4px}.workspace-header-inner{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:16px clamp(20px,3vw,36px);display:grid}.workspace-header-main{align-items:flex-start;gap:14px;min-width:0;display:flex}.workspace-role-badge{background:var(--panel);min-height:32px;color:var(--primary-strong);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--primary);border-radius:999px;flex:none;align-items:center;padding:0 14px;font-size:.72rem;font-weight:800;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.workspace-role-badge{border:1px solid color-mix(in srgb, var(--primary) 18%, transparent)}}.workspace-role-badge{box-shadow:0 4px 12px #0000000a}.workspace-title-block{min-width:0}.workspace-eyebrow{color:var(--navbar-text,var(--muted));margin:0 0 4px}@supports (color:color-mix(in lab, red, red)){.workspace-eyebrow{color:color-mix(in srgb, var(--navbar-text,var(--muted)) 75%, var(--panel) 25%)}}.workspace-eyebrow{font-size:.86rem;font-weight:600;line-height:1.2}.workspace-header h1{color:var(--navbar-text,#fff);letter-spacing:-.03em;margin:0;font-size:clamp(1.35rem,2vw,1.85rem);font-weight:800;line-height:1.1}.workspace-header-meta{align-items:center;gap:10px;display:flex}.workspace-date-chip{border-radius:var(--radius-md);text-align:right;background:var(--panel);border:1px solid var(--primary);gap:2px;min-width:130px;padding:8px 14px;display:grid}@supports (color:color-mix(in lab, red, red)){.workspace-date-chip{border:1px solid color-mix(in srgb, var(--primary) 12%, transparent)}}.workspace-date-chip{box-shadow:var(--shadow-sm)}.workspace-date-chip span{color:var(--primary-strong);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:800}.workspace-date-chip strong{color:var(--navbar-text,#0b3b2a);font-size:.9rem;font-weight:800}.workspace-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.workspace-toolbar .notification-menu{position:relative}.workspace-user-chip{border-radius:var(--radius-md);background:var(--navbar-surface,#ffffff0f);min-width:0;max-width:320px;box-shadow:none;transition:all var(--transition-normal);border:1px solid #ffffff0f;align-items:center;gap:10px;padding:6px 12px;display:flex}.workspace-logout-form{margin:0}.workspace-logout-button{border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--primary);color:#fff;cursor:pointer;min-height:42px;padding:0 14px;font-size:.86rem;font-weight:600}.workspace-logout-button:hover{background:var(--primary-strong);border-color:var(--primary-strong)}.toolbar-label{color:var(--navbar-text,var(--ink));font-size:.82rem;font-weight:600}.notification-count{background:var(--primary);color:#fff;border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:.72rem;font-weight:700;display:inline-grid}.user-avatar{border-radius:var(--radius-md);background:var(--primary);color:#fff;flex:none;place-items:center;width:38px;height:38px;font-size:.82rem;font-weight:700;display:grid}.user-name{min-width:0;color:var(--ink);gap:1px;display:grid}.user-name strong,.user-name small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-name strong{color:var(--ink);font-size:.88rem;font-weight:700}.user-name small{color:var(--navbar-muted,var(--muted));font-size:.76rem;font-weight:500}.topbar{display:none}.page-kicker{color:var(--muted);margin-bottom:4px;font-size:.78rem;font-weight:600;display:block}.notification-menu{position:relative}.notification-menu[open] summary{box-shadow:var(--shadow-sm);background:#fff}.notification-menu summary::-webkit-details-marker{display:none}.notification-trigger{border-radius:var(--radius-md);background:var(--navbar-surface,#ffffff0f);min-height:40px;color:var(--navbar-text,#fff);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all var(--transition-normal);border:1px solid #ffffff0f;align-items:center;gap:10px;padding:8px 14px;list-style:none;display:inline-flex}.notification-trigger:hover{background:#ffffff1a;border-color:#ffffff4d;transform:translateY(-1px)}.notification-trigger svg{fill:none;stroke:currentColor;stroke-width:1.85px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.notification-trigger span{font-size:.86rem;font-weight:600}.notification-trigger strong{min-width:22px;height:22px;color:var(--primary-strong);background:#fff;border-radius:999px;place-items:center;padding:0 6px;font-size:.72rem;font-weight:800;display:inline-grid}.notification-panel{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--panel);width:min(420px,100vw - 32px);box-shadow:var(--shadow-lg);color:var(--ink);z-index:50;gap:14px;padding:20px;display:grid;position:absolute;top:calc(100% + 10px);right:0}.notification-panel-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.notification-panel-head h2{color:var(--ink);letter-spacing:-.02em;font-size:1.05rem;font-weight:800}.notification-panel-head p{color:var(--muted);margin-top:2px;font-size:.84rem}.notification-link-button{min-height:34px;padding:0 12px;background:var(--primary-soft)!important;color:var(--primary-strong)!important;border:1px solid var(--primary)!important}@supports (color:color-mix(in lab, red, red)){.notification-link-button{border:1px solid color-mix(in srgb, var(--primary) 20%, transparent)!important}}.notification-link-button{border-radius:var(--radius-sm);transition:all var(--transition-normal);box-shadow:none!important}.notification-link-button:hover{background:var(--primary)!important;color:#fff!important}.notification-list{gap:10px;max-height:360px;display:grid;overflow-y:auto}.notification-item{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--field);transition:all var(--transition-normal);grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px;display:grid}.notification-item.is-unread{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.notification-item.is-unread{border-color:color-mix(in srgb, var(--primary) 30%, transparent)}}.notification-item.is-unread{background:var(--primary-soft)}.notification-copy{min-width:0}.notification-type{color:var(--primary-strong);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.7rem;font-weight:700;display:inline-flex}.notification-copy strong{color:var(--ink);font-size:.9rem;font-weight:700;display:block}.notification-copy p{color:var(--muted);margin-top:4px;font-size:.84rem;line-height:1.45}.notification-copy small{color:var(--muted-light);margin-top:6px;font-size:.74rem;display:block}.notification-open{border-radius:var(--radius-sm);align-self:center;min-height:32px;padding:0 10px}.notification-empty{color:var(--muted);text-align:center;padding:20px 6px;font-size:.9rem}.notice{background:var(--primary-soft);color:var(--primary-strong);border-radius:var(--radius-md);border:1px solid #bfdbfe;padding:12px 16px;font-weight:500}.notice-error{color:#991b1b;background:#fef2f2;border-color:#fecaca;gap:2px;display:grid}.notice-error span{font-weight:600}.class-subject-preview{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--field);color:var(--muted);flex-wrap:wrap;gap:8px;padding:12px 14px;font-size:.86rem;font-weight:700;display:flex}.class-subject-preview strong{color:var(--ink);text-transform:uppercase;letter-spacing:.04em;flex-basis:100%;font-size:.78rem}.class-subject-preview span{background:var(--primary-soft);min-height:28px;color:var(--primary-strong);border-radius:999px;align-items:center;padding:0 10px;display:inline-flex}.subject-teacher-assignment-grid{gap:10px;display:grid}.subject-teacher-assignment{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--field);gap:6px;padding:12px 14px;display:grid}.subject-teacher-assignment span{color:var(--ink);font-size:.82rem;font-weight:800}.dash-hero,.pupil-portal-head,.admin-page-head,.pupil-home-hero,.document-hero{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow-sm);grid-template-columns:minmax(0,1fr) minmax(240px,340px);align-items:stretch;gap:20px;padding:24px;display:grid}.dash-hero-main,.pupil-identity,.admin-page-head>div:first-child,.pupil-home-hero>div:first-child{align-content:center;min-width:0;display:grid}.dash-hero h2,.pupil-identity h2,.admin-page-head h2,.pupil-home-hero h2{color:var(--ink);letter-spacing:-.03em;font-size:clamp(1.65rem,2.8vw,2.35rem);font-weight:700;line-height:1.08}.dash-hero p,.pupil-identity p,.admin-page-head p,.pupil-home-hero p{color:var(--muted);max-width:640px;margin-top:8px;line-height:1.55}.dash-focus-card,.pupil-focus-card,.pupil-balance-card{border-radius:var(--radius-md);color:#fff;box-shadow:var(--shadow-md);align-content:center;gap:6px;padding:20px;display:grid;position:relative;overflow:hidden}.dash-focus-card--brand,.pupil-focus-card,.pupil-balance-card{background:linear-gradient(145deg, var(--primary) 0%, var(--primary-strong) 100%)}.dash-focus-card--dark{background:linear-gradient(145deg, var(--hero-dark) 0%, #1e40af 100%)}.dash-focus-card:after,.pupil-focus-card:after,.pupil-balance-card:after{content:"";pointer-events:none;background:#ffffff1a;border-radius:999px;width:140px;height:140px;position:absolute;inset:auto -40px -60px auto}.dash-focus-card span,.dash-focus-card small,.pupil-focus-card span,.pupil-focus-card small,.pupil-balance-card span,.pupil-balance-card small{z-index:1;color:#dbeafe;font-weight:600;position:relative}.dash-focus-card span,.pupil-focus-card span,.pupil-balance-card span{text-transform:uppercase;letter-spacing:.05em;font-size:.74rem}.dash-focus-card strong,.pupil-focus-card strong,.pupil-balance-card strong{z-index:1;color:#fff;letter-spacing:-.02em;font-size:clamp(1.5rem,2.2vw,1.9rem);font-weight:700;line-height:1;position:relative}.dash-focus-card a,.pupil-focus-card a,.pupil-balance-card a{z-index:1;color:#fff;border-bottom:1px solid #fff6;justify-self:start;margin-top:4px;font-size:.88rem;font-weight:600;text-decoration:none;position:relative}.dash-stat-grid,.metric-grid,.admin-stat-grid,.pupil-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.dash-stat-card,.metric,.admin-stat-grid>div,.admin-stat-grid>a,.pupil-metric-grid>a,.pupil-metric-grid>div,.dashboard-stat-card{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--panel);min-height:108px;box-shadow:var(--shadow-xs);align-content:center;gap:5px;padding:18px;transition:border-color .15s,transform .15s,box-shadow .15s,background-color .15s;display:grid}.dash-stat-card:hover,.dashboard-stat-card:hover,.pupil-metric-grid>a:hover{box-shadow:var(--shadow-sm);background:#f7faff;border-color:#c9c6dc;transform:translateY(-2px)}.dashboard-stat-card.is-active,.pupil-metric-grid>a.active{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 1px #130c441f}.dash-stat-label,.dash-stat-card>span,.admin-stat-grid span,.pupil-metric-grid span{color:var(--muted);font-size:.84rem;font-weight:600}.dash-stat-value,.dash-stat-card>strong,.admin-stat-grid strong,.pupil-metric-grid strong{color:var(--ink);letter-spacing:-.02em;overflow-wrap:anywhere;font-size:clamp(1.25rem,1.8vw,1.65rem);font-weight:700;line-height:1.1}.dash-stat-hint,.dash-stat-card>small,.admin-stat-grid small,.pupil-metric-grid small{color:var(--muted-light);font-size:.8rem}.dash-tabs,.pupil-section-tabs,.admin-tabs{border:1px solid var(--line-strong);border-radius:var(--radius-md);scrollbar-width:thin;background:#e8f0ff;gap:6px;padding:5px;display:flex;overflow-x:auto}.dash-tabs a,.pupil-section-tabs a,.admin-tabs a{border-radius:calc(var(--radius-md) - 2px);color:#38506f;border:1px solid #0000;flex:none;align-items:center;min-height:40px;padding:0 16px;font-size:.88rem;font-weight:600;text-decoration:none;transition:background-color .15s,color .15s,box-shadow .15s;display:inline-flex}.dash-tabs a:hover,.pupil-section-tabs a:hover,.admin-tabs a:hover{background:#ffffffb3}.dash-tabs a.active,.pupil-section-tabs a.active,.admin-tabs a.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 6px 16px #130c4438}.dash-actions{flex-wrap:wrap;gap:10px;margin-top:-6px;display:flex}.theme-settings-layout{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:start;gap:18px;display:grid}.theme-settings-note{color:var(--muted);margin:0 0 14px;line-height:1.55}.theme-settings-note a{color:var(--primary-strong);border-bottom:1px solid var(--primary);font-weight:700;text-decoration:none}@supports (color:color-mix(in lab, red, red)){.theme-settings-note a{border-bottom:1px solid color-mix(in srgb, var(--primary) 35%, transparent)}}.theme-color-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.theme-color-field{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--field);gap:6px;padding:14px;display:grid}.theme-color-field>span{color:var(--ink);font-size:.9rem;font-weight:700}.theme-color-field>small{color:var(--muted);font-size:.8rem;line-height:1.4}.theme-color-inputs{grid-template-columns:52px minmax(0,1fr);align-items:center;gap:10px;display:grid}.theme-color-inputs input[type=color]{border:1px solid var(--line-strong);border-radius:var(--radius-sm);cursor:pointer;background:#fff;width:52px;height:42px;padding:4px}.theme-color-inputs input[type=text]{min-height:42px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600}.theme-settings-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:10px;margin-top:18px;padding-top:16px;display:flex}.theme-reset-button:before{content:none}.theme-preview-panel{position:sticky;top:92px}.theme-preview-shell{border:1px solid var(--line-strong);border-radius:var(--radius-md);min-height:280px;box-shadow:var(--shadow-sm);grid-template-columns:118px minmax(0,1fr);display:grid;overflow:hidden}.theme-preview-sidebar{align-content:start;gap:12px;padding:12px 10px;display:grid}.theme-preview-brand{text-align:center;justify-items:center;gap:6px;display:grid}.theme-preview-brand span{border-radius:var(--radius-sm);background:var(--primary);color:#fff;place-items:center;width:34px;height:34px;font-size:.72rem;font-weight:700;display:grid}.theme-preview-brand strong{font-size:.72rem;font-weight:700}.theme-preview-nav{gap:6px;display:grid}.theme-preview-nav span{border-radius:var(--radius-sm);padding:8px 9px;font-size:.72rem;font-weight:600;display:block}.theme-preview-nav span.is-active{box-shadow:var(--shadow-xs)}.theme-preview-main{background:var(--bg-app);align-content:start;gap:10px;padding:10px;display:grid}@supports (color:color-mix(in lab, red, red)){.theme-preview-main{background:color-mix(in srgb, var(--bg-app) 88%, #fff)}}.theme-preview-topbar{border-radius:var(--radius-sm);gap:2px;padding:12px;display:grid}.theme-preview-topbar strong{font-size:.92rem;font-weight:700}.theme-preview-topbar small{opacity:.85;font-size:.72rem}.theme-preview-card{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff;gap:8px;padding:14px;display:grid}.theme-preview-card p{color:var(--muted);font-size:.82rem;line-height:1.45}.theme-preview-card .primary-action{min-height:36px;padding:0 12px;font-size:.8rem}.section-kicker{color:var(--primary-strong);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:.72rem;font-weight:700;display:inline-flex}.slide-over{z-index:60;opacity:0;pointer-events:none;grid-template-columns:minmax(0,1fr) minmax(320px,560px);transition:opacity .18s;display:grid;position:fixed;inset:0}.slide-over.is-open{opacity:1;pointer-events:auto}.slide-over-backdrop{background:#0f172a7a;grid-area:1/1/auto/-1}.slide-over-panel{background:#fff;grid-area:1/2;height:100dvh;transition:transform .22s;overflow-y:auto;transform:translate(100%);box-shadow:-24px 0 60px #0f172a38}.slide-over-panel-full{grid-column:1/-1;justify-self:end;width:min(100vw,1440px)}.slide-over.is-open .slide-over-panel{transform:translate(0)}.slide-over-head{z-index:1;background:#fff;border-bottom:1px solid #dbe7f7;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex;position:sticky;top:0}.slide-over-head h3{color:#12213f;font-size:1.05rem;font-weight:950}.slide-over-head p{color:#5d708f;font-size:.9rem}.slide-over-close{color:#130c44;background:#eff6ff;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:1.45rem;line-height:1;display:inline-flex}.slide-over-content{padding:18px}.slide-over-open{overflow:hidden}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;display:grid}.metric,.panel{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.metric{padding:18px}.metric strong{margin:8px 0;font-size:1.8rem;font-weight:700;display:block}.panel-grid{gap:16px;display:grid}.panel-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:18px}.panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel-head h2{font-size:1.05rem;font-weight:800}.panel-head a,button,.primary-action,.secondary-action{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:.88rem;font-weight:600;line-height:1;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s;display:inline-flex}.panel-head a,button,.primary-action{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 6px 16px #130c4433}.primary-action:hover,button:hover,.panel-head a:hover{background:var(--primary-strong);border-color:var(--primary-strong);transform:translateY(-1px);box-shadow:0 8px 20px #130c443d}.secondary-action{color:var(--primary-strong);border-color:var(--line-strong);box-shadow:var(--shadow-xs);background:#fff}.secondary-action:hover{background:var(--primary-soft);color:var(--primary-strong);border-color:#c9c6dc;transform:translateY(-1px)}.secondary-action:before{content:"<";opacity:.75;font-size:.95rem;font-weight:950;line-height:1}.admin-action-row .secondary-action:before,.repeatable-actions .secondary-action:before{content:none}.admin-action-row{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.stack-list,.table-like,.attendance-grid{gap:10px;display:grid}.stack-list article,.table-like div,.attendance-row{background:var(--field);border:1px solid #dbe7f7;border-radius:8px;justify-content:space-between;gap:12px;padding:12px;display:flex}.stack-list article{flex-direction:column;align-items:flex-start}.filter-bar,.inline-pay,.settings-form{flex-wrap:wrap;gap:10px;display:flex}input,select{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-height:42px;padding:8px 10px}textarea{border:1px solid var(--line);resize:vertical;background:#fff;border-radius:8px;min-height:96px;padding:10px}select[multiple]{min-height:118px}.inline-pay input{width:130px}.settings-form{margin-top:12px}.permission-cloud{flex-wrap:wrap;gap:8px;display:flex}.permission-cloud span{color:#9a3412;background:#fff7ed;border-radius:999px;padding:8px 10px;font-size:.88rem;font-weight:700}.admin-hero{color:#fff;background:#0f2147;border-radius:8px;grid-template-columns:minmax(0,1fr) 280px;align-items:stretch;gap:18px;padding:24px;display:grid}.admin-hero span{color:#bfdbfe;text-transform:uppercase;letter-spacing:0;font-size:.76rem;font-weight:800}.admin-hero h2{margin:8px 0;font-size:clamp(1.8rem,4vw,3.4rem);font-weight:950;line-height:1}.admin-hero p{color:#dbeafe;max-width:680px}.admin-hero-stat{background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;align-content:center;gap:8px;padding:18px;display:grid}.admin-hero-stat small{color:#dbeafe}.admin-hero-stat strong{font-size:1.8rem}.admin-module-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;display:grid}.admin-module-grid a{border:1px solid var(--line);min-height:130px;color:var(--ink);background:#fff;border-radius:8px;align-content:center;gap:8px;padding:18px;text-decoration:none;display:grid;box-shadow:0 18px 45px #0f172a0f}.admin-module-grid a:hover{border-color:#c9c6dc;transform:translateY(-1px)}.admin-module-grid strong{font-size:1.08rem}.admin-module-grid span,.muted-copy{color:var(--muted)}.ops-overview{border:1px solid var(--line);background:#fff;border-radius:8px;gap:0;display:grid;overflow:hidden;box-shadow:0 18px 45px #0f172a0d}.ops-heading{border-bottom:1px solid var(--line);background:#f7faff;grid-template-columns:minmax(0,1fr) 300px;gap:18px;padding:24px;display:grid}.ops-heading h2{color:#12213f;font-size:clamp(1.7rem,3vw,2.6rem);font-weight:950;line-height:1.02}.ops-heading p{max-width:680px;color:var(--muted);margin-top:8px}.ops-balance{color:#fff;background:#0f2147;border-radius:8px;align-content:center;gap:4px;padding:16px;display:grid}.ops-balance span,.ops-balance small{color:#dbeafe}.ops-balance strong{font-size:1.85rem;line-height:1.1}.ops-kpis{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.ops-kpis div{border-right:1px solid var(--line);padding:18px}.ops-kpis div:last-child{border-right:0}.ops-kpis span,.ops-kpis small{color:var(--muted);display:block}.ops-kpis strong{color:#12213f;margin:6px 0 4px;font-size:1.55rem;display:block}.ops-layout{grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);align-items:start;gap:18px;display:grid}.ops-main,.ops-side{gap:18px;display:grid}.refined-panel{box-shadow:0 12px 34px #0f172a0b}.finance-line{border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px;display:grid;overflow:hidden}.finance-line div{border-right:1px solid var(--line);background:#f7faff;padding:14px}.finance-line div:last-child{border-right:0}.finance-line span{color:var(--muted);font-size:.88rem;display:block}.finance-line strong{margin-top:5px;font-size:1.25rem;display:block}.compact-table{border-top:1px solid var(--line);display:grid}.compact-table a,.compact-table .empty-line{color:var(--ink);border-bottom:1px solid #e8f0ff;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:12px 0;text-decoration:none;display:grid}.compact-table a:hover strong{color:var(--primary-strong)}.compact-table small{color:var(--muted);margin-top:2px;display:block}.status-pill{color:#475569;background:#f1f5f9;border-radius:999px;justify-self:start;padding:5px 9px;font-size:.78rem;font-weight:850}.status-pill.paid{color:#130c44;background:#eff6ff}.status-pill.partial{color:#9a3412;background:#ffedd5}.status-pill.unpaid{color:#991b1b;background:#fee2e2}.role-bars{gap:13px;display:grid}.role-bars>div{grid-template-columns:110px minmax(0,1fr) 36px;align-items:center;gap:12px;display:grid}.role-bars span{color:var(--muted)}.role-bars div div{background:#e8f0ff;border-radius:999px;height:8px;overflow:hidden}.role-bars i{border-radius:inherit;background:#130c44;height:100%;display:block}.ops-links{gap:7px;display:grid}.ops-links a{color:var(--ink);background:#f7faff;border:1px solid #dbe7f7;border-radius:8px;gap:3px;padding:12px;text-decoration:none;display:grid}.ops-links a:hover{background:#f6f9ff;border-color:#c9c6dc}.ops-links span{color:var(--muted);font-size:.9rem}.readiness-list{gap:9px;display:grid}.readiness-list div{border-bottom:1px solid #e8f0ff;justify-content:space-between;gap:12px;padding:10px 0;display:flex}.readiness-list div:last-child{border-bottom:0}.readiness-list span{color:var(--muted)}.readiness-list strong{color:#12213f}.admin-console{background:#f7faff;border:1px solid #dbe7f7;border-radius:8px;overflow:hidden;box-shadow:0 16px 38px #0f172a0b}.console-head{background:linear-gradient(#fff 0%,#f4faf6 100%);border-bottom:1px solid #dbe7f7;grid-template-columns:minmax(0,1fr) 190px;gap:18px;padding:24px;display:grid}.console-head h2{color:#12213f;font-size:clamp(1.75rem,3vw,2.75rem);font-weight:950;line-height:1.02}.console-head p{color:#5e7169;max-width:720px;margin-top:8px}.console-stamp{color:#fff;text-align:right;background:#0f2147;border:1px solid #c6d7f2;border-radius:8px;align-content:center;gap:3px;padding:14px;display:grid}.console-stamp span,.console-stamp small{color:#b7d6ca}.console-stamp strong{font-variant-numeric:tabular-nums;font-size:1.7rem}.console-strip{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.console-strip a,.console-strip div{color:#12213f;border-right:1px solid #dbe7f7;gap:5px;padding:17px 18px;text-decoration:none;display:grid}.console-strip a:last-child,.console-strip div:last-child{border-right:0}.console-strip a:hover{background:#f0f8f4}.console-strip span,.console-strip small{color:#63766d}.console-strip strong{font-variant-numeric:tabular-nums;font-size:1.45rem;line-height:1}.office-grid{grid-template-columns:minmax(0,1.48fr) minmax(330px,.72fr);align-items:start;gap:18px;display:grid}.office-primary,.office-secondary{gap:18px;display:grid}.office-panel{background:#fff;border:1px solid #dbe7f7;border-radius:8px;padding:18px;box-shadow:0 14px 34px #0f172a0b}.office-panel-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.office-panel-head h2{color:#12213f;font-size:1.08rem;font-weight:900}.office-panel-head a{color:var(--primary-strong);border-bottom:1px solid #130c4440;font-weight:850;text-decoration:none}.ledger-summary{border:1px solid #dbe7f7;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px;display:grid;overflow:hidden}.ledger-summary div{background:#f7faff;border-right:1px solid #dbe7f7;padding:14px}.ledger-summary div:last-child{border-right:0}.ledger-summary span{color:#63766d;font-size:.86rem;display:block}.ledger-summary strong{color:#12213f;font-variant-numeric:tabular-nums;margin-top:5px;font-size:1.22rem;display:block}.ledger-table{border-top:1px solid #dbe7f7;display:grid}.ledger-row{color:#12213f;border-bottom:1px solid #e8f0ff;grid-template-columns:minmax(0,1fr) 110px 130px;align-items:center;gap:14px;padding:12px 0;text-decoration:none;display:grid}.ledger-row:hover strong{color:var(--primary-strong)}.ledger-row-head{color:#63766d;text-transform:uppercase;letter-spacing:0;font-size:.78rem;font-weight:900}.ledger-row small{color:#63766d;margin-top:2px;display:block}.ledger-row b{font-variant-numeric:tabular-nums;justify-self:end}.ledger-empty{color:#63766d;padding:14px 0}.role-ledger{gap:12px;display:grid}.role-ledger>div{grid-template-columns:112px minmax(0,1fr) 34px;align-items:center;gap:12px;display:grid}.role-ledger span{color:#63766d}.role-ledger div div{background:#e8f0ff;border-radius:999px;height:9px;overflow:hidden}.role-ledger i{border-radius:inherit;background:linear-gradient(90deg,#130c44,#130c44);height:100%;display:block}.office-actions{gap:8px;display:grid}.office-actions a{color:#12213f;background:#f7faff;border:1px solid #dbe7f7;border-radius:8px;gap:3px;padding:12px 13px;text-decoration:none;display:grid}.office-actions a:hover{background:#f3fbf7;border-color:#c9c6dc}.office-actions span{color:#63766d;font-size:.9rem}.readiness-board{border-top:1px solid #e8f0ff;gap:0;display:grid}.readiness-board div{border-bottom:1px solid #e8f0ff;justify-content:space-between;gap:12px;padding:12px 0;display:flex}.readiness-board span{color:#63766d}.readiness-board strong{color:#12213f;text-align:right}.school-desk{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow-sm);overflow:hidden}.desk-masthead{background:linear-gradient(180deg, #fff 0%, var(--field) 100%);border-bottom:1px solid var(--line-strong);grid-template-columns:64px minmax(0,1fr) 210px;align-items:center;gap:18px;padding:22px 20px;display:grid}.desk-seal{background:linear-gradient(145deg, var(--hero-dark) 0%, var(--primary-strong) 100%);color:#fff;border-radius:50%;place-items:center;width:64px;height:64px;display:grid;box-shadow:0 8px 24px #130c4440}.desk-seal span{font-size:1.12rem;font-weight:950}.desk-title h2{color:#12213f;font-size:clamp(1.75rem,3.2vw,2.55rem);font-weight:950;line-height:1.02}.desk-title p{color:#5d708f;max-width:760px;margin-top:8px;font-size:.96rem}.desk-date{background:#fff;border-left:4px solid #130c44;border-radius:8px;justify-self:stretch;gap:4px;padding:13px 15px;display:grid}.desk-date span,.desk-date small{color:#5d708f}.desk-date strong{color:#12213f;font-size:1.25rem}.desk-register{background:#f7faff;grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.desk-register a,.desk-register div{color:#12213f;border-right:1px solid #dbe7f7;gap:4px;padding:15px 18px;text-decoration:none;display:grid}.desk-register a:last-child,.desk-register div:last-child{border-right:0}.desk-register a:hover{background:#eff6ff}.desk-register span,.desk-register small{color:#5d708f}.desk-register strong{font-variant-numeric:tabular-nums;font-size:1.42rem;line-height:1}.desk-grid{grid-template-columns:minmax(0,1.55fr) minmax(330px,.7fr);align-items:start;gap:18px;display:grid}.desk-left,.desk-right{gap:18px;display:grid}.desk-panel{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);padding:20px}.desk-panel-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.desk-panel-head h2{color:#12213f;font-size:1.08rem;font-weight:900}.desk-panel-head a{color:#130c44;border-bottom:1px solid #130c4440;font-weight:850;text-decoration:none}.cashbook-strip{background:#f7faff;border:1px solid #dbe7f7;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px;display:grid;overflow:hidden}.cashbook-strip div{background:0 0;border-right:1px solid #dbe7f7;padding:13px 14px}.cashbook-strip div:last-child{border-right:0}.cashbook-strip span{color:#5d708f;font-size:.84rem;display:block}.cashbook-strip strong{color:#12213f;font-variant-numeric:tabular-nums;margin-top:5px;font-size:1.12rem;display:block}.cashbook-table{border-top:1px solid #dbe7f7;display:grid}@media (width<=640px){.document-hero,.pupil-detail-hero,.material-detail-hero{gap:12px;padding:14px}.admin-stat-grid,.admin-stat-grid>div,.admin-stat-grid>a{padding:12px}.panel-grid.two,.panel-grid.two.admin-workspace{grid-template-columns:1fr}.submission-form,.pupil-submission-form,.form-grid{gap:10px}.submission-form button,.panel .primary-action{justify-self:stretch;width:100%}textarea,input[type=number],select{min-height:48px}.drop-upload{min-height:110px;padding:14px}.upload-preview-item{grid-template-columns:44px 1fr;gap:10px}.attachment-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.panel{padding:14px}}@media (width<=900px){.document-hero,.pupil-detail-hero,.material-detail-hero,.work-detail-hero{align-items:start;grid-template-columns:1fr!important;gap:12px!important;padding:14px!important}.document-hero .document-actions,.work-detail-actions,.document-actions{justify-content:flex-end;flex-wrap:wrap!important;gap:8px!important;display:flex!important}.document-actions a,.document-actions button{flex:auto!important;min-width:0!important}.document-hero h2{font-size:1.1rem!important;line-height:1.12!important}.document-hero p{color:var(--muted)!important;font-size:.9rem!important}.work-detail-actions,.document-actions .primary-action{margin-top:4px}}.cashbook-row{color:#12213f;border-bottom:1px solid #e8f0ff;grid-template-columns:minmax(0,1fr) 112px 136px;align-items:center;gap:14px;padding:12px 0;text-decoration:none;display:grid}.cashbook-row:hover strong{color:#130c44}.cashbook-head{color:#5d708f;text-transform:uppercase;letter-spacing:0;font-size:.76rem;font-weight:900}.cashbook-row small{color:#5d708f;margin-top:2px;display:block}.cashbook-row b{font-variant-numeric:tabular-nums;justify-self:end}.cashbook-empty{color:#5d708f;padding:14px 0}.management-map{padding-bottom:14px}.map-rows{border-top:1px solid #dbe7f7;display:grid}.map-rows a{color:#12213f;border-bottom:1px solid #e8f0ff;grid-template-columns:42px minmax(180px,.65fr) minmax(0,1fr);align-items:center;gap:14px;padding:12px 0;text-decoration:none;display:grid}.map-rows a:hover strong{color:#130c44}.map-rows span{color:#130c44;background:#eff6ff;border-radius:999px;place-items:center;width:30px;height:30px;font-size:.78rem;font-weight:900;display:grid}.map-rows small{color:#5d708f}.registrar-stack,.office-checks{border-top:1px solid #e8f0ff;display:grid}.registrar-stack div,.office-checks div{border-bottom:1px solid #e8f0ff;justify-content:space-between;gap:12px;padding:11px 0;display:flex}.registrar-stack span,.office-checks span{color:#5d708f}.registrar-stack strong,.office-checks strong{color:#12213f;font-variant-numeric:tabular-nums;text-align:right}.settings-tabs>input{opacity:0;pointer-events:none;position:absolute}.tab-list{border:1px solid var(--line);background:#edf6f1;border-radius:8px;flex-wrap:wrap;gap:8px;padding:6px;display:flex}.tab-list label{cursor:pointer;color:#38506f;border-radius:8px;padding:11px 14px;font-weight:850}.tab-list label:hover{background:#130c4417}.tab-panels{margin-top:16px}.tab-panel{display:none}#tab-school:checked~.tab-list label[for=tab-school],#tab-brand:checked~.tab-list label[for=tab-brand],#tab-gateways:checked~.tab-list label[for=tab-gateways],#tab-security:checked~.tab-list label[for=tab-security]{background:var(--primary);color:#fff;box-shadow:0 10px 24px #130c4438}#tab-school:checked~.tab-panels .school-tab,#tab-brand:checked~.tab-panels .brand-tab,#tab-gateways:checked~.tab-panels .gateways-tab,#tab-security:checked~.tab-panels .security-tab{display:block}.admin-page-head{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow-sm);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;padding:24px 28px;display:grid;position:relative;overflow:hidden}.admin-page-head:before{content:"";background:linear-gradient(180deg, var(--primary) 0%, var(--primary-strong) 100%);border-radius:var(--radius-lg) 0 0 var(--radius-lg);width:4px;position:absolute;inset:0 auto 0 0}.admin-page-head>div:first-child{padding-left:8px}.admin-page-head h2{max-width:760px;color:var(--ink);letter-spacing:-.03em;font-size:clamp(1.5rem,2.8vw,2.1rem);font-weight:800;line-height:1.1}.admin-page-head p{max-width:760px;color:var(--muted);margin-top:8px;line-height:1.55}.pupil-home-hero{background:linear-gradient(135deg,#fff 0%,#f3faf6 58%,#e9f7f1 100%);border:1px solid #c6d7f2;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:stretch;gap:18px;padding:24px;display:grid;box-shadow:0 18px 42px #0f172a0e}.pupil-home-hero>div:first-child{align-content:center;display:grid}.pupil-home-hero h2{color:#12213f;max-width:780px;font-size:clamp(1.8rem,3.2vw,2.8rem);font-weight:950;line-height:1.02}.pupil-home-hero p{color:#5d708f;max-width:760px;margin-top:8px}.pupil-balance-card{color:#fff;background:#130c44;border-radius:8px;align-content:center;gap:6px;min-width:260px;padding:18px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 38px #130c443d}.pupil-balance-card:after{content:"";background:#ffffff1f;border-radius:999px;width:150px;height:150px;position:absolute;inset:auto -34px -54px auto}.pupil-balance-card span,.pupil-balance-card small{color:#dbeafe;font-weight:800}.pupil-balance-card span{text-transform:uppercase;letter-spacing:0;font-size:.78rem}.pupil-balance-card strong{color:#fff;font-size:1.7rem;font-weight:950;line-height:1}.pupil-balance-card a{z-index:1;color:#fff;border-bottom:1px solid #ffffff73;justify-self:start;margin-top:4px;font-weight:900;text-decoration:none;position:relative}.document-hero{background:#fff;border:1px solid #c6d7f2;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;padding:24px;display:grid;box-shadow:0 16px 38px #0f172a0b}.document-hero h2{color:#12213f;font-size:clamp(1.8rem,3.2vw,2.8rem);font-weight:950;line-height:1.02}.document-hero p{color:#5d708f;margin-top:8px}.document-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.document-copy{color:#33433d;white-space:pre-wrap;line-height:1.75}.admin-tabs{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--panel);gap:6px;padding:5px;display:flex}@supports (color:color-mix(in lab, red, red)){.admin-tabs{background:color-mix(in srgb, var(--panel) 70%, var(--field))}}.admin-tabs{scrollbar-width:thin;overflow-x:auto}.admin-tabs a{color:var(--muted);border-radius:calc(var(--radius-lg) - 4px);border:1px solid #0000;flex:none;padding:10px 16px;font-size:.88rem;font-weight:600;text-decoration:none;transition:background-color .15s,color .15s,box-shadow .15s}.role-tabs a{align-items:center;gap:8px;display:inline-flex}.role-tabs a strong{background:var(--primary);border-radius:999px;place-items:center;min-width:24px;height:24px;padding:0 7px;display:inline-grid}@supports (color:color-mix(in lab, red, red)){.role-tabs a strong{background:color-mix(in srgb, var(--primary) 12%, transparent)}}.role-tabs a strong{color:var(--primary-strong);font-size:.76rem;font-weight:700}.role-tabs a.active strong{color:#fff;background:#ffffff38}.admin-tabs a:hover{background:var(--panel);color:var(--ink)}.admin-tabs a.active{background:var(--primary);color:#fff;box-shadow:0 4px 14px var(--primary)}@supports (color:color-mix(in lab, red, red)){.admin-tabs a.active{box-shadow:0 4px 14px color-mix(in srgb, var(--primary) 28%, transparent)}}.admin-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.admin-stat-grid div,.dashboard-stat-card{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--panel);min-height:108px;box-shadow:var(--shadow-xs);align-content:center;gap:4px;padding:18px 20px;display:grid}.dashboard-stat-card{color:#12213f;text-decoration:none;transition:border-color .16s,transform .16s,box-shadow .16s,background-color .16s}.dashboard-stat-card:hover{background:#f6f9ff;border-color:#c9c6dc;transform:translateY(-1px);box-shadow:0 18px 38px #0f172a0f}.dashboard-stat-card.is-active{background:#eff6ff;border-color:#130c44;box-shadow:0 16px 34px #130c4414}.admin-stat-grid span,.admin-stat-grid small{color:var(--muted)}.admin-stat-grid span{font-size:.84rem;font-weight:600}.admin-stat-grid strong{color:var(--ink);letter-spacing:-.02em;overflow-wrap:anywhere;font-size:clamp(1.25rem,1.8vw,1.65rem);font-weight:800;line-height:1.1}.admin-dashboard{gap:24px;display:grid}.admin-welcome-hero{border-radius:var(--radius-lg);color:#fff;background:linear-gradient(138deg,#130c44 0% 46%,#130c44 100%);border:1px solid #e2fff433;grid-template-columns:minmax(0,1.25fr) minmax(240px,1fr);align-items:stretch;gap:28px;padding:32px 36px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 44px #0f214747}.admin-welcome-hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff14 0%,#0000 60%);width:60%;height:140%;position:absolute;top:-20%;left:-20%}.admin-welcome-hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff0d 0%,#0000 70%);border-radius:999px;width:280px;height:280px;position:absolute;top:-80px;right:-60px}.admin-welcome-copy{z-index:1;align-content:center;gap:0;min-width:0;display:grid;position:relative}.admin-welcome-greeting{color:#dbeafe;letter-spacing:-.01em;font-size:.95rem;font-weight:650}.admin-welcome-hero h2{letter-spacing:-.03em;text-shadow:0 2px 4px #00000026;margin:8px 0 0;font-size:clamp(1.8rem,3.2vw,2.6rem);font-weight:850;line-height:1.08}.admin-welcome-hero p{color:#eff6ff;max-width:580px;margin-top:12px;font-size:1rem;line-height:1.6}.admin-welcome-chips{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.admin-chip{color:#f8fbff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);min-height:32px;box-shadow:var(--shadow-xs);background:#ffffff2e;border:1px solid #dbeafe4d;border-radius:999px;align-items:center;padding:0 14px;font-size:.82rem;font-weight:650;display:inline-flex}.admin-chip--live{background:#130c4447;border-color:#c9c6dc75}.admin-chip--live:before{content:"";background:#c9c6dc;border-radius:999px;width:8px;height:8px;margin-right:8px;box-shadow:0 0 0 3px #c9c6dc52}.admin-chip--warn{background:#f59e0b42;border-color:#fde68a73}.admin-welcome-highlight{z-index:1;border-radius:var(--radius-md);text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all var(--transition-normal);background:#0f21475c;border:1px solid #c9c6dc47;align-content:center;justify-items:center;gap:10px;padding:24px;display:grid;position:relative;box-shadow:0 10px 30px #00000029}.admin-welcome-highlight:hover{border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 14px 36px #0000002e}.admin-welcome-highlight .section-kicker{color:#bfdbfe;margin-bottom:4px;font-weight:800}.admin-collection-ring{place-items:center;width:120px;height:120px;display:grid;position:relative}.admin-collection-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.admin-collection-ring-track{fill:none;stroke:#dbeafe4d;stroke-width:10px}.admin-collection-ring-fill{fill:none;stroke:#c9c6dc;stroke-width:10px;stroke-linecap:round;stroke-dasharray:326.7;stroke-dashoffset:calc(326.7 - (326.7 * var(--ring-percent,0) / 100));filter:drop-shadow(0 0 6px #c9c6dc8c);transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1)}.admin-collection-ring strong{letter-spacing:-.04em;color:#fff;font-size:1.85rem;font-weight:850;position:absolute}.admin-welcome-highlight small{color:#eff6ff;max-width:220px;font-size:.84rem;line-height:1.45}.admin-welcome-highlight a{color:#fff;transition:border-color var(--transition-fast);border-bottom:1px solid #ffffffad;font-size:.88rem;font-weight:650;text-decoration:none}.admin-welcome-highlight a:hover{border-color:#fff}.admin-module-strip{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.admin-module-link{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--panel);min-height:76px;color:var(--ink);box-shadow:var(--shadow-xs);transition:all var(--transition-normal);align-items:center;gap:14px;padding:14px 18px;text-decoration:none;display:flex}.admin-module-link:hover{border-color:var(--primary);box-shadow:var(--shadow-md), var(--glow-primary);transform:translateY(-4px)}.admin-module-icon{border-radius:var(--radius-sm);background:var(--primary-soft);width:44px;height:44px;color:var(--primary-strong);transition:all var(--transition-normal);flex:none;place-items:center;display:grid}.admin-module-icon svg{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.admin-module-text{gap:2px;min-width:0;display:grid}.admin-module-text strong{letter-spacing:-.01em;font-size:.95rem;font-weight:700}.admin-module-text small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:500;overflow:hidden}.admin-module-link:hover .admin-module-icon{background:var(--primary);color:#fff;transform:scale(1.05)}.admin-metric-card{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--panel);min-height:108px;color:var(--ink);box-shadow:var(--shadow-xs);transition:all var(--transition-normal);grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 22px;text-decoration:none;display:grid}.admin-metric-card:hover{border-color:var(--metric-color);box-shadow:var(--shadow-md), 0 8px 24px var(--metric-color);transform:translateY(-4px)}@supports (color:color-mix(in lab, red, red)){.admin-metric-card:hover{box-shadow:var(--shadow-md), 0 8px 24px color-mix(in srgb, var(--metric-color) 12%, transparent)}}.admin-metric-icon{background:var(--metric-bg,var(--field));width:48px;height:48px;color:var(--metric-color,var(--primary));transition:all var(--transition-normal);border-radius:50%;place-items:center;display:grid}.admin-metric-icon svg{fill:none;stroke:currentColor;stroke-width:1.85px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.admin-metric-body{gap:2px;min-width:0;display:grid}.admin-metric-body small{color:var(--muted);font-size:.84rem;font-weight:600}.admin-metric-body strong{letter-spacing:-.03em;color:var(--ink);font-size:clamp(1.4rem,2.2vw,1.85rem);font-weight:850;line-height:1.05}.admin-metric-hint{color:var(--muted-light);font-size:.78rem;font-weight:500}.admin-metric-arrow{color:var(--muted-light);opacity:0;transition:all var(--transition-fast);font-size:1.2rem;transform:translate(-4px)}.admin-metric-card:hover .admin-metric-arrow{opacity:1;color:var(--metric-color);transform:translate(0)}.admin-metric-card:hover .admin-metric-icon{transform:rotate(10deg)scale(1.05)}.admin-metric-card--blue{--metric-bg:#eff6ff;--metric-color:#130c44}.admin-metric-card--cyan{--metric-bg:#ecfeff;--metric-color:#0891b2}.admin-metric-card--gold{--metric-bg:#fffbeb;--metric-color:#d97706}.admin-metric-card--emerald{--metric-bg:#eff6ff;--metric-color:#0284c7}.admin-metric-card--violet{--metric-bg:var(--primary-soft);--metric-color:var(--primary-strong)}.admin-dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(320px,.9fr);align-items:start;gap:24px;display:grid}.admin-dashboard-primary,.admin-dashboard-secondary{gap:24px;display:grid}.admin-card{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);padding:24px 26px}.admin-card:hover{box-shadow:var(--shadow-md)}.admin-card-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}.admin-card-head h3{color:var(--ink);letter-spacing:-.02em;font-size:1.12rem;font-weight:800}.admin-card-link{color:var(--primary-strong);transition:all var(--transition-fast);border-bottom:1px solid #0000;flex:none;align-self:center;font-size:.88rem;font-weight:600;text-decoration:none}.admin-card-link:hover{color:var(--primary);border-bottom-color:var(--primary)}.admin-card-meta{color:var(--muted);align-self:center;font-size:.84rem;font-weight:600}.admin-finance-bars{gap:18px;display:grid}.admin-finance-bar-row{gap:8px;display:grid}.admin-finance-bar-label{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-finance-bar-label>span:not(.admin-finance-dot){color:var(--muted);flex:1;font-size:.88rem;font-weight:600}.admin-finance-bar-label strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:750}.admin-finance-dot{border-radius:999px;flex:none;width:10px;height:10px}.admin-finance-bar-track{background:var(--field);border-radius:999px;height:10px;overflow:hidden}.admin-finance-bar-track i{border-radius:999px;height:100%;transition:width .8s cubic-bezier(.4,0,.2,1);display:block}.admin-finance-footer{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px;padding-top:20px;display:grid}.admin-finance-footer div{border-radius:var(--radius-md);background:var(--field);border:1px solid var(--line);transition:all var(--transition-normal);gap:4px;padding:14px 16px;display:grid}.admin-finance-footer div:hover{background:var(--panel);border-color:var(--primary-ring);box-shadow:var(--shadow-xs)}.admin-finance-footer span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:700}.admin-finance-footer strong{color:var(--ink);letter-spacing:-.02em;font-size:1.15rem;font-weight:850}.admin-dashboard-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.admin-dashboard-calendar-dayname{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;text-align:center;padding-bottom:6px;font-size:.76rem;font-weight:700}.admin-dashboard-calendar-cell{border-radius:var(--radius-md);background:var(--field);min-height:56px;color:var(--ink);text-align:center;transition:all var(--transition-fast);border:1px solid #0000;align-content:center;justify-items:center;gap:4px;padding:8px 6px;display:grid}.admin-dashboard-calendar-cell:not(.is-outside):hover{background:var(--field)}@supports (color:color-mix(in lab, red, red)){.admin-dashboard-calendar-cell:not(.is-outside):hover{background:color-mix(in srgb, var(--field) 90%, var(--primary-soft))}}.admin-dashboard-calendar-cell:not(.is-outside):hover{transform:scale(1.03)}.admin-dashboard-calendar-cell strong{font-size:.95rem;font-weight:700}.admin-dashboard-calendar-cell small{color:var(--primary-strong);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.62rem;font-weight:600;line-height:1.1;overflow:hidden}.admin-dashboard-calendar-cell.is-today{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 2px var(--primary-ring)}.admin-dashboard-calendar-cell.has-event{align-content:start;padding-top:10px}.admin-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-contact-card{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--panel);min-height:78px;color:var(--ink);transition:all var(--transition-normal);align-items:center;gap:14px;padding:14px 18px;text-decoration:none;display:flex}.admin-contact-card:hover{border-color:var(--contact-accent,var(--primary))}@supports (color:color-mix(in lab, red, red)){.admin-contact-card:hover{border-color:color-mix(in srgb, var(--contact-accent,var(--primary)) 35%, var(--line-strong))}}.admin-contact-card:hover{background:var(--contact-accent,var(--primary))}@supports (color:color-mix(in lab, red, red)){.admin-contact-card:hover{background:color-mix(in srgb, var(--contact-accent,var(--primary)) 6%, var(--panel))}}.admin-contact-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.admin-contact-icon{background:var(--contact-accent,var(--primary));border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid}@supports (color:color-mix(in lab, red, red)){.admin-contact-icon{background:color-mix(in srgb, var(--contact-accent,var(--primary)) 12%, var(--field))}}.admin-contact-icon{color:var(--contact-accent,var(--primary));transition:all var(--transition-normal)}.admin-contact-icon svg{fill:none;stroke:currentColor;stroke-width:1.85px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.admin-contact-copy{gap:2px;min-width:0;display:grid}.admin-contact-copy small{color:var(--muted);font-size:.78rem;font-weight:600}.admin-contact-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:700;overflow:hidden}.admin-contact-card:hover .admin-contact-icon{transform:scale(1.05)rotate(-5deg)}.admin-contact-card--blue{--contact-accent:#130c44}.admin-contact-card--cyan{--contact-accent:#0891b2}.admin-contact-card--gold{--contact-accent:#d97706}.admin-contact-card--emerald{--contact-accent:#0284c7}.admin-feed{gap:0;padding-left:6px;display:grid;position:relative}.admin-feed:before{content:"";background:var(--line);width:2px;position:absolute;top:10px;bottom:10px;left:10px}.admin-feed-item{border-bottom:1px solid var(--line);transition:all var(--transition-normal);grid-template-columns:20px minmax(0,1fr);gap:16px;padding:14px 0;display:grid;position:relative}.admin-feed-item:last-child{border-bottom:0;padding-bottom:0}.admin-feed-marker{background:var(--primary);border:2px solid var(--panel);width:10px;height:10px;box-shadow:0 0 0 4px var(--primary-soft);z-index:2;border-radius:999px;margin-top:6px}.admin-feed-item time{color:var(--muted);margin-bottom:2px;font-size:.76rem;font-weight:600;display:block}.admin-feed-item strong{color:var(--ink);font-size:.92rem;font-weight:700;display:block}.admin-feed-item p{color:var(--muted);margin-top:4px;font-size:.86rem;line-height:1.5}.admin-feed-item small{color:var(--muted-light);margin-top:4px;font-size:.78rem;display:block}.admin-feed-item:hover{transform:translate(4px)}.admin-feed-item--blue .admin-feed-marker{border-color:var(--panel);background:#130c44;box-shadow:0 0 0 4px #eff6ff}.admin-feed-item--emerald .admin-feed-marker{border-color:var(--panel);background:#0284c7;box-shadow:0 0 0 4px #eff6ff}.admin-feed-item--gold .admin-feed-marker{border-color:var(--panel);background:#d97706;box-shadow:0 0 0 4px #fffbeb}.admin-feed-empty{color:var(--muted);text-align:center;padding:16px 0;font-size:.92rem}.admin-dashboard .section-kicker{margin-bottom:4px}.school-app--admin .workspace-header{background:var(--panel);border-bottom:1px solid var(--line-strong);box-shadow:var(--shadow-xs);margin:-20px calc(-1*clamp(20px,3vw,36px)) 0}.school-app--admin .workspace-header-inner{padding:16px clamp(20px,3vw,36px)}.school-app--admin .workspace-eyebrow{color:var(--muted);font-size:.84rem;font-weight:600}.school-app--admin .workspace-header h1{color:var(--ink);letter-spacing:-.02em;font-size:clamp(1.35rem,2vw,1.75rem);font-weight:800}.school-app--admin .workspace-date-chip{background:var(--field);border-color:var(--line-strong);box-shadow:none}.school-app--admin .workspace-date-chip span{color:var(--muted)}.school-app--admin .workspace-date-chip strong{color:var(--ink);font-weight:700}.school-app--admin .workspace-user-chip{background:var(--field);border-color:var(--line-strong)}.school-app--admin .notification-trigger{background:var(--field);color:var(--ink);border-color:var(--line-strong)}.school-app--admin .notification-trigger strong{background:var(--primary);color:#fff}.school-app--admin .toolbar-label,.school-app--admin .user-name strong{color:var(--ink)}.school-app--admin .user-name small{color:var(--muted)}.school-app--admin .rail-foot{background:var(--field);border-color:var(--line-strong)}.school-app--admin .panel{border-radius:var(--radius-lg)}.school-app--admin .role-insight-grid article{border-radius:var(--radius-md)}.school-app--admin .admin-table-panel{border-radius:var(--radius-lg);overflow:hidden}.school-app--admin .admin-record-row{transition:all var(--transition-normal);border-radius:var(--radius-md);padding:14px 16px}.school-app--admin .admin-record-row:hover{background:var(--field);border-color:#0000}@media (width<=900px){.school-app--admin .mobile-bar-title strong{color:var(--ink)}.school-app--admin .mobile-bar-eyebrow{color:var(--muted)}}.admin-workspace{gap:24px;display:grid}.admin-workspace .admin-stat-grid{gap:14px}.admin-stat-tile{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--panel);min-height:108px;box-shadow:var(--shadow-xs);transition:all var(--transition-normal);align-content:center;gap:6px;padding:18px 22px;display:grid}.admin-stat-tile:hover{border-color:var(--primary-ring);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.admin-stat-tile span{color:var(--muted);font-size:.84rem;font-weight:600}.admin-stat-tile strong{color:var(--ink);letter-spacing:-.02em;overflow-wrap:anywhere;font-size:clamp(1.3rem,1.8vw,1.7rem);font-weight:800;line-height:1.1}.admin-stat-tile small{color:var(--muted-light);font-size:.8rem;line-height:1.45}.admin-stat-tile small a{color:var(--primary-strong);transition:border-color var(--transition-fast);border-bottom:1px solid #0000;font-weight:600;text-decoration:none}.admin-stat-tile small a:hover{border-bottom-color:var(--primary-strong)}.admin-insight-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.admin-insight-card{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:linear-gradient(180deg, var(--panel) 0%, var(--field) 100%);gap:6px;padding:18px 22px;display:grid}@supports (color:color-mix(in lab, red, red)){.admin-insight-card{background:linear-gradient(180deg, var(--panel) 0%, color-mix(in srgb, var(--field) 65%, var(--panel)) 100%)}}.admin-insight-card{box-shadow:var(--shadow-xs);transition:all var(--transition-normal)}.admin-insight-card:hover{border-color:var(--primary-ring);box-shadow:var(--shadow-sm)}.admin-insight-card span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:700}.admin-insight-card strong{color:var(--ink);letter-spacing:-.01em;font-size:1.05rem;font-weight:700}.admin-insight-card small{color:var(--muted);font-size:.86rem;line-height:1.55}.admin-workspace .panel,.admin-workspace .admin-card{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow-sm);padding:0;overflow:hidden}.admin-workspace .panel-head,.admin-workspace .admin-card-head{border-bottom:1px solid var(--line);background:var(--field);justify-content:space-between;align-items:center;gap:14px;margin:0;padding:18px 24px;display:flex}@supports (color:color-mix(in lab, red, red)){.admin-workspace .panel-head,.admin-workspace .admin-card-head{background:color-mix(in srgb, var(--field) 65%, var(--panel))}}.admin-workspace .panel-head h2,.admin-workspace .panel-head h3,.admin-workspace .admin-card-head h2,.admin-workspace .admin-card-head h3{color:var(--ink);letter-spacing:-.02em;margin:0;font-size:1.08rem;font-weight:800}.admin-workspace .panel-head>span,.admin-workspace .admin-card-meta{color:var(--muted);font-size:.84rem;font-weight:600}.admin-workspace .panel>:not(.panel-head):not(.admin-table):not(.admin-table-head),.admin-workspace .admin-card>:not(.admin-card-head):not(.admin-table){padding:18px 24px 24px}.admin-workspace .panel .form-grid,.admin-workspace .admin-card .form-grid,.admin-workspace .panel .detail-list,.admin-workspace .admin-card .detail-list,.admin-workspace .panel .noticeboard-stack,.admin-workspace .panel .permission-cloud,.admin-workspace .panel .theme-settings-note,.admin-workspace .panel .theme-color-grid,.admin-workspace .panel .theme-settings-actions,.admin-workspace .panel .muted-copy,.admin-workspace .panel .role-note,.admin-workspace .panel .danger-form,.admin-workspace .panel .ops-links,.admin-workspace .panel .p-4{padding:24px}.admin-workspace .panel .admin-table,.admin-workspace .admin-card .admin-table{border-top:0;padding:0 24px 24px}.admin-workspace .panel .admin-table-head{padding-top:4px}.admin-workspace .panel .empty-state,.admin-workspace .admin-card .empty-state,.admin-workspace .admin-feed-empty{text-align:center;color:var(--muted);margin:0;padding:24px;font-size:.92rem;line-height:1.6}.admin-workspace .panel-grid.two,.admin-workspace .admin-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;display:grid}.admin-workspace .theme-settings-layout{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:start;gap:24px;display:grid}.admin-workspace .theme-settings-form.panel,.admin-workspace .theme-preview-panel{padding:0}.admin-workspace .theme-preview-panel .theme-preview-shell{margin:0 24px 24px}.admin-workspace .admin-form-panel .form-grid{padding-bottom:24px}.admin-workspace .admin-form-panel button,.admin-workspace .admin-form-panel .primary-action{margin:0 24px 24px}.admin-workspace .admin-toolbar-card{border:1px dashed var(--primary);padding:24px}@supports (color:color-mix(in lab, red, red)){.admin-workspace .admin-toolbar-card{border:1px dashed color-mix(in srgb, var(--primary) 25%, var(--line-strong))}}.admin-workspace .admin-toolbar-card{border-radius:var(--radius-lg);background:var(--primary-soft)}@supports (color:color-mix(in lab, red, red)){.admin-workspace .admin-toolbar-card{background:color-mix(in srgb, var(--primary-soft) 40%, var(--panel))}}.admin-workspace .admin-toolbar-card p{color:var(--muted);margin:0 0 16px;line-height:1.6}.admin-workspace .admin-toolbar-actions{flex-wrap:wrap;gap:10px;display:flex}.admin-profile-banner{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow-sm);grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:20px;padding:24px;display:grid}.admin-profile-avatar{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--primary) 0%, var(--primary-strong) 100%);color:#fff;text-transform:uppercase;place-items:center;width:64px;height:64px;font-size:1.25rem;font-weight:800;display:grid;box-shadow:0 8px 16px #130c4426}.admin-profile-copy h2{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:1.4rem;font-weight:800}.admin-profile-copy p{color:var(--muted);margin:4px 0 0;font-size:.92rem}.admin-profile-badges{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.admin-profile-badge{background:var(--field);border:1px solid var(--line-strong);min-height:32px;color:var(--ink);border-radius:999px;align-items:center;padding:0 14px;font-size:.82rem;font-weight:600;display:inline-flex}.admin-profile-badge.is-active{background:var(--primary-soft);color:var(--primary-strong);border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.admin-profile-badge.is-active{border-color:color-mix(in srgb, var(--primary) 25%, transparent)}}.admin-profile-badge.is-role{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.admin-profile-badge.is-role{background:color-mix(in srgb, var(--primary) 10%, var(--field))}}.admin-profile-badge.is-role{color:var(--primary-strong)}.admin-workspace .detail-list{border-top:1px solid var(--line)}.admin-workspace .detail-list div{padding:14px 0}.admin-workspace .detail-list span{color:var(--muted);font-size:.84rem;font-weight:600}.admin-workspace .detail-list strong{color:var(--ink);font-weight:600}.admin-workspace .detail-list a{color:var(--primary-strong);font-weight:600;text-decoration:none}.admin-workspace .detail-list a:hover{text-decoration:underline}.admin-workspace .ops-links{gap:10px;display:grid}.admin-workspace .ops-links a{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--field);color:var(--ink);transition:all var(--transition-normal);gap:4px;padding:16px 18px;text-decoration:none;display:grid}.admin-workspace .ops-links a:hover{border-color:var(--primary);background:var(--primary-soft);transform:translate(6px)}.admin-workspace .ops-links strong{font-size:.95rem;font-weight:700}.admin-workspace .ops-links span{color:var(--muted);font-size:.84rem}.admin-workspace .noticeboard-item{border-radius:var(--radius-md);border-color:var(--line-strong);background:var(--field);border:1px solid var(--line-strong);padding:18px}.admin-workspace .permission-cloud.polished span{background:var(--primary-soft);color:var(--primary-strong);border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.admin-workspace .permission-cloud.polished span{border-color:color-mix(in srgb, var(--primary) 20%, var(--line-strong))}}.admin-workspace .pagination{padding:8px 0}.admin-workspace .pagination nav{flex-wrap:wrap;gap:6px;display:flex}.admin-workspace .pagination a,.admin-workspace .pagination span{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel);min-height:38px;color:var(--ink);transition:all var(--transition-fast);align-items:center;padding:0 14px;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-flex}.admin-workspace .pagination a:hover{background:var(--field);border-color:var(--primary-ring)}.admin-workspace .pagination span[aria-current=page]{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 10px #130c4426}.admin-workspace .danger-form{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.admin-workspace .muted-copy{color:var(--muted);font-size:.92rem;line-height:1.6}.admin-workspace .status-pill{text-transform:capitalize;border-radius:999px;align-items:center;min-height:28px;padding:0 12px;font-size:.78rem;font-weight:700;display:inline-flex}.admin-workspace .status-pill.paid{color:#130c44;background:#eff6ff;border:1px solid #130c4433}.admin-workspace .status-pill.partial{color:#b45309;background:#fef3c7;border:1px solid #f59e0b33}.admin-workspace .status-pill.unpaid{color:#b91c1c;background:#fee2e2;border:1px solid #ef444433}.admin-workspace .role-badge{background:var(--primary-soft);color:var(--primary-strong);border:1px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.admin-workspace .role-badge{border:1px solid color-mix(in srgb, var(--primary) 15%, transparent)}}.admin-workspace .role-badge{font-weight:600}.admin-workspace .admin-table article:not(.admin-record-row){border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 0;display:grid}.admin-workspace .backup-table article{grid-template-columns:auto auto minmax(0,1fr) auto}.admin-workspace .backup-table form button{min-height:36px;padding:0 14px;font-size:.84rem}@media (width<=900px){.admin-insight-grid,.admin-workspace .panel-grid.two,.admin-workspace .admin-detail-grid,.admin-workspace .theme-settings-layout{grid-template-columns:1fr}.admin-profile-banner{grid-template-columns:52px minmax(0,1fr)}.admin-profile-badges{grid-column:1/-1;justify-content:flex-start}}@media (width<=640px){.admin-workspace .admin-stat-grid,.admin-insight-grid{grid-template-columns:1fr}}.noticeboard-stack{gap:14px;display:grid}.noticeboard-item{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--field);gap:12px;padding:16px;display:grid}.noticeboard-item-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.noticeboard-item-head input{min-height:40px}.noticeboard-edit-form{gap:10px;display:grid}.noticeboard-edit-form textarea{min-height:110px}.noticeboard-item-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.noticeboard-item-actions .check-line{margin:0}.noticeboard-item-actions button{margin-left:auto}.gateway-settings-list{gap:14px;display:grid}.gateway-settings-item{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--field);gap:12px;padding:16px;display:grid}.gateway-edit-form{gap:12px;display:grid}.gateway-edit-form textarea{min-height:96px}.gateway-settings-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.gateway-settings-head small{color:var(--muted);overflow-wrap:anywhere;margin-top:3px;font-weight:500;display:block}.gateway-settings-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.gateway-settings-actions .check-line{margin:0}.gateway-settings-actions button{margin-left:auto}.gateway-status-form{border-top:1px solid var(--line);justify-content:flex-end;padding-top:12px;display:flex}.gallery-settings-list{gap:14px;margin-bottom:18px;display:grid}.gallery-settings-item{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--field);gap:12px;padding:16px;display:grid}.gallery-settings-head{grid-template-columns:72px minmax(0,1fr);align-items:center;gap:14px;display:grid}.gallery-settings-thumb{border:1px solid var(--line);background:#eff6ff;border-radius:8px;place-items:center;width:72px;height:60px;display:grid;overflow:hidden}.gallery-settings-thumb img{object-fit:cover;width:100%;height:100%}.gallery-settings-edit-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.gallery-settings-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gallery-settings-actions form{display:contents}.gallery-settings-add-form{gap:14px;display:grid}@media (width<=640px){.gallery-settings-head{grid-template-columns:60px minmax(0,1fr)}.gallery-settings-edit-form{grid-template-columns:1fr}}.admin-table-panel{overflow:hidden}.admin-table{border-top:1px solid var(--line-strong);display:grid}.admin-table-head,.admin-table article,.admin-record-row{border-bottom:1px solid var(--line);color:var(--ink);border-radius:var(--radius-md);transition:all var(--transition-normal);grid-template-columns:minmax(220px,1.2fr) minmax(120px,.7fr) minmax(150px,.8fr) minmax(110px,auto);align-items:center;gap:14px;padding:14px 16px;text-decoration:none;display:grid}.admin-table.compact article,.admin-table.compact .admin-record-row{grid-template-columns:minmax(0,1fr) auto auto}.admin-table.backup-table article{grid-template-columns:120px 150px minmax(0,1fr) auto}.admin-table-head{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:var(--field);font-size:.8rem;font-weight:700}@supports (color:color-mix(in lab, red, red)){.admin-table-head{background:color-mix(in srgb, var(--field) 40%, var(--panel))}}.admin-table-head{border-bottom:2px solid var(--line-strong);border-radius:0;margin-bottom:8px}.admin-table article strong,.admin-record-row strong{color:var(--ink)}.admin-table article small,.admin-record-row small{color:var(--muted);overflow-wrap:anywhere;margin-top:3px;font-weight:500;display:block}.admin-table article>span,.admin-record-row>span{color:var(--muted);overflow-wrap:anywhere;font-size:.9rem;font-weight:500}.admin-record-row:hover{background:var(--field);box-shadow:var(--shadow-xs);border-color:#0000;transform:translate(4px)}.admin-record-row:hover strong{color:var(--primary-strong)}.danger-form{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.inline-delete-form{margin:0;display:inline-flex}.danger-button{color:#fff;transition:all var(--transition-fast);background:#b91c1c}.danger-button:hover{box-shadow:var(--glow-danger);background:#991b1b;transform:translateY(-1px)}.role-badge{background:var(--primary-soft);border:1px solid var(--primary);border-radius:999px;justify-self:start;align-items:center;min-height:28px;padding:4px 12px;font-size:.8rem;font-weight:700;display:inline-flex;color:var(--primary-strong)!important}@supports (color:color-mix(in lab, red, red)){.role-badge{border:1px solid color-mix(in srgb, var(--primary) 15%, transparent)}}.empty-state{color:var(--muted);text-align:center;padding:24px 0}.admin-form-panel{max-width:980px}.permission-cloud.polished span,.permission-cloud label{background:var(--primary-soft);color:var(--primary-strong);border:1px solid var(--primary);align-items:center;gap:7px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.permission-cloud.polished span,.permission-cloud label{border:1px solid color-mix(in srgb, var(--primary) 20%, var(--line-strong))}}.permission-cloud.polished span,.permission-cloud label{transition:all var(--transition-fast);border-radius:999px;padding:8px 14px;font-size:.86rem;font-weight:700}.permission-cloud label{cursor:pointer}.permission-cloud label:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.permission-cloud label input{cursor:pointer;width:auto;min-height:auto}.detail-list{border-top:1px solid var(--line);display:grid}.detail-list div{border-bottom:1px solid var(--line);grid-template-columns:160px minmax(0,1fr);gap:14px;padding:14px 0;display:grid}.detail-list span{color:var(--muted);font-size:.9rem;font-weight:600}.detail-list strong{color:var(--ink);overflow-wrap:anywhere;font-weight:700}.role-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.role-insight-grid article,.role-note{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--field);transition:all var(--transition-normal);padding:16px}.role-insight-grid article:hover{border-color:var(--primary-ring);box-shadow:var(--shadow-xs)}.role-insight-grid span,.role-insight-grid small,.role-note span{color:var(--muted);font-size:.84rem}.role-insight-grid strong,.role-note strong{color:var(--ink);font-size:1rem;font-weight:750;display:block}.role-note span{margin-top:4px;display:block}.role-fields{gap:10px;display:grid}.panel-head.compact{background:0 0;border-bottom:0;margin-bottom:8px;padding-inline:0}.sample-link-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.sample-link-grid a{border-radius:var(--radius-md);background:var(--primary-soft);color:var(--primary-strong);border:1px solid var(--primary);padding:12px;font-weight:700;text-decoration:none;display:block}@supports (color:color-mix(in lab, red, red)){.sample-link-grid a{border:1px solid color-mix(in srgb, var(--primary) 20%, transparent)}}.sample-link-grid a{text-align:center;transition:all var(--transition-fast)}.sample-link-grid a:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-1px)}.grade-class-reference{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--field);margin-top:6px;overflow:hidden}.reference-toggle{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:14px 40px 14px 16px;display:flex;position:relative}.reference-toggle:hover{background:var(--primary-soft)}.reference-toggle span{color:var(--ink);font-size:.92rem;font-weight:700}.reference-toggle small{color:var(--muted);font-size:.82rem}.reference-toggle:after{content:"›";color:var(--muted);transition:transform var(--transition-fast);font-size:1.2rem;font-weight:900;line-height:1;position:absolute;top:50%;right:16px;transform:translateY(-50%)rotate(90deg)}.reference-toggle[aria-expanded=true]:after{transform:translateY(-50%)rotate(-90deg)}.reference-body{gap:10px;padding:0 16px 16px;display:grid}.reference-download-row{justify-content:flex-start;margin:0}.reference-table-wrap{border:1px solid var(--line-strong);border-radius:var(--radius-sm);max-height:280px;overflow:auto}.reference-table{border-collapse:collapse;width:100%;font-size:.85rem}.reference-table thead th{background:var(--field);color:var(--muted);text-align:left;border-bottom:1px solid var(--line-strong);padding:8px 10px;font-weight:700;position:sticky;top:0}.reference-table td{border-bottom:1px solid var(--line-strong);vertical-align:middle;padding:6px 10px}.reference-table tbody tr:last-child td{border-bottom:0}.copy-chip{border:1px solid var(--primary);border-radius:999px;align-items:center;gap:4px;min-height:26px;padding:0 11px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.copy-chip{border:1px solid color-mix(in srgb, var(--primary) 18%, transparent)}}.copy-chip{background:var(--primary-soft);color:var(--primary-strong);font:inherit;cursor:pointer;vertical-align:middle;transition:all var(--transition-fast);font-size:.78rem;font-weight:700}.copy-chip:hover,.copy-chip.is-copied{background:var(--primary);color:#fff;border-color:var(--primary)}.copy-chip--muted,.id-chip{background:var(--field);color:var(--muted);border-color:var(--line-strong)}.copy-chip--muted:hover,.copy-chip--muted.is-copied{background:var(--primary);color:#fff;border-color:var(--primary)}.id-chip{border:1px solid var(--line-strong);vertical-align:middle;border-radius:999px;align-items:center;min-height:24px;margin-left:8px;padding:0 10px;font-size:.74rem;font-weight:700;display:inline-flex}.import-preview-panel{overflow:hidden}.import-preview-list{gap:10px;padding:0 24px 24px;display:grid}.import-preview-row{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--field);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 14px;padding:14px;display:grid}.import-preview-row>small{color:var(--muted);grid-column:1/-1;line-height:1.45}.import-preview-row.is-ready{background:#f0fdf4;border-color:#bbf7d0}.import-preview-row.is-skipped{background:#fff7ed;border-color:#fed7aa}.import-preview-row strong{color:var(--ink)}.import-preview-row div small{color:var(--muted);margin-top:3px;display:block}.work-page-head .primary-action{align-self:center}.work-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.work-card{color:#12213f;background:#fff;border:1px solid #c6d7f2;border-radius:8px;align-content:start;gap:12px;min-height:218px;padding:18px;text-decoration:none;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid;box-shadow:0 14px 34px #0f172a0b}.work-card:hover{border-color:#c9c6dc;transform:translateY(-2px);box-shadow:0 18px 40px #0f172a12}.work-card-top,.work-meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.work-card-top span,.work-card-top strong,.work-meta span{border-radius:999px;align-items:center;min-height:28px;padding:5px 9px;font-size:.78rem;font-weight:900;display:inline-flex}.work-card-top span{color:#130c44;background:#eff6ff}.work-card-top strong{color:#5d708f;background:#f7faff;border:1px solid #dbe7f7}.work-card h3{color:#12213f;font-size:1.12rem;font-weight:950;line-height:1.2}.work-card p{color:#5d708f;line-height:1.55}.work-meta{border-top:1px solid #e8f0ff;margin-top:auto;padding-top:10px}.work-meta span{color:#5d708f;border-radius:0;padding:0}.material-card .work-card-top span{color:#130c44;background:#eff6ff}.empty-work-panel{grid-column:1/-1;justify-items:start;gap:8px;display:grid}.work-create-panel{gap:14px;display:grid}.drop-upload{color:#38506f;text-align:center;cursor:pointer;background:#f7faff;border:1.5px dashed #c9c6dc;border-radius:8px;place-items:center;gap:7px;min-height:132px;padding:18px;display:grid;position:relative}.drop-upload:hover{background:#eff6ff;border-color:#130c44}.drop-upload input{opacity:0;cursor:pointer;position:absolute;inset:0}.drop-upload span{color:#12213f;font-weight:950}.drop-upload small{color:#5d708f}.upload-preview{z-index:1;text-align:left;gap:8px;width:100%;margin-top:8px;display:grid;position:relative}.upload-preview[hidden]{display:none}.upload-preview-item{background:#fff;border:1px solid #dbe7f7;border-radius:8px;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:12px;padding:10px;display:grid}.upload-preview img{object-fit:cover;border:1px solid #dbe7f7;border-radius:8px;width:54px;height:54px}.upload-preview strong{color:#12213f;overflow-wrap:anywhere;font-size:.9rem;display:block}.upload-preview small{color:#5d708f;margin-top:3px;display:block}.upload-preview-icon{color:#130c44;background:#eff6ff;border-radius:8px;place-items:center;width:54px;height:54px;font-size:.78rem;font-weight:950;display:grid}.work-detail-hero{background:#fff;border:1px solid #c6d7f2;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;padding:24px;display:grid;box-shadow:0 16px 38px #0f172a0b}.work-detail-hero h2{color:#12213f;max-width:840px;font-size:clamp(1.9rem,3.2vw,2.8rem);font-weight:950;line-height:1.02}.work-detail-hero p{color:#5d708f;margin-top:8px}.work-detail-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.work-detail-grid{align-items:start}.work-rich-text{color:#263a33;line-height:1.75}.work-rich-text p+p,.work-rich-text ul,.work-rich-text ol{margin-top:12px}.work-rich-text ul,.work-rich-text ol{padding-left:22px}.file-preview-list{gap:14px;display:grid}.file-preview-frame{background:#f7faff;border:1px solid #dbe7f7;border-radius:8px;place-items:center;min-height:360px;display:grid;overflow:hidden}.file-preview-frame iframe,.file-preview-frame video{background:#fff;border:0;width:100%;min-height:520px}.file-preview-frame img{object-fit:contain;max-width:100%;max-height:620px;display:block}.file-preview-frame audio{width:min(100%,620px)}.file-preview-empty{text-align:center;justify-items:center;gap:8px;padding:24px;display:grid}.file-preview-empty strong{color:#12213f;overflow-wrap:anywhere;font-size:1.05rem}.file-preview-empty span{color:#5d708f}.attachment-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.attachment-card{background:#f7faff;border:1px solid #dbe7f7;border-radius:8px;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:92px;padding:14px;display:grid}.attachment-icon{color:#130c44;text-transform:uppercase;background:#eff6ff;border-radius:8px;place-items:center;width:58px;height:58px;font-size:.76rem;font-weight:950;display:grid}.attachment-card strong{color:#12213f;overflow-wrap:anywhere;font-size:.95rem;font-weight:950;display:block}.attachment-card span{color:#5d708f;margin-top:3px;font-size:.84rem;display:block}.attachment-actions{gap:7px;display:flex}.attachment-actions a{color:#130c44;background:#fff;border:1px solid #c6d7f2;border-radius:8px;place-items:center;width:36px;height:36px;display:inline-grid}.attachment-actions a:hover{background:#edf8f2;border-color:#7bc7a8}.attachment-actions svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.submission-list{gap:14px;display:grid}.submission-card{background:#f7faff;border:1px solid #dbe7f7;border-radius:8px;gap:12px;padding:14px;display:grid}.submission-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.submission-card-head strong{color:#12213f;font-size:.96rem;font-weight:950}.submission-card-head small{color:#5d708f;margin-top:4px;display:block}.submission-statuses{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.compact-attachments{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.submission-note{background:#fff;border:1px solid #dbe7f7;border-radius:8px;gap:5px;padding:12px;display:grid}.submission-note span{color:#5d708f;text-transform:uppercase;font-size:.78rem;font-weight:900}.submission-note p{color:#263a33;line-height:1.6}.grading-form{background:#fff;border:1px solid #dbe7f7;border-radius:8px;gap:10px;padding:14px;display:grid}.grading-form-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.grading-form-head h3{color:#12213f;font-size:.98rem;font-weight:950}.grading-form-head p,.grading-form-head small{color:#5d708f;font-size:.84rem}.grading-meta{background:#f7faff;border:1px solid #dbe7f7;border-radius:8px;align-content:center;min-height:42px;padding:8px 12px;display:grid}.grading-meta span{color:#5d708f;text-transform:uppercase;font-size:.74rem;font-weight:850}.grading-meta strong{color:#12213f;font-size:1rem;font-weight:950}.submission-form{margin-top:14px}.report-batch-list{gap:12px;display:grid}.report-batch-card{color:#12213f;background:#f7faff;border:1px solid #dbe7f7;border-radius:8px;gap:10px;padding:16px;text-decoration:none;display:grid;box-shadow:0 10px 24px #0f172a09}.report-batch-card:hover{background:#f6f9ff;border-color:#c9c6dc}.report-batch-card.is-active{background:#eff6ff;border-color:#130c44;box-shadow:0 16px 32px #130c4414}.report-batch-top,.report-batch-meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.report-batch-top strong,.report-batch-card h3{color:#12213f;font-weight:950}.report-batch-card h3{font-size:1.02rem}.report-batch-card p,.report-batch-meta span{color:#5d708f}.report-add-subject:before{content:none}.report-preview-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.report-preview-summary div{background:#f7faff;border:1px solid #dbe7f7;border-radius:8px;padding:14px}.report-preview-summary span{color:#5d708f;font-size:.82rem}.report-preview-summary strong{color:#12213f;margin-top:5px;font-size:1.02rem;font-weight:950;display:block}.report-picker-panel,.report-entry-panel{padding:14px}.compact-report-selection{margin-bottom:10px}.compact-report-selection div{padding:10px 0}.report-pupil-list{gap:8px;max-height:320px;margin-top:10px;display:grid;overflow-y:auto}.report-pupil-option{text-align:left;border-radius:8px;justify-items:start;gap:4px;width:100%;display:grid;color:#12213f!important;box-shadow:none!important;background:#f7faff!important;border:1px solid #dbe7f7!important;padding:12px!important}.report-pupil-option strong{font-size:.92rem;font-weight:950}.report-pupil-option small{color:#5d708f}.report-pupil-option.is-selected{background:#eff6ff!important;border-color:#130c44!important}.report-grade-rows{gap:10px;display:grid}.report-grade-row{background:#f7faff;border:1px solid #dbe7f7;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px;display:grid}.report-grade-grid{grid-template-columns:1.2fr .7fr .7fr 1.2fr}.report-grade-remove{min-height:42px;padding:0 12px;color:#991b1b!important;box-shadow:none!important;background:#fff!important;border:1px solid #fecaca!important}.report-full-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;display:grid}.report-full-card{background:#f7faff;border:1px solid #dbe7f7;border-radius:8px;gap:14px;padding:16px;display:grid}.report-full-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.report-full-head strong{color:#12213f;font-size:1rem;font-weight:950}.report-full-head small{color:#5d708f;margin-top:4px;display:block}.report-expand-card{gap:0;padding:0}.report-expand-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:16px;list-style:none;display:flex}.report-expand-summary::-webkit-details-marker{display:none}.report-expand-summary strong{color:#12213f;font-size:1rem;font-weight:950}.report-expand-summary small{color:#5d708f;margin-top:4px;display:block}.report-expand-label{color:#130c44;white-space:nowrap;background:#fff;border:1px solid #c6d7f2;border-radius:999px;align-items:center;min-height:32px;padding:0 10px;font-size:.8rem;font-weight:900;display:inline-flex}.report-expand-card[open] .report-expand-label{background:#eff6ff;border-color:#c9c6dc}.report-expand-body{border-top:1px solid #dbe7f7;gap:14px;padding:0 16px 16px;display:grid}.report-draft-tools{gap:18px;display:grid}.report-draft-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.report-draft-tool-card{background:linear-gradient(#f7faff 0%,#fff 100%);border:1px solid #dbe7f7;border-radius:12px;gap:14px;padding:18px;display:grid;box-shadow:0 10px 24px #0f172a0a}.report-draft-tool-card h3{color:#12213f;letter-spacing:-.02em;font-size:1.05rem;font-weight:950}.report-draft-tool-card p{color:#5d708f;margin-top:4px;line-height:1.5}.report-modal-help{color:#5d708f;background:#f7fbf8;border:1px solid #dbe7f7;border-radius:10px;margin:0;padding:12px 14px;line-height:1.55}.report-publish-warning{background:#fffbeb;border:1px solid #fde68a;border-left:5px solid #d97706;border-radius:12px;gap:6px;padding:16px;display:grid}.report-publish-warning strong{color:#92400e;font-weight:950}.report-publish-warning p{color:#78350f;margin:0;line-height:1.55}.report-edit-form{gap:14px;display:grid}.report-edit-form label{color:#5d708f;text-transform:uppercase;letter-spacing:.04em;gap:8px;font-size:.78rem;font-weight:900;display:grid}.report-inline-grade-grid{gap:10px;display:grid}.report-inline-grade-row{background:#fff;border:1px solid #dbe7f7;border-radius:10px;grid-template-columns:minmax(140px,1fr) minmax(90px,.5fr) minmax(90px,.5fr) minmax(160px,1fr);align-items:center;gap:10px;padding:12px;display:grid}.report-inline-grade-row strong{color:#12213f;font-size:.9rem;font-weight:900}.report-inline-grade-row input{min-height:40px}.report-grade-summary{gap:10px;display:grid}.report-grade-summary div{background:#fff;border:1px solid #dbe7f7;border-radius:8px;padding:12px}.report-grade-summary span{color:#5d708f;font-size:.8rem;display:block}.report-grade-summary strong{color:#12213f;margin-top:5px;font-size:.95rem;font-weight:950;display:block}.report-grade-summary small{color:#5d708f;margin-top:4px;line-height:1.45;display:block}.year-group-list{gap:16px;display:grid}.year-group{gap:8px;display:grid}.year-group-head{border-bottom:1px solid #dbe7f7;justify-content:space-between;align-items:center;gap:10px;padding:0 0 8px;display:flex}.year-group-head strong{color:#12213f;font-size:1rem;font-weight:950}.year-group-head span{color:#5d708f;font-size:.84rem;font-weight:850}.year-group-head small{color:#5d708f;margin-top:4px;font-size:.8rem;display:block}.report-archive-masthead{gap:10px;display:grid}.report-archive-masthead h2{color:#12213f;font-size:clamp(1.45rem,2.5vw,2.05rem);font-weight:950;line-height:1.04}.report-archive-masthead p{color:#5d708f;max-width:760px;margin-top:6px}.report-archive-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:2px;display:grid}.report-archive-strip div{background:#f7faff;border:1px solid #dbe7f7;border-radius:8px;gap:4px;padding:12px 14px;display:grid}.report-archive-strip span{color:#5d708f;font-size:.8rem;font-weight:850}.report-archive-strip strong{color:#12213f;font-size:.98rem;font-weight:950}.report-archive-layout{align-items:start}.report-archive-panel,.report-detail-panel{padding:18px}.report-year-block{background:0 0;border:0;gap:10px;padding:0}.report-archive-head-row{color:#5d708f;text-transform:uppercase;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;padding:0 0 8px;font-size:.74rem;font-weight:900;display:grid}.report-year-rows{border-top:1px solid #e8f0ff;display:grid}.report-archive-row{color:#12213f;border-bottom:1px solid #e8f0ff;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 0;text-decoration:none;display:grid}.report-archive-row:hover strong{color:#130c44}.report-archive-row.is-active{background:#f7fbf8;border-bottom-color:#0000;border-radius:8px;margin-inline:-10px;padding-inline:14px 10px;position:relative}.report-archive-row.is-active:before{content:"";background:#130c44;border-radius:999px;width:3px;position:absolute;top:10px;bottom:10px;left:0}.report-archive-row strong{color:#12213f;font-size:.95rem;font-weight:950}.report-archive-row small{color:#5d708f;margin-top:3px;font-size:.82rem;display:block}.report-archive-row>span:not(.role-badge){color:#526987;font-size:.84rem;font-weight:850}.report-detail-banner{border-bottom:1px solid #e8f0ff;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;padding:14px 0 16px;display:flex}.report-detail-banner h3{color:#12213f;font-size:1.15rem;font-weight:950;line-height:1.08}.report-detail-banner p{color:#5d708f;margin-top:4px;font-size:.88rem}.report-detail-banner>strong{color:#130c44;font-size:1.55rem;font-weight:950;line-height:1}.report-detail-list{margin-bottom:16px}.report-grade-table{border-top:1px solid #dbe7f7}.report-detail-empty{background:#f7faff;border:1px dashed #c6d7f2;border-radius:8px;justify-items:start;gap:6px;padding:18px;display:grid}.report-detail-empty strong{color:#12213f;font-size:1rem;font-weight:950}.report-detail-empty span{color:#5d708f;line-height:1.55}.auth-body{background:#eef4ff;min-height:100vh}.auth-page{background:#eef4ff;place-items:center;min-height:100vh;padding:24px;display:grid}.login-page{background:#130c44 url(https://images.pexels.com/photos/5676672/pexels-photo-5676672.jpeg?auto=compress&cs=tinysrgb&w=2400) 50%/cover no-repeat;grid-template-columns:1fr;padding:clamp(18px,4vw,42px);position:relative;overflow:hidden}.login-page:before{content:"";-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#130c449e;position:absolute;inset:0}.login-page>*{z-index:1;position:relative}.login-showcase{color:#fff;background:#130c44;border-radius:8px 0 0 8px;align-content:space-between;gap:28px;min-height:min(760px,100vh - 84px);padding:clamp(24px,4vw,44px);display:grid;box-shadow:0 24px 70px #0f172a24}.login-brand{align-items:center;gap:12px;padding-bottom:4px;display:flex}.login-brand>span{color:#fff;background:#130c44;border-radius:8px;place-items:center;width:40px;height:40px;font-weight:950;display:grid;box-shadow:0 10px 24px #130c442e}.login-brand strong,.login-brand small{display:block}.login-brand strong{color:#12213f;font-size:.98rem;font-weight:950}.login-brand small{color:#5d708f;font-size:.82rem;font-weight:760}.login-showcase-copy h1{color:#fff;max-width:620px;font-size:clamp(2.2rem,5vw,4.7rem);font-weight:950;line-height:.96}.login-showcase-copy p{color:#dbeafe;max-width:560px;margin-top:14px;font-size:1.03rem;line-height:1.65}.login-showcase .section-kicker{color:#c9c6dc}.login-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.login-showcase-grid div{background:#ffffff14;border:1px solid #ffffff29;border-radius:8px;align-content:center;gap:5px;min-height:112px;padding:16px;display:grid}.login-showcase-grid span,.login-showcase-grid small{color:#bfdbfe;font-weight:780}.login-showcase-grid span{text-transform:uppercase;font-size:.78rem}.login-showcase-grid strong{color:#fff;font-size:1.6rem;font-weight:950;line-height:1}.login-panel{background:#fff;border:1px solid #ffffffd1;border-radius:8px;place-items:center;width:min(100%,420px);min-height:auto;padding:30px;display:grid;box-shadow:0 30px 90px #0000003d}.auth-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:14px;width:min(100%,440px);padding:24px;display:grid;box-shadow:0 22px 60px #0f172a1a}.login-card{box-shadow:none;background:0 0;border:0;gap:18px;padding:0}.auth-card.wide{width:min(100%,760px)}.auth-card h1{font-size:2rem;font-weight:900}.auth-card a{color:var(--primary-strong);font-weight:800;text-decoration:none}.auth-card-head h2{color:#12213f;font-size:clamp(2rem,3vw,2.5rem);font-weight:950;line-height:.98}.auth-card-head p{color:#5d708f;margin-top:9px;line-height:1.55}.auth-alert{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 13px;font-weight:820}.login-type-switch{background:#f7faff;border:1px solid #dbe7f7;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:5px;display:grid;box-shadow:inset 0 1px #ffffffd9}.login-type-switch__item{color:#526987;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-content:center;gap:4px;min-height:74px;padding:12px 14px;text-decoration:none;transition:transform .18s,border-color .18s,background .18s,color .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden}.login-type-switch__item:hover{color:#130c44;background:#fff;border-color:#c6d7f2;transform:translateY(-1px)}.login-type-switch__item span{color:inherit;font-size:.9rem;font-weight:950;line-height:1.1}.login-type-switch__item small{color:#6a7f9d;font-size:.72rem;font-weight:820;line-height:1.25}.login-type-switch__item.is-active{color:#fff;background:#130c44;border-color:#130c44;box-shadow:0 14px 28px #130c443d}.login-type-switch__item.is-active:after{content:"";background:#fff;border-radius:999px;width:9px;height:9px;position:absolute;top:12px;right:12px;box-shadow:0 0 0 4px #ffffff38}.login-type-switch__item.is-active small{color:#dbeafe}.auth-field{color:#38506f;gap:8px;font-weight:850;display:grid}.auth-field span{color:#526987;font-size:.82rem;font-weight:900}.auth-field input{background:#fff;border-color:#c6d7f2;min-height:50px;font-weight:720;box-shadow:inset 0 1px #0f172a05}.auth-field input:focus{background:#fff;border-color:#130c44;outline:3px solid #130c4429}.auth-options{justify-content:flex-start;align-items:center;gap:12px;margin-top:-2px;display:flex}.auth-options .check-line{color:#5d708f;font-weight:780}.auth-options .check-line input{accent-color:#130c44;width:16px;height:16px;min-height:16px}.auth-submit{width:100%;min-height:50px;font-size:.96rem;box-shadow:0 14px 28px #130c442e}.setup-link{justify-self:center;margin-top:2px}.check-line{color:var(--muted);align-items:center;gap:8px;display:flex}.check-line input{width:18px;height:18px;min-height:18px;accent-color:var(--primary);flex:none}.form-grid{gap:10px;display:grid}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.section-title{margin-bottom:10px;font-size:1.35rem;font-weight:900}.repeatable-wrap{gap:10px;min-width:0;display:grid}.repeatable-rows{gap:8px;min-width:0;display:grid}.repeatable-row{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--field);flex-wrap:wrap;align-items:center;gap:8px;min-width:0;padding:10px;display:flex}.repeatable-row input,.repeatable-row select{min-height:38px}.repeatable-row>input[name*="[label]"]{flex:3 160px;min-width:120px}.repeatable-row>input[data-item-amount]{flex:110px;min-width:90px}.repeatable-row--milestone>input[name*="[remind_on]"]{flex:140px;min-width:130px}.repeatable-row--milestone>input[name*="[minimum_percentage]"],.repeatable-row--milestone>input[name*="[lead_days]"]{flex:90px;min-width:80px}.repeatable-row [data-remove-row]{flex:none;min-height:38px;margin-left:auto;padding:0 12px}.repeatable-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.repeatable-total{color:var(--ink);font-weight:800}.repeatable-total strong{color:var(--primary-strong)}.schedule-target-row{gap:6px;min-width:0;display:grid}.schedule-target-row select[multiple]{min-height:120px}@media (width<=640px){.repeatable-row [data-remove-row]{flex-basis:100%;margin-left:0}}.promotions-table-wrap{border:1px solid var(--line-strong);border-radius:var(--radius-sm);overflow:auto}.promotions-table{border-collapse:collapse;width:100%;font-size:.85rem}.promotions-table thead th{background:var(--field);color:var(--muted);text-align:left;border-bottom:1px solid var(--line-strong);white-space:nowrap;padding:10px 12px;font-weight:700;position:sticky;top:0}.promotions-table td{border-bottom:1px solid var(--line-strong);vertical-align:middle;padding:10px 12px}.promotions-table tbody tr:last-child td{border-bottom:0}.promotions-table select{min-width:160px;min-height:38px}.promotions-table textarea{width:220px;min-height:60px;margin-top:6px}.promotions-table .check-line{white-space:nowrap}.promotions-submit-row{margin-top:16px}.danger-text{color:#b91c1c}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.register-page-head{align-items:stretch}.register-head-actions{grid-template-columns:210px;align-content:center;justify-items:stretch;gap:16px;padding-left:12px;display:grid}.register-date-card{background:#fff;border-left:4px solid #130c44;border-radius:8px;align-content:center;gap:4px;min-width:210px;padding:14px 15px;display:grid}.register-date-card span,.register-date-card small{color:#5d708f;font-weight:760}.register-date-card strong{color:#12213f;font-variant-numeric:tabular-nums;font-size:1.22rem;font-weight:950}.register-controls{grid-template-columns:minmax(0,1fr) 320px;gap:0;padding:0;display:grid;overflow:hidden}.register-controls.compact{grid-template-columns:1fr}.register-control-form{border-right:1px solid #dbe7f7;grid-template-columns:minmax(150px,.9fr) minmax(220px,1.4fr) minmax(170px,.8fr) auto;align-items:end;gap:12px;padding:16px;display:grid}.register-controls.compact .register-control-form{border-right:0}.register-control-form h2{color:#12213f;font-size:1rem;font-weight:950}.register-control-form label{color:#38506f;gap:6px;font-weight:850;display:grid}.register-control-form label span{color:#5d708f;font-size:.8rem;font-weight:850}.register-button:before{content:none}.register-download-button{width:100%}.register-export-card{background:#f7faff;align-content:center;gap:12px;padding:16px;display:grid}.register-export-card h2{color:#12213f;font-size:1rem;font-weight:950}.register-export-card p{color:#5d708f;font-size:.88rem;line-height:1.45}.register-export-modal{z-index:70;opacity:0;pointer-events:none;place-items:center;padding:18px;transition:opacity .18s;display:grid;position:fixed;inset:0}.register-export-modal.is-open{opacity:1;pointer-events:auto}.register-export-backdrop{background:#0f172a80;position:absolute;inset:0}.register-export-dialog{background:#fff;border:1px solid #c6d7f2;border-radius:8px;width:min(100%,560px);max-height:min(760px,100dvh - 36px);position:relative;overflow-y:auto;box-shadow:0 30px 80px #0f172a47}.register-export-head{background:#f7faff;border-bottom:1px solid #dbe7f7;justify-content:space-between;align-items:flex-start;gap:14px;padding:20px;display:flex}.register-export-head h2{color:#12213f;font-size:1.28rem;font-weight:950;line-height:1.1}.register-export-head p{color:#5d708f;margin-top:6px;font-size:.92rem}.register-export-close{color:#130c44;width:36px;height:36px;min-height:36px;box-shadow:none;background:#fff;border:1px solid #c6d7f2;border-radius:8px;flex:none;padding:0;font-size:1.4rem;line-height:1}.register-export-form{gap:14px;padding:20px;display:grid}.register-export-form label{color:#38506f;gap:6px;font-weight:850;display:grid}.register-export-form label span{color:#5d708f;font-size:.82rem;font-weight:850}.register-export-class{background:#f7faff;border:1px solid #dbe7f7;border-radius:8px;gap:4px;padding:14px;display:grid}.register-export-class span,.register-export-class small{color:#5d708f}.register-export-class strong{color:#12213f;font-size:1.12rem;font-weight:950}.register-export-actions{justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.register-summary-grid div{min-height:96px}.summary-present strong{color:#130c44}.summary-late strong{color:#b45309}.summary-excused strong{color:#130c44}.summary-absent strong{color:#b91c1c}.register-panel{padding-bottom:0;overflow:hidden}.register-panel .panel-head{border-bottom:1px solid #dbe7f7;margin-bottom:0;padding-bottom:14px}.register-table-head,.register-row{grid-template-columns:minmax(220px,.95fr) minmax(360px,1.25fr) minmax(240px,.85fr);align-items:center;gap:14px;display:grid}.register-table-head{color:#5d708f;text-transform:uppercase;letter-spacing:0;background:#f7faff;border-bottom:1px solid #dbe7f7;min-height:40px;margin:0 -18px;padding:0 18px;font-size:.76rem;font-weight:950}.register-row{border-bottom:1px solid #e8f0ff;min-height:82px;margin:0 -18px;padding:12px 18px}.register-row:hover{background:#f7faff}.register-pupil{align-items:center;gap:12px;min-width:0;display:flex}.register-pupil>span{color:#130c44;text-transform:uppercase;background:#eff6ff;border-radius:8px;flex:none;place-items:center;width:38px;height:38px;font-weight:950;display:grid}.register-pupil div{min-width:0}.register-pupil strong{color:#12213f;overflow-wrap:anywhere;font-weight:950;display:block}.register-pupil small{color:#5d708f;margin-top:2px;display:block}.register-options{border:0;grid-template-columns:repeat(4,minmax(76px,1fr));gap:7px;min-width:0;margin:0;padding:0;display:grid}.register-choice{cursor:pointer;min-width:0;position:relative}.register-choice input{opacity:0;cursor:pointer;width:100%;min-height:100%;position:absolute;inset:0}.register-choice span{color:#38506f;background:#fff;border:1px solid #dbe7f7;border-radius:8px;justify-content:center;align-items:center;min-height:36px;padding:0 9px;font-size:.84rem;font-weight:900;transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s;display:flex}.register-choice input:focus-visible+span{outline-offset:2px;outline:3px solid #130c4433}.register-choice input:checked+span{color:#fff;border-color:#0000;box-shadow:0 8px 18px #0f172a14}.choice-present input:checked+span{background:#130c44}.choice-late input:checked+span{background:#b45309}.choice-excused input:checked+span{background:#130c44}.choice-absent input:checked+span{background:#b91c1c}.register-excuse{opacity:.42;min-width:0;transition:opacity .16s}.register-excuse.is-visible{opacity:1}.register-excuse label{gap:5px;display:grid}.register-excuse label span{color:#5d708f;font-size:.78rem;font-weight:850}.register-excuse input:disabled{color:#0000;background:#f4f7f5}.field-error{color:#b91c1c;margin-top:5px;font-weight:800;display:block}.register-footer{background:#f7faff;justify-content:space-between;align-items:center;gap:12px;margin:0 -18px;padding:16px 18px;display:flex}.register-footer span{color:#5d708f;font-weight:850}.welcome-page{grid-template-columns:.95fr 1.05fr;min-height:100vh;display:grid}.welcome-hero{color:#fff;background:#0f2147;align-content:center;gap:22px;padding:clamp(28px,6vw,72px);display:grid}.welcome-hero h1{max-width:720px;font-size:clamp(2.2rem,6vw,5.2rem);font-weight:900;line-height:.96}.welcome-hero p{color:#dbeafe;max-width:640px;font-size:1.08rem}.welcome-links{background:#f6f8f5;align-content:center;gap:14px;padding:clamp(24px,5vw,56px);display:grid}.welcome-links a{border:1px solid var(--line);min-height:72px;color:var(--ink);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;padding:18px;font-weight:850;text-decoration:none;display:flex}.welcome-links small{color:var(--muted);margin-top:4px;font-weight:500;display:block}.welcome-links span{color:var(--primary)}.pupil-portal-head{background:#fff;border:1px solid #c6d7f2;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:stretch;gap:18px;padding:22px;display:grid;box-shadow:0 18px 44px #0f172a0e}.pupil-identity{align-content:center;min-width:0;display:grid}.pupil-identity h2{color:#12213f;font-size:clamp(1.85rem,3vw,2.7rem);font-weight:950;line-height:1.03}.school-app--admin{--ink:#12213f;--muted:#5d708f;--muted-light:#8aa0c0;--line:#dbe7f7;--line-strong:#c6d7f2;--field:#f7faff;--panel:#fff;--bg-app:#eef4ff;--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--shadow-xs:0 1px 2px #0f214709;--shadow-sm:0 10px 28px #0f21470e;--shadow-md:0 18px 46px #0f214716;background:linear-gradient(#eef4fff5,#f7faffeb),radial-gradient(circle at 76% -10%,#130c4414,#0000 34%),radial-gradient(circle at 18% 10%,#130c4414,#0000 32%)}.school-app--admin .app-shell{grid-template-columns:284px minmax(0,1fr)}.school-app--admin .side-rail{background:linear-gradient(180deg, var(--bg-sidebar) 0%, var(--bg-sidebar) 100%);padding:22px 16px}@supports (color:color-mix(in lab, red, red)){.school-app--admin .side-rail{background:linear-gradient(180deg, color-mix(in srgb, var(--bg-sidebar) 94%, #fff) 0%, color-mix(in srgb, var(--bg-sidebar) 88%, #eef4ff) 100%)}}.school-app--admin .side-rail{border-right:1px solid var(--line-strong)}@supports (color:color-mix(in lab, red, red)){.school-app--admin .side-rail{border-right:1px solid color-mix(in srgb, var(--line-strong) 80%, transparent)}}.school-app--admin .side-rail{box-shadow:10px 0 34px #0f21470b}.school-app--admin .brand-mark{border:1px solid var(--sidebar-ink);min-height:56px;padding:8px}@supports (color:color-mix(in lab, red, red)){.school-app--admin .brand-mark{border:1px solid color-mix(in srgb, var(--sidebar-ink) 8%, transparent)}}.school-app--admin .brand-mark{background:var(--bg-sidebar);border-radius:14px}@supports (color:color-mix(in lab, red, red)){.school-app--admin .brand-mark{background:color-mix(in srgb, var(--bg-sidebar) 88%, #fff)}}.school-app--admin .brand-mark>span{background:linear-gradient(145deg, #130c44 0%, var(--primary) 58%, var(--primary-strong) 100%);width:42px;height:42px;box-shadow:0 14px 28px var(--primary);border-radius:10px}@supports (color:color-mix(in lab, red, red)){.school-app--admin .brand-mark>span{box-shadow:0 14px 28px color-mix(in srgb, var(--primary) 18%, transparent)}}.school-app--admin .brand-mark strong{letter-spacing:0;font-size:1rem}.school-app--admin .rail-label{color:var(--sidebar-ink);margin:8px 8px 7px}@supports (color:color-mix(in lab, red, red)){.school-app--admin .rail-label{color:color-mix(in srgb, var(--sidebar-ink) 55%, var(--sidebar-muted))}}.school-app--admin .rail-label{letter-spacing:.12em;font-size:.68rem}.school-app--admin .rail-nav{gap:6px}.school-app--admin .rail-nav a{min-height:48px;color:var(--sidebar-ink);border-radius:10px;padding:0 12px}@supports (color:color-mix(in lab, red, red)){.school-app--admin .rail-nav a{color:color-mix(in srgb, var(--sidebar-ink) 92%, #000)}}.school-app--admin .rail-nav a{font-size:.91rem}.school-app--admin .rail-nav a:hover{background:var(--sidebar-active-bg,var(--primary));transform:translate(2px)}@supports (color:color-mix(in lab, red, red)){.school-app--admin .rail-nav a:hover{background:color-mix(in srgb, var(--sidebar-active-bg,var(--primary)) 8%, var(--bg-sidebar))}}.school-app--admin .rail-nav a.active{background:linear-gradient(135deg, var(--sidebar-active-bg,var(--primary)) 0%, var(--sidebar-active-bg,var(--primary)) 100%);transform:none}@supports (color:color-mix(in lab, red, red)){.school-app--admin .rail-nav a.active{background:linear-gradient(135deg, var(--sidebar-active-bg,var(--primary)) 0%, color-mix(in srgb, var(--sidebar-active-bg,var(--primary)) 68%, #130c44) 100%)}}.school-app--admin .rail-nav a.active{box-shadow:0 14px 30px var(--sidebar-active-bg,var(--primary))}@supports (color:color-mix(in lab, red, red)){.school-app--admin .rail-nav a.active{box-shadow:0 14px 30px color-mix(in srgb, var(--sidebar-active-bg,var(--primary)) 22%, transparent)}}.school-app--admin .rail-nav a.active:after{display:none}.school-app--admin .nav-icon{border-radius:9px;width:32px;height:32px}.school-app--admin .rail-foot{background:var(--bg-sidebar);border-radius:12px;gap:5px;padding:14px}@supports (color:color-mix(in lab, red, red)){.school-app--admin .rail-foot{background:color-mix(in srgb, var(--bg-sidebar) 82%, #fff)}}.school-app--admin .workspace{gap:22px;padding:22px clamp(18px,2.7vw,34px) 34px}.school-app--admin .workspace-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border-bottom:1px solid #d5e1dbdb;margin:-22px calc(-1*clamp(18px,2.7vw,34px)) 0;box-shadow:0 8px 26px #0f21470b}.school-app--admin .workspace-header-inner{grid-template-columns:minmax(0,1fr) auto auto;padding:14px clamp(18px,2.7vw,34px)}.school-app--admin .workspace-eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:800}.school-app--admin .workspace-header h1{color:var(--ink);letter-spacing:0;font-size:clamp(1.28rem,1.8vw,1.7rem)}.school-app--admin .workspace-date-chip,.school-app--admin .workspace-user-chip,.school-app--admin .notification-trigger{border-color:var(--line-strong);min-height:42px;box-shadow:var(--shadow-xs);background:#fff;border-radius:10px}.school-app--admin .workspace-logout-button{border-radius:10px}.admin-workspace{gap:22px}.admin-page-head{box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#fffffffa 0%,#f6f9f7f5 100%);border:1px solid #d5e1dbe6;border-radius:14px;align-items:center;padding:26px 28px}.admin-page-head:before{background:linear-gradient(180deg, #130c44 0%, var(--primary) 55%, #d97706 100%);width:5px}.admin-page-head h2{letter-spacing:0;max-width:820px;font-size:clamp(1.55rem,2.4vw,2.08rem);font-weight:850}.admin-page-head p{max-width:760px;color:var(--muted);font-size:.96rem}.section-kicker{color:var(--primary-strong)}@supports (color:color-mix(in lab, red, red)){.section-kicker{color:color-mix(in srgb, var(--primary-strong) 82%, #130c44)}}.section-kicker{letter-spacing:.09em}.admin-tabs{border-color:var(--line-strong);box-shadow:inset 0 1px 0 #ffffffb3, var(--shadow-xs);background:#ffffffb8;border-radius:12px;gap:7px;padding:6px}.admin-tabs a{color:#39564c;border-radius:9px;min-height:42px;font-size:.87rem;font-weight:750}.admin-tabs a:hover{color:var(--ink);background:#fff}.admin-tabs a.active{background:linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%)}@supports (color:color-mix(in lab, red, red)){.admin-tabs a.active{background:linear-gradient(135deg, var(--primary) 0%, color-mix(in srgb, var(--primary) 72%, #130c44) 100%)}}.admin-tabs a.active{box-shadow:0 10px 22px var(--primary);border-color:#0000}@supports (color:color-mix(in lab, red, red)){.admin-tabs a.active{box-shadow:0 10px 22px color-mix(in srgb, var(--primary) 22%, transparent)}}.admin-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.admin-stat-tile,.admin-metric-card,.admin-insight-card,.admin-contact-card{box-shadow:var(--shadow-xs);background:#fff;border-color:#d5e1dbeb;border-radius:12px}.admin-stat-tile{min-height:112px;padding:18px 20px;position:relative;overflow:hidden}.admin-stat-tile:after{content:"";background:linear-gradient(135deg,#130c441f,#130c441f);border-radius:10px;width:34px;height:34px;position:absolute;top:16px;right:16px}.admin-stat-tile:hover,.admin-insight-card:hover,.admin-contact-card:hover{border-color:var(--primary);transform:translateY(-3px)}@supports (color:color-mix(in lab, red, red)){.admin-stat-tile:hover,.admin-insight-card:hover,.admin-contact-card:hover{border-color:color-mix(in srgb, var(--primary) 28%, var(--line-strong))}}.admin-stat-tile:hover,.admin-insight-card:hover,.admin-contact-card:hover{box-shadow:var(--shadow-sm)}.admin-stat-tile span,.admin-metric-body small,.admin-insight-card span{color:var(--muted);font-weight:750}.admin-stat-tile strong{font-weight:850}.admin-workspace .panel,.admin-workspace .admin-card{box-shadow:var(--shadow-sm);background:#fff;border-color:#d5e1dbf2;border-radius:14px}.admin-workspace .panel-head,.admin-workspace .admin-card-head{border-bottom:1px solid var(--line);background:linear-gradient(#fff 0%,#f8faf9 100%);padding:18px 22px}.admin-workspace .panel-head h2,.admin-workspace .panel-head h3,.admin-workspace .admin-card-head h2,.admin-workspace .admin-card-head h3{letter-spacing:0;font-size:1.02rem;font-weight:850}.admin-card-meta{white-space:nowrap}.admin-table{gap:0}.admin-workspace .admin-card .admin-table,.admin-workspace .panel .admin-table{padding:0 18px 18px}.admin-table-head,.admin-table article,.admin-record-row{border-radius:10px;padding:14px}.admin-table-head{border:1px solid var(--line);color:#5d708f;letter-spacing:.08em;background:#f5f8f6;min-height:42px;margin:0 0 6px;font-size:.72rem}.admin-table article,.admin-record-row{border-bottom:1px solid var(--line)}.admin-record-row:hover{box-shadow:inset 3px 0 0 var(--primary);background:#f7faff;transform:translate(0)}.status-pill,.role-badge{white-space:nowrap;border-radius:999px}.admin-workspace .admin-detail-grid,.admin-workspace .panel-grid.two{gap:18px}.form-grid{gap:12px}input,select,textarea{color:var(--ink);background:#fff;border-color:#cfdcd6;border-radius:9px;font-weight:600}input:focus,select:focus,textarea:focus{outline:3px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){input:focus,select:focus,textarea:focus{outline:3px solid color-mix(in srgb, var(--primary) 18%, transparent)}}input:focus,select:focus,textarea:focus{border-color:var(--primary)}.primary-action,button,.panel-head a{border-radius:9px}.secondary-action{background:#fff;border-radius:9px}.admin-welcome-hero{background:linear-gradient(135deg,#064632f7 0%,#0b7452f5 56%,#0f8f62eb 100%),linear-gradient(45deg,#130c44,#130c44);border-radius:16px;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);min-height:280px;padding:clamp(28px,4vw,42px);box-shadow:0 22px 60px #0f214724}.admin-welcome-hero:before,.admin-welcome-hero:after{opacity:.8}.admin-welcome-hero h2{letter-spacing:0;max-width:780px;font-size:clamp(2rem,4vw,3.35rem);font-weight:900}.admin-welcome-hero p{max-width:700px;font-size:1rem}.admin-welcome-highlight{background:#0f214761;border-radius:14px}.admin-module-strip{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.admin-module-link{background:#fff;border-radius:12px;min-height:82px}.admin-module-icon,.admin-contact-icon{border-radius:10px}.admin-dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(320px,.8fr);gap:22px}.admin-card{border-radius:14px}.admin-finance-footer div,.admin-dashboard-calendar-cell{border-radius:10px}.admin-profile-banner{background:linear-gradient(135deg,#fff 0%,#f7faff 100%);border-radius:14px}.noticeboard-item{background:#fff;border-radius:12px}.people-workspace{gap:20px}.people-role-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.people-role-link,.people-hub-card,.student-profile-card,.guardian-family-card,.staff-profile-row{color:var(--ink);text-decoration:none}.people-role-link{border:1px solid var(--line-strong);min-height:76px;box-shadow:var(--shadow-xs);transition:all var(--transition-normal);background:#fff;border-radius:12px;align-items:center;gap:12px;padding:14px;display:flex}.people-role-link:hover,.people-role-link.is-active{border-color:var(--people-accent,var(--primary));box-shadow:var(--shadow-sm);transform:translateY(-2px)}.people-role-link.is-active{background:var(--people-accent,var(--primary))}@supports (color:color-mix(in lab, red, red)){.people-role-link.is-active{background:color-mix(in srgb, var(--people-accent,var(--primary)) 8%, #fff)}}.people-role-mark{background:var(--people-accent,var(--primary));border-radius:10px;flex:none;place-items:center;width:42px;height:42px;display:grid}@supports (color:color-mix(in lab, red, red)){.people-role-mark{background:color-mix(in srgb, var(--people-accent,var(--primary)) 12%, #fff)}}.people-role-mark{color:var(--people-accent,var(--primary));font-size:.82rem;font-weight:900}.people-role-link strong,.people-role-link small{display:block}.people-role-link strong{font-weight:850}.people-role-link small{color:var(--muted);margin-top:2px;font-size:.8rem}.people-role-link--indigo,.people-hub-card--indigo,.people-filter-card--indigo,.staff-profile-row--indigo{--people-accent:#4f46e5}.people-role-link--cyan,.people-hub-card--cyan,.people-filter-card--cyan,.staff-profile-row--cyan{--people-accent:#0891b2}.people-role-link--emerald,.people-hub-card--emerald,.people-filter-card--emerald,.staff-profile-row--emerald{--people-accent:#0284c7}.people-role-link--gold,.people-hub-card--gold,.people-filter-card--gold,.staff-profile-row--gold{--people-accent:#d97706}.people-role-link--rose,.people-hub-card--rose,.people-filter-card--rose,.staff-profile-row--rose{--people-accent:#e11d48}.people-hub-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.people-hub-card{border:1px solid var(--line-strong);background:linear-gradient(180deg, #fff 0%, var(--people-accent,var(--primary)) 100%);border-radius:14px;align-content:space-between;gap:18px;min-height:230px;padding:20px;display:grid}@supports (color:color-mix(in lab, red, red)){.people-hub-card{background:linear-gradient(180deg, #fff 0%, color-mix(in srgb, var(--people-accent,var(--primary)) 6%, #fff) 100%)}}.people-hub-card{box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.people-hub-card:hover{border-color:var(--people-accent,var(--primary));box-shadow:var(--shadow-md);transform:translateY(-4px)}.people-hub-card h3{color:var(--ink);font-size:1rem;font-weight:800;line-height:1.35}.people-hub-card>strong{color:var(--people-accent,var(--primary));font-size:2rem;font-weight:900;line-height:1}.people-hub-card>small{color:var(--muted);font-weight:750}.people-recent-panel .admin-card-head{margin-bottom:0}.people-mini-list{gap:0;padding:0 18px 18px;display:grid}.people-mini-list a{border-bottom:1px solid var(--line);color:var(--ink);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;text-decoration:none;display:grid}.people-mini-list a:last-child{border-bottom:0}.people-mini-avatar{width:42px;height:42px;color:var(--primary-strong);text-transform:uppercase;background:#eef6f2;border-radius:10px;place-items:center;font-weight:900;display:grid}.people-mini-list strong,.people-mini-list small{overflow-wrap:anywhere;display:block}.people-mini-list small{color:var(--muted);margin-top:2px}.people-filter-card{border:1px solid var(--people-accent,var(--primary));padding:18px}@supports (color:color-mix(in lab, red, red)){.people-filter-card{border:1px solid color-mix(in srgb, var(--people-accent,var(--primary)) 25%, var(--line-strong))}}.people-filter-card{background:linear-gradient(135deg, var(--people-accent,var(--primary)) 0%, #fff 100%);border-radius:14px}@supports (color:color-mix(in lab, red, red)){.people-filter-card{background:linear-gradient(135deg, color-mix(in srgb, var(--people-accent,var(--primary)) 8%, #fff) 0%, #fff 100%)}}.people-filter-card{box-shadow:var(--shadow-sm)}.people-filter-form{grid-template-columns:minmax(220px,1.2fr) repeat(3,minmax(150px,.8fr)) auto;align-items:end;gap:12px;display:grid}.people-filter-form label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;gap:6px;font-size:.78rem;font-weight:850;display:grid}.people-filter-actions{align-items:center;gap:8px;display:flex}.people-filter-actions .secondary-action{min-height:42px}.student-register-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.student-profile-card{border:1px solid var(--line-strong);min-height:150px;box-shadow:var(--shadow-sm);transition:all var(--transition-normal);background:#fff;border-radius:14px;grid-template-columns:52px minmax(0,1fr);gap:14px;padding:18px;display:grid}.student-profile-card:hover{box-shadow:var(--shadow-md);border-color:#0284c7;transform:translateY(-3px)}.student-avatar{color:#130c44;text-transform:uppercase;background:#eff6ff;border-radius:14px;grid-row:span 2;place-items:center;width:52px;height:52px;font-size:1.1rem;font-weight:900;display:grid}.student-profile-main{gap:5px;min-width:0;display:grid}.student-profile-main strong{font-size:1rem;font-weight:900}.student-profile-main small,.student-profile-main span,.student-profile-meta span{color:var(--muted);overflow-wrap:anywhere;font-size:.84rem}.student-profile-main span{color:#38506f;background:#f2f8f5;border-radius:999px;justify-self:start;padding:5px 10px;font-weight:750;display:inline-flex}.student-profile-meta{border-top:1px solid var(--line);grid-column:2;justify-content:space-between;align-items:center;gap:10px;padding-top:10px;display:flex}.guardian-register-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;display:grid}.guardian-family-card{border:1px solid var(--line-strong);min-height:190px;box-shadow:var(--shadow-sm);transition:all var(--transition-normal);background:linear-gradient(#fff,#fff7f9);border-radius:14px;gap:14px;padding:18px;display:grid}.guardian-family-card:hover{box-shadow:var(--shadow-md);border-color:#e11d48;transform:translateY(-3px)}.guardian-family-card header{align-items:center;gap:12px;display:flex}.guardian-family-card strong,.guardian-family-card small{display:block}.guardian-family-card small,.guardian-family-card p{color:var(--muted)}.guardian-family-links{border-top:1px solid #f2dce2;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:12px;display:flex}.guardian-family-links span{color:#9f1239;background:#fff1f2;border-radius:999px;align-items:center;min-height:30px;padding:0 10px;font-size:.8rem;font-weight:800;display:inline-flex}.staff-register-grid{gap:10px;display:grid}.staff-profile-row{border:1px solid var(--line-strong);min-height:82px;box-shadow:var(--shadow-xs);transition:all var(--transition-normal);background:#fff;border-radius:12px;grid-template-columns:44px minmax(220px,1fr) minmax(120px,.55fr) minmax(180px,.8fr) auto;align-items:center;gap:14px;padding:16px;display:grid}.staff-profile-row:hover{border-color:var(--people-accent,var(--primary));box-shadow:var(--shadow-sm);transform:translateY(-2px)}.staff-profile-row strong,.staff-profile-row small{display:block}.staff-profile-row small,.staff-profile-row>span:not(.people-role-mark){color:var(--muted);overflow-wrap:anywhere}.admin-access-table .admin-record-row{grid-template-columns:minmax(220px,1.2fr) minmax(120px,.7fr) minmax(120px,.7fr) auto}@media (width<=1180px){.school-app--admin .app-shell{grid-template-columns:264px minmax(0,1fr)}.admin-stat-grid,.admin-dashboard-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard-grid{grid-template-columns:1fr}.people-role-nav,.people-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.people-filter-form,.staff-profile-row{grid-template-columns:1fr 1fr}}@media (width<=900px){.school-app--admin .app-shell{display:block}.school-app--admin .workspace{padding:76px 16px 26px}.school-app--admin .workspace-header{border-radius:14px;margin:0;position:static}.school-app--admin .workspace-header-inner{grid-template-columns:1fr;gap:12px}.school-app--admin .workspace-toolbar{justify-content:flex-start}.admin-page-head,.admin-welcome-hero,.dash-hero,.pupil-portal-head{grid-template-columns:1fr}.admin-page-head{padding:22px}.admin-action-row{justify-content:flex-start}.admin-workspace .admin-detail-grid,.admin-workspace .panel-grid.two,.theme-settings-layout,.people-filter-form,.staff-profile-row{grid-template-columns:1fr}}@media (width<=640px){.admin-stat-grid,.admin-dashboard-stat-grid,.admin-contact-grid,.admin-finance-footer,.form-grid.two,.form-grid.three{grid-template-columns:1fr}.admin-page-head h2,.admin-welcome-hero h2{font-size:1.65rem}.workspace-user-chip{max-width:100%}.admin-table-head{display:none}.admin-table article,.admin-record-row,.admin-table.compact article,.admin-table.compact .admin-record-row,.admin-table.backup-table article{grid-template-columns:1fr;gap:8px}.people-role-nav,.people-hub-grid,.people-mini-list a,.student-profile-card,.admin-access-table .admin-record-row{grid-template-columns:1fr}.student-profile-meta{flex-direction:column;grid-column:1;align-items:flex-start}.people-filter-actions{flex-direction:column;align-items:stretch}}.pupil-identity p{color:#5d708f;margin-top:8px;font-weight:720}.pupil-focus-card{border-radius:var(--radius-md);background:linear-gradient(145deg, var(--primary) 0%, var(--primary-strong) 100%);color:#fff;box-shadow:var(--shadow-md);align-content:center;gap:6px;padding:18px;display:grid}.pupil-focus-card span,.pupil-focus-card small{color:#dbeafe;font-weight:600}.pupil-focus-card span{text-transform:uppercase;font-size:.78rem}.pupil-focus-card strong{color:#fff;font-size:clamp(1.5rem,2.2vw,2rem);font-weight:950;line-height:1}.pupil-focus-card a{color:#fff;border-bottom:1px solid #ffffff7a;justify-self:start;margin-top:5px;font-weight:900;text-decoration:none}.pupil-section-tabs{scrollbar-width:thin;background:#edf6f1;border:1px solid #c6d7f2;border-radius:8px;gap:8px;padding:6px;display:flex;overflow-x:auto}.pupil-section-tabs a{color:#38506f;border:1px solid #0000;border-radius:8px;flex:none;align-items:center;min-height:40px;padding:0 14px;font-weight:900;text-decoration:none;display:inline-flex}.pupil-section-tabs a:hover{background:#130c4414;border-color:#130c441f}.pupil-section-tabs a.active{color:#fff;background:#130c44;border-color:#130c44;box-shadow:0 10px 24px #130c442e}.pupil-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.pupil-metric-grid>a,.pupil-metric-grid>div{color:#12213f;background:#fff;border:1px solid #c6d7f2;border-radius:8px;align-content:center;gap:5px;min-height:118px;padding:17px;text-decoration:none;transition:transform .16s,border-color .16s,background-color .16s,box-shadow .16s;display:grid;box-shadow:0 14px 32px #0f172a0a}.pupil-metric-grid>a:hover{background:#f7fbf8;border-color:#c9c6dc;transform:translateY(-1px);box-shadow:0 18px 38px #0f172a0f}.pupil-metric-grid span,.pupil-metric-grid small{color:#5d708f}.pupil-metric-grid span{font-size:.84rem;font-weight:840}.pupil-metric-grid strong{color:#12213f;overflow-wrap:anywhere;font-size:clamp(1.35rem,2vw,1.85rem);font-weight:950;line-height:1.05}.pupil-dashboard-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start;gap:16px;display:grid}.pupil-panel{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--panel);box-shadow:var(--shadow-sm);padding:20px}.guardian-child-card{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--field);grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;padding:14px;text-decoration:none;transition:border-color .15s,background-color .15s,box-shadow .15s;display:grid}.guardian-child-card:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.guardian-child-card:hover{border-color:color-mix(in srgb, var(--primary) 35%, var(--line))}}.guardian-child-card:hover{background:var(--primary-soft);box-shadow:var(--shadow-sm)}.guardian-child-avatar{border-radius:var(--radius-md);background:linear-gradient(145deg, var(--primary) 0%, var(--primary-strong) 100%);color:#fff;text-transform:uppercase;place-items:center;width:44px;height:44px;font-weight:700;display:grid}.guardian-child-card strong{color:var(--ink);font-weight:700}.guardian-child-card span{color:var(--muted);margin-top:3px;font-size:.88rem;line-height:1.4;display:block}.school-app--admin .student-profile-card .admin-card-link{color:var(--primary-strong);font-size:.84rem;font-weight:800}.pupil-panel-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.pupil-panel-head h2{color:#12213f;font-size:1.08rem;font-weight:950;line-height:1.15}.pupil-panel-head>span,.pupil-panel-head>strong{color:#130c44;background:#eff6ff;border-radius:999px;flex:none;align-items:center;min-height:30px;padding:5px 10px;font-size:.8rem;font-weight:950;display:inline-flex}.pupil-detail-panel{position:sticky;top:92px}.pupil-profile-list{border-top:1px solid #e8f0ff;display:grid}.pupil-profile-list div{border-bottom:1px solid #e8f0ff;grid-template-columns:135px minmax(0,1fr);gap:14px;padding:12px 0;display:grid}.pupil-profile-list span{color:#5d708f}.pupil-profile-list strong{color:#12213f;overflow-wrap:anywhere}.pupil-action-list,.pupil-work-list,.pupil-year-list{gap:9px;display:grid}.pupil-action-list a,.pupil-work-list a,.pupil-year-list a{color:#12213f;background:#f7faff;border:1px solid #dbe7f7;border-radius:8px;gap:4px;padding:13px;text-decoration:none;transition:background-color .16s,border-color .16s,transform .16s;display:grid}.pupil-action-list a:hover,.pupil-work-list a:hover,.pupil-year-list a:hover{background:#f3faf6;border-color:#c9c6dc;transform:translateY(-1px)}.pupil-action-list strong,.pupil-work-list strong,.pupil-year-list strong{color:#12213f;font-weight:950}.pupil-action-list span,.pupil-work-list small,.pupil-year-list small{color:#5d708f;line-height:1.4}.pupil-work-list a,.pupil-year-list a{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.pupil-work-list a>span,.pupil-year-list a>span{color:#38506f;text-align:right;justify-self:end;font-size:.82rem;font-weight:900}.pupil-work-list a.active,.pupil-year-list a.active{background:#eff6ff;border-color:#130c44;box-shadow:inset 3px 0 #130c44}.pupil-year-list section{gap:8px;display:grid}.pupil-year-head{justify-content:space-between;align-items:center;gap:10px;padding:4px 2px;display:flex}.pupil-year-head strong{color:#12213f;font-weight:950}.pupil-year-head span{color:#5d708f;font-size:.82rem;font-weight:850}.pupil-grade-list{gap:8px;margin:14px 0;display:grid}.pupil-grade-list article{background:#f7faff;border:1px solid #dbe7f7;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.pupil-grade-list strong{color:#12213f;font-weight:950}.pupil-grade-list small{color:#5d708f;margin-top:3px;display:block}.pupil-grade-list b{color:#130c44;text-align:right;font-weight:950}.pupil-record-list{border-top:1px solid #e8f0ff;display:grid}.pupil-record-list>a,.pupil-record-list>article{color:#12213f;border-bottom:1px solid #e8f0ff;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:13px 0;text-decoration:none;display:grid}.pupil-record-list>article>a{color:#12213f;text-decoration:none}.pupil-record-list strong{color:#12213f;font-weight:950}.pupil-record-list small{color:#5d708f;margin-top:3px;display:block}.pupil-record-list b{color:#12213f;font-variant-numeric:tabular-nums}.pupil-detail-copy{color:#526987;margin:14px 0;line-height:1.65}.pupil-empty{color:#5d708f;background:#f7faff;border:1px dashed #c6d7f2;border-radius:8px;padding:16px;line-height:1.55}.account-pupil-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.account-pupil-card{color:#12213f;background:#fff;border:1px solid #c6d7f2;border-radius:8px;grid-template-columns:48px minmax(0,1fr);gap:13px;padding:16px;text-decoration:none;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid;box-shadow:0 16px 38px #0f172a0b}.account-pupil-card:hover{border-color:#c9c6dc;transform:translateY(-2px);box-shadow:0 20px 44px #0f172a12}.account-pupil-avatar,.account-profile-avatar{color:#fff;text-transform:uppercase;background:#130c44;border-radius:8px;place-items:center;font-weight:950;display:grid}.account-pupil-avatar{width:48px;height:48px}.account-pupil-card strong{color:#12213f;font-weight:950;display:block}.account-pupil-card span{color:#5d708f;margin-top:3px;font-size:.88rem;display:block}.account-pupil-card dl{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:4px 0 0;display:grid}.account-pupil-card dl div{background:#f7faff;border:1px solid #e8f0ff;border-radius:8px;padding:10px}.account-pupil-card dt{color:#5d708f;font-size:.76rem;font-weight:850}.account-pupil-card dd{color:#12213f;margin:4px 0 0;font-weight:950}.account-profile-hero{background:#fff;border:1px solid #c6d7f2;border-radius:8px;grid-template-columns:76px minmax(0,1fr) minmax(240px,320px);align-items:center;gap:18px;padding:22px;display:grid;box-shadow:0 18px 44px #0f172a0e}.account-profile-avatar{width:76px;height:76px;font-size:1.25rem;box-shadow:0 14px 30px #130c442e}.account-profile-hero h2{color:#12213f;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:950;line-height:1.02}.account-profile-hero p{color:#5d708f;margin-top:7px;font-weight:760}.account-profile-balance{border-radius:var(--radius-md);background:linear-gradient(145deg, var(--primary) 0%, var(--primary-strong) 100%);color:#fff;box-shadow:var(--shadow-md);gap:5px;padding:16px;display:grid}.account-profile-balance span,.account-profile-balance small{color:#dbeafe;font-weight:600}.account-profile-balance span{text-transform:uppercase;font-size:.78rem}.account-profile-balance strong{color:#fff;font-size:1.65rem;font-weight:950;line-height:1}.accountant-workspace{align-items:start}.account-payment-page{gap:18px}.account-payment-shell{grid-template-columns:minmax(0,1.35fr) minmax(320px,.75fr);align-items:start;gap:22px;display:grid}.account-payment-shell--single{grid-template-columns:minmax(0,920px)}.account-payment-form{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.account-form-panel,.account-ledger-form{gap:14px;display:grid}.account-form-shell{padding:0;overflow:hidden}.account-form-shell>.account-form-section,.account-form-shell>form{padding-inline:18px}.account-form-shell>form{padding-bottom:18px}.account-form-hero{background:linear-gradient(135deg,#fff 0%,#f1fbf6 100%);border-bottom:1px solid #dbe7f7;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px;display:grid}.account-form-hero.invoice{background:linear-gradient(135deg,#fff 0%,#eef6ff 100%)}.account-form-hero span{color:#130c44;text-transform:uppercase;font-size:.76rem;font-weight:950}.account-form-hero h2{color:#12213f;margin-top:4px;font-size:1.35rem;font-weight:950;line-height:1.1}.account-form-hero p{color:#5d708f;max-width:640px;margin-top:6px;line-height:1.5}.account-form-hero>strong{color:#fff;background:#130c44;border-radius:8px;place-items:center;min-height:38px;padding:0 12px;font-size:.88rem;font-weight:950;display:inline-grid;box-shadow:0 12px 26px #130c4429}.account-form-hero.invoice>strong{background:#0f2147;box-shadow:0 12px 26px #102a4329}.account-payment-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:16px 18px 0;display:grid}.account-payment-steps div{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--field);align-items:center;gap:9px;min-height:44px;padding:9px 10px;display:flex}.account-payment-steps span{background:var(--primary);color:#fff;border-radius:999px;flex:none;place-items:center;width:24px;height:24px;font-size:.76rem;font-weight:900;display:grid}.account-payment-steps strong{color:var(--ink);font-size:.84rem;font-weight:900}.account-form-section{gap:10px;padding-top:18px;display:grid}.account-form-divider{color:var(--muted);text-transform:uppercase;align-items:center;gap:10px;font-size:.78rem;font-weight:950;display:flex}.account-form-divider:after{content:"";background:var(--line);flex:1;height:1px}.field-stack{color:#38506f;gap:7px;font-weight:850;display:grid}.field-stack span{color:#5d708f;font-size:.8rem;font-weight:900}.field-stack input,.field-stack select,.field-stack textarea{background:#fff;border-color:#c6d7f2;font-weight:720}.field-stack input:focus,.field-stack select:focus,.field-stack textarea:focus{border-color:#130c44;outline:3px solid #130c4424}.account-search-results{gap:8px;max-height:330px;padding-right:2px;display:grid;overflow-y:auto}.account-search-results.refined{max-height:210px}.account-pupil-option{color:#12213f;width:100%;min-height:auto;box-shadow:none;text-align:left;background:#f7faff;border:1px solid #dbe7f7;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:12px;display:grid}.account-pupil-option:hover{background:#f3faf6;border-color:#c9c6dc;transform:translateY(-1px)}.account-pupil-option strong{color:#12213f;grid-column:1;font-weight:950}.account-pupil-option span{color:#5d708f;grid-column:1;font-size:.84rem;font-weight:760}.account-pupil-option b{color:#130c44;font-variant-numeric:tabular-nums;text-align:right;grid-area:1/2/span 2;font-weight:950}.account-allocation-mini{background:#f6f9ff;border:1px solid #c6d7f2;border-radius:8px;align-content:center;gap:4px;min-height:42px;padding:10px 12px;display:grid}.account-allocation-mini span{color:#5d708f;font-size:.76rem;font-weight:900}.account-allocation-mini strong{color:#130c44;font-weight:950}.account-payment-side{gap:14px;display:grid;position:sticky;top:92px}.account-selection-card{gap:14px;display:grid}.account-selection-card h2{color:#12213f;font-size:clamp(1.45rem,2.6vw,2.1rem);font-weight:950;line-height:1.02}.account-selection-card p{color:#5d708f;line-height:1.55}.account-selected-card{border-radius:var(--radius-lg);padding:18px}.account-selected-head{grid-template-columns:54px minmax(0,1fr);align-items:center;gap:12px;display:grid}.account-selected-avatar{border-radius:var(--radius-md);background:var(--primary-soft);width:54px;height:54px;color:var(--primary-strong);text-transform:uppercase;place-items:center;font-weight:950;display:grid}.account-balance-tile{border-radius:var(--radius-md);background:linear-gradient(145deg, var(--hero-dark) 0%, #1e40af 100%);color:#fff;box-shadow:var(--shadow-md);gap:6px;padding:16px;display:grid}.account-balance-tile span{color:#dbeafe;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:600}.account-balance-tile strong{color:#fff;font-size:1.7rem;font-weight:950;line-height:1}.account-allocation-preview{background:#f7faff;border:1px solid #dbe7f7;border-radius:8px;gap:8px;padding:14px;display:grid}.account-allocation-preview>strong{color:#12213f;font-weight:950}.account-allocation-preview span,.account-allocation-preview small{color:#5d708f;line-height:1.45}.account-allocation-preview div{border-top:1px solid #e8f0ff;justify-content:space-between;gap:12px;padding-top:8px;display:flex}.account-allocation-preview div span{color:#5d708f;font-weight:850}.account-allocation-preview div strong{color:#130c44;font-weight:950}.account-submit-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:2px;display:flex}.account-submit-row span{max-width:360px;color:var(--muted);font-size:.84rem;line-height:1.45}.account-payment-note{border-radius:var(--radius-lg);gap:8px;padding:16px;display:grid}.account-payment-note h3{color:var(--ink);font-size:1rem;font-weight:900}.account-payment-note p{color:var(--muted);line-height:1.5}.account-payment-note a{color:var(--primary-strong);font-weight:900;text-decoration:none}.account-ledger-card{overflow:hidden}.account-ledger-filter{grid-template-columns:minmax(220px,1fr) minmax(130px,.45fr) repeat(2,minmax(130px,.42fr)) auto;padding:18px 24px 0}.account-pupil-filter{grid-template-columns:minmax(220px,1fr) minmax(150px,.5fr) minmax(140px,.45fr) minmax(160px,.5fr) auto}.account-ledger-body{padding:18px 24px 8px}.account-ledger-body .admin-table{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);overflow:hidden}.account-billing-target-note{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--field);gap:6px;margin-bottom:14px;padding:14px;display:grid}.account-billing-target-note p{color:var(--muted);margin:0;line-height:1.5}@media (width<=980px){.account-payment-shell{grid-template-columns:1fr}.account-payment-side{position:static}}@media (width<=680px){.account-payment-steps{grid-template-columns:1fr}.account-submit-row button{width:100%}}.detail-list.compact div{grid-template-columns:minmax(110px,.55fr) minmax(0,1fr)}.admin-tabs a strong{color:#130c44;background:#130c441a;border-radius:999px;place-items:center;min-width:24px;height:24px;margin-left:6px;padding:0 7px;font-size:.78rem;font-weight:950;display:inline-grid}.admin-tabs a.active strong{color:#fff;background:#ffffff2e}.brand-mark img{object-fit:contain;background:#fff;border:1px solid #ffffff59;border-radius:12px;width:42px;height:42px;padding:4px}.settings-hero{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:linear-gradient(135deg, #fff 0%, var(--primary-soft) 100%);justify-content:space-between;align-items:center;gap:18px;padding:24px;display:flex}@supports (color:color-mix(in lab, red, red)){.settings-hero{background:linear-gradient(135deg, #fff 0%, color-mix(in srgb, var(--primary-soft) 42%, #fff) 100%)}}.settings-hero{box-shadow:var(--shadow-sm)}.settings-hero-brand{align-items:center;gap:18px;min-width:0;display:flex}.settings-logo-preview{border:1px solid var(--line-strong);background:#fff;border-radius:18px;flex:none;place-items:center;width:76px;height:76px;display:grid;overflow:hidden;box-shadow:0 10px 22px #0f172a14}.settings-logo-preview img{object-fit:contain;width:100%;height:100%;padding:8px}.settings-logo-preview span{color:var(--primary-strong);font-size:1.35rem;font-weight:950}.settings-hero h2{color:var(--ink);margin:3px 0 6px;font-size:clamp(1.55rem,2.5vw,2.3rem);font-weight:950;line-height:1.05}.settings-hero p{max-width:760px;color:var(--muted);margin:0;line-height:1.55}.settings-hero-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.settings-workspace{gap:18px}.settings-tabs{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.settings-tabs a{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--panel);min-height:54px;color:var(--ink);box-shadow:var(--shadow-xs);align-items:center;gap:10px;padding:10px 12px;font-size:.88rem;font-weight:850;text-decoration:none;display:flex}.settings-tabs a svg,.settings-link-card svg,.upload-preview svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.settings-tabs a svg{color:var(--primary-strong)}.settings-tabs a:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.settings-tabs a:hover{border-color:color-mix(in srgb, var(--primary) 30%, var(--line-strong))}}.settings-tabs a:hover{transform:translateY(-1px)}.settings-tabs a.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 10px 24px var(--primary)}@supports (color:color-mix(in lab, red, red)){.settings-tabs a.active{box-shadow:0 10px 24px color-mix(in srgb, var(--primary) 24%, transparent)}}.settings-tabs a.active svg{color:#fff}.settings-panel .admin-card-head p,.settings-panel .panel-head span{color:var(--muted);margin:3px 0 0;font-size:.86rem;font-weight:600;line-height:1.45}.settings-panel label:not(.check-line):not(.upload-card){color:var(--muted);gap:7px;font-size:.82rem;font-weight:800;display:grid}.form-section-title{color:var(--ink);text-transform:uppercase;letter-spacing:.06em;margin-bottom:-2px;font-size:.8rem;font-weight:950}.settings-split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:18px;display:grid}.upload-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.upload-card{border:1px dashed var(--primary);gap:8px;min-height:190px;padding:18px;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.upload-card{border:1px dashed color-mix(in srgb, var(--primary) 42%, var(--line-strong))}}.upload-card{border-radius:var(--radius-md);background:var(--primary-soft)}@supports (color:color-mix(in lab, red, red)){.upload-card{background:color-mix(in srgb, var(--primary-soft) 18%, var(--panel))}}.upload-card{cursor:pointer}.upload-card:hover{background:var(--primary-soft);border-style:solid}@supports (color:color-mix(in lab, red, red)){.upload-card:hover{background:color-mix(in srgb, var(--primary-soft) 36%, var(--panel))}}.upload-card input{opacity:0;cursor:pointer;position:absolute;inset:0}.upload-preview{width:70px;height:70px;color:var(--primary-strong);border:1px solid var(--line-strong);background:#fff;border-radius:16px;place-items:center;display:grid;overflow:hidden}.upload-preview img{object-fit:contain;width:100%;height:100%;padding:7px}.upload-card strong{color:var(--ink);font-size:1rem;font-weight:950}.upload-card small{color:var(--muted);line-height:1.45}.settings-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.settings-overview-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.settings-link-card{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--panel);color:var(--ink);box-shadow:var(--shadow-sm);align-items:center;gap:14px;padding:18px;text-decoration:none;display:flex}.settings-link-card>span{width:44px;height:44px;color:var(--primary-strong);background:var(--primary-soft);border-radius:12px;place-items:center;display:grid}.settings-link-card strong{margin-bottom:3px;font-weight:950;display:block}.settings-link-card small{color:var(--muted);line-height:1.4}.website-studio{grid-template-columns:minmax(280px,.72fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.website-studio-preview{gap:14px;display:grid;position:sticky;top:92px}.website-preview-frame{border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;overflow:hidden}.website-preview-nav{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:38px minmax(0,1fr) minmax(0,.7fr) 72px;align-items:center;gap:8px;padding:12px;display:grid}.website-preview-nav span{background:linear-gradient(135deg, var(--primary), #130c44);color:#fff;border-radius:10px;place-items:center;width:38px;height:38px;font-weight:950;display:grid}.website-preview-nav i{background:#dbe7f7;border-radius:999px;height:9px}.website-preview-hero{background:linear-gradient(180deg, #0f21471f, #0f2147db), var(--website-preview-image,url(/images/hero-poster.jpg)) center / cover no-repeat;color:#fff;align-content:end;gap:10px;min-height:320px;padding:24px;display:grid}.website-preview-hero small{color:#bfdbfe;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:950}.website-preview-hero strong{color:#fff;max-width:420px;font-size:clamp(1.7rem,3vw,2.55rem);font-weight:950;line-height:.98}.website-preview-hero p{color:#dbeafe;max-width:420px;margin:0;font-size:.92rem;line-height:1.55}.website-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.website-status-grid div{border:1px solid var(--line-strong);border-radius:var(--radius-md);min-height:86px;box-shadow:var(--shadow-xs);background:#fff;align-content:center;gap:4px;padding:15px;display:grid}.website-status-grid span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:850}.website-status-grid strong{color:var(--ink);font-size:1.2rem;font-weight:950}.website-studio-form{gap:14px;display:grid}.website-section-card{padding:0;overflow:hidden}.website-section-card>.admin-card-head{border-bottom:1px solid var(--line);background:linear-gradient(#fff,#f7faff);margin:0;padding:20px 22px}.website-section-card>:not(.admin-card-head){margin-inline:22px}.website-section-card>label,.website-section-card>.form-grid{margin-top:18px}.website-section-card>label:last-child,.website-section-card>.form-grid:last-child{margin-bottom:22px}.website-section-card textarea{resize:vertical;min-height:118px}.website-publish-card{background:linear-gradient(135deg,#fff,#eff6ff)}.website-toggle{border:1px solid var(--primary);grid-template-columns:auto minmax(0,1fr);align-items:center;padding:18px;gap:14px!important;display:grid!important}@supports (color:color-mix(in lab, red, red)){.website-toggle{border:1px solid color-mix(in srgb, var(--primary) 18%, var(--line))}}.website-toggle{border-radius:var(--radius-md);background:#fff;color:var(--ink)!important}.website-toggle input{width:20px;height:20px;min-height:20px;accent-color:var(--primary)}.website-toggle strong,.website-toggle small{display:block}.website-toggle strong{color:var(--ink);font-weight:950}.website-toggle small{color:var(--muted);margin-top:3px;font-weight:650;line-height:1.45}.website-studio-save{z-index:5;border-radius:var(--radius-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-md);background:#ffffffdb;border:1px solid #dbe7f7db;justify-content:flex-end;padding:14px;display:flex;position:sticky;bottom:14px}.website-studio-save button{min-width:210px}.media-picker-grid{grid-template-columns:minmax(260px,.9fr) minmax(0,1fr);align-items:stretch;gap:14px;display:grid}.media-picker{border:1px dashed var(--primary);grid-template-columns:118px minmax(0,1fr);align-items:center;min-height:132px;padding:14px;position:relative;gap:14px!important;display:grid!important}@supports (color:color-mix(in lab, red, red)){.media-picker{border:1px dashed color-mix(in srgb, var(--primary) 34%, var(--line-strong))}}.media-picker{border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-xs);background:linear-gradient(135deg,#fff,#f7faff);transition:border-color .16s,transform .16s,box-shadow .16s;color:var(--ink)!important}.media-picker:hover,.media-picker.has-selection{border-color:var(--primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.media-picker-preview{width:118px;height:92px;color:var(--primary-strong);border:1px solid var(--line);background:#eff6ff;border-radius:8px;place-items:center;display:grid;overflow:hidden}.media-picker-preview img{object-fit:cover;width:100%;height:100%}.media-picker-preview svg{width:34px;height:34px}.media-picker-copy{gap:5px;min-width:0;display:grid}.media-picker-copy strong,.media-picker>strong{color:var(--ink);font-weight:950}.media-picker-copy small,.media-picker>small{color:var(--muted);font-weight:650;line-height:1.45}.media-picker input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.upload-card.media-picker{text-align:center;grid-template-columns:1fr;justify-items:center}.upload-card.media-picker .media-picker-preview{width:100%;height:150px}.admin-profile-hero{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:linear-gradient(135deg, #fff 0%, var(--primary-soft) 100%);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;padding:28px;display:grid}@supports (color:color-mix(in lab, red, red)){.admin-profile-hero{background:linear-gradient(135deg, #fff 0%, color-mix(in srgb, var(--primary-soft) 34%, #fff) 100%)}}.admin-profile-hero{box-shadow:var(--shadow-sm)}.admin-profile-avatar-wrap{border:1px solid var(--line-strong);background:#fff;border-radius:24px;place-items:center;width:94px;height:94px;display:grid;box-shadow:0 12px 24px #0f172a14}.admin-profile-hero .admin-profile-avatar{border-radius:18px;width:72px;height:72px;font-size:1.35rem}.admin-profile-hero h2{color:var(--ink);margin:2px 0 6px;font-size:clamp(1.6rem,2.8vw,2.5rem);font-weight:950;line-height:1.05}.admin-profile-meta-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.admin-profile-meta-row span{border:1px solid var(--line);min-height:30px;color:var(--ink);background:#ffffffc7;border-radius:999px;align-items:center;padding:5px 10px;font-size:.8rem;font-weight:850;display:inline-flex}.admin-profile-hero .admin-profile-badges{flex-direction:column;align-items:flex-end}.profile-filter-bar{grid-template-columns:minmax(160px,1fr) minmax(130px,auto) auto;gap:10px;padding:16px 24px 0;display:grid}.profile-filter-bar--wide{grid-template-columns:minmax(150px,.8fr) repeat(2,minmax(130px,.6fr)) auto}.profile-filter-bar input,.profile-filter-bar select{width:100%;min-height:42px}.profile-pagination{padding:0 24px 22px}.profile-pagination nav{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;font-size:.84rem;display:flex}.profile-pagination a,.profile-pagination span{text-decoration:none}.admin-dashboard{gap:22px}.admin-dashboard .admin-welcome-hero{background:linear-gradient(135deg, var(--primary-strong) 0%, var(--primary) 58%, #130c44 100%);border-radius:18px}@supports (color:color-mix(in lab, red, red)){.admin-dashboard .admin-welcome-hero{background:linear-gradient(135deg, color-mix(in srgb, var(--primary-strong) 92%, #0f172a) 0%, var(--primary) 58%, #130c44 100%)}}.admin-dashboard .admin-module-strip{grid-template-columns:repeat(auto-fit,minmax(185px,1fr))}.admin-dashboard .admin-module-link,.admin-dashboard .admin-metric-card,.admin-dashboard .admin-contact-card,.admin-dashboard .admin-module-icon,.admin-dashboard .admin-metric-icon,.admin-dashboard .admin-contact-icon{border-radius:14px}.admin-dashboard svg,.admin-card--calendar{overflow:visible}.admin-calendar-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 24px 16px;display:grid}.admin-calendar-summary div{border:1px solid var(--line);background:var(--primary-soft);border-radius:12px;gap:3px;padding:13px 14px;display:grid}@supports (color:color-mix(in lab, red, red)){.admin-calendar-summary div{background:color-mix(in srgb, var(--primary-soft) 22%, var(--panel))}}.admin-calendar-summary strong{color:var(--ink);font-size:1.3rem;font-weight:950;line-height:1}.admin-calendar-summary span{color:var(--muted);font-size:.78rem;font-weight:800}.admin-dashboard-calendar-grid{padding:0 24px 18px}.admin-dashboard-calendar-cell{border-color:var(--line);min-height:78px;box-shadow:var(--shadow-xs);background:#fff;align-content:start;justify-items:stretch;padding:10px;position:relative}.admin-dashboard-calendar-cell small{max-width:none;min-height:2.2em;color:var(--muted);white-space:normal;margin-top:6px;font-size:.7rem;display:block;overflow:hidden}.admin-dashboard-calendar-cell.is-outside{opacity:.42;background:var(--field)}@supports (color:color-mix(in lab, red, red)){.admin-dashboard-calendar-cell.is-outside{background:color-mix(in srgb, var(--field) 60%, transparent)}}.admin-dashboard-calendar-cell.is-outside{box-shadow:none}.admin-dashboard-calendar-cell.is-today{border-color:var(--primary);background:var(--primary-soft)}@supports (color:color-mix(in lab, red, red)){.admin-dashboard-calendar-cell.is-today{background:color-mix(in srgb, var(--primary-soft) 65%, #fff)}}.admin-dashboard-calendar-cell.is-today{box-shadow:0 0 0 2px var(--primary-ring), var(--shadow-sm)}.admin-dashboard-calendar-cell.has-holiday{background:#fffbeb;border-color:#f59e0b}.admin-dashboard-calendar-cell.tone-finance,.admin-dashboard-calendar-cell.tone-session{border-color:#130c44}.admin-dashboard-calendar-cell.tone-notice{border-color:var(--primary)}.calendar-date-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.calendar-date-row strong{color:var(--ink);font-size:.95rem;font-weight:950}.calendar-date-row span{background:var(--primary);color:#fff;border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:.7rem;font-weight:950;display:inline-grid}.calendar-event-dots,.admin-calendar-legend{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.calendar-event-dots{margin-top:7px}.calendar-event-dots i,.admin-calendar-legend i{background:var(--primary);border-radius:999px;width:8px;height:8px}.dot-holiday{background:#f59e0b!important}.dot-finance{background:#130c44!important}.dot-session{background:#0284c7!important}.dot-notice,.dot-today{background:var(--primary)!important}.admin-calendar-legend{color:var(--muted);padding:0 24px 18px;font-size:.76rem;font-weight:850}.admin-calendar-legend span{border:1px solid var(--line);background:var(--field);border-radius:999px;align-items:center;gap:6px;min-height:26px;padding:0 9px;display:inline-flex}.admin-calendar-agenda{border:1px solid var(--line);background:var(--field);border-radius:14px;gap:8px;margin:0 24px 24px;padding:16px;display:grid}@supports (color:color-mix(in lab, red, red)){.admin-calendar-agenda{background:color-mix(in srgb, var(--field) 70%, var(--panel))}}.admin-calendar-agenda h4{color:var(--ink);font-size:.92rem;font-weight:950}.agenda-item{border-top:1px solid var(--line);grid-template-columns:54px minmax(0,1fr);align-items:center;gap:10px;padding:10px 0;display:grid}.agenda-item:first-of-type{border-top:0}.agenda-item time{border:1px solid var(--line-strong);min-height:38px;color:var(--ink);background:#fff;border-radius:10px;place-items:center;font-size:.78rem;font-weight:950;display:grid}.agenda-item strong{color:var(--ink);overflow-wrap:anywhere;font-size:.88rem;font-weight:950;display:block}.agenda-item small{color:var(--muted);font-size:.78rem;font-weight:750}.agenda-item--holiday time{color:#92400e;background:#fffbeb;border-color:#fbbf24}.agenda-item--finance time,.agenda-item--session time{color:#130c44;background:#eff6ff;border-color:#c9c6dc}.agenda-item--notice time{color:var(--primary-strong);background:var(--primary-soft);border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.agenda-item--notice time{border-color:color-mix(in srgb, var(--primary) 38%, var(--line-strong))}}.admin-dashboard .admin-card{border-radius:16px;overflow:hidden}.admin-dashboard .admin-card-head{background:#fff;align-items:center;padding:20px 24px}.admin-section-title{align-items:center;gap:12px;min-width:0;display:flex}.admin-section-icon{color:#130c44;background:#eff6ff;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:grid}.admin-section-icon svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.admin-section-icon--calendar{color:#130c44;background:#eff6ff}.admin-section-icon--notice{background:var(--primary-soft);color:var(--primary-strong)}.admin-section-icon--activity{color:#b45309;background:#fffbeb}.admin-dashboard .admin-card-link{min-height:34px;color:var(--primary-strong);border:1px solid var(--line);background:#f2f8f5;border-radius:999px;align-items:center;padding:0 12px;font-weight:900;display:inline-flex}.admin-dashboard .admin-card-link:hover{background:var(--primary);color:#fff;border-color:var(--primary);text-decoration:none}.admin-card--chart .admin-finance-bars{gap:12px;padding:4px 24px 22px}.admin-finance-bar-row{border:1px solid var(--line);background:linear-gradient(#fff 0%,#f7faff 100%);border-radius:14px;padding:15px 16px}.admin-finance-bar-label{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.admin-finance-bar-label>span:not(.admin-finance-dot){color:#39564c;font-size:.9rem;font-weight:900}.admin-finance-bar-label strong{color:var(--ink);font-size:1rem;font-weight:950}.admin-finance-dot{width:12px;height:12px;box-shadow:0 0 0 4px}@supports (color:color-mix(in lab, red, red)){.admin-finance-dot{box-shadow:0 0 0 4px color-mix(in srgb, currentColor 12%, transparent)}}.admin-finance-bar-track{background:#eef4f1;height:8px}.admin-finance-footer{border-top:1px solid var(--line);background:#f7faff;margin:0;padding:18px 24px 24px}.admin-finance-footer div{background:#fff;border-color:#dbe7f7;min-height:82px;padding:16px}.admin-finance-footer span{color:#496158;letter-spacing:.04em;font-size:.76rem;font-weight:950}.admin-finance-footer strong{font-size:1.25rem;font-weight:950}.admin-dashboard-secondary .admin-card>.admin-feed{padding:0 24px 22px}.admin-feed{gap:10px;padding-left:0}.admin-feed:before{display:none}.admin-feed-item{border:1px solid var(--line);box-shadow:var(--shadow-xs);background:#fff;border-radius:14px;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:14px}.admin-feed-item:first-child{padding-top:14px}.admin-feed-item:last-child{padding-bottom:14px}.admin-feed-marker{width:12px;height:12px;box-shadow:0 0 0 5px var(--primary-soft);border:0;margin-top:5px}.admin-feed-item time{color:var(--primary-strong);font-weight:950}.admin-feed-item strong{font-size:.96rem;font-weight:950}.admin-feed-item p{color:#5d7169;font-size:.88rem}.admin-feed-item small{color:#6f827a;font-weight:750}.admin-feed-item:hover{border-color:var(--primary);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.admin-feed-item:hover{border-color:color-mix(in srgb, var(--primary) 24%, var(--line))}}.admin-feed-item:hover{box-shadow:var(--shadow-sm)}.admin-dashboard{--dash-card-radius:16px;--dash-icon-radius:12px;--dash-border:#dbe7f7;--dash-card-bg:#fff;--dash-soft:#f6faf8;--dash-accent:var(--primary);--dash-accent-strong:var(--primary-strong);--dash-ink:#12213f;--dash-muted:#5d708f;--dash-label:#3f5a50}.admin-dashboard .admin-card,.admin-dashboard .admin-module-link,.admin-dashboard .admin-metric-card,.admin-dashboard .admin-contact-card{border-color:var(--dash-border);border-radius:var(--dash-card-radius);background:var(--dash-card-bg);box-shadow:0 12px 30px #0f21470e}.admin-dashboard .admin-card:hover,.admin-dashboard .admin-module-link:hover,.admin-dashboard .admin-metric-card:hover,.admin-dashboard .admin-contact-card:hover{border-color:var(--dash-accent);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.admin-dashboard .admin-card:hover,.admin-dashboard .admin-module-link:hover,.admin-dashboard .admin-metric-card:hover,.admin-dashboard .admin-contact-card:hover{border-color:color-mix(in srgb, var(--dash-accent) 32%, var(--dash-border))}}.admin-dashboard .admin-card:hover,.admin-dashboard .admin-module-link:hover,.admin-dashboard .admin-metric-card:hover,.admin-dashboard .admin-contact-card:hover{box-shadow:0 18px 38px #0f214714}.admin-dashboard .section-kicker,.admin-dashboard .admin-metric-body small,.admin-dashboard .admin-contact-copy small,.admin-dashboard .admin-finance-footer span,.admin-dashboard .admin-calendar-summary span{color:var(--dash-label);letter-spacing:.04em;text-transform:uppercase;font-size:.76rem;font-weight:900}.admin-dashboard h3,.admin-dashboard .admin-module-text strong,.admin-dashboard .admin-contact-copy strong,.admin-dashboard .admin-feed-item strong,.admin-dashboard .agenda-item strong{color:var(--dash-ink);letter-spacing:0;font-weight:900}.admin-dashboard p,.admin-dashboard small,.admin-dashboard .admin-module-text small,.admin-dashboard .admin-metric-hint{color:var(--dash-muted);font-weight:650}.admin-dashboard .admin-welcome-hero{background:linear-gradient(135deg,#0f2147 0%,#130c44 54% 100%);box-shadow:0 26px 64px #0f214742}.admin-dashboard .admin-welcome-hero .admin-welcome-greeting,.admin-dashboard .admin-welcome-hero .section-kicker,.admin-dashboard .admin-welcome-hero h2,.admin-dashboard .admin-welcome-hero p,.admin-dashboard .admin-welcome-hero .admin-chip,.admin-dashboard .admin-welcome-highlight .section-kicker,.admin-dashboard .admin-welcome-highlight small,.admin-dashboard .admin-welcome-highlight a{color:#eff6ff}.admin-dashboard .admin-welcome-hero p,.admin-dashboard .admin-welcome-highlight small{text-shadow:0 1px 2px #0f21473d}.admin-dashboard .admin-welcome-highlight{background:#0f214775}.admin-dashboard .admin-module-icon,.admin-dashboard .admin-metric-icon,.admin-dashboard .admin-contact-icon,.admin-dashboard .admin-section-icon{border-radius:var(--dash-icon-radius);background:var(--dash-accent);width:44px;height:44px}@supports (color:color-mix(in lab, red, red)){.admin-dashboard .admin-module-icon,.admin-dashboard .admin-metric-icon,.admin-dashboard .admin-contact-icon,.admin-dashboard .admin-section-icon{background:color-mix(in srgb, var(--dash-accent) 12%, #fff)}}.admin-dashboard .admin-module-icon,.admin-dashboard .admin-metric-icon,.admin-dashboard .admin-contact-icon,.admin-dashboard .admin-section-icon{color:var(--dash-accent-strong)}.admin-dashboard .admin-module-icon svg,.admin-dashboard .admin-metric-icon svg,.admin-dashboard .admin-contact-icon svg,.admin-dashboard .admin-section-icon svg{stroke-width:1.9px;width:21px;height:21px}.admin-dashboard .admin-metric-card{grid-template-columns:44px minmax(0,1fr);gap:14px;min-height:112px}.admin-dashboard .admin-metric-arrow{display:none}.admin-dashboard .admin-metric-body strong{color:var(--dash-ink);letter-spacing:0;font-size:clamp(1.45rem,2.1vw,1.9rem);font-weight:950}.admin-dashboard .admin-metric-card--blue,.admin-dashboard .admin-metric-card--cyan,.admin-dashboard .admin-metric-card--gold,.admin-dashboard .admin-metric-card--emerald{--metric-bg:var(--dash-accent)}@supports (color:color-mix(in lab, red, red)){.admin-dashboard .admin-metric-card--blue,.admin-dashboard .admin-metric-card--cyan,.admin-dashboard .admin-metric-card--gold,.admin-dashboard .admin-metric-card--emerald{--metric-bg:color-mix(in srgb, var(--dash-accent) 12%, #fff)}}.admin-dashboard .admin-metric-card--blue,.admin-dashboard .admin-metric-card--cyan,.admin-dashboard .admin-metric-card--gold,.admin-dashboard .admin-metric-card--emerald{--metric-color:var(--dash-accent-strong)}.admin-dashboard .admin-card-head{border-bottom:1px solid var(--dash-border);background:linear-gradient(180deg, #fff 0%, var(--dash-soft) 100%);min-height:84px;margin:0}.admin-dashboard .admin-card-link{color:var(--dash-accent-strong);border-color:var(--dash-border);background:#fff;border-radius:999px}.admin-dashboard .admin-card-link:hover{background:var(--dash-accent);color:#fff}.admin-dashboard .admin-finance-bar-row,.admin-dashboard .admin-finance-footer div,.admin-dashboard .admin-calendar-summary div,.admin-dashboard .admin-calendar-agenda,.admin-dashboard .admin-feed-item,.admin-dashboard .agenda-item time{border-color:var(--dash-border);background:#fff;border-radius:14px}.admin-dashboard .admin-finance-bar-label>span:not(.admin-finance-dot),.admin-dashboard .admin-finance-bar-label strong,.admin-dashboard .admin-finance-footer strong,.admin-dashboard .admin-calendar-summary strong{color:var(--dash-ink);font-weight:950}.admin-dashboard .admin-finance-bar-track{background:#edf4f0;height:8px}.admin-dashboard .admin-contact-card{min-height:82px}.admin-dashboard .admin-contact-card--blue,.admin-dashboard .admin-contact-card--cyan,.admin-dashboard .admin-contact-card--gold,.admin-dashboard .admin-contact-card--emerald{--contact-accent:var(--dash-accent-strong)}.admin-dashboard .admin-feed-item{box-shadow:none}.admin-dashboard .admin-feed-marker{background:var(--dash-accent);box-shadow:0 0 0 5px var(--dash-accent)}@supports (color:color-mix(in lab, red, red)){.admin-dashboard .admin-feed-marker{box-shadow:0 0 0 5px color-mix(in srgb, var(--dash-accent) 12%, #fff)}}.admin-dashboard .admin-dashboard-calendar-cell{border-color:var(--dash-border);border-radius:12px}@supports (color:color-mix(in lab, red, red)){.admin-dashboard .admin-dashboard-calendar-cell.tone-finance,.admin-dashboard .admin-dashboard-calendar-cell.tone-session,.admin-dashboard .admin-dashboard-calendar-cell.tone-notice{border-color:color-mix(in srgb, var(--dash-accent) 35%, var(--dash-border))}}.guardian-dashboard,.guardian-finance-page,.guardian-pupils-page,.guardian-reports-page,.guardian-attendance-page{gap:22px;width:100%;display:grid;max-width:none!important;margin:0!important}.guardian-dashboard>.admin-welcome-hero,.guardian-finance-page>div:first-child,.guardian-pupils-page>header,.guardian-reports-page>header,.guardian-attendance-page>header{box-sizing:border-box;width:100%!important;max-width:none!important;margin:0!important}.guardian-dashboard>.admin-welcome-hero{background:linear-gradient(135deg,#0f2147 0%,#130c44 54% 100%)!important;border:1px solid #ffffff24!important;border-radius:18px!important;padding-left:clamp(24px,4vw,40px)!important;padding-right:clamp(24px,4vw,40px)!important;box-shadow:0 26px 64px #0f214738!important}.guardian-dashboard>.admin-welcome-hero h2,.guardian-dashboard>.admin-welcome-hero p,.guardian-dashboard>.admin-welcome-hero .admin-welcome-greeting,.guardian-dashboard>.admin-welcome-hero .section-kicker,.guardian-dashboard>.admin-welcome-hero .admin-chip,.guardian-dashboard>.admin-welcome-highlight .section-kicker,.guardian-dashboard>.admin-welcome-highlight small,.guardian-dashboard>.admin-welcome-highlight a{color:#eff6ff!important}.guardian-dashboard>.admin-welcome-hero p,.guardian-dashboard>.admin-welcome-highlight small{text-shadow:0 1px 2px #0f214738}.guardian-dashboard>.admin-welcome-highlight{background:#0f214775!important}.guardian-filter-bar{padding-bottom:16px}.guardian-filter-bar .secondary-action{align-self:end;min-height:42px}.guardian-finance-hero{align-items:flex-end}.guardian-finance-summary{border-radius:var(--radius-md);background:var(--field);flex-wrap:wrap;gap:18px;padding:14px 18px;display:flex}@supports (color:color-mix(in lab, red, red)){.guardian-finance-summary{background:color-mix(in srgb, var(--field) 70%, var(--panel))}}.guardian-finance-summary{border:1px solid var(--line)}.guardian-finance-summary>div{gap:4px;min-width:120px;display:grid}.guardian-finance-summary span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;font-weight:700}.guardian-finance-summary strong{color:var(--ink);letter-spacing:-.02em;font-size:1.35rem;font-weight:900}.guardian-finance-summary strong.is-due{color:#b91c1c}.guardian-register-log{padding:0 24px 8px}.guardian-register-log .register-table-head,.guardian-register-log .guardian-register-row{grid-template-columns:minmax(130px,.7fr) minmax(200px,1fr) minmax(110px,.45fr) minmax(0,1.1fr)}.guardian-register-log .guardian-register-row>div:first-child strong{color:var(--ink);font-weight:800;display:block}.guardian-register-log .guardian-register-row>div:first-child small{color:var(--muted);margin-top:2px;font-size:.82rem;display:block}.guardian-register-remarks{color:var(--muted);overflow-wrap:anywhere;font-size:.9rem;line-height:1.45}.guardian-reports-grid{align-items:start}.guardian-report-list .admin-record-row.is-active{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.guardian-report-list .admin-record-row.is-active{border-color:color-mix(in srgb, var(--primary) 35%, var(--line))}}.guardian-report-list .admin-record-row.is-active{background:var(--primary-soft)}.guardian-report-preview .detail-list.compact{gap:10px;display:grid}.guardian-report-preview .detail-list.compact>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding-bottom:10px;display:flex}.guardian-report-remarks{border-left:4px solid var(--primary);border-radius:var(--radius-md);background:var(--primary-soft);color:var(--ink);padding:14px 16px;font-style:italic;line-height:1.55}.guardian-report-more{color:var(--primary-strong);margin:0;padding:8px 0 0;font-size:.88rem;font-weight:700}.guardian-reports-filters{margin-bottom:-8px}.guardian-reports-layout{align-items:start}.guardian-reports-archive{gap:22px;min-width:0;display:grid}.guardian-report-year{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow-sm);gap:16px;padding:20px 22px;display:grid}.guardian-report-year-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;display:flex}.guardian-report-year-head h3{color:var(--ink);letter-spacing:-.03em;margin:0;font-size:1.35rem;font-weight:900}.guardian-report-year-head span{color:var(--muted);font-size:.86rem;font-weight:700}.guardian-report-term{gap:12px;display:grid}.guardian-report-term-head{border-radius:var(--radius-md);background:var(--primary-soft);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}@supports (color:color-mix(in lab, red, red)){.guardian-report-term-head{background:color-mix(in srgb, var(--primary-soft) 55%, var(--field))}}.guardian-report-term-head{border:1px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.guardian-report-term-head{border:1px solid color-mix(in srgb, var(--primary) 14%, var(--line))}}.guardian-report-term-head strong{color:var(--ink);font-size:1rem;font-weight:800}.guardian-report-term-head span{color:var(--muted);font-size:.82rem;font-weight:700}.guardian-report-card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.guardian-report-card{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--field);color:var(--ink);gap:12px;padding:14px 16px;text-decoration:none;transition:border-color .15s,background-color .15s,box-shadow .15s,transform .15s;display:grid}.guardian-report-card:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.guardian-report-card:hover{border-color:color-mix(in srgb, var(--primary) 30%, var(--line))}}.guardian-report-card:hover{background:var(--panel);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.guardian-report-card.is-active{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.guardian-report-card.is-active{border-color:color-mix(in srgb, var(--primary) 40%, var(--line))}}.guardian-report-card.is-active{background:var(--primary-soft);box-shadow:0 0 0 1px var(--primary)}@supports (color:color-mix(in lab, red, red)){.guardian-report-card.is-active{box-shadow:0 0 0 1px color-mix(in srgb, var(--primary) 18%, transparent)}}.guardian-report-card-top{grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;display:grid}.guardian-report-card-avatar{background:linear-gradient(145deg, var(--primary) 0%, var(--primary-strong) 100%);color:#fff;text-transform:uppercase;border-radius:10px;place-items:center;width:40px;height:40px;font-weight:800;display:grid}.guardian-report-card-top strong{color:var(--ink);font-weight:800;display:block}.guardian-report-card-top small{color:var(--muted);margin-top:2px;font-size:.82rem;display:block}.guardian-report-card-meta{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:8px;padding-top:10px;font-size:.84rem;font-weight:700;display:flex}.guardian-report-card-meta strong{color:var(--primary-strong);font-size:.88rem}.guardian-report-feed{gap:14px;display:grid}.guardian-report-full-card{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--field);box-shadow:var(--shadow-xs);gap:16px;padding:18px;display:grid}.guardian-report-full-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding-bottom:14px;display:flex}.guardian-report-full-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.guardian-report-full-actions>span{border-radius:var(--radius-sm);background:var(--primary-soft);min-height:34px;color:var(--primary-strong);align-items:center;padding:0 12px;font-size:.82rem;font-weight:800;display:inline-flex}.guardian-report-full-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.guardian-report-full-meta>div{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);padding:12px 14px}.guardian-report-full-meta span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.74rem;font-weight:800;display:block}.guardian-report-full-meta strong{color:var(--ink);margin-top:4px;font-size:.95rem;font-weight:850;display:block}.guardian-report-grade-table{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);overflow:hidden}.guardian-report-preview-body{gap:18px;padding:0 24px 24px;display:grid}.guardian-report-preview-empty{padding:32px 24px}.guardian-reports-page{gap:26px}.guardian-reports-page>.admin-page-head{padding:clamp(22px,3vw,34px)}.guardian-reports-filters{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow-xs);margin:0;padding:18px}.guardian-reports-layout{display:block}.guardian-reports-archive{gap:28px}.guardian-report-year{border-radius:18px;gap:24px;padding:clamp(22px,3vw,32px)}.guardian-report-year-head{padding-bottom:18px}.guardian-report-term{gap:16px}.guardian-report-term+.guardian-report-term{border-top:1px solid var(--line);padding-top:20px}.guardian-report-term-head{border-radius:14px;padding:14px 18px}.guardian-report-term-head strong{font-size:1.08rem}.guardian-report-feed{gap:18px}.guardian-report-full-card{background:linear-gradient(180deg, #f7faff 0%, #fff 34%), var(--panel);border-color:var(--primary);border-radius:18px;gap:22px;padding:clamp(20px,2.6vw,30px)}@supports (color:color-mix(in lab, red, red)){.guardian-report-full-card{border-color:color-mix(in srgb, var(--primary) 16%, var(--line-strong))}}.guardian-report-full-card{box-shadow:0 18px 42px #0f172a12}.guardian-report-full-head{border-bottom-color:var(--primary);gap:18px;padding-bottom:18px}@supports (color:color-mix(in lab, red, red)){.guardian-report-full-head{border-bottom-color:color-mix(in srgb, var(--primary) 14%, var(--line))}}.guardian-report-card-top{grid-template-columns:48px minmax(0,1fr);gap:14px}.guardian-report-card-avatar{border-radius:14px;width:48px;height:48px}.guardian-report-card-top strong{font-size:1.04rem}.guardian-report-card-top small{margin-top:4px;line-height:1.4}.guardian-report-full-actions .secondary-action{min-height:38px}.guardian-report-full-meta{gap:12px}.guardian-report-full-meta>div{background:var(--primary-soft);padding:14px 16px}@supports (color:color-mix(in lab, red, red)){.guardian-report-full-meta>div{background:color-mix(in srgb, var(--primary-soft) 34%, #fff)}}.guardian-report-full-meta>div{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.guardian-report-full-meta>div{border-color:color-mix(in srgb, var(--primary) 12%, var(--line))}}.guardian-report-remarks{border-radius:14px;padding:16px 18px}.guardian-report-grade-table{border-color:var(--primary);background:#fff;padding:6px 18px}@supports (color:color-mix(in lab, red, red)){.guardian-report-grade-table{border-color:color-mix(in srgb, var(--primary) 10%, var(--line))}}.guardian-report-grade-table article{padding:14px 0}.guardian-report-footer{border:1px solid var(--primary);gap:8px;padding:18px 20px;display:grid}@supports (color:color-mix(in lab, red, red)){.guardian-report-footer{border:1px solid color-mix(in srgb, var(--primary) 16%, var(--line))}}.guardian-report-footer{border-left:5px solid var(--primary);background:linear-gradient(135deg, var(--primary-soft) 0%, #fff 100%);border-radius:16px}.guardian-report-footer span{color:var(--primary-strong);letter-spacing:.05em;text-transform:uppercase;font-size:.75rem;font-weight:900}.guardian-report-footer p{color:var(--ink);margin:0;font-weight:600;line-height:1.6}.guardian-reports-pagination{margin-top:22px}.guardian-dashboard{min-width:0}.guardian-dashboard-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.guardian-dashboard-children-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 24px 24px;display:grid}.guardian-dashboard-children-grid .guardian-child-card{min-height:100%}.guardian-dashboard-children-grid .guardian-child-card span{color:var(--muted);margin-top:2px;font-size:.86rem;display:block}.guardian-dashboard-children-grid .guardian-child-card small{color:var(--muted-light);margin-top:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;display:block}.guardian-dashboard-empty{grid-column:1/-1;padding:8px 0 4px}.guardian-attendance-list{gap:0;padding:0 24px 20px;display:grid}.guardian-attendance-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;display:grid}.guardian-attendance-row:last-child{border-bottom:0;padding-bottom:4px}.guardian-attendance-row:first-child{padding-top:4px}.guardian-attendance-copy strong{color:var(--ink);font-weight:700;display:block}.guardian-attendance-copy small{color:var(--muted);margin-top:3px;font-size:.86rem;display:block}.guardian-dashboard-feed{padding:0 24px 20px}.guardian-dashboard .admin-card{padding:0;overflow:hidden}.guardian-dashboard .admin-card-head{border-bottom:1px solid var(--line);background:var(--field);margin-bottom:0;padding:18px 24px}@supports (color:color-mix(in lab, red, red)){.guardian-dashboard .admin-card-head{background:color-mix(in srgb, var(--field) 65%, var(--panel))}}@media (width<=1180px){.guardian-dashboard-primary{grid-template-columns:1fr}.guardian-dashboard-children-grid{grid-template-columns:1fr 1fr}}@media (width<=900px){.school-app--admin .mobile-bar{z-index:45;min-height:64px;margin:0;padding:10px 12px;display:grid;position:fixed;top:0;left:0;right:0}.school-app--admin .workspace{gap:14px;min-width:0;padding:76px 14px 24px;overflow-x:clip}.school-app--admin .workspace-header{display:none}.school-app--admin .nav-toggle:checked~.side-rail{z-index:50}.school-app--admin .side-rail{width:min(88vw,320px)}.guardian-reports-layout{grid-template-columns:1fr}.guardian-report-preview{order:-1}.guardian-report-card-grid{grid-template-columns:1fr}.guardian-report-full-head{flex-direction:column;align-items:flex-start}.guardian-report-full-actions{justify-content:flex-start}.guardian-report-full-meta{grid-template-columns:1fr}.guardian-reports-page{gap:18px}.guardian-reports-page>.admin-page-head,.guardian-report-year,.guardian-report-full-card{padding:18px}.guardian-reports-filters{padding:14px}.guardian-report-term-head{flex-direction:column;align-items:flex-start;padding:12px 14px}.guardian-report-card-top{grid-template-columns:42px minmax(0,1fr)}.guardian-report-card-avatar{border-radius:12px;width:42px;height:42px}.guardian-report-grade-table{padding:4px 12px}.guardian-dashboard-children-grid,.guardian-dashboard .admin-welcome-hero{grid-template-columns:1fr}}@media (width<=640px){.school-app--admin .workspace{padding:64px 10px 20px}.school-app--admin .mobile-bar{min-height:58px;padding:8px 10px}.school-app--admin .workspace{padding-top:70px}.mobile-bar-brand{width:32px;height:32px}.mobile-menu{width:40px;height:40px}.guardian-report-year,.pupil-report-year{padding:16px}.guardian-dashboard-children-grid,.guardian-attendance-list,.guardian-dashboard-feed,.pupil-assignment-list,.pupil-dashboard-feed,.guardian-dashboard .admin-card-head,.pupil-dashboard .admin-card-head,.pupil-profile-summary,.pupil-reports-hero,.pupil-reports-panel-head,.pupil-reports-toolbar,.pupil-report-list,.pupil-reports-pagination{padding-inline:16px}.pupil-report-sheet-masthead,.pupil-report-sheet-band,.pupil-report-sheet-grades,.pupil-report-sheet-remarks,.pupil-report-sheet-footer{padding-inline:18px}.pupil-report-sheet-summary-row{grid-template-columns:1fr}.pupil-report-sheet-summary-row article{border-right:0;border-bottom:1px solid var(--line)}.pupil-report-sheet-summary-row article:last-child{border-bottom:0}}.pupil-dashboard,.pupil-finance-page,.pupil-reports-page,.pupil-assignments-page,.pupil-materials-page{gap:22px;width:100%;display:grid;max-width:none!important;margin:0!important}.pupil-dashboard>.admin-welcome-hero,.pupil-finance-page>div:first-child,.pupil-reports-page>header,.pupil-assignments-page>header,.pupil-materials-page>header{box-sizing:border-box;width:100%!important;max-width:none!important;margin:0!important}.pupil-dashboard>.admin-welcome-hero{background:linear-gradient(135deg,#0c3d5c 0%,#155e8a 52%,#1d7fb8 100%)!important;border:1px solid #ffffff24!important;border-radius:18px!important;padding-left:clamp(24px,4vw,40px)!important;padding-right:clamp(24px,4vw,40px)!important;box-shadow:0 26px 64px #08263a38!important}.pupil-dashboard>.admin-welcome-hero h2,.pupil-dashboard>.admin-welcome-hero p,.pupil-dashboard>.admin-welcome-hero .admin-welcome-greeting,.pupil-dashboard>.admin-welcome-hero .section-kicker,.pupil-dashboard>.admin-welcome-hero .admin-chip,.pupil-dashboard>.admin-welcome-highlight .section-kicker,.pupil-dashboard>.admin-welcome-highlight small,.pupil-dashboard>.admin-welcome-highlight a,.pupil-dashboard>.admin-welcome-highlight strong{color:#f0f9ff!important}.pupil-dashboard>.admin-welcome-highlight{background:#082f4975!important}.pupil-dashboard>.admin-welcome-highlight .admin-collection-ring-track{stroke:#e0f2fe4d}.pupil-dashboard>.admin-welcome-highlight .admin-collection-ring-fill{stroke:#7dd3fc;filter:drop-shadow(0 0 6px #7dd3fc8c)}.pupil-hero-score{letter-spacing:-.04em;font-weight:850;line-height:1;font-size:clamp(2rem,4vw,2.8rem)!important}.pupil-filter-bar{padding-bottom:16px}.pupil-filter-bar .secondary-action{align-self:end;min-height:42px}.pupil-attendance-filter-section{width:100%}.pupil-attendance-filter-form{grid-template-columns:repeat(3,minmax(180px,1fr)) auto;align-items:end;gap:14px;width:100%;padding:18px 20px;display:grid}.pupil-attendance-filter-field{gap:8px;min-width:0;display:grid}.pupil-attendance-filter-field input,.pupil-attendance-filter-field select{width:100%;min-height:44px}.pupil-attendance-filter-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.pupil-attendance-filter-actions .button,.pupil-attendance-filter-actions .button--ghost{white-space:nowrap;min-height:44px}.pupil-finance-hero{align-items:flex-end}.pupil-finance-summary{border-radius:var(--radius-md);background:var(--field);flex-wrap:wrap;gap:18px;padding:14px 18px;display:flex}@supports (color:color-mix(in lab, red, red)){.pupil-finance-summary{background:color-mix(in srgb, var(--field) 70%, var(--panel))}}.pupil-finance-summary{border:1px solid var(--line)}.pupil-finance-summary>div{gap:4px;min-width:120px;display:grid}.pupil-finance-summary span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;font-weight:700}.pupil-finance-summary strong{color:var(--ink);letter-spacing:-.02em;font-size:1.35rem;font-weight:900}.pupil-finance-summary strong.is-due{color:#b91c1c}.pupil-invoice-table .admin-table-head,.pupil-invoice-row{grid-template-columns:minmax(0,1.2fr) minmax(100px,.7fr) minmax(90px,.5fr) minmax(90px,.5fr) auto}.pupil-invoice-row{border-bottom:1px solid var(--line);color:var(--ink);align-items:center;gap:12px;padding:14px 16px;text-decoration:none;display:grid}.pupil-invoice-row>a{color:inherit;text-decoration:none}.pupil-invoice-row .primary-action{justify-self:end;min-height:36px;padding:0 14px;font-size:.84rem}.pupil-reports-filters{margin-bottom:-8px}.pupil-reports-layout,.pupil-assignments-layout,.pupil-materials-layout{align-items:start}.pupil-reports-archive,.pupil-assignments-archive,.pupil-materials-archive{min-width:0}.pupil-report-year{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow-sm);gap:16px;padding:20px 22px;display:grid}.pupil-report-year-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;display:flex}.pupil-report-year-head h3{color:var(--ink);letter-spacing:-.03em;margin:0;font-size:1.35rem;font-weight:900}.pupil-report-term{gap:12px;display:grid}.pupil-report-term-head{border-radius:var(--radius-md);background:#e0f2fe;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}@supports (color:color-mix(in lab, red, red)){.pupil-report-term-head{background:color-mix(in srgb, #e0f2fe 55%, var(--field))}}.pupil-report-term-head{border:1px solid #0284c7}@supports (color:color-mix(in lab, red, red)){.pupil-report-term-head{border:1px solid color-mix(in srgb, #0284c7 14%, var(--line))}}.pupil-report-card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.pupil-report-card{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--field);color:var(--ink);gap:12px;padding:14px 16px;text-decoration:none;transition:border-color .15s,background-color .15s,box-shadow .15s,transform .15s;display:grid}.pupil-report-card:hover{border-color:#0284c7}@supports (color:color-mix(in lab, red, red)){.pupil-report-card:hover{border-color:color-mix(in srgb, #0284c7 30%, var(--line))}}.pupil-report-card:hover{background:var(--panel);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.pupil-report-card.is-active{border-color:#0284c7}@supports (color:color-mix(in lab, red, red)){.pupil-report-card.is-active{border-color:color-mix(in srgb, #0284c7 40%, var(--line))}}.pupil-report-card.is-active{background:#e0f2fe;box-shadow:0 0 0 1px #0284c72e}.pupil-report-card-top{grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;display:grid}.pupil-report-card-avatar{color:#fff;text-transform:uppercase;background:linear-gradient(145deg,#0284c7 0%,#0369a1 100%);border-radius:10px;place-items:center;width:40px;height:40px;font-weight:800;display:grid}.pupil-report-card-meta{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:8px;padding-top:10px;font-size:.84rem;font-weight:700;display:flex}.pupil-report-preview-body,.pupil-assignment-preview-body,.pupil-material-preview-body{gap:18px;padding:0 24px 24px;display:grid}.pupil-report-remarks{border-radius:var(--radius-md);color:var(--ink);background:#e0f2fe;border-left:4px solid #0284c7;padding:14px 16px;font-style:italic;line-height:1.55}.pupil-detail-copy{color:var(--muted);margin:0;padding:0 24px 8px;line-height:1.55}.pupil-work-archive{gap:0;padding:0 24px 20px;display:grid}.pupil-work-card{border-bottom:1px solid var(--line);color:var(--ink);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;text-decoration:none;transition:background-color .15s;display:grid}.pupil-work-card:last-child{border-bottom:0}.pupil-work-card:hover{background:var(--field)}@supports (color:color-mix(in lab, red, red)){.pupil-work-card:hover{background:color-mix(in srgb, var(--field) 50%, transparent)}}.pupil-work-card.is-active{border-radius:var(--radius-md);background:#e0f2fe;margin:0 -12px;padding-inline:12px}.pupil-work-card strong{font-weight:800;display:block}.pupil-work-card small{color:var(--muted);margin-top:2px;font-size:.82rem;display:block}.pupil-dashboard-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.pupil-profile-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 24px 24px;display:grid}.pupil-profile-summary>div{border-radius:var(--radius-md);background:var(--field);border:1px solid var(--line);gap:4px;padding:14px 16px;display:grid}.pupil-profile-summary span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.pupil-profile-summary strong{color:var(--ink);font-size:1rem;font-weight:800}.pupil-assignment-list{gap:0;padding:0 24px 20px;display:grid}.pupil-assignment-row{border-bottom:1px solid var(--line);color:var(--ink);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;text-decoration:none;display:grid}.pupil-assignment-row:last-child{border-bottom:0}.pupil-assignment-copy strong{font-weight:700;display:block}.pupil-assignment-copy small{color:var(--muted);margin-top:3px;font-size:.86rem;display:block}.pupil-dashboard .admin-card{padding:0;overflow:hidden}.pupil-dashboard .admin-card-head{border-bottom:1px solid var(--line);background:var(--field);margin-bottom:0;padding:18px 24px}@supports (color:color-mix(in lab, red, red)){.pupil-dashboard .admin-card-head{background:color-mix(in srgb, var(--field) 65%, var(--panel))}}.pupil-dashboard .admin-card>:not(.admin-card-head):not(.admin-table){padding-top:24px}.pupil-dashboard-feed{padding:0 24px 20px}.pupil-dashboard-empty{grid-column:1/-1;padding:8px 0 4px}.mobile-bar{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;display:none}.mobile-bar--pupil,.mobile-bar--with-actions{grid-template-columns:44px minmax(0,1fr) auto}.mobile-menu{background:var(--panel);border:1px solid var(--line-strong);width:44px;height:44px;color:var(--ink);box-shadow:var(--shadow-xs);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;transition:background-color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.mobile-menu:hover{background:var(--field);border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.mobile-menu:hover{border-color:color-mix(in srgb, var(--primary) 25%, var(--line))}}.mobile-menu-icon{place-items:center;width:20px;height:20px;display:grid}.mobile-menu-icon svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;width:20px;height:20px}.nav-toggle:checked~.workspace .mobile-menu{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 10px 24px var(--primary)}@supports (color:color-mix(in lab, red, red)){.nav-toggle:checked~.workspace .mobile-menu{box-shadow:0 10px 24px color-mix(in srgb, var(--primary) 28%, transparent)}}.nav-toggle:checked~.workspace .mobile-menu-icon svg path:first-child{transform-origin:50%;transform:translateY(5px)rotate(45deg)}.nav-toggle:checked~.workspace .mobile-menu-icon svg path:nth-child(2){opacity:0}.nav-toggle:checked~.workspace .mobile-menu-icon svg path:nth-child(3){transform-origin:50%;transform:translateY(-5px)rotate(-45deg)}.nav-toggle:checked~.workspace .mobile-menu-icon svg path{transition:transform .2s,opacity .2s}.mobile-bar-brand{background:linear-gradient(145deg, var(--primary) 0%, var(--primary-strong) 100%);color:#fff;width:36px;height:36px;box-shadow:0 8px 18px var(--primary);border-radius:10px;place-items:center;font-size:.9rem;font-weight:800;display:grid;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.mobile-bar-brand{box-shadow:0 8px 18px color-mix(in srgb, var(--primary) 22%, transparent)}}.mobile-bar-brand img{object-fit:cover;width:100%;height:100%}.mobile-bar-title{gap:1px;min-width:0;display:grid}.mobile-bar-eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:700;line-height:1.2}.mobile-bar-title strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);letter-spacing:-.02em;font-size:.98rem;font-weight:800;line-height:1.2;overflow:hidden}.mobile-bar-actions{align-items:center;gap:8px;display:flex}.mobile-notification-menu{position:relative}.mobile-notification-menu .notification-trigger{background:var(--panel);width:40px;height:40px;min-height:40px;color:var(--ink);border-color:var(--line-strong);box-shadow:var(--shadow-xs);border-radius:12px;justify-content:center;gap:0;padding:0}.mobile-notification-menu[open] .notification-trigger,.mobile-notification-menu .notification-trigger:hover,.mobile-notification-menu .notification-trigger:focus-visible{background:var(--primary-soft);border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.mobile-notification-menu[open] .notification-trigger,.mobile-notification-menu .notification-trigger:hover,.mobile-notification-menu .notification-trigger:focus-visible{border-color:color-mix(in srgb, var(--primary) 30%, var(--line))}}.mobile-notification-menu[open] .notification-trigger,.mobile-notification-menu .notification-trigger:hover,.mobile-notification-menu .notification-trigger:focus-visible{color:var(--primary-strong);transform:none}.mobile-notification-menu .toolbar-label{display:none}.mobile-notification-menu .notification-count{border:2px solid var(--panel);color:#fff;background:#dc2626;min-width:18px;height:18px;padding:0 5px;font-size:.64rem;line-height:1;position:absolute;top:-5px;right:-5px}.mobile-bar-icon,.mobile-bar-avatar{border:1px solid var(--line-strong);background:var(--panel);width:40px;height:40px;color:var(--ink);box-shadow:var(--shadow-xs);border-radius:12px;justify-content:center;align-items:center;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.mobile-bar-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.mobile-bar-icon:hover,.mobile-bar-icon:focus-visible{background:var(--primary-soft);border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.mobile-bar-icon:hover,.mobile-bar-icon:focus-visible{border-color:color-mix(in srgb, var(--primary) 30%, var(--line))}}.mobile-bar-icon:hover,.mobile-bar-icon:focus-visible{color:var(--primary-strong)}.mobile-profile-menu{position:relative}.mobile-bar-avatar{letter-spacing:.02em;text-transform:uppercase;background:linear-gradient(145deg, var(--primary-soft) 0%, var(--panel) 100%);cursor:pointer;font-size:.82rem;font-weight:800;list-style:none}.mobile-bar-avatar::-webkit-details-marker{display:none}.mobile-profile-menu[open]>.mobile-bar-avatar,.mobile-bar-avatar:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.mobile-profile-menu[open]>.mobile-bar-avatar,.mobile-bar-avatar:hover{border-color:color-mix(in srgb, var(--primary) 35%, var(--line))}}.mobile-profile-menu[open]>.mobile-bar-avatar,.mobile-bar-avatar:hover{background:var(--primary-soft);color:var(--primary-strong)}.mobile-bar-avatar--large{width:44px;height:44px;font-size:.9rem}.mobile-profile-panel{z-index:60;border:1px solid var(--line-strong);background:var(--panel);border-radius:14px;width:min(280px,100vw - 24px);padding:12px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 20px 50px #0f172a29}.mobile-profile-panel-head{border-bottom:1px solid var(--line);grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;padding:8px 8px 12px;display:grid}.mobile-profile-panel-head strong{color:var(--ink);font-size:.92rem;font-weight:800;display:block}.mobile-profile-panel-head small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.78rem;display:block;overflow:hidden}.mobile-profile-links{gap:4px;padding:8px 0;display:grid}.mobile-profile-links a,.mobile-profile-logout button{width:100%;min-height:42px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:10px;padding:0 10px;font-size:.9rem;font-weight:650;text-decoration:none;display:grid}.mobile-profile-links a svg,.mobile-profile-logout button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.mobile-profile-links a:hover,.mobile-profile-logout button:hover{background:var(--field)}.mobile-profile-logout{border-top:1px solid var(--line);padding-top:8px}.mobile-profile-logout button{color:#b91c1c}.mobile-profile-logout button:hover{background:#fef2f2}.pupil-profile-page{gap:20px;display:grid}.pupil-profile-details-body{padding:0 24px 24px}.school-app--admin .mobile-menu{background:var(--primary-soft)}@supports (color:color-mix(in lab, red, red)){.school-app--admin .mobile-menu{background:color-mix(in srgb, var(--primary-soft) 55%, var(--panel))}}.school-app--admin .mobile-menu{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.school-app--admin .mobile-menu{border-color:color-mix(in srgb, var(--primary) 18%, var(--line))}}.school-app--admin .nav-toggle:checked~.workspace .mobile-menu{background:linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%)}@supports (color:color-mix(in lab, red, red)){.school-app--admin .nav-toggle:checked~.workspace .mobile-menu{background:linear-gradient(135deg, var(--primary) 0%, color-mix(in srgb, var(--primary) 70%, #130c44) 100%)}}.school-app--admin .mobile-bar{background:var(--panel)}@supports (color:color-mix(in lab, red, red)){.school-app--admin .mobile-bar{background:color-mix(in srgb, var(--panel) 92%, var(--field))}}.school-app--admin .mobile-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-strong);box-shadow:0 10px 30px #0f172a0f}.school-app--admin .nav-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a6b}.school-app--admin .nav-toggle:checked~.side-rail{box-shadow:24px 0 60px #0f172a29}.pupil-btn-primary,.pupil-btn-ghost{border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:.88rem;font-weight:700;text-decoration:none;transition:background-color .15s,border-color .15s,box-shadow .15s,color .15s;display:inline-flex}.pupil-btn-primary{border:1px solid var(--primary);background:linear-gradient(135deg, var(--primary) 0%, var(--primary-strong) 100%);color:#fff;box-shadow:0 10px 24px var(--primary)}@supports (color:color-mix(in lab, red, red)){.pupil-btn-primary{box-shadow:0 10px 24px color-mix(in srgb, var(--primary) 24%, transparent)}}.pupil-btn-primary{cursor:pointer}.pupil-btn-primary:hover{filter:brightness(1.03);color:#fff}.pupil-btn-primary svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.pupil-btn-ghost{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink)}.pupil-btn-ghost:hover{background:var(--field);border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.pupil-btn-ghost:hover{border-color:color-mix(in srgb, var(--primary) 22%, var(--line))}}.pupil-btn-ghost:hover{color:var(--primary-strong)}.pupil-reports-page{gap:20px;width:100%;display:grid;max-width:none!important;margin:0!important}.pupil-reports-hero{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--primary-strong) 0%, var(--primary-strong) 46%, var(--primary-strong) 100%);color:var(--primary-soft);border:1px solid #ffffff1f;grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr);align-items:stretch;gap:20px;padding:28px 30px;display:grid;box-shadow:0 24px 60px #130c4438}.pupil-reports-hero-copy h2{letter-spacing:-.03em;color:#fff;margin:6px 0 0;font-size:clamp(1.7rem,3vw,2.35rem);font-weight:850}.pupil-reports-hero-copy p{max-width:520px;color:var(--primary-soft);margin:10px 0 0}@supports (color:color-mix(in lab, red, red)){.pupil-reports-hero-copy p{color:color-mix(in srgb, var(--primary-soft) 75%, var(--primary) 25%)}}.pupil-reports-hero-copy p{line-height:1.55}.pupil-reports-hero-copy .section-kicker{color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.pupil-reports-hero-copy .section-kicker{color:color-mix(in srgb, var(--primary) 38%, var(--line-strong))}}.pupil-reports-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));align-content:center;gap:10px;display:grid}.pupil-reports-hero-stats article{text-align:center;background:#0000002e;border:1px solid #ffffff1f;border-radius:12px;gap:4px;padding:14px 16px;display:grid}.pupil-reports-hero-stats span{color:var(--primary-soft)}@supports (color:color-mix(in lab, red, red)){.pupil-reports-hero-stats span{color:color-mix(in srgb, var(--primary-soft) 75%, var(--primary) 25%)}}.pupil-reports-hero-stats span{text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:700}.pupil-reports-hero-stats strong{color:#fff;letter-spacing:-.03em;font-size:1.45rem;font-weight:900;line-height:1}.pupil-reports-hero-stats small{color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.pupil-reports-hero-stats small{color:color-mix(in srgb, var(--primary) 38%, var(--line-strong))}}.pupil-reports-hero-stats small{font-size:.74rem}.pupil-reports-panel{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow-sm);padding:0;overflow:hidden}.pupil-reports-panel-head{border-bottom:1px solid var(--line);background:var(--field);justify-content:space-between;align-items:flex-end;gap:16px;padding:20px 24px;display:flex}@supports (color:color-mix(in lab, red, red)){.pupil-reports-panel-head{background:color-mix(in srgb, var(--field) 70%, var(--panel))}}.pupil-reports-panel-head h3{color:var(--ink);margin:0;font-size:1.12rem;font-weight:800}.pupil-reports-panel-head p{color:var(--muted);margin:4px 0 0;font-size:.86rem}.pupil-reports-toolbar{border-bottom:1px solid var(--line);background:var(--field);grid-template-columns:minmax(0,1.4fr) minmax(180px,.5fr) auto;align-items:end;gap:12px;padding:18px 24px;display:grid}.pupil-reports-search{border:1px solid var(--line-strong);background:var(--panel);border-radius:10px;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px;min-height:44px;padding:0 14px;display:grid;box-shadow:inset 0 1px 2px #0f172a08}.pupil-reports-search svg{fill:none;width:18px;height:18px;stroke:var(--muted);stroke-width:2px;stroke-linecap:round}.pupil-reports-search input{width:100%;min-height:42px;box-shadow:none;background:0 0;border:0;padding:0}.pupil-reports-search input:focus{outline:none}.pupil-reports-filter-field{gap:6px;display:grid}.pupil-reports-filter-field>span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:700}.pupil-reports-filter-field select{border-color:var(--line-strong);background:var(--panel);border-radius:10px;min-height:44px}.pupil-reports-toolbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pupil-report-list{gap:12px;padding:20px 24px 12px;display:grid}.pupil-report-list-card{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);box-shadow:var(--shadow-xs);border-radius:14px;grid-template-columns:108px minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 20px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid}.pupil-report-list-card:hover{border-color:var(--primary-strong)}@supports (color:color-mix(in lab, red, red)){.pupil-report-list-card:hover{border-color:color-mix(in srgb, var(--primary-strong) 32%, var(--line))}}.pupil-report-list-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px #130c441a}.pupil-report-list-score{text-align:center;border-radius:12px;align-content:center;justify-items:center;gap:4px;min-height:96px;padding:12px;display:grid}.pupil-report-list-score.is-high{color:#130c44;background:linear-gradient(#eff6ff 0%,#dbeafe 100%)}.pupil-report-list-score.is-mid{color:#b45309;background:linear-gradient(#fffbeb 0%,#fef3c7 100%)}.pupil-report-list-score.is-low{color:#b91c1c;background:linear-gradient(#fef2f2 0%,#fee2e2 100%)}.pupil-report-list-score.is-empty{background:var(--field);color:var(--muted)}.pupil-report-list-score strong{letter-spacing:-.04em;font-size:1.65rem;font-weight:900;line-height:1}.pupil-report-list-score strong small{font-size:.95rem;font-weight:800}.pupil-report-list-score>span:last-child,.pupil-report-list-score.is-empty span{text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;font-weight:800}.pupil-report-list-score svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:28px;height:28px}.pupil-report-list-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.pupil-report-list-year{background:var(--primary-soft);color:var(--primary-strong);letter-spacing:.04em;border-radius:999px;margin-bottom:6px;padding:3px 8px;font-size:.72rem;font-weight:800;display:inline-flex}.pupil-report-list-body h4{color:var(--ink);letter-spacing:-.02em;margin:0;font-size:1.2rem;font-weight:850}.pupil-report-list-status{color:#130c44;background:#eff6ff;border-radius:999px;flex:none;padding:5px 10px;font-size:.74rem;font-weight:800}.pupil-report-list-meta{color:var(--muted);margin:8px 0 0;font-size:.88rem;line-height:1.45}.pupil-report-list-remarks{border-left:3px solid var(--primary);margin:10px 0 0;padding:10px 12px}@supports (color:color-mix(in lab, red, red)){.pupil-report-list-remarks{border-left:3px solid color-mix(in srgb, var(--primary) 38%, var(--line-strong))}}.pupil-report-list-remarks{background:var(--primary-soft);border-radius:0 8px 8px 0}@supports (color:color-mix(in lab, red, red)){.pupil-report-list-remarks{background:color-mix(in srgb, var(--primary-soft) 55%, #fff)}}.pupil-report-list-remarks{color:var(--ink);font-size:.88rem;font-style:italic;line-height:1.5}.pupil-report-list-action{color:var(--primary-strong);white-space:nowrap;justify-items:end;gap:8px;font-size:.84rem;font-weight:800;display:grid}.pupil-report-list-action svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.pupil-report-list-empty{text-align:center;border:1px dashed var(--line-strong);background:var(--field);border-radius:14px;justify-items:center;gap:10px;padding:48px 24px;display:grid}.pupil-report-list-empty strong{color:var(--ink);font-size:1.05rem}.pupil-report-list-empty p{max-width:420px;color:var(--muted);margin:0;line-height:1.55}.pupil-reports-pagination{padding:0 24px 22px}.pupil-report-document-page{gap:16px;width:100%;display:grid;max-width:none!important;margin:0!important}.pupil-report-document-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.pupil-report-document-back{color:var(--muted);align-items:center;gap:6px;font-size:.9rem;font-weight:650;text-decoration:none;display:inline-flex}.pupil-report-document-back:hover{color:var(--primary-strong)}.pupil-report-document-back svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.pupil-report-sheet{border:1px solid var(--primary-strong);overflow:hidden}@supports (color:color-mix(in lab, red, red)){.pupil-report-sheet{border:1px solid color-mix(in srgb, var(--primary-strong) 18%, var(--line-strong))}}.pupil-report-sheet{background:#fff;border-radius:18px;box-shadow:0 28px 70px #130c441f}.pupil-report-sheet-masthead{border-bottom:3px solid var(--primary-strong);background:linear-gradient(180deg, var(--primary-soft) 0%, #fff 100%);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;padding:28px 32px 24px;display:grid}@supports (color:color-mix(in lab, red, red)){.pupil-report-sheet-masthead{background:linear-gradient(180deg, color-mix(in srgb, var(--primary-soft) 55%, #fff) 0%, #fff 100%)}}.pupil-report-sheet-brand{grid-template-columns:56px minmax(0,1fr);align-items:center;gap:12px;display:grid}.pupil-report-sheet-brand img{object-fit:contain;border-radius:10px;width:56px;height:56px}.pupil-report-sheet-seal{background:linear-gradient(145deg, var(--primary-strong) 0%, var(--primary-strong) 100%);color:#fff;border-radius:12px;place-items:center;width:56px;height:56px;font-size:1.4rem;font-weight:900;display:grid}.pupil-report-sheet-brand strong{color:var(--ink);font-size:1.1rem;font-weight:900;display:block}.pupil-report-sheet-brand small{color:var(--muted);font-size:.82rem}.pupil-report-sheet-title-block{text-align:right}.pupil-report-sheet-label{color:var(--primary-strong);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;display:block}.pupil-report-sheet-title-block h1{color:var(--ink);letter-spacing:-.03em;margin:4px 0 0;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:900;line-height:1.05}.pupil-report-sheet-title-block p{color:var(--muted);margin:6px 0 0;font-size:.92rem}.pupil-report-sheet-band{border-bottom:1px solid var(--line);background:var(--field);grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr);gap:16px;padding:22px 32px;display:grid}.pupil-report-sheet-pupil{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;display:grid}.pupil-report-sheet-pupil>div{gap:4px;display:grid}.pupil-report-sheet-pupil span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:700}.pupil-report-sheet-pupil strong{color:var(--ink);font-size:.98rem;font-weight:800}.pupil-report-sheet-highlight{background:linear-gradient(180deg, var(--primary-soft) 0%, var(--primary-soft) 100%);border-radius:14px;align-content:center;justify-items:center;gap:4px;padding:18px;display:grid}@supports (color:color-mix(in lab, red, red)){.pupil-report-sheet-highlight{background:linear-gradient(180deg, var(--primary-soft) 0%, color-mix(in srgb, var(--primary-soft) 75%, var(--primary) 25%) 100%)}}.pupil-report-sheet-highlight{border:1px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.pupil-report-sheet-highlight{border:1px solid color-mix(in srgb, var(--primary) 38%, var(--line-strong))}}.pupil-report-sheet-highlight{text-align:center}.pupil-report-sheet-highlight span{color:var(--primary-strong);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800}.pupil-report-sheet-highlight strong{color:var(--primary-strong);letter-spacing:-.04em;font-size:2.2rem;font-weight:900;line-height:1}.pupil-report-sheet-highlight small{color:var(--primary-strong);font-size:.8rem;font-weight:700}.pupil-report-sheet-summary-row{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid}.pupil-report-sheet-summary-row article{border-right:1px solid var(--line);gap:4px;padding:16px 20px;display:grid}.pupil-report-sheet-summary-row article:last-child{border-right:0}.pupil-report-sheet-summary-row span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:700}.pupil-report-sheet-summary-row strong{color:var(--ink);font-size:1.05rem;font-weight:850}.pupil-report-sheet-summary-row small{color:var(--muted-light);font-size:.78rem}.pupil-report-sheet-section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.pupil-report-sheet-section-head h2{color:var(--ink);letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:850}.pupil-report-sheet-section-head span{color:var(--muted);font-size:.82rem;font-weight:700}.pupil-report-sheet-grades,.pupil-report-sheet-remarks{padding:24px 32px}.pupil-report-sheet-remarks{border-top:1px solid var(--line);background:var(--primary-soft)}@supports (color:color-mix(in lab, red, red)){.pupil-report-sheet-remarks{background:color-mix(in srgb, var(--primary-soft) 24%, #fff)}}.pupil-report-sheet-table-wrap{border:1px solid var(--line-strong);border-radius:12px;overflow-x:auto}.pupil-report-sheet-table{border-collapse:collapse;width:100%;font-size:.92rem}.pupil-report-sheet-table thead{background:linear-gradient(180deg, var(--primary-soft) 0%, var(--primary-soft) 100%)}.pupil-report-sheet-table th,.pupil-report-sheet-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:14px 16px}.pupil-report-sheet-table th{color:var(--primary-strong);text-transform:uppercase;letter-spacing:.06em;font-size:.74rem;font-weight:800}.pupil-report-sheet-table tbody tr:hover{background:var(--primary-soft)}@supports (color:color-mix(in lab, red, red)){.pupil-report-sheet-table tbody tr:hover{background:color-mix(in srgb, var(--primary-soft) 55%, #fff)}}.pupil-report-sheet-table tbody th[scope=row]{color:var(--ink);white-space:nowrap;font-weight:800}.pupil-report-sheet-table td{color:var(--muted);line-height:1.45}.pupil-report-sheet-score{background:var(--primary-soft);min-width:54px;color:var(--primary-strong);border-radius:999px;justify-content:center;padding:4px 10px;font-weight:900;display:inline-flex}.pupil-report-sheet-table tfoot th,.pupil-report-sheet-table tfoot td{background:var(--primary-soft);color:var(--ink);border-bottom:0;font-weight:800}.pupil-report-sheet-empty{border:1px dashed var(--line-strong);background:var(--field);color:var(--muted);text-align:center;border-radius:12px;padding:28px}.pupil-report-sheet-remarks blockquote{border-left:4px solid var(--primary);background:var(--primary-soft);color:var(--ink);border-radius:0 12px 12px 0;margin:0;padding:18px 20px;font-size:1rem;font-style:italic;line-height:1.65}.pupil-report-sheet-footer{border-top:1px solid var(--line);background:var(--field);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:16px 32px 22px;display:flex}.pupil-report-sheet-footer p{color:var(--muted);margin:0;font-size:.84rem}.pupil-report-sheet-footer span{color:var(--muted-light);font-size:.78rem;font-weight:700}@media (width<=1180px){.pupil-dashboard-primary{grid-template-columns:1fr}.pupil-profile-summary{grid-template-columns:1fr 1fr}}@media (width<=900px){.pupil-reports-layout{grid-template-columns:1fr}.pupil-report-preview{order:-1}.pupil-report-card-grid,.pupil-dashboard .admin-welcome-hero{grid-template-columns:1fr}.pupil-invoice-table .admin-table-head{display:none}.pupil-invoice-row{grid-template-columns:1fr;gap:8px}.pupil-invoice-row .primary-action{justify-self:start}.pupil-resource-grid{grid-template-columns:1fr}.pupil-catalog-hero{grid-template-columns:1fr;align-items:stretch}.pupil-catalog-summary{width:100%}.pupil-detail-hero{grid-template-columns:1fr}.pupil-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}:is(.pupil-detail-grid,.pupil-detail-grid:has(.pupil-detail-card--wide),.pupil-reports-hero,.pupil-reports-hero-stats,.pupil-reports-toolbar){grid-template-columns:1fr}.pupil-report-list-card{grid-template-columns:88px minmax(0,1fr)}.pupil-report-list-action{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:auto auto;place-items:center start;padding-top:4px}.pupil-report-sheet-masthead,.pupil-report-sheet-band{grid-template-columns:1fr}.pupil-report-sheet-title-block{text-align:left}.pupil-report-sheet-summary-row{grid-template-columns:repeat(2,minmax(0,1fr))}.pupil-report-sheet-summary-row article:nth-child(2n){border-right:0}.pupil-report-sheet-pupil{grid-template-columns:1fr}}.pupil-catalog-page,.pupil-detail-page{gap:22px;width:100%;display:grid;max-width:none!important;margin:0!important}.pupil-catalog-hero{align-items:flex-end}.pupil-catalog-summary{border-radius:var(--radius-md);background:var(--field);flex-wrap:wrap;gap:18px;padding:14px 18px;display:flex}@supports (color:color-mix(in lab, red, red)){.pupil-catalog-summary{background:color-mix(in srgb, var(--field) 70%, var(--panel))}}.pupil-catalog-summary{border:1px solid var(--line)}.pupil-catalog-summary>div{gap:4px;min-width:100px;display:grid}.pupil-catalog-summary span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;font-weight:700}.pupil-catalog-summary strong{color:var(--ink);letter-spacing:-.02em;overflow-wrap:anywhere;font-size:1.35rem;font-weight:900}.pupil-catalog-panel{padding:0;overflow:hidden}.pupil-catalog-panel .admin-card-head{border-bottom:1px solid var(--line);background:var(--field);margin-bottom:0;padding:18px 24px}@supports (color:color-mix(in lab, red, red)){.pupil-catalog-panel .admin-card-head{background:color-mix(in srgb, var(--field) 65%, var(--panel))}}.pupil-catalog-panel .pupil-filter-bar{border-bottom:1px solid var(--line);padding:0 24px 16px}.pupil-catalog-panel .profile-pagination{padding:0 24px 22px}.pupil-resource-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;padding:20px 24px 8px;display:grid}.pupil-resource-grid-empty{grid-column:1/-1;padding:24px 0}.pupil-resource-card{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--panel);color:var(--ink);box-shadow:var(--shadow-xs);grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 18px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid}.pupil-resource-card:hover{border-color:#0284c7}@supports (color:color-mix(in lab, red, red)){.pupil-resource-card:hover{border-color:color-mix(in srgb, #0284c7 35%, var(--line))}}.pupil-resource-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.pupil-resource-card--assignment:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.pupil-resource-card--assignment:hover{border-color:color-mix(in srgb, var(--primary) 35%, var(--line))}}.pupil-resource-card-icon{color:#0369a1;background:linear-gradient(145deg,#e0f2fe 0%,#bae6fd 100%);border-radius:14px;place-items:center;width:52px;height:52px;display:grid}.pupil-resource-card--assignment .pupil-resource-card-icon{background:linear-gradient(145deg, var(--primary-soft) 0%, #dbeafe 100%);color:var(--primary-strong)}.pupil-resource-card-icon svg{fill:none;stroke:currentColor;stroke-width:1.85px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.pupil-resource-card-body{gap:8px;min-width:0;display:grid}.pupil-resource-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.pupil-resource-card-top strong{color:var(--ink);font-size:1rem;font-weight:800;line-height:1.3}.pupil-resource-card-meta{color:var(--muted);margin:0;font-size:.86rem;line-height:1.45}.pupil-resource-card-foot{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pupil-resource-date{color:var(--muted);font-size:.82rem;font-weight:700}.pupil-resource-date.is-overdue{color:#b91c1c}.pupil-resource-chip{background:var(--field);border:1px solid var(--line);min-height:26px;color:var(--muted);border-radius:999px;align-items:center;padding:0 10px;font-size:.76rem;font-weight:700;display:inline-flex}.pupil-resource-type{color:#0369a1;white-space:nowrap;background:#e0f2fe;border-radius:999px;align-items:center;min-height:26px;padding:0 10px;font-size:.76rem;font-weight:800;display:inline-flex}.pupil-resource-type--hero{color:#f0f9ff;background:#fff3;border:1px solid #ffffff40}.pupil-resource-card-arrow{color:var(--muted-light);opacity:0;font-size:1.2rem;font-weight:700;transition:opacity .15s,transform .15s,color .15s;transform:translate(-4px)}.pupil-resource-card:hover .pupil-resource-card-arrow{opacity:1;color:#0284c7;transform:translate(0)}.pupil-resource-card--assignment:hover .pupil-resource-card-arrow{color:var(--primary-strong)}.pupil-detail-page{gap:20px}.pupil-detail-hero{border-radius:var(--radius-lg);color:#f8fafc;grid-template-columns:minmax(0,1.35fr) minmax(220px,1fr);align-items:stretch;gap:24px;padding:clamp(24px,4vw,36px);display:grid;overflow:hidden;box-shadow:0 22px 56px #08263a2e}.pupil-detail-hero--assignment{background:linear-gradient(135deg,#130c44 0% 52%,#130c44 100%);border:1px solid #ffffff1f}.pupil-detail-hero--material{background:linear-gradient(135deg,#0c3d5c 0%,#155e8a 52%,#1d7fb8 100%);border:1px solid #ffffff1f}.pupil-detail-hero-copy{align-content:center;gap:8px;min-width:0;display:grid}.pupil-detail-hero-copy h2{letter-spacing:-.03em;color:#f8fafc;margin:0;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:850;line-height:1.08}.pupil-detail-hero-copy p{color:#e2e8f0;max-width:640px;margin:0;line-height:1.55}.pupil-detail-hero-copy .section-kicker{color:#bae6fd}.pupil-detail-hero--assignment .pupil-detail-hero-copy .section-kicker{color:#bfdbfe}.pupil-detail-back{color:#f8fafc;opacity:.92;align-items:center;gap:6px;width:fit-content;margin-bottom:4px;font-size:.88rem;font-weight:650;text-decoration:none;display:inline-flex}.pupil-detail-back:hover{opacity:1;text-decoration:underline}.pupil-detail-back svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.pupil-detail-chips{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.pupil-detail-chip{color:#f8fafc;background:#ffffff24;border:1px solid #ffffff38;border-radius:999px;align-items:center;min-height:30px;padding:0 12px;font-size:.82rem;font-weight:700;display:inline-flex}.pupil-detail-chip--warn{background:#ef444447;border-color:#fecaca73}.pupil-detail-hero-aside{border-radius:var(--radius-md);text-align:center;background:#0000002e;border:1px solid #ffffff29;align-content:center;justify-items:center;gap:8px;padding:22px;display:grid}.pupil-detail-hero-aside .section-kicker{color:#bae6fd;margin-bottom:0}.pupil-detail-hero-stat{letter-spacing:-.04em;color:#fff;font-size:clamp(2rem,4vw,2.6rem);font-weight:900;line-height:1}.pupil-detail-hero-aside small{color:#e2e8f0;font-size:.84rem;line-height:1.45}.pupil-detail-hero-link{color:#fff;border-bottom:1px solid #ffffff73;font-size:.88rem;font-weight:650;text-decoration:none}.pupil-detail-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.pupil-detail-stats article{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--panel);box-shadow:var(--shadow-xs);gap:4px;padding:16px 18px;display:grid}.pupil-detail-stats span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.pupil-detail-stats strong{color:var(--ink);letter-spacing:-.02em;overflow-wrap:anywhere;font-size:1.2rem;font-weight:850}.pupil-detail-stats small{color:var(--muted-light);font-size:.8rem}.pupil-detail-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:start;gap:20px;display:grid}.pupil-detail-card{padding:0;overflow:hidden}.pupil-detail-card--wide{grid-column:1/-1}.pupil-detail-card .admin-card-head{border-bottom:1px solid var(--line);background:var(--field);margin-bottom:0;padding:18px 24px}@supports (color:color-mix(in lab, red, red)){.pupil-detail-card .admin-card-head{background:color-mix(in srgb, var(--field) 65%, var(--panel))}}.pupil-detail-card-body{padding:20px 24px 24px}.pupil-info-list{gap:0;display:grid}.pupil-info-list>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:12px 0;display:flex}.pupil-info-list>div:last-child{border-bottom:0;padding-bottom:0}.pupil-info-list span{color:var(--muted);font-size:.86rem;font-weight:600}.pupil-info-list strong{color:var(--ink);text-align:right;font-weight:800}.pupil-feedback-box{border-left:4px solid var(--primary);border-radius:var(--radius-md);background:var(--primary-soft);margin-bottom:16px;padding:14px 16px}.pupil-feedback-box p{color:var(--ink);margin:6px 0 0;line-height:1.55}.pupil-locked-notice{border-radius:var(--radius-md);background:#fffbeb;border:1px solid #fde68a;gap:6px;padding:16px 18px;display:grid}.pupil-locked-notice strong{color:#92400e}.pupil-locked-notice p{color:#a16207;margin:0;font-size:.9rem;line-height:1.5}.pupil-submission-form{gap:14px;display:grid}.pupil-submission-form label{gap:6px;display:grid}.pupil-submission-form label>span{color:var(--muted);font-size:.84rem;font-weight:700}.pupil-drop-upload{margin-top:4px}.pupil-file-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.pupil-file-card{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--field);grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.pupil-file-card-icon{color:#334155;letter-spacing:.02em;background:#e2e8f0;border-radius:12px;place-items:center;width:48px;height:48px;font-size:.72rem;font-weight:900;display:grid}.pupil-file-card--pdf .pupil-file-card-icon{color:#b91c1c;background:#fee2e2}.pupil-file-card--image .pupil-file-card-icon{color:#130c44;background:#dbeafe}.pupil-file-card--video .pupil-file-card-icon{background:var(--primary-soft);color:var(--primary-strong)}.pupil-file-card--audio .pupil-file-card-icon{color:#be185d;background:#fce7f3}.pupil-file-card--doc .pupil-file-card-icon{color:#0369a1;background:#e0f2fe}.pupil-file-card-copy{min-width:0}.pupil-file-card-copy strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:800;display:block;overflow:hidden}.pupil-file-card-copy small{color:var(--muted);margin-top:2px;font-size:.8rem;display:block}.pupil-file-card-actions{gap:6px;display:flex}.pupil-file-action{background:var(--panel);border:1px solid var(--line);width:36px;height:36px;color:var(--ink);border-radius:10px;place-items:center;text-decoration:none;transition:background-color .15s,border-color .15s;display:grid}.pupil-file-action:hover{background:var(--primary-soft);border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.pupil-file-action:hover{border-color:color-mix(in srgb, var(--primary) 30%, var(--line))}}.pupil-file-action:hover{color:var(--primary-strong)}.pupil-file-action svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.pupil-file-empty{padding:8px 0}@media (width<=640px){.pupil-resource-grid,.pupil-catalog-panel .pupil-filter-bar,.pupil-catalog-panel .admin-card-head,.pupil-detail-card .admin-card-head,.pupil-detail-card-body{padding-inline:16px}.pupil-detail-stats,.pupil-file-grid{grid-template-columns:1fr}}.admin-dashboard .admin-card--calendar{background:linear-gradient(#fff 0%,#f7faff 100%);padding:0}.admin-calendar-toolbar{border-bottom:1px solid var(--dash-border);background:#fff;justify-content:space-between;align-items:center;gap:16px;min-height:88px;padding:22px 24px;display:flex}.admin-calendar-toolbar h3{color:var(--dash-ink);margin:2px 0 0;font-size:1.35rem;font-weight:950;line-height:1}.admin-calendar-toolbar-meta{justify-items:end;gap:4px;min-width:170px;display:grid}.admin-calendar-toolbar-meta span{color:var(--dash-muted);font-size:.78rem;font-weight:800}.admin-calendar-toolbar-meta strong{color:var(--dash-ink);font-size:.95rem;font-weight:950}.admin-calendar-shell{grid-template-columns:minmax(0,1fr) 260px;gap:18px;padding:22px 24px 24px;display:grid}.admin-calendar-board{border:1px solid var(--dash-border);background:#fff;border-radius:18px;min-width:0;padding:14px}.admin-dashboard .admin-dashboard-calendar-grid{gap:7px;padding:0}.admin-dashboard .admin-dashboard-calendar-dayname{color:var(--dash-label);letter-spacing:.04em;padding:0 2px 8px;font-size:.72rem;font-weight:950}.admin-dashboard .admin-dashboard-calendar-cell{min-height:92px;box-shadow:none;text-align:left;background:#f7faff;border:1px solid #dbe7f7;border-radius:14px;align-content:start;gap:7px;padding:10px;display:grid}.admin-dashboard .admin-dashboard-calendar-cell:not(.is-outside):hover{border-color:var(--dash-accent);background:#fff;transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.admin-dashboard .admin-dashboard-calendar-cell:not(.is-outside):hover{border-color:color-mix(in srgb, var(--dash-accent) 28%, var(--dash-border))}}.admin-dashboard .admin-dashboard-calendar-cell:not(.is-outside):hover{box-shadow:0 10px 20px #0f21470f}.admin-dashboard .admin-dashboard-calendar-cell.is-outside{opacity:1;color:#8aa0c0;background:#f7faff;border-color:#0000}.admin-dashboard .admin-dashboard-calendar-cell.is-today{border-color:var(--dash-accent);box-shadow:inset 0 0 0 1px var(--dash-accent);background:linear-gradient(#eff6ff 0%,#fff 100%)}@supports (color:color-mix(in lab, red, red)){.admin-dashboard .admin-dashboard-calendar-cell.is-today{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--dash-accent) 20%, transparent)}}.admin-dashboard .admin-dashboard-calendar-cell.has-holiday{background:#fffbeb;border-color:#f3c26a}.admin-dashboard .admin-dashboard-calendar-cell.tone-finance,.admin-dashboard .admin-dashboard-calendar-cell.tone-session,.admin-dashboard .admin-dashboard-calendar-cell.tone-notice{border-color:var(--dash-accent)}@supports (color:color-mix(in lab, red, red)){.admin-dashboard .admin-dashboard-calendar-cell.tone-finance,.admin-dashboard .admin-dashboard-calendar-cell.tone-session,.admin-dashboard .admin-dashboard-calendar-cell.tone-notice{border-color:color-mix(in srgb, var(--dash-accent) 28%, #dbe7f7)}}.admin-dashboard .calendar-date-row strong{font-size:.9rem;font-weight:950}.admin-dashboard .calendar-date-row span{background:var(--dash-accent);min-width:24px;height:24px;font-size:.72rem}.admin-dashboard .admin-dashboard-calendar-cell small{min-height:auto;color:var(--dash-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:0;font-size:.72rem;font-weight:800;line-height:1.25;display:-webkit-box}.admin-dashboard .calendar-event-dots{margin-top:auto}.admin-calendar-side{align-content:start;gap:12px;min-width:0;display:grid}.admin-dashboard .admin-calendar-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0;display:grid}.admin-dashboard .admin-calendar-summary div{border:1px solid var(--dash-border);background:#fff;border-radius:14px;align-content:center;min-height:78px;padding:14px}.admin-dashboard .admin-calendar-summary strong{font-size:1.45rem;line-height:1}.admin-dashboard .admin-calendar-agenda{border:1px solid var(--dash-border);background:#fff;border-radius:16px;gap:0;margin:0;padding:16px}.admin-calendar-agenda-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.admin-calendar-agenda-head h4{color:var(--dash-ink);font-size:.98rem;font-weight:950}.admin-calendar-agenda-head span{color:var(--dash-muted);font-size:.76rem;font-weight:850}.admin-dashboard .agenda-item{grid-template-columns:48px minmax(0,1fr);gap:11px;padding:12px 0}.admin-dashboard .agenda-item time{background:#f7faff;border-radius:12px;gap:1px;min-height:48px;display:grid}.admin-dashboard .agenda-item time strong{color:inherit;font-size:1rem;line-height:1}.admin-dashboard .agenda-item time span{color:inherit;text-transform:uppercase;font-size:.68rem;font-weight:900}.admin-dashboard .agenda-item strong{font-size:.9rem}.admin-dashboard .admin-calendar-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0;display:grid}.admin-dashboard .admin-calendar-legend span{border-color:var(--dash-border);background:#fff;border-radius:10px;justify-content:flex-start;min-height:34px;padding:0 10px}@media (width<=900px){.app-shell,.welcome-page,.login-page,.panel-grid.two,.metric-grid,.form-grid.two,.form-grid.three,.admin-hero,.ops-heading,.ops-layout,.ops-kpis,.finance-line,.console-head,.console-strip,.office-grid,.ledger-summary,.desk-masthead,.desk-register,.desk-grid,.cashbook-strip,.dash-hero,.admin-page-head,.pupil-home-hero,.dash-stat-grid,.admin-stat-grid,.pupil-portal-head,.pupil-metric-grid,.pupil-dashboard-grid,.account-profile-hero,.account-form-hero,.register-controls,.register-control-form,.register-table-head,.register-row,.theme-settings-layout,.theme-color-grid,.settings-split,.settings-overview-grid,.settings-overview-list,.website-studio,.media-picker-grid,.upload-grid,.profile-filter-bar,.profile-filter-bar--wide,.admin-calendar-summary,.report-draft-tool-grid,.report-inline-grade-row{grid-template-columns:1fr}.app-shell{display:block}.mobile-bar{z-index:25;background:var(--navbar-bg,var(--panel));grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;min-height:60px;margin:-12px -14px 10px;padding:10px 12px;display:grid;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.mobile-bar{background:color-mix(in srgb, var(--navbar-bg,var(--panel)) 92%, var(--field))}}.mobile-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--navbar-border,var(--line-strong));box-shadow:0 8px 24px #0f172a0d}.mobile-bar--pupil,.mobile-bar--with-actions{grid-template-columns:44px minmax(0,1fr) auto}.mobile-notification-menu .notification-panel{z-index:70;border-radius:16px;width:auto;max-height:calc(100dvh - 84px);padding:16px;position:fixed;top:68px;left:10px;right:10px;overflow-y:auto}.mobile-notification-menu .notification-list{max-height:none}.mobile-notification-menu .notification-item{grid-template-columns:1fr;gap:10px}.mobile-notification-menu .notification-open{justify-content:center;width:100%}.mobile-menu{display:inline-flex}.side-rail{z-index:40;border-right:1px solid var(--line);width:min(84vw,292px);height:100dvh;box-shadow:var(--shadow-lg);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-104%)}.nav-toggle:checked~.side-rail{transform:translate(0)}.nav-backdrop{z-index:35;opacity:0;pointer-events:none;background:#0f172a73;transition:opacity .2s;display:block;position:fixed;inset:0}.nav-toggle:checked~.nav-backdrop{opacity:1;pointer-events:auto}.rail-close{background:var(--sidebar-ink);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.rail-close{background:color-mix(in srgb, var(--sidebar-ink) 8%, transparent)}}.rail-close{border:1px solid var(--sidebar-ink)}@supports (color:color-mix(in lab, red, red)){.rail-close{border:1px solid color-mix(in srgb, var(--sidebar-ink) 10%, transparent)}}.rail-close{color:var(--sidebar-ink);cursor:pointer;font-size:0;transition:background-color .15s,transform .15s}.rail-close:hover{background:var(--sidebar-ink)}@supports (color:color-mix(in lab, red, red)){.rail-close:hover{background:color-mix(in srgb, var(--sidebar-ink) 12%, transparent)}}.rail-close:hover{transform:scale(1.04)}.rail-close svg{stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;width:18px;height:18px}.workspace{gap:16px;padding:12px 14px 28px}.topbar{background:var(--navbar-bg);border-bottom:1px solid var(--navbar-border,var(--line));-webkit-backdrop-filter:none;backdrop-filter:none;grid-template-columns:1fr;margin:0 -14px;padding:14px;position:static}.topbar h1{font-size:1.5rem}.topbar-meta{grid-template-columns:repeat(2,auto);justify-content:space-between}.topbar-actions{justify-content:space-between;align-items:center}.user-name{min-width:0;max-width:none}.table-like div,.attendance-row{flex-direction:column;align-items:stretch}.panel,.desk-panel,.office-panel{padding:14px}.panel-head,.desk-panel-head,.office-panel-head{flex-direction:column;align-items:stretch}.filter-bar,.inline-pay,.settings-form{grid-template-columns:1fr;display:grid}.inline-pay input{width:100%}.side-rail nav{grid-template-columns:1fr}.ops-kpis div,.finance-line div{border-right:0;border-bottom:1px solid var(--line)}.ops-kpis div:last-child,.finance-line div:last-child{border-bottom:0}.compact-table a,.compact-table .empty-line{grid-template-columns:1fr}.console-strip a,.console-strip div,.ledger-summary div{border-bottom:1px solid #dbe7f7;border-right:0}.console-strip a:last-child,.console-strip div:last-child,.ledger-summary div:last-child{border-bottom:0}.ledger-row{grid-template-columns:1fr}.ledger-row b{justify-self:start}.console-stamp{text-align:left}.desk-register a,.desk-register div,.cashbook-strip div{border-bottom:1px solid #dbe7f7;border-right:0}.desk-register a:last-child,.desk-register div:last-child,.cashbook-strip div:last-child{border-bottom:0}.cashbook-row,.map-rows a{grid-template-columns:1fr}.cashbook-row b{justify-self:start}.desk-date{border-top:4px solid #130c44;border-left:0}.desk-seal{width:58px;height:58px}.desk-title h2{font-size:1.85rem}.auth-card{padding:18px}.login-page{min-height:100vh;padding:14px}.login-showcase{border-radius:8px 8px 0 0;min-height:auto;padding:22px}.login-showcase-copy h1{font-size:2.1rem;line-height:1.02}.login-panel{border:1px solid #ffffff8c;border-radius:8px;min-height:auto;padding:22px}.login-card{padding:0}.website-studio-preview,.website-studio-save{position:static}.website-preview-hero{min-height:260px}.website-section-card>:not(.admin-card-head){margin-inline:16px}.tab-list{flex-wrap:nowrap;overflow-x:auto}.tab-list label{white-space:nowrap}.slide-over{grid-template-columns:minmax(0,1fr)}.slide-over-panel{grid-column:1;justify-self:end;width:min(100vw,560px)}.slide-over-panel-full{width:100vw}.dash-hero,.admin-page-head,.pupil-home-hero,.document-hero,.work-detail-hero,.report-preview-summary,.report-grade-grid{grid-template-columns:1fr;align-items:stretch;padding:16px}.admin-page-head .primary-action{justify-self:start}.pupil-balance-card{min-width:0}.pupil-detail-panel{position:static}.pupil-record-list>a,.pupil-record-list>article{grid-template-columns:1fr;gap:9px}.pupil-record-list .primary-action{justify-self:start}.pupil-work-list a,.pupil-year-list a{grid-template-columns:1fr}.pupil-work-list a>span,.pupil-year-list a>span{text-align:left;justify-self:start}.account-profile-avatar{width:60px;height:60px}.account-profile-balance{max-width:360px}.account-selection-card{position:static}.document-actions,.work-detail-actions,.admin-action-row{justify-content:flex-start}.role-insight-grid,.report-grade-row{grid-template-columns:1fr}.admin-tabs{margin-inline:-2px}.admin-tabs a{white-space:nowrap}.settings-hero,.settings-hero-brand,.admin-profile-hero{grid-template-columns:1fr;display:grid}.settings-hero-actions,.admin-profile-hero .admin-profile-badges{justify-content:flex-start;align-items:flex-start}.admin-dashboard-calendar-grid,.admin-calendar-summary,.admin-calendar-legend{padding-inline:16px}.admin-calendar-agenda{margin-inline:16px}.admin-dashboard-calendar-cell small{display:none}.admin-calendar-toolbar,.admin-calendar-shell{grid-template-columns:1fr}.admin-calendar-toolbar{padding:18px;display:grid}.admin-calendar-toolbar-meta{justify-items:start;min-width:0}.admin-calendar-shell{padding:18px}.admin-calendar-side{grid-template-columns:1fr}.admin-dashboard .admin-calendar-summary,.admin-dashboard .admin-calendar-legend{padding-inline:0}.admin-dashboard .admin-dashboard-calendar-cell{min-height:58px}.pupil-attendance-filter-form{grid-template-columns:1fr;padding:16px}.pupil-attendance-filter-actions{justify-content:stretch}.pupil-attendance-filter-actions .button,.pupil-attendance-filter-actions .button--ghost{flex:1 1 0}.admin-table-head{display:none}.admin-table article,.admin-record-row,.admin-table.compact article,.admin-table.compact .admin-record-row,.admin-table.backup-table article{grid-template-columns:1fr;gap:8px;padding:14px 0}.admin-table article form{justify-self:start}.detail-list div{grid-template-columns:1fr;gap:4px}.report-archive-strip{grid-template-columns:1fr}.report-archive-head-row{display:none}.report-detail-banner{flex-direction:column}.register-head-actions{grid-template-columns:1fr}.register-date-card{border-top:4px solid #130c44;border-left:0}.register-control-form{border-bottom:1px solid #dbe7f7;border-right:0;padding:14px}.register-export-card{padding:14px}.register-table-head{display:none}.guardian-register-log .guardian-register-row{grid-template-columns:1fr;gap:10px}.register-row{align-items:stretch;gap:12px}.register-options{grid-template-columns:repeat(2,minmax(0,1fr))}.register-footer{flex-direction:column;align-items:stretch}.register-footer .primary-action{width:100%}}@media (width<=640px){body{background:#f7faff}.workspace{gap:12px;padding:10px 10px 24px}.mobile-bar{margin:-10px -10px 8px;padding:10px}.mobile-menu{min-height:36px;padding:0 11px;font-size:.88rem}.topbar{gap:10px;margin:0 -10px;padding:12px 10px}.topbar h1{font-size:1.32rem;line-height:1.1}.page-kicker{margin-bottom:3px;font-size:.75rem}.topbar-context{min-width:0;padding:8px 10px}.topbar-actions{grid-template-columns:auto 34px minmax(0,1fr) auto;gap:8px;width:100%;display:grid}.user-avatar{width:34px;height:34px}.user-name strong{font-size:.84rem}.user-name small{font-size:.72rem}.topbar-actions button{padding:8px 9px;font-size:.84rem}.notification-trigger{min-height:34px;padding:0 9px}.notification-trigger span{display:none}.notification-panel{width:min(360px,100vw - 20px);right:-2px}.login-page{padding:10px}.login-showcase{gap:20px;padding:18px}.login-showcase-copy h1{font-size:1.75rem}.login-showcase-copy p{margin-top:9px;font-size:.92rem}.login-showcase-grid{grid-template-columns:1fr}.login-showcase-grid div{min-height:82px;padding:13px}.login-panel{padding:22px}.auth-card-head h2{font-size:1.6rem}.login-type-switch{grid-template-columns:1fr}.login-type-switch__item{min-height:58px}.auth-field input,.auth-submit{min-height:44px}.school-desk,.desk-panel,.panel{border-radius:8px;box-shadow:0 10px 24px #0f172a0a}.desk-masthead{gap:12px;padding:14px}.desk-seal{width:50px;height:50px;box-shadow:inset 0 0 0 5px #1e3a8a,inset 0 0 0 6px #ffffff2e}.desk-seal span{font-size:.95rem}.desk-title h2{font-size:1.45rem;line-height:1.08}.desk-title p{margin-top:6px;font-size:.86rem}.desk-date{padding:10px 12px}.desk-date strong{font-size:1.02rem}.desk-register{background:#fff;border-top:1px solid #dbe7f7;grid-template-columns:repeat(2,minmax(0,1fr))}.desk-register a,.desk-register div{border-bottom:1px solid #dbe7f7;border-right:1px solid #dbe7f7;min-height:92px;padding:12px}.desk-register a:nth-child(2n),.desk-register div:nth-child(2n){border-right:0}.desk-register a:last-child{border-bottom:0;grid-column:1/-1}.desk-register strong{font-size:1.28rem}.desk-register span{font-size:.84rem}.desk-register small{font-size:.76rem}.desk-grid,.desk-left,.desk-right{gap:12px}.desk-panel{padding:13px}.desk-panel-head{gap:8px;margin-bottom:12px}.desk-panel-head h2{font-size:1rem}.section-kicker{margin-bottom:5px;font-size:.7rem}.cashbook-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.cashbook-strip div{border-bottom:1px solid #dbe7f7;padding:11px}.cashbook-strip div:nth-child(2n){border-right:0}.cashbook-strip div:nth-last-child(-n+2){border-bottom:0}.cashbook-strip strong{font-size:1rem}.cashbook-head{display:none}.cashbook-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:12px 0;display:grid;position:relative}.cashbook-row>span:first-child{grid-column:1/-1}.cashbook-row b{justify-self:end}.status-pill{align-self:center}.map-rows a{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:12px 0}.map-rows span{width:28px;height:28px}.map-rows strong{display:block}.map-rows small{grid-column:2;margin-top:-4px;display:block}.registrar-stack div,.office-checks div{padding:10px 0}.side-rail{width:min(88vw,300px);padding:18px 14px}.rail-nav a{min-height:42px}.rail-foot{margin-top:16px}.admin-page-head,.pupil-home-hero,.pupil-portal-head{padding:14px}.pupil-identity h2{font-size:1.42rem;line-height:1.08}.pupil-identity p{font-size:.9rem}.pupil-section-tabs{gap:6px;padding:5px}.pupil-section-tabs a{min-height:38px;padding:0 11px;font-size:.86rem}.pupil-metric-grid{gap:10px}.pupil-metric-grid>a,.pupil-metric-grid>div{min-height:88px;padding:13px}.pupil-panel{padding:14px}.pupil-panel-head{flex-direction:column;align-items:stretch}.pupil-panel-head>span,.pupil-panel-head>strong{align-self:start}.pupil-profile-list div{grid-template-columns:1fr;gap:4px}.pupil-home-hero h2{font-size:1.42rem;line-height:1.08}.pupil-home-hero p{font-size:.9rem}.admin-page-head h2{font-size:1.42rem;line-height:1.08}.admin-page-head p{font-size:.9rem}.work-grid{grid-template-columns:1fr}.work-card{min-height:0;padding:14px}.work-detail-hero h2{font-size:1.42rem;line-height:1.08}.work-detail-hero p{font-size:.9rem}.admin-tabs{gap:6px;padding:5px}.admin-tabs a{padding:9px 11px;font-size:.86rem}.admin-stat-grid{gap:10px}.admin-stat-grid div{min-height:88px;padding:13px}.admin-stat-grid strong{font-size:1.28rem}.register-date-card{padding:11px 12px}.register-date-card strong{font-size:1.08rem}.register-control-form{padding:12px}.register-control-form h2{font-size:.96rem}.register-export-card{padding:12px}.register-export-dialog{width:min(100%,520px)}.register-export-head,.register-export-form{padding:16px}.register-export-actions{flex-direction:column;align-items:stretch}.register-export-actions .primary-action,.register-export-actions .secondary-action{width:100%}.register-summary-grid div{min-height:84px}.register-row{padding-inline:14px}.register-pupil>span{width:36px;height:36px}.register-options{gap:7px}.register-choice span{min-height:36px;padding:0 8px;font-size:.82rem}.register-excuse input{min-height:40px}.admin-table article{font-size:.92rem}.submission-card-head,.grading-form-head{flex-direction:column}.submission-statuses{justify-content:flex-start}}@media (width>=901px){.side-rail::-webkit-scrollbar{width:8px}.side-rail::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:999px}}@media (width<=1100px){.admin-module-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.admin-dashboard-grid,.admin-welcome-hero{grid-template-columns:1fr}.admin-welcome-highlight{max-width:280px}.admin-module-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-contact-grid,.admin-finance-footer{grid-template-columns:1fr}.admin-dashboard-calendar-grid{gap:6px}.school-app--admin .app-shell{display:block}}@media (width<=640px){.admin-dashboard-stat-grid,.admin-stat-grid{grid-template-columns:1fr}.admin-metric-card{min-height:96px;padding:16px}.admin-metric-arrow{display:none}.admin-card{padding:16px 18px}.admin-welcome-hero{padding:20px}.admin-welcome-hero h2{font-size:1.45rem}.admin-module-strip{grid-template-columns:1fr}.admin-module-text small{white-space:normal}.admin-dashboard-calendar-grid{gap:4px}.admin-dashboard-calendar-cell{min-height:44px;padding:5px 2px}.noticeboard-item-head{grid-template-columns:1fr}.noticeboard-item-actions{align-items:stretch}.noticeboard-item-actions button{width:100%;margin-left:0}}.pupil-balance-card,.dash-focus-card--dark,.desk-seal,.admin-welcome-hero,.admin-dashboard .admin-welcome-hero,.admin-profile-avatar,.pupil-focus-card,.guardian-child-avatar,.account-profile-balance,.account-balance-tile,.guardian-report-card-avatar,.pupil-report-card-avatar,.pupil-hero-badge,.pupil-btn-primary,.pupil-reports-hero,.pupil-record-hero,.pupil-resource-hero,.document-hero{background:#130c44!important}.console-head,.desk-masthead,.pupil-home-hero,.admin-insight-card,.report-draft-tool-card,.teacher-dashboard-shell,.teacher-dashboard-card,.admin-dashboard-shell,.people-hub-card,.people-filter-card,.guardian-family-card,.account-form-hero,.account-form-hero.invoice,.settings-hero,.website-section-card>.admin-card-head,.website-publish-card,.media-picker,.admin-profile-hero,.admin-finance-bar-row,.pupil-report-summary,.pupil-report-sheet,.pupil-resource-card-icon,.pupil-file-preview,.pupil-file-card-icon,.pupil-report-list-score.is-high,.pupil-report-list-score.is-mid,.pupil-report-list-score.is-low{background:#fff!important}.admin-page-head:before,.admin-welcome-hero:before,.admin-welcome-hero:after,.role-ledger i,.role-bars i,.website-preview-nav span{background:#130c44!important}.website-preview-hero{background-image:var(--website-preview-image,url(/images/hero-poster.jpg))!important}.website-preview-hero:before{content:"";pointer-events:none;background:#130c44b8;position:absolute;inset:0}.school-app .website-preview-hero{position:relative;background-image:var(--website-preview-image,url(/images/hero-poster.jpg))!important}.school-app .website-preview-hero>*{z-index:1;position:relative}.pupil-dashboard,.guardian-dashboard,.accountant-dashboard{--role-dash-brand:#130c44;--role-dash-border:#d8def0;--role-dash-soft:#f5f6fb;--role-dash-ink:#121832;--role-dash-muted:#5d6684}.pupil-dashboard .admin-welcome-hero,.guardian-dashboard .admin-welcome-hero,.accountant-dashboard .admin-welcome-hero{border:1px solid var(--role-dash-brand);grid-template-columns:minmax(0,1fr) minmax(260px,340px);align-items:stretch;gap:22px;padding:clamp(22px,3vw,34px);display:grid}@supports (color:color-mix(in lab, red, red)){.pupil-dashboard .admin-welcome-hero,.guardian-dashboard .admin-welcome-hero,.accountant-dashboard .admin-welcome-hero{border:1px solid color-mix(in srgb, var(--role-dash-brand) 24%, #fff)}}.pupil-dashboard .admin-welcome-hero,.guardian-dashboard .admin-welcome-hero,.accountant-dashboard .admin-welcome-hero{color:#fff;border-radius:8px;box-shadow:0 22px 54px #130c4433;background:var(--role-dash-brand)!important}.pupil-dashboard .admin-welcome-copy,.guardian-dashboard .admin-welcome-copy,.accountant-dashboard .admin-welcome-copy{align-content:center;gap:12px;min-width:0;display:grid}.pupil-dashboard .admin-welcome-copy h2,.guardian-dashboard .admin-welcome-copy h2,.accountant-dashboard .admin-welcome-copy h2{color:#fff;letter-spacing:0;font-size:clamp(1.9rem,4vw,3.3rem);font-weight:950;line-height:1}.pupil-dashboard .admin-welcome-copy p,.guardian-dashboard .admin-welcome-copy p,.accountant-dashboard .admin-welcome-copy p{color:#e8e6f3;max-width:720px;text-shadow:none;margin:0;line-height:1.65}.pupil-dashboard .admin-welcome-greeting,.guardian-dashboard .admin-welcome-greeting,.accountant-dashboard .admin-welcome-greeting,.pupil-dashboard .admin-welcome-highlight .section-kicker,.guardian-dashboard .admin-welcome-highlight .section-kicker,.accountant-dashboard .admin-welcome-highlight .section-kicker{color:#fff}.pupil-dashboard .admin-welcome-chips,.guardian-dashboard .admin-welcome-chips,.accountant-dashboard .admin-welcome-chips{flex-wrap:wrap;gap:8px;display:flex}.pupil-dashboard .admin-chip,.guardian-dashboard .admin-chip,.accountant-dashboard .admin-chip{color:#fff;background:#ffffff1a;border:1px solid #ffffff38;border-radius:8px;align-items:center;min-height:32px;padding:0 12px;font-weight:850;display:inline-flex}.pupil-dashboard .admin-welcome-highlight,.guardian-dashboard .admin-welcome-highlight,.accountant-dashboard .admin-welcome-highlight{min-height:220px;box-shadow:none;background:#ffffff14;border:1px solid #ffffff38;border-radius:8px;align-content:center;justify-items:center;gap:10px;padding:20px;display:grid}.pupil-dashboard .admin-welcome-highlight small,.guardian-dashboard .admin-welcome-highlight small,.accountant-dashboard .admin-welcome-highlight small{color:#e8e6f3;text-align:center;text-shadow:none}.pupil-dashboard .admin-welcome-highlight a,.guardian-dashboard .admin-welcome-highlight a,.accountant-dashboard .admin-welcome-highlight a{color:#fff;border:1px solid #ffffff47;border-radius:8px;align-items:center;min-height:38px;padding:0 12px;font-weight:900;text-decoration:none;display:inline-flex}.pupil-dashboard .admin-collection-ring-track,.guardian-dashboard .admin-collection-ring-track,.accountant-dashboard .admin-collection-ring-track{stroke:#ffffff38}.pupil-dashboard .admin-collection-ring-fill,.guardian-dashboard .admin-collection-ring-fill,.accountant-dashboard .admin-collection-ring-fill{stroke:#fff;filter:none}.pupil-dashboard .admin-stat-grid,.guardian-dashboard .admin-stat-grid,.accountant-dashboard .admin-stat-grid{gap:16px}.pupil-dashboard .admin-card,.guardian-dashboard .admin-card,.accountant-dashboard .admin-card,.pupil-dashboard .admin-module-link,.guardian-dashboard .admin-module-link,.accountant-dashboard .admin-module-link,.pupil-dashboard .admin-metric-card,.guardian-dashboard .admin-metric-card,.accountant-dashboard .admin-metric-card,.pupil-dashboard .admin-contact-card,.guardian-dashboard .admin-contact-card,.accountant-dashboard .admin-contact-card{border:1px solid var(--role-dash-border);background:#fff;border-radius:8px;box-shadow:0 12px 28px #1218320e}.pupil-dashboard .admin-card:hover,.guardian-dashboard .admin-card:hover,.accountant-dashboard .admin-card:hover,.pupil-dashboard .admin-module-link:hover,.guardian-dashboard .admin-module-link:hover,.accountant-dashboard .admin-module-link:hover,.pupil-dashboard .admin-metric-card:hover,.guardian-dashboard .admin-metric-card:hover,.accountant-dashboard .admin-metric-card:hover,.pupil-dashboard .admin-contact-card:hover,.guardian-dashboard .admin-contact-card:hover,.accountant-dashboard .admin-contact-card:hover{border-color:var(--role-dash-brand);transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.pupil-dashboard .admin-card:hover,.guardian-dashboard .admin-card:hover,.accountant-dashboard .admin-card:hover,.pupil-dashboard .admin-module-link:hover,.guardian-dashboard .admin-module-link:hover,.accountant-dashboard .admin-module-link:hover,.pupil-dashboard .admin-metric-card:hover,.guardian-dashboard .admin-metric-card:hover,.accountant-dashboard .admin-metric-card:hover,.pupil-dashboard .admin-contact-card:hover,.guardian-dashboard .admin-contact-card:hover,.accountant-dashboard .admin-contact-card:hover{border-color:color-mix(in srgb, var(--role-dash-brand) 32%, var(--role-dash-border))}}.pupil-dashboard .admin-card:hover,.guardian-dashboard .admin-card:hover,.accountant-dashboard .admin-card:hover,.pupil-dashboard .admin-module-link:hover,.guardian-dashboard .admin-module-link:hover,.accountant-dashboard .admin-module-link:hover,.pupil-dashboard .admin-metric-card:hover,.guardian-dashboard .admin-metric-card:hover,.accountant-dashboard .admin-metric-card:hover,.pupil-dashboard .admin-contact-card:hover,.guardian-dashboard .admin-contact-card:hover,.accountant-dashboard .admin-contact-card:hover{box-shadow:0 16px 34px #12183214}.pupil-dashboard .admin-metric-card,.guardian-dashboard .admin-metric-card,.accountant-dashboard .admin-metric-card{grid-template-columns:46px minmax(0,1fr);align-items:center;gap:14px;min-height:118px;padding:18px}.pupil-dashboard .admin-module-icon,.guardian-dashboard .admin-module-icon,.accountant-dashboard .admin-module-icon,.pupil-dashboard .admin-metric-icon,.guardian-dashboard .admin-metric-icon,.accountant-dashboard .admin-metric-icon,.pupil-dashboard .admin-contact-icon,.guardian-dashboard .admin-contact-icon,.accountant-dashboard .admin-contact-icon,.pupil-dashboard .admin-section-icon,.guardian-dashboard .admin-section-icon,.accountant-dashboard .admin-section-icon{background:var(--role-dash-soft);width:46px;height:46px;color:var(--role-dash-brand);border-radius:8px}.pupil-dashboard .admin-metric-body strong,.guardian-dashboard .admin-metric-body strong,.accountant-dashboard .admin-metric-body strong,.pupil-dashboard .admin-finance-footer strong,.guardian-dashboard .admin-finance-footer strong,.accountant-dashboard .admin-finance-footer strong{color:var(--role-dash-ink);font-weight:950}.pupil-dashboard .admin-metric-body small,.guardian-dashboard .admin-metric-body small,.accountant-dashboard .admin-metric-body small,.pupil-dashboard .section-kicker,.guardian-dashboard .section-kicker,.accountant-dashboard .section-kicker,.pupil-dashboard .admin-contact-copy small,.guardian-dashboard .admin-contact-copy small,.accountant-dashboard .admin-contact-copy small{color:var(--role-dash-brand);font-weight:950}.pupil-dashboard .admin-metric-hint,.guardian-dashboard .admin-metric-hint,.accountant-dashboard .admin-metric-hint,.pupil-dashboard .admin-module-text small,.guardian-dashboard .admin-module-text small,.accountant-dashboard .admin-module-text small,.pupil-dashboard .admin-feed-item p,.guardian-dashboard .admin-feed-item p,.accountant-dashboard .admin-feed-item p,.pupil-dashboard .admin-feed-item small,.guardian-dashboard .admin-feed-item small,.accountant-dashboard .admin-feed-item small{color:var(--role-dash-muted)}.pupil-dashboard .admin-card-head,.guardian-dashboard .admin-card-head,.accountant-dashboard .admin-card-head{border-bottom:1px solid var(--role-dash-border);min-height:78px;padding:18px 20px;background:#fff!important}.pupil-dashboard .admin-card-link,.guardian-dashboard .admin-card-link,.accountant-dashboard .admin-card-link{background:var(--role-dash-soft);color:var(--role-dash-brand);border-color:var(--role-dash-border);border-radius:8px}.pupil-dashboard .admin-card-link:hover,.guardian-dashboard .admin-card-link:hover,.accountant-dashboard .admin-card-link:hover{background:var(--role-dash-brand);color:#fff;border-color:var(--role-dash-brand)}.pupil-dashboard .admin-feed-item,.guardian-dashboard .admin-feed-item,.accountant-dashboard .admin-feed-item,.guardian-dashboard .guardian-child-card,.pupil-dashboard .pupil-assignment-row,.accountant-dashboard .admin-record-row,.accountant-dashboard .admin-finance-footer div{border-color:var(--role-dash-border);background:#fff;border-radius:8px}.pupil-dashboard .admin-feed-marker,.guardian-dashboard .admin-feed-marker,.accountant-dashboard .admin-feed-marker{background:var(--role-dash-brand);box-shadow:0 0 0 5px var(--role-dash-soft)}.guardian-dashboard .guardian-child-avatar{color:#fff;border-radius:8px;background:var(--role-dash-brand)!important}.accountant-dashboard .admin-module-strip{gap:16px}.accountant-dashboard .admin-finance-footer{background:var(--role-dash-soft)}@media (width<=900px){.pupil-dashboard .admin-welcome-hero,.guardian-dashboard .admin-welcome-hero,.accountant-dashboard .admin-welcome-hero{grid-template-columns:1fr}}.school-app .app-shell{grid-template-columns:284px minmax(0,1fr)}.school-app .side-rail{color:#fff;border-right:1px solid #ffffff1a;gap:20px;padding:22px 16px;box-shadow:10px 0 34px #130c4429;background:#130c44!important}.school-app .rail-head{padding:0}.school-app .brand-mark{background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;width:100%;min-height:58px;padding:8px}.school-app .brand-mark img,.school-app .brand-mark>span{border-radius:8px;width:42px;height:42px}.school-app .brand-mark>span{color:#130c44;box-shadow:none;background:#fff}.school-app .brand-mark strong{color:#fff;letter-spacing:0;font-size:1rem;font-weight:900}.school-app .rail-nav{gap:6px;display:grid}.school-app .rail-label{color:#ffffff9e;letter-spacing:.12em;text-transform:uppercase;margin:12px 8px 6px;font-size:.68rem;font-weight:900}.school-app .rail-nav a{color:#ffffffe6;min-height:48px;box-shadow:none;border:1px solid #0000;border-radius:8px;grid-template-columns:36px minmax(0,1fr);gap:10px;padding:0 12px;font-size:.92rem;font-weight:800;text-decoration:none}.school-app .rail-nav a span:not(.nav-icon){text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.school-app .nav-icon{color:#ffffffd1;background:#ffffff1a;border-radius:8px;width:32px;height:32px}.school-app .rail-nav a:hover{color:#fff;background:#ffffff1a;border-color:#ffffff1a;transform:translate(2px)}.school-app .rail-nav a:hover .nav-icon{color:#fff;background:#ffffff29}.school-app .rail-nav a.active{border-color:#fff;transform:none;box-shadow:0 12px 26px #00000029;color:#130c44!important;background:#fff!important}.school-app .rail-nav a.active .nav-icon{color:#130c44;background:#eeeef6}.school-app .rail-nav a.active:after{display:none}.school-app .rail-foot{background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;gap:5px;margin-top:auto;padding:14px}.school-app .rail-foot span{color:#ffffffa8}.school-app .rail-foot strong{color:#fff}.school-app .rail-close{color:#fff;background:#ffffff1a;border-color:#ffffff24}.school-app .rail-close svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:20px;height:20px}@media (width<=900px){.school-app .app-shell{display:block}.school-app .side-rail{z-index:50;width:min(88vw,320px);height:100dvh;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-104%);box-shadow:24px 0 60px #0f172a38}.school-app .nav-toggle:checked~.side-rail{transform:translate(0)}}.school-app .admin-tabs,.school-app .dash-tabs,.school-app .pupil-section-tabs,.school-app .tab-list,.school-app .settings-tabs{border:1px solid #d8def0;border-radius:8px;flex-wrap:wrap;gap:8px;padding:6px;display:flex;box-shadow:0 8px 22px #1218320b;background:#fff!important}.school-app .settings-tabs{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.school-app .admin-tabs a,.school-app .dash-tabs a,.school-app .pupil-section-tabs a,.school-app .tab-list label,.school-app .settings-tabs a{white-space:nowrap;min-height:42px;box-shadow:none;border:1px solid #d8def0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:.88rem;font-weight:900;line-height:1.15;text-decoration:none;display:inline-flex;color:#121832!important;background:#f5f6fb!important}.school-app .admin-tabs a strong,.school-app .dash-tabs a strong,.school-app .pupil-section-tabs a strong,.school-app .settings-tabs a strong{border:1px solid #d8def0;color:#130c44!important;background:#fff!important}.school-app .admin-tabs a:hover,.school-app .dash-tabs a:hover,.school-app .pupil-section-tabs a:hover,.school-app .tab-list label:hover,.school-app .settings-tabs a:hover{border-color:#130c44;transform:none;color:#130c44!important;background:#eeeef6!important}.school-app .admin-tabs a.active,.school-app .dash-tabs a.active,.school-app .pupil-section-tabs a.active,.school-app .settings-tabs a.active,.school-app #tab-school:checked~.tab-list label[for=tab-school],.school-app #tab-brand:checked~.tab-list label[for=tab-brand],.school-app #tab-gateways:checked~.tab-list label[for=tab-gateways],.school-app #tab-security:checked~.tab-list label[for=tab-security]{box-shadow:0 10px 24px #130c442e;color:#fff!important;background:#130c44!important;border-color:#130c44!important}.school-app .admin-tabs a.active *,.school-app .dash-tabs a.active *,.school-app .pupil-section-tabs a.active *,.school-app .settings-tabs a.active *,.school-app #tab-school:checked~.tab-list label[for=tab-school] *,.school-app #tab-brand:checked~.tab-list label[for=tab-brand] *,.school-app #tab-gateways:checked~.tab-list label[for=tab-gateways] *,.school-app #tab-security:checked~.tab-list label[for=tab-security] *{color:#fff!important}.school-app .admin-tabs a.active strong,.school-app .dash-tabs a.active strong,.school-app .pupil-section-tabs a.active strong,.school-app .settings-tabs a.active strong{border-color:#ffffff47;color:#fff!important;background:#ffffff29!important}@media (width<=640px){.school-app .admin-tabs,.school-app .dash-tabs,.school-app .pupil-section-tabs,.school-app .tab-list{flex-wrap:nowrap;overflow-x:auto}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{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-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-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
