@font-face{font-family:Sora;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/sora.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--navy: #1a3c5e;--navy-deep: #0e2540;--amber: #f5a623;--cream: #f0f4f8;--amber-ink: #8a5700;--brand-600: var(--navy);--brand-700: var(--navy);--brand-800: var(--navy-deep);--brand-050: #e8eef5;--brand-100: #d3deea;--accent-600: var(--amber-ink);--accent-050: #fef6e7;--ink: #111827;--ink-2: #374151;--muted: #616b7b;--line: #d3dce6;--line-strong: #b6c3d2;--bg: var(--cream);--surface: #ffffff;--surface-2: #e4eaf1;--primary: var(--navy);--primary-ink: #ffffff;--cta: var(--amber);--cta-ink: var(--navy);--ok: #065f46;--ok-bg: #e6f2ee;--warn: var(--amber-ink);--warn-bg: #fef6e7;--error: #b91c1c;--error-bg: #fceded;--font-display: "Sora", -apple-system, system-ui, "Segoe UI", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif: "Instrument Serif", "Iowan Old Style", Georgia, serif;--radius: 12px;--radius-sm: 8px;--radius-lg: 18px;--shadow-1: 0 1px 2px rgb(26 60 94 / 7%), 0 1px 3px rgb(26 60 94 / 5%);--shadow-2: 0 4px 12px rgb(26 60 94 / 9%), 0 2px 4px rgb(26 60 94 / 5%);--shadow-3: 0 12px 32px rgb(26 60 94 / 14%), 0 4px 8px rgb(26 60 94 / 7%);--sidebar: 248px;--container: 1280px;--ease: cubic-bezier(.4, 0, .2, 1)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--navy: #1a3c5e;--navy-deep: #0e2540;--amber: #f5a623;--amber-ink: #f5a623;--brand-600: var(--amber);--brand-700: var(--amber);--brand-800: #fbbf4c;--brand-050: #1b3a57;--brand-100: #24486a;--accent-600: var(--amber);--accent-050: #2a1c04;--ink: #ffffff;--ink-2: #d8e1ec;--muted: #9fb0c4;--line: #23415f;--line-strong: #33536f;--bg: var(--navy-deep);--surface: #16304c;--surface-2: #22405f;--primary: var(--amber);--primary-ink: var(--navy);--cta: var(--amber);--cta-ink: var(--navy);--ok: #34d399;--ok-bg: #08331f;--warn: #fbbf4c;--warn-bg: #2a1c04;--error: #fca5a5;--error-bg: #33161a;--shadow-1: 0 1px 2px rgb(0 0 0 / 40%);--shadow-2: 0 4px 12px rgb(0 0 0 / 45%);--shadow-3: 0 12px 32px rgb(0 0 0 / 55%)}}:root[data-theme=dark]{--navy: #1a3c5e;--navy-deep: #0e2540;--amber: #f5a623;--amber-ink: #f5a623;--brand-600: var(--amber);--brand-700: var(--amber);--brand-800: #fbbf4c;--brand-050: #1b3a57;--brand-100: #24486a;--accent-600: var(--amber);--accent-050: #2a1c04;--ink: #ffffff;--ink-2: #d8e1ec;--muted: #9fb0c4;--line: #23415f;--line-strong: #33536f;--bg: var(--navy-deep);--surface: #16304c;--surface-2: #22405f;--primary: var(--amber);--primary-ink: var(--navy);--cta: var(--amber);--cta-ink: var(--navy);--ok: #34d399;--ok-bg: #08331f;--warn: #fbbf4c;--warn-bg: #2a1c04;--error: #fca5a5;--error-bg: #33161a;--shadow-1: 0 1px 2px rgb(0 0 0 / 40%);--shadow-2: 0 4px 12px rgb(0 0 0 / 45%);--shadow-3: 0 12px 32px rgb(0 0 0 / 55%)}*{box-sizing:border-box}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1{font-family:var(--font-display);font-size:1.75rem;margin:0;letter-spacing:-.03em;font-weight:600;line-height:1.15;text-wrap:balance}h2{font-family:var(--font-display);font-size:1.125rem;margin:0 0 .6rem;letter-spacing:-.02em;font-weight:600;line-height:1.3}h3{font-family:var(--font-display);font-size:1rem;margin:1rem 0 .4rem;letter-spacing:-.015em;font-weight:600}.editorial{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:0}code{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.875em;background:var(--surface-2);padding:.1rem .35rem;border-radius:6px}.muted{color:var(--muted)}.small{font-size:.8125rem}.warn{color:var(--warn)}.ok{color:var(--ok)}.num{text-align:right;font-variant-numeric:tabular-nums}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--brand-600);outline-offset:2px;border-radius:var(--radius-sm)}.shell{min-height:100vh;display:flex;flex-direction:column}.layout{display:flex;flex:1;min-height:0}.sidebar{width:var(--sidebar);flex:0 0 var(--sidebar);background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;overscroll-behavior:contain}.brand{display:flex;align-items:center;gap:.6rem;padding:1.1rem 1rem .9rem;font-family:var(--font-display);font-weight:600;letter-spacing:-.03em;font-size:1.02rem;color:var(--ink);text-decoration:none}.brand-mark{width:32px;height:32px;flex:0 0 32px;object-fit:contain}.brand-words{min-width:0}.brand-mark-lg{width:48px;height:48px;flex:0 0 48px}.auth-logo .brand-sub{color:#ffffffc2}.brand-sub{display:block;font-family:var(--font-body);font-size:.6rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.nav{display:flex;flex-direction:column;gap:1px;padding:.25rem .5rem 1rem;flex:1}.nav-group{font-family:var(--font-display);font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding:1rem .6rem .35rem}.nav a{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;min-height:40px;border-radius:var(--radius-sm);color:var(--ink-2);text-decoration:none;font-size:.9rem;font-weight:500;transition:background .15s var(--ease),color .15s var(--ease);position:relative}.nav a:hover{background:var(--surface-2);color:var(--ink)}.nav a.active{background:var(--brand-050);color:var(--brand-700);font-weight:640}.nav a.active:before{content:"";position:absolute;left:-.5rem;top:50%;transform:translateY(-50%);width:3px;height:22px;border-radius:0 3px 3px 0;background:var(--brand-600)}.nav a svg{width:17px;height:17px;flex:0 0 17px;opacity:.85}.sidebar-foot{border-top:1px solid var(--line);padding:.75rem;display:flex;align-items:center;gap:.6rem;position:sticky;bottom:0;background:var(--surface)}.avatar{width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:linear-gradient(135deg,var(--brand-600),var(--brand-800));color:#fff;display:grid;place-items:center;font-weight:650;font-size:.8rem}.who{min-width:0;flex:1}.who strong{display:block;font-size:.85rem;font-weight:600}.who span{display:block;font-size:.72rem;color:var(--muted);text-transform:capitalize;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar{display:flex;align-items:center;gap:.75rem;padding:.7rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.topbar-right{display:flex;align-items:center;gap:.5rem;margin-left:auto}.menu-button{display:none}.main{padding:1.5rem;max-width:var(--container);width:100%;margin:0 auto;flex:1}.layout{background-image:radial-gradient(60rem 30rem at 12% -8%,color-mix(in srgb,var(--brand-600) 7%,transparent),transparent 70%),radial-gradient(48rem 26rem at 96% -4%,color-mix(in srgb,var(--accent-600) 6%,transparent),transparent 68%);background-attachment:fixed;background-repeat:no-repeat}.main{position:relative}.main:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:.5}.page-attendance:before,.page-timetable:before{background-image:repeating-linear-gradient(0deg,color-mix(in srgb,var(--page) 9%,transparent) 0 1px,transparent 1px 34px)}.page-fees:before,.page-receipts:before,.page-reports:before{background-image:repeating-linear-gradient(0deg,color-mix(in srgb,var(--page) 7%,transparent) 0 1px,transparent 1px 30px),repeating-linear-gradient(90deg,color-mix(in srgb,var(--page) 5%,transparent) 0 1px,transparent 1px 30px)}.page-marking:before,.page-rubrics:before,.page-subjects:before,.page-content:before,.page-dashboard:before{background-image:radial-gradient(color-mix(in srgb,var(--page) 12%,transparent) 1px,transparent 1px);background-size:26px 26px}.page-admissions:before,.page-import:before,.page-users:before,.page-bulk:before,.page-sections:before,.page-structure:before{background-image:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--page) 6%,transparent) 0 1px,transparent 1px 16px)}.page-security:before,.page-audit:before,.page-backups:before{background-image:repeating-linear-gradient(0deg,color-mix(in srgb,var(--page) 6%,transparent) 0 1px,transparent 1px 18px),repeating-linear-gradient(90deg,color-mix(in srgb,var(--page) 6%,transparent) 0 1px,transparent 1px 18px)}.page-certificates:before,.page-announcements:before,.page-discussions:before{background-image:repeating-linear-gradient(45deg,color-mix(in srgb,var(--page) 7%,transparent) 0 2px,transparent 2px 28px)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .main:before{opacity:.8}}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .layout{background-image:radial-gradient(60rem 30rem at 12% -8%,color-mix(in srgb,var(--brand-600) 14%,transparent),transparent 70%),radial-gradient(48rem 26rem at 96% -4%,color-mix(in srgb,var(--accent-600) 10%,transparent),transparent 68%)}}:root[data-theme=dark] .layout{background-image:radial-gradient(60rem 30rem at 12% -8%,color-mix(in srgb,var(--brand-600) 14%,transparent),transparent 70%),radial-gradient(48rem 26rem at 96% -4%,color-mix(in srgb,var(--accent-600) 10%,transparent),transparent 68%)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.page-head p{margin:.25rem 0 0}.main{--page-base: var(--amber);--page: var(--page-base)}.page-head>div:first-child>h1{position:relative;padding-bottom:.5rem}.page-head>div:first-child>h1:after{content:"";position:absolute;left:0;bottom:0;width:2.25rem;height:3px;border-radius:3px;background:var(--page)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.15rem 1.25rem;margin-bottom:1rem;box-shadow:var(--shadow-1)}.card.widget{transition:box-shadow .18s var(--ease),transform .18s var(--ease);position:relative;overflow:hidden}.card.widget:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.card.widget:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--page),transparent 65%);opacity:.7}.card>h2:has(.setting-count){display:flex;align-items:baseline;justify-content:space-between}.setting-count{font-weight:500}.card>h2{color:var(--ink)}.card>h2:before{content:"";display:inline-block;width:.35rem;height:.35rem;border-radius:50%;background:var(--page);vertical-align:middle;margin-right:.5rem;margin-bottom:.12rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.facts{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}.stat{display:inline-flex;align-items:baseline;gap:.35rem;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:.3rem .7rem;font-size:.8125rem}.stat strong{font-size:.95rem;font-variant-numeric:tabular-nums}.stat{background:color-mix(in srgb,var(--page) 7%,var(--surface-2));border-color:color-mix(in srgb,var(--page) 18%,var(--line))}.stat strong{color:color-mix(in srgb,var(--page) 75%,var(--ink))}.stat.warn{background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}.stat.warn strong{color:var(--warn)}.pill{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .55rem;border-radius:999px;font-size:.72rem;font-weight:650;letter-spacing:.02em;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}.pill-warn{background:var(--warn-bg);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}.pill-ok{background:var(--ok-bg);color:var(--ok);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}.pill-danger{background:var(--error-bg);color:var(--error);border-color:color-mix(in srgb,var(--error) 30%,transparent)}.section-label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:40px;padding:.5rem .9rem;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:var(--radius-sm);font:inherit;font-size:.875rem;font-weight:550;cursor:pointer;text-decoration:none;transition:background .15s var(--ease),border-color .15s var(--ease),box-shadow .15s var(--ease),transform .06s var(--ease)}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--muted)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--cta);color:var(--cta-ink);border-color:transparent;font-weight:600;box-shadow:var(--shadow-1)}.btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--cta) 86%,var(--navy));border-color:transparent;box-shadow:var(--shadow-2)}.btn-secondary{background:transparent;color:var(--primary);border-color:var(--primary);font-weight:600}.btn-secondary:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 8%,transparent)}.btn-quiet{background:transparent;border-color:transparent;color:var(--ink-2)}.btn-quiet:hover:not(:disabled){background:var(--surface-2);border-color:transparent}.btn-sm{min-height:32px;padding:.25rem .6rem;font-size:.8125rem}.link-button{background:none;border:none;padding:0;font:inherit;color:var(--brand-700);text-decoration:underline;cursor:pointer}.row-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.card-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.card-head h2{margin:0}.field-inline{display:flex;align-items:center;gap:.5rem;margin-bottom:0}.field-inline>span{margin-bottom:0;white-space:nowrap}.field-inline select,.field-inline input{width:auto;min-width:12rem}.inline-form{margin-top:1.1rem;padding-top:1.1rem;border-top:1px dashed var(--line)}.inline-form h3{margin:0 0 .75rem;font-size:.9375rem;font-weight:650;color:var(--ink-2)}.form-row{display:flex;flex-wrap:wrap;gap:0 1rem}.form-row .field{flex:1 1 12rem;min-width:10rem}.date-pair{display:inline-flex;gap:.4rem;align-items:center}.date-pair input{min-width:8.5rem}.row-muted td{opacity:.72}.row-detail{background:var(--surface-2);padding:1rem 1.15rem!important;box-shadow:inset 0 1px 0 var(--line),inset 0 -1px 0 var(--line)}.row-detail h3{margin:0 0 .7rem;font-size:.9375rem;font-weight:650}.row-detail .table{background:var(--surface);border-radius:var(--radius)}.row-detail .field{margin-bottom:0}.video-wall{padding-block:2.5rem 1rem}.video-grid{display:flex;flex-wrap:wrap;gap:1.1rem;justify-content:center}.video-card{position:relative;height:clamp(210px,26vw,320px);aspect-ratio:16 / 9;flex:0 0 auto;max-width:100%;border-radius:var(--radius);overflow:hidden;background:var(--surface-2);border:1px solid var(--line);box-shadow:var(--shadow-1);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.video-portrait .video-play-ring{width:46px;height:46px}.video-portrait .video-play{width:18px;height:18px}.video-portrait .video-badge{font-size:.62rem;padding:.15rem .4rem}.video-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}@media (max-width: 600px){.video-grid{gap:.9rem}.video-card{height:auto;width:100%}.video-portrait{width:62%}}.video-face{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;width:100%;height:100%;border:0;padding:0;margin:0;cursor:pointer;background-color:var(--surface-2);background-size:cover;background-position:center}.video-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--brand-600) 42%,transparent),transparent 55%),radial-gradient(circle at 75% 70%,color-mix(in srgb,var(--accent-600) 38%,transparent),transparent 55%),linear-gradient(135deg,var(--brand-800),var(--surface-2))}.video-play-ring{position:relative;width:58px;height:58px;border-radius:999px;display:grid;place-items:center;background:#ffffffeb;box-shadow:0 4px 18px #0f172a59;transition:transform .2s var(--ease)}.video-card:hover .video-play-ring{transform:scale(1.08)}.video-play{width:22px;height:22px;color:var(--brand-800);fill:currentColor}.video-badge{position:absolute;left:.6rem;bottom:.6rem;padding:.2rem .55rem;border-radius:6px;font-size:.7rem;font-weight:700;letter-spacing:.03em;color:#fff;background:#0f172ac7}.video-badge-youtube{background:#c4302b}.video-badge-tiktok{background:#0b0b0b}.video-badge-facebook{background:#1877f2}.video-badge-instagram{background:linear-gradient(45deg,#f09433,#dc2743 45%,#bc1888)}.video-frame{width:100%;height:100%;border:0;display:block}.video-card-link{display:flex;align-items:center;gap:.8rem;aspect-ratio:auto;height:auto;padding:1rem 1.1rem;text-decoration:none;color:var(--ink)}.video-card-link .video-face{position:static;width:44px;height:44px;flex:0 0 44px;border-radius:999px;background:var(--brand-050)}.video-card-link .video-play{color:var(--brand-700)}.video-meta{display:flex;flex-direction:column}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.hero-copy>*{animation:rise .5s var(--ease) backwards}.hero-copy>*:nth-child(1){animation-delay:.02s}.hero-copy>*:nth-child(2){animation-delay:.09s}.hero-copy>*:nth-child(3){animation-delay:.16s}.hero-copy>*:nth-child(4){animation-delay:.23s}.hero-art{animation:rise .6s var(--ease) .18s backwards}.stat-band{border-block:1px solid var(--line);background:color-mix(in srgb,var(--brand-050) 55%,var(--surface))}.stat-band-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.25rem;padding-block:1.6rem}.stat-item{display:flex;flex-direction:column;gap:.1rem}.stat-item strong{font-size:2rem;font-weight:720;letter-spacing:-.03em;color:var(--brand-700);font-variant-numeric:tabular-nums;line-height:1.1}.stat-item span{font-size:.8125rem;color:var(--ink-2)}.closing-band{background:linear-gradient(135deg,var(--brand-800),var(--brand-600));color:#fff;margin-top:2rem}.closing-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;padding-block:3rem}.closing-inner h2{margin:0 0 .4rem;font-size:1.6rem;letter-spacing:-.02em;color:#fff}.closing-inner p{margin:0;max-width:46ch;color:#ffffffd1}.closing-cta{background:#fff;color:var(--brand-800);border-color:#fff;font-weight:650;flex-shrink:0}.closing-cta:hover:not(:disabled){background:var(--brand-050);border-color:var(--brand-050);transform:translateY(-1px)}@keyframes card-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.grid>.card{animation:card-in .38s var(--ease) backwards}.grid>.card:nth-child(1){animation-delay:.02s}.grid>.card:nth-child(2){animation-delay:.06s}.grid>.card:nth-child(3){animation-delay:.1s}.grid>.card:nth-child(4){animation-delay:.14s}.grid>.card:nth-child(5){animation-delay:.18s}.grid>.card:nth-child(6){animation-delay:.22s}.grid>.card:nth-child(7){animation-delay:.26s}.grid>.card:nth-child(n+8){animation-delay:.3s}.btn{transition:background .15s var(--ease),border-color .15s var(--ease),transform .12s var(--ease),box-shadow .15s var(--ease)}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px color-mix(in srgb,var(--brand-600) 30%,transparent)}.pill{transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease)}.table tbody tr{transition:background .12s var(--ease)}@keyframes unroll{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.row-detail{animation:unroll .25s var(--ease)}.alert{animation:unroll .3s var(--ease)}.programme-card{padding:0;overflow:hidden;display:flex;flex-direction:column}.programme-card .cover{border-radius:0}.programme-body{padding:1rem 1.15rem 1.15rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.programme-meta{display:flex;flex-wrap:wrap;gap:.35rem}.programme-body h3{margin:0;font-size:1.05rem}.programme-body .list{margin-top:.25rem}.programme-cta{margin-top:auto;align-self:flex-start}.programme-card .cover:before{transition:transform .6s var(--ease),opacity .4s var(--ease)}.programme-card:hover .cover:before{transform:rotate(calc(var(--cover-turn) + 8deg)) scale(1.08);opacity:.68}.programme-card .cover-mark{transition:transform .3s var(--ease)}.programme-card:hover .cover-mark{transform:scale(1.08) translateY(-2px)}.course-head{align-items:center}.course-identity{display:flex;align-items:center;gap:.8rem}.course-identity h1{margin:0}.class-room{margin-bottom:1rem;padding:.8rem .9rem;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--radius-sm)}.class-room-live{display:flex;align-items:flex-start;gap:.6rem}.class-room-live svg{width:17px;height:17px;color:var(--muted);flex:none;margin-top:.5rem}.class-room-text{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;min-width:0}.class-room-text code{overflow-wrap:anywhere}.class-room>.btn{margin-top:.6rem}.class-room-editor{margin-top:.7rem}.signatory-list>li{padding-block:.55rem}.signatory-row{align-items:center;gap:.8rem}.signatory-row.is-off{opacity:.55}.signatory-who{display:flex;align-items:center;gap:.8rem;min-width:0}.signatory-mark{width:96px;height:40px;flex:none;object-fit:contain;object-position:left bottom;mix-blend-mode:multiply}.signatory-mark-sm{width:60px;height:26px}.signatory-mark-empty{border-bottom:1px dashed var(--line-strong);height:40px}.signatory-picker{margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--line)}.signatory-choices>li{align-items:center;gap:.6rem}.progress-settings,.batch-issue{margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--line)}.progress-settings h3{margin-top:.9rem}.progress-parts{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));margin-top:.5rem}.batch-issue>.field{margin-top:.7rem}.join-list-what{display:flex;flex-direction:column;gap:.1rem;min-width:0}.join-list-what .small{overflow-wrap:anywhere}.join-list>li>.btn{flex:none}.lecture-source{margin-bottom:1rem;background:var(--surface-2);border:1px dashed var(--line-strong);border-radius:var(--radius-sm)}.lecture-source-head{display:flex;align-items:center;gap:.6rem;padding:.7rem .9rem;flex-wrap:wrap}.lecture-source-head>span{flex:1 1 260px}.lecture-source-head svg{width:17px;height:17px;color:var(--muted);flex:none}.lecture-source-form{padding:0 .9rem .9rem;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:.35rem}.lecture-source-form label{font-weight:600;padding-top:.7rem}.lecture-source-form .row-actions{flex-wrap:wrap;gap:.4rem}.lecture-source-form input{flex:1 1 320px;min-width:0}.lecture-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.lecture-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-1);transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}.lecture-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-2);border-color:color-mix(in srgb,var(--page) 35%,var(--line))}.lecture-face{position:relative;aspect-ratio:16 / 9;border:0;padding:0;width:100%;cursor:pointer;display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--page) 78%,#000),color-mix(in srgb,var(--page) 42%,#000))}.lecture-face:disabled{cursor:not-allowed;filter:grayscale(.7)}.lecture-play{position:relative;z-index:1;width:52px;height:52px;border-radius:999px;display:grid;place-items:center;background:#ffffffeb;box-shadow:0 4px 16px #0f172a59;transition:transform .22s var(--ease)}.lecture-card:hover .lecture-play{transform:scale(1.12)}.lecture-play svg{width:20px;height:20px;color:var(--ink);fill:currentColor}.is-missing .lecture-play svg{fill:none;color:var(--warn)}.lecture-body{padding:.8rem .9rem 1rem;display:flex;flex-direction:column;gap:.35rem;flex:1}.lecture-body h3{margin:0;font-size:.95rem;line-height:1.35}.lecture-tags{display:flex;flex-wrap:wrap;gap:.3rem}.lecture-body .row-actions{margin-top:auto;padding-top:.4rem}.draft-shelf{margin-top:1.75rem;padding-top:1.25rem;border-top:2px dashed color-mix(in srgb,var(--warn) 35%,var(--line))}.draft-shelf>h2{margin-bottom:.2rem}.draft-shelf>p{margin-bottom:.9rem}.draft-shelf .lecture-card{border-style:dashed}.cover{position:relative;overflow:hidden;background:linear-gradient(135deg,hsl(var(--cover-hue) 57% var(--cover-lift, 26%)),hsl(calc(var(--cover-hue) + 8) 60% 14%));color:#fff;display:grid;place-items:center;isolation:isolate}.cover-card{aspect-ratio:16 / 7;border-radius:var(--radius) var(--radius) 0 0}.cover-chip{width:44px;height:44px;border-radius:12px;flex:0 0 44px}.cover:before{content:"";position:absolute;top:-25%;right:-25%;bottom:-25%;left:-25%;transform:rotate(var(--cover-turn, 0deg));opacity:.5;-webkit-mask-image:radial-gradient(120% 90% at 30% 20%,#000 35%,transparent 85%);mask-image:radial-gradient(120% 90% at 30% 20%,#000 35%,transparent 85%)}.cover-arcs:before{background:repeating-radial-gradient(circle at 15% 85%,rgb(255 255 255 / 22%) 0 2px,transparent 2px 26px)}.cover-grid:before{background:repeating-linear-gradient(0deg,rgb(255 255 255 / 16%) 0 1px,transparent 1px 22px),repeating-linear-gradient(90deg,rgb(255 255 255 / 16%) 0 1px,transparent 1px 22px)}.cover-waves:before{background:repeating-linear-gradient(-35deg,rgb(255 255 255 / 15%) 0 3px,transparent 3px 18px)}.cover-orbit:before{background:radial-gradient(circle at 78% 22%,rgb(255 255 255 / 26%) 0 18%,transparent 19%),radial-gradient(circle at 22% 78%,rgb(255 255 255 / 16%) 0 26%,transparent 27%);-webkit-mask-image:none;mask-image:none}.cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(60% 60% at 88% 8%,color-mix(in srgb,var(--amber) 30%,transparent),transparent 70%);pointer-events:none}.cover-mark{position:relative;z-index:1;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#ffffff29;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cover-mark svg{width:22px;height:22px}.cover-chip .cover-mark{width:26px;height:26px;border-radius:8px}.cover-chip .cover-mark svg{width:15px;height:15px}.cover-code{position:absolute;left:.7rem;bottom:.55rem;z-index:1;font-family:ui-monospace,Consolas,monospace;font-size:.7rem;font-weight:700;letter-spacing:.08em;color:#fff}.cover-photo{background:var(--surface-2)}.cover-photo img{width:100%;height:100%;object-fit:cover;display:block}.photo-strip{padding-block:1rem 2.5rem}.photo-stage{position:relative;aspect-ratio:16 / 8;max-height:78vh;margin-inline:auto;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-2);border:1px solid var(--line);box-shadow:var(--shadow-2);transition:aspect-ratio .45s var(--ease)}.photo-slide{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;opacity:0;transition:opacity .8s var(--ease);pointer-events:none}.photo-slide.is-current{opacity:1;pointer-events:auto}.photo-slide img{width:100%;height:100%;object-fit:contain;display:block;background:var(--surface-2)}@keyframes settle{0%{transform:scale(.985);opacity:.85}to{transform:scale(1);opacity:1}}.photo-slide.is-current img{animation:settle 1.1s var(--ease) forwards}.photo-slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:3rem 1.1rem .9rem;font-size:.9rem;color:#fff;background:linear-gradient(transparent,#0f172ad1)}.photo-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:999px;border:0;cursor:pointer;background:#ffffffe0;color:var(--ink);font-size:1.4rem;line-height:1;display:grid;place-items:center;opacity:0;transition:opacity .2s var(--ease),background .2s var(--ease)}.photo-prev{left:.8rem}.photo-next{right:.8rem}.photo-stage:hover .photo-arrow,.photo-arrow:focus-visible{opacity:1}.photo-arrow:hover{background:#fff}.photo-dots{position:absolute;left:0;right:0;bottom:.7rem;display:flex;gap:.4rem;justify-content:center}.photo-dot{width:8px;height:8px;border-radius:999px;padding:0;border:1px solid rgb(255 255 255 / 70%);background:#ffffff59;cursor:pointer;transition:width .25s var(--ease),background .25s var(--ease)}.photo-dot.is-current{width:22px;background:#fff}.news-section{padding-block:1rem 2.5rem}.news-rotator{position:relative;min-height:11rem}.news-rotator .news-card{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transform:translateY(8px);transition:opacity .45s var(--ease),transform .45s var(--ease);pointer-events:none}.news-rotator .news-card.is-current{opacity:1;transform:none;pointer-events:auto}.news-controls{display:flex;gap:.5rem;margin-top:.9rem;flex-wrap:wrap}.news-tab{position:relative;overflow:hidden;flex:1 1 12rem;min-width:0;text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.5rem .7rem .6rem;font-size:.8125rem;color:var(--muted);transition:color .18s var(--ease),border-color .18s var(--ease)}.news-tab:hover{color:var(--ink-2)}.news-tab.is-current{color:var(--ink);border-color:var(--brand-600)}.news-tab-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.news-progress{position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--brand-600)}.news-tab.is-current .news-progress{animation:fill 9s linear forwards}.news-tab.is-current .news-progress.is-still{animation-play-state:paused}@keyframes fill{0%{width:0}to{width:100%}}.news-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.4rem;box-shadow:var(--shadow-1);border-top:3px solid var(--brand-600);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.news-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}.news-card h3{margin:0;font-size:1rem}.news-card p{margin:0;font-size:.875rem;color:var(--ink-2)}.news-date{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-variant-numeric:tabular-nums}.news-pin{position:absolute;top:.8rem;right:.9rem}.social-row{display:flex;gap:.5rem;align-items:center}.social-link{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:#fff;text-decoration:none;transition:transform .18s var(--ease),filter .18s var(--ease)}.social-link:hover{transform:translateY(-2px);filter:brightness(1.08)}.social-link svg{width:19px;height:19px}.social-youtube{background:#c4302b}.social-tiktok{background:#0b0b0b}.social-facebook{background:#1877f2}.social-instagram{background:linear-gradient(45deg,#f09433,#dc2743 45%,#bc1888)}.nav a svg{color:var(--muted);transition:color .15s var(--ease)}.nav a:hover svg,.nav a.active svg{color:currentColor}.field input:focus,.field select:focus,.field textarea:focus{background:var(--brand-050);border-color:var(--brand-600);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-600) 18%,transparent)}@supports selector(:user-invalid){.field input:user-invalid,.field select:user-invalid,.field textarea:user-invalid{border-color:var(--error)}.field input:required:user-valid,.field select:required:user-valid,.field textarea:required:user-valid{border-color:color-mix(in srgb,var(--ok) 45%,var(--line))}}.field input[data-touched=true]:invalid,.field select[data-touched=true]:invalid,.field textarea[data-touched=true]:invalid,.field [aria-invalid=true]{border-color:var(--error)}.field input[data-touched=true]:required:valid,.field select[data-touched=true]:required:valid,.field textarea[data-touched=true]:required:valid{border-color:color-mix(in srgb,var(--ok) 45%,var(--line))}.inline-form{border-top-color:color-mix(in srgb,var(--brand-600) 25%,var(--line))}.inline-form h3{color:var(--brand-700)}.card.widget:hover{border-color:color-mix(in srgb,var(--brand-600) 30%,var(--line))}.notes-panel{margin-top:.9rem;padding:.9rem 1rem;background:var(--surface-2);border-radius:var(--radius);border-left:3px solid var(--warn)}.notes-panel h4{margin:0 0 .6rem;font-size:.875rem;font-weight:650}.notes-panel textarea{width:100%;margin-bottom:.5rem}.note-list{list-style:none;margin:0 0 .8rem;padding:0}.note-list li{padding:.6rem .7rem;margin-bottom:.5rem;background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--line)}.note-list p{margin:0 0 .25rem;font-size:.875rem}.field{display:block;margin-bottom:.9rem}.field>span,.field-label{display:block;font-size:.8125rem;font-weight:600;margin-bottom:.3rem;color:var(--ink-2)}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea,.inline-field input:not([type=checkbox]):not([type=radio]),.inline-field select{width:100%;min-height:40px;padding:.5rem .7rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);font:inherit;font-size:.9rem;background:var(--surface);color:var(--ink);transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand-600);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-600) 18%,transparent);outline:none}.field textarea{min-height:90px;resize:vertical}.field-row{display:flex;gap:.9rem;flex-wrap:wrap}.field-row>.field{flex:1 1 220px}.inline-field{display:inline-flex;align-items:center;gap:.4rem}.check{display:flex;align-items:flex-start;gap:.55rem;margin-bottom:.75rem}.check input{width:18px;height:18px;margin-top:.18rem;flex:0 0 18px;accent-color:var(--brand-700)}.alert{border:1px solid var(--line);border-left:3px solid var(--muted);background:var(--surface-2);border-radius:var(--radius-sm);padding:.75rem .95rem;margin-bottom:1rem}.alert p{margin:.25rem 0}.alert p:first-child{margin-top:0}.alert p:last-child{margin-bottom:0}.alert-error{background:var(--error-bg);border-color:color-mix(in srgb,var(--error) 25%,transparent);border-left-color:var(--error);color:var(--error)}.alert-warn{background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 25%,transparent);border-left-color:var(--warn)}.alert-ok{background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 25%,transparent);border-left-color:var(--ok)}.danger-zone{display:block;border:1px solid color-mix(in srgb,var(--error) 35%,transparent);background:var(--error-bg);border-radius:var(--radius-sm);padding:.9rem 1rem;margin-top:.75rem}.password-panel{border-color:var(--brand-600);box-shadow:var(--shadow-2)}.password-panel .stat{font-family:ui-monospace,Consolas,monospace;font-size:1.05rem}.list{list-style:none;margin:0;padding:0}.list>li{padding:.7rem 0;border-bottom:1px solid var(--line)}.list>li:last-child{border-bottom:none}.list>li:has(>span:first-child){display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.list>li>strong{font-variant-numeric:tabular-nums;white-space:nowrap}.list>li{border-radius:6px;transition:background .12s var(--ease)}.list>li:hover{background:var(--surface-2)}.list>li{padding-inline:.45rem;margin-inline:-.45rem}.list>li.warn{color:inherit;box-shadow:inset 3px 0 0 var(--warn);background:var(--warn-bg)}.list.small>li{padding:.45rem 0;font-size:.85rem}.assignment{padding:.8rem 0}.assignment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.assignment-body{margin-top:.5rem}.brief-files{margin-top:.6rem;padding-top:.6rem;border-top:1px solid var(--line)}.brief-files>strong{display:block;margin-bottom:.35rem}.brief-files-actions{display:inline-flex;gap:.35rem;flex-shrink:0}.question{padding:.9rem 0;border-bottom:1px solid var(--line)}.response{margin-top:.5rem;padding-left:.9rem;border-left:2px solid var(--line)}.bar{height:7px;background:var(--surface-2);border-radius:999px;overflow:hidden;margin:.4rem 0}.bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--brand-600),var(--brand-700));transition:width .4s var(--ease)}.table-scroll{overflow-x:auto;border-radius:var(--radius-sm);border:1px solid var(--line)}.table{width:100%;border-collapse:collapse;font-size:.85rem}.table th,.table td{padding:.6rem .75rem;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.table th{background:var(--surface-2);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);position:sticky;top:0}.table th{z-index:2;box-shadow:inset 0 -1px 0 var(--line-strong)}.table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--surface-2) 45%,transparent)}.table tbody tr:hover{background:var(--surface-2)}.table tbody tr:last-child td{border-bottom:none}.table td.wrap{white-space:normal;min-width:16rem;max-width:34rem;line-height:1.45}.table td.when,.table th.when{font-variant-numeric:tabular-nums;white-space:nowrap;width:1%;color:var(--ink-2)}.option{padding:.35rem 0}.modal-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:var(--bg)}.auth-brand{background:radial-gradient(60% 50% at 88% 6%,rgb(245 166 35 / 16%),transparent 70%),linear-gradient(165deg,var(--navy-deep) 0%,var(--navy) 100%);color:#fff;padding:3rem;display:flex;flex-direction:column;justify-content:center;gap:1.25rem;position:relative;overflow:hidden}.auth-brand:after{content:"";position:absolute;inset:auto -20% -40% auto;width:460px;height:460px;border-radius:50%;background:#ffffff14}.auth-brand h1{font-size:2.3rem;line-height:1.15;max-width:15ch}.auth-brand p{max-width:42ch;color:#ffffffe0;font-size:1.02rem}.auth-points{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.6rem}.auth-points li{display:flex;gap:.6rem;align-items:flex-start;color:#ffffffeb;font-size:.92rem}.auth-points li:before{content:"✓";font-weight:700;background:#ffffff2e;border-radius:50%;width:20px;height:20px;flex:0 0 20px;display:grid;place-items:center;font-size:.7rem}.auth-logo{display:flex;align-items:center;gap:.7rem;font-weight:700;font-size:1.15rem}.auth-logo .brand-mark{background:#ffffff2e;box-shadow:none}.auth-page{min-height:100vh;display:grid;place-items:center;background:var(--bg)}.auth-panel{display:grid;place-items:center;padding:2rem}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-3)}.auth-title{font-size:1.45rem;margin:0 0 .35rem;letter-spacing:-.02em}.bell{position:relative}.bell-dot{position:absolute;top:4px;right:4px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--error);color:#fff;font-size:.65rem;font-weight:700;display:grid;place-items:center;border:2px solid var(--surface)}@media (max-width: 1100px){.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;transform:translate(-100%);transition:transform .22s var(--ease);box-shadow:var(--shadow-3)}.sidebar.open{transform:translate(0)}.layout{display:block}.menu-button{display:inline-flex}.main{padding:1rem}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#0f172a73;border:0;padding:0;margin:0;display:block;width:100%;cursor:default;-webkit-appearance:none;-moz-appearance:none;appearance:none}.auth-shell{grid-template-columns:1fr}.auth-brand{padding:2rem 1.5rem}.auth-brand h1{font-size:1.6rem}.auth-brand p,.auth-points{display:none}}.receipt{max-width:46rem;margin:0 auto;padding:2rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.receipt-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;border-bottom:2px solid var(--ink);padding-bottom:1rem}.receipt-head h1{margin:0;font-size:1.4rem}.receipt-no{text-align:right}.receipt-no p{margin:0}.receipt-stamp{margin:1rem 0;padding:.5rem .75rem;border:2px dashed var(--warn);color:var(--warn);font-weight:700;letter-spacing:.04em;text-align:center}.receipt-void{border-color:var(--error);color:var(--error)}.receipt-fields{margin:1.5rem 0;display:grid;gap:.75rem}.receipt-fields>div{display:grid;grid-template-columns:12rem 1fr;gap:1rem}.receipt-fields dt{color:var(--muted)}.receipt-fields dd{margin:0;font-weight:600}.receipt-amount{display:flex;justify-content:space-between;align-items:baseline;padding:.9rem 1rem;margin-top:1rem;border:2px solid var(--ink);border-radius:4px;font-size:1.25rem}.receipt-amount strong{font-variant-numeric:tabular-nums}.receipt-words{margin:.6rem 0 0;font-style:italic}.receipt-foot{display:flex;justify-content:space-between;align-items:flex-end;margin-top:3rem;gap:2rem}.receipt-sign{min-width:14rem;border-top:1px solid var(--ink);padding-top:.3rem;text-align:center}@media print{.topbar,.nav,.sidebar,.no-print,nav,header.page-head{display:none!important}.layout{display:block!important}:root,body,.receipt{background:#fff!important;color:#000!important}.receipt{max-width:none;margin:0;padding:0;border:none;border-radius:0;box-shadow:none}.muted,.receipt-fields dt{color:#444!important}.receipt-head{border-bottom-color:#000!important}.receipt-amount{border-color:#000!important}.receipt-sign{border-top-color:#000!important}.receipt-stamp{color:#000!important;border-color:#000!important}.receipt{page-break-inside:avoid}.layout{background-image:none!important}.card.widget:before{display:none!important}.card>h2:before{display:none!important}.page-head>div:first-child>h1:after{display:none!important}.stat,.empty{background:#fff!important;border-color:#999!important}.stat strong{color:#000!important}.list>li:hover{background:transparent!important}.video-wall,.photo-strip,.closing-band,.stat-band{display:none!important}@page{margin:18mm}}p.stat{display:block;font-size:1.9rem;font-weight:700;letter-spacing:-.03em;margin:.2rem 0 .1rem;padding:0;background:none;border:none;border-radius:0;font-variant-numeric:tabular-nums}p.stat.warn{color:var(--warn)}.widget-unavailable{background:var(--surface-2);border-style:dashed;box-shadow:none}.register-head,.register-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.register-foot{margin:.75rem 0 0;position:sticky;bottom:0;background:var(--surface);padding-top:.6rem;border-top:1px solid var(--line)}.tally{display:flex;gap:1rem;flex-wrap:wrap;font-size:.875rem}.register td,.register th{vertical-align:middle}.register .center{text-align:center}.block{display:block}.register tr.is-cursor{background:var(--brand-050);box-shadow:inset 3px 0 0 var(--brand-600)}.register tr.is-unmarked td:first-child:before{content:"•";color:var(--warn);margin-right:.3rem;font-weight:700}.radio-cell{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;cursor:pointer}.radio-cell input{width:20px;height:20px;cursor:pointer;accent-color:var(--brand-700)}.keyboard-hint{margin:0 0 .5rem}kbd{display:inline-block;padding:.1rem .4rem;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:5px;background:var(--surface);font-family:ui-monospace,Consolas,monospace;font-size:.8em}.lesson{margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--line)}.lesson:first-of-type{border-top:0;padding-top:0;margin-top:0}.lesson h3{margin:0 0 .35rem;font-size:.98rem;font-weight:640}.lesson-resources{margin-top:.5rem;padding-left:.8rem;border-left:2px solid var(--line)}.list .row-actions{margin-top:0;align-items:center}.player{width:100%;max-height:65vh;background:#000;border-radius:var(--radius);object-fit:contain}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0f172a8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:1rem}.modal{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.25rem;width:min(900px,100%);max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-3)}.modal-head h2{margin:0}.split{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:1rem;align-items:start}.queue-list{max-height:70vh;overflow-y:auto}.queue-list li{padding:0;border-bottom:1px solid var(--line)}.queue-item{display:flex;flex-direction:column;gap:.15rem;width:100%;padding:.6rem .5rem;min-height:44px;background:none;border:0;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-sm)}.queue-item:hover{background:var(--surface-2)}.queue-item.is-selected{background:var(--brand-050);font-weight:620;box-shadow:inset 3px 0 0 var(--brand-600)}.queue-name{display:flex;align-items:center;gap:.4rem}.submit-panel,.review,.composer{margin-top:.75rem}.announcement-body{margin-top:.5rem}.option-text{flex:1}.password{font-family:ui-monospace,Consolas,monospace;font-size:1.35rem;letter-spacing:.06em;margin:.4rem 0;-webkit-user-select:all;user-select:all}.badge{display:inline-block;min-width:20px;margin-left:.4rem;padding:0 .35rem;border-radius:999px;background:var(--brand-700);color:var(--primary-ink);font-size:.72rem;font-weight:700;text-align:center}.bell-panel{position:absolute;right:0;top:calc(100% + .5rem);width:min(380px,calc(100vw - 2rem));max-height:70vh;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-3);padding:.5rem;z-index:60}.impersonation-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:var(--warn-bg);border-bottom:2px solid var(--warn);color:var(--warn);padding:.6rem 1.25rem;font-weight:600;font-size:.875rem;position:sticky;top:0;z-index:60}.suspended{opacity:.6}.dev-note{margin-top:1.25rem;padding-top:.85rem;border-top:1px solid var(--line);line-height:1.7}@media (max-width: 768px){.split{grid-template-columns:1fr}}@media (max-width: 640px){.grid{grid-template-columns:1fr}.receipt-fields>div{grid-template-columns:1fr;gap:.15rem}}.skeleton-group{display:grid;gap:.55rem}.skeleton{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--surface-2) 25%,color-mix(in srgb,var(--surface-2) 55%,var(--line-strong)) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:shimmer 1.4s ease-in-out infinite}.skeleton:first-child{height:16px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.empty{display:grid;justify-items:center;text-align:center;gap:.5rem;padding:3rem 1.5rem;background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius)}.empty{background:radial-gradient(28rem 14rem at 50% 0%,color-mix(in srgb,var(--page) 6%,transparent),transparent 70%),var(--surface);border-color:color-mix(in srgb,var(--page) 22%,var(--line-strong))}.empty-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:color-mix(in srgb,var(--page) 12%,var(--surface-2));color:var(--page);margin-bottom:.25rem}.empty-icon svg{width:22px;height:22px}.empty h2{margin:0}.empty p{margin:0;max-width:46ch}.ring{position:relative;display:inline-grid;place-items:center;flex:none}.ring svg{position:absolute;top:0;right:0;bottom:0;left:0}.ring-track{stroke:var(--surface-2)}.ring-value{stroke:var(--brand-600);transition:stroke-dashoffset .6s var(--ease)}.ring-label{position:relative;font-weight:700;font-size:.95rem;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.ring.is-met .ring-value{stroke:var(--ok)}.subject-card{display:flex;flex-direction:column;gap:.75rem}.subject-top{display:flex;align-items:center;gap:1rem}.subject-title{flex:1;min-width:0}.subject-title h2{margin:0 0 .1rem}.subject-title h2 a{color:inherit;text-decoration:none}.subject-title h2 a:hover{color:var(--brand-700);text-decoration:underline}.subject-meta{display:flex;flex-wrap:wrap;gap:.4rem}.subject-todo{margin:0;padding:0;list-style:none;display:grid;gap:.3rem}.subject-todo li{display:flex;gap:.45rem;align-items:flex-start;font-size:.8125rem;color:var(--muted)}.subject-todo li:before{content:"";flex:0 0 5px;width:5px;height:5px;margin-top:.5rem;border-radius:50%;background:var(--warn)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:1rem}.kpi{background:var(--surface);padding:.9rem 1rem}.kpi-label{display:block;font-size:.72rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:.15rem}.kpi-value{display:block;font-size:1.55rem;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.kpi-note{display:block;font-size:.78rem;color:var(--muted)}.kpi.is-warn .kpi-value{color:var(--warn)}.counter-row{display:flex;align-items:baseline;gap:.5rem;padding:.4rem 0;border-bottom:none}.counter-row strong{font-size:1.35rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;min-width:1.6rem}.queue{padding:.5rem}.queue>h2{padding:.5rem .5rem 0}.card>.list:last-child{margin-bottom:-.25rem}.card>h2:first-child{margin-top:-.15rem}.table td{white-space:normal}.table td.num,.table th.num{white-space:nowrap}.card>.row-actions:last-child{margin-top:.35rem}details>summary{cursor:pointer;padding:.35rem 0;font-weight:550;color:var(--brand-700);list-style:none}details>summary::-webkit-details-marker{display:none}details>summary:before{content:"▸ ";display:inline-block;transition:transform .15s var(--ease)}details[open]>summary:before{content:"▾ "}details>summary:hover{text-decoration:underline}.auth-panel{overflow-y:auto}.page-head+.alert{margin-top:-.25rem}.landing{min-height:100vh;background:var(--surface)}.landing-inner{max-width:1120px;margin:0 auto;padding:3.5rem 1.5rem}.landing-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:1120px;margin:0 auto;padding:1rem 1.5rem;background:var(--surface);box-shadow:0 1px 0 var(--line)}.landing-nav .auth-logo{color:var(--ink);font-size:1.05rem}.hero{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center;max-width:1120px;margin:0 auto;padding:3rem 1.5rem 4.5rem;isolation:isolate}.hero:before{content:"";position:absolute;top:-10%;right:-20%;bottom:0;left:-20%;z-index:-2;background:radial-gradient(60% 55% at 18% 22%,color-mix(in srgb,var(--brand-600) 18%,transparent),transparent 70%),radial-gradient(50% 50% at 85% 15%,color-mix(in srgb,var(--navy-deep) 15%,transparent),transparent 70%),radial-gradient(45% 45% at 70% 85%,color-mix(in srgb,var(--accent-600) 10%,transparent),transparent 70%)}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background-image:linear-gradient(color-mix(in srgb,var(--ink) 5%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--ink) 5%,transparent) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(70% 60% at 50% 40%,#000 30%,transparent 100%);mask-image:radial-gradient(70% 60% at 50% 40%,#000 30%,transparent 100%)}.hero-pill{background:var(--brand-050);color:var(--brand-700);border-color:transparent}.hero-copy h1{font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.08;letter-spacing:-.035em;margin:.9rem 0 .85rem;font-weight:750}.hero-copy p{font-size:1.05rem;color:var(--ink-2);max-width:48ch;margin:0 0 1.6rem}.btn-lg{min-height:48px;padding:.7rem 1.3rem;font-size:.95rem}.hero-art{display:grid;place-items:center}.hero-card{width:min(340px,100%);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.4rem;box-shadow:var(--shadow-3);display:grid;gap:1rem;justify-items:center;transform:rotate(-1.5deg)}.hero-card-head{display:flex;align-items:center;gap:.7rem;width:100%}.hero-card-head strong{display:block;font-size:.95rem}.hero-ring{position:relative;display:grid;place-items:center}.hero-ring svg{display:block}.hero-ring .ring-label{position:absolute;font-size:1.35rem;font-weight:700}.hero-rows{display:grid;gap:.4rem;width:100%;justify-items:start}.landing-band{background:var(--bg);border-block:1px solid var(--line)}.landing-h2{font-size:1.75rem;letter-spacing:-.025em}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.75rem}.feature h3{margin:.65rem 0 .3rem;font-size:1rem}.feature p{margin:0}.feature-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--brand-050);color:var(--brand-700)}.feature-icon svg{width:20px;height:20px}.programme-card h3{margin:.5rem 0 .35rem;font-size:1.1rem}.landing-foot{border-top:1px solid var(--line);background:var(--bg)}.landing-foot-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-block:1.75rem}.landing-foot .auth-logo{color:var(--ink);font-size:1rem}@media (max-width: 768px){.hero{grid-template-columns:1fr;gap:2rem;padding-bottom:3rem}.hero-art{order:-1}.hero-card{transform:none}.landing-inner{padding:2.5rem 1.25rem}}.layout{background:radial-gradient(48% 34% at 12% 0%,color-mix(in srgb,var(--brand-600) 7%,transparent),transparent 72%),radial-gradient(40% 30% at 92% 4%,color-mix(in srgb,var(--amber) 6%,transparent),transparent 72%),var(--bg);background-attachment:fixed}.sidebar{background:var(--surface)}.auth-panel{background:radial-gradient(55% 40% at 50% 0%,color-mix(in srgb,var(--brand-600) 8%,transparent),transparent 70%),var(--bg)}.slip{margin-bottom:1rem}.slip-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.4rem}.slip-image,.slip-frame{display:block;width:100%;max-height:420px;object-fit:contain;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm)}.slip-frame{height:420px}.slip a{display:block}.apply-shell{max-width:720px;margin:0 auto;padding:2rem 1.5rem 4rem}.steps{list-style:none;margin:0 0 1.25rem;padding:0;display:grid;gap:.3rem}.step{display:flex;align-items:center;gap:.6rem;font-size:.875rem}.step-no{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:.75rem;font-weight:700;border:1px solid var(--line)}.step.is-current .step-no{background:var(--brand-700);color:var(--primary-ink);border-color:var(--brand-700)}.step.is-done .step-no{background:var(--ok-bg);color:var(--ok);border-color:var(--ok)}.step.is-current .link-button{font-weight:650;color:var(--ink);text-decoration:none}.step .link-button{color:var(--muted);text-decoration:none}.step .link-button:hover{text-decoration:underline}@media (min-width: 700px){.steps{grid-auto-flow:column;grid-auto-columns:1fr;gap:.5rem}.step{flex-direction:column;text-align:center;gap:.35rem}}.fee-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);padding:1rem 1.15rem;margin:0 0 1.25rem}.fee-headline{display:flex;flex-direction:column;gap:.1rem;padding-bottom:.85rem;margin-bottom:.85rem;border-bottom:1px solid var(--line)}.fee-headline-label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.fee-headline-amount{font-size:1.9rem;line-height:1.15;font-weight:700;font-variant-numeric:lining-nums tabular-nums;color:var(--ink)}.fee-block+.fee-block{margin-top:1rem}.fee-block h4{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .45rem}.fee-lines{list-style:none;margin:0;padding:0}.fee-lines li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.4rem 0;border-bottom:1px dashed color-mix(in srgb,var(--line) 70%,transparent)}.fee-lines li:last-child{border-bottom:0}.fee-amount{font-variant-numeric:lining-nums tabular-nums;white-space:nowrap;font-weight:600}.fee-total{border-top:1px solid var(--line);border-bottom:0!important;margin-top:.2rem;padding-top:.55rem;font-weight:700}.fee-now{font-weight:600}.fee-now-pill{margin-left:.45rem;vertical-align:middle}.fee-bank{border-top:1px solid var(--line);padding-top:.9rem}.fee-bank-list{margin:0 0 .5rem;display:grid;gap:.4rem}.fee-bank-list>div{display:flex;justify-content:space-between;gap:1rem}.fee-bank-list dt{color:var(--muted);font-size:.85rem}.fee-bank-list dd{margin:0;text-align:right}.fee-account{font-family:ui-monospace,Consolas,monospace;letter-spacing:.04em;-webkit-user-select:all;user-select:all}.fee-notes{margin-top:.9rem;padding-top:.75rem;border-top:1px solid var(--line)}.fee-inline{margin:-.35rem 0 .9rem;font-size:.95rem}.fee-inline strong{font-variant-numeric:lining-nums tabular-nums}@media (max-width: 520px){.fee-bank-list>div{flex-direction:column;gap:0}.fee-bank-list dd{text-align:left}.fee-headline-amount{font-size:1.6rem}}.theme-toggle{width:36px;height:36px;padding:0;display:grid;place-items:center;flex:0 0 auto}.theme-toggle svg{width:17px;height:17px}.fee-form .fee-step{border-top:1px solid var(--line);padding-top:.85rem;margin-top:.85rem}.fee-form .fee-step:first-child{border-top:0;padding-top:0;margin-top:0}.fee-step h4{display:flex;align-items:center;gap:.45rem;margin:0 0 .6rem;font-size:.95rem}.fee-step-num{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--brand-700);color:var(--primary-ink);font-size:.7rem;font-weight:700}.fee-split{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;padding:.55rem .7rem;margin-bottom:.7rem;background:var(--surface-2);border:1px dashed var(--line);border-radius:var(--radius-sm)}.fee-rows{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}.fee-row{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;padding:.3rem 0}.fee-row-n{flex:0 0 20px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:.7rem;font-weight:700}.fee-preview{margin:.9rem 0;padding:.7rem .85rem;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line)}.fee-preview.is-ready{background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}.fee-preview-label{display:block;font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:.2rem}.fee-preview p{margin:0;font-variant-numeric:lining-nums tabular-nums}.chat-list-card{padding:.35rem}.chat-list{list-style:none;margin:0;padding:0}.chat-list-row{display:flex;align-items:center;gap:.7rem;width:100%;padding:.6rem .65rem;background:none;border:0;border-radius:var(--radius-sm);text-align:left;cursor:pointer;color:inherit;font:inherit}.chat-list-row:hover{background:var(--surface-2)}.chat-list li+li{border-top:1px solid var(--line)}.chat-list-text{display:grid;gap:.1rem;min-width:0;flex:1 1 auto}.chat-list-title{display:flex;align-items:center;gap:.3rem;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-list-title svg{width:12px;height:12px;flex:0 0 12px;opacity:.6}.chat-count{flex:0 0 auto;min-width:1.6rem;text-align:center;font-size:.8rem;color:var(--muted);font-variant-numeric:lining-nums tabular-nums}.chat-count.has-any{background:var(--brand-700);color:var(--primary-ink);border-radius:999px;padding:.1rem .45rem;font-weight:650}.chat-avatar{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--brand-700);color:var(--primary-ink);font-weight:700;font-size:.9rem}.chat{display:flex;flex-direction:column;padding:0;overflow:hidden}.chat-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.75rem 1rem;border-bottom:1px solid var(--line);background:var(--surface-2)}.chat-head h2{margin:0;font-size:1rem}.chat-head-text p{margin:0}.chat-transcript{display:flex;flex-direction:column;gap:.45rem;padding:.9rem 1rem;max-height:60vh;overflow-y:auto;background:color-mix(in srgb,var(--surface-2) 55%,transparent)}.chat-day{display:flex;align-items:center;gap:.6rem;margin:.5rem 0 .2rem}.chat-day:before,.chat-day:after{content:"";flex:1 1 auto;height:1px;background:var(--line)}.chat-day span{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.chat-row{display:flex;gap:.5rem;align-items:flex-end;max-width:100%}.chat-row.is-mine{flex-direction:row-reverse}.chat-bubble{position:relative;max-width:min(78%,34rem);padding:.5rem .7rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);display:grid;gap:.15rem}.chat-row.is-mine .chat-bubble{background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 25%,transparent)}.chat-bubble.is-question{border-left:3px solid var(--brand-600)}.chat-bubble.is-removed{background:var(--surface-2);font-style:italic}.chat-author{font-size:.78rem;font-weight:650;color:var(--brand-700)}.chat-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.chat-meta{font-size:.7rem;color:var(--muted);text-align:right}.chat-actions{display:flex;gap:.5rem;opacity:.5;transition:opacity .15s var(--ease)}.chat-bubble:hover .chat-actions,.chat-bubble:focus-within .chat-actions{opacity:1}.chat-composer{display:flex;gap:.5rem;align-items:flex-end;padding:.7rem 1rem;border-top:1px solid var(--line);background:var(--surface)}.chat-composer textarea{flex:1 1 auto;resize:none;min-height:42px;max-height:8rem;border-radius:20px;padding:.6rem .9rem;font:inherit;font-size:.9rem;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink)}.chat-send{flex:0 0 auto;width:42px;height:42px;padding:0;border-radius:50%;display:grid;place-items:center}.chat-send svg{width:18px;height:18px}.chat-closed{padding:.8rem 1rem;border-top:1px solid var(--line);margin:0}@media (max-width: 640px){.chat-bubble{max-width:88%}.chat-transcript{max-height:55vh;padding:.75rem .6rem}.chat-actions{opacity:1}}.announcement{position:relative;overflow:hidden}.announcement-important{border-left:4px solid var(--warn)}.announcement-urgent{border-left:4px solid var(--error)}.announcement-band{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin:-.15rem 0 .65rem;padding:.35rem .6rem;border-radius:var(--radius-sm);font-size:.8rem}.announcement-band svg{width:15px;height:15px;flex:0 0 15px}.announcement-band strong{text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:700}.announcement-important .announcement-band{background:var(--warn-bg);color:var(--warn)}.announcement-urgent .announcement-band{background:var(--error-bg);color:var(--error)}.announcement-pin{display:inline-flex;align-items:center;gap:.25rem;margin-right:.45rem;vertical-align:middle}.announcement-pin svg{width:11px;height:11px}@keyframes announcement-arrive{0%{box-shadow:0 0 color-mix(in srgb,var(--error) 45%,transparent)}70%{box-shadow:0 0 0 10px color-mix(in srgb,var(--error) 0%,transparent)}to{box-shadow:0 0 color-mix(in srgb,var(--error) 0%,transparent)}}.announcement-urgent{animation:announcement-arrive 1.6s var(--ease) 2}@media (prefers-reduced-motion: reduce){.announcement-urgent{animation:none}}.priority-picker{border:0;margin:0 0 .75rem;padding:0}.priority-picker legend{padding:0;margin-bottom:.35rem;font-size:.8rem;font-weight:650;color:var(--ink-2)}.priority-options{display:grid;gap:.3rem}.priority-option{display:flex;gap:.55rem;align-items:flex-start;padding:.45rem .6rem;border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer}.priority-option:hover{background:var(--surface-2)}.priority-option input{margin-top:.25rem;flex:0 0 auto}.priority-option>span{display:grid;gap:.05rem;min-width:0}.priority-option strong{display:flex;align-items:center;gap:.3rem}.priority-option strong svg{width:14px;height:14px}.priority-option.is-on{border-color:var(--brand-600);background:var(--surface-2)}.priority-option.is-on.priority-important{border-color:var(--warn);background:var(--warn-bg)}.priority-option.is-on.priority-important strong{color:var(--warn)}.priority-option.is-on.priority-urgent{border-color:var(--error);background:var(--error-bg)}.priority-option.is-on.priority-urgent strong{color:var(--error)}.editor-page{max-width:62rem;padding-bottom:4.5rem}.editor-back{display:inline-flex;align-items:center;gap:.25rem;margin-bottom:.5rem;color:var(--muted);text-decoration:none;font-size:.875rem}.editor-back:hover{color:var(--ink);text-decoration:underline}.editor-back svg{width:14px;height:14px}.editor-head{align-items:flex-start}.editor-intro{padding:.75rem 1rem;margin-bottom:1rem;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm)}.editor-intro p,.editor-intro .alert{margin:0}.editor-body{display:grid;gap:1rem}.editor-section{padding:1.1rem 1.25rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1)}.editor-section-head{margin-bottom:.75rem}.editor-section-head h2{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1rem}.editor-section-head p{margin:.15rem 0 0}.editor-step{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--brand-700);color:var(--primary-ink);font-size:.72rem;font-weight:700;flex:0 0 22px}.editor-actions{position:sticky;bottom:0;z-index:2;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:1rem;padding:.75rem 1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-2)}.editor-preview-row{display:flex;gap:1.25rem;flex-wrap:wrap;align-items:flex-start}.editor-preview-row>.thumb-field{flex:1 1 20rem;margin-bottom:0}.editor-preview{flex:0 0 220px;display:grid;gap:.3rem}.editor-preview .cover{border-radius:var(--radius-sm)}.editor-facets{display:flex;gap:1.5rem;flex-wrap:wrap;margin-bottom:1rem}.editor-facets>div{flex:1 1 16rem;display:grid;gap:.4rem;align-content:start}@media (max-width: 700px){.editor-preview{flex:1 1 100%}.editor-actions{padding:.6rem .75rem}}.hierarchy{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);padding:1rem 1.15rem;margin-bottom:1.25rem}.hierarchy-intro h2{margin:0 0 .15rem;font-size:1rem}.hierarchy-intro p{margin:0 0 .85rem}.hierarchy-steps{list-style:none;margin:0;padding:0;display:flex;align-items:stretch;gap:.5rem;flex-wrap:wrap}.hierarchy-step{flex:1 1 14rem;min-width:0;display:flex;gap:.6rem;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.7rem .8rem}.hierarchy-step strong{display:flex;align-items:center;gap:.35rem}.hierarchy-step strong svg{width:15px;height:15px;opacity:.7}.hierarchy-step p{margin:.2rem 0 0}.hierarchy-num{flex:0 0 22px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--brand-700);color:var(--primary-ink);font-size:.72rem;font-weight:700}.hierarchy-arrow{display:grid;place-items:center;flex:0 0 auto;color:var(--muted)}.hierarchy-arrow svg{width:18px;height:18px}.hierarchy-example{margin:.9rem 0 0;padding-top:.8rem;border-top:1px solid var(--line);color:var(--ink-2)}.hierarchy-crumb{display:flex;align-items:center;gap:.3rem;margin:0 0 .75rem}.hierarchy-crumb svg{width:12px;height:12px;opacity:.5}.hierarchy-crumb .crumb{color:var(--muted)}.hierarchy-crumb .crumb-here{color:var(--ink);font-weight:650}@media (max-width: 820px){.hierarchy-steps{flex-direction:column}.hierarchy-arrow svg{transform:rotate(90deg)}}.course-facet{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.3rem 0;border-top:1px dashed color-mix(in srgb,var(--line) 70%,transparent)}.course-facet-label{display:inline-flex;align-items:center;gap:.3rem;flex:0 0 6.5rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.course-facet-label svg{width:13px;height:13px}.course-facet-values{display:flex;gap:.25rem;flex-wrap:wrap}.course-facet-edit{margin-left:auto;flex:0 0 auto;white-space:nowrap}.batch-list{list-style:none;margin:.4rem 0 0;padding:0;display:grid;gap:.3rem}.batch-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2)}.batch-row .row-link{padding:.5rem .65rem;margin:0;align-items:center}.batch-row .row-link.is-flat{cursor:default}.batch-row .row-link.is-flat:hover{background:transparent}.batch-row-main{display:grid;gap:.1rem;min-width:0;flex:1 1 auto}.batch-seats{text-align:right;flex:0 0 auto;display:grid}.batch-seats strong{font-variant-numeric:lining-nums tabular-nums;font-size:1.05rem}.batch-form fieldset{border:0;margin:0 0 .9rem;padding:0}.batch-audience,.batch-subjects{padding-top:.25rem}.batch-subjects .warn{margin-top:.4rem}.alert-consequence{background:var(--error-bg);border-color:color-mix(in srgb,var(--error) 25%,transparent);border-left-color:var(--error);color:var(--error)}.batch-form legend{padding:0;margin-bottom:.35rem;font-size:.8rem;font-weight:650;color:var(--ink-2)}.radio-row{display:flex;gap:.55rem;align-items:flex-start;padding:.45rem .6rem;border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:.3rem;cursor:pointer}.radio-row:hover{background:var(--surface-2)}.radio-row input{margin-top:.2rem;flex:0 0 auto}.radio-row>span{display:grid;gap:.05rem}.radio-row:has(input:checked){border-color:var(--brand-600);background:var(--surface-2)}.subject-picker{display:flex;flex-wrap:wrap;gap:.35rem}.subject-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .6rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);cursor:pointer;font-size:.875rem}.subject-chip:hover{border-color:var(--brand-600)}.subject-chip.is-on{background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 40%,transparent)}.subject-chip input{margin:0}.folder-picker{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);padding:.85rem 1rem;margin:.75rem 0}.folder-picker-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.6rem}.folder-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.folder-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;padding:.6rem .75rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm)}.folder-row.is-current{border-left:3px solid var(--ok)}.folder-row-main{display:flex;gap:.6rem;align-items:flex-start;min-width:0;flex:1 1 18rem}.folder-row-main>svg{width:17px;height:17px;flex:0 0 17px;margin-top:.15rem;opacity:.6}.folder-row-text{display:grid;gap:.15rem;min-width:0}.folder-row-text strong{overflow-wrap:anywhere}.folder-id{font-family:ui-monospace,Consolas,monospace;font-size:.78rem;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;color:var(--ink-2)}.folder-row-actions{display:flex;gap:.35rem;flex-wrap:wrap;flex:0 0 auto}.lecture-upload .field{margin-bottom:.75rem}.upload-progress{margin:.5rem 0 .75rem;display:grid;gap:.3rem}.upload-progress .bar{margin:0}.upload-progress .bar-fill{transition:width .15s linear}@media (max-width: 640px){.folder-row{flex-direction:column}.folder-row-actions{width:100%}}.widget-title-link{display:inline-flex;align-items:center;gap:.3rem;color:inherit;text-decoration:none}.widget-title-link svg{width:1em;height:1em;opacity:.45;transition:transform .18s var(--ease),opacity .18s var(--ease)}.widget-linked h2:hover .widget-title-link{text-decoration:underline}.widget-linked h2:hover .widget-title-link svg{transform:translate(2px);opacity:.9}.row-link{display:flex;align-items:baseline;gap:.5rem;width:100%;color:inherit;text-decoration:none;padding:.1rem .25rem;margin:-.1rem -.25rem;border-radius:var(--radius-sm);transition:background .15s var(--ease)}.row-link>svg{width:.85em;height:.85em;margin-left:auto;flex:0 0 auto;opacity:0;transform:translate(-2px);transition:opacity .18s var(--ease),transform .18s var(--ease);align-self:center}.row-link:hover{background:var(--surface-2)}.row-link:hover>svg,.row-link:focus-visible>svg{opacity:.6;transform:translate(0)}.row-link:focus-visible{outline-offset:1px}.counter-row .row-link>strong{flex:0 0 auto}.counter-row .row-link>.muted{flex:1 1 auto}.course-grid{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.course-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden;display:flex;flex-direction:column}.course-card:has(.course-card-editor){grid-column:1 / -1}.course-card:has(.course-card-editor)>.cover-card{aspect-ratio:auto;height:120px}.course-card-body{padding:.85rem 1rem 1rem;display:grid;gap:.5rem}.course-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.course-card-body p{margin:0}.course-card-editor{border-top:1px solid var(--line);background:var(--surface-2);padding:1rem}.course-form{display:grid;gap:.25rem}.course-form .form-row{display:flex;gap:.9rem;flex-wrap:wrap}.course-form .form-row>.field{flex:1 1 220px}.course-form .field>span+.small{display:block;margin-top:.2rem}.thumb-field{margin-bottom:.9rem}.thumb-row{display:flex;gap:1rem;align-items:flex-start;flex-wrap:wrap}.thumb-preview{flex:0 0 auto;width:160px;height:96px;border:1px dashed var(--line);border-radius:var(--radius-sm);background:var(--surface-2);display:grid;place-items:center;overflow:hidden}.thumb-preview img{width:100%;height:100%;object-fit:cover;display:block}.thumb-actions{flex:1 1 16rem;display:grid;gap:.35rem;align-content:start}.thumb-actions .btn svg{width:15px;height:15px;margin-right:.35rem}.fee-admin{display:grid;gap:.75rem}.fee-admin .card-head{margin-bottom:0}.fee-structure-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.fee-structure{border:1px solid var(--line);border-left:3px solid var(--line);border-radius:var(--radius-sm);padding:.75rem .9rem;background:var(--surface);display:grid;gap:.5rem}.fee-structure-published{border-left-color:var(--ok)}.fee-structure-draft{border-left-color:var(--warn)}.fee-structure-archived{opacity:.72}.fee-structure-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.fee-structure-summary{margin:0;font-variant-numeric:lining-nums tabular-nums}.fee-editor-block{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.75rem .9rem;margin:.5rem 0;background:var(--surface)}.fee-editor-block h4{margin:0;font-size:.95rem}.fee-editor-row{display:flex;gap:.5rem;align-items:center;padding:.3rem 0;flex-wrap:wrap}.fee-editor-label{flex:2 1 10rem;min-width:0}.fee-editor-amount{flex:1 1 7rem;min-width:0;font-variant-numeric:lining-nums tabular-nums;text-align:right}.fee-editor-due{flex:1 1 8rem;display:grid;gap:.1rem;min-width:0}.fee-editor-due input{width:100%}.fee-editor-row .btn{flex:0 0 auto}.fee-balance{display:block;margin-top:.5rem;font-size:.85rem;font-weight:600;font-variant-numeric:lining-nums tabular-nums}.fee-balance.is-ok{color:var(--ok)}.fee-balance.is-off{color:var(--warn)}@media (max-width: 600px){.fee-editor-row{align-items:stretch}.fee-editor-label,.fee-editor-amount,.fee-editor-due{flex:1 1 100%}.fee-editor-amount{text-align:left}.thumb-preview{width:100%;height:140px}}.track-form{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap;margin:1rem 0 1.25rem}.track-form .field{flex:1 1 16rem;margin-bottom:0}.track-form input{font-family:ui-monospace,Consolas,monospace;letter-spacing:.06em;text-transform:uppercase}.track-result{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--line)}.track-result>.pill{margin-bottom:.6rem}.track-result p{margin:0 0 .75rem}.track-note{margin:0 0 1rem;padding:.75rem 1rem;background:var(--surface-2);border-left:3px solid var(--brand-700);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.track-note strong{display:block;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem}.track-note p{margin:0}.register-progress{padding:.85rem 1.1rem}.register-progress-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.45rem}.register-progress .bar{height:9px;margin:0}.radio-cell{width:100%;min-width:56px;border-radius:var(--radius-sm);transition:background .12s var(--ease)}.radio-cell:hover{background:var(--surface-2)}.mark-letter{font-size:.8125rem;font-weight:700;letter-spacing:.01em;color:var(--muted);transition:color .12s var(--ease)}.radio-cell input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;cursor:pointer}.radio-cell{position:relative}.register tr .radio-cell:has(input:checked){box-shadow:inset 0 0 0 1px currentColor}.register tr .radio-cell:has(input:checked) .mark-letter{color:inherit}.mark-present:has(input:checked){background:var(--ok-bg);color:var(--ok)}.mark-absent:has(input:checked){background:var(--error-bg);color:var(--error)}.mark-late:has(input:checked){background:var(--warn-bg);color:var(--warn)}.mark-excused:has(input:checked){background:var(--surface-2);color:var(--ink-2)}.radio-cell:hover .mark-letter{color:var(--ink)}.tally{gap:.5rem}.tally-item{display:inline-flex;align-items:baseline;gap:.3rem;padding:.25rem .6rem;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);font-size:.8125rem}.tally-item strong{font-variant-numeric:tabular-nums;font-size:.95rem}.tally-present{background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 30%,transparent);color:var(--ok)}.tally-absent{background:var(--error-bg);border-color:color-mix(in srgb,var(--error) 30%,transparent);color:var(--error)}.tally-late,.tally-unmarked{background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 30%,transparent);color:var(--warn)}.register-foot{box-shadow:0 -4px 12px #0f172a0f;z-index:5}.keyboard-hint{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.5rem .75rem}.work-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.work-row>span:first-child{min-width:0}.work-row a{font-weight:550}.lecture-thumb{position:relative;display:block;overflow:hidden;border-radius:calc(var(--radius) - 4px);background:var(--ink)}.lecture-thumb-card{aspect-ratio:16 / 9;width:100%}.lecture-thumb-row{aspect-ratio:16 / 9;width:108px;flex:none;border-radius:8px}.lecture-thumb-art{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;transition:transform .5s var(--ease)}.lecture-thumb-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(-28deg,rgb(255 255 255 / 7%) 0 2px,transparent 2px 18px)}.lecture-face:hover .lecture-thumb-art,.watch-row:hover .lecture-thumb-art{transform:scale(1.06)}.lecture-thumb-play{position:relative;z-index:1;width:44px;height:44px;padding:11px;border-radius:999px;background:#ffffffeb;color:var(--ink);fill:currentColor;box-shadow:0 4px 16px #0f172a59;transition:transform .22s var(--ease)}.lecture-thumb-row .lecture-thumb-play{width:26px;height:26px;padding:7px}.lecture-face:hover .lecture-thumb-play{transform:scale(1.12)}.lecture-thumb-time{position:absolute;right:.4rem;bottom:.35rem;z-index:2;padding:.1rem .35rem;border-radius:5px;background:#0f172ad1;color:#fff;font-size:.7rem;font-variant-numeric:tabular-nums;line-height:1.5}.lecture-thumb-row .lecture-thumb-time{font-size:.62rem;right:.25rem;bottom:.2rem}.lecture-thumb-progress{position:absolute;left:0;right:0;bottom:0;z-index:2;height:4px;background:#ffffff47}.lecture-thumb-progress>span{display:block;height:100%;background:var(--amber)}.lecture-face.is-dead{cursor:not-allowed;filter:grayscale(.75);opacity:.75}.lecture-body h3 a{color:inherit;text-decoration:none}.lecture-body h3 a:hover{text-decoration:underline}.watch{display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr) 340px;align-items:start}@media (max-width: 1100px){.watch{grid-template-columns:1fr}}.watch-main{min-width:0}.watch-crumbs{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.7rem}.watch-crumbs a{display:inline-flex;align-items:center;gap:.3rem;font-weight:600;text-decoration:none;color:var(--ink)}.watch-crumbs a:hover{color:var(--page)}.watch-crumbs svg{width:16px;height:16px}.player-stage{background:#000;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-2)}.player-stage .player{display:block;width:100%;aspect-ratio:16 / 9;background:#000}.player-stage>p,.player-stage>.alert{margin:.7rem .9rem}.player-stage>p.muted{color:#ffffff9e}.player-missing{aspect-ratio:16 / 9;display:grid;place-content:center;gap:.6rem;padding:2rem;text-align:center;color:#ffffffd1}.player-missing svg{width:34px;height:34px;margin:0 auto;color:var(--warn)}.watch-head{margin:1rem 0 .3rem}.watch-head h1{margin:0;font-size:1.35rem;line-height:1.3}.watch-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.4rem;color:var(--muted);font-size:.85rem}.watch-meta .pill{font-size:.68rem}.watch-description{margin:.8rem 0 0;padding:.8rem .9rem;background:var(--surface-2);border-radius:var(--radius);white-space:pre-wrap}.watch-next{display:flex;align-items:center;gap:.6rem;margin-top:1rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-decoration:none;color:inherit;transition:border-color .2s var(--ease),transform .2s var(--ease)}.watch-next:hover{border-color:var(--page);transform:translate(2px)}.watch-next svg{width:18px;height:18px;margin-left:auto;color:var(--muted)}.watch-next-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);flex:none}.watch-next-title{font-weight:600}.watch-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden;max-height:calc(100vh - 6rem);display:flex;flex-direction:column}.watch-list-head{margin:0;padding:.8rem .9rem;font-size:.95rem;border-bottom:1px solid var(--line);display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.watch-queue{list-style:none;margin:0;padding:.35rem;overflow-y:auto}.watch-row{display:flex;align-items:center;gap:.55rem;padding:.4rem;border-radius:10px;text-decoration:none;color:inherit;transition:background .18s var(--ease)}.watch-row:hover{background:var(--surface-2)}.watch-row.is-current{background:color-mix(in srgb,var(--page) 14%,transparent)}.watch-row-index{width:1.4rem;flex:none;text-align:center;color:var(--muted);font-size:.78rem;font-variant-numeric:tabular-nums}.watch-row.is-current .watch-row-index{color:var(--page)}.watch-row-index svg{width:13px;height:13px;fill:currentColor}.watch-row-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.watch-row-title{font-size:.84rem;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-summary{display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:1.1rem}.course-stat{flex:1 1 150px;min-width:150px;display:flex;flex-direction:column;gap:.1rem;padding:.7rem .9rem;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;transition:border-color .2s var(--ease),transform .2s var(--ease)}.course-stat:hover:not(:disabled){border-color:var(--page);transform:translateY(-2px)}.course-stat.is-on{border-color:var(--page);box-shadow:inset 0 0 0 1px var(--page)}.course-stat:disabled{cursor:default;opacity:.6}.course-stat.is-warn:not(:disabled) .course-stat-n{color:var(--warn)}.course-stat-n{font-size:1.5rem;font-weight:700;line-height:1.1}.course-search{margin-bottom:1rem}.course-search input{width:100%;max-width:420px}.course-grid{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.course-tile{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--shadow-1);transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}.course-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-2);border-color:color-mix(in srgb,var(--page) 35%,var(--line))}.course-tile-body{padding:.8rem .9rem 1rem;display:flex;flex-direction:column;gap:.3rem;flex:1}.course-tile-body h2{margin:0;font-size:1rem;line-height:1.3}.course-tile-who{display:flex;align-items:center;gap:.35rem}.course-tile-who svg{width:14px;height:14px;flex:none}.course-tile-facts{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.2rem}.course-tile-facts .pill{display:inline-flex;align-items:center;gap:.25rem}.course-tile-facts .pill svg{width:12px;height:12px}.course-tile-when{margin-top:auto;padding-top:.4rem}.class-head{align-items:flex-start}.class-head h1{margin:.15rem 0}.pill-live{display:inline-flex;align-items:center;gap:.4rem;background:color-mix(in srgb,var(--error) 14%,transparent);color:var(--error);border-color:transparent;font-weight:600}.live-dot{width:8px;height:8px;border-radius:999px;background:currentColor;animation:live-pulse 1.8s var(--ease) infinite}@keyframes live-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}@media (prefers-reduced-motion: reduce){.live-dot{animation:none}}.class-stage{background:var(--ink);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-2);min-height:320px;display:grid}.class-frame{width:100%;aspect-ratio:16 / 9;border:0;display:block}.class-waiting{display:grid;place-content:center;justify-items:center;gap:.7rem;padding:3rem 1.5rem;text-align:center;color:#ffffffd1}.class-waiting svg{width:38px;height:38px;color:#ffffff8c}.class-waiting .muted{color:#ffffff8c}.class-waiting-message{margin:0;font-size:1.05rem;font-weight:600}.class-countdown{margin:0;font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums}.class-notes{margin-top:1.4rem}.class-notes h2{font-size:1rem;margin-bottom:.4rem}.skip-link{position:absolute;left:.5rem;top:-3.5rem;z-index:100;background:var(--primary);color:var(--primary-ink);padding:.6rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;text-decoration:none;box-shadow:var(--shadow-3);transition:top .15s var(--ease)}.skip-link:focus-visible{top:.5rem}.main:focus{outline:none}.nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout.is-collapsed{--sidebar: 64px}.layout.is-collapsed .nav a{justify-content:center;padding-inline:.5rem;gap:0}.layout.is-collapsed .nav-label,.layout.is-collapsed .brand-words,.layout.is-collapsed .who{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.layout.is-collapsed .brand,.layout.is-collapsed .sidebar-foot{justify-content:center;padding-inline:.5rem}.layout.is-collapsed .nav-group{font-size:0;padding:.55rem .5rem .2rem;margin:0 .25rem;border-top:1px solid var(--line)}.sidebar-collapse{display:none}@media (min-width: 1101px){.sidebar-collapse{display:inline-flex}}@media (min-width: 1101px) and (max-width: 1280px){.layout:not(.is-expanded){--sidebar: 64px}.layout:not(.is-expanded) .nav a{justify-content:center;padding-inline:.5rem;gap:0}.layout:not(.is-expanded) .nav-label,.layout:not(.is-expanded) .brand-words,.layout:not(.is-expanded) .who{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.layout:not(.is-expanded) .brand,.layout:not(.is-expanded) .sidebar-foot{justify-content:center;padding-inline:.5rem}.layout:not(.is-expanded) .nav-group{font-size:0;padding:.55rem .5rem .2rem;margin:0 .25rem;border-top:1px solid var(--line)}}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 38px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--ink-2);cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease)}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.icon-btn svg{width:18px;height:18px}.search-trigger{display:inline-flex;align-items:center;gap:.5rem;height:38px;padding:0 .6rem 0 .7rem;min-width:0;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);font:inherit;font-size:.85rem;cursor:pointer;transition:border-color .15s var(--ease),color .15s var(--ease)}.search-trigger:hover{border-color:var(--brand-600);color:var(--ink-2)}.search-trigger svg{width:16px;height:16px;flex:0 0 16px}.search-trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kbd{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.7rem;padding:.1rem .35rem;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:5px;color:var(--muted);background:var(--surface-2);white-space:nowrap}@media (max-width: 768px){.search-trigger{padding:0;width:38px;justify-content:center}.search-trigger-label,.search-trigger .kbd{display:none}}.account{position:relative}.account-in-rail{margin-top:auto}.account-in-rail .account-trigger{width:100%;border-radius:0;text-align:left}.account-in-rail .account-trigger .avatar{width:34px;height:34px;flex:0 0 34px;font-size:.8rem}.account-in-rail .account-panel{top:auto;bottom:calc(100% + .4rem);left:.5rem;right:.5rem}.account-trigger{display:inline-flex;align-items:center;gap:.5rem;height:38px;padding:0 .35rem;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--ink);cursor:pointer;font:inherit}.account-trigger:hover{background:var(--surface-2)}.account-trigger .avatar{width:28px;height:28px;flex:0 0 28px;font-size:.7rem}.account-panel{position:absolute;right:0;top:calc(100% + .4rem);z-index:50;min-width:15rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-3);padding:.35rem}.account-who{padding:.6rem .65rem .55rem;border-bottom:1px solid var(--line);margin-bottom:.35rem}.account-name{display:block;font-weight:640;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-role{display:block;font-size:.75rem;color:var(--muted)}.account-item{display:flex;align-items:center;gap:.55rem;width:100%;padding:.5rem .65rem;min-height:40px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink-2);font:inherit;font-size:.875rem;text-align:left;text-decoration:none;cursor:pointer}.account-item:hover{background:var(--surface-2);color:var(--ink)}.account-item svg{width:16px;height:16px;flex:0 0 16px;opacity:.8}.account-rule{height:1px;background:var(--line);margin:.35rem .3rem;border:0}.palette-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0f172a73;border:0;margin:0;padding:0;width:100%;display:block;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:default;animation:palette-in .12s var(--ease)}.palette-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:61;display:flex;align-items:flex-start;justify-content:center;padding:10vh 1rem 1rem;pointer-events:none}@keyframes palette-in{0%{opacity:0}to{opacity:1}}.palette{pointer-events:auto;width:100%;max-width:34rem;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);overflow:hidden;text-align:left;cursor:auto}.palette-field{display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;border-bottom:1px solid var(--line)}.palette-field svg{width:18px;height:18px;flex:0 0 18px;color:var(--muted)}.palette-input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:1rem;color:var(--ink)}.palette-input:focus{outline:none}.palette-input::placeholder{color:var(--muted)}.palette-results{list-style:none;margin:0;padding:.35rem;max-height:22rem;overflow-y:auto;overscroll-behavior:contain}.palette-group{font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);padding:.7rem .65rem .3rem}.palette-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.5rem .65rem;min-height:40px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink-2);font:inherit;font-size:.9rem;text-align:left;cursor:pointer}.palette-item svg{width:17px;height:17px;flex:0 0 17px;opacity:.8}.palette-item.is-active{background:var(--brand-050);color:var(--ink)}.palette-item.is-active svg{color:var(--brand-700);opacity:1}.palette-item-where{margin-left:auto;font-size:.72rem;color:var(--muted)}.palette-empty{padding:1.6rem 1rem;text-align:center;color:var(--muted);font-size:.9rem}.palette-foot{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.55rem .9rem;border-top:1px solid var(--line);background:var(--surface-2);font-size:.74rem;color:var(--muted)}.account-check{margin-left:auto;display:inline-flex;color:var(--brand-700)}.account-check svg{width:15px;height:15px;opacity:1}.skeleton-list{gap:0}.skeleton-list li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line)}.skeleton-list li:last-child{border-bottom:none}.skeleton-trail{width:3.5rem;flex:0 0 3.5rem}.skeleton-table{padding:0;background:var(--surface)}.skeleton-thead,.skeleton-tr{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:1.25rem;padding:.62rem .85rem;align-items:center}.skeleton-thead{background:var(--surface-2);border-bottom:1px solid var(--line-strong)}.skeleton-thead .skeleton{height:9px;width:55%}.skeleton-tr{border-bottom:1px solid var(--line)}.skeleton-tr:last-child{border-bottom:none}.skeleton-head{margin-bottom:1.25rem}.skeleton-head .skeleton{height:26px;width:14rem;border-radius:8px}.publicpage-single{display:block}.publicpage-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,26rem);gap:1.25rem;align-items:start}.publicpage-form{min-width:0}.publicpage-preview{position:sticky;top:1rem;display:grid;gap:.4rem;min-width:0}.publicpage-preview-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.publicpage-frame{width:100%;height:70vh;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-1)}.publicpage-field{display:grid;gap:.3rem;margin-bottom:1rem}.publicpage-field textarea{resize:vertical;min-height:3.4rem}.publicpage-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.publicpage-over{color:var(--error);font-weight:600}.publicpage-error{display:block;color:var(--error);font-size:.8125rem;font-weight:600}.publicpage-field.is-wrong>input,.publicpage-field.is-wrong>textarea,.publicpage-field.is-wrong .publicpage-rows{border-color:var(--error)}.publicpage-rows{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.5rem;background:var(--surface-2)}.publicpage-row{display:flex;align-items:flex-start;gap:.5rem;padding:.35rem;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line)}.publicpage-row-main{flex:1 1 auto;min-width:0}.publicpage-row-controls{display:flex;gap:.2rem;align-items:center;flex:0 0 auto}.publicpage-photo{align-items:center}.publicpage-photo-fields,.publicpage-feature-fields{flex:1 1 auto;min-width:0;display:grid;gap:.3rem}.publicpage-photo-fields input{width:100%}.publicpage-thumb{width:96px;height:60px}.publicpage-feature-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);color:var(--brand-700)}.publicpage-feature-icon svg{width:17px;height:17px}.publicpage-feature select{width:auto;min-width:9rem}.publicpage-feature textarea{resize:vertical;min-height:2.8rem}.publicpage-notices li{padding:.35rem 0}@media (max-width: 1100px){.publicpage-split{grid-template-columns:minmax(0,1fr)}.publicpage-preview{position:static}.publicpage-frame{height:60vh}}@media (max-width: 700px){.publicpage-row{flex-wrap:wrap}.publicpage-row-controls{width:100%;justify-content:flex-end}.publicpage-thumb{width:100%;height:120px}}.certificate-stage{aspect-ratio:1414 / 1000;width:100%;border-radius:var(--radius);overflow:hidden;box-shadow:0 0 0 1px var(--line),var(--shadow-2);background:#fffdf8}.certificate-stage svg{display:block;width:100%;height:100%}.certificate-viewer{display:grid;gap:.9rem}.certificate-viewer.is-compact{gap:.75rem}.certificate-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.certificate-actions .btn svg{width:16px;height:16px}.certificate-note{margin:0}.certificate-modal{width:min(1180px,100%)}.certificate-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-top:.25rem}.certificate-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-1);transition:box-shadow .18s var(--ease),transform .18s var(--ease),border-color .18s var(--ease)}.certificate-card:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.certificate-card.is-revoked{border-color:color-mix(in srgb,var(--error) 40%,var(--line))}.certificate-card.is-archived{opacity:.88}.certificate-thumb{display:block;position:relative;width:100%;padding:0;border:0;background:#fffdf8;cursor:pointer;border-bottom:1px solid var(--line)}.certificate-thumb-inner{display:block;aspect-ratio:1414 / 1000}.certificate-thumb-inner svg{display:block;width:100%;height:100%}.certificate-thumb-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:.4rem;background:#0e25408c;color:#fff;font-weight:600;font-size:.875rem;opacity:0;transition:opacity .18s var(--ease)}.certificate-thumb-hint svg{width:16px;height:16px}.certificate-thumb:hover .certificate-thumb-hint,.certificate-thumb:focus-visible .certificate-thumb-hint{opacity:1}.certificate-card-body{display:grid;gap:.35rem;padding:.8rem .9rem 1rem}.certificate-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.certificate-card-head h3{margin:0;font-size:.975rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.certificate-card-meta{margin:.15rem 0 .35rem;font-size:.8125rem;color:var(--muted)}.certificate-no{font-variant-numeric:tabular-nums;letter-spacing:.01em;font-weight:600;color:var(--ink-2)}.cert-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.cert-tab{flex:1 1 13rem;min-width:0;text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.5rem .75rem .6rem;color:var(--muted);font:inherit;transition:color .18s var(--ease),border-color .18s var(--ease),background .18s var(--ease)}.cert-tab:hover{color:var(--ink-2)}.cert-tab.is-current{color:var(--ink);border-color:var(--brand-600);background:var(--brand-050);box-shadow:inset 0 -3px 0 var(--brand-600)}.cert-tab-label{display:block;font-weight:620;font-size:.9rem}.cert-tab-hint{display:block;font-size:.78rem}.cert-filters{align-items:flex-end}.cert-search{flex:2 1 22rem}.cert-pager{justify-content:space-between;margin-top:.75rem}.cert-pager .btn svg{width:15px;height:15px}.cert-linked{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin:.1rem 0 .9rem;font-size:.85rem;color:var(--ink-2)}.cert-linked svg{width:15px;height:15px;color:var(--ok)}.cert-matches{margin:.1rem 0 .9rem;padding:.6rem .7rem;background:var(--surface-2);border-radius:var(--radius-sm)}.cert-matches ul{display:flex;flex-wrap:wrap;gap:.35rem}.cert-matches li{padding:0;border:0}.cert-more{margin:.2rem 0 1rem}.cert-more>summary{cursor:pointer;font-size:.875rem;color:var(--ink-2);padding:.3rem 0}.cert-more[open]>summary{margin-bottom:.5rem;font-weight:600}.modal-sm{width:min(520px,100%)}.verify-shell{max-width:900px}.verify-card{border-left:4px solid var(--line)}.verify-card.is-valid{border-left-color:var(--ok)}.verify-card.is-revoked{border-left-color:var(--error)}.verify-card.is-archived{border-left-color:var(--warn)}.verify-card.is-unknown{border-left-color:var(--muted)}.verify-verdict{display:flex;gap:.85rem;align-items:flex-start}.verify-verdict strong{display:block;font-size:1.15rem;line-height:1.3}.verify-verdict p{margin:.3rem 0 0;color:var(--ink-2);font-size:.9rem}.verify-mark{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--surface-2);color:var(--ink-2)}.verify-mark svg{width:22px;height:22px}.is-valid .verify-mark{background:var(--ok-bg);color:var(--ok)}.is-revoked .verify-mark{background:var(--error-bg);color:var(--error)}.is-archived .verify-mark{background:var(--warn-bg);color:var(--warn)}.verify-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.85rem 1.25rem;margin:1.1rem 0 0;padding-top:1rem;border-top:1px solid var(--line)}.verify-facts dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.15rem}.verify-facts dd{margin:0;color:var(--ink);font-size:.95rem}.verify-holder{font-family:var(--font-display);font-size:1.15rem;font-weight:600}.verify-no{font-variant-numeric:tabular-nums;letter-spacing:.02em}.verify-lookup form{display:flex;gap:.6rem;align-items:flex-end;flex-wrap:wrap}.verify-lookup .field{flex:1 1 16rem}@media (max-width: 700px){.certificate-grid{grid-template-columns:1fr}.cert-tab{flex:1 1 100%}.cert-pager{flex-direction:column;align-items:stretch}.certificate-actions .btn{flex:1 1 auto;justify-content:center}}.fee-standing{padding-bottom:1.1rem}.fee-standing-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.fee-standing-head h2{margin-bottom:.25rem}.fee-headline{margin:0;color:var(--ink-2);max-width:46rem}.fee-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem;margin:1.1rem 0 0}.fee-figure{display:flex;flex-direction:column;gap:.15rem;padding:.8rem .9rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.fee-figure-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600}.fee-figure-value{font-size:1.5rem;line-height:1.15;font-variant-numeric:tabular-nums;color:var(--ink)}.fee-figure-note{font-size:.78rem;color:var(--muted)}.fee-figure.is-ok{border-color:color-mix(in srgb,var(--ok) 35%,var(--line))}.fee-figure.is-ok .fee-figure-value{color:var(--ok)}.fee-figure.is-due{border-color:color-mix(in srgb,var(--warn) 40%,var(--line))}.fee-figure.is-due .fee-figure-value{color:var(--warn)}.fee-figure.is-pending{border-style:dashed;border-color:var(--muted)}.fee-standing-action{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--line)}.fee-ledger>summary{cursor:pointer;display:flex;gap:.75rem;align-items:baseline;flex-wrap:wrap;font-weight:600;color:var(--ink)}.fee-ledger>summary::marker{color:var(--muted)}.fee-ledger[open]>summary{margin-bottom:.75rem}.paylist{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.75rem}.payrow{border:1px solid var(--line);border-radius:var(--radius);padding:.85rem 1rem;background:var(--surface)}.payrow-main{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.payrow-amount{display:flex;flex-direction:column}.payrow-amount strong{font-size:1.15rem;font-variant-numeric:tabular-nums}.payrow-claimed{font-size:.78rem;color:var(--muted)}.payrow-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;text-align:right}.payrow-note{margin:.6rem 0 0}.payrow-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.7rem}.payrow-proof{flex:1 1 100%;margin-top:.6rem}.paydetails{margin:.9rem 0 0;display:grid;gap:.55rem}.paydetails>div{display:grid;grid-template-columns:12rem 1fr;gap:1rem;align-items:baseline}.paydetails dt{color:var(--muted);font-size:.875rem}.paydetails dd{margin:0;font-weight:600;overflow-wrap:anywhere}.paycalc{margin:.9rem 0 0;display:grid;gap:.4rem;max-width:30rem}.paycalc>div{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.paycalc dt{color:var(--ink-2)}.paycalc dd{margin:0;font-variant-numeric:tabular-nums}.paycalc-total{border-top:2px solid var(--ink);margin-top:.35rem;padding-top:.45rem;font-weight:700;font-size:1.05rem}.paycalc-aside{color:var(--muted);font-style:italic}.paycalc-aside dt,.paycalc-aside dd{color:var(--muted);font-weight:400}.amount-input{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden;max-width:22rem}.amount-input:focus-within{border-color:var(--brand-600);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-600) 18%,transparent)}.amount-currency{display:flex;align-items:center;padding:0 .8rem;background:var(--surface-2);color:var(--ink-2);font-weight:700;border-right:1px solid var(--line)}.field .amount-input input{border:none;border-radius:0;box-shadow:none;background:transparent;font-size:1.35rem;font-variant-numeric:tabular-nums;font-weight:600;min-height:48px}.field .amount-input input:focus{box-shadow:none}.dropzone{margin-top:.9rem;padding:1.6rem 1rem;text-align:center;border:2px dashed var(--line);border-radius:var(--radius);background:var(--surface-2);transition:border-color .15s var(--ease),background .15s var(--ease)}.dropzone.is-over{border-color:var(--brand-600);background:color-mix(in srgb,var(--brand-600) 8%,var(--surface))}.dropzone p{margin:.4rem 0 0}.dropzone-icon{width:26px;height:26px;color:var(--muted)}.proofgrid{list-style:none;margin:.9rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.75rem}.proofitem{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.proofitem img{width:100%;height:7.5rem;object-fit:cover;display:block;background:var(--surface-2)}.proofitem-pdf{height:7.5rem;display:flex;flex-direction:column;gap:.3rem;align-items:center;justify-content:center;background:var(--surface-2);color:var(--muted)}.proofitem-pdf svg{width:26px;height:26px}.proofitem-foot{display:flex;align-items:center;justify-content:space-between;gap:.3rem;padding:.35rem .5rem}.proofitem-foot span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payconfirm{text-align:left}.payconfirm-mark{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--ok-bg);color:var(--ok);margin-bottom:.5rem}.payconfirm-mark svg{width:24px;height:24px}.checklist{margin:.8rem 0 0;padding-left:1.1rem;display:grid;gap:.35rem}.checklist li{color:var(--ink-2)}.form-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:1.1rem}.paybank-value{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.02em;margin-right:.5rem}.paybank dd{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.btn-danger{border-color:color-mix(in srgb,var(--error) 45%,var(--line));color:var(--error)}.btn-danger:hover:not(:disabled){background:var(--error-bg);border-color:var(--error)}.payfilters{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem;align-items:end;margin-bottom:1rem}.payfilters .field{margin-bottom:0}.payfilters .field:first-child{grid-column:span 2;min-width:14rem}.payreview{width:min(52rem,100%);max-height:90vh;overflow-y:auto}.payreview-section{padding:1rem 0;border-top:1px solid var(--line)}.payreview-section:first-of-type{border-top:none;padding-top:.5rem}.payreview-actions{position:sticky;bottom:0;background:var(--surface);padding:.9rem 0 .2rem;border-top:1px solid var(--line)}.payreview-confirm{margin-top:1rem;padding:1rem;border:1px solid color-mix(in srgb,var(--brand-600) 35%,var(--line));border-radius:var(--radius);background:var(--surface-2)}.payreview-confirm h3{margin:0 0 .35rem}.receipt-toolbar{margin-bottom:1rem}.receipt{max-width:48rem}.receipt-issuer{display:flex;gap:.9rem;align-items:flex-start}.receipt-logo{width:52px;height:52px;object-fit:contain}.receipt-head{border-bottom:none;padding-bottom:.35rem;align-items:flex-start}.receipt-head h1{font-size:1.35rem;letter-spacing:-.01em}.receipt-campus{margin:.1rem 0 0;color:var(--ink-2);font-size:.9rem}.receipt-contact{margin:.15rem 0 0;color:var(--muted);font-size:.78rem}.receipt-doctype{margin:0;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}.receipt-number{margin:.1rem 0 0;font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em}.receipt-issued{margin:.1rem 0 0;font-size:.78rem;color:var(--muted)}.receipt-rule{height:3px;background:var(--ink);margin:.3rem 0 1.25rem}.receipt.is-reversed .receipt-rule{background:var(--error)}.receipt-block{margin:1.1rem 0}.receipt-block-title{margin:0 0 .4rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}.receipt-block .receipt-fields{margin:0;gap:.35rem}.receipt-fields>div{grid-template-columns:11rem 1fr}.receipt-amount{margin-top:1.25rem}.receipt-amount strong{font-size:1.5rem}.receipt-ledger{width:100%;max-width:26rem;border-collapse:collapse}.receipt-ledger th{text-align:left;font-weight:400;color:var(--ink-2);padding:.25rem 0}.receipt-ledger td{text-align:right;font-variant-numeric:tabular-nums;padding:.25rem 0}.receipt-ledger-total th,.receipt-ledger-total td{border-top:1px solid var(--ink);padding-top:.4rem;font-weight:700}.receipt-foot{align-items:flex-end}.receipt-verification{min-width:12rem}.receipt-verifier{margin:0;font-weight:600}.receipt-qr{text-align:center}.receipt-qr svg{border:1px solid var(--line)}.receipt-note{margin:1.5rem 0 0;padding-top:.6rem;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted)}@media print{.receipt-toolbar{display:none!important}.receipt-rule{background:#000!important}.receipt-ledger-total th,.receipt-ledger-total td{border-top-color:#000!important}.receipt-note{border-top-color:#999!important;color:#444!important}.receipt-doctype,.receipt-issued,.receipt-contact,.receipt-block-title{color:#444!important}.receipt-qr svg{border-color:#999!important}.receipt-logo{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media (max-width: 720px){.paydetails>div,.receipt-fields>div{grid-template-columns:1fr;gap:.1rem}.payrow-meta{align-items:flex-start;text-align:left}.payrow-main{gap:.5rem}.payfilters .field:first-child{grid-column:span 1}.receipt-head{flex-direction:column}.receipt-no{text-align:left}.receipt-foot{flex-direction:column;align-items:flex-start;gap:1.25rem}.receipt-sign{min-width:100%}.form-actions .btn{flex:1 1 auto;justify-content:center}}.verify-band{padding-block:1.5rem}.verify-band-inner{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;padding:1.35rem 1.5rem;border:1px solid var(--line);border-left:3px solid var(--brand-700);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-1)}.verify-band-mark{display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border-radius:999px;background:var(--brand-050);color:var(--brand-700)}.verify-band-mark svg{width:22px;height:22px}.verify-band-copy{flex:1 1 20rem;min-width:0}.verify-band-copy h2{margin:0 0 .2rem}.verify-band-copy p{margin:0}.verify-band .btn{flex:0 0 auto}@media (max-width: 600px){.verify-band-mark{display:none}.verify-band .btn{width:100%}}.verify-intro{padding:.9rem 1.1rem;margin-bottom:1rem;border-left:3px solid var(--brand-700);border-radius:var(--radius-sm);background:var(--surface-2)}.verify-intro p{margin:0}.verify-intro p+p{margin-top:.3rem}@media (max-width: 900px){.landing-nav{padding:.75rem 1rem}.landing-nav .row-actions{gap:.25rem;justify-content:flex-end}.landing-nav .btn-quiet{padding-inline:.45rem;font-size:.8125rem;min-height:32px}}.voice-recorder{display:grid;gap:.4rem;margin-bottom:.9rem}.field-label{font-size:.8125rem;font-weight:600;color:var(--ink-2)}.voice-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.voice-row .btn svg{width:15px;height:15px;margin-right:.35rem}.voice-start,.voice-stop{min-width:9.5rem;justify-content:center}.voice-live{display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;font-weight:600;color:var(--error);font-variant-numeric:lining-nums tabular-nums}.voice-dot{width:9px;height:9px;border-radius:999px;flex:0 0 9px;background:var(--error);animation:voice-pulse 1.2s var(--ease) infinite}@keyframes voice-pulse{50%{opacity:.25}}.voice-player{height:34px;max-width:100%;flex:1 1 14rem;min-width:0}.voice-note{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.6rem .75rem;margin:.5rem 0;border:1px solid var(--line);border-left:3px solid var(--brand-700);border-radius:var(--radius-sm);background:var(--surface-2)}.voice-note-mark{display:grid;place-items:center;flex:0 0 auto;width:32px;height:32px;border-radius:999px;background:var(--brand-050);color:var(--brand-700)}.voice-note-mark svg{width:16px;height:16px}.voice-note-body{flex:1 1 14rem;min-width:0;display:grid;gap:.2rem}@media (max-width: 600px){.voice-row{align-items:stretch}.voice-player{flex-basis:100%}}.howto{margin-bottom:1.25rem;padding:1rem 1.15rem;border:1px solid var(--line);border-left:3px solid var(--brand-700);border-radius:var(--radius);background:var(--surface-2)}.howto-collapsed{padding:0;border:0;background:none;margin-bottom:.9rem}.howto-collapsed .btn svg{width:14px;height:14px;margin-right:.35rem}.howto-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.howto-title{margin:0;font-size:.95rem}.howto-intro{margin:0 0 .85rem;font-size:.875rem;color:var(--ink-2)}.howto-steps{list-style:none;margin:0;padding:0;display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}.howto-step{position:relative;display:flex;gap:.6rem;align-items:flex-start;padding-right:.9rem}.howto-step:not(:last-child):after{content:"→";position:absolute;right:-.15rem;top:.35rem;color:var(--line-strong);font-size:.95rem;line-height:1}.howto-step-mark{position:relative;flex:0 0 auto;display:grid;place-items:center;width:32px;height:32px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--brand-700)}.howto-step-mark svg{width:15px;height:15px}.howto-step-n{position:absolute;right:-5px;bottom:-5px;display:grid;place-items:center;width:17px;height:17px;border-radius:999px;background:var(--brand-700);color:var(--primary-ink);font-size:.65rem;font-weight:700;line-height:1}.howto-step-body{display:grid;gap:.1rem;min-width:0}.howto-step-body strong{font-size:.875rem}.howto-note{display:flex;gap:.5rem;align-items:flex-start;margin:.9rem 0 0;padding-top:.75rem;border-top:1px solid var(--line);font-size:.8125rem;color:var(--ink-2)}.howto-note svg{width:15px;height:15px;flex:0 0 15px;color:var(--warn);margin-top:.1rem}@media (max-width: 700px){.howto-steps{grid-template-columns:1fr;gap:.7rem}.howto-step:not(:last-child):after{content:"↓";right:auto;left:12px;top:auto;bottom:-.6rem}.howto-step{padding-right:0;padding-bottom:.3rem}}.marker{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-2);overflow:hidden;margin-bottom:0;display:flex;flex-direction:column;height:calc(100vh - 4.5rem);min-height:34rem}.focus-bar{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.6rem .9rem;background:var(--surface-2);border-bottom:1px solid var(--line);flex:0 0 auto}.focus-bar .btn svg{width:14px;height:14px}.focus-position{display:flex;flex-direction:column;gap:.1rem;font-variant-numeric:lining-nums tabular-nums;min-width:0}.marker-split{flex:1 1 auto;display:grid;grid-template-columns:minmax(0,22rem) minmax(0,1fr);min-height:0}.marker-panel{display:flex;flex-direction:column;min-height:0;min-width:0;border-right:1px solid var(--line)}.marker-tabs{display:flex;gap:.2rem;padding:.5rem .6rem 0;border-bottom:1px solid var(--line);flex:0 0 auto}.marker-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:transparent;border:1px solid transparent;border-bottom:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;padding:.4rem .8rem;margin-bottom:-1px;font:inherit;font-size:.875rem;font-weight:600;color:var(--ink-2)}.marker-tab:hover{background:var(--surface-2)}.marker-tab.is-active{background:var(--surface);border-color:var(--line);border-bottom:1px solid var(--surface);color:var(--ink)}.marker-tab:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}.marker-panel-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:.9rem 1rem}.marker-panel-body .comments{margin-top:0;padding-top:0;border-top:none}.marker-save{flex:0 0 auto;padding:.7rem 1rem .8rem;border-top:1px solid var(--line);background:var(--surface-2);display:grid;gap:.4rem}.marker-save .row-actions{gap:.4rem}.marker-doc{min-width:0;min-height:0;display:flex}.doc-pane{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--surface-2)}.doc-tabs{display:flex;gap:.25rem;flex-wrap:wrap;padding:.45rem .6rem;background:var(--surface);border-bottom:1px solid var(--line);flex:0 0 auto}.doc-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:.2rem .7rem;font:inherit;font-size:.8125rem;color:var(--ink-2);max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-tab:hover{border-color:var(--muted)}.doc-tab.is-active{background:var(--brand-600);border-color:var(--brand-600);color:#fff;font-weight:600}.doc-tab:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}.doc-frame{flex:1 1 auto;min-height:0;width:100%;border:0;background:var(--surface-2)}.doc-image{overflow:auto;display:block;padding:1rem}.doc-image a{display:block}.doc-image img{display:block;max-width:100%;margin:0 auto;background:#fff}.doc-loading,.doc-unviewable,.doc-empty{display:flex;flex-direction:column;gap:.6rem;align-items:center;justify-content:center;text-align:center;padding:2rem 1.5rem}.doc-unviewable p,.doc-empty p{margin:0;max-width:28rem}.doc-unviewable svg,.doc-empty svg{width:28px;height:28px;color:var(--muted)}.doc-empty{flex:1 1 auto;min-height:0}.doc-text{flex:0 0 auto;max-height:40%;overflow-y:auto;padding:.8rem 1rem;border-top:1px solid var(--line);background:var(--surface)}.doc-text .section-label{margin-top:0}.marker-switch{display:none}@media (max-width: 1000px){.marker{height:calc(100vh - 5rem)}.marker-switch{display:flex;gap:.25rem;padding:.5rem .6rem;background:var(--surface);border-bottom:1px solid var(--line);flex:0 0 auto}.marker-split{grid-template-columns:minmax(0,1fr)}.marker-split.is-showing-document .marker-panel,.marker-split.is-showing-panel .marker-doc{display:none}.marker-panel{border-right:none}}@media (max-width: 700px){.focus-bar{gap:.5rem}.focus-position{order:3;width:100%}}.completion-list{gap:0}.completion-row{display:block;padding:1rem 0;border-bottom:1px solid var(--line)}.completion-row:last-child{border-bottom:none}.completion-who{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.completion-figures{display:flex;gap:.9rem;align-items:center;flex-wrap:wrap;font-variant-numeric:lining-nums tabular-nums}.completion-outstanding{margin:.3rem 0 0}.completion-choice{border:0;margin:.6rem 0 0;padding:0;display:flex;gap:.5rem;flex-wrap:wrap}.completion-option{display:grid;gap:.05rem;padding:.45rem .7rem;border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;background:var(--surface);transition:border-color .15s var(--ease),background .15s var(--ease)}.completion-option:hover{background:var(--surface-2)}.completion-option input{position:absolute;opacity:0;pointer-events:none}.completion-option-label{font-size:.875rem;font-weight:600}.completion-option.is-on{border-color:var(--brand-700);border-width:2px;padding:calc(.45rem - 1px) calc(.7rem - 1px)}.completion-option.is-on.completion-completed{border-color:var(--ok);background:var(--ok-bg)}.completion-option.is-on.completion-not_completed{border-color:var(--error);background:var(--error-bg)}.completion-option.is-on.completion-in_progress{border-color:var(--line-strong);background:var(--surface-2)}.completion-reason{margin-top:.6rem;padding:.6rem .8rem;border-left:3px solid var(--warn);border-radius:var(--radius-sm);background:var(--warn-bg)}.completion-reason p{margin:0 0 .4rem;display:flex;align-items:center;gap:.35rem}.completion-reason svg{width:15px;height:15px;color:var(--warn);flex:0 0 15px}.completion-reason .field{margin-bottom:0}@media (max-width: 700px){.completion-choice{flex-direction:column}.completion-option{width:100%}}.cal-controls{gap:.35rem}.cal-controls .btn svg{width:14px;height:14px}.cal-views{display:flex;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;margin:0;padding:0}.cal-view{padding:.3rem .7rem;font-size:.8125rem;cursor:pointer;background:var(--surface);color:var(--ink-2);border-right:1px solid var(--line)}.cal-view:last-child{border-right:0}.cal-view input{position:absolute;opacity:0;pointer-events:none}.cal-view.is-on{background:var(--brand-700);color:var(--primary-ink);font-weight:600}.cal-period{margin:-.5rem 0 1rem}.cal-card{padding:.75rem}.cal-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.cal-weekday{background:var(--surface-2);padding:.35rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);text-align:center}.cal-cell{display:flex;flex-direction:column;gap:2px;align-items:stretch;min-height:92px;padding:.3rem;background:var(--surface);border:0;text-align:left;cursor:pointer;font:inherit;color:inherit}.cal-cell:hover{background:var(--surface-2)}.cal-outside{background:var(--surface-2);opacity:.55}.cal-cell.is-today{box-shadow:inset 0 0 0 2px var(--brand-700)}.cal-cell.is-today .cal-date{background:var(--brand-700);color:var(--primary-ink);border-radius:999px;padding:0 .35rem}.cal-date{font-size:.78rem;font-weight:700;align-self:flex-start}.cal-chip{display:block;padding:.12rem .3rem;border-radius:4px;font-size:.68rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:hsl(var(--chip-hue) 70% 92%);border-left:3px solid hsl(var(--chip-hue) 55% 45%);color:hsl(var(--chip-hue) 60% 22%)}.cal-chip-time{font-weight:700;margin-right:.2rem}.cal-more{font-size:.66rem;color:var(--muted);padding-left:.3rem}.cal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.cal-col{background:var(--surface);display:flex;flex-direction:column;min-height:160px}.cal-col.is-today{box-shadow:inset 0 0 0 2px var(--brand-700)}.cal-col-head{display:flex;flex-direction:column;align-items:center;gap:0;padding:.4rem;border:0;background:var(--surface-2);cursor:pointer;font:inherit;color:inherit}.cal-col-head:hover{background:var(--line)}.cal-col-day{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2)}.cal-col-date{font-size:1rem;font-weight:700}.cal-col.is-today .cal-col-date{color:var(--brand-700)}.cal-col-body{display:grid;gap:.25rem;padding:.3rem;align-content:start}.cal-free{color:var(--muted);text-align:center;padding:.5rem 0}.cal-event{display:grid;gap:0;padding:.3rem .4rem;border-radius:4px;font-size:.72rem;line-height:1.35;background:hsl(var(--chip-hue) 70% 93%);border-left:3px solid hsl(var(--chip-hue) 55% 45%);color:hsl(var(--chip-hue) 60% 22%);min-width:0}.cal-event-subject{font-weight:600;overflow:hidden;text-overflow:ellipsis}@media (max-width: 760px){.cal-month,.cal-week{min-width:640px}.cal-card{overflow-x:auto}.cal-cell{min-height:76px}}.cal-view:has(input:focus-visible),.completion-option:has(input:focus-visible){outline:2px solid var(--brand-700);outline-offset:2px}.chat-anon{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--ink-2);cursor:pointer;padding:.2rem .45rem;border-radius:var(--radius-sm);white-space:nowrap}.chat-anon:hover{background:var(--surface-2)}.chat-anon input{accent-color:var(--brand-700)}.chat-endorsed{display:inline-flex;align-items:center;gap:.3rem;margin-bottom:.3rem;padding:.1rem .45rem;border-radius:999px;background:var(--ok-bg);color:var(--ok);font-size:.72rem;font-weight:700}.chat-endorsed svg{width:13px;height:13px}.chat-endorse-btn{margin-top:.3rem;align-self:flex-start}.chat-row:has(.chat-endorsed) .chat-bubble{border-left:3px solid var(--ok)}.comments{margin:1.1rem 0;padding-top:.9rem;border-top:1px solid var(--line)}.comments .section-label{display:flex;align-items:center;gap:.4rem}.comments .section-label svg{width:15px;height:15px}.commentlist{list-style:none;margin:.75rem 0;padding:0;display:grid;gap:.6rem}.comment{padding:.6rem .75rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.comment.is-mine{background:var(--surface-2);border-color:color-mix(in srgb,var(--brand-600) 25%,var(--line))}.comment-head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;flex-wrap:wrap;margin-bottom:.3rem}.comment-author{font-weight:600;display:inline-flex;align-items:center;gap:.4rem}.comment-author .pill{font-weight:500}.comment-anchor{margin:0 0 .35rem;display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;color:var(--ink-2);padding:.1rem .45rem;border:1px solid var(--line);border-radius:999px;background:var(--page)}.comment-anchor svg{width:13px;height:13px}.comment-body{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.comment-actions{display:flex;gap:.25rem;margin-top:.35rem}.comment-edit{width:100%;margin:.3rem 0}.comment-compose{display:grid;gap:.45rem}.comment-compose textarea{width:100%;resize:vertical;min-height:62px}.comment-compose-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}@media (max-width: 720px){.comment-compose-foot{align-items:stretch}.comment-compose-foot .btn{width:100%;justify-content:center}.comment-head{gap:.25rem}}.field-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.field-required{font-weight:400;color:var(--muted)}.field-mark{display:inline-flex;align-items:center;flex:0 0 auto}.field-mark svg{width:15px;height:15px;stroke-linecap:round;stroke-linejoin:round}.field-mark.is-valid{color:var(--ok)}.field-mark.is-invalid{color:var(--error)}.field-mark.is-invalid svg{stroke-width:2.4}.field-message{display:block;margin-top:.3rem;font-size:.8125rem;color:var(--error);font-weight:500}.field-invalid input,.field-invalid select,.field-invalid textarea{border-color:var(--error)}.field-valid input,.field-valid select,.field-valid textarea{border-color:color-mix(in srgb,var(--ok) 45%,var(--line))}.brief-text{margin:0 0 .6rem;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink-2)}.marker-panel-body .brief-text{max-height:40vh;overflow-y:auto}.doc-pdf{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.doc-pdf .doc-frame{flex:1 1 auto;min-height:0;border:0;width:100%}.doc-pdf-escape{flex:0 0 auto;margin:0;padding:.35rem .6rem;border-top:1px solid var(--line);background:var(--surface)}.slip-frame{border:0}.graded-feedback{margin:.8rem 0;padding:.7rem .85rem;border:1px solid color-mix(in srgb,var(--ok) 30%,var(--line));border-radius:var(--radius);background:var(--surface)}.graded-feedback .section-label{margin-top:0}.graded-feedback p{white-space:pre-wrap;overflow-wrap:anywhere}
