/*
 * Skooltime Design System 4.0
 * A calm, information-first interface for independent schools, groups and
 * public-sector education programmes. Loaded last intentionally: it unifies
 * established modules without requiring a risky rewrite of each workflow.
 */
:root{--st-ink:#132238;--st-ink-2:#223958;--st-canvas:#f4f7fb;--st-surface:#fff;--st-surface-alt:#f8fafc;--st-line:#d9e2ee;--st-line-strong:#bac9db;--st-muted:#64748b;--st-brand:#2454a6;--st-brand-strong:#173d82;--st-brand-soft:#eaf1ff;--st-teal:#057a78;--st-success:#13795b;--st-warning:#a96500;--st-danger:#bb2b3a;--st-radius:14px;--st-radius-lg:20px;--st-shadow:0 8px 25px rgba(24,44,78,.08);--st-shadow-float:0 20px 48px rgba(20,42,76,.14);--sk-bg:var(--st-canvas);--sk-bg-elevated:var(--st-surface);--sk-bg-soft:var(--st-surface-alt);--sk-text:var(--st-ink);--sk-muted:var(--st-muted);--sk-border:var(--st-line);--sk-border-strong:var(--st-line-strong);--sk-primary:var(--st-brand);--sk-primary-strong:var(--st-brand-strong);--sk-success:var(--st-success);--sk-warning:var(--st-warning);--sk-danger:var(--st-danger);--sk-radius:var(--st-radius);--sk-radius-lg:var(--st-radius-lg);--sk-sidebar-width:272px;--sk-topbar-height:76px}
html{background:var(--st-canvas)}body{color:var(--st-ink);font-family:"DM Sans",Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-rendering:optimizeLegibility}body.is-authenticated,body.is-public{background:var(--st-canvas)}body.is-authenticated::before,body.is-authenticated::after{display:none!important}body.is-public::before,body.is-public::after{opacity:.32!important}.workspace-main{max-width:1720px;padding:28px 32px 48px}.workspace-main>*{min-width:0}.container{max-width:1540px}.muted,p.muted{color:var(--st-muted)!important}.eyebrow,.section-kicker{color:var(--st-brand)!important;font-weight:800;letter-spacing:.09em}.workspace-main h1,.workspace-main h2,.workspace-main h3,.workspace-main h4{color:var(--st-ink);letter-spacing:-.025em}.workspace-main h1{font-size:clamp(1.55rem,2.3vw,2.25rem);line-height:1.15}.workspace-main h2{font-size:clamp(1.25rem,1.7vw,1.6rem);line-height:1.22}.workspace-main h3{font-size:1.05rem;line-height:1.3}
/* A restrained, government-grade shell: strong hierarchy and reliable navigation. */
.sk-auth-layout{grid-template-columns:var(--sk-sidebar-width) minmax(0,1fr)}.sk-sidebar{background:linear-gradient(180deg,#10233c 0%,#0b1a2f 54%,#081525 100%);border-right:1px solid rgba(161,191,231,.19);box-shadow:10px 0 32px rgba(5,18,35,.13)}.sk-sidebar::after{opacity:.45;background-image:linear-gradient(rgba(154,189,234,.065) 1px,transparent 1px)}.sk-sidebar-head{padding:14px 16px;border-color:rgba(188,211,239,.15)}.sk-sidebar-logo{border-radius:12px;box-shadow:0 8px 20px rgba(0,0,0,.28)}.sk-sidebar-brand-copy strong{font-size:18px;letter-spacing:-.025em}.sk-sidebar-brand-copy small{color:#9fb2cc;letter-spacing:.11em}.sk-workspace-card{min-height:62px;border-radius:12px;border-color:rgba(182,208,239,.16);background:rgba(255,255,255,.065);box-shadow:none}.sk-workspace-avatar,.sk-profile-avatar{border-radius:11px;background:linear-gradient(135deg,#3b82f6,#1283a9);box-shadow:none}.sk-nav-section{margin-top:18px;color:#8ca0bd;font-size:9px;letter-spacing:.15em}.sk-nav-link{min-height:43px;margin:2px 0;padding:5px 9px;border-radius:10px;color:#c1cee0;font-size:13px;font-weight:700}.sk-nav-link:hover{background:rgba(171,204,244,.10);transform:none}.sk-nav-link.is-active{background:#2355a8;box-shadow:inset 3px 0 #6ed1dd,0 7px 16px rgba(0,0,0,.16)}.sk-nav-link.is-active::before{display:none}.sk-nav-icon{width:30px;height:30px;flex-basis:30px;border-radius:8px;background:rgba(255,255,255,.07);color:#b9cce5}.sk-nav-link.is-active .sk-nav-icon{background:rgba(255,255,255,.15)}.sk-nav-hint{background:rgba(167,209,255,.14);color:#cae1ff}.sk-security-chip{border-radius:12px;background:rgba(255,255,255,.055)}.sk-security-chip strong{color:#f5f8fc}.sk-security-chip small{color:#92a7c0}.sk-collapse-button{border-radius:9px}.sk-content-shell{background:radial-gradient(circle at 100% 0,rgba(50,111,201,.08),transparent 26%),var(--st-canvas)}
.sk-topbar{min-height:var(--sk-topbar-height);padding:12px 32px;border-bottom-color:#dce5ef;background:rgba(255,255,255,.93);box-shadow:0 2px 12px rgba(27,54,89,.035);backdrop-filter:blur(16px)}.sk-breadcrumb{color:#61728b;font-size:9px;letter-spacing:.1em}.sk-page-heading h1{font-size:clamp(1.28rem,1.75vw,1.7rem);font-family:"DM Sans",sans-serif;font-weight:750;letter-spacing:-.035em}.sk-icon-button{width:41px;height:41px;flex-basis:41px;border-radius:10px;border-color:#d6e0ec;color:#38506e;box-shadow:none}.sk-icon-button:hover{background:var(--st-brand-soft);border-color:#abc4ee;color:var(--st-brand);box-shadow:none}.sk-accent-button{background:var(--st-brand);box-shadow:none}.sk-accent-button:hover{background:var(--st-brand-strong)}.sk-command-trigger{height:41px;border-radius:10px;border-color:#d6e0ec;background:#f7f9fc;box-shadow:none}.sk-command-trigger:hover{background:#fff;border-color:#a8c2e9;box-shadow:none}.sk-sync-trigger{border-radius:10px!important;border-color:#d6e0ec!important;background:#fff!important;box-shadow:none!important}.sk-profile-trigger{height:44px;border-radius:10px}.sk-profile-trigger:hover{border-color:#c6d5e6;background:#f8fafc}.sk-dropdown-menu{border-radius:14px;border-color:#d6e0ec;box-shadow:var(--st-shadow-float)}.sk-dropdown-link{border-radius:9px}.sk-dropdown-link:hover{background:var(--st-brand-soft);color:var(--st-brand)}.sk-profile-session-note{border-radius:9px;background:#edf8f5;color:#176253}
/* Common work surfaces: readable at scale and comfortably spaced for real school records. */
body.is-authenticated .card,body.is-authenticated .surface,body.is-authenticated .soft-card,.sk-dashboard-card{border:1px solid var(--st-line);border-radius:var(--st-radius);background:var(--st-surface);box-shadow:var(--st-shadow)}body.is-authenticated .card:hover,body.is-authenticated .surface:hover,body.is-authenticated .soft-card:hover{transform:none;box-shadow:0 10px 28px rgba(24,44,78,.1)}.card{padding:24px}.card>.split-header:first-child{padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid #e4ebf3}.soft-card{background:#f8fafc!important}.split-header{gap:18px}.actions{gap:10px}.grid-2,.grid-3,.grid-5{gap:22px}.btn{min-height:42px;border-radius:9px;padding:10px 15px;background:var(--st-brand);box-shadow:none;font-size:12px;font-weight:800;letter-spacing:.005em}.btn:hover{background:var(--st-brand-strong);box-shadow:0 8px 16px rgba(28,73,145,.19);transform:translateY(-1px)}.btn.secondary{background:var(--st-teal);box-shadow:none}.btn.secondary:hover{background:#04635f}.btn.green{background:var(--st-success);box-shadow:none}.btn.danger{background:var(--st-danger);box-shadow:none}.btn.ghost{color:#284160!important;border-color:#cbd8e6;background:#fff;box-shadow:none}.btn.ghost:hover{color:var(--st-brand)!important;border-color:#90b0dd;background:var(--st-brand-soft)}.btn.small{min-height:36px;border-radius:8px;padding:8px 11px;font-size:10.5px}.badge{border-radius:7px;padding:5px 8px;font-size:9px;letter-spacing:.04em}.alert{border-radius:10px;padding:13px 15px;font-size:12px}.form-group{margin-bottom:20px}.form-group label{margin-bottom:8px;color:#263a55;font-size:12px;font-weight:800}input:not([type="checkbox"]):not([type="radio"]),select,textarea{min-height:47px;border-color:#cbd8e6;border-radius:9px;padding:11px 13px;color:var(--st-ink);background:#fff;font-size:13px;box-shadow:none}textarea{min-height:130px;line-height:1.6}input:hover,select:hover,textarea:hover{border-color:#9bb6d7}input:focus,select:focus,textarea:focus{border-color:#4b7fc4;box-shadow:0 0 0 3px rgba(47,101,185,.13)}input::placeholder,textarea::placeholder{color:#8b9aaf;opacity:1}.form-grid,.form-row{gap:18px}.sk-file-field{border-radius:10px;background:#f8fafc}
/* Tables prioritise scanning, selection and density without becoming cramped. */
.table-wrap,.sk-table-scroll{border:1px solid #d8e2ed;border-radius:12px;background:#fff;box-shadow:none}.table{font-size:12px}.table th,th{padding:13px 15px;border-bottom-color:#d9e3ee;color:#50647f;background:#f4f7fb;font-size:10px;font-weight:850;letter-spacing:.07em}.table td,td{padding:14px 15px;border-bottom-color:#e5ebf2;color:#253a56;font-size:12px}.table tbody tr:hover,.table tbody tr:hover td,tbody tr:hover td{background:#f4f8ff}.table a:not(.btn),td a:not(.btn){color:#1f5cb6;font-weight:750}.table .btn{min-height:32px;padding:6px 9px;font-size:10px}.empty-state{border:1px dashed #bdccde;border-radius:12px;background:#f9fbfd;color:#61728b}
/* Public surface: trustworthy institutional design, not a marketing experiment. */
.sk-public-nav{border-bottom:1px solid #d9e3ef;background:rgba(255,255,255,.94);box-shadow:0 1px 0 rgba(19,42,72,.02)}.sk-public-nav.is-scrolled{border-bottom-color:#d4dfea;background:rgba(255,255,255,.97);box-shadow:0 8px 24px rgba(22,47,81,.08)}.sk-public-nav-inner{width:min(1340px,calc(100% - 48px));min-height:74px}.sk-wordmark{color:#132238}.sk-wordmark strong{font-size:18px;letter-spacing:-.035em}.sk-wordmark small{color:#61728b;font-size:9px;letter-spacing:.1em}.sk-wordmark-mark{border-radius:11px;box-shadow:0 5px 14px rgba(25,57,101,.17)}.sk-public-links{gap:8px}.sk-public-links>a:not(.btn){padding:8px 10px;border-radius:7px;color:#3b506c;font-size:12px}.sk-public-links>a:not(.btn):hover{color:var(--st-brand);background:var(--st-brand-soft)}.sk-public-footer{padding:54px max(24px,calc((100% - 1280px)/2)) 22px;background:linear-gradient(135deg,#0d1f36,#102b4c);color:#bac9db}.sk-public-footer-grid{grid-template-columns:1.8fr 1fr 1fr 1.25fr;gap:36px}.sk-public-footer-grid>div>strong{font-size:11px;letter-spacing:.07em;text-transform:uppercase}.sk-public-footer-grid a:not(.btn){font-size:11px;line-height:1.5}.sk-footer-launch{border-radius:12px;background:rgba(117,160,219,.12)}.sk-public-footer-bottom{font-size:10px}
/* Dark theme is token based: no dark text may inherit onto a dark surface. */
html.dark,body.dark{--st-ink:#edf3fa;--st-ink-2:#d9e5f4;--st-canvas:#0c1727;--st-surface:#122238;--st-surface-alt:#172a42;--st-line:#29425e;--st-line-strong:#3e5b7a;--st-muted:#b1c1d5;--st-brand:#73a9ff;--st-brand-strong:#9cc0ff;--st-brand-soft:#183a68;--st-teal:#42c8c0;--st-success:#54ce9b;--st-warning:#ffc567;--st-danger:#ff8893;--sk-bg:var(--st-canvas);--sk-bg-elevated:var(--st-surface);--sk-bg-soft:var(--st-surface-alt);--sk-text:var(--st-ink);--sk-muted:var(--st-muted);--sk-border:var(--st-line);--sk-border-strong:var(--st-line-strong);--sk-primary:var(--st-brand);--sk-primary-strong:var(--st-brand-strong)}body.dark .sk-content-shell{background:radial-gradient(circle at 100% 0,rgba(90,144,240,.13),transparent 27%),var(--st-canvas)}body.dark .sk-topbar{border-color:#29425e;background:rgba(15,30,49,.94)}body.dark .sk-page-heading h1,body.dark .workspace-main h1,body.dark .workspace-main h2,body.dark .workspace-main h3,body.dark .workspace-main h4,body.dark .workspace-main strong{color:#f2f7fd!important}body.dark .sk-command-trigger,body.dark .sk-icon-button,body.dark .sk-profile-trigger,body.dark .sk-sync-trigger{border-color:#34516f!important;background:#122238!important;color:#dceaff!important}body.dark .sk-command-trigger span,body.dark .sk-sync-trigger strong{color:#dceaff!important}body.dark .sk-command-trigger kbd{border-color:#456586;background:#1b304a;color:#c8d8ec}body.dark .sk-dropdown-menu{border-color:#34516f;background:#122238}body.dark .sk-dropdown-link:hover{background:#183a68;color:#cfe2ff}body.dark .sk-profile-session-note{background:#123d3d;color:#d4fff8}body.dark .workspace-main .card,body.dark .workspace-main .surface,body.dark .workspace-main .soft-card{border-color:#29425e;background:#122238!important}body.dark .workspace-main .soft-card{background:#172a42!important}body.dark .form-group label{color:#dce8f6}body.dark input:not([type="checkbox"]):not([type="radio"]),body.dark select,body.dark textarea{border-color:#3b5878;background:#0d1a2c;color:#edf4fd}body.dark input::placeholder,body.dark textarea::placeholder{color:#9db0c9}body.dark .table-wrap,body.dark .sk-table-scroll,body.dark .table,body.dark table{border-color:#2d4967;background:#122238}body.dark .table th,body.dark th{border-color:#2d4967;background:#172a42;color:#b7c8dc}body.dark .table td,body.dark td{border-color:#284461;color:#e3edf8}body.dark .table tbody tr:hover,body.dark .table tbody tr:hover td,body.dark tbody tr:hover td{background:#193252}body.dark .btn.ghost{border-color:#3b5878;background:#122238;color:#e3efff!important}body.dark .btn.ghost:hover{background:#183a68;color:#fff!important}html.dark .sk-public-nav{border-color:#29425e;background:rgba(12,23,39,.95)}html.dark .sk-public-links>a:not(.btn){color:#c8d7e8}html.dark .sk-public-links>a:not(.btn):hover{background:#183a68;color:#fff}
@media(max-width:1260px){.workspace-main{padding-inline:24px}.sk-topbar{padding-inline:24px}.sk-public-nav-inner{width:calc(100% - 36px)}.sk-public-footer-grid{grid-template-columns:1.5fr 1fr 1fr}.sk-footer-launch{grid-column:1/-1;max-width:390px}.grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.sk-auth-layout{display:block}.sk-sidebar{position:fixed;width:272px;left:-290px;transition:left .2s ease}.sk-sidebar-mobile-open .sk-sidebar{left:0}.sk-topbar{padding-inline:18px}.workspace-main{padding:22px 18px 38px}.card{padding:19px}.grid-3,.grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.sk-public-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}}
@media(max-width:640px){.workspace-main{padding:18px 14px 32px}.sk-topbar{min-height:68px;padding:10px 14px}.sk-breadcrumb{display:none}.card{padding:16px;border-radius:12px}.split-header{align-items:flex-start;flex-direction:column}.split-header>.actions{width:100%}.split-header>.actions .btn{flex:1}.grid-2,.grid-3,.grid-5{grid-template-columns:1fr;gap:16px}.form-group{margin-bottom:17px}.table th,th{padding:11px}.table td,td{padding:12px 11px}.sk-public-nav-inner{width:calc(100% - 28px);min-height:66px}.sk-public-links{display:none}.sk-public-menu{display:grid}.sk-mobile-public-links{position:absolute;top:calc(100% + 8px);left:14px;right:14px;z-index:10;padding:9px;border:1px solid #d6e0ec;border-radius:12px;background:#fff;box-shadow:var(--st-shadow-float)}.sk-mobile-public-links a{display:block;padding:11px 10px;border-radius:8px;color:#243a57;font-size:13px;font-weight:750}.sk-mobile-public-links a:hover{background:var(--st-brand-soft);color:var(--st-brand)}.sk-public-footer{padding:38px 20px 18px}.sk-public-footer-grid{grid-template-columns:1fr;gap:25px}.sk-footer-launch{grid-column:auto}.sk-public-footer-bottom{align-items:flex-start;flex-direction:column;margin-top:28px;gap:8px}.sk-profile-menu{max-width:calc(100vw - 28px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
