/* Skooltime design foundations: semantic tokens and accessible shared primitives. */
:root{--sk-bg:#f5f8fc;--sk-surface:#fff;--sk-surface-muted:#eff5fa;--sk-surface-elevated:#fff;--sk-text:#102d62;--sk-text-muted:#627c9b;--sk-border:#d9e6f0;--sk-border-strong:#b5cde0;--sk-primary:#0d47a1;--sk-primary-hover:#083b87;--sk-secondary:#008f87;--sk-accent:#f59e0b;--sk-success:#087a59;--sk-warning:#9a6400;--sk-danger:#b42318;--sk-info:#075e9f;--sk-radius-sm:8px;--sk-radius:12px;--sk-radius-lg:18px;--sk-shadow-sm:0 3px 10px rgba(14,58,112,.06);--sk-shadow:0 10px 28px rgba(14,58,112,.09);--sk-ease:cubic-bezier(.2,.8,.2,1);--sk-fast:150ms;--sk-base:220ms}
html.dark{--sk-bg:#09192b;--sk-surface:#102945;--sk-surface-muted:#132f4e;--sk-surface-elevated:#153554;--sk-text:#eff8ff;--sk-text-muted:#c2d5e9;--sk-border:#315573;--sk-border-strong:#4d7291;--sk-primary:#65a7ff;--sk-primary-hover:#8dbfff;--sk-secondary:#57d7ca;--sk-accent:#ffc45b;--sk-success:#68d6a8;--sk-warning:#ffd271;--sk-danger:#ff9b92;--sk-info:#7dc1ff;--sk-shadow-sm:0 3px 12px rgba(0,0,0,.18);--sk-shadow:0 12px 32px rgba(0,0,0,.24)}
*,*::before,*::after{box-sizing:border-box}html{background:var(--sk-bg)}body{min-height:100vh;background:var(--sk-bg);color:var(--sk-text);text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}button,[role=button],select,input[type=checkbox],input[type=radio]{touch-action:manipulation}a{transition:color var(--sk-fast) var(--sk-ease),background var(--sk-fast) var(--sk-ease),border-color var(--sk-fast) var(--sk-ease),transform var(--sk-fast) var(--sk-ease)}
:focus-visible{outline:3px solid color-mix(in srgb,var(--sk-secondary) 52%,white);outline-offset:3px!important}html.dark :focus-visible{outline-color:#72eee0}.sk-skip-link{position:fixed;z-index:10000;top:10px;left:10px;padding:10px 14px;border-radius:var(--sk-radius-sm);color:#fff;background:var(--sk-primary);box-shadow:var(--sk-shadow);transform:translateY(-170%);transition:transform var(--sk-fast) var(--sk-ease)}.sk-skip-link:focus{transform:translateY(0)}.sk-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.workspace-main{background:var(--sk-bg)}.workspace-main .container{animation:sk-page-enter var(--sk-base) var(--sk-ease) both}@keyframes sk-page-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.sk-page-heading h1{color:var(--sk-text)!important}.sk-page-heading .sk-breadcrumb{color:var(--sk-text-muted)!important}.sk-topbar{background:color-mix(in srgb,var(--sk-surface) 94%,transparent)!important;border-color:var(--sk-border)!important}.sk-content-shell{min-width:0}
.sk-surface,.sk-ui-card{border:1px solid var(--sk-border);border-radius:var(--sk-radius);background:var(--sk-surface);box-shadow:var(--sk-shadow-sm)}.sk-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 16px}.sk-section-header h2{margin:0;color:var(--sk-text);font-size:1rem}.sk-section-header p{margin:4px 0 0;color:var(--sk-text-muted);font-size:.84rem}.sk-empty-state{display:grid;justify-items:center;gap:7px;padding:34px 18px;color:var(--sk-text-muted);text-align:center}.sk-empty-state strong{color:var(--sk-text)}.sk-loading-line{display:block;height:4px;overflow:hidden;border-radius:99px;background:var(--sk-surface-muted)}.sk-loading-line::before{content:"";display:block;width:42%;height:100%;border-radius:inherit;background:linear-gradient(90deg,transparent,var(--sk-secondary),transparent);animation:sk-loading 1.2s infinite}@keyframes sk-loading{from{transform:translateX(-110%)}to{transform:translateX(260%)}}
.sk-status{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:3px 8px;border:1px solid var(--sk-border);border-radius:999px;color:var(--sk-text-muted);background:var(--sk-surface-muted);font-size:.72rem;font-weight:700}.sk-status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.sk-status.is-success{color:var(--sk-success);background:color-mix(in srgb,var(--sk-success) 9%,var(--sk-surface))}.sk-status.is-warning{color:var(--sk-warning);background:color-mix(in srgb,var(--sk-warning) 10%,var(--sk-surface))}.sk-status.is-danger{color:var(--sk-danger);background:color-mix(in srgb,var(--sk-danger) 9%,var(--sk-surface))}
.workspace-main .form-group{gap:7px}.workspace-main .form-group label,.workspace-main label{letter-spacing:.005em}.workspace-main input[aria-invalid=true],.workspace-main select[aria-invalid=true],.workspace-main textarea[aria-invalid=true]{border-color:var(--sk-danger)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--sk-danger) 15%,transparent)!important}.sk-field-help{margin:5px 0 0;color:var(--sk-text-muted);font-size:.76rem}.sk-field-error{margin:5px 0 0;color:var(--sk-danger);font-size:.76rem;font-weight:600}.workspace-main .alert{border-radius:var(--sk-radius-sm)!important}.workspace-main .alert.error{border-color:color-mix(in srgb,var(--sk-danger) 38%,var(--sk-border))!important;color:var(--sk-danger)!important;background:color-mix(in srgb,var(--sk-danger) 8%,var(--sk-surface))!important}.workspace-main .alert.success{border-color:color-mix(in srgb,var(--sk-success) 35%,var(--sk-border))!important;color:var(--sk-success)!important;background:color-mix(in srgb,var(--sk-success) 8%,var(--sk-surface))!important}
.sk-table-scroll{border-radius:var(--sk-radius)!important}.workspace-main table caption{padding:9px 12px;color:var(--sk-text-muted);font-size:.76rem;text-align:left}.workspace-main .table th{font-size:.71rem;letter-spacing:.025em;text-transform:uppercase}.workspace-main .table tr:focus-within{outline:2px solid color-mix(in srgb,var(--sk-secondary) 45%,transparent);outline-offset:-2px}
.sk-toast{max-width:min(390px,calc(100vw - 32px));border-radius:var(--sk-radius)!important;box-shadow:var(--sk-shadow)!important}.sk-button-spinner{border-color:currentColor!important;border-right-color:transparent!important}.sk-sidebar,.sk-mobile-public-links,.sk-dropdown-menu{backdrop-filter:saturate(130%) blur(12px)}
@media(max-width:760px){.workspace-main{padding-bottom:24px}.workspace-main .container{padding-inline:14px!important}.sk-section-header{align-items:stretch;flex-direction:column}.workspace-main .actions{width:100%}.workspace-main .actions .btn{flex:1;justify-content:center}.workspace-main input,.workspace-main select,.workspace-main textarea{font-size:16px!important}.workspace-main .table{min-width:620px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.sk-ui-kit-page{max-width:1180px!important}.sk-ui-kit-hero{padding:34px;overflow:hidden;border:1px solid #1d6cb5;border-radius:var(--sk-radius-lg);color:#fff;background:linear-gradient(125deg,#082f70,#0d5c99 54%,#008f87);box-shadow:var(--sk-shadow)}.sk-ui-kit-hero>span{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#affcf4}.sk-ui-kit-hero h1{max-width:680px;margin:8px 0;color:#fff!important;font-size:clamp(1.8rem,4vw,3rem)!important}.sk-ui-kit-hero p{max-width:680px;margin:0;color:#e3f6ff!important;line-height:1.65}.sk-ui-kit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.sk-ui-kit-grid .sk-ui-card{min-height:180px;padding:20px}.sk-ui-kit-grid .actions{align-items:center}.sk-ui-kit-grid .alert{margin-top:10px}.sk-ui-kit-grid .sk-empty-state{padding-block:10px}@media(max-width:720px){.sk-ui-kit-hero{padding:24px}.sk-ui-kit-grid{grid-template-columns:1fr}.sk-ui-kit-grid .actions{align-items:stretch;flex-direction:column}.sk-ui-kit-grid .actions .btn{width:100%}}
