:root{--ink:#173b34;--ink-2:#254d45;--accent:#48a98e;--accent-dark:#26735f;--mint:#dff4ec;--canvas:#f5f7f4;--card:#fff;--muted:#70807b;--line:#dde6e1;--amber:#fff0cd;--danger:#a13d46;--shadow:0 14px 44px #1f403714}*{box-sizing:border-box}html{background:var(--canvas)}body{color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}:is(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible){outline-offset:2px;outline:3px solid #48a98e47}.app-shell{grid-template-columns:224px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{z-index:20;border-right:1px solid var(--line);background:#fbfcfa;flex-direction:column;height:100vh;padding:22px 16px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;min-height:54px;padding:5px 8px;display:flex}.brand-mark{color:#fff;background:var(--ink);border-radius:12px;flex:none;place-items:center;width:38px;height:38px;font-weight:900;display:grid;box-shadow:0 8px 20px #173b3429}.brand>span:last-child{gap:3px;display:grid}.brand strong{font-size:16px}.brand small{color:var(--muted);font-size:12px}.nav-list{gap:5px;margin-top:30px;display:grid}.nav-item{color:#60706b;border-radius:12px;align-items:center;gap:11px;min-height:48px;padding:0 12px;font-weight:700;display:flex}.nav-item:hover{background:#eef4f0}.nav-item.active{color:var(--ink);background:#e2f2ec}.nav-glyph{color:#4e6b63;background:#edf2ef;border-radius:9px;place-items:center;width:28px;height:28px;font-size:12px;font-weight:900;display:grid}.nav-item.active .nav-glyph{color:#fff;background:var(--accent-dark)}.save-status{background:#f2f8f5;border:1px solid #d8e6e0;border-radius:13px;align-items:center;gap:9px;margin-top:auto;padding:13px;display:flex}.save-status>span{color:#fff;background:var(--accent);border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.save-status div{gap:3px;display:grid}.save-status strong{font-size:12px}.save-status small{color:var(--muted);font-size:11px}.workspace{min-width:0}.topbar{z-index:15;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe6;border-bottom:1px solid #dde6e1e6;justify-content:space-between;align-items:center;gap:20px;height:68px;padding:0 28px;display:flex;position:sticky;top:0}.campus{color:#52645f;align-items:center;gap:8px;font-weight:700;display:flex}.status-dot{background:#41b68d;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #def2ea}.top-actions{align-items:center;gap:12px;display:flex}.ai-button{color:#fff;background:var(--ink);border:0;border-radius:11px;min-height:42px;padding:0 15px;font-weight:800}.role-switcher{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:center;gap:8px;min-height:42px;padding:0 10px;display:flex}.role-switcher span{color:var(--muted);font-size:12px}.role-switcher select{color:var(--ink);background:#fff;border:0;outline:0;font-weight:800}.content-wrap{width:min(1380px,100%);margin:0 auto;padding:34px 30px 72px}.loading-screen{place-content:center;justify-items:center;gap:14px;min-height:100vh;display:grid}.loading-screen .brand-mark{width:52px;height:52px}.eyebrow{color:var(--accent-dark);letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:900}.page-header{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:26px;display:flex}.page-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.page-header h1,.hero h1{letter-spacing:-.045em;margin:0;font-size:clamp(28px,3.2vw,42px);line-height:1.15}.page-header>div>p:last-child,.hero>div>p:last-child{max-width:780px;color:var(--muted);margin:11px 0 0;line-height:1.7}.primary-button,.secondary-button,.danger-button{white-space:nowrap;border-radius:11px;min-height:44px;padding:0 16px;font-size:13px;font-weight:800}.primary-button{color:#fff;background:var(--ink);border:0}.primary-button:hover{background:var(--ink-2)}.primary-button:disabled{cursor:not-allowed;opacity:.48}.secondary-button{border:1px solid var(--line);color:var(--ink);background:#fff}.secondary-button:hover{background:#f2f7f4}.danger-button{color:#fff;background:var(--danger);border:0}.button-row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.hero{justify-content:space-between;align-items:flex-end;gap:30px;padding:8px 0 24px;display:flex}.hero-score{text-align:center;background:linear-gradient(145deg,#ebfaf4,#fff);border:1px solid #cfe5dc;border-radius:28px;flex:none;place-content:center;width:108px;height:108px;display:grid}.hero-score strong{font-size:35px;line-height:1}.hero-score span{color:var(--muted);margin-top:7px;font-size:12px}.quick-entry{color:#fff;box-shadow:var(--shadow);background:linear-gradient(120deg,#163c34,#276456);border-radius:18px;justify-content:space-between;align-items:center;gap:20px;margin:10px 0 18px;padding:18px 20px;display:flex}.quick-entry>div{align-items:center;gap:13px;display:flex}.quick-entry strong{font-size:16px;display:block}.quick-entry p{color:#bdd4cd;margin:4px 0 0;font-size:13px}.quick-entry>button{min-height:44px;color:var(--ink);background:#c8f4df;border:0;border-radius:11px;padding:0 16px;font-weight:900}.ai-orb{width:38px;height:38px;color:var(--ink);background:#c8f4df;border-radius:12px;flex:none;place-items:center;font-size:12px;font-weight:900;display:grid}.quick-actions{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:22px;display:grid}.quick-actions button{border:1px solid var(--line);min-height:88px;color:var(--ink);text-align:left;background:#fff;border-radius:15px;grid-template-rows:auto auto;grid-template-columns:34px 1fr;align-content:center;column-gap:10px;padding:13px;display:grid}.quick-actions button:hover{border-color:#b9d8cd;box-shadow:0 8px 24px #1f403712}.quick-actions button>span{width:34px;height:34px;color:var(--accent-dark);background:var(--mint);border-radius:10px;grid-row:1/3;place-items:center;font-weight:900;display:grid}.quick-actions strong{align-self:end;font-size:14px}.quick-actions small{color:var(--muted);align-self:start;margin-top:3px;font-size:12px}.card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:20px;box-shadow:0 8px 30px #1f403709}.dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr);gap:18px;display:grid}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:15px;display:flex}.section-heading h2,.card h2{margin:0;font-size:18px}.section-heading a{color:var(--accent-dark);font-size:12px;font-weight:800}.action-list{gap:8px;display:grid}.action-list article{border:1px solid #edf1ee;border-radius:13px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:70px;padding:11px;display:grid}.action-rank{border-radius:10px;place-items:center;width:34px;height:34px;font-size:12px;font-weight:900;display:grid}.action-rank.mint{color:#226954;background:var(--mint)}.action-rank.amber{color:#7d5a18;background:var(--amber)}.action-list article div{min-width:0}.action-list strong{font-size:14px}.action-list p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:12px;overflow:hidden}.action-list button,.renewal-row button{border:1px solid var(--line);min-height:38px;color:var(--ink);background:#fff;border-radius:10px;padding:0 11px;font-size:12px;font-weight:800}.mini-class{border-bottom:1px solid #edf1ee;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 0;display:grid}.mini-class:last-child{border-bottom:0}.mini-class time{color:var(--accent-dark);font-weight:900}.mini-class div{gap:4px;min-width:0;display:grid}.mini-class strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.mini-class small{color:var(--muted);font-size:12px}.mini-class>span{color:#86621d;background:var(--amber);border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}.mini-class>span.done{color:#276b5a;background:var(--mint)}.split-layout{border:1px solid var(--line);min-height:650px;box-shadow:var(--shadow);background:#fff;border-radius:20px;grid-template-columns:300px minmax(0,1fr);display:grid;overflow:hidden}.object-list{border-right:1px solid var(--line);background:#f8faf8;padding:14px}.search-box{border:1px solid var(--line);color:#89948f;background:#fff;border-radius:11px;align-items:center;gap:8px;height:44px;padding:0 11px;display:flex}.search-box input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:13px}.search-box button{color:var(--muted);background:0 0;border:0;font-size:18px}.list-count{color:var(--muted);padding:12px 5px 7px;font-size:12px}.object-row{width:100%;min-height:65px;color:var(--ink);text-align:left;background:0 0;border:1px solid #0000;border-radius:13px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;margin:3px 0;padding:9px;display:grid}.object-row:hover,.object-row.selected{background:#fff;border-color:#dce7e2;box-shadow:0 6px 18px #233c350d}.object-row>span:nth-child(2){gap:4px;min-width:0;display:grid}.object-row strong{font-size:13px}.object-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.object-row em{color:var(--accent-dark);font-size:11px;font-style:normal}.avatar{color:#245348;background:#dff4ec;border-radius:12px;place-items:center;width:38px;height:38px;font-weight:900;display:grid}.avatar.large{border-radius:15px;width:52px;height:52px;font-size:17px}.object-detail{min-width:0;padding:24px}.object-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding-bottom:19px;display:flex}.profile-title{align-items:center;gap:12px;min-width:0;display:flex}.profile-title h2{margin:0;font-size:21px}.profile-title p{color:var(--muted);margin:6px 0 0;font-size:12px}.stage-badge{color:#215c4e;background:#e2f4ee;border-radius:999px;flex:none;padding:7px 10px;font-size:12px;font-weight:800}.next-step{color:#fff;background:var(--ink);border-radius:16px;margin:20px 0;padding:18px}.next-step>span{color:#a7c9c0;font-size:12px;font-weight:900}.next-step h3{margin:7px 0;font-size:20px}.next-step p{color:#c2d6d0;margin:0 0 15px}.next-step .secondary-button{color:#fff;background:0 0;border-color:#55736b}.stat-grid{border:1px solid var(--line);background:var(--line);border-radius:14px;grid-template-columns:repeat(3,1fr);gap:1px;margin:19px 0;display:grid;overflow:hidden}.stat-grid>div{background:#fbfcfb;gap:6px;padding:14px;display:grid}.stat-grid span{color:var(--muted);font-size:12px}.stat-grid strong{font-size:20px}.ai-summary{background:linear-gradient(135deg,#eefaf5,#fff);border:1px solid #cce7de;border-radius:16px;margin:18px 0;padding:17px}.ai-summary>div{align-items:center;gap:10px;display:flex}.ai-summary p{color:#3f514c;margin:12px 0;font-size:14px;line-height:1.75}.ai-summary small{color:var(--muted);font-size:11px}.object-actions{margin:18px 0 23px}.detail-section{margin-top:22px}.timeline-row{border-bottom:1px solid #edf1ee;grid-template-columns:95px minmax(0,1fr);gap:16px;padding:15px 0;display:grid}.timeline-row time{color:var(--muted);font-size:12px;font-weight:700}.timeline-row>div{gap:5px;display:grid}.timeline-row>div>span{color:var(--accent-dark);background:var(--mint);border-radius:999px;justify-self:start;padding:4px 7px;font-size:11px;font-weight:800}.timeline-row strong{font-size:14px}.timeline-row p{color:var(--muted);margin:0;line-height:1.65}.timeline-row small{color:var(--accent-dark)}.source-evidence{color:var(--accent-dark);margin-top:5px;font-size:12px}.source-evidence summary{cursor:pointer;font-weight:800}.source-evidence blockquote{color:#4d615b;white-space:pre-wrap;background:#f5faf8;border-left:3px solid #a9d9cb;margin:8px 0 0;padding:8px 11px;line-height:1.7}.teacher-kpis{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;display:grid}.teacher-apply-banner{background:linear-gradient(135deg,#eefaf5,#fff);border:1px solid #cfe5dc;border-radius:15px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px;padding:14px 16px;display:flex}.teacher-apply-banner>div{gap:4px;display:grid}.teacher-apply-banner span{color:var(--accent-dark);font-size:11px;font-weight:900}.teacher-apply-banner strong{font-size:15px}.teacher-apply-banner p{color:var(--muted);margin:0;font-size:11px}.teacher-apply-banner a{color:#fff;background:var(--ink);border-radius:10px;flex:none;align-items:center;min-height:42px;padding:0 13px;font-size:12px;font-weight:800;display:inline-flex}.teacher-apply-actions{align-items:center;gap:8px;display:flex}.teacher-apply-actions button{min-height:42px;color:var(--accent-dark);cursor:pointer;background:#fff;border:1px solid #bfd9cf;border-radius:10px;padding:0 13px;font-size:12px;font-weight:800}.teacher-kpis article{border:1px solid var(--line);background:#fff;border-radius:14px;gap:4px;padding:14px;display:grid}.teacher-kpis strong{font-size:23px}.teacher-kpis span{color:var(--muted);font-size:11px}.teacher-layout{min-height:650px}.privacy-note{color:#795c26;background:#fff6e3;border-radius:10px;margin:15px 0 10px;padding:10px 12px;font-size:11px;line-height:1.6}.teacher-actions{margin:0 0 15px}.teacher-contact{grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0;display:grid}.teacher-contact>div{border:1px solid var(--line);background:#fafcfb;border-radius:11px;gap:5px;padding:11px;display:grid}.teacher-contact span,.teacher-tags>span,.teacher-detail-grid section>span,.teacher-notes>span,.teacher-review-log>span{color:var(--muted);font-size:11px;font-weight:800}.teacher-contact strong{overflow-wrap:anywhere;font-size:13px}.teacher-tags{border-bottom:1px solid #edf1ee;grid-template-columns:80px minmax(0,1fr);align-items:start;gap:10px;padding:9px 0;display:grid}.teacher-tags>div{flex-wrap:wrap;gap:6px;display:flex}.teacher-tags em,.match-reasons span{color:#246c57;background:#e7f6f0;border-radius:999px;padding:5px 8px;font-size:11px;font-style:normal;font-weight:800}.teacher-detail-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:15px;display:grid}.teacher-detail-grid section,.teacher-notes,.teacher-review-log{border:1px solid var(--line);background:#fbfcfb;border-radius:12px;padding:13px}.teacher-detail-grid ul{margin:9px 0 0;padding-left:18px}.teacher-detail-grid li{color:#42534e;margin:6px 0;font-size:12px;line-height:1.5}.teacher-detail-grid li small{color:var(--muted);display:block}.teacher-detail-grid p,.teacher-notes p,.teacher-review-log p{color:#52645f;margin:8px 0 0;font-size:12px;line-height:1.65}.teacher-notes,.teacher-review-log{margin-top:10px}.teacher-review-log article{border-top:1px solid var(--line);margin-top:10px;padding-top:9px}.teacher-review-log article:first-of-type{border-top:0}.teacher-review-log article>small{color:var(--muted);margin-top:3px;display:block}.teacher-review-log ul{color:#52645f;margin:7px 0 0;padding-left:18px;font-size:11px;line-height:1.65}.teacher-review-log li strong{color:var(--ink)}.toolbar-card{border:1px solid var(--line);background:#fff;border-radius:15px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;padding:14px 17px;display:flex}.toolbar-card label{color:var(--muted);align-items:center;gap:11px;font-weight:700;display:flex}.toolbar-card input{border:1px solid var(--line);min-height:40px;color:var(--ink);background:#fff;border-radius:10px;padding:0 10px}.toolbar-card>div{align-items:baseline;gap:7px;display:flex}.toolbar-card strong{font-size:20px}.toolbar-card span{color:var(--muted);margin-right:12px;font-size:12px}.schedule-list{gap:10px;display:grid}.class-card{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:18px;min-height:104px;padding:15px 18px;display:grid;box-shadow:0 6px 20px #1f403709}.class-time{border-right:3px solid #78c4af;gap:4px;padding-right:14px;display:grid}.class-time strong{font-size:18px}.class-time span{color:var(--muted);font-size:12px}.class-main>span{color:var(--accent-dark);margin-bottom:6px;font-size:11px;font-weight:900;display:inline-block}.class-main h3{margin:0;font-size:16px}.class-main p{color:var(--muted);margin:7px 0 0;font-size:12px;line-height:1.5}.completed-pill{color:#276b5a;background:var(--mint);border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800}.metric-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px;display:grid}.metric-grid article{border:1px solid var(--line);background:#fff;border-radius:16px;gap:7px;padding:18px;display:grid}.metric-grid span,.metric-grid small{color:var(--muted);font-size:12px}.metric-grid strong{letter-spacing:-.03em;font-size:26px}.finance-grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,.65fr);gap:18px;display:grid}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #edf1ee;padding:12px 10px}th{color:var(--muted);font-size:11px}td{font-size:12px}.renewal-row{border-bottom:1px solid #edf1ee;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;display:flex}.renewal-row p{color:var(--muted);margin:5px 0 0;font-size:12px}.settings-grid{grid-template-columns:1.2fr .8fr;gap:18px;display:grid}.settings-grid .card>h2{margin-bottom:16px}.routing-row{border-bottom:1px solid #edf1ee;justify-content:space-between;align-items:center;gap:20px;min-height:52px;display:flex}.routing-row span{color:var(--muted)}.routing-row strong{text-align:right;font-size:13px}.settings-note{color:#52645f;background:#f2f7f4;border-radius:11px;margin:16px 0 0;padding:13px;font-size:12px;line-height:1.65}.data-counts{grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:18px;display:grid}.data-counts div{text-align:center;background:#f4f7f5;border-radius:11px;gap:5px;padding:12px 8px;display:grid}.data-counts strong{font-size:21px}.data-counts span{color:var(--muted);font-size:11px}.reset-confirm{background:#fff7f8;border:1px solid #f0cbd0;border-radius:12px;padding:13px}.reset-confirm p{color:#7c4a51;margin:0 0 12px}.reset-confirm button{margin-right:8px}.permission-card{border:1px solid var(--line);text-align:center;max-width:620px;box-shadow:var(--shadow);background:#fff;border-radius:20px;margin:80px auto;padding:34px}.permission-card>span{color:var(--accent-dark);font-size:12px;font-weight:900}.permission-card h1{margin:10px 0;font-size:28px}.permission-card p{color:var(--muted);line-height:1.7}.permission-card a{color:#fff;background:var(--ink);border-radius:11px;align-items:center;min-height:44px;margin-top:10px;padding:0 16px;font-weight:800;display:inline-flex}.empty-state{min-height:100px;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:8px;display:grid}.empty-state>span{width:30px;height:30px;color:var(--accent-dark);background:var(--mint);border-radius:50%;place-items:center;display:grid}.empty-state p{margin:0;font-size:13px}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#07181394;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:21px;width:min(680px,100%);max-height:calc(100vh - 36px);padding:24px;position:relative;overflow:auto;box-shadow:0 28px 90px #00000047}.modal-close{width:40px;height:40px;color:var(--muted);background:#f2f5f3;border:0;border-radius:10px;font-size:23px;position:absolute;top:15px;right:16px}.modal-head{margin-bottom:20px;padding-right:50px}.modal-head>span{color:var(--accent-dark);letter-spacing:.05em;font-size:12px;font-weight:900}.modal-head h2{margin:7px 0;font-size:24px}.modal-head p{color:var(--muted);margin:0;line-height:1.65}.form-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.form-stack{gap:13px;display:grid}.field{color:#60706b;gap:7px;margin-bottom:13px;font-size:12px;font-weight:800;display:grid}.field input,.field select,.field textarea{width:100%;min-height:45px;color:var(--ink);background:#fff;border:1px solid #d6e0db;border-radius:11px;outline:0;padding:10px 12px;font-size:14px;font-weight:500}.field textarea{resize:vertical;min-height:112px;line-height:1.6}.field input:focus,.field select:focus,.field textarea:focus{border-color:#71b9a5;box-shadow:0 0 0 3px #48a98e1f}.form-footer{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;justify-content:space-between;align-items:center;gap:15px;margin:18px -24px -24px;padding:15px 24px;display:flex;position:sticky;bottom:-24px}.form-footer small{color:var(--muted)}.choice-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.choice-grid label{border:1px solid var(--line);background:#fff;border-radius:11px;grid-template-columns:20px 1fr;align-items:center;gap:2px 7px;min-height:58px;padding:9px;display:grid}.choice-grid label.checked{background:#eef9f5;border-color:#72bba7}.choice-grid input{grid-row:1/3;width:18px;height:18px}.choice-grid small{color:var(--muted);font-weight:500}.selection-tools{justify-content:flex-end;gap:7px;margin:-2px 0 8px;display:flex}.selection-tools button{border:1px solid var(--line);min-height:32px;color:var(--accent-dark);background:#fff;border-radius:8px;padding:0 10px;font-size:11px;font-weight:800}.form-error{color:#8b3f46;background:#fff0f2;border-radius:10px;margin:8px 0;padding:11px}.file-pill{color:var(--accent-dark);background:var(--mint);border-radius:10px;padding:10px 12px;font-size:12px;font-weight:800}.impact-note{color:#795c26;background:#fff6e3;border-radius:11px;margin:13px 0;padding:12px;font-size:12px;line-height:1.65}.attendance-list{gap:8px;display:grid}.attendance-list>label{border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;min-height:66px;padding:9px 12px;display:flex}.attendance-list>label.blocked{background:#fff6f7;border-color:#efb8bf}.attendance-list label>div{flex:1;align-items:center;gap:10px;display:flex}.attendance-list label>div>span:last-child{gap:4px;display:grid}.attendance-list small{color:var(--muted)}.attendance-list input{width:22px;height:22px}.attendance-list em{width:36px;color:var(--accent-dark);font-size:12px;font-style:normal;font-weight:800}.segmented{background:#eef2ef;border-radius:12px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.segmented.three{grid-template-columns:repeat(3,1fr)}.segmented button{min-height:42px;color:var(--muted);background:0 0;border:0;border-radius:9px;font-weight:800}.segmented button.active{color:var(--ink);background:#fff;box-shadow:0 3px 10px #142d2614}.weekday-picker{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.weekday-picker button{border:1px solid var(--line);min-height:39px;color:var(--muted);background:#fff;border-radius:9px;font-size:12px;font-weight:800}.weekday-picker button.active{color:var(--accent-dark);background:#eaf8f3;border-color:#72bba7;box-shadow:inset 0 0 0 1px #72bba7}.batch-preview{background:#fbfdfc;border:1px solid #cfe2da;border-radius:15px;overflow:hidden}.batch-preview>header{background:#eff8f4;border-bottom:1px solid #e0ebe7;justify-content:space-between;align-items:center;gap:14px;padding:13px 14px;display:flex}.batch-preview>header>div{gap:3px;display:grid}.batch-preview>header span{color:var(--accent-dark);letter-spacing:.04em;font-size:11px;font-weight:900}.batch-preview>header strong{font-size:14px}.batch-preview>header em{color:#246c57;background:#dff3eb;border-radius:999px;padding:5px 8px;font-size:11px;font-style:normal;font-weight:900}.batch-preview>header em.danger{color:#8b3f46;background:#fde7ea}.batch-kpis{background:#e5eeea;grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.batch-kpis>div{text-align:center;background:#fff;gap:3px;padding:11px;display:grid}.batch-kpis strong{font-size:18px}.batch-kpis span{color:var(--muted);font-size:10px}.batch-preview-list,.lesson-preview-list{max-height:230px;overflow:auto}.batch-preview-list>div{border-bottom:1px solid #edf2ef;grid-template-columns:minmax(110px,1fr) 100px 100px;align-items:center;gap:10px;padding:9px 13px;font-size:12px;display:grid}.batch-preview-list>div>em{color:#26715c;justify-self:end;font-style:normal;font-weight:800}.batch-preview-list>div.blocked{color:#7e565b;background:#fff8f9}.batch-preview-list>div.blocked>em{color:#a14d57}.lesson-preview-list>div{border-bottom:1px solid #edf2ef;grid-template-columns:minmax(150px,1fr) 42px 18px 42px 58px;align-items:center;gap:7px;padding:9px 13px;display:grid}.lesson-preview-list>div>span{gap:3px;display:grid}.lesson-preview-list small{color:var(--muted);font-size:10px}.lesson-preview-list em{color:var(--ink);text-align:center;font-style:normal;font-weight:900}.lesson-preview-list b{color:var(--muted);text-align:center}.lesson-preview-list i{color:#276b5a;background:var(--mint);border-radius:999px;justify-self:end;padding:4px 7px;font-size:10px;font-style:normal;font-weight:900}.lesson-preview-list>div.blocked{background:#fff8f9}.lesson-preview-list>div.blocked i{color:#9a4650;background:#fde7ea}.batch-preview>p{color:var(--muted);background:#fff;margin:0;padding:10px 13px;font-size:11px;line-height:1.55}.prompt-row{flex-wrap:wrap;gap:8px;display:flex}.prompt-row button{border:1px solid var(--line);min-height:38px;color:var(--accent-dark);background:#fff;border-radius:999px;padding:0 11px;font-size:12px}.ai-preview{background:linear-gradient(145deg,#eefaf5,#fff);border:1px solid #bfe0d4;border-radius:15px;overflow:hidden}.ai-preview header{border-bottom:1px solid #d7ebe4;justify-content:space-between;align-items:center;gap:16px;padding:13px 14px;display:flex}.ai-preview header>div{gap:3px;display:grid}.ai-preview header span{color:var(--accent-dark);letter-spacing:.05em;font-size:11px;font-weight:900}.ai-preview header strong{font-size:14px}.ai-preview header button{min-height:36px;color:var(--accent-dark);background:#fff;border:1px solid #cfe4dc;border-radius:9px;padding:0 10px;font-size:12px;font-weight:800}.ai-preview-row{border-bottom:1px solid #e4f0ec;grid-template-columns:86px minmax(0,1fr);gap:13px;padding:11px 14px;display:grid}.ai-preview-row span{color:var(--muted);font-size:12px}.ai-preview-row strong{font-size:13px;line-height:1.55}.ai-preview-row strong.pending{color:#9b6d26}.ai-target{border-bottom:1px solid #e4f0ec;grid-template-columns:86px minmax(0,1fr);gap:13px;padding:11px 14px;display:grid}.ai-target span{color:var(--muted);font-size:12px}.ai-target strong{font-size:13px}.ai-preview blockquote{color:#3f544e;white-space:pre-wrap;background:#ffffffb3;border-left:3px solid #75bca8;margin:12px 14px;padding:9px 11px;line-height:1.7}.ai-preview>p{color:var(--muted);background:#ffffff8c;margin:0;padding:11px 14px;font-size:11px;line-height:1.55}.import-textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;min-height:180px!important;font-size:12px!important}.import-preview,.match-results{background:#fff;border:1px solid #cfe2da;border-radius:14px;overflow:hidden}.import-preview>header,.match-results>header{background:#eff8f4;justify-content:space-between;gap:12px;padding:12px 13px;display:flex}.import-preview>header span,.match-results>header span{color:var(--muted);font-size:11px}.import-preview>div{border-top:1px solid #edf2ef;grid-template-columns:64px 100px minmax(0,1fr);gap:9px;padding:9px 12px;font-size:11px;display:grid}.import-preview>div>span{color:var(--muted)}.import-preview>div>em{color:#31715f;font-style:normal}.import-preview>div.blocked{background:#fff7f8}.import-preview>div.blocked>em{color:#9a4650}.match-results>article{border-top:1px solid #edf2ef;grid-template-columns:34px minmax(0,1fr);gap:11px;padding:13px;display:grid}.match-rank{color:#236b58;background:#dff4ec;border-radius:9px;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.match-results h3{align-items:center;gap:8px;margin:0;display:flex}.match-results h3 em{color:#8a5f1c;background:#fff1cf;border-radius:999px;padding:4px 7px;font-size:10px;font-style:normal}.match-results p{color:var(--muted);margin:5px 0 9px;font-size:11px}.match-reasons{flex-wrap:wrap;gap:5px;display:flex}.match-results article small{color:var(--muted);margin-top:9px;line-height:1.5;display:block}.apply-shell{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 8% 0,#dff5ed,#0000 31%),#f5f7f5;padding:46px 18px}.apply-hero,.apply-form,.apply-success,.apply-footer{width:min(760px,100%);margin-inline:auto}.apply-hero{margin-bottom:18px}.apply-hero a{color:var(--ink);align-items:center;gap:9px;display:inline-flex}.apply-hero a span{color:#fff;background:var(--ink);border-radius:12px;place-items:center;width:40px;height:40px;font-size:0;font-weight:900;display:grid}.apply-hero a span:after{content:"沃";font-size:16px}.apply-hero a strong{font-size:0}.apply-hero a strong:after{content:"沃培优";font-size:16px}.apply-hero>p:first-of-type{color:var(--accent-dark);letter-spacing:.04em;margin:28px 0 7px;font-size:12px;font-weight:900}.apply-hero h1{letter-spacing:-.04em;max-width:650px;margin:0 0 12px;font-size:clamp(32px,6vw,48px);line-height:1.15}.apply-hero>p:last-child{max-width:650px;color:var(--muted);line-height:1.7}.apply-form{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:22px;padding:26px}.apply-form>section{border-bottom:1px solid #edf1ee;margin-bottom:23px;padding-bottom:11px}.apply-form>section h2{margin:0 0 17px;font-size:18px}.apply-choice{color:#60706b;gap:8px;margin:0 0 14px;font-size:12px;font-weight:800;display:grid}.apply-choice>div{flex-wrap:wrap;gap:7px;display:flex}.apply-choice label{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:6px;min-height:38px;padding:0 10px;display:inline-flex}.apply-choice label.checked{color:#245b4d;background:#eef9f5;border-color:#72bba7}.application-review{background:#f3fbf7;border-radius:14px;border:1px solid #bfe0d4!important;padding:15px!important}.application-review>span{color:var(--accent-dark);font-size:11px;font-weight:900}.application-review h2{margin:7px 0!important}.application-review p{color:var(--muted);margin:5px 0;font-size:12px;line-height:1.6}.apply-consent{color:#465751;align-items:flex-start;gap:9px;font-size:12px;line-height:1.6;display:flex}.apply-consent input{flex:none;width:18px;height:18px;margin-top:2px}.apply-warning{color:#795c26;background:#fff6e3;border-radius:11px;margin:14px 0;padding:12px;font-size:11px;line-height:1.65}.apply-submit{color:#fff;background:var(--ink);border:0;border-radius:12px;width:100%;min-height:50px;font-size:14px;font-weight:900}.apply-footer{color:var(--muted);text-align:center;padding:22px 0;font-size:0}.apply-footer:after{content:"沃培优 · 虚构流程演示 · 未经人工审核不会参与匹配";font-size:11px}.apply-success{border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:24px;margin-top:12vh;padding:40px}.apply-success>span{color:#246c57;background:#dff4ec;border-radius:50%;place-items:center;width:54px;height:54px;margin:0 auto 18px;font-size:24px;font-weight:900;display:grid}.apply-success h1{margin:8px 0;font-size:30px}.apply-success p{color:var(--muted);line-height:1.7}.apply-success div{color:#795c26;background:#fff6e3;border-radius:12px;margin-top:19px;padding:13px;font-size:12px;line-height:1.65}.toast{z-index:100;color:#fff;background:#173b34;border-radius:13px;max-width:min(420px,100vw - 32px);padding:14px 17px;font-weight:800;position:fixed;bottom:24px;right:24px;box-shadow:0 18px 50px #00000038}.mobile-nav{display:none}.private-pilot-card{flex-direction:column;align-items:flex-start;gap:13px;display:flex}.private-pilot-card p{color:var(--muted);line-height:1.7}.private-pilot-card a{background:var(--ink);color:#fff;border-radius:11px;align-items:center;min-height:42px;padding:0 18px;font-weight:800;display:inline-flex}.private-pill{color:#14765f;letter-spacing:.04em;background:#e3f8f1;border-radius:999px;align-items:center;min-height:26px;padding:0 10px;font-size:11px;font-weight:900;display:inline-flex}.contract-toolbar{border:1px solid var(--line);background:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;padding:12px;display:flex}.contract-toolbar .search-box{flex:1;max-width:360px}.contract-filters{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.contract-filters button,.export-actions button{border:1px solid var(--line);min-height:36px;color:var(--ink);background:#fff;border-radius:9px;padding:0 11px;font-size:12px;font-weight:800}.contract-filters button.active{color:#176a54;background:#e9f7f1;border-color:#77bda9}.contract-list{gap:11px;display:grid}.contract-card{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:minmax(0,1fr) 190px auto;align-items:center;gap:22px;padding:18px;display:grid;box-shadow:0 7px 24px #1f403709}.contract-card-main{min-width:0}.contract-card-top{align-items:center;gap:9px;margin-bottom:10px;display:flex}.contract-card-top small{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.contract-status{color:#1f6b56;background:#e6f7f0;border-radius:999px;align-items:center;min-height:25px;padding:0 9px;font-size:11px;font-weight:900;display:inline-flex}.contract-status.即将到期{color:#8b6017;background:#fff2d6}.contract-status.已到期,.contract-status.已作废{color:#8b4650;background:#fff0f2}.contract-card h2{margin:0;font-size:19px}.contract-card h2 span{color:var(--muted);margin-left:6px;font-size:12px;font-weight:600}.contract-card-main>p{color:#486057;margin:6px 0 10px;font-size:14px}.contract-meta{color:var(--muted);flex-wrap:wrap;gap:5px 14px;font-size:11px;line-height:1.6;display:flex}.contract-card-money{border-left:1px solid var(--line);gap:5px;padding-left:21px;display:grid}.contract-card-money span,.contract-card-money small{color:var(--muted);font-size:11px}.contract-card-money strong{letter-spacing:-.03em;font-size:20px}.contract-card-actions{gap:8px;display:grid}.contract-card-actions button{min-width:94px}.export-card{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.export-card h2{margin:0}.export-card p{color:var(--muted);margin:0;line-height:1.65}.export-actions{flex-wrap:wrap;gap:8px;display:flex}.export-actions button{color:var(--accent-dark);border-color:#b9d8cd}.contract-list-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.contract-list-actions .secondary-button{white-space:nowrap}.mobile-contract{max-width:560px;margin:0 auto}.contract-sheet{background:#fff;border:1px solid #d7e5df;border-radius:16px;overflow:hidden}.contract-sheet>header{color:#fff;background:linear-gradient(125deg,#173b34,#2f7764);justify-content:space-between;align-items:center;gap:14px;padding:17px;display:flex}.contract-sheet>header>div{align-items:center;gap:10px;display:flex}.contract-sheet>header .brand-mark{width:38px;height:38px;color:var(--ink);box-shadow:none;background:#c9f4e1}.contract-sheet>header strong,.contract-sheet>header small{display:block}.contract-sheet>header small{color:#c4dcd4;margin-top:3px;font-size:11px}.contract-sheet>header em{color:#1b604e;background:#ddf6ea;border-radius:999px;padding:6px 9px;font-size:11px;font-style:normal;font-weight:900}.contract-sheet>header em.即将到期{color:#7d5715;background:#fff0ca}.contract-sheet>header em.已到期,.contract-sheet>header em.已作废{color:#81434d;background:#ffe9ed}.contract-sheet>section{border-bottom:1px solid #edf1ee;gap:5px;padding:14px 16px;display:grid}.contract-sheet>section>span{color:var(--muted);font-size:11px;font-weight:800}.contract-sheet>section>strong{font-size:14px}.contract-sheet>section>small{color:var(--muted);line-height:1.55}.contract-sheet-grid{border-bottom:1px solid #edf1ee;grid-template-columns:1fr 1fr;display:grid}.contract-sheet-grid section{border-bottom:1px solid #edf1ee;border-right:1px solid #edf1ee;gap:5px;min-height:80px;padding:14px 16px;display:grid}.contract-sheet-grid section:nth-child(2n){border-right:0}.contract-sheet-grid section:nth-child(n+3){border-bottom:0}.contract-sheet-grid span{color:var(--muted);font-size:11px}.contract-sheet-grid strong{font-size:17px}.report-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.78fr);gap:18px;display:grid}.report-wide{grid-column:1/-1}.manager-list,.source-list{gap:9px;display:grid}.manager-list article,.source-list article{background:#fbfcfb;border:1px solid #edf1ee;border-radius:12px;padding:13px}.manager-list header,.source-list>article>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.manager-list header span,.source-list span{color:var(--muted);font-size:11px}.manager-list article>div{grid-template-columns:1fr 1fr;gap:8px;margin-top:11px;display:grid}.manager-list article>div span{color:#567069;background:#fff;border-radius:8px;padding:8px;font-size:11px}.manager-list b,.source-list b{color:var(--ink);font-size:14px}.source-list p{color:var(--muted);justify-content:space-between;gap:10px;margin:10px 0 0;font-size:12px;display:flex}.source-list p b{color:var(--accent-dark);font-size:12px}.stage-strip{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.stage-strip span{color:#4e655d;background:#edf4f0;border-radius:999px;align-items:center;gap:5px;padding:6px 9px;font-size:11px;display:inline-flex}.stage-strip b{color:var(--ink)}.pilot-gate{background:radial-gradient(circle at 20% 10%,#dff9f1 0,#0000 34%),#f5f7f4;place-items:center;min-height:100vh;padding:24px;display:grid}.pilot-gate section{border:1px solid var(--line);width:min(560px,100%);box-shadow:var(--shadow);background:#fffffff5;border-radius:26px;padding:46px}.pilot-gate section>p:first-of-type{color:var(--accent-dark);letter-spacing:.08em;margin:22px 0 8px;font-size:12px;font-weight:900}.pilot-gate h1{margin:0 0 14px;font-size:36px}.pilot-gate h1+p{color:var(--muted);line-height:1.8}.pilot-gate a{background:var(--ink);color:#fff;border-radius:13px;justify-content:center;align-items:center;min-height:50px;margin-top:24px;font-weight:900;display:flex}.pilot-gate small{color:var(--muted);text-align:center;margin-top:14px;display:block}.workbench-login{color:#202723;background:#f2f5f3;place-items:center;min-height:100svh;padding:24px;display:grid}.workbench-login-shell{background:#fff;border:1px solid #dce3df;border-radius:22px;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);width:min(880px,100%);min-height:540px;display:grid;overflow:hidden;box-shadow:0 22px 70px #2b3b331f}.workbench-login-visual{background:url(/login-learning-scene-v2.png) 50% 64%/cover no-repeat;min-height:540px}.workbench-login-panel{align-self:center;padding:44px 38px}.workbench-login h1{color:#202723;letter-spacing:-.035em;text-align:center;margin:0 0 30px;font-size:clamp(28px,6vw,34px);font-weight:680}.workbench-login-form{gap:18px;display:grid}.workbench-login-form label{color:#5f6964;gap:8px;font-size:13px;font-weight:650;display:grid}.workbench-login-form input{color:#202723;background:#f8faf9;border:1px solid #d8dfdb;border-radius:12px;outline:0;width:100%;min-height:48px;padding:0 14px;transition:border-color .16s,box-shadow .16s,background .16s}.workbench-login-form input:hover{border-color:#abb7b1}.workbench-login-form input:focus-visible{background:#fff;border-color:#66766e;box-shadow:0 0 0 3px #66766e1f}.workbench-login-form button{color:#fff;background:#202723;border:1px solid #202723;border-radius:12px;min-height:48px;margin-top:4px;font-weight:750;transition:background .16s,transform .16s,opacity .16s}.workbench-login-form button:hover:not(:disabled){background:#303b35}.workbench-login-form button:active:not(:disabled){transform:translateY(1px)}.workbench-login-form button:disabled{cursor:wait;opacity:.62}.workbench-login-error{color:#b14c56;margin:-4px 0 0;font-size:13px;line-height:1.45}.pilot-shell{min-height:100vh;color:var(--ink);background:#f4f6f3;padding:0 32px 70px}.pilot-topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:76px;display:flex}.pilot-topbar .brand{color:var(--ink)}.pilot-topbar>div{color:var(--muted);align-items:center;gap:9px;font-size:12px;display:flex}.pilot-topbar>div a{color:var(--accent-dark);margin-left:8px;font-weight:800}.pilot-hero{justify-content:space-between;gap:32px;padding:46px 0 30px;display:flex}.pilot-hero h1{letter-spacing:-.04em;margin:5px 0 12px;font-size:clamp(32px,4vw,52px)}.pilot-hero h1+p{max-width:760px;color:var(--muted);line-height:1.8}.pilot-health{background:#eaf9f4;border:1px solid #b8e5d8;border-radius:18px;align-self:center;min-width:210px;padding:20px}.pilot-health span,.pilot-health small{color:#518071;font-size:11px;display:block}.pilot-health strong{color:#106a55;margin:7px 0;font-size:19px;display:block}.pilot-metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.pilot-metrics article{border:1px solid var(--line);background:#fff;border-radius:16px;min-height:98px;padding:15px;box-shadow:0 8px 24px #212d290a}.pilot-metrics span{min-height:32px;color:var(--muted);font-size:11px;line-height:1.4;display:block}.pilot-metrics strong{letter-spacing:-.03em;margin-top:6px;font-size:25px;display:block}.pilot-preservation{justify-content:space-between;align-items:flex-end;gap:24px;margin:30px 0 12px;display:flex}.pilot-preservation h2{margin:3px 0 0;font-size:22px}.pilot-preservation>p{max-width:720px;color:var(--muted);margin:0;font-size:12px;line-height:1.7}.pilot-grid{grid-template-columns:1.12fr .88fr;gap:18px;margin-bottom:18px;display:grid}.pilot-card{border:1px solid var(--line);background:#fff;border-radius:20px;padding:24px;box-shadow:0 12px 38px #222d290d}.pilot-card>header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.pilot-card h2{margin:3px 0 0;font-size:22px}.pilot-quality{margin-bottom:18px}.pilot-quality>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.pilot-quality article{background:#f7faf8;border:1px solid #e1ebe6;border-radius:14px;min-height:86px;padding:14px}.pilot-quality article span{min-height:34px;color:var(--muted);font-size:12px;line-height:1.4;display:block}.pilot-quality article strong{margin-top:6px;font-size:24px;display:block}.pilot-quality>p{color:var(--muted);margin:14px 0 0;font-size:12px;line-height:1.6}.quality-pass,.quality-block{border-radius:999px;align-items:center;min-height:30px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.quality-pass{color:#176b55;background:#e6f7f0}.quality-block{color:#a53a23;background:#fff0eb}.pilot-import>p{color:var(--muted);line-height:1.7}.upload-box{cursor:pointer;text-align:center;background:#f5fcf9;border:1.5px dashed #9fc7bb;border-radius:17px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:135px;margin-top:18px;padding:20px;display:flex}.upload-box:hover{border-color:var(--accent);background:#eefaf6}.upload-box.disabled{cursor:wait;opacity:.72}.upload-box input{opacity:0;width:1px;height:1px;position:absolute}.upload-box strong{color:var(--accent-dark);font-size:16px}.upload-box small{color:var(--muted)}.import-progress{margin-top:18px}.import-progress>div{background:#e6ece9;border-radius:99px;height:8px;overflow:hidden}.import-progress>div>span{border-radius:inherit;background:linear-gradient(90deg,#2cb28c,#7bd6bc);height:100%;transition:width .2s;display:block}.import-progress p{margin:10px 0 3px;font-weight:800}.import-progress small{color:var(--muted)}.pilot-error{color:#a44032;background:#fff0ed;border-radius:11px;margin-top:14px;padding:12px 14px;font-weight:700}.batch-list{gap:10px;max-height:330px;display:grid;overflow:auto}.batch-list article{background:#f6f8f6;border-radius:13px;padding:13px}.batch-list article>div{justify-content:space-between;gap:8px;display:flex}.batch-list article span{color:var(--accent-dark);font-size:11px;font-weight:900}.batch-list p{color:var(--muted);margin:7px 0;font-size:12px;line-height:1.5}.batch-list small{color:#85918c}.pilot-students>header form{gap:8px;display:flex}.pilot-students input{border:1px solid var(--line);border-radius:10px;min-height:40px;padding:0 12px}.pilot-students button{background:var(--ink);color:#fff;border-radius:10px;min-height:40px;padding:0 15px;font-weight:800}.pilot-students table{border-collapse:collapse;width:100%}.pilot-students th,.pilot-students td{text-align:left;white-space:nowrap;border-bottom:1px solid #edf0ee;padding:11px 12px}.pilot-students th{color:var(--muted);font-size:11px}.pilot-students td{font-size:12px}.pilot-students .source-id{color:#7b8782;text-overflow:ellipsis;max-width:180px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden}.pilot-roster-note{color:var(--muted);margin:-4px 0 16px;font-size:13px;line-height:1.65}.pilot-empty{color:var(--muted);text-align:center;padding:24px 0}.operating-hero{align-items:center}.operating-back{color:#106a55;background:#eaf9f4;border:1px solid #b8e5d8;border-radius:12px;flex:none;align-items:center;min-height:42px;padding:0 15px;font-size:13px;font-weight:800;display:inline-flex}.operating-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.operating-metrics article{background:linear-gradient(135deg,#fff,#effbf6);border:1px solid #cfe5dd;border-radius:16px;min-height:102px;padding:17px}.operating-metrics span{color:var(--muted);font-size:12px;display:block}.operating-metrics strong{letter-spacing:-.04em;margin-top:9px;font-size:26px;display:block}.operating-notice{color:#755b19;background:#fff9e9;border-radius:14px;align-items:flex-start;gap:12px;margin-bottom:18px;padding:15px 17px;font-size:13px;line-height:1.7;display:flex}.operating-export{color:var(--muted);background:#fff;border:1px solid #dbe8e1;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-bottom:18px;padding:14px 17px;font-size:12px;line-height:1.6;display:grid}.operating-export strong{color:var(--ink);font-size:13px}.operating-export>div{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.operating-export a{color:#106a55;background:#f4fcf8;border:1px solid #cbe2d9;border-radius:9px;align-items:center;min-height:34px;padding:0 10px;font-size:11px;font-weight:900;display:inline-flex}.operating-notice strong{color:#5b4310;flex:none}.operating-success{color:#106a55;background:#eaf9f4;border-radius:11px;margin:0 0 18px;padding:12px 14px;font-weight:700}.operating-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px;display:grid}.operating-form form{gap:13px;display:grid}.operating-form label{color:#52625b;gap:7px;font-size:12px;font-weight:800;display:grid}.operating-form input,.operating-form select,.operating-students>header input{outline-color:var(--accent);width:100%;min-height:43px;color:var(--ink);background:#fff;border:1px solid #dbe4df;border-radius:10px;padding:0 12px}.operating-form select{padding-right:28px}.operating-form button{background:var(--ink);color:#fff;border-radius:11px;min-height:46px;font-weight:900}.operating-form button:disabled{cursor:wait;opacity:.55}.operating-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.operating-students{margin-bottom:18px}.operating-students>header input{width:min(280px,100%)}.operating-students>p{color:var(--muted);margin:-4px 0 16px;font-size:12px;line-height:1.7}.operating-students table small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.operating-list{gap:10px;display:grid}.operating-list article{background:#fbfcfb;border:1px solid #e5ece8;border-radius:12px;padding:13px}.operating-list article>div{justify-content:space-between;gap:10px;display:flex}.operating-list strong{font-size:13px}.operating-list span,.operating-list small{color:var(--muted);font-size:11px}.operating-list p{color:#52625b;margin:6px 0;font-size:12px;line-height:1.5}.operating-form-hint{color:var(--muted);margin:-2px 0 0;font-size:12px;line-height:1.65}.operating-schedule-form,.operating-batch-form{margin-bottom:18px}.operating-batch-form>p{color:var(--muted);margin:-5px 0 17px;font-size:12px;line-height:1.7}.weekday-checks{border:0;flex-wrap:wrap;gap:8px;padding:0;display:flex}.weekday-checks legend{color:#52625b;margin-bottom:8px;font-size:12px;font-weight:800}.weekday-checks label{border:1px solid #dbe4df;border-radius:9px;grid-auto-flow:column;align-items:center;gap:4px;min-height:36px;padding:0 9px;font-size:12px;display:inline-flex}.weekday-checks input{width:auto;min-height:0;padding:0}.operating-schedule-form select[multiple]{height:170px;padding:7px}.operating-schedule-form select[multiple] option{padding:7px}.operating-sessions{margin-top:18px}.operating-sessions>p{color:var(--muted);margin:-4px 0 16px;font-size:12px;line-height:1.7}.operating-sessions .operating-list article>button{color:#106a55;background:#eaf9f4;border-radius:9px;min-height:34px;margin-top:5px;padding:0 12px;font-size:12px;font-weight:900}.operating-sessions .operating-list article>button:disabled{opacity:.5}.session-actions{align-items:center;gap:12px;margin-top:8px;display:flex}.session-actions label{color:var(--muted);align-items:center;gap:5px;font-size:12px;font-weight:800;display:inline-flex}.bulk-adjust{background:#f4fcf8;border:1px solid #b8e5d8;border-radius:13px;grid-template-columns:1.1fr 1fr 1fr auto;align-items:end;gap:10px;margin-top:16px;padding:14px;display:grid}.bulk-adjust strong{font-size:13px}.bulk-adjust label{color:#52625b;gap:5px;font-size:11px;font-weight:800;display:grid}.bulk-adjust input{background:#fff;border:1px solid #cbe2d9;border-radius:9px;min-height:37px;padding:0 10px}.bulk-adjust button{color:#fff;background:#106a55;border-radius:9px;min-height:37px;padding:0 13px;font-size:12px;font-weight:900}@media (max-width:1180px){.pilot-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:1020px){.app-shell{grid-template-columns:84px minmax(0,1fr)}.sidebar{align-items:center;padding:18px 10px}.brand>span:last-child,.nav-item:not(.active):after,.nav-item{font-size:0}.brand{padding:3px}.nav-list{width:100%}.nav-item{justify-content:center;padding:0}.nav-glyph{font-size:12px}.save-status{justify-content:center;width:48px;padding:8px}.save-status div{display:none}.dashboard-grid,.finance-grid,.report-grid{grid-template-columns:1fr}.split-layout{grid-template-columns:250px minmax(0,1fr)}.settings-grid{grid-template-columns:1fr}.report-wide{grid-column:auto}.pilot-shell{padding-inline:20px}.pilot-grid{grid-template-columns:1fr}.pilot-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.pilot-quality>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){body{font-size:14px}.app-shell{padding-bottom:68px;display:block}.sidebar{display:none}.topbar{height:62px;padding:0 14px}.campus{font-size:12px}.ai-button{min-height:40px;padding:0 11px;font-size:12px}.role-switcher span{display:none}.role-switcher{min-height:40px;padding:0 7px}.content-wrap{padding:24px 14px 50px}.page-header{grid-template-columns:minmax(0,1fr);align-items:flex-start;gap:14px;display:grid}.page-header h1,.hero h1{font-size:28px}.page-header>div>p:last-child{font-size:13px}.page-header-actions{justify-content:flex-start;justify-self:start}.page-header-actions .primary-button,.page-header-actions .secondary-button{min-width:44px;padding:0 14px}.hero{align-items:flex-start}.hero-score{border-radius:20px;width:76px;height:76px}.hero-score strong{font-size:27px}.hero-score span{font-size:10px}.quick-entry{flex-direction:column;align-items:stretch}.quick-entry>button{width:100%}.quick-actions{grid-template-columns:1fr 1fr}.quick-actions button{min-height:80px}.split-layout{min-height:0;box-shadow:none;background:0 0;border:0;display:block;overflow:visible}.object-list{scrollbar-width:none;background:0 0;border:0;gap:8px;padding:0 0 12px;display:flex;overflow-x:auto}.search-box{align-self:stretch;min-width:190px}.list-count{display:none}.object-row{border-color:var(--line);background:#fff;min-width:220px}.object-detail{border:1px solid var(--line);background:#fff;border-radius:17px;padding:16px}.profile-title p{white-space:normal;line-height:1.5}.stage-badge{display:none}.next-step h3{font-size:17px}.stat-grid>div{padding:11px}.stat-grid strong{font-size:17px}.timeline-row{grid-template-columns:75px minmax(0,1fr);gap:10px}.class-card{grid-template-columns:64px minmax(0,1fr);gap:12px}.class-actions{grid-column:1/3}.class-actions .primary-button{width:100%}.metric-grid{grid-template-columns:1fr 1fr}.metric-grid article:first-child{grid-column:1/3}.finance-metrics article:first-child{grid-column:auto}.contract-toolbar{flex-direction:column;align-items:stretch}.contract-toolbar .search-box{max-width:none}.contract-filters{flex-wrap:nowrap;justify-content:flex-start;padding-bottom:2px;overflow-x:auto}.contract-filters button{white-space:nowrap}.contract-card{grid-template-columns:1fr;gap:14px;padding:16px}.contract-card-money{border-top:1px solid var(--line);border-left:0;padding:13px 0 0}.contract-card-actions{grid-template-columns:1fr 1fr}.contract-card-actions button{width:100%}.settings-grid{grid-template-columns:1fr}.teacher-kpis{grid-template-columns:1fr 1fr}.teacher-apply-banner,.teacher-apply-actions{flex-direction:column;align-items:stretch}.teacher-apply-banner a,.teacher-apply-actions button{justify-content:center}.teacher-contact,.teacher-detail-grid{grid-template-columns:1fr}.mobile-nav{z-index:50;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fffffff5;justify-content:flex-start;align-items:stretch;height:64px;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-x:auto}.mobile-nav a{min-width:54px;color:var(--muted);flex:1 0 54px;place-items:center;font-size:12px;font-weight:700;display:grid}.mobile-nav a.active{color:var(--accent-dark);font-weight:900}.modal-backdrop{align-items:end;padding:0}.modal{border-radius:22px 22px 0 0;width:100%;max-height:92vh;padding:20px 16px}.modal-head h2{font-size:21px}.form-grid{grid-template-columns:1fr;gap:0}.form-footer{margin:16px -16px -20px;padding:12px 16px;bottom:-20px}.form-footer small{display:none}.form-footer .primary-button{width:100%}.choice-grid{grid-template-columns:1fr}.weekday-picker{grid-template-columns:repeat(4,1fr)}.batch-kpis{grid-template-columns:repeat(2,1fr)}.batch-preview-list>div{grid-template-columns:minmax(100px,1fr) 90px}.batch-preview-list>div>em{grid-column:1/3;justify-self:start}.lesson-preview-list>div{grid-template-columns:minmax(110px,1fr) 34px 16px 34px}.lesson-preview-list i{grid-column:1/5;justify-self:start}.import-preview>div{grid-template-columns:58px minmax(0,1fr)}.import-preview>div>em{grid-column:1/3}.toast{bottom:78px;right:16px}.apply-shell{padding:26px 12px}.apply-form{border-radius:17px;padding:17px}.apply-hero h1{font-size:34px}.apply-success{margin-top:7vh;padding:28px 18px}.pilot-shell{padding:0 12px 50px}.pilot-topbar{flex-direction:column;align-items:flex-start;gap:11px;padding:13px 0}.pilot-topbar>div{flex-wrap:wrap}.pilot-hero{flex-direction:column;padding-top:30px}.pilot-health{width:100%}.pilot-preservation{flex-direction:column;align-items:flex-start;gap:8px}.pilot-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.pilot-quality>div{grid-template-columns:1fr}.pilot-card{border-radius:16px;padding:17px}.pilot-card>header{flex-direction:column}.pilot-students>header form{width:100%}.pilot-students input{flex:1;min-width:0}.pilot-gate section{padding:28px 20px}.pilot-gate h1{font-size:30px}.workbench-login{padding:16px}.workbench-login-shell{border-radius:18px;width:min(400px,100%);min-height:0;display:block}.workbench-login-visual{display:none}.workbench-login-panel{padding:30px 20px}.workbench-login h1{margin-bottom:26px}.operating-back{justify-content:center;width:100%}.operating-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.operating-export{grid-template-columns:1fr;gap:8px}.operating-export>div{justify-content:flex-start}.operating-form-grid,.operating-fields{grid-template-columns:1fr}.operating-students>header input{width:100%}.bulk-adjust{grid-template-columns:1fr;align-items:stretch}.bulk-adjust button{min-height:43px}}@media (max-width:420px){.campus{text-overflow:ellipsis;white-space:nowrap;max-width:112px;overflow:hidden}.quick-actions{grid-template-columns:1fr 1fr}.quick-actions button{grid-template-columns:30px 1fr;padding:10px}.quick-actions button>span{width:30px;height:30px}.metric-grid{grid-template-columns:1fr}.metric-grid article:first-child{grid-column:auto}.contract-card-actions{grid-template-columns:1fr}.object-head{align-items:flex-start}}.online-contract-shell{background:#f5f8f6;min-height:100vh;padding:0 24px 56px}.online-contract-topbar{justify-content:space-between;align-items:center;gap:18px;width:min(1180px,100%);min-height:76px;margin:auto;display:flex}.online-contract-topbar>div{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;font-size:13px;display:flex}.online-contract-topbar>div a{color:var(--ink);font-weight:800}.online-contract-intro{background:var(--ink);color:#fff;border-radius:24px;justify-content:space-between;gap:32px;width:min(1180px,100%);margin:18px auto 22px;padding:32px;display:flex}.online-contract-intro .eyebrow{color:#b8e8d9}.online-contract-intro h1{letter-spacing:-.04em;margin:5px 0 10px;font-size:clamp(28px,4vw,42px)}.online-contract-intro p:last-child{color:#d4e3de;max-width:630px;margin:0;line-height:1.7}.contract-flow{align-content:center;gap:10px;min-width:160px;font-weight:800;display:grid}.contract-flow span{border:1px solid #fff3;border-radius:10px;padding:9px 12px;font-size:13px}.online-contract-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:min(1180px,100%);margin:0 auto 22px;display:grid}.contract-form{align-content:start;gap:13px;display:grid}.contract-form h2,.contract-template-list h2,.contract-envelope-list h2{margin:0;font-size:21px}.contract-form>p:not(.eyebrow){color:var(--muted);margin:-3px 0 2px;line-height:1.65}.contract-form label{color:var(--muted);gap:7px;font-size:13px;font-weight:750;display:grid}.contract-form input,.contract-form select,.signing-link-card input{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;border-radius:10px;padding:0 12px}.contract-form input[type=file]{padding:9px}.contract-form button,.signing-link-card button{background:var(--ink);color:#fff;min-height:44px;font:inherit;border-radius:11px;padding:0 16px;font-weight:850}.contract-form button:disabled,.signing-link-card button:disabled{opacity:.5;cursor:not-allowed}.contract-recipient{color:#326151;background:#eef7f3;border-radius:10px;margin:0;padding:11px 12px;font-size:13px;line-height:1.55}.signing-link-card{background:#eafbf3;border:1px solid #a7d9c6;border-radius:18px;justify-content:space-between;align-items:center;gap:20px;width:min(1180px,100%);margin:0 auto 22px;padding:22px 24px;display:flex}.signing-link-card h2{margin:2px 0 12px;font-size:21px}.signing-link-card input{background:#fff;min-width:min(600px,54vw);font-size:13px}.signing-link-card>div:last-child{flex-wrap:wrap;gap:9px;display:flex}.signing-link-card .secondary-button{color:var(--ink);border:1px solid var(--line);background:#fff}.contract-template-list,.contract-envelope-list{width:min(1180px,100%);margin:0 auto 22px}.contract-template-list>header,.contract-envelope-list>header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.contract-template-list>header>span,.contract-envelope-list>header>span{color:var(--muted);background:#eef4f0;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.contract-template-list>div:not(.table-wrap){grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;display:grid}.contract-template-list article{border:1px solid #e7ece9;border-radius:12px;gap:5px;padding:14px;display:grid}.contract-template-list article span,.contract-template-list article small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.contract-status{color:#8c6100;background:#fff4d7;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:850;display:inline-flex}.contract-status.signed{color:#197245;background:#dff5e8}.contract-status.expired{color:#68736e;background:#f1f2f2}.sign-shell{background:linear-gradient(135deg,#eff6f1,#f7faf8);place-items:center;min-height:100vh;padding:28px 18px;display:grid}.sign-card{border:1px solid var(--line);background:#fff;border-radius:24px;width:min(680px,100%);padding:clamp(22px,5vw,42px);box-shadow:0 22px 70px #16322a1f}.sign-brand{align-items:center;gap:10px;margin-bottom:28px;display:flex}.sign-brand>span:last-child{gap:3px;display:grid}.sign-brand small{color:var(--muted)}.sign-card>.eyebrow{color:var(--accent-dark)}.sign-card h1{letter-spacing:-.04em;margin:5px 0 14px;font-size:clamp(28px,7vw,40px);line-height:1.12}.sign-summary{flex-wrap:wrap;gap:8px;margin:0 0 22px;display:flex}.sign-summary span{color:#49635a;background:#f1f5f3;border-radius:9px;padding:7px 9px;font-size:13px}.verify-panel,.signature-panel{gap:14px;display:grid}.verify-panel{background:#f5f8f6;border-radius:16px;padding:20px}.verify-panel h2{margin:0;font-size:19px}.verify-panel p{color:var(--muted);margin:-6px 0 3px;line-height:1.6}.verify-panel label,.signature-panel>label:not(.sign-consent){color:var(--muted);gap:7px;font-size:13px;font-weight:800;display:grid}.verify-panel input,.signature-panel input{border:1px solid var(--line);min-height:46px;color:var(--ink);font:inherit;border-radius:10px;padding:0 12px}.verify-panel button,.signature-panel>button{background:var(--ink);color:#fff;min-height:47px;font:inherit;border-radius:11px;padding:0 16px;font-weight:850}.verified-line{color:#176a41;background:#e8f8ef;border-radius:10px;padding:11px 12px;font-weight:850}.document-button{border:1px solid var(--line);color:var(--ink)!important;background:#f2f6f4!important}.signature-box{border:1px solid var(--line);border-radius:14px;overflow:hidden}.signature-box>div{color:var(--muted);background:#f7faf8;justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;font-weight:750;display:flex}.signature-box>div button{color:var(--accent-dark);font:inherit;background:0 0;padding:3px 0;font-weight:850}.signature-box canvas{touch-action:none;cursor:crosshair;background:repeating-linear-gradient(#0000 0 45px,#edf0ee 46px);width:100%;height:auto;display:block}.sign-consent{color:#4b6258;align-items:flex-start;gap:9px;font-size:14px;line-height:1.6;display:flex}.sign-consent input{width:18px;min-height:18px;accent-color:var(--ink);margin-top:3px}.sign-card footer{color:var(--muted);margin-top:24px;font-size:12px;line-height:1.65}.sign-error{color:#b42318;margin:14px 0 0;font-size:14px}.sign-success{text-align:center}.sign-success>span:first-child{color:#197245;background:#dff5e8;border-radius:50%;place-items:center;width:52px;height:52px;margin:0 auto 18px;font-size:28px;font-weight:900;display:grid}.sign-success>p{color:var(--accent-dark);font-weight:850}.sign-success small{color:var(--muted);line-height:1.65}@media (max-width:720px){.online-contract-shell{padding:0 14px 42px}.online-contract-topbar{flex-direction:column;align-items:flex-start;min-height:66px;padding:12px 0}.online-contract-topbar>div{align-items:flex-end;font-size:12px}.online-contract-intro{border-radius:18px;gap:20px;padding:23px;display:grid}.online-contract-grid{grid-template-columns:1fr}.signing-link-card{padding:18px;display:grid}.signing-link-card input{min-width:0}.sign-card{border-radius:19px}}
