@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2)format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2)format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2)format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2)format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2)format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2)format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2)format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2)format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-ext-400-normal-C_uLvvQ5.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-ext-400-normal-Bh0R7Dhr.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-vietnamese-400-normal-ByoDsISC.woff2)format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-ext-500-normal-C9ShMxGR.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-ext-500-normal-CEVyPk4Y.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-500-normal-D7SFKleX.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-vietnamese-500-normal-BvH7FW2L.woff2)format("woff2"),url(/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans:Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--text-9-5:9.5px;--text-10:10px;--text-10-5:10.5px;--text-11:11px;--text-11-5:11.5px;--text-12:12px;--text-12-5:12.5px;--text-12-8:12.8px;--text-13:13px;--text-13-5:13.5px;--text-14:14px;--text-14-5:14.5px;--text-15:15px;--text-15-5:15.5px;--text-16:16px;--text-17:17px;--text-18:18px;--text-20:20px;--text-21:21px;--text-22:22px;--text-23:23px;--text-24:24px;--text-25:25px;--text-27:27px;--text-28:28px;--text-page-title:var(--text-22);--text-section-label:var(--text-10);--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-none:1;--leading-tight:1.1;--leading-snug:1.2;--leading-heading:1.3;--leading-body:1.45;--leading-relaxed:1.5;--leading-copy:1.55;--leading-loose:1.6;--leading-looser:1.65;--tracking-display:-.025em;--tracking-title:-.02em;--tracking-tighter:-.03em;--tracking-tight:-.01em;--tracking-slight:.01em;--tracking-caps:.05em;--tracking-caps-wide:.06em;--tracking-caps-wider:.07em;--tracking-caps-widest:.08em;--tracking-section:.09em;--tracking-code:.36em;--tracking-code-wide:.38em;--space-1:1px;--space-2:2px;--space-3:3px;--space-4:4px;--space-5:5px;--space-6:6px;--space-7:7px;--space-8:8px;--space-9:9px;--space-10:10px;--space-11:11px;--space-12:12px;--space-13:13px;--space-14:14px;--space-15:15px;--space-16:16px;--space-17:17px;--space-18:18px;--space-19:19px;--space-20:20px;--space-22:22px;--space-24:24px;--space-26:26px;--space-30:30px;--space-34:34px;--space-36:36px;--space-38:38px;--space-40:40px;--space-42:42px;--space-44:44px;--space-48:48px;--space-56:56px;--sidebar-width:244px;--topbar-height:62px;--radius-2:2px;--radius-3:3px;--radius-4:4px;--radius-5:5px;--radius-6:6px;--radius-7:7px;--radius-8:8px;--radius-9:9px;--radius-10:10px;--radius-11:11px;--radius-12:12px;--radius-13:13px;--radius-14:14px;--radius-20:20px;--radius-button:var(--radius-8);--radius-control:var(--radius-9);--radius-card:var(--radius-12);--radius-modal:var(--radius-14);--radius-pill:var(--radius-20);--radius-round:50%;--color-canvas:#f4f6fa;--color-surface:#fff;--color-surface-subtle:#f8fafc;--color-surface-subtle-2:#f4f7fb;--color-surface-muted:#f1f5f9;--color-surface-tint:#f7faff;--color-surface-faint:#fafbfd;--color-row-hover:#fafcff;--color-overlay:#08152773;--color-text:#0f172a;--color-text-strong:#1e293b;--color-text-body:#334155;--color-text-secondary-strong:#475569;--color-text-secondary:#64748b;--color-text-secondary-text:#5f6f84;--color-text-faint:#94a3b8;--color-placeholder:#757575;--color-text-faint-text:var(--color-text-secondary-text);--color-text-on-accent:#fff;--color-border:#e4e9f0;--color-border-soft:#eef2f7;--color-border-row:#f1f5f9;--color-border-input:#d9e1ec;--color-border-alt:#e7ecf3;--color-border-strong:#c3cedf;--color-scrollbar-thumb:#cbd5e1;--color-accent:#2563eb;--color-accent-hover:#1d4ed8;--color-accent-tint:#eff4ff;--color-accent-tint-strong:#e2ebff;--color-accent-border:#dbe5ff;--color-accent-ring:#2563eb1f;--school-accent:var(--color-accent);--school-accent-hover:var(--color-accent-hover);--school-accent-tint:var(--color-accent-tint);--school-accent-ring:var(--color-accent-ring);--color-success:#16a34a;--color-success-strong:#15803d;--color-success-text:#15803d;--color-success-tint:#ecfdf3;--color-success-tint-2:#f0fdf4;--color-success-border:#c7e3cf;--color-success-ring:#16a34a1f;--color-warning:#d97706;--color-warning-strong:#b45309;--color-warning-text:#92610a;--color-warning-tint:#fff8eb;--color-warning-border:#f5e0b4;--color-danger:#dc2626;--color-danger-strong:#b91c1c;--color-danger-text:#b91c1c;--color-danger-tint:#fef2f2;--color-danger-border:#fbd5d5;--color-info:#0891b2;--color-info-text:#0e7490;--color-info-tint:#ecfeff;--color-violet:#7c3aed;--color-violet-strong:#6d28d9;--color-violet-tint:#f5f3ff;--color-pink:#db2777;--color-pink-tint:#fdf2f8;--color-sidebar:#081527;--color-sidebar-deep:#0b1d3a;--color-sidebar-text:#e2e8f0;--color-sidebar-item:#afc1d8;--color-sidebar-icon:#7a93b5;--color-sidebar-icon-school:#8ca4c4;--color-sidebar-signout:#9fb3cc;--color-sidebar-muted:#6d86a8;--color-sidebar-muted-school:#7c93b5;--color-sidebar-label:#54718f;--color-sidebar-label-text:#7590b3;--color-sidebar-label-school:#607fa6;--color-sidebar-label-school-text:#7c93b5;--color-sidebar-divider:#ffffff14;--color-sidebar-hover:#ffffff12;--color-sidebar-chip:#ffffff0d;--color-sidebar-chip-border:#ffffff17;--color-dark:#081527;--color-dark-card:#0e2038;--color-dark-raised:#15294a;--color-dark-border:#1c3253;--color-dark-border-2:#16263f;--color-dark-divider:#162945;--color-dark-input:#0b1b30;--color-dark-input-filled:#2a456f;--color-dark-muted:#6f89ac;--color-dark-muted-2:#8fa6c2;--color-dark-label:#9fb3cc;--color-dark-text:#f1f5f9;--color-dark-error-bg:#2a1116;--color-dark-error-border:#5a1f27;--color-dark-error-text:#fca5a5;--color-dark-scrollbar-thumb:#1e3454;--color-log-time:#45607f;--color-log-time-text:#6f89ac;--color-log-text:#afc1d8;--color-log-info:#7fa8f5;--color-log-warn:#fbbf24;--color-log-error:#f87171;--shadow-card:0 1px 2px #0f172a0a;--shadow-focus:0 0 0 3px #2563eb1f;--shadow-focus-success:0 0 0 3px #16a34a1f;--shadow-popover:0 18px 44px #0815272e;--shadow-menu:0 16px 40px #0815272e;--shadow-modal:0 24px 60px #08152747;--shadow-drawer:-18px 0 50px #08152738;--shadow-signin:0 34px 90px #0a1e4c4d;--focus-outline-color:var(--color-accent);--focus-outline-width:2px;--focus-outline-offset:2px;--motion-fast:.12s;--bg-page:var(--color-canvas);--text:var(--color-text);--text-strong:var(--color-text-strong);--text-body:var(--color-text-body);--text-muted:var(--color-text-secondary-text);--text-subtle:var(--color-text-faint);--text-secondary:var(--color-text-secondary-strong);--surface:var(--color-surface);--surface-sunken:var(--color-surface-subtle);--border:var(--color-border);--border-soft:var(--color-border-soft);--border-row:var(--color-border-row);--border-input:var(--color-border-input);--row-hover:var(--color-row-hover);--accent:var(--color-accent);--accent-hover:var(--color-accent-hover);--accent-tint:var(--color-accent-tint);--accent-border:var(--color-accent-border);--accent-contrast:var(--color-text-on-accent);--focus-ring:0 0 0 3px #2563eb47;--success:var(--color-success);--warning:var(--color-warning);--danger:var(--color-danger);--danger-strong:var(--color-danger-strong);--purple:var(--color-violet);--disabled:var(--color-border-strong);--green-bg:var(--color-success-tint);--green-fg:var(--color-success-text);--red-bg:var(--color-danger-tint);--red-fg:var(--color-danger-text);--red-border:var(--color-danger-border);--amber-bg:var(--color-warning-tint);--amber-fg:var(--color-warning-text);--amber-border:var(--color-warning-border);--blue-bg:var(--color-accent-tint);--blue-fg:var(--color-accent-hover);--grey-bg:var(--color-surface-muted);--grey-fg:var(--color-text-secondary-strong);--purple-bg:var(--color-violet-tint);--purple-fg:var(--color-violet-strong);--radius-sm:var(--radius-7);--radius-md:var(--radius-8);--radius-input:var(--radius-9);--shadow-pop:var(--shadow-popover);--overlay:#040a148c;--console-nav-bg:var(--color-sidebar);--console-nav-label:var(--color-sidebar-label-text);--console-nav-item:var(--color-sidebar-item);--console-nav-icon:var(--color-sidebar-icon);--console-nav-muted:var(--color-sidebar-muted);--school-nav-bg:var(--color-sidebar-deep);--school-nav-label:var(--color-sidebar-label-school-text);--school-nav-muted:var(--color-sidebar-muted-school);--dark-bg:var(--color-dark);--dark-card:var(--color-dark-card);--dark-border:var(--color-dark-border);--dark-divider:var(--color-dark-divider);--dark-input:var(--color-dark-input);--dark-input-filled:var(--color-dark-input-filled);--dark-muted:var(--color-dark-muted);--dark-muted-2:var(--color-dark-muted-2);--dark-label:var(--color-dark-label);--dark-text:var(--color-dark-text);--dark-error-bg:var(--color-dark-error-bg);--dark-error-border:var(--color-dark-error-border);--dark-error-text:var(--color-dark-error-text);--log-time:var(--color-log-time-text);--log-text:var(--color-log-text);--log-info:var(--color-log-info);--log-warn:var(--color-log-warn);--log-error:var(--color-log-error)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-14);line-height:var(--leading-body);background:var(--color-canvas);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}h1,h2,h3,h4,h5,h6,p,figure,blockquote{margin:0}img,video,canvas{max-width:100%}svg{flex:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover);text-decoration:underline}code,kbd,samp,pre,.mono{font-family:var(--font-mono)}.mono{font-size:.92em}::placeholder{color:var(--color-placeholder);opacity:1}:where(input:not([type=checkbox],[type=radio],[type=range]),select,textarea):focus{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}:focus-visible{outline:var(--focus-outline-width) solid var(--focus-outline-color);outline-offset:var(--focus-outline-offset)}:where(input,select,textarea):focus-visible{outline-offset:0}:focus:not(:focus-visible){outline:none}*{scrollbar-color:var(--color-scrollbar-thumb) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:var(--radius-8);background-clip:content-box;border:3px solid #0000}[data-surface=dark],[data-surface=dark] *{scrollbar-color:var(--color-dark-scrollbar-thumb) transparent}[data-surface=dark] ::-webkit-scrollbar-thumb{background:var(--color-dark-scrollbar-thumb);border:0}[data-surface=dark]::-webkit-scrollbar-thumb{background:var(--color-dark-scrollbar-thumb);border:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.muted{color:var(--text-muted)}.subtle{color:var(--text-subtle)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;background:var(--surface);color:var(--accent);border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600;position:absolute;top:-48px;left:12px}.skip-link:focus{box-shadow:var(--shadow-pop);top:12px}.boot{background:var(--bg-page);flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100vh;display:flex}.brand-tile{background:var(--accent);width:36px;height:36px;color:var(--accent-contrast);border-radius:9px;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.auth{--a-text:var(--text);--a-title:var(--accent);--a-sub:var(--text-muted);--a-label:var(--text-secondary);--a-input-bg:#fff;--a-input-border:var(--border-input);--a-input-text:var(--text);--a-link:var(--accent);--a-soft-bg:var(--surface-sunken);--a-soft-border:#e7ecf3;--a-icon-bg:var(--accent-tint);--a-icon-fg:var(--accent);--a-err-bg:var(--red-bg);--a-err-border:var(--red-border);--a-err-text:var(--red-fg);color:var(--a-text);flex-direction:column;gap:17px;min-width:0;display:flex}.auth--dark{--a-text:#e2e8f0;--a-title:#fff;--a-sub:var(--dark-muted-2);--a-label:var(--dark-label);--a-input-bg:var(--dark-input);--a-input-border:var(--dark-border);--a-input-text:var(--dark-text);--a-link:#9dbcf7;--a-soft-bg:var(--dark-input);--a-soft-border:var(--dark-border);--a-icon-bg:#15294a;--a-icon-fg:#9dbcf7;--a-err-bg:var(--dark-error-bg);--a-err-border:var(--dark-error-border);--a-err-text:var(--dark-error-text)}.auth__back{color:var(--a-sub);cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:7px;padding:2px 0;font-size:12px;display:inline-flex}.auth__back:hover{color:var(--a-link);text-decoration:none}.auth__back:focus-visible,.auth__link:focus-visible,.auth__copy:focus-visible{outline:2px solid var(--a-link);outline-offset:2px;border-radius:4px}.auth__head{align-items:flex-start;gap:12px;display:flex}.auth__heading{flex:1;min-width:0}.auth__icon{background:var(--a-icon-bg);width:40px;height:40px;color:var(--a-icon-fg);border-radius:11px;flex:none;justify-content:center;align-items:center;display:flex}.auth__icon--ok{background:var(--green-bg);color:var(--green-fg)}.auth--dark .auth__icon--ok{color:#4ade80;background:#0f2e1e}.auth__icon--warn{background:var(--amber-bg);color:var(--amber-fg)}.auth--dark .auth__icon--warn{color:#fbbf24;background:#33250b}.auth__title{letter-spacing:-.02em;color:var(--a-title);outline:none;margin:0;font-size:21px;font-weight:600}.auth--dark .auth__title{font-size:18px;font-weight:700}.auth__sub{color:var(--a-sub);text-wrap:pretty;overflow-wrap:anywhere;margin:6px 0 0;font-size:12.5px;line-height:1.55}.auth>.auth__sub{margin-top:-8px}.auth__methods{gap:7px;display:flex}.auth__method{color:#fff;background:#15294a;border:1px solid #27416b;border-radius:9px;align-items:center;gap:7px;padding:8px 12px;font-size:12px;font-weight:600;display:inline-flex}.auth__error{background:var(--a-err-bg);border:1px solid var(--a-err-border);color:var(--a-err-text);border-radius:10px;outline:none;flex-wrap:wrap;align-items:flex-start;gap:9px;padding:10px 12px;font-size:12.5px;line-height:1.5;display:flex}.auth__error>span{flex:1;min-width:0}.auth__error svg{flex:none;margin-top:2px}.auth__label,.auth__step-title{color:var(--a-label);margin-bottom:7px;font-size:11.5px;font-weight:600;display:block}.auth__hint{color:var(--a-sub);text-wrap:pretty;margin:8px 0 0;font-size:11.5px;line-height:1.5}.auth>.auth__hint{margin-top:0}.auth__field-error{color:var(--a-err-text);margin:6px 0 0;font-size:11.5px}.auth__code,.auth__input{border:1px solid var(--a-input-border);background:var(--a-input-bg);width:100%;color:var(--a-input-text);border-radius:10px;outline:none}.auth__code{letter-spacing:.32em;text-align:center;font-variant-numeric:tabular-nums;font-size:21px;font-weight:700;font-family:var(--font-mono);padding:12px 14px}.auth__input{padding:11px 13px;font-size:13.5px}.auth__code::placeholder,.auth__input::placeholder{color:var(--text-subtle);opacity:.8;letter-spacing:inherit}.auth__code:focus,.auth__input:focus{border-color:#4c7bd9;box-shadow:0 0 0 3px #4c7bd940}.auth__code[aria-invalid=true],.auth__input[aria-invalid=true]{border-color:var(--danger)}.auth__code:disabled{opacity:.6;cursor:not-allowed}.ctl-input-group.auth__pw{background:var(--a-input-bg);border-color:var(--a-input-border)}.auth__pw .ctl-input--bare{color:var(--a-input-text);padding-top:10px;padding-bottom:10px}.auth--dark .auth__pw .ctl-input-group__action{color:var(--dark-muted-2)}.auth__submit{background:var(--accent);color:#fff;cursor:pointer;text-align:center;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 16px;font-size:13.5px;font-weight:600;display:flex}.auth__submit:hover:not(:disabled){background:var(--accent-hover);color:#fff;text-decoration:none}.auth__submit:disabled{cursor:not-allowed;background:var(--disabled)}.auth--dark .auth__submit:disabled{color:var(--dark-muted-2);background:#1c3253}.auth__submit:focus-visible{outline:2px solid var(--a-link);outline-offset:2px}.auth__submit--danger{background:var(--danger-strong)}.auth__submit--danger:hover:not(:disabled){background:#991b1b}.auth__link{color:var(--a-link);cursor:pointer;background:0 0;border:0;align-self:center;padding:4px 2px;font-size:12.5px;font-weight:500}.auth__link:hover{text-decoration:underline}.auth__link--inline{color:inherit;align-self:auto;padding:0;font-size:12px;text-decoration:underline}.auth__steps{flex-direction:column;gap:16px;margin:0;padding-left:20px;font-size:12.5px;display:flex}.auth__steps li::marker{color:var(--a-sub);font-weight:600}.auth__qr{border:1px solid var(--a-soft-border);background:#fff;border-radius:12px;justify-content:center;align-items:center;min-width:176px;min-height:176px;padding:8px;display:inline-flex}.auth__qr svg{max-width:100%;height:auto;display:block}.auth__keybox{background:var(--a-soft-bg);border:1px solid var(--a-soft-border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:9px 11px;display:flex}.auth__key{min-width:0;font-family:var(--font-mono);letter-spacing:.06em;color:var(--a-input-text);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;flex:180px;font-size:13px}.auth__copy{color:var(--a-link);border:1px solid var(--a-soft-border);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.auth__copy:hover{background:var(--a-icon-bg)}.auth__row{flex-wrap:wrap;gap:8px;display:flex}.auth__codes{background:var(--a-soft-bg);border:1px solid var(--a-soft-border);border-radius:11px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 20px;margin:0;padding:12px 14px 12px 34px;display:grid}.auth__codes li{font-family:var(--font-mono);color:var(--a-input-text);font-size:13.5px}.auth__codes li::marker{color:var(--a-sub);font-size:11px}.auth__codes code{-webkit-user-select:all;user-select:all}.auth__check{color:var(--a-text);cursor:pointer;align-items:flex-start;gap:10px;font-size:12.5px;line-height:1.45;display:flex}.auth__check input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin:0}.auth__submit--link,.auth__back--link{text-decoration:none}@media (width<=400px){.auth__codes{grid-template-columns:1fr}.auth__code{letter-spacing:.22em}}.account-security{flex-direction:column;gap:16px;display:flex}.account-security__grid{grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));align-items:start;gap:16px;display:grid}.auth-setup-panel{border-top:1px solid var(--border-soft);max-width:460px;margin-top:16px;padding-top:16px}.pw-form{max-width:560px}.sec-badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sec-badges__sessions{font-size:12px}.sec-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}:root{--pd-chart-amber:#f59e0b;--pd-chart-sky:#38bdf8;--pd-chart-slate:#cbd5e1;--pd-chart-track:#e8edf4;--pd-avatar-teal:#0f766e;--pd-pill-count-bg:#fef3c7;--pd-tag-border:#e2e8f0;--pd-banner-blue-from:#eef4ff;--pd-banner-blue-mid:#f6f9ff;--pd-banner-blue-to:#fdfeff;--pd-banner-blue-border:#e1e9f8;--pd-banner-blue-card-border:#dce6f7;--pd-banner-amber-mid:#fffbf2;--pd-banner-amber-card-border:#f0e2c4;--pd-skeleton-from:#edf1f6;--pd-skeleton-to:#f6f8fb;--pd-text-19:19px;--pd-size-icon-tile:32px;--pd-size-dot:8px;--pd-size-swatch:9px;--pd-size-pill-dot:6px;--pd-size-progress:6px;--pd-size-progress-thin:5px;--pd-size-date-block:66px;--pd-size-hero-stat:132px;--pd-size-hero-fact:96px;--pd-size-legend-count:46px;--pd-size-deflist-label:110px;--pd-size-banner-main:250px;--pd-size-banner-main-upcoming:210px;--pd-size-banner-desc:500px;--pd-size-legend-min:150px;--pd-size-legend-min-console:142px;--pd-size-tag-min:34px;--pd-size-line-swatch:2.5px;--pd-size-skeleton-value:64px}.pd-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pd-skeleton{vertical-align:middle;max-width:100%;height:var(--space-12);border-radius:var(--radius-6);background:linear-gradient(90deg, var(--pd-skeleton-from) 0%, var(--pd-skeleton-to) 50%, var(--pd-skeleton-from) 100%);background-size:200% 100%;animation:1.3s ease-in-out infinite pd-shimmer;display:inline-block}@keyframes pd-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.pd-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);min-width:0}.pd-card--shadow{box-shadow:var(--shadow-card)}.pd-card--pad-lg{padding:var(--space-18)}.pd-card--pad-chart{padding:var(--space-18) var(--space-18) var(--space-10) var(--space-18)}.pd-card--pad-md{padding:var(--space-16)}.pd-card--flush{overflow:hidden}.pd-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-12);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.pd-card__header--divided{padding:var(--space-14) var(--space-18);border-bottom:1px solid var(--color-border-soft);flex-wrap:nowrap;align-items:center;margin-bottom:0}.pd-card__header--divided.pd-card__header--sm{gap:var(--space-9);padding:var(--space-14) var(--space-16)}.pd-card__heading{align-items:flex-start;gap:var(--space-9);flex:auto;min-width:0;display:flex}.pd-card__header--divided .pd-card__heading{align-items:center}.pd-card__icon{color:var(--color-accent);flex:none;display:inline-flex}.pd-card__title{font-size:var(--text-14-5);font-weight:var(--weight-semibold);color:var(--color-text);margin:0}.pd-card__header--sm .pd-card__title{font-size:var(--text-14)}.pd-card__desc{margin:var(--space-3) 0 0 0;font-size:var(--text-12);color:var(--color-text-secondary)}.pd-card__actions{align-items:center;gap:var(--space-14);font-size:var(--text-12-5);flex:none;display:flex}.pd-card__actions a{font-weight:var(--weight-medium)}.pd-card__footer{justify-content:space-between;align-items:center;gap:var(--space-11);padding:var(--space-12) var(--space-16);border-top:1px solid var(--color-border-soft);font-size:var(--text-12-5);color:var(--color-text-secondary);display:flex}.pd-card__footer--subtle{background:var(--color-surface-subtle)}.pd-card__footer--link{padding:var(--space-11) var(--space-16);border-top:0}.pd-deflist{gap:var(--space-10);flex-direction:column;margin:0;display:flex}.pd-deflist__row{gap:var(--space-10);align-items:baseline;display:flex}.pd-deflist dt{width:var(--pd-size-deflist-label);font-size:var(--text-11-5);color:var(--color-text-faint-text);flex:none}.pd-deflist dd{min-width:0;font-size:var(--text-12-5);color:var(--color-text-strong);text-wrap:pretty;flex:1;margin:0}.pd-legend{gap:var(--space-14);font-size:var(--text-11-5);color:var(--color-text-secondary);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.pd-legend__item{align-items:center;gap:var(--space-6);display:flex}.pd-legend__swatch{width:var(--pd-size-swatch);height:var(--pd-size-swatch);border-radius:var(--radius-3);flex:none;display:inline-block}.pd-legend__swatch--line{width:var(--space-14);height:var(--pd-size-line-swatch);border-radius:var(--radius-2)}.pd-stat-grid{gap:var(--space-14);display:grid}.pd-stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-15) var(--space-16);min-width:0;color:var(--color-text);text-align:left;font:inherit;text-decoration:none}.pd-stat--kpi{gap:var(--pd-stat-gap,var(--space-11));box-shadow:var(--shadow-card);flex-direction:column;display:flex}.pd-stat__top{justify-content:space-between;align-items:flex-start;gap:var(--space-10);display:flex}.pd-stat__label{font-size:var(--text-12);color:var(--color-text-secondary);font-weight:var(--weight-medium);display:block}.pd-stat--summary .pd-stat__label{font-weight:var(--weight-regular)}.pd-stat__label-row{align-items:center;gap:var(--space-8);display:flex}.pd-stat__dot{width:var(--pd-size-dot);height:var(--pd-size-dot);border-radius:var(--radius-round);flex:none}.pd-stat__icon{width:var(--pd-size-icon-tile);height:var(--pd-size-icon-tile);border-radius:var(--radius-9);flex:none;justify-content:center;align-items:center;display:flex}.pd-stat__value{font-size:var(--text-25);font-weight:var(--weight-bold);letter-spacing:var(--tracking-display);line-height:var(--leading-none);display:block}.pd-stat--summary .pd-stat__value{font-size:var(--text-22);margin-top:var(--space-6);line-height:normal}.pd-stat__foot{align-items:center;gap:var(--space-6);font-size:var(--text-11-5);flex-wrap:wrap;display:flex}.pd-stat--summary .pd-stat__foot{margin-top:var(--space-4)}.pd-stat__delta{font-weight:var(--weight-semibold)}.pd-stat__note{color:var(--color-text-faint-text)}.pd-stat__note--toned{color:var(--pd-text)}.pd-stat__skeleton{width:var(--pd-size-skeleton-value);height:var(--space-24)}.pd-stat__trend{margin-top:var(--space-2)}.pd-stat--inline{align-items:center;gap:var(--space-13);box-shadow:var(--shadow-card);display:flex}.pd-stat--inline .pd-stat__body{min-width:0;display:block}.pd-stat--inline .pd-stat__icon{width:var(--space-40);height:var(--space-40);border-radius:var(--radius-11)}.pd-stat--inline .pd-stat__label{font-size:var(--text-11-5)}.pd-stat--inline .pd-stat__value{font-size:var(--text-20);margin-top:var(--space-3);line-height:var(--leading-tight)}.pd-stat--inline .pd-stat__foot{font-size:var(--text-11);margin-top:var(--space-3);font-weight:var(--weight-medium)}.pd-stat--link{cursor:pointer;display:block}.pd-stat--link.pd-stat--kpi,.pd-stat--link.pd-stat--inline{display:flex}.pd-stat--link:hover{border-color:var(--color-border-input);color:var(--color-text);text-decoration:none}.pd-tone-accent{--pd-tint:var(--color-accent-tint);--pd-ink:var(--color-accent);--pd-text:var(--color-accent-hover)}.pd-tone-success{--pd-tint:var(--color-success-tint-2);--pd-ink:var(--color-success);--pd-text:var(--color-success-text)}.pd-tone-warning{--pd-tint:var(--color-warning-tint);--pd-ink:var(--color-warning);--pd-text:var(--color-warning-text)}.pd-tone-danger{--pd-tint:var(--color-danger-tint);--pd-ink:var(--color-danger);--pd-text:var(--color-danger-text)}.pd-tone-violet{--pd-tint:var(--color-violet-tint);--pd-ink:var(--color-violet);--pd-text:var(--color-violet-strong)}.pd-tone-info{--pd-tint:var(--color-info-tint);--pd-ink:var(--color-info);--pd-text:var(--color-info-text)}.pd-tone-neutral{--pd-tint:var(--color-surface-muted);--pd-ink:var(--color-text-secondary);--pd-text:var(--color-text-secondary)}.pd-stat__icon{background:var(--pd-tint);color:var(--pd-ink)}.pd-stat__dot{background:var(--pd-ink)}.pd-stat__delta{color:var(--pd-text,var(--color-text-secondary))}.pd-value-default{color:var(--color-text)}.pd-value-success{color:var(--color-success)}.pd-value-warning{color:var(--color-warning)}.pd-value-danger{color:var(--color-danger)}.pd-value-accent{color:var(--color-accent)}.pd-value-violet{color:var(--color-violet)}.pd-value-muted{color:var(--color-text-faint-text)}.pd-banner{border-radius:var(--radius-modal);padding:var(--space-22) var(--space-24);align-items:center;gap:var(--space-22);flex-wrap:wrap;display:flex}.pd-banner--greeting{background:linear-gradient(100deg, var(--pd-banner-blue-from) 0%, var(--pd-banner-blue-mid) 52%, var(--pd-banner-blue-to) 100%);border:1px solid var(--pd-banner-blue-border)}.pd-banner--upcoming{background:linear-gradient(100deg, var(--color-warning-tint) 0%, var(--pd-banner-amber-mid) 55%, var(--color-surface) 100%);border:1px solid var(--color-warning-border);padding:var(--space-20);gap:var(--space-18)}.pd-banner__main{min-width:var(--pd-size-banner-main);flex:1}.pd-banner--upcoming .pd-banner__main{min-width:var(--pd-size-banner-main-upcoming)}.pd-banner__eyebrow{font-size:var(--text-13-5);color:var(--color-text-secondary-strong);font-weight:var(--weight-medium)}.pd-banner--upcoming .pd-banner__eyebrow{font-size:var(--text-11-5);font-weight:var(--weight-semibold);color:var(--color-warning-strong);text-transform:uppercase;letter-spacing:var(--tracking-caps-wide)}.pd-banner__title{margin:var(--space-5) 0 0 0;font-size:var(--text-25);font-weight:var(--weight-bold);letter-spacing:var(--tracking-display);color:var(--school-accent-hover)}.pd-banner--upcoming .pd-banner__title{margin-top:var(--space-6);font-size:var(--pd-text-19);letter-spacing:var(--tracking-title);color:var(--color-text)}.pd-banner__desc{margin:var(--space-7) 0 0 0;font-size:var(--text-13);color:var(--color-text-secondary);text-wrap:pretty;max-width:var(--pd-size-banner-desc)}.pd-banner--upcoming .pd-banner__desc{margin-top:var(--space-6);font-size:var(--text-12-5)}.pd-banner__chips{gap:var(--space-9);margin:var(--space-16) 0 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.pd-banner__chip{align-items:center;gap:var(--space-7);background:var(--color-surface);border:1px solid var(--pd-banner-blue-card-border);border-radius:var(--radius-pill);padding:var(--space-6) var(--space-12);font-size:var(--text-12);color:var(--color-text-body);display:flex}.pd-banner__chip-dot{width:var(--space-7);height:var(--space-7);border-radius:var(--radius-round);background:var(--pd-ink)}.pd-banner__stats{gap:var(--space-12);flex-wrap:wrap;margin:0;display:flex}.pd-banner__stat{background:var(--color-surface);border:1px solid var(--pd-banner-blue-card-border);border-radius:var(--radius-card);padding:var(--space-14) var(--space-18);min-width:var(--pd-size-hero-stat)}.pd-banner__stat dt{font-size:var(--text-11-5);color:var(--color-text-secondary)}.pd-banner__stat dd{margin:0}.pd-banner__stat-value{font-size:var(--text-21);font-weight:var(--weight-bold);margin-top:var(--space-5);letter-spacing:var(--tracking-display);display:block}.pd-banner__stat-note{font-size:var(--text-11);color:var(--color-text-faint-text);margin-top:var(--space-3);display:block}.pd-banner--upcoming .pd-banner__stat{border-color:var(--pd-banner-amber-card-border);border-radius:var(--radius-11);padding:var(--space-11) var(--space-15);min-width:var(--pd-size-hero-fact)}.pd-banner--upcoming .pd-banner__stat dt{font-size:var(--text-10-5);color:var(--color-text-faint-text)}.pd-banner--upcoming .pd-banner__stat-value{font-size:var(--text-14);margin-top:var(--space-3);letter-spacing:normal}.pd-banner__date{width:var(--pd-size-date-block);text-align:center;background:var(--color-surface);border:1px solid var(--color-warning-border);border-radius:var(--radius-card);padding:var(--space-9) 0;flex:none}.pd-banner__date-day{font-size:var(--text-21);font-weight:var(--weight-bold);line-height:var(--leading-none);color:var(--color-warning-text);display:block}.pd-banner__date-month{font-size:var(--text-10);letter-spacing:var(--tracking-caps-wide);color:var(--color-warning-strong);text-transform:uppercase;margin-top:var(--space-3);display:block}.pd-progress{gap:var(--space-6);flex-direction:column;min-width:0;display:flex}.pd-progress__head{align-items:center;gap:var(--space-10);font-size:var(--text-12-5);display:flex}.pd-progress__label{min-width:0;color:var(--color-text-body);flex:1}.pd-progress__value{color:var(--color-text-secondary)}.pd-progress__detail{font-weight:var(--weight-bold);color:var(--color-text)}.pd-progress__track{height:var(--pd-size-progress);border-radius:var(--radius-6);background:var(--color-border-soft);overflow:hidden}.pd-progress--thin .pd-progress__track{height:var(--pd-size-progress-thin);border-radius:var(--radius-5)}.pd-progress__fill{border-radius:inherit;background:var(--pd-ink);height:100%;transition:width .3s}.pd-progress .pd-tone-neutral{--pd-ink:var(--pd-chart-slate)}.pd-progress .pd-tone-muted{--pd-ink:var(--color-text-secondary)}.pd-chart{min-width:0;display:block}.pd-chart__svg{display:block;overflow:visible}.pd-chart__grid{stroke:var(--color-border-soft);stroke-width:1px}.pd-chart__tick{font-family:var(--font-sans);font-size:var(--text-10-5);fill:var(--color-text-faint)}.pd-chart__xlabel{font-family:var(--font-sans);font-size:var(--text-10-5);fill:var(--color-text-secondary)}.pd-chart__value{font-family:var(--font-sans);font-size:var(--text-10-5);font-weight:var(--weight-semibold);fill:var(--color-text-strong)}.pd-chart__line{fill:none;stroke-width:2.5px;stroke-linejoin:round}.pd-chart__line--round{stroke-linecap:round}.pd-chart__line--dashed{stroke-dasharray:5 4}.pd-chart__dot{fill:var(--color-surface);stroke-width:2px}.pd-chart__area{stroke:none}.pd-chart__empty{font-family:var(--font-sans);font-size:var(--text-12-5);fill:var(--color-text-secondary)}.pd-fill-accent{fill:var(--color-accent)}.pd-fill-navy{fill:var(--color-accent-hover)}.pd-fill-success{fill:var(--color-success)}.pd-fill-danger{fill:var(--color-danger)}.pd-fill-warning{fill:var(--color-warning)}.pd-fill-amber{fill:var(--pd-chart-amber)}.pd-fill-sky{fill:var(--pd-chart-sky)}.pd-fill-slate{fill:var(--pd-chart-slate)}.pd-fill-muted{fill:var(--color-text-faint)}.pd-fill-violet{fill:var(--color-violet)}.pd-fill-info{fill:var(--color-info)}.pd-fill-track{fill:var(--pd-chart-track)}.pd-fill-tint{fill:var(--color-accent-tint)}.pd-stroke-accent{stroke:var(--color-accent)}.pd-stroke-navy{stroke:var(--color-accent-hover)}.pd-stroke-success{stroke:var(--color-success)}.pd-stroke-danger{stroke:var(--color-danger)}.pd-stroke-warning{stroke:var(--color-warning)}.pd-stroke-amber{stroke:var(--pd-chart-amber)}.pd-stroke-sky{stroke:var(--pd-chart-sky)}.pd-stroke-slate{stroke:var(--pd-chart-slate)}.pd-stroke-muted{stroke:var(--color-text-faint)}.pd-stroke-violet{stroke:var(--color-violet)}.pd-stroke-info{stroke:var(--color-info)}.pd-stroke-track{stroke:var(--pd-chart-track)}.pd-stroke-tint{stroke:var(--color-accent-tint)}.pd-bg-accent{background:var(--color-accent)}.pd-bg-navy{background:var(--color-accent-hover)}.pd-bg-success{background:var(--color-success)}.pd-bg-danger{background:var(--color-danger)}.pd-bg-warning{background:var(--color-warning)}.pd-bg-amber{background:var(--pd-chart-amber)}.pd-bg-sky{background:var(--pd-chart-sky)}.pd-bg-slate{background:var(--pd-chart-slate)}.pd-bg-muted{background:var(--color-text-faint)}.pd-bg-violet{background:var(--color-violet)}.pd-bg-info{background:var(--color-info)}.pd-bg-track{background:var(--pd-chart-track)}.pd-bg-tint{background:var(--color-accent-tint)}.pd-donut{align-items:center;gap:var(--space-14);flex-wrap:wrap;display:flex}.pd-donut__figure{flex:none;position:relative}.pd-donut__ring{fill:none}.pd-donut__center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pd-donut__center-value{font-size:var(--text-22);font-weight:var(--weight-bold);letter-spacing:var(--tracking-title);color:var(--color-text)}.pd-donut__center-label{font-size:var(--text-11);color:var(--color-text-secondary)}.pd-donut__legend{min-width:var(--pd-size-legend-min);gap:var(--space-9);flex-direction:column;flex:1;margin:0;padding:0;list-style:none;display:flex}.pd-donut__item{align-items:center;gap:var(--space-9);font-size:var(--text-12);display:flex}.pd-donut__item-label{color:var(--color-text-body);flex:1}.pd-donut__item-pct{font-weight:var(--weight-semibold);color:var(--color-text)}.pd-donut--console .pd-donut__center-value{font-size:var(--text-21)}.pd-donut--console .pd-donut__legend{gap:var(--space-10);min-width:var(--pd-size-legend-min-console)}.pd-donut__item-count{color:var(--color-text-faint-text);width:var(--pd-size-legend-count);text-align:right}.pd-table-wrap{min-width:0;max-width:100%;position:relative;overflow-x:auto}.pd-table-wrap--sticky{overflow:auto}.pd-table{border-collapse:collapse;width:100%;font-size:var(--text-12-5);color:var(--color-text)}.pd-table thead tr{background:var(--color-surface-subtle)}.pd-table th{padding:var(--space-10) var(--space-12);font-size:var(--text-11);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--color-text-secondary);font-weight:var(--weight-semibold);text-align:left;white-space:nowrap;background:var(--color-surface-subtle)}.pd-table td{padding:var(--space-11) var(--space-12);border-top:1px solid var(--color-border-row);vertical-align:middle}.pd-table th:first-child,.pd-table td:first-child{padding-left:var(--space-16)}.pd-table th:last-child,.pd-table td:last-child{padding-right:var(--space-16)}.pd-table--comfortable td{padding-top:var(--space-12);padding-bottom:var(--space-12)}.pd-table--compact{font-size:var(--text-12)}.pd-table--compact th{font-size:var(--text-10-5)}.pd-table--compact td{padding:var(--space-8) var(--space-10)}.pd-table--compact td:first-child{padding-left:var(--space-16)}.pd-table--compact td:last-child{padding-right:var(--space-16)}.pd-table tbody tr:hover>td{background:var(--color-row-hover)}.pd-table tbody tr.pd-table__row--clickable{cursor:pointer}.pd-table tbody tr.pd-table__row--clickable:focus-visible{outline:var(--focus-outline-width) solid var(--focus-outline-color);outline-offset:calc(var(--focus-outline-width) * -1)}.pd-table tbody tr[aria-selected=true]>td{background:var(--color-surface-tint)}.pd-table__cell--right{text-align:right}.pd-table__cell--center{text-align:center}.pd-table th.pd-table__cell--right{text-align:right}.pd-table th.pd-table__cell--center{text-align:center}.pd-table__cell--mono{font-family:var(--font-mono);font-size:var(--text-11-5);color:var(--color-text-secondary)}.pd-table__cell--strong{font-weight:var(--weight-semibold)}.pd-table__cell--muted{color:var(--color-text-secondary-strong)}.pd-table__cell--nowrap{white-space:nowrap}.pd-table--sticky-header thead th{z-index:2;position:sticky;top:0}.pd-table--sticky-col th:first-child,.pd-table--sticky-col td:first-child{z-index:1;position:sticky;left:0}.pd-table--sticky-col td:first-child{background:var(--color-surface)}.pd-table--sticky-header.pd-table--sticky-col thead th:first-child{z-index:3}.pd-table__sort{align-items:center;gap:var(--space-4);font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0;display:inline-flex}.pd-table__sort:hover{color:var(--color-text-body)}.pd-table__sort-icon{color:var(--color-text-faint);flex:none}.pd-table__sort[data-active=true] .pd-table__sort-icon{color:var(--color-accent)}.pd-table th.pd-table__cell--right .pd-table__sort{flex-direction:row-reverse}.pd-table__empty{text-align:center;font-size:var(--text-12-5);color:var(--color-text-secondary);padding:var(--space-26) var(--space-16)!important;border-top:1px solid var(--color-surface-subtle-2)!important}.pd-table__cell-sub{font-size:var(--text-11-5);color:var(--color-text-faint-text);margin-top:var(--space-2)}.pd-pill{align-items:center;gap:var(--space-5);font-size:var(--text-11);font-weight:var(--weight-semibold);border-radius:var(--radius-pill);padding:var(--space-3) var(--space-9);white-space:nowrap;line-height:normal;display:inline-flex}.pd-pill--sm{padding:var(--space-2) var(--space-8)}.pd-pill__dot{width:var(--pd-size-pill-dot);height:var(--pd-size-pill-dot);border-radius:var(--radius-round);background:currentColor;flex:none}.pd-pill--success{background:var(--color-success-tint);color:var(--color-success-text)}.pd-pill--warning{background:var(--color-warning-tint);color:var(--color-warning-text)}.pd-pill--danger{background:var(--color-danger-tint);color:var(--color-danger-text)}.pd-pill--accent{background:var(--color-accent-tint);color:var(--color-accent-hover)}.pd-pill--info{background:var(--color-info-tint);color:var(--color-info-text)}.pd-pill--neutral{background:var(--color-surface-muted);color:var(--color-text-secondary-strong)}.pd-pill--violet{background:var(--color-violet-tint);color:var(--color-violet-strong)}.pd-pill--count{background:var(--pd-pill-count-bg);color:var(--color-warning-text)}.pd-avatar{border-radius:var(--radius-round);font-weight:var(--weight-semibold);line-height:var(--leading-none);width:var(--pd-avatar-size);height:var(--pd-avatar-size);font-size:var(--pd-avatar-font);flex:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.pd-avatar--square{border-radius:var(--radius-8);font-weight:var(--weight-bold)}.pd-avatar__img{object-fit:cover;width:100%;height:100%;display:block}.pd-avatar--tint{background:var(--color-accent-tint);color:var(--color-accent-hover)}.pd-avatar--accent{background:var(--school-accent);color:var(--color-text-on-accent)}.pd-avatar--console{background:var(--color-sidebar);color:var(--color-text-on-accent)}.pd-avatar--school{background:var(--color-sidebar-deep);color:var(--color-text-on-accent)}.pd-avatar--solid{background:var(--pd-avatar-bg);color:var(--color-text-on-accent)}.pd-avatar--26{--pd-avatar-size:26px;--pd-avatar-font:var(--text-10)}.pd-avatar--28{--pd-avatar-size:28px;--pd-avatar-font:var(--text-10-5)}.pd-avatar--30{--pd-avatar-size:30px;--pd-avatar-font:var(--text-11)}.pd-avatar--32{--pd-avatar-size:32px;--pd-avatar-font:var(--text-11-5)}.pd-avatar--square.pd-avatar--32{--pd-avatar-font:var(--text-11)}.pd-avatar--34{--pd-avatar-size:34px;--pd-avatar-font:var(--text-12-5)}.pd-avatar--38{--pd-avatar-size:38px;--pd-avatar-font:var(--text-13)}.pd-avatar--44{--pd-avatar-size:44px;--pd-avatar-font:var(--text-14)}.pd-avatar--48{--pd-avatar-size:48px;--pd-avatar-font:var(--text-15)}.pd-avatar--52{--pd-avatar-size:52px;--pd-avatar-font:var(--text-16)}.pd-avatar-c0{--pd-avatar-bg:var(--color-accent)}.pd-avatar-c1{--pd-avatar-bg:var(--color-success-strong)}.pd-avatar-c2{--pd-avatar-bg:var(--color-violet)}.pd-avatar-c3{--pd-avatar-bg:var(--color-info-text)}.pd-avatar-c4{--pd-avatar-bg:var(--color-danger)}.pd-avatar-c5{--pd-avatar-bg:var(--color-text-secondary-strong)}.pd-avatar-c6{--pd-avatar-bg:var(--color-warning-strong)}.pd-avatar-c7{--pd-avatar-bg:var(--pd-avatar-teal)}.pd-tag{white-space:nowrap;justify-content:center;align-items:center;line-height:normal;display:inline-flex}.pd-tag--outline{font-size:var(--text-11);color:var(--color-text-secondary-strong);border:1px solid var(--pd-tag-border);border-radius:var(--radius-5);padding:var(--space-3) var(--space-8)}.pd-tag--solid{min-width:var(--pd-size-tag-min);font-size:var(--text-11-5);font-weight:var(--weight-bold);border-radius:var(--radius-6);padding:var(--space-3) var(--space-8);color:var(--color-text-on-accent);background:var(--pd-tag-bg)}.pd-tag--solid.pd-tag--sm{min-width:var(--pd-size-icon-tile);font-size:var(--text-11)}.pd-tag--solid.pd-tone-success{--pd-tag-bg:var(--color-success-strong)}.pd-tag--solid.pd-tone-info{--pd-tag-bg:var(--color-info-text)}.pd-tag--solid.pd-tone-warning{--pd-tag-bg:var(--color-warning-strong)}.pd-tag--solid.pd-tone-danger{--pd-tag-bg:var(--color-danger)}.pd-tag--solid.pd-tone-accent{--pd-tag-bg:var(--color-accent)}.pd-tag--solid.pd-tone-violet{--pd-tag-bg:var(--color-violet)}.pd-tag--solid.pd-tone-neutral{--pd-tag-bg:var(--color-text-secondary-strong)}@media (width<=640px){.pd-banner{padding:var(--space-18)}.pd-banner__stats{width:100%}.pd-banner__stat{flex:1 1 0;min-width:0}}.pd-card__body{padding:var(--space-14) var(--space-16)}.pd-card-icon{border-radius:var(--radius-8);background:var(--color-accent-tint);width:30px;height:30px;color:var(--color-accent);flex:none;justify-content:center;align-items:center;display:inline-flex}.pd-card--flush>.pd-card__header{padding:var(--space-14) var(--space-18);border-bottom:1px solid var(--color-border-soft);margin-bottom:0}:root{--ctl-accent:var(--color-accent);--ctl-accent-hover:var(--color-accent-hover);--ctl-accent-tint:var(--color-accent-tint);--ctl-accent-ring:var(--shadow-focus);--ctl-accent-text:var(--color-accent-hover);--ctl-dark-hover:#16305c;--ctl-hover-brightness:.93;--ctl-segment-shadow:0 1px 2px #0f172a1a;--ctl-checkbox-border:var(--color-scrollbar-thumb);--ctl-switch-locked:var(--color-success-border);--ctl-disabled-opacity:.65;--ctl-select-height:38px;--ctl-search-toolbar-width:260px}.proto-school,[data-accent=school]{--ctl-accent:var(--school-accent);--ctl-accent-hover:var(--school-accent-hover);--ctl-accent-tint:var(--school-accent-tint);--ctl-accent-ring:0 0 0 3px var(--school-accent-ring);--ctl-accent-text:var(--school-accent-hover)}.ctl-sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}@keyframes ctl-spin{to{transform:rotate(360deg)}}.ctl-spin{animation:.8s linear infinite ctl-spin}.ctl-btn:focus-visible,.ctl-icon-btn:focus-visible,.ctl-switch:focus-visible,.ctl-seg__option:focus-visible,.ctl-tabs__tab:focus-visible,.ctl-search__clear:focus-visible,.ctl-input-group__action:focus-visible{outline:var(--focus-outline-width) solid var(--ctl-accent);outline-offset:var(--focus-outline-offset)}.ctl-btn{justify-content:center;align-items:center;gap:var(--space-7);font-family:inherit;font-size:var(--text-12-5);font-weight:var(--weight-medium);white-space:nowrap;border-radius:var(--radius-9);padding:var(--space-9) var(--space-14);cursor:pointer;color:inherit;background:0 0;border:1px solid #0000;line-height:normal;text-decoration:none;display:inline-flex}.ctl-btn:hover{text-decoration:none}.ctl-btn:disabled,.ctl-btn[aria-disabled=true]{cursor:not-allowed}.ctl-btn[aria-busy=true]{cursor:progress}.ctl-btn--block{width:100%;display:flex}.ctl-btn__icon{flex:none;display:inline-flex}.ctl-btn--sm{font-size:var(--text-12);border-radius:var(--radius-7);padding:var(--space-5) var(--space-11);gap:var(--space-6)}.ctl-btn--xs{font-size:var(--text-11-5);border-radius:var(--radius-7);padding:var(--space-6) var(--space-11);gap:var(--space-6)}.ctl-btn--primary{background:var(--ctl-accent);color:var(--color-text-on-accent);font-weight:var(--weight-semibold)}.ctl-btn--primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--ctl-accent-hover);color:var(--color-text-on-accent)}.proto-school .ctl-btn--primary:hover:not(:disabled):not([aria-disabled=true]),[data-accent=school] .ctl-btn--primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--ctl-accent);filter:brightness(var(--ctl-hover-brightness))}.ctl-btn--dark{background:var(--color-sidebar);color:var(--color-text-on-accent);font-weight:var(--weight-semibold)}.ctl-btn--dark:hover:not(:disabled):not([aria-disabled=true]){background:var(--ctl-dark-hover);color:var(--color-text-on-accent)}.ctl-btn--secondary{background:var(--color-surface);color:var(--color-text-body);border-color:var(--color-border-input)}.ctl-btn--secondary:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-subtle);color:var(--color-text-body)}.ctl-btn--soft{background:var(--ctl-accent-tint);color:var(--ctl-accent-text);border-color:var(--color-accent-border)}.ctl-btn--soft:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-accent-tint-strong);color:var(--ctl-accent-text)}.ctl-btn--danger{background:var(--color-danger-strong);color:var(--color-text-on-accent);font-weight:var(--weight-semibold)}.ctl-btn--danger:hover:not(:disabled):not([aria-disabled=true]){filter:brightness(var(--ctl-hover-brightness));color:var(--color-text-on-accent)}.ctl-btn--danger-outline{background:var(--color-surface);color:var(--color-danger-text);border-color:var(--color-danger-border)}.ctl-btn--danger-outline:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-danger-tint);color:var(--color-danger-text)}.ctl-btn--success{background:var(--color-success-strong);color:var(--color-text-on-accent);font-weight:var(--weight-semibold)}.ctl-btn--success:hover:not(:disabled):not([aria-disabled=true]){filter:brightness(var(--ctl-hover-brightness));color:var(--color-text-on-accent)}.ctl-btn--ghost{color:var(--ctl-accent);border-radius:var(--radius-4);background:0 0;border:0;padding:0}.ctl-btn--ghost:hover:not(:disabled):not([aria-disabled=true]){color:var(--ctl-accent-hover);text-decoration:underline}.ctl-btn--subtle{color:var(--color-text-secondary);border-radius:var(--radius-4);background:0 0;border:0;padding:0}.ctl-btn--subtle:hover:not(:disabled):not([aria-disabled=true]){color:var(--ctl-accent)}.ctl-btn--primary:is(:disabled,[aria-disabled=true]):not([aria-busy=true]),.ctl-btn--dark:is(:disabled,[aria-disabled=true]):not([aria-busy=true]),.ctl-btn--danger:is(:disabled,[aria-disabled=true]):not([aria-busy=true]),.ctl-btn--success:is(:disabled,[aria-disabled=true]):not([aria-busy=true]){background:var(--color-border-strong);color:var(--color-text-on-accent);filter:none}.ctl-btn--secondary:is(:disabled,[aria-disabled=true]):not([aria-busy=true]),.ctl-btn--soft:is(:disabled,[aria-disabled=true]):not([aria-busy=true]),.ctl-btn--danger-outline:is(:disabled,[aria-disabled=true]):not([aria-busy=true]),.ctl-btn--ghost:is(:disabled,[aria-disabled=true]):not([aria-busy=true]),.ctl-btn--subtle:is(:disabled,[aria-disabled=true]):not([aria-busy=true]){color:var(--color-border-strong)}.ctl-icon-btn{border-radius:var(--radius-8);border:1px solid var(--color-border);background:var(--color-surface);width:30px;height:30px;color:var(--color-text-secondary);cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.ctl-icon-btn:hover:not(:disabled){background:var(--color-canvas)}.ctl-icon-btn__icon{display:inline-flex}.ctl-icon-btn:disabled{cursor:not-allowed;color:var(--color-border-strong)}.ctl-icon-btn--lg{border-radius:var(--radius-9);width:36px;height:36px}.ctl-icon-btn--sm{border-radius:var(--radius-7);width:28px;height:28px}.ctl-icon-btn--ghost{background:0 0;border-color:#0000}.ctl-icon-btn--ghost:hover:not(:disabled),.ctl-icon-btn--ghost[aria-expanded=true]{background:var(--color-surface-muted)}.ctl-field{flex-direction:column;min-width:0;display:flex}.ctl-field__label{font-size:var(--text-11-5);font-weight:var(--weight-semibold);color:var(--color-text-secondary-strong);margin-bottom:var(--space-6);display:block}.ctl-field__req{color:var(--color-danger-text)}.ctl-field__hint{font-size:var(--text-11-5);color:var(--color-text-secondary);margin-top:var(--space-6)}.ctl-field__error{font-size:var(--text-11-5);color:var(--color-danger-text);margin-top:var(--space-6)}.ctl-fieldset{border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.ctl-fieldset>legend{margin-bottom:var(--space-7);padding:0}.ctl-fieldset__items{gap:var(--space-7);flex-direction:column;display:flex}.ctl-input,.ctl-textarea,.ctl-select{width:100%;min-width:0;font-family:inherit;font-size:var(--text-12-5);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-input);border-radius:var(--radius-9);padding:var(--space-9) var(--space-11);outline:none;margin:0;line-height:normal}.ctl-input:focus,.ctl-textarea:focus,.ctl-select:focus,.ctl-input-group:focus-within{border-color:var(--ctl-accent);box-shadow:var(--ctl-accent-ring);outline:none}.ctl-input:focus-visible,.ctl-textarea:focus-visible,.ctl-select:focus-visible{outline:var(--focus-outline-width) solid var(--ctl-accent);outline-offset:0}.ctl-input-group:has(.ctl-input--bare:focus-visible){outline:var(--focus-outline-width) solid var(--ctl-accent);outline-offset:0}.ctl-input[aria-invalid=true],.ctl-textarea[aria-invalid=true],.ctl-select[aria-invalid=true]{border-color:var(--color-danger)}.ctl-input-group:has(.ctl-input--bare[aria-invalid=true]){border-color:var(--color-danger)}.ctl-input[aria-invalid=true]:focus,.ctl-textarea[aria-invalid=true]:focus,.ctl-select[aria-invalid=true]:focus{box-shadow:0 0 0 3px var(--color-danger-tint)}.ctl-input-group:has(.ctl-input--bare[aria-invalid=true]):focus-within{box-shadow:0 0 0 3px var(--color-danger-tint)}.ctl-input:disabled,.ctl-textarea:disabled,.ctl-select:disabled,.ctl-input:read-only:not(.ctl-input--bare),.ctl-textarea:read-only{background:var(--color-surface-subtle);color:var(--color-text-secondary)}.ctl-input-group:has(.ctl-input--bare:disabled){background:var(--color-surface-subtle);color:var(--color-text-secondary)}.ctl-input:disabled,.ctl-textarea:disabled,.ctl-select:disabled{cursor:not-allowed}.ctl-input--mono{font-family:var(--font-mono)}.ctl-input--right{text-align:right;font-variant-numeric:tabular-nums}.ctl-input-group{align-items:center;gap:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border-input);border-radius:var(--radius-9);width:100%;min-width:0;padding:0 var(--space-11);display:flex}.ctl-input--bare{width:100%;min-width:0;font-family:inherit;font-size:var(--text-12-5);color:var(--color-text);padding:var(--space-9) 0;box-shadow:none;background:0 0;border:0;border-radius:0;outline:none;flex:auto;margin:0;line-height:normal}.ctl-input--bare:focus{box-shadow:none;outline:none}.ctl-input-group__adornment{color:var(--color-text-faint);flex:none;align-items:center;display:inline-flex}.ctl-input-group__suffix{font-size:var(--text-12-5);color:var(--color-text-secondary);flex:none}.ctl-input-group--action{padding-right:var(--space-6)}.ctl-input-group__action{border-radius:var(--radius-6);width:30px;height:30px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.ctl-input-group__action:hover{background:var(--color-canvas)}.ctl-select-wrap{align-items:center;width:100%;min-width:0;display:flex;position:relative}.ctl-select{appearance:none;height:var(--ctl-select-height);padding:0 var(--space-34) 0 var(--space-12);font-weight:var(--weight-medium);line-height:var(--ctl-select-height);text-overflow:ellipsis;cursor:pointer}.ctl-select-wrap__chevron{right:var(--space-10);pointer-events:none;color:var(--color-text-secondary);position:absolute}.ctl-textarea{padding:var(--space-10) var(--space-11);resize:vertical;line-height:var(--leading-copy);min-height:76px}.ctl-textarea-wrap{flex-direction:column;min-width:0;display:flex}.ctl-textarea__count{font-size:var(--text-11);color:var(--color-text-secondary);margin-top:var(--space-5);font-variant-numeric:tabular-nums;align-self:flex-end}.ctl-textarea__count--over{color:var(--color-danger-text);font-weight:var(--weight-semibold)}@media (width<=640px){.ctl-input,.ctl-textarea,.ctl-select,.ctl-input--bare,.ctl-search__input{font-size:var(--text-16)}}.ctl-check{align-items:flex-start;gap:var(--space-9);cursor:pointer;min-width:0;display:inline-flex}.ctl-check--disabled{cursor:not-allowed}.ctl-check__box{width:16px;height:16px;margin-top:var(--space-1);flex:none;display:inline-flex;position:relative}.ctl-check__input{appearance:none;border-radius:var(--radius-4);border:1.5px solid var(--ctl-checkbox-border);background:var(--color-surface);width:16px;height:16px;cursor:inherit;flex:none;margin:0}.ctl-check__input:checked,.ctl-check__input:not(.ctl-check__input--radio):indeterminate{background:var(--ctl-accent);border-color:var(--ctl-accent)}.ctl-check__input:focus-visible{outline:var(--focus-outline-width) solid var(--ctl-accent);outline-offset:var(--focus-outline-offset)}.ctl-check__input[aria-invalid=true]{border-color:var(--color-danger)}.ctl-check__input:disabled{background:var(--color-surface-muted);border-color:var(--color-border-input)}.ctl-check__input:disabled:checked,.ctl-check__input:not(.ctl-check__input--radio):disabled:indeterminate{background:var(--color-border-strong);border-color:var(--color-border-strong)}.ctl-check__mark{pointer-events:none;color:var(--color-text-on-accent);margin:auto;display:none;position:absolute;inset:0}.ctl-check__input:checked:not(:indeterminate)~.ctl-check__mark--tick,.ctl-check__input:not(.ctl-check__input--radio):indeterminate~.ctl-check__mark--dash{display:block}.ctl-check__text{flex-direction:column;min-width:0;display:flex}.ctl-check__label{font-size:var(--text-12);color:var(--color-text-secondary-strong);line-height:var(--leading-copy)}.ctl-check__desc{font-size:var(--text-11-5);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-top:var(--space-2)}.ctl-check--disabled .ctl-check__label{color:var(--color-text-secondary)}.ctl-check__input--radio{border-radius:var(--radius-round)}.ctl-check__input--radio:checked{background:var(--ctl-accent);box-shadow:inset 0 0 0 3px var(--color-surface)}.ctl-check__input--radio:disabled:checked{box-shadow:inset 0 0 0 3px var(--color-surface-muted)}.ctl-radio-card{align-items:center;gap:var(--space-11);width:100%;padding:var(--space-11) var(--space-13);border-radius:var(--radius-10);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;text-align:left;display:flex;position:relative}.ctl-radio-card:has(.ctl-radio-card__input:checked){border-color:var(--ctl-accent);background:var(--color-surface-tint)}.ctl-radio-card:has(.ctl-radio-card__input:focus-visible){outline:var(--focus-outline-width) solid var(--ctl-accent);outline-offset:var(--focus-outline-offset)}.ctl-radio-card:has(.ctl-radio-card__input:disabled){cursor:not-allowed;background:var(--color-surface-subtle)}.ctl-radio-card__body{flex:auto;min-width:0}.ctl-radio-card__label{font-size:var(--text-12-8);font-weight:var(--weight-semibold);color:var(--color-text);display:block}.ctl-radio-card__meta{font-size:var(--text-11);color:var(--color-text-secondary);margin-top:var(--space-2);display:block}.ctl-radio-card__aside{font-size:var(--text-13);font-weight:var(--weight-bold);color:var(--color-text);flex:none}.ctl-switch{width:36px;height:21px;padding:var(--space-2);border-radius:var(--radius-pill);background:var(--color-border-input);cursor:pointer;transition:background var(--motion-fast);border:0;flex:none;align-items:center;margin:0;display:inline-flex}.ctl-switch__knob{border-radius:var(--radius-round);background:var(--color-surface);width:17px;height:17px;margin-left:0;display:block}.ctl-switch[aria-checked=true]{background:var(--ctl-accent)}.ctl-switch[aria-checked=true] .ctl-switch__knob{margin-left:15px}.ctl-switch--sm{width:34px;height:20px}.ctl-switch--sm .ctl-switch__knob{width:16px;height:16px}.ctl-switch--sm[aria-checked=true] .ctl-switch__knob{margin-left:14px}.ctl-switch:disabled{cursor:not-allowed;opacity:var(--ctl-disabled-opacity)}.ctl-switch--locked:disabled{opacity:1}.ctl-switch--locked[aria-checked=true]{background:var(--ctl-switch-locked)}.ctl-switch-row{align-items:flex-start;gap:var(--space-12);min-width:0;display:flex}.ctl-switch-row__text{flex:auto;min-width:0}.ctl-switch-row__label{font-size:var(--text-13);font-weight:var(--weight-semibold);color:var(--color-text);display:block}.ctl-switch-row__desc{font-size:var(--text-11-5);color:var(--color-text-secondary);margin-top:var(--space-2);line-height:var(--leading-relaxed);display:block}.ctl-switch-row .ctl-switch{margin-top:var(--space-1)}.ctl-search{align-items:center;gap:var(--space-8);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-8);min-width:0;padding:var(--space-7) var(--space-11);width:var(--ctl-search-toolbar-width);max-width:100%;color:var(--color-text-faint);display:flex}.ctl-search--topbar{gap:var(--space-9);background:var(--color-canvas);border-radius:var(--radius-9);padding:var(--space-7) var(--space-12);flex:auto;width:auto;min-width:150px;max-width:320px}.ctl-search--block{width:100%}.ctl-search:focus-within{border-color:var(--ctl-accent);box-shadow:var(--ctl-accent-ring)}.ctl-search:has(.ctl-search__input:focus-visible){outline:var(--focus-outline-width) solid var(--ctl-accent);outline-offset:0}.ctl-search__icon{flex:none;display:inline-flex}.ctl-search__input{width:100%;min-width:0;box-shadow:none;font-family:inherit;font-size:var(--text-12-5);color:var(--color-text);background:0 0;border:0;outline:none;flex:auto;margin:0;padding:1px 2px;line-height:normal}.ctl-search__input:focus{box-shadow:none;outline:none}.ctl-search--topbar .ctl-search__input{font-size:var(--text-13)}.ctl-search__input::-webkit-search-cancel-button{appearance:none}.ctl-search__input::-webkit-search-decoration{appearance:none}.ctl-search__clear{width:20px;height:20px;margin:calc(-1 * var(--space-2)) calc(-1 * var(--space-4)) calc(-1 * var(--space-2)) 0;border-radius:var(--radius-5);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.ctl-search__clear:hover{background:var(--color-surface-muted);color:var(--color-text-body)}.ctl-seg{gap:var(--space-7);flex-wrap:wrap;min-width:0;display:flex}.ctl-seg__option{font-family:inherit;font-size:var(--text-12);font-weight:var(--weight-medium);white-space:nowrap;border-radius:var(--radius-8);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary-strong);padding:var(--space-8) var(--space-13);cursor:pointer;margin:0;line-height:normal}.ctl-seg--sm .ctl-seg__option{padding:var(--space-7) var(--space-13)}.ctl-seg--lg .ctl-seg__option{padding:var(--space-9) var(--space-14)}.ctl-seg__option:hover:not(:disabled):not([aria-checked=true]){background:var(--color-surface-subtle)}.ctl-seg__option[aria-checked=true]{border-color:var(--ctl-accent);background:var(--ctl-accent-tint);color:var(--ctl-accent-text)}.ctl-seg__option:disabled{cursor:not-allowed;color:var(--color-border-strong)}.ctl-seg--block .ctl-seg__option{flex:1 1 0}.ctl-seg--track,.ctl-tabs--pill{gap:var(--space-3);padding:var(--space-3);background:var(--color-surface-muted);border-radius:var(--radius-9);flex-wrap:nowrap;max-width:100%;display:inline-flex;overflow-x:auto}.ctl-seg--track .ctl-seg__option,.ctl-tabs--pill .ctl-tabs__tab{border-radius:var(--radius-7);padding:var(--space-6) var(--space-12);font-size:var(--text-12);font-weight:var(--weight-medium);color:var(--color-text-secondary-text);box-shadow:none;background:0 0;border:0}.ctl-seg--track .ctl-seg__option:hover:not(:disabled):not([aria-checked=true]),.ctl-tabs--pill .ctl-tabs__tab:hover:not([aria-selected=true]){color:var(--color-text);background:0 0}.ctl-seg--track .ctl-seg__option[aria-checked=true],.ctl-tabs--pill .ctl-tabs__tab[aria-selected=true]{background:var(--color-surface);color:var(--color-text);font-weight:var(--weight-semibold);box-shadow:var(--ctl-segment-shadow)}.ctl-seg--track.ctl-seg--block{display:flex}.ctl-tabs{gap:var(--space-4);border-bottom:1px solid var(--color-border);scrollbar-width:thin;min-width:0;display:flex;overflow-x:auto}.ctl-tabs__tab{align-items:center;gap:var(--space-7);padding:var(--space-11) var(--space-14);font-family:inherit;font-size:var(--text-13);font-weight:var(--weight-medium);white-space:nowrap;color:var(--color-text-secondary-text);cursor:pointer;box-shadow:none;background:0 0;border:0;flex:none;margin:0;line-height:normal;text-decoration:none;display:inline-flex}.ctl-tabs__tab:hover{color:var(--color-text);text-decoration:none}.ctl-tabs__tab[aria-selected=true],.ctl-tabs__tab[aria-current=page]{color:var(--ctl-accent);font-weight:var(--weight-semibold);box-shadow:inset 0 -2px 0 var(--ctl-accent)}.ctl-tabs__tab:disabled{cursor:not-allowed;color:var(--color-border-strong)}.ctl-tabs__tab:focus-visible{outline-offset:calc(-1 * var(--focus-outline-width))}.ctl-tabs--lg .ctl-tabs__tab{padding:var(--space-13) var(--space-14)}.ctl-tabs__count{font-size:var(--text-10-5);font-weight:var(--weight-semibold);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-6);background:var(--color-surface-muted);color:var(--color-text-secondary-strong)}.ctl-tabs__tab[aria-selected=true] .ctl-tabs__count,.ctl-tabs__tab[aria-current=page] .ctl-tabs__count{background:var(--ctl-accent-tint);color:var(--ctl-accent-text)}.ctl-tabs--pill .ctl-tabs__tab:focus-visible,.ctl-seg--track .ctl-seg__option:focus-visible{outline-offset:0}.ctl-tabs__panel{min-width:0}.ctl-tabs__panel:focus{outline:none}.ctl-tabs__panel:focus-visible{outline:var(--focus-outline-width) solid var(--ctl-accent);outline-offset:var(--focus-outline-offset)}.ctl-chips{gap:var(--space-6);flex-wrap:wrap;display:flex}.ctl-chip{align-items:center;gap:var(--space-6);font-size:var(--text-12);font-weight:var(--weight-medium);white-space:nowrap;border-radius:var(--radius-8);padding:var(--space-7) var(--space-12);cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary-strong);display:inline-flex}.ctl-chip:hover:not(:disabled){background:var(--color-surface-subtle)}.ctl-chip--on,.ctl-chip--on:hover:not(:disabled){border-color:var(--ctl-accent);background:var(--ctl-accent-tint);color:var(--ctl-accent-text)}.ctl-chip:disabled{cursor:not-allowed;opacity:var(--ctl-disabled-opacity)}.ctl-form-grid{gap:var(--space-13);grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));display:grid}.ctl-form-stack{gap:var(--space-15);flex-direction:column;display:flex}:root{--ov-z-menu:70;--ov-z-drawer:76;--ov-z-modal:80;--ov-z-toast:120;--ov-modal-sm:430px;--ov-modal-md:600px;--ov-modal-lg:640px;--ov-drawer-width:600px;--ov-toast-shadow:0 18px 44px #040a1473;--ov-toast-shadow-school:0 18px 44px #0815274d;--ov-toast-success:#4ade80;--ov-toast-error:#f87171;--ov-toast-info:#60a5fa;--ov-toast-dismiss:#ffffff1a;--ov-toast-dismiss-hover:#fff3;--ov-step-current-bg:var(--color-surface-tint);--ov-step-upcoming:var(--color-border-strong)}.ov-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ov-overlay{--ov-scrim-rgb:4, 10, 20;--ov-scrim-alpha:.55;z-index:var(--ov-z-modal);background:rgba(var(--ov-scrim-rgb), var(--ov-scrim-alpha));padding:var(--space-24);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ov-overlay--school{--ov-scrim-rgb:8, 21, 39;--ov-scrim-alpha:.45}body:has(.proto-shell--school) .ov-overlay{--ov-scrim-rgb:8, 21, 39;--ov-scrim-alpha:.45}.ov-modal,.ov-drawer,.ov-stub{line-height:normal}.ov-modal{background:var(--color-surface);border-radius:var(--radius-modal);width:var(--ov-modal-md);max-width:100%;max-height:min(90vh,100dvh - 48px);box-shadow:var(--shadow-modal);outline:none;flex-direction:column;display:flex;overflow:hidden}.ov-modal--sm{width:var(--ov-modal-sm)}.ov-modal--lg{width:var(--ov-modal-lg)}.ov-modal__header{align-items:flex-start;gap:var(--space-12);padding:var(--space-18) var(--space-20);border-bottom:1px solid var(--color-border-soft);flex:none;display:flex}.ov-modal__icon{border-radius:var(--radius-10);flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.ov-modal__icon--accent{background:var(--color-accent-tint);color:var(--color-accent)}.ov-modal__icon--danger{background:var(--color-danger-tint);color:var(--color-danger-strong)}.ov-modal__icon--warning{background:var(--color-warning-tint);color:var(--color-warning)}.ov-modal__icon--success{background:var(--color-success-tint);color:var(--color-success)}.ov-modal__heading{flex:1;min-width:0}.ov-modal__title{font-size:var(--text-15-5);font-weight:var(--weight-semibold);color:var(--color-text);margin:0}.ov-modal__desc{margin:var(--space-3) 0 0;font-size:var(--text-12-5);color:var(--color-text-secondary);text-wrap:pretty}.ov-modal__body{min-height:0;padding:var(--space-18) var(--space-20);gap:var(--space-15);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.ov-modal__footer{align-items:center;gap:var(--space-9);padding:var(--space-14) var(--space-20);border-top:1px solid var(--color-border-soft);flex-wrap:wrap;flex:none;display:flex}.ov-modal__footer-note{min-width:160px;font-size:var(--text-12);color:var(--color-text-faint-text);flex:1}.ov-modal__spacer{flex:1}.ov-facts{gap:var(--space-11);flex-direction:column;margin:0;display:flex}.ov-facts__row{align-items:flex-start;gap:var(--space-11);display:flex}.ov-facts__row dt{width:110px;font-size:var(--text-11-5);color:var(--color-text-faint-text);flex:none}.ov-facts__row dd{min-width:0;font-size:var(--text-12-5);color:var(--color-text-strong);text-wrap:pretty;flex:1;margin:0}.ov-consequences{padding:var(--space-12) var(--space-14) var(--space-12) var(--space-30);background:var(--color-surface-subtle);border:1px solid var(--color-border-alt);border-radius:var(--radius-11);font-size:var(--text-12-5);color:var(--color-text-body);margin:0;line-height:1.7}.ov-drawer-overlay{z-index:var(--ov-z-drawer);background:var(--color-overlay);justify-content:flex-end;display:flex;position:fixed;inset:0}.ov-drawer{background:var(--color-canvas);width:var(--ov-drawer-width);max-width:100%;height:100%;box-shadow:var(--shadow-drawer);outline:none;flex-direction:column;animation:.2s ease-out ov-drawer-in;display:flex}@keyframes ov-drawer-in{0%{opacity:.6;transform:translate(24px)}to{opacity:1;transform:none}}.ov-drawer__header{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--space-18) var(--space-20);align-items:flex-start;gap:var(--space-13);flex:none;display:flex}.ov-drawer__leading{flex:none;display:flex}.ov-drawer__heading{flex:1;min-width:0}.ov-drawer__title-row{align-items:center;gap:var(--space-9);flex-wrap:wrap;display:flex}.ov-drawer__title{font-size:var(--text-17);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);color:var(--color-text);margin:0}.ov-drawer__desc{margin:var(--space-5) 0 0;font-size:var(--text-12-5);color:var(--color-text-secondary)}.ov-drawer__strip{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--space-14) var(--space-20);flex:none}.ov-drawer__body{min-height:0;padding:var(--space-18) var(--space-20);gap:var(--space-14);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.ov-drawer__footer{background:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--space-13) var(--space-20);align-items:center;gap:var(--space-9);flex-wrap:wrap;flex:none;display:flex}@media (width<=640px){.ov-drawer{width:100%}.ov-overlay{padding:var(--space-16)}}.ov-toasts{--ov-toast-bg:var(--color-sidebar);--ov-toast-meta:var(--color-sidebar-signout);--ov-toast-elev:var(--ov-toast-shadow);bottom:var(--space-22);left:var(--space-24);z-index:var(--ov-z-toast);gap:var(--space-8);pointer-events:none;flex-direction:column;max-width:calc(100vw - 32px);margin:0;padding:0;list-style:none;display:flex;position:fixed}.ov-toasts--school{--ov-toast-bg:var(--color-sidebar-deep);--ov-toast-meta:var(--color-sidebar-item);--ov-toast-elev:var(--ov-toast-shadow-school)}body:has(.proto-shell--school) .ov-toasts:not(.ov-toasts--console){--ov-toast-bg:var(--color-sidebar-deep);--ov-toast-meta:var(--color-sidebar-item);--ov-toast-elev:var(--ov-toast-shadow-school)}.ov-toast{pointer-events:auto;align-items:center;gap:var(--space-11);background:var(--ov-toast-bg);color:#fff;border-radius:var(--radius-11);padding:var(--space-13) var(--space-16);box-shadow:var(--ov-toast-elev);max-width:400px;animation:.18s ease-out ov-toast-in;display:flex}@keyframes ov-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.ov-toast__icon{flex:none;display:inline-flex}.ov-toast--success .ov-toast__icon{color:var(--ov-toast-success)}.ov-toast--error .ov-toast__icon{color:var(--ov-toast-error)}.ov-toast--info .ov-toast__icon{color:var(--ov-toast-info)}.ov-toast__text{flex:1;min-width:0}.ov-toast__title{font-size:var(--text-12-8);font-weight:var(--weight-semibold)}.ov-toast__meta{font-size:var(--text-11-5);color:var(--ov-toast-meta);margin-top:var(--space-2);overflow-wrap:anywhere;white-space:pre-line}.ov-toast__dismiss{border-radius:var(--radius-7);background:var(--ov-toast-dismiss);width:26px;height:26px;color:var(--ov-toast-meta);cursor:pointer;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.ov-toast__dismiss:hover{background:var(--ov-toast-dismiss-hover)}.ov-toast__dismiss:focus-visible{outline-offset:1px;outline:2px solid #fff}@media (width<=640px){.ov-toasts{left:var(--space-16);right:var(--space-16);bottom:var(--space-16)}}.ov-menu{z-index:var(--ov-z-menu);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-12);width:296px;max-width:calc(100vw - 24px);box-shadow:var(--shadow-popover);text-align:left;max-height:calc(100vh - 24px);position:fixed;overflow:hidden auto}.ov-menu--row{border-radius:var(--radius-11);box-shadow:var(--shadow-menu)}.ov-menu__header{padding:var(--space-13) var(--space-15);border-bottom:1px solid var(--color-border-soft)}.ov-menu--row .ov-menu__header{padding:var(--space-10) var(--space-13)}.ov-menu__title{font-size:var(--text-13);font-weight:var(--weight-semibold);color:var(--color-text);text-overflow:ellipsis;overflow:hidden}.ov-menu--row .ov-menu__title{font-size:var(--text-12-5);white-space:nowrap}.ov-menu__subtitle{font-size:var(--text-11-5);color:var(--color-text-secondary);margin-top:var(--space-3);overflow-wrap:anywhere}.ov-menu--row .ov-menu__subtitle{font-size:var(--text-11);color:var(--color-text-faint-text);margin-top:var(--space-2)}.ov-menu__list{padding:var(--space-6);outline:none}.ov-menu--row .ov-menu__list{padding:var(--space-5)}.ov-menu__group+.ov-menu__group{border-top:1px solid var(--color-border-soft);margin:var(--space-6) calc(-1 * var(--space-6)) 0;padding:var(--space-6) var(--space-6) 0}.ov-menu__group-label{font-size:var(--text-10);letter-spacing:var(--tracking-section);text-transform:uppercase;color:var(--color-text-faint-text);font-weight:var(--weight-semibold);padding:var(--space-6) var(--space-10) var(--space-4)}.ov-menu__group-note{font-size:var(--text-11-5);color:var(--color-text-secondary);padding:var(--space-4) var(--space-10) var(--space-6);margin:0}.ov-menu__item{align-items:center;gap:var(--space-10);width:100%;padding:var(--space-9) var(--space-10);border-radius:var(--radius-8);color:var(--color-text-strong);font-size:var(--text-12-5);font-weight:var(--weight-regular);text-align:left;cursor:pointer;background:0 0;border:0;text-decoration:none;display:flex}.ov-menu--row .ov-menu__item{padding:var(--space-8) var(--space-9)}.ov-menu__item:hover,.ov-menu__item:focus{background:var(--color-canvas);color:var(--color-text-strong);outline:none;text-decoration:none}.ov-menu__item:focus-visible{box-shadow:inset 0 0 0 2px var(--color-accent)}.ov-menu__item--danger,.ov-menu__item--danger:hover,.ov-menu__item--danger:focus{color:var(--color-danger-strong)}.ov-menu__item--danger:hover,.ov-menu__item--danger:focus{background:var(--color-danger-tint)}.ov-menu__item[aria-disabled=true]{cursor:not-allowed;color:var(--color-text-faint-text)}.ov-menu__item[aria-disabled=true]:hover{background:0 0}.ov-menu__item-icon{color:var(--color-text-secondary);flex:none;display:inline-flex}.ov-menu__item--danger .ov-menu__item-icon{color:var(--color-danger)}.ov-menu__item-tile{border-radius:var(--radius-8);background:var(--pd-tint,var(--color-surface-muted));width:30px;height:30px;color:var(--pd-ink,var(--color-text-secondary));flex:none;justify-content:center;align-items:center;display:flex}.ov-menu__item--rich{gap:var(--space-11);border-radius:var(--radius-9)}.ov-menu__item-text{flex:1;min-width:0}.ov-menu__item-label{display:block}.ov-menu__item--rich .ov-menu__item-label{font-weight:var(--weight-medium);color:var(--color-text-strong)}.ov-menu__item-meta{font-size:var(--text-11);color:var(--color-text-faint-text);margin-top:var(--space-1);display:block}.ov-menu__item-hint{font-size:var(--text-10-5);color:var(--color-text-faint-text);border-radius:var(--radius-5);padding:var(--space-1) var(--space-5);border:1px solid #e2e8f0;flex:none}.ov-menu__footer{padding:var(--space-10) var(--space-15);border-top:1px solid var(--color-border-soft);font-size:var(--text-11-5);color:var(--color-text-faint-text)}.ov-menu__footer--actions{padding:var(--space-6)}.ov-menu-anchor{display:inline-flex;position:relative}.ov-menu-trigger[aria-expanded=true]{background:var(--color-surface-subtle)}.ov-banner{align-items:flex-start;gap:var(--space-10);border-radius:var(--radius-10);padding:var(--space-10) var(--space-12);font-size:var(--text-12-5);line-height:var(--leading-relaxed);border:1px solid;display:flex}.ov-banner--compact{padding:var(--space-9) var(--space-14);align-items:center}.ov-banner__icon{margin-top:var(--space-2);flex:none;display:inline-flex}.ov-banner--compact .ov-banner__icon{margin-top:0}.ov-banner__body{overflow-wrap:anywhere;flex:1;min-width:0}.ov-banner__title{font-weight:var(--weight-semibold)}.ov-banner__actions{align-items:center;gap:var(--space-8);flex:none;display:flex}.ov-banner__dismiss{border-radius:var(--radius-7);width:26px;height:26px;color:inherit;cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;margin:-3px -4px -3px 0;display:inline-flex}.ov-banner__dismiss:hover{background:#0f172a0f}.ov-banner--danger{background:var(--color-danger-tint);border-color:var(--color-danger-border);color:var(--color-danger-text)}.ov-banner--warning{background:var(--color-warning-tint);border-color:var(--color-warning-border);color:var(--color-warning-text)}.ov-banner--info{background:var(--color-accent-tint);border-color:var(--color-accent-border);color:var(--color-accent-hover)}.ov-banner--success{background:var(--color-success-tint);border-color:var(--color-success-border);color:var(--color-success-text)}.ov-state{text-align:center;align-items:center;gap:var(--space-6);padding:var(--space-34) var(--space-20);flex-direction:column;display:flex}.ov-state__icon{border-radius:var(--radius-12);width:42px;height:42px;margin-bottom:var(--space-6);background:var(--color-surface-muted);color:var(--color-text-secondary-strong);justify-content:center;align-items:center;display:flex}.ov-state--error .ov-state__icon{background:var(--color-danger-tint);color:var(--color-danger-text)}.ov-state__title{font-size:var(--text-14);font-weight:var(--weight-semibold);color:var(--color-text);margin:0}.ov-state__desc{font-size:var(--text-12-5);color:var(--color-text-secondary-text);text-wrap:pretty;max-width:420px;margin:0}.ov-state__action{margin-top:var(--space-10);gap:var(--space-9);flex-wrap:wrap;justify-content:center;display:flex}.ov-stub{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-12);padding:var(--space-56) var(--space-24);align-items:center;gap:var(--space-12);text-align:center;flex-direction:column;display:flex}.ov-stub__icon{border-radius:var(--radius-13);background:var(--color-surface-muted);width:52px;height:52px;color:var(--color-text-faint);justify-content:center;align-items:center;display:flex}.ov-stub__title{font-size:var(--text-16);font-weight:var(--weight-semibold);color:var(--color-text);margin:0}.ov-stub__text{font-size:var(--text-13);color:var(--color-text-secondary);text-wrap:pretty;max-width:420px;margin:0}.ov-stub--console .ov-stub__text{max-width:430px}.ov-stub__actions{gap:var(--space-9);margin-top:var(--space-4);display:flex}.ov-stub__back{font-size:var(--text-12-5);font-weight:var(--weight-semibold);color:#fff;background:var(--color-sidebar-deep);border-radius:var(--radius-8);padding:var(--space-9) var(--space-15);cursor:pointer;border:0;align-items:center;text-decoration:none;display:inline-flex}.ov-stub--console .ov-stub__back{background:var(--color-sidebar)}.ov-stub__back:hover{background:var(--ctl-dark-hover,#16305c);color:#fff;text-decoration:none}.ov-skeleton-block{gap:var(--space-10);padding:var(--space-4) 0;flex-direction:column;display:flex}.ov-stepper{margin:0;padding:0;list-style:none}.ov-stepper--chips{gap:var(--space-6);flex-wrap:wrap;display:flex}.ov-step-chip{align-items:center;gap:var(--space-8);font-size:var(--text-12);font-weight:var(--weight-medium);border-radius:var(--radius-9);padding:var(--space-8) var(--space-12);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary-strong);text-align:left;display:flex}button.ov-step-chip{cursor:pointer}button.ov-step-chip:hover:not(:disabled){background:var(--color-surface-subtle)}.ov-step-chip--current,button.ov-step-chip--current:hover:not(:disabled){border-color:var(--school-accent);background:var(--ov-step-current-bg);color:var(--color-accent-hover);font-weight:var(--weight-semibold)}.ov-step-chip:disabled{cursor:not-allowed;opacity:.7}.ov-step-num{width:20px;height:20px;font-size:var(--text-10-5);font-weight:var(--weight-bold);color:#fff;background:var(--ov-step-upcoming);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.ov-step--done .ov-step-num{background:var(--color-success-strong)}.ov-step--current .ov-step-num,.ov-step--running .ov-step-num{background:var(--school-accent)}.ov-step--failed .ov-step-num{background:var(--color-danger-strong)}.ov-stepper--list{flex-direction:column;gap:0;display:flex}.ov-step-row{gap:var(--space-12);padding:var(--space-10) 0;display:flex}.ov-step-row+.ov-step-row{border-top:1px solid var(--color-border-row)}.ov-step-row__body{flex:1;min-width:0}.ov-step-row__title{font-size:var(--text-12-5);font-weight:var(--weight-medium);color:var(--color-text-strong)}.ov-step--current .ov-step-row__title,.ov-step--running .ov-step-row__title{font-weight:var(--weight-semibold)}.ov-step--upcoming .ov-step-row__title,.ov-step--blocked .ov-step-row__title{color:var(--color-text-secondary)}.ov-step-row__desc{font-size:var(--text-11-5);color:var(--color-text-secondary);margin-top:var(--space-2)}.ov-step-row__error{font-size:var(--text-11-5);color:var(--color-danger-text);margin-top:var(--space-4);overflow-wrap:anywhere}.ov-status-screen{min-height:100vh;padding:var(--space-30) var(--space-16);background:var(--color-canvas);justify-content:center;align-items:center;display:flex}.ov-status-screen__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-modal);width:100%;max-width:460px;box-shadow:var(--shadow-card);padding:var(--space-30) 28px;text-align:center;align-items:center;gap:var(--space-10);flex-direction:column;display:flex}.ov-status-screen__icon{border-radius:var(--radius-14);width:48px;height:48px;margin-bottom:var(--space-4);background:var(--color-surface-muted);color:var(--color-text-secondary-strong);justify-content:center;align-items:center;display:flex}.ov-status-screen__icon--danger{background:var(--color-danger-tint);color:var(--color-danger-text)}.ov-status-screen__icon--warning{background:var(--color-warning-tint);color:var(--color-warning-text)}.ov-status-screen__title{font-size:19px;font-weight:var(--weight-bold);letter-spacing:-.015em;margin:0}.ov-status-screen__card p{font-size:var(--text-13);color:var(--color-text-secondary);text-wrap:pretty;margin:0}
