/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.block-2{block-size:calc(var(--spacing) * 2)}}:root{--navy:#12336a;--navy-2:#1c468c;--blue:#2563eb;--blue-ink:#1e40af;--pale:#f8fafd;--line:#e2e8f0;--ink:#0f172a;--muted:#64748b;--green:#15803d;--amber:#b45309;--red:#b91c1c}*{box-sizing:border-box}body{background:var(--pale);color:var(--ink);margin:0;font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}.recovery-loading{min-height:100dvh;color:var(--muted);place-items:center;display:grid}.login-screen{background:#0f2854;grid-template-columns:1.15fr .85fr;min-height:100dvh;display:grid}.login-intro{color:#fff;background:radial-gradient(circle at 20% 12%,#315ed2 0,#0000 34%),linear-gradient(135deg,#12336a,#0b2147);padding:13vh max(6vw,48px)}.login-kicker{letter-spacing:.13em;color:#c7d7f5;font-size:12px}.login-intro h1{letter-spacing:-.06em;margin:28px 0 18px;font-size:clamp(44px,5vw,72px);line-height:1.08}.login-intro p{color:#dbeafe;font-size:19px}.login-intro small{color:#c7d7f5;max-width:340px;margin-top:18vh;line-height:1.8;display:block}.login-form{background:#fff;border-radius:18px;width:min(420px,88%);margin:auto;padding:45px;box-shadow:0 24px 70px #00184555}.login-logo{background:var(--blue);color:#fff;border-radius:13px;place-items:center;width:46px;height:46px;font-weight:800;display:grid}.login-form h2{margin:22px 0 7px}.login-form p,.login-form small{color:var(--muted)}.login-form label{color:#475569;margin-top:22px;font-size:12px;font-weight:700;display:block}.login-form input{border:1px solid #cbd5e1;margin:7px 0 14px;padding:0 13px}.login-form input,.login-form>button{border-radius:8px;width:100%;height:46px}.login-form>button{background:var(--blue);color:#fff;font-weight:700}.login-form small{text-align:center;margin-top:16px;font-size:12px;display:block}.login-error{color:var(--red);margin-top:12px;font-size:12px;display:block}.recovery-app{background:#f8fafc;min-height:100dvh;display:flex}.recovery-sidebar{color:#dbeafe;z-index:2;background:linear-gradient(#12336a,#0d2c60);flex-direction:column;width:220px;padding:25px 13px 18px;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:2px 0 12px #0f2f6615}.brand-lockup{color:#fff;align-items:center;gap:10px;padding:0 12px 29px;display:flex}.brand-lockup b{letter-spacing:.01em;font-size:15px;display:block}.brand-lockup small{color:#88a6d3;margin-top:3px;font-size:10px;display:block}.brand-symbol{border:1.5px solid #dbeafe;border-radius:8px;justify-content:center;align-items:flex-end;gap:3px;width:29px;height:29px;padding:6px;display:flex}.brand-symbol span{background:#dbeafe;border-radius:2px;width:3px}.brand-symbol span:first-child{height:8px}.brand-symbol span:nth-child(2){height:13px}.brand-symbol span:nth-child(3){height:18px}.side-nav{gap:3px;display:grid}.side-nav button,.system-link{color:#c7d7f5;text-align:left;background:0 0;border-radius:7px;align-items:center;gap:11px;width:100%;height:42px;padding:0 13px;font-size:13px;transition:all .18s;display:flex}.side-nav button:hover,.system-link:hover{color:#fff;background:#ffffff12}.side-nav button.is-active{color:#fff;background:#315ed2;font-weight:700;box-shadow:inset 3px 0 #dbeafe}.side-nav em{color:#fff;background:#ef4444;border-radius:10px;place-items:center;min-width:18px;height:18px;margin-left:auto;font-size:10px;font-style:normal;display:grid}.side-bottom{margin-top:auto}.system-link{border-top:1px solid #fff2;border-radius:0;height:52px;padding-top:16px}.system-state{color:#c7d7f5;grid-template-columns:10px 1fr;column-gap:7px;margin:11px 13px 16px;font-size:11px;display:grid}.system-state i{background:#22c55e;border-radius:50%;width:7px;height:7px;margin-top:3px}.system-state small{color:#88a6d3;grid-column:2;margin-top:3px;font-size:10px}.profile-box{text-align:left;color:#fff;background:#0d2b5c;border-radius:8px;align-items:center;gap:8px;width:100%;padding:10px 9px;display:flex}.profile-box>span{color:#1e40af;background:#c7d7f5;border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:grid}.profile-box div{flex:1}.profile-box b,.profile-box small{font-size:11px;display:block}.profile-box small{color:#88a6d3;margin-top:2px;font-size:10px}.recovery-main{width:calc(100% - 220px);min-width:0;margin-left:220px;padding:0 32px 42px}.topbar{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;height:72px;display:flex}.breadcrumb{font-size:13px}.breadcrumb span{color:var(--muted)}.breadcrumb b{color:#cbd5e1;margin:0 8px}.breadcrumb strong{font-weight:700}.topbar-actions{align-items:center;gap:12px;display:flex}.date-chip,.notification{color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:6px;height:34px;padding:0 10px;font-size:12px;display:flex}.notification{justify-content:center;width:34px;padding:0}.role-switch select{color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:6px;height:34px;padding:0 8px;font-size:12px}.recovery-toast{z-index:20;color:#fff;background:#0f172a;border-radius:8px;align-items:center;gap:16px;padding:11px 14px;font-size:13px;display:flex;position:fixed;top:83px;right:30px;box-shadow:0 10px 20px #0f172a33}.recovery-toast button{color:#fff;background:0 0;font-size:18px}.dashboard-heading{justify-content:space-between;align-items:flex-end;padding:27px 0 20px;display:flex}.dashboard-heading h1{letter-spacing:-.04em;margin:0;font-size:25px}.dashboard-heading p{color:var(--muted);margin:8px 0 0;font-size:13px}.dashboard-heading>div:last-child{gap:9px;display:flex}.outline-action,.primary-action{border-radius:6px;align-items:center;gap:6px;height:36px;padding:0 13px;font-size:12px;font-weight:700;display:inline-flex}.primary-action{background:var(--blue);color:#fff;box-shadow:0 3px 8px #2563eb33}.outline-action{color:#475569;background:#fff;border:1px solid #cbd5e1}.workflow-bar{color:#1e40af;white-space:nowrap;background:#eff6ff;border:1px solid #c7d7f5;border-radius:8px;justify-content:center;align-items:center;gap:11px;height:48px;font-size:12px;display:flex;overflow:hidden}.workflow-bar span{font-weight:600}.workflow-warning{color:#b45309!important}.workflow-bar svg{color:#7aa0e9;flex:none}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:13px;margin:16px 0 25px;display:grid}.finance-kpi,.kpi-card{background:#fff;border:1px solid #e2e8f0;border-radius:9px;box-shadow:0 2px 6px #0f172a08}.kpi-card{gap:12px;min-height:104px;padding:17px;display:flex}.kpi-icon{border-radius:8px;flex:none;place-items:center;width:35px;height:35px;display:grid}.kpi-icon svg{width:18px}.kpi-icon.blue{color:#2563eb;background:#dbeafe}.kpi-icon.purple{color:#7c3aed;background:#ede9fe}.kpi-icon.orange{color:#ea580c;background:#fff7ed}.kpi-icon.green{color:#15803d;background:#dcfce7}.finance-kpi small,.kpi-card small{color:#64748b;font-size:12px;display:block}.kpi-card b{margin:5px 0;font-size:23px;display:block}.finance-kpi em,.kpi-card em{color:#16a34a;font-size:10px;font-style:normal}.section-title{justify-content:space-between;align-items:flex-end;margin:0 0 12px;display:flex}.section-title h2,.surface h2{margin:0;font-size:16px}.progress-card>p,.section-title p,.surface header p{color:var(--muted);margin:5px 0 0;font-size:11px}.section-title button,.surface header>button{color:#2563eb;background:0 0;align-items:center;gap:3px;font-size:12px;display:flex}.finance-overview{grid-template-columns:1.45fr 1fr 1fr;gap:13px;display:grid}.collection-card{color:#fff;background:linear-gradient(115deg,#1e40af,#2563eb);border-radius:9px;min-height:158px;padding:20px;position:relative;overflow:hidden}.collection-card>div:first-child{z-index:1;position:relative}.collection-card span{color:#dbeafe;font-size:12px}.collection-card b{margin:9px 0;font-size:28px;display:block}.collection-card small{color:#dbeafe;font-size:11px}.collection-card small i{background:#86efac;border-radius:50%;width:7px;height:7px;display:inline-block}.collection-wave{border:35px solid #ffffff18;border-radius:50%;width:210px;height:210px;position:absolute;top:-35px;right:-25px}.collection-card footer{color:#dbeafe;gap:20px;font-size:10px;display:flex;position:absolute;bottom:14px}.settlement-card{background:#fff;border:1px solid #e2e8f0;border-radius:9px;min-height:158px;padding:20px;position:relative}.settlement-card span{color:#64748b;font-size:12px;display:block}.settlement-card b{margin:10px 0 5px;font-size:21px;display:block}.settlement-card small{color:#94a3b8;font-size:10px}.settlement-card em{color:#15803d;font-size:10px;font-style:normal;position:absolute;bottom:14px;right:14px}.mini-progress,.progress{background:#e2e8f0;border-radius:5px;height:5px;overflow:hidden}.settlement-card .progress{position:absolute;bottom:17px;left:20px;right:20px}.mini-progress i,.progress i{background:#2563eb;border-radius:5px;height:100%;display:block}.progress.warm i{background:#f59e0b}.dashboard-columns{grid-template-columns:1.4fr 1fr;gap:13px;margin-top:19px;display:grid}.surface{background:#fff;border:1px solid #e2e8f0;border-radius:9px;box-shadow:0 2px 6px #0f172a06}.surface>header{justify-content:space-between;align-items:flex-start;padding:18px 19px 13px;display:flex}.trend-surface{min-height:284px}.chart{height:174px;padding:0 18px 0 43px;position:relative}.chart svg{background:repeating-linear-gradient(#0000 0 35px,#f1f5f9 36px);border-bottom:1px solid #e2e8f0;width:100%;height:146px}.chart-labels{flex-direction:column;height:146px;position:absolute;top:1px;left:18px}.chart-days,.chart-labels{color:#94a3b8;justify-content:space-between;font-size:9px;display:flex}.chart-days{padding-top:4px}.trend-surface footer{color:#64748b;gap:15px;padding:0 19px 16px;font-size:10px;display:flex}.legend{border-radius:4px;width:12px;height:3px;margin:0 5px 2px 0;display:inline-block}.legend.blue{background:#2563eb}.legend.gray{background:#94a3b8}.rank-row,.risk-row,.teacher-load{border-top:1px solid #f1f5f9;align-items:center;gap:9px;margin:0 19px;padding:10px 0;display:flex}.rank-row strong{color:#94a3b8;width:15px;font-size:12px}.rank-avatar,.teacher-avatar{border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;font-weight:800;display:grid}.rank-avatar.a0,.teacher-avatar.t0{color:#1e40af;background:#dbeafe}.rank-avatar.a1,.teacher-avatar.t1{color:#b45309;background:#fef3c7}.rank-avatar.a2,.teacher-avatar.t2{color:#7c3aed;background:#ede9fe}.rank-avatar.a3,.teacher-avatar.t3{color:#15803d;background:#dcfce7}.rank-row div,.risk-row div,.teacher-load div:nth-child(2){flex:1;min-width:0}.rank-row b,.risk-row b,.teacher-load b{font-size:12px;display:block}.rank-row small,.risk-row small,.teacher-load small{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:10px;display:block;overflow:hidden}.rank-row em{color:#1e40af;font-size:11px;font-style:normal;font-weight:700}.bottom-columns{grid-template-columns:1fr 1fr}.teacher-load em{color:#64748b;font-size:10px;font-style:normal}.risk-icon{color:#b45309;background:#fff7ed;border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.risk-icon.high{color:#b91c1c;background:#fef2f2}.risk-row em{color:#b45309;font-size:10px;font-style:normal}.all-good{color:#15803d;gap:8px;padding:25px;font-size:12px;display:flex}.confirm-layer{z-index:50;background:#0f172a88;place-items:center;display:grid;position:fixed;inset:0}.confirm-layer section{background:#fff;border-radius:12px;width:min(390px,100vw - 32px);padding:24px;box-shadow:0 20px 55px #0004}.confirm-layer h2{margin:0;font-size:18px}.confirm-layer p{color:#64748b;font-size:13px;line-height:1.6}.confirm-layer footer{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.confirm-layer footer button{color:#475569;background:#f1f5f9;border-radius:6px;padding:8px 12px}.confirm-layer footer .danger{color:#fff;background:#b91c1c}.finance-heading{padding-bottom:19px}.finance-kpis{grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:17px;display:grid}.finance-kpi{min-height:116px;padding:17px;position:relative}.finance-kpi>span{border-radius:8px;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:15px;right:16px}.finance-kpi>span.blue{color:#2563eb;background:#dbeafe}.finance-kpi>span.amber{color:#b45309;background:#fef3c7}.finance-kpi>span.purple{color:#7c3aed;background:#ede9fe}.finance-kpi>span.green{color:#15803d;background:#dcfce7}.finance-kpi b{margin:8px 0;font-size:22px;display:block}.finance-kpi em{color:#64748b;font-size:10px}.finance-work-area{grid-template-columns:minmax(0,1.65fr) minmax(275px,.72fr);gap:14px;display:grid}.finance-table{overflow:hidden}.finance-table header{padding-bottom:13px}.table-more{color:#475569!important;border:1px solid #e2e8f0!important;border-radius:5px!important;padding:7px 9px!important}.table-tools{border-bottom:1px solid #e2e8f0;gap:8px;padding:0 19px 14px;display:flex}.table-tools label{color:#94a3b8;border:1px solid #e2e8f0;border-radius:5px;flex:1;align-items:center;gap:7px;max-width:225px;height:32px;padding:0 9px;display:flex}.table-tools input{border:0;outline:0;width:100%;font-size:11px}.table-tools button{color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:5px;align-items:center;gap:5px;height:32px;padding:0 9px;font-size:11px;display:flex}.finance-table-scroll{overflow:auto}.finance-table table{border-collapse:collapse;width:100%;min-width:570px}.finance-table th{text-align:left;color:#64748b;background:#f8fafc;height:36px;padding:0 19px;font-size:10px;font-weight:600}.finance-table td{border-top:1px solid #f1f5f9;padding:13px 19px;font-size:12px}.finance-table td b{font-size:12px;display:block}.finance-table td small{color:#94a3b8;margin-top:3px;font-size:10px;display:block}.finance-table td strong{font-size:12px}.status{border-radius:4px;padding:4px 7px;font-size:10px;display:inline-block}.status.pending{color:#b45309;background:#fff7ed}.status.internal{color:#2563eb;background:#eff6ff}.status.done{color:#15803d;background:#f0fdf4}.confirm-link{color:#2563eb;white-space:nowrap;background:0 0;align-items:center;gap:2px;font-size:11px;display:flex}.finance-footnote{color:#1e40af;background:#eff6ff;justify-content:space-between;align-items:center;padding:11px 19px;font-size:10px;display:flex}.finance-footnote i{background:#2563eb;border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.finance-aside{align-content:start;gap:14px;display:grid}.today-card{padding-bottom:8px}.today-card header{padding-bottom:10px}.today-card header>span{color:#b45309;background:#fef3c7;border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:grid}.today-item{border-top:1px solid #f1f5f9;gap:10px;margin:0 18px;padding:12px 0;display:flex}.today-item>i{background:#f59e0b;border-radius:50%;width:7px;height:7px;margin-top:5px}.today-item>i.blue{background:#2563eb}.today-item div{flex:1}.today-item b{font-size:12px}.today-item small{color:#64748b;margin-top:3px;font-size:10px;line-height:1.5;display:block}.today-card>button{color:#2563eb;background:0 0;align-items:center;gap:3px;margin:8px 18px 9px;font-size:11px;display:flex}.progress-card{padding:18px}.progress-card h2{margin:0;font-size:15px}.circle-progress{text-align:center;background:radial-gradient(closest-side,#fff 76%,transparent 77% 100%),conic-gradient(#2563eb 0 74%,#dbeafe 74% 100%);border-radius:50%;place-content:center;width:104px;height:104px;margin:17px auto;display:grid}.circle-progress b{font-size:20px}.circle-progress span{color:#64748b;margin-top:3px;font-size:10px}.progress-card>div:last-child p{color:#64748b;justify-content:space-between;margin:9px 0;font-size:10px;display:flex}.progress-card>div:last-child b{color:#334155}.trace-card{color:#1e40af;background:#eff6ff;border-radius:9px;gap:10px;padding:15px;display:flex}.trace-card b{font-size:12px}.trace-card p{color:#315ed2;margin:4px 0 0;font-size:10px;line-height:1.5}.teacher-phone-shell{background:#e2e8f0;place-items:center;min-height:100dvh;padding:20px;display:grid}.teacher-phone{background:#f8fafc;width:390px;min-height:844px;padding:25px 18px 84px;position:relative;overflow:hidden;box-shadow:0 10px 35px #0f172a33}.mobile-header{justify-content:space-between;align-items:flex-start;display:flex}.mobile-header span{color:#64748b;font-size:11px}.mobile-header h1{letter-spacing:-.05em;margin:5px 0;font-size:25px}.mobile-header p{color:#64748b;margin:0;font-size:12px}.mobile-header button{color:#1e40af;background:#eff6ff;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.mobile-notice{color:#fff;background:#0f172a;border-radius:7px;justify-content:space-between;gap:8px;margin-top:12px;padding:9px 10px;font-size:11px;display:flex}.mobile-notice button{color:#fff;background:0 0}.mobile-info{border-radius:7px;gap:8px;margin-top:17px;padding:10px;display:flex}.mobile-info svg{flex:none;margin-top:1px}.mobile-info p{margin:0;font-size:11px;line-height:1.5}.mobile-info.blue{color:#1e40af;background:#eff6ff}.mobile-info.orange{color:#9a3412;background:#fff7ed;margin-top:8px}.today-summary{background:#fff;border:1px solid #e2e8f0;border-radius:9px;grid-template-columns:repeat(3,1fr);margin-top:14px;padding:13px 0;display:grid;box-shadow:0 2px 5px #0f172a08}.today-summary article{text-align:center;border-left:1px solid #e2e8f0}.today-summary article:first-child{border:0}.today-summary small,.today-summary span{color:#64748b;font-size:10px;display:block}.today-summary b{color:#0f172a;margin:4px 2px 0;font-size:21px}.course-choice header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.course-choice h2{margin:0;font-size:15px}.course-choice header span{color:#64748b;font-size:11px}.course-option{text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:9px;width:100%;margin-top:8px;padding:11px;display:flex}.course-option.selected{background:#eff6ff;border:1.5px solid #2563eb}.course-option.completed{opacity:.72}.course-check{color:#fff;border:1px solid #cbd5e1;border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.selected .course-check{background:#2563eb;border-color:#2563eb}.course-time{width:40px}.course-student b,.course-time b{font-size:13px;display:block}.course-student small,.course-time small{color:#64748b;align-items:center;gap:2px;margin-top:3px;font-size:10px;display:flex}.course-student{flex:1}.lesson-state{color:#b45309;white-space:nowrap;background:#fff7ed;border-radius:4px;padding:4px 6px;font-size:9px}.lesson-state.done{color:#15803d;background:#ecfdf5}.confirm-course{background:#fff;border:1px solid #e2e8f0;border-radius:9px;margin-top:16px;padding:14px;box-shadow:0 2px 5px #0f172a08}.confirm-course header{justify-content:space-between;align-items:flex-start;display:flex}.confirm-course header span:first-child{color:#64748b;font-size:10px}.confirm-course h2{margin:4px 0 0;font-size:15px}.student-meta{border-bottom:1px solid #e2e8f0;align-items:center;gap:8px;padding:12px 0;display:flex}.mobile-avatar{color:#1e40af;background:#dbeafe;border-radius:50%;place-items:center;width:29px;height:29px;font-size:11px;font-weight:800;display:grid}.student-meta div{flex:1}.student-meta b{font-size:12px;display:block}.student-meta small{color:#64748b;margin-top:3px;font-size:10px;display:block}.student-meta svg{color:#94a3b8}.duration-row{justify-content:space-between;align-items:center;padding:13px 0;display:flex}.duration-row b{font-size:12px;display:block}.duration-row small{color:#64748b;margin-top:3px;font-size:10px;display:block}.duration-picker{gap:4px;display:flex}.duration-picker button{color:#64748b;background:#f1f5f9;border-radius:4px;width:31px;height:27px;font-size:11px}.duration-picker button.active{color:#fff;background:#2563eb}.lesson-note{color:#334155;font-size:11px;display:block}.lesson-note small{color:#94a3b8}.lesson-note textarea{resize:none;border:1px solid #e2e8f0;border-radius:5px;width:100%;height:47px;margin-top:6px;padding:8px;font-size:10px;line-height:1.4;display:block}.confirm-button{color:#fff;background:#2563eb;border-radius:6px;justify-content:center;align-items:center;gap:6px;width:100%;height:39px;margin-top:12px;font-size:12px;font-weight:700;display:flex}.confirm-button:disabled{color:#15803d;cursor:not-allowed;background:#dcfce7}.deduct-hint{color:#64748b;justify-content:center;align-items:center;gap:4px;margin:9px 0 0;font-size:9px;display:flex}.mobile-nav{background:#fff;border-top:1px solid #e2e8f0;grid-template-columns:repeat(4,1fr);height:64px;display:grid;position:absolute;bottom:0;left:0;right:0}.mobile-nav button{color:#94a3b8;background:0 0;place-content:center;justify-items:center;gap:3px;font-size:9px;display:grid}.mobile-nav button.active{color:#2563eb}.mobile-nav svg{width:19px}@media (max-width:1050px){.workflow-bar{justify-content:flex-start;padding:0 14px}.finance-kpis,.kpi-grid{grid-template-columns:repeat(2,1fr)}.finance-overview{grid-template-columns:1fr 1fr}.collection-card{grid-column:span 2}.bottom-columns,.dashboard-columns,.finance-work-area{grid-template-columns:1fr}.finance-aside{grid-template-columns:1fr 1fr}.trace-card{grid-column:span 2}}@media (max-width:720px){.login-screen{grid-template-columns:1fr}.login-intro{display:none}.recovery-app{display:block}.recovery-sidebar{display:none}.recovery-main{width:100%;margin:0;padding:0 14px 26px}.topbar{height:60px}.date-chip{display:none}.workflow-bar{font-size:10px}.dashboard-heading{flex-direction:column;align-items:flex-start;gap:15px}.dashboard-heading h1{font-size:22px}.finance-kpis,.finance-overview,.kpi-grid{grid-template-columns:1fr}.collection-card{grid-column:auto}.finance-aside{grid-template-columns:1fr}.trace-card{grid-column:auto}.dashboard-columns{margin-top:14px}.topbar-actions{gap:7px}.role-switch select{max-width:93px}.teacher-phone-shell{place-items:start;padding:0}.teacher-phone{width:100%;min-height:100dvh;box-shadow:none}}@media (max-width:390px){.teacher-phone{padding-left:14px;padding-right:14px}.course-student small{max-width:115px}.course-time{width:36px}}.dashboard-primary-row{grid-template-columns:1.03fr 1fr;gap:13px;margin-top:17px;display:grid}.revenue-surface{background:#fff;border:1px solid #e2e8f0;border-radius:9px;min-height:274px;padding:0 19px 15px;box-shadow:0 2px 6px #0f172a06}.revenue-surface .section-title{margin:16px 0 11px}.revenue-surface .section-title h2{font-size:16px}.revenue-surface .collection-card{min-height:88px;padding:15px}.revenue-surface .collection-card span{font-size:11px}.revenue-surface .collection-card b{margin:6px 0;font-size:22px}.revenue-surface .collection-card small{font-size:10px}.revenue-surface .collection-wave{border-width:28px;width:160px;height:160px;top:-48px;right:-16px}.revenue-surface .collection-card footer{font-size:9px;bottom:12px}.revenue-minis{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.revenue-minis article{background:#f8fafc;border-radius:7px;height:89px;padding:12px;position:relative}.revenue-minis article:nth-child(2){background:#fff7ed}.revenue-minis span{color:#64748b;font-size:10px;display:block}.revenue-minis b{margin:6px 0 3px;font-size:18px;display:block}.revenue-minis small{color:#94a3b8;font-size:9px}.revenue-minis .progress{position:absolute;bottom:9px;left:12px;right:12px}.dashboard-primary-row .trend-surface{min-height:274px}.dashboard-primary-row .chart{height:166px}.dashboard-primary-row .chart svg{background:repeating-linear-gradient(#0000 0 33px,#f1f5f9 34px);height:138px}.dashboard-primary-row .chart-labels{height:138px}.bottom-columns,.dashboard-columns{grid-template-columns:repeat(3,1fr)}.mini-progress{width:55px}.teacher-phone{padding-top:7px}.mobile-status{color:#0f172a;justify-content:space-between;height:22px;font-size:11px;display:flex}.mobile-status span{letter-spacing:1px;font-size:9px}.mobile-header h1{margin:4px 0}.mobile-header p{font-size:11px}.mobile-info{margin-top:13px;padding:9px 10px}.mobile-info p{line-height:1.45}.course-choice{margin-top:19px}.course-option{margin-top:7px;padding:10px}.confirm-course{margin-top:15px}.student-meta{padding:10px 0}.duration-row{padding:11px 0}.lesson-note textarea{height:43px}.confirm-button{margin-top:10px}.deduct-hint{margin-top:8px}@media (max-width:1050px){.bottom-columns,.dashboard-columns,.dashboard-primary-row{grid-template-columns:1fr}}@media (max-width:720px){.bottom-columns,.dashboard-columns,.dashboard-primary-row{grid-template-columns:1fr}}.page-heading{padding-bottom:24px}.four-stat-row{grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 22px;display:grid}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;min-height:108px;padding:17px;box-shadow:0 2px 7px #0f172a08}.stat-card small{color:#64748b;font-size:12px;display:block}.stat-card b{letter-spacing:-.03em;margin:9px 0 4px;font-size:27px;display:block}.stat-card b em{color:#64748b;margin-left:4px;font-size:12px;font-style:normal}.stat-card p{color:#15803d;margin:0;font-size:11px}.student-detail-layout{grid-template-columns:286px minmax(0,1fr);gap:22px;display:grid}.entity-list{align-self:start;padding:20px}.entity-list h2{margin:0;font-size:17px}.entity-list>p{color:#64748b;margin:6px 0 15px;font-size:11px}.compact-filters label,.entity-list label{color:#94a3b8;border:1px solid #cbd5e1;border-radius:7px;align-items:center;gap:6px;height:39px;padding:0 9px;display:flex}.compact-filters input,.entity-list input{border:0;outline:0;width:100%;font-size:11px}.entity-list>button{text-align:left;background:0 0;border-bottom:1px solid #e2e8f0;align-items:center;gap:9px;width:100%;padding:12px 8px;display:flex}.entity-list>button.selected{background:#eff6ff;border:1px solid #93c5fd;border-radius:8px;margin:10px 0}.entity-list>button>span,.simple-row>span{color:#1e40af;background:#dbeafe;border-radius:50%;place-items:center;width:30px;height:30px;font-size:12px;font-weight:800;display:grid}.entity-list button div{min-width:0}.entity-list b{font-size:12px;display:block}.entity-list small{color:#64748b;margin-top:4px;font-size:10px;display:block}.entity-tip{color:#9a3412;background:#fff7ed;border-radius:8px;margin-top:24px;padding:14px;font-size:11px;line-height:1.5}.entity-tip p{color:#64748b;margin:4px 0 0}.student-main-detail{min-width:0}.student-profile{align-items:center;gap:15px;margin-bottom:22px;padding:21px;display:flex}.student-profile>span:first-child{color:#1e40af;background:#dbeafe;border-radius:50%;place-items:center;width:52px;height:52px;font-size:19px;font-weight:800;display:grid}.student-profile>div:nth-child(2){flex:1}.student-profile h1{margin:0;font-size:22px}.student-profile p{color:#64748b;margin:6px 0 11px;font-size:11px}.profile-pill{color:#2563eb;background:#eff6ff;border-radius:14px;margin-left:6px;padding:5px 9px;font-size:10px}.relation{border-left:1px solid #e2e8f0;min-width:220px;padding-left:24px}.relation b{font-size:12px}.relation p{margin:6px 0 0;line-height:1.7}.profile-actions{gap:10px;min-width:152px;display:grid}.student-content-grid{grid-template-columns:1fr 274px;gap:22px;display:grid}.account-card{padding:22px}.account-card header h2,.timeline-card h2{margin:0;font-size:17px}.account-card header p,.timeline-card>p{color:#64748b;margin:6px 0 18px;font-size:11px}.agent-summary,.handover-stats,.student-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 25px;display:grid}.agent-summary .stat-card,.handover-stats .stat-card,.student-stats .stat-card{min-height:93px;box-shadow:none;background:#eff6ff;border:0}.student-stats .stat-card:nth-child(2){background:#ecfdf5}.student-stats .stat-card:nth-child(3){background:#fff7ed}.agent-summary .stat-card b,.handover-stats .stat-card b,.student-stats .stat-card b{font-size:24px}.account-card h3,.agent-detail h3,.handover-card h3{margin:20px 0 10px;font-size:14px}.order-strip{background:#f8fbff;border:1px solid #dbeafe;border-radius:8px;padding:14px}.order-strip b{font-size:12px}.order-strip p{color:#64748b;margin:7px 0;font-size:10px}.inline-link,.order-strip button{color:#2563eb;background:0 0;align-items:center;gap:3px;font-size:11px;display:flex}.future-lesson{border-top:1px solid #e2e8f0;grid-template-columns:1.15fr 1fr auto;align-items:center;padding:13px 18px;font-size:12px;display:grid}.future-lesson span{color:#475569}.student-rule{color:#1e40af;background:#eff6ff;border-radius:8px;margin-top:19px;padding:13px;font-size:11px}.student-rule p{color:#64748b;margin:5px 0 0}.timeline-card{padding:22px}.timeline{border-left:2px solid #bfdbfe;gap:11px;margin-left:6px;padding:14px 0 14px 15px;display:flex}.timeline i{background:#2563eb;border-radius:50%;width:12px;height:12px;margin-top:3px;margin-left:-22px}.timeline i.green{background:#16a34a}.timeline i.amber{background:#f59e0b}.timeline b{font-size:12px}.timeline p{color:#64748b;margin:5px 0;font-size:10px}.timeline-card>.outline-action{justify-content:center;width:100%;margin-top:15px}.inline-link{margin-top:14px}.agent-page-grid,.exception-grid,.teacher-page-grid{grid-template-columns:minmax(0,1.6fr) minmax(290px,.8fr);gap:20px;display:grid}.list-table{overflow:hidden}.ledger-table header,.list-table header{justify-content:space-between;align-items:flex-start;padding:18px 20px;display:flex}.ledger-table h2,.list-table h2{margin:0;font-size:17px}.ledger-table header p,.list-table header p{color:#64748b;margin:6px 0 0;font-size:11px}.compact-filters{gap:8px;display:flex}.compact-filters label{width:185px;height:34px}.compact-filters button{color:#64748b;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:5px;padding:0 9px;font-size:11px;display:flex}.ledger-table table,.list-table table,.permission-card table{border-collapse:collapse;width:100%}.ledger-table th,.list-table th,.permission-card th{text-align:left;color:#64748b;background:#f1f5f9;height:38px;padding:0 18px;font-size:11px}.ledger-table td,.list-table td,.permission-card td{border-bottom:1px solid #e2e8f0;padding:12px 18px;font-size:11px}.ledger-table td small,.list-table td small{color:#94a3b8;margin-top:4px;font-size:10px;display:block}.active-row{background:#f8fbff}.name-cell{text-align:left;background:0 0;align-items:center;gap:8px;display:flex}.name-cell>span{color:#1e40af;background:#dbeafe;border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;font-weight:800;display:grid}.name-cell b{font-size:12px}.agent-detail,.handover-card{padding:20px}.agent-detail header,.handover-card header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.agent-detail h2,.handover-card h2{margin:0;font-size:16px}.agent-detail header p,.handover-card header p{color:#64748b;margin:6px 0;font-size:11px}.handover-note{color:#9a3412;background:#fff7ed;border-radius:7px;margin:17px 0;padding:13px;font-size:11px}.handover-note p{color:#64748b;margin:4px 0 0}.handover-card ul{color:#64748b;padding-left:17px;font-size:11px;line-height:1.9}.wide{justify-content:center;width:100%}.agent-detail .agent-summary{margin-top:18px}.agent-detail .stat-card{padding:12px}.simple-row{border-top:1px solid #e2e8f0;align-items:center;gap:8px;padding:10px 0;font-size:11px;display:flex}.simple-row small{color:#64748b;margin-left:auto}.history-note{border-radius:7px;padding:12px;font-size:11px;line-height:1.5}.history-note,.scheduling-rule{color:#1e40af;background:#eff6ff}.scheduling-rule{border:1px solid #bfdbfe;border-radius:8px;align-items:center;gap:10px;margin-bottom:17px;padding:13px 16px;display:flex}.scheduling-rule div{flex:1}.scheduling-rule b{font-size:12px}.scheduling-rule p{color:#475569;margin:3px 0 0;font-size:11px}.scheduling-rule span{color:#15803d;font-size:10px}.schedule-board header{justify-content:space-between;padding:18px 20px;display:flex}.schedule-board h2{margin:0;font-size:17px}.schedule-board p{color:#64748b;margin:5px 0;font-size:11px}.week-strip{border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;grid-template-columns:repeat(7,1fr);display:grid}.week-strip button{color:#475569;background:#fff;border-right:1px solid #e2e8f0;min-height:55px}.week-strip button.today{color:#1e40af;background:#eff6ff}.week-strip b,.week-strip span{font-size:11px;display:block}.week-strip span{margin-top:4px;font-size:10px}.schedule-grid{grid-template-columns:68px repeat(3,1fr);min-height:280px;display:grid}.times{color:#94a3b8;grid-template-rows:repeat(7,1fr);padding:33px 9px 9px;font-size:10px;display:grid}.teacher-lane{background:repeating-linear-gradient(#0000 0 39px,#f1f5f9 40px);border-left:1px solid #e2e8f0;padding-top:10px;position:relative}.teacher-lane>b{padding:0 10px;font-size:11px;display:block}.intent-block,.lesson-block{color:#1e40af;background:#dbeafe;border-radius:5px;padding:7px;font-size:10px;position:absolute;left:9px;right:9px}.intent-block small,.lesson-block small{margin-top:3px;font-size:9px;display:block}.block-0{top:52px}.block-1{color:#15803d;background:#dcfce7;top:110px}.block-2{color:#6d28d9;background:#ede9fe;top:150px}.conflict{color:#b91c1c;background:#fef2f2;top:211px}.intent-block{color:#b45309;background:#fff7ed;top:130px}.schedule-bottom{grid-template-columns:1fr 1.3fr;gap:18px;margin-top:18px;display:grid}.conflict-card,.queue-card{padding:18px}.conflict-card header,.queue-card header{justify-content:space-between;display:flex}.conflict-card h2,.queue-card h2{margin:0;font-size:16px}.conflict-card header p,.queue-card header p{color:#64748b;margin:5px 0;font-size:11px}.conflict-card>div{border-top:1px solid #e2e8f0;padding:13px 0;font-size:11px}.conflict-card p{color:#64748b;margin:5px 0}.queue-row{border-top:1px solid #e2e8f0;align-items:center;gap:9px;padding:10px 0;display:flex}.queue-row>span{color:#1e40af;background:#dbeafe;border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;display:grid}.queue-row div{flex:1}.queue-row b,.queue-row small{font-size:11px;display:block}.queue-row small{color:#64748b;margin-top:3px;font-size:10px}.queue-row .outline-action,.queue-row .primary-action{height:29px;padding:0 8px;font-size:10px}.ledger-table{overflow:hidden}.ledger-table .compact-filters{padding-top:0}.red-text{color:#dc2626!important}.green-text{color:#15803d!important}.ledger-tip{color:#9a3412;background:#fff7ed;border:1px solid #fde68a;border-radius:8px;margin:18px;padding:14px;font-size:11px}.ledger-tip p{color:#64748b;margin:5px 0 0}.exception-list{padding-bottom:12px}.exception-list header{justify-content:space-between;padding:18px 20px;display:flex}.exception-flow h2,.exception-list h2{margin:0;font-size:17px}.exception-flow>p,.exception-list header p{color:#64748b;margin:6px 0;font-size:11px}.exception-item{border:1px solid #e2e8f0;border-radius:9px;align-items:center;gap:14px;margin:0 20px 14px;padding:17px;display:flex}.exception-item.high{background:#fef2f2;border-color:#fecaca}.exception-item.medium{background:#fff7ed;border-color:#fde68a}.exception-item span{color:#b91c1c;background:#fee2e2;border-radius:12px;padding:5px 10px;font-size:10px}.exception-item.medium span{color:#b45309;background:#fef3c7}.exception-item.low span{color:#64748b;background:#e2e8f0}.exception-item div{flex:1}.exception-item b{font-size:13px}.exception-item p,.exception-item small{color:#64748b;margin:5px 0 0;font-size:10px;display:block}.danger-action{color:#fff;background:#b91c1c;border-radius:7px;height:36px;padding:0 13px;font-size:11px}.exception-flow{padding:20px}.system-stop{color:#b91c1c;background:#fef2f2;border-radius:8px;margin:20px 0;padding:15px;font-size:12px}.manager-note p,.system-stop p{color:#64748b;margin:5px 0 0;font-size:11px}.exception-flow h3{font-size:13px}.exception-flow ol{color:#475569;padding-left:22px;font-size:12px;line-height:2.6}.manager-note{color:#1e40af;background:#eff6ff;border-radius:8px;margin:20px 0;padding:15px;font-size:12px}.roles-layout{grid-template-columns:275px minmax(0,1fr);gap:22px;display:grid}.role-list{height:max-content}.permission-card{padding:20px}.permission-card h2{margin:0;font-size:17px}.permission-card>p{color:#64748b;margin:7px 0 22px;font-size:11px}.permission-card td{height:58px}.scope-example{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-top:20px;padding:20px;box-shadow:0 2px 6px #0f172a06}.scope-example h2{margin:0 0 17px;font-size:16px}.scope-example>div{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.scope-example article{color:#1e40af;background:#eff6ff;border-radius:8px;padding:15px;font-size:12px}.scope-example article:nth-child(2){color:#15803d;background:#ecfdf5}.scope-example article:nth-child(3){color:#9a3412;background:#fff7ed}.scope-example p{color:#475569;margin:8px 0 0;line-height:1.8}.scope-example>button{margin-top:16px}@media (max-width:1050px){.four-stat-row{grid-template-columns:repeat(2,1fr)}.agent-page-grid,.exception-grid,.roles-layout,.schedule-bottom,.student-content-grid,.student-detail-layout,.teacher-page-grid{grid-template-columns:1fr}.relation{display:none}.entity-list{max-height:340px;overflow:auto}.scope-example>div{grid-template-columns:1fr}}@media (max-width:720px){.four-stat-row{grid-template-columns:1fr}.student-profile{flex-wrap:wrap;align-items:flex-start}.profile-actions{grid-template-columns:1fr 1fr;width:100%}.compact-filters{display:none}.ledger-table,.list-table{overflow-x:auto}.agent-summary,.handover-stats,.student-stats{grid-template-columns:1fr}.schedule-grid{min-width:680px}.schedule-board{overflow:auto}.future-lesson{grid-template-columns:1fr;gap:6px}.scheduling-rule{align-items:flex-start}.scheduling-rule span{display:none}}