@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/cd79e1ff94fa521b-s.p.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/89362aa296165c6d-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e11f95d95ac59fa4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/00f4982f357db61e-s.p.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/62a3c74fa0e47362-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8201559e247ad180-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/2173e4bb28c315da-s.p.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c6f81e539d11fc99-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/25ab8995c98996d7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9ddf1512dbee9c99-s.p.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8247d8d2a376ae43-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e270c9fc4fe96f5a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/6bb6a9cb68044e10-s.p.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/9a3689a7cda641d2-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Be Vietnam Pro;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/bed26dc8a57eea87-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Be Vietnam Pro Fallback;src:local("Arial");ascent-override:90.61%;descent-override:24.01%;line-gap-override:0.00%;size-adjust:110.36%}.__className_383d88{font-family:Be Vietnam Pro,Be Vietnam Pro Fallback;font-style:normal}.__variable_383d88{--font-be-vietnam-pro:"Be Vietnam Pro","Be Vietnam Pro Fallback"}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-be-vietnam-pro),Be Vietnam Pro,Inter,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--navy-50:#EEF1F9;--navy-100:#D5DCF0;--navy-200:#ABB9E1;--navy-300:#7A93CE;--navy-400:#4D6FBA;--navy-500:#2E52A3;--navy-600:#1B3A8A;--navy-700:#162E6E;--navy-800:#0F1F4D;--navy-900:#091232;--gold-50:#FFFBEA;--gold-100:#FFF3C4;--gold-200:#FFE685;--gold-300:#FFD43B;--gold-400:#FFC107;--gold-500:#F5C118;--gold-600:#D4A012;--gold-700:#A87C0C;--gold-800:#7A5908;--gold-900:#4D3805;--ink:#111827;--body:#374151;--muted:#6B7280;--line:#E5E7EB;--line2:#EFF1F4;--page:#F9FAFB;--white:#FFFFFF;--success:#16A34A;--success-50:#F0FDF4;--success-100:#DCFCE7;--success-700:#15803D;--warning:#D97706;--warning-50:#FFFBEB;--warning-100:#FEF3C7;--warning-700:#B45309;--error:#DC2626;--error-50:#FEF2F2;--error-100:#FEE2E2;--error-700:#B91C1C;--info:#2563EB;--info-50:#EFF6FF;--info-100:#DBEAFE;--info-700:#1D4ED8;--role-student:var(--navy-600);--role-teacher:var(--gold-600);--role-parent:#2E7D6B;--role-head:#0F766E;--role-admin:#5A4FB0;--r-sm:6px;--r:8px;--r-lg:12px;--r-xl:16px;--r-pill:999px;--shadow-card:0 4px 16px rgba(15,31,77,0.08);--shadow-pop:0 10px 34px rgba(15,31,77,0.16);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:32px;--s-8:48px;--ease:cubic-bezier(0.4,0,0.2,1);--t:0.2s var(--ease);--t-slow:0.4s var(--ease);--font:var(--font-be-vietnam-pro),"Be Vietnam Pro","Inter",sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{font-family:var(--font);background:var(--page);color:var(--body);line-height:1.6}::-moz-selection{background:var(--gold-100);color:var(--navy-800)}::selection{background:var(--gold-100);color:var(--navy-800)}a{color:inherit;text-decoration:none}h1,h2,h3,h4{line-height:1.25;color:var(--navy-700);font-weight:700}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.t-h1{font-size:clamp(26px,3.2vw,32px);font-weight:800;color:var(--navy-700);letter-spacing:-.01em}.t-h2{font-size:22px}.t-h2,.t-h3{font-weight:700;color:var(--navy-700)}.t-h3{font-size:17px}.t-body{font-size:15px;font-weight:400;color:var(--body);line-height:1.6}.t-small{font-size:13px;font-weight:400}.t-label,.t-small{color:var(--muted)}.t-label{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.muted{color:var(--muted)}.btn{font-family:var(--font);font-size:14.5px;font-weight:600;height:40px;padding:0 18px;border-radius:var(--r);border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:var(--t);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn svg{width:17px;height:17px}.btn-primary{background:var(--navy-700);color:#fff}.btn-primary:hover{background:var(--navy-600)}.btn-gold{background:var(--gold-500);color:var(--navy-800)}.btn-gold:hover{background:var(--gold-600)}.btn-ghost{background:transparent;color:var(--navy-700)}.btn-ghost:hover{background:var(--navy-50)}.btn-outline{background:#fff;color:var(--navy-700);border-color:var(--line)}.btn-outline:hover{border-color:var(--navy-200);background:var(--navy-50)}.btn-danger{background:#fff;color:var(--error);border-color:var(--error-100)}.btn-danger:hover{background:var(--error);color:#fff;border-color:var(--error)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{height:32px;font-size:13px;padding:0 12px}.btn-sm svg{width:15px;height:15px}.btn-lg{height:48px;font-size:16px;padding:0 24px}.btn-block{width:100%}.icon-btn{width:38px;height:38px;border-radius:var(--r);border:1px solid var(--line);background:#fff;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--t);position:relative;flex-shrink:0}.icon-btn svg{width:18px;height:18px}.icon-btn:hover{background:var(--navy-50);color:var(--navy-700);border-color:var(--navy-200)}.icon-btn .dot{position:absolute;top:7px;right:8px;min-width:15px;height:15px;padding:0 3px;border-radius:999px;background:var(--error);color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center}.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px}.card-hover{transition:var(--t);cursor:pointer}.card-hover:hover{box-shadow:var(--shadow-card);border-color:var(--navy-200)}.card-accent{border-left:4px solid var(--gold-500)}.link{color:var(--navy-600);font-weight:600;text-decoration:none}.link:hover{text-decoration:underline}.chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 11px;border-radius:var(--r-pill);font-size:12.5px;font-weight:600;background:var(--navy-50);color:var(--navy-700)}.chip svg{width:13px;height:13px}.chip-gold{background:var(--gold-50);color:var(--gold-700)}.chip-green{background:var(--success-100);color:var(--success-700)}.chip-amber{background:var(--warning-100);color:var(--warning-700)}.chip-red{background:var(--error-100);color:var(--error-700)}.chip-blue{background:var(--info-100);color:var(--info-700)}.chip-gray{background:var(--line2);color:var(--muted)}.chip-btn{cursor:pointer;border:1px solid transparent;transition:var(--t)}.chip-btn:hover{border-color:var(--navy-200)}.chip-btn.active{background:var(--navy-700);color:#fff}.track{height:8px;background:var(--line2);overflow:hidden;width:100%}.track,.track>i{border-radius:999px}.track>i{display:block;height:100%;transition:width .6s var(--ease)}.field-label{display:block;font-size:12.5px;font-weight:600;color:var(--ink);margin-bottom:6px}.\!input{width:100%!important;font-family:var(--font)!important;font-size:14.5px!important;color:var(--ink)!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;padding:10px 13px!important;transition:var(--t)!important}.input,.select,.textarea{width:100%;font-family:var(--font);font-size:14.5px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:10px 13px;transition:var(--t)}.\!input::-moz-placeholder{color:var(--muted)!important}.\!input::placeholder{color:var(--muted)!important}.input::-moz-placeholder,.textarea::-moz-placeholder{color:var(--muted)}.input::placeholder,.textarea::placeholder{color:var(--muted)}.\!input:focus{outline:none!important;border-color:var(--navy-400)!important;box-shadow:0 0 0 3px rgba(46,82,163,.12)!important}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--navy-400);box-shadow:0 0 0 3px rgba(46,82,163,.12)}.textarea{resize:vertical;min-height:96px;line-height:1.6}.switch{position:relative;width:42px;height:24px;flex-shrink:0;cursor:pointer;display:inline-block}.switch input{display:none}.switch .track-sw{inset:0;background:#CBD2DE;border-radius:999px}.switch .thumb,.switch .track-sw{position:absolute;transition:var(--t)}.switch .thumb{top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:0 1px 2px rgba(0,0,0,.2)}.switch input:checked+.track-sw{background:var(--navy-600)}.switch input:checked+.track-sw+.thumb{transform:translateX(18px)}.shell{display:flex;height:100vh;overflow:hidden}.sidebar{width:248px;flex-shrink:0;background:var(--navy-800);display:flex;flex-direction:column;height:100%}.sidebar-logo{padding:20px 16px 16px}.sidebar-section{padding:8px 16px 6px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.4)}.sidebar-nav{flex:1;overflow-y:auto;padding:4px 16px;display:flex;flex-direction:column;gap:2px}.sidebar-foot{border-top:1px solid rgba(255,255,255,.08);padding:14px 16px;gap:10px}.nav-item,.sidebar-foot{display:flex;align-items:center}.nav-item{position:relative;gap:12px;padding:10px 12px;border-radius:var(--r);color:rgba(255,255,255,.72);font-size:14.5px;font-weight:500;cursor:pointer;transition:var(--t);width:100%;text-align:left;border:none;background:none;font-family:var(--font)}.nav-item svg{width:19px;height:19px;flex-shrink:0}.nav-item:hover{color:#fff;background:rgba(255,255,255,.06)}.nav-item.active{color:var(--gold-500);background:rgba(245,193,24,.14);font-weight:600}.nav-item.active:before{content:"";position:absolute;left:-16px;top:8px;bottom:8px;width:3px;border-radius:999px;background:var(--gold-500)}.card .nav-item:hover{color:var(--navy-700);background:var(--navy-50)}.nav-item .nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--gold-500);color:var(--navy-800);font-size:11px;font-weight:700;justify-content:center}.nav-item .nav-badge,.topbar{display:flex;align-items:center}.topbar{height:60px;flex-shrink:0;background:#fff;border-bottom:1px solid var(--line);padding:0 28px;justify-content:space-between;gap:16px}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}.breadcrumb b{color:var(--navy-700);font-weight:700}.main{flex:1;overflow-y:auto;background:var(--page)}.main-inner{max-width:1180px;margin:0 auto;padding:26px 34px 60px}.role-badge .dot{width:7px;height:7px;border-radius:50%}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}.stat-icon{width:40px;height:40px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg{width:20px;height:20px}.stat-value{font-size:30px;font-weight:800;color:var(--navy-700);line-height:1.1}.scrim{position:fixed;inset:0;z-index:100;background:rgba(15,31,77,.34);opacity:0;pointer-events:none;transition:opacity var(--t)}.scrim.open{opacity:1;pointer-events:auto}.scrim.\!open{opacity:1!important;pointer-events:auto!important}.sheet{position:fixed;top:0;right:0;bottom:0;z-index:110;width:440px;max-width:92vw;background:#fff;box-shadow:var(--shadow-pop);transform:translateX(100%);transition:transform var(--t-slow);display:flex;flex-direction:column}.sheet.open{transform:translateX(0)}.sheet.\!open{transform:translateX(0)!important}.sheet-head{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.sheet-body{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:18px}.sheet-foot{padding:16px 24px;border-top:1px solid var(--line);display:flex;gap:10px}.modal-box{position:fixed;left:50%;top:50%;transform:translate(-50%,-48%);z-index:110;width:440px;max-width:92vw;max-height:88vh;overflow-y:auto;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-pop);opacity:0;pointer-events:none;transition:opacity var(--t),transform var(--t)}.modal-box.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}.modal-box.\!open{opacity:1!important;pointer-events:auto!important;transform:translate(-50%,-50%)!important}.toast-wrap{position:fixed;bottom:20px;right:20px;z-index:200;display:flex;flex-direction:column;gap:10px}.toast{width:340px;background:#fff;border-radius:10px;box-shadow:var(--shadow-pop);padding:14px 16px;display:flex;align-items:flex-start;gap:12px;animation:toastIn .28s var(--ease)}.toast .toast-icon{width:32px;height:32px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;flex-shrink:0}.toast .toast-icon svg{width:17px;height:17px}.row{align-items:center}.col,.row{display:flex}.col{flex-direction:column}.between{justify-content:space-between}.center{display:flex;align-items:center;justify-content:center}.wrap{flex-wrap:wrap}.grow{flex:1}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}.gap-6{gap:24px}.grid-cards{display:grid;gap:16px}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.grid{display:grid}.hidden{display:none}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.rounded{border-radius:.25rem}.border{border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-relaxed{line-height:1.625}.line-through{text-decoration-line:line-through}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@keyframes toastIn{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.fade-up{animation:fadeUp .4s var(--ease)}.spin{animation:spin .9s linear infinite}.pulse{animation:pulse 1.6s var(--ease) infinite}