:root{font-family:Microsoft YaHei,Arial,sans-serif;color:#14213a;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #cbd5e1;border-radius:4px;background:#fff;padding:9px 14px;color:#183153}button:disabled{opacity:.6;cursor:not-allowed}.primary{border-color:#0754af;background:#0754af;color:#fff;font-weight:700}.auth-shell{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eef4ff,#f7f8fc)}.auth-card{width:390px;background:#fff;border:1px solid #dce3ef;box-shadow:0 18px 45px #1f3c6d1a;padding:36px;border-radius:12px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;background:#0754af;color:#fff;font-weight:800;border-radius:4px}.auth-card h1{font-size:24px;margin:14px 0 4px}.auth-card p{color:#667085;margin:0 0 25px}.auth-card form,label{display:grid;gap:7px}.auth-card form{gap:17px}.auth-card input,.modal input,.modal select,.modal textarea{border:1px solid #bfcade;border-radius:4px;padding:10px;width:100%}.form-error{color:#b42318!important;font-size:14px}.app-shell{min-height:100vh;display:flex}.sidebar{width:240px;flex:none;background:#fff;border-right:1px solid #dce3ef;display:flex;flex-direction:column}.wordmark{display:flex;gap:12px;align-items:center;padding:26px 23px}.wordmark small,.account small{display:block;color:#667085;margin-top:4px}.sidebar nav{display:grid;gap:4px;padding-top:20px}.sidebar a{color:#344054;text-decoration:none;padding:15px 24px;border-left:4px solid transparent}.sidebar a.active{background:#edf3fc;color:#0754af;font-weight:700;border-left-color:#0754af}.account{margin-top:auto;padding:22px;border-top:1px solid #e3e8f1}.account button{margin-top:15px;border:0;padding:0;color:#475467}.content{min-width:0;flex:1;padding:0 24px}.topbar{height:76px;display:flex;gap:22px;align-items:center;border-bottom:1px solid #dce3ef}.topbar h1{font-size:25px;margin-right:auto}.search{width:min(440px,42vw);display:flex;gap:8px;align-items:center;border:1px solid #bfcade;background:#fff;padding:0 12px}.search input{border:0;outline:0;width:100%;padding:11px 0}.filters{display:flex;align-items:center;gap:12px;padding:18px;border:1px solid #bdcae0;background:#fff;margin:20px 0 24px}.clear{margin-left:auto;color:#0754af;border:0}.metric-row{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:24px}.metric-row>div{border:1px solid #c7d1e2;border-radius:5px;background:#fff;padding:16px;display:grid;gap:8px;border-left:4px solid #d3dbe8}.metric-row small{color:#475467}.metric-row strong{font-size:30px;color:#0754af}.metric-row .alert{border-left-color:#c31b1b}.metric-row .alert strong{color:#c31b1b}.metric-row .success{border-left-color:#218739}.metric-row .success strong{color:#218739}.table-wrap{border:1px solid #bcc9dd;background:#fff;overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th,td{padding:16px;border-bottom:1px solid #e6eaf0;white-space:nowrap}th{font-weight:700;color:#344054;background:#fafbfd}tbody tr{cursor:pointer}tbody tr:hover{background:#f4f8ff}.badge{display:inline-block;background:#eaf2ff;color:#0754af;padding:3px 7px;border-radius:3px;font-size:12px}.drawer{position:fixed;right:0;top:0;width:min(520px,90vw);height:100vh;background:#fff;border-left:1px solid #cbd5e1;box-shadow:-10px 0 28px #1822302b;padding:24px;overflow:auto;z-index:4}.drawer header,.modal header,.modal footer{display:flex;justify-content:space-between;align-items:center}.drawer h2,.modal h2{margin:0}.icon-button{border:0;font-size:27px;padding:0 5px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid #cad4e3;margin:24px 0}.detail-grid div{padding:14px;border-bottom:1px solid #e1e7f0}.detail-grid span{display:block;color:#667085;font-size:12px;margin-bottom:5px}.drawer h3{font-size:15px;margin-top:26px}.timeline{border-left:2px solid #0754af;padding:4px 0 4px 12px;font-size:14px}.modal-backdrop{position:fixed;inset:0;background:#10182866;display:grid;place-items:center;z-index:5}.modal{background:#fff;width:min(650px,94vw);padding:24px;border-radius:8px;box-shadow:0 16px 35px #0003}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:22px 0}.form-grid label{display:grid;gap:7px}.form-grid .wide{grid-column:span 2}.modal footer{justify-content:flex-end;gap:10px}@media(max-width:950px){.sidebar{width:190px}.metric-row{grid-template-columns:repeat(2,1fr)}.topbar{gap:10px}.search{width:250px}}@media(max-width:700px){.sidebar{display:none}.content{padding:0 12px}.topbar h1{font-size:20px}.metric-row{grid-template-columns:1fr 1fr}.filters{overflow:auto}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:span 1}}.stage-rail{margin:16px 0}.stage-rail .neutral{color:#0754af!important}.drawer-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 4px;padding-bottom:16px;border-bottom:1px solid #e6eaf0}.inline-form{display:grid;gap:9px}.inline-form textarea,.inline-form input{width:100%;border:1px solid #bfcade;border-radius:4px;padding:9px}.inline-form label{display:grid;gap:5px;font-size:13px}.timeline button{margin-left:8px;padding:3px 7px;font-size:12px}.field-error{color:#b42318;font-size:14px;margin:0}.required-hint{margin:14px 0 0;color:#475467}.required-hint b,.modal label>b{color:#b42318}.modal small{color:#667085;font-size:12px}.modal{max-height:94vh;overflow:auto}.sidebar nav button{border:0;border-radius:0;text-align:left;background:transparent;color:#344054;padding:15px 24px;border-left:4px solid transparent}.sidebar nav button.active{background:#edf3fc;color:#0754af;font-weight:700;border-left-color:#0754af}.management{padding:34px;max-width:none}.management h1{margin-top:0}.review-card{display:grid;gap:10px;background:#fff;border:1px solid #d5deed;padding:18px;margin:14px 0;border-radius:5px}.review-card span{color:#667085}.review-card textarea{min-height:76px;width:100%;padding:8px;border:1px solid #bfcade}.setting-row{display:grid;grid-template-columns:1fr 130px;gap:18px;align-items:center;background:#fff;border:1px solid #d5deed;padding:14px;margin:10px 0}.setting-row input{padding:8px;border:1px solid #bfcade;border-radius:4px}.trial-workbench{max-width:none}.trial-workbench header{display:flex;align-items:center;justify-content:space-between}.trial-filters{display:flex;gap:8px;align-items:center;margin:0 0 18px}.trial-filters input{padding:7px;border:1px solid #bfcade;border-radius:4px}.student-link{padding:0;border:0;background:transparent;color:#0754af;text-decoration:underline}.enrollment-workbench header{display:flex;justify-content:space-between;align-items:center;gap:12px}.enrollment-filters{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.roster-tree section{margin:10px 0;padding-left:12px;border-left:2px solid #d8e2ef}.roster-tree h2,.roster-tree h3,.roster-tree h4{margin:8px 0}.roster-tree .student-link{display:block;margin:4px 0}.enrollment-form{max-width:760px}.long-term-filters{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.long-term-workbench header p{color:#667085}.setting-card{background:#fff;border:1px solid #d5deed;border-radius:5px;padding:16px;margin:12px 0}.setting-card h2{font-size:16px;margin:0 0 10px}.setting-card p{margin:7px 0}.setting-card input{width:140px;padding:7px;border:1px solid #bfcade;border-radius:4px}@media print{.sidebar,.print-action,.trial-filters,.drawer{display:none!important}.content{padding:0}.management{padding:0;max-width:none}.trial-workbench table{font-size:11px}.trial-workbench th,.trial-workbench td{padding:6px;white-space:normal}}.course-center{max-width:1200px}.course-center>header p{color:#667085}.course-layout{display:grid;grid-template-columns:minmax(360px,1fr) minmax(390px,1fr);gap:20px;align-items:start}.course-list,.class-panel{background:#fff;border:1px solid #d5deed;border-radius:6px;padding:18px}.selected-row{background:#edf3fc!important}.class-panel header{display:flex;gap:12px;align-items:center;justify-content:space-between}.class-panel header h2{margin:0}.class-panel h3{margin-top:24px}.class-form{grid-template-columns:1fr 1fr 1fr auto;align-items:end}.class-list{display:grid;gap:8px;margin-top:12px}.class-list article{display:flex;gap:10px;align-items:center;justify-content:space-between;border:1px solid #e2e8f0;padding:10px;border-radius:4px}.class-list article>span:nth-child(2){color:#667085}.merge-control{display:grid;gap:6px;margin-top:22px;padding-top:16px;border-top:1px solid #e2e8f0}.notice{background:#fff7e6;border:1px solid #f4c775;border-radius:4px;padding:12px;color:#7a4a00}.course-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.course-picker select{width:100%;border:1px solid #bfcade;border-radius:4px;padding:9px;background:#fff}@media(max-width:900px){.course-layout,.class-form,.course-picker{grid-template-columns:1fr}}.detail-title{display:flex;align-items:center;gap:14px}.detail-title h2{margin:0;font-size:20px}.detail-modal .ant-modal-body{padding-top:8px}.detail-modal .ant-tabs-nav{min-width:104px}.detail-panel{display:grid;gap:16px;min-height:320px;max-height:min(64vh,620px);overflow:auto;padding:2px 6px 2px 20px}.detail-card{background:#fff;border:1px solid #e1e7f0;border-radius:8px;padding:16px 18px;margin:0}.detail-card h3{margin:0 0 10px;font-size:15px;color:#183153}.detail-card p{margin:6px 0}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.card-head h3{margin:0}.detail-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;margin:0}.detail-fields>div,.detail-fields>label{display:grid;gap:4px;min-width:0}.detail-fields .wide{grid-column:span 2}.detail-fields dt,.detail-fields label>span{color:#667085;font-size:12px}.detail-fields dd{margin:0;color:#183153;word-break:break-word}.detail-fields.editing input,.detail-fields.editing select,.detail-fields.editing textarea{width:100%;border:1px solid #bfcade;border-radius:4px;padding:8px}@media(max-width:640px){.detail-fields{grid-template-columns:1fr}.detail-fields .wide{grid-column:span 1}}.detail-panel .stage-rail,.detail-panel .drawer-actions{margin:0}.detail-panel .stage-rail{overflow-x:auto;padding-bottom:4px}.detail-panel .drawer-actions{border-bottom:0;padding-bottom:0}@media(max-width:960px){.detail-panel{max-height:70vh}}@media print{.detail-modal{display:none!important}}.my-customers-topbar{height:80px;padding:0;gap:20px}.my-customers-topbar h1{font-size:28px;letter-spacing:-.02em;color:#141414}.my-customers-topbar input{width:440px;max-width:42vw;height:42px;padding:10px 15px 10px 43px;border:1px solid #bfc9d9;border-radius:3px;background:#fff;font-size:14px;background-image:linear-gradient(45deg,transparent 45%,#344054 46%,#344054 54%,transparent 55%),linear-gradient(-45deg,transparent 45%,#344054 46%,#344054 54%,transparent 55%);background-size:12px 2px,2px 12px;background-position:17px 28px,28px 17px;background-repeat:no-repeat}.my-customers-topbar .primary{height:42px;padding:0 22px;border-radius:3px;background:#004699;border-color:#004699}.customer-filters{min-height:86px;display:flex;gap:15px;align-items:center;flex-wrap:wrap;padding:18px 20px;margin:30px 0;background:#fff;border:1px solid #bfc9d9;border-radius:6px;box-shadow:0 1px 2px #1b1c1c0a}.customer-filters select{height:42px;padding:0 30px 0 13px;border:1px solid #bfc9d9;border-radius:3px;background:#fcf9f8;color:#424752}.customer-filters button{margin-left:auto;border:0;background:transparent;color:#004699;padding:8px 0;font-size:13px;font-weight:700}.customer-stat-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin:0 0 30px}.customer-stat-cards article{min-height:115px;background:#fff;border:1px solid #bfc9d9;border-radius:6px;padding:18px 20px;display:grid;align-content:start;gap:8px;box-shadow:0 1px 2px #1b1c1c08}.customer-stat-cards span{color:#424752;font-size:14px;font-weight:600}.customer-stat-cards strong{font-size:36px;line-height:40px;letter-spacing:-.02em;color:#141414}.customer-stat-cards article:first-child strong{color:#004699}.customer-stat-cards .risk-card{border-left:4px solid #d20c16;padding-left:17px}.customer-stat-cards .risk-card strong{color:#c90912}.customer-stat-cards .success-card{border-left:4px solid #267b10;padding-left:17px}.customer-stat-cards .success-card strong{color:#167509}.content:has(.customer-filters){padding:0 30px;background:#f5f7fa}.content:has(.customer-filters) .table-wrap{min-height:calc(100vh - 400px);border:1px solid #bfc9d9;border-radius:6px;overflow:auto;background:#fff}.content:has(.customer-filters) table{font-size:14px}.content:has(.customer-filters) th{height:50px;padding:12px 20px;background:#fafafa;color:#424752;font-size:13px;letter-spacing:.02em}.content:has(.customer-filters) td{height:84px;padding:15px 20px;border-color:#edf0f4;color:#424752;vertical-align:middle}.content:has(.customer-filters) tbody tr:has(.overdue-tag){background:snow}.content:has(.customer-filters) tbody tr:hover{background:#f0f5ff}.content:has(.customer-filters) .student-link{color:#1b1c1c;font-weight:600;text-decoration:none}.content:has(.customer-filters) .student-link:hover{color:#004699;text-decoration:underline}.badge{margin-right:7px;min-height:22px;padding:3px 8px;border-radius:2px;font-size:11px;line-height:16px;font-weight:600}.phone-status.valid{background:#e6f4ff;color:#004699}.phone-status.pending{background:#fff5df;color:#bd6b00}.phone-status.invalid{background:#fff0f0;color:#c90912}.stage-badge.intent,.stage-badge.trial_scheduled,.stage-badge.trial_attended{background:#e8f1ff;color:#004699}.stage-badge.enrolled{background:#edf9e8;color:#167509}.stage-badge.pending_enrollment{background:#fff5df;color:#956000}.stage-badge.lost,.stage-badge.invalid{background:#f0f0f0;color:#5f6368}.overdue-tag{display:inline-block;margin-left:8px;padding:3px 6px;border-radius:2px;background:#c90912;color:#fff;font-size:11px;font-weight:700;vertical-align:middle}.followup-date{display:grid;gap:4px}.next-date{color:#004699;font-weight:600}.overdue-date{color:#c90912;font-weight:600}@media(max-width:1100px){.customer-stat-cards{gap:12px}.customer-stat-cards article{padding:15px}.content:has(.customer-filters) th,.content:has(.customer-filters) td{padding-left:13px;padding-right:13px}}@media(max-width:900px){.customer-stat-cards{grid-template-columns:repeat(2,1fr)}.my-customers-topbar input{width:260px}.customer-filters{margin-top:18px}}.tab-bar{display:flex;gap:8px;margin:16px 0 20px}.course-group{border-left:2px solid #d8e2ef;padding:8px 12px;margin:10px 0}.course-group h3{margin:0 0 8px;font-size:14px;color:#475467}.course-group button{margin:0 6px 6px 0}.timetable{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:10px;overflow:auto}.timetable article{background:#fff;border:1px solid #d5deed;border-radius:6px;min-height:190px;padding:12px}.timetable h2{font-size:15px;margin:0 0 10px}.timetable article div{display:grid;gap:4px;border-left:3px solid #0754af;background:#f5f9ff;margin:7px 0;padding:7px;font-size:13px}.timetable p{color:#98a2b3;font-size:13px}.principal-dashboard{max-width:1440px;background:#f4f6fa}.dashboard-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:12px}.dashboard-heading h1{margin:0}.dashboard-heading p{color:#667085;margin:7px 0 0}.dashboard-range{display:flex;align-items:center;gap:8px;border:0;background:#fff;border-radius:8px;padding:12px;margin:0 0 16px}.dashboard-range legend{font-weight:700}.dashboard-cards{grid-template-columns:repeat(6,1fr);gap:12px}.dashboard-cards>div,.dashboard-cards>.dashboard-kpi{border:0;border-radius:8px;box-shadow:0 1px 3px #18223012;padding:17px}.dashboard-kpi{display:grid;gap:8px;text-align:left;align-content:start;min-height:92px;width:100%;cursor:pointer}.dashboard-kpi:hover,.dashboard-kpi:focus-visible{background:#f4f8ff;box-shadow:0 3px 8px #1822301f;outline:2px solid #0754af;outline-offset:2px}.dashboard-table{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin:16px 0}.dashboard-table h2{font-size:17px;margin:0 0 12px}.dashboard-table table{font-size:13px}.dashboard-table th,.dashboard-table td{padding:11px 10px}.dashboard-stat-link{display:block;width:100%;min-width:72px;min-height:34px;padding:6px 10px;border:1px solid #b9c8de;border-radius:4px;background:#f7faff;color:#0754af;font-weight:700;text-decoration:underline;text-align:center;cursor:pointer}.dashboard-stat-link:hover,.dashboard-stat-link:focus-visible{background:#eaf2ff;border-color:#0754af;outline:2px solid #0754af;outline-offset:1px}.dashboard-detail-modal{width:min(1180px,94vw);max-height:90vh;overflow:auto}.dashboard-detail-modal table{margin-top:18px}.dashboard-bottom{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dashboard-bottom article{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.dashboard-bottom h2{font-size:17px;margin:0 0 12px}.dashboard-bottom ul{list-style:none;padding:0;margin:0}.dashboard-bottom li{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid #eef2f6}.dashboard-bottom li span{color:#667085}@media(max-width:1100px){.dashboard-cards{grid-template-columns:repeat(3,1fr)}.dashboard-bottom{grid-template-columns:1fr}}@media(max-width:700px){.dashboard-cards{grid-template-columns:repeat(2,1fr)}.dashboard-range{flex-wrap:wrap}}.issue20-register{max-width:none}.issue20-register .view-tabs{display:flex;gap:8px;margin:16px 0}.issue20-register .table-wrap{overflow:auto}.register-row{display:grid;grid-template-columns:100px 90px 120px 70px 150px 100px 110px 110px 90px 100px 100px 100px 120px 190px;align-items:center;gap:8px;min-width:1740px}.register-row input,.register-row select{min-width:0;padding:6px;border:1px solid #bfcade;border-radius:4px;background:#fff}.row-actions{display:flex;gap:4px}.row-actions button{padding:6px 8px;font-size:12px}.roster-editor{display:grid;gap:14px}.roster-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #e6eaf0}.roster-row button{padding:5px 8px;margin-left:4px}.capacity-danger{color:#b42318!important;font-weight:800;background:#fff0f0}.stats-panel{display:grid;gap:12px}.stats-panel h2{margin:18px 0 0}.stats-panel label{display:flex;align-items:center;gap:8px}.stats-panel label input{width:120px}.stats-panel table{background:#fff;border:1px solid #d5deed}.issue20-register pre{white-space:pre-wrap;word-break:break-word;background:#f8fafc;padding:8px}.issue20-register code{white-space:pre-wrap}.issue20-register .register-table thead th{position:sticky;top:0;z-index:2}.seat-panel{max-width:900px}.seat-grid{table-layout:fixed;background:#f8fafc}.seat-grid td{padding:3px;width:12.5%;height:70px}.seat-grid button{width:100%;height:62px;padding:4px;font-size:12px}.seat-grid small{display:block;color:#667085;overflow:hidden;text-overflow:ellipsis}.seat-import{display:grid;gap:8px;margin-top:16px}.seat-import textarea{min-height:90px;border:1px solid #bfcade;border-radius:4px;padding:8px;font-family:monospace}.seat-import>span{display:flex;gap:8px}.issue20-register .register-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:12px 0}.issue20-register .register-zoom-controls,.issue20-register .fee-ledger-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.issue20-register .register-zoom-controls button,.issue20-register .fee-ledger-summary button{padding:6px 10px}.issue20-register .register-table-shell{max-width:100%;overflow-x:auto;overflow-y:hidden}.issue20-register .register-table{table-layout:fixed;font-size:calc(14px * var(--register-scale,1))}.issue20-register .register-table th,.issue20-register .register-table td{padding:calc(10px * var(--register-scale,1));font-size:calc(14px * var(--register-scale,1));white-space:normal;vertical-align:top;overflow-wrap:break-word;word-break:normal;line-height:1.35}.issue20-register .register-table .row-actions{display:flex;flex-wrap:wrap;gap:calc(4px * var(--register-scale,1))}.issue20-register .register-table .row-actions button{padding:calc(5px * var(--register-scale,1)) calc(7px * var(--register-scale,1));font-size:calc(12px * var(--register-scale,1));white-space:normal}.issue20-register .permission-hint{color:#667085;font-size:13px;white-space:nowrap}.student-history-search{max-width:1400px}.history-search-form{display:flex;gap:10px;max-width:720px;margin:20px 0}.history-search-form input{flex:1;padding:10px;border:1px solid #bfcade;border-radius:4px}.history-candidates{display:grid;gap:8px;margin:20px 0}.history-candidate{display:flex;justify-content:space-between;gap:16px;text-align:left}.history-candidate span{color:#667085}.history-candidate.selected{border-color:#0754af;background:#edf3fc}.history-detail{display:grid;gap:12px}.history-detail .detail-grid{margin:0}.history-enrollment{padding:10px 0;border-top:1px solid #e1e7f0}.history-enrollment h3{margin:0 0 6px}.history-enrollment p{margin:5px 0}.global-search{display:flex;gap:8px;align-items:center;padding:10px 0;max-width:760px}.global-search input{flex:1;padding:10px;border:1px solid #bfcade;border-radius:4px}.global-search-modal{width:min(1200px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto}.academic-center>.enrollment-workbench,.academic-center>.management{margin-top:16px}.history-candidate-row{display:flex;gap:8px;align-items:stretch}.history-candidate-row .history-candidate{flex:1}.class-workbench{max-width:none}.class-workbench-actions{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.class-workbench-actions label{display:flex;gap:6px;align-items:center}.class-workbench-actions input{width:90px}.roster-drag-row{cursor:grab}.roster-drag-row:active{cursor:grabbing}.drag-handle{color:#667085;font-size:18px}.seat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:10px 0}.seat-cell{display:grid;gap:4px;padding:10px;border:1px solid #bfcade;border-radius:4px;background:#f8fafc}.seat-cell span{overflow-wrap:anywhere}.roster-class-first{max-width:1600px}.roster-class-first .roster-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.roster-class-first .roster-actions h2{margin:0}.stats-total-cards{display:flex;gap:12px;flex-wrap:wrap}.stats-total-cards span{background:#fff;border:1px solid #d5deed;border-radius:5px;padding:12px 16px}.stats-teacher-group,.stats-line{background:#fff;border:1px solid #d5deed;border-radius:5px;margin:10px 0;padding:12px}.stats-teacher-group>details>summary,.stats-line>summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer;font-weight:700}.stats-group-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.stats-line-actions{display:flex;justify-content:flex-end;margin:10px 0}.stats-detail-table{margin-top:10px;min-width:1100px}.stats-detail-table th,.stats-detail-table td{padding:8px}.roster-print-sheet{display:none}.historical-capture{background:#fff;border:1px solid #d5deed;border-radius:6px;padding:16px;margin:14px 0}.historical-capture>header{display:block;margin:0 0 10px}.historical-capture>header h3{margin:0 0 6px}.historical-capture>header p{margin:0;color:#667085}.legacy-snapshot-warning{color:#8a4b00;background:#fff7e6;border:1px solid #f4c775;border-radius:4px;padding:10px}@media print{@page{size:landscape;margin:10mm}body *{visibility:hidden!important}.roster-print-sheet,.roster-print-sheet *{visibility:visible!important}.roster-print-sheet{display:block!important;position:absolute;left:0;top:0;width:100%;background:#fff;color:#000}.roster-print-page{break-after:page;page-break-after:always}.roster-print-page:last-child{break-after:auto;page-break-after:auto}.roster-print-page header{display:block!important;margin-bottom:8mm}.roster-print-page h1{font-size:18pt;margin:0 0 3mm}.roster-print-page p{font-size:10pt;margin:0}.roster-print-page table{table-layout:fixed;width:100%;font-size:8pt;border:1px solid #000}.roster-print-page th,.roster-print-page td{padding:2mm 1mm;border:1px solid #000;white-space:normal;text-align:center;color:#000;background:#fff}.roster-print-page th:nth-child(n+5):nth-child(-n+20),.roster-print-page td:nth-child(n+5):nth-child(-n+20){width:4.2%}.roster-print-page th:nth-child(1){width:4%}.roster-print-page th:nth-child(2){width:7%}.roster-print-page th:nth-child(3){width:10%}.roster-print-page th:nth-child(4){width:11%}.roster-print-page th:last-child{width:10%}}.seat-print-sheet{display:none}.seat-layout-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:14px 0;padding:12px;background:#f8fafc;border:1px solid #d5deed;border-radius:6px}.seat-layout-controls>div{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.seat-layout-controls label{display:flex;align-items:center;gap:5px}.seat-map-wrap{overflow:auto}.seat-grid{width:max-content;min-width:100%;grid-auto-flow:row;align-items:stretch;gap:6px}.seat-cell{box-sizing:border-box;width:100%;min-width:62px;min-height:66px;align-content:center;justify-items:center;text-align:center;font:inherit;cursor:pointer}.seat-cell small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat-cell.occupied{background:#ffcf8a;border:2px solid #c75b12;color:#552500}.seat-cell.seat-disabled{background:#eceff3;color:#707780;border-style:dashed}.seat-podium{display:grid;place-items:center;min-height:66px;border:2px solid #526780;background:#e5edf7;font-weight:700}.seat-aisle{min-width:12px;min-height:100%;background:repeating-linear-gradient(135deg,#e4eaf1,#e4eaf1 3px,#f8fafc 3px 6px)}.seat-aisle-horizontal{min-height:12px}.seat-csv-actions{display:flex;gap:8px;flex-wrap:wrap}.receipt-info-cell{display:-webkit-box;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:normal;overflow-wrap:break-word;word-break:normal;-webkit-line-clamp:3;-webkit-box-orient:vertical}.register-table td>small{display:block;color:#667085;font-size:11px;overflow-wrap:break-word;word-break:normal}.row-actions{display:flex;gap:5px;flex-wrap:wrap}.audit-action-detail{white-space:pre-wrap;overflow-wrap:anywhere}@media print{body *{visibility:hidden!important}.seat-print-sheet,.seat-print-sheet *{visibility:visible!important}.seat-print-sheet{display:block!important;position:absolute;left:0;top:0;width:100%;background:#fff;color:#000}.seat-print-sheet header{display:block!important;margin-bottom:8mm}.seat-print-grid{display:grid!important;gap:2mm;width:100%;align-items:stretch}.seat-print-grid .seat-cell,.seat-print-grid .seat-podium{min-width:0;min-height:18mm;border:1px solid #222;border-radius:0;background:#fff;color:#000;padding:2mm;text-align:center;box-shadow:none;font-size:9pt}.seat-print-grid .seat-cell.occupied{background:#ffe2bd!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.seat-print-grid .seat-aisle{background:#edf0f4}.seat-print-grid .seat-print-disabled{min-height:18mm}.seat-panel,.seat-print-sheet{max-width:none}.seat-print-sheet h2{font-size:18pt;margin:0 0 3mm}.seat-print-sheet p{margin:0;color:#222}}.seat-layout-stage{width:max-content;min-width:100%;display:grid;gap:8px}.seat-layout-stage .seat-grid{margin:0}.seat-layout-stage>.seat-podium{width:100%;min-width:100%;min-height:42px}.seat-podium-print{width:100%;min-height:18mm;margin:2mm 0}.seat-aisle{display:grid;place-items:center;color:#344054;font-size:11px;font-weight:700}.seat-aisle-vertical span{writing-mode:vertical-rl;letter-spacing:2px}.seat-aisle-horizontal{min-height:24px}.seat-aisle-horizontal span{padding:0 8px;background:#f8fafc}.seat-print-grid .seat-aisle-vertical span{writing-mode:vertical-rl}.seat-print-grid .seat-aisle-horizontal span{background:#edf0f4}.student-business-timeline{display:grid;gap:12px}.history-timeline-event{display:grid;gap:8px;padding:14px 16px;border:1px solid #dbe3ee;border-left:4px solid #8aa0bd;border-radius:8px;background:#fff}.history-timeline-event.history-fee-chain-0{border-left-color:#175cd3}.history-timeline-event.history-fee-chain-1{border-left-color:#039855}.history-timeline-event.history-fee-chain-2{border-left-color:#7a5af8}.history-timeline-event.history-fee-chain-3{border-left-color:#e04f16}.history-timeline-event.history-fee-chain-4{border-left-color:#088ab2}.history-timeline-event.history-fee-chain-5{border-left-color:#c11574}.history-event-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.history-event-badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 9px;font-size:12px;line-height:1.4;font-weight:650;background:#eef4ff;color:#1849a9}.history-event-badge-void{background:#fff1f0;color:#b42318}.history-event-badge-chain{background:#f2f4f7;color:#475467;font-weight:500}.history-timeline-event h4{margin:0;font-size:16px;line-height:1.45;font-weight:750;color:#182230}.history-event-context{display:flex;gap:5px 12px;flex-wrap:wrap;color:#344054;font-size:14px}.history-event-detail{margin:0;color:#344054;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.history-event-meta{display:flex;gap:5px 12px;flex-wrap:wrap;color:#667085;font-size:12px;line-height:1.5}.history-event-technical,.student-history-audit-details{border-top:1px solid #eef1f5;padding-top:7px;color:#667085;font-size:12px}.history-event-technical>summary,.student-history-audit-details>summary{cursor:pointer;font-weight:600;color:#667085}.history-event-technical dl{display:grid;gap:6px;margin:8px 0 0}.history-event-technical dl>div{display:grid;grid-template-columns:minmax(100px,auto) 1fr;gap:10px}.history-event-technical dt{font-weight:600}.history-event-technical dd{margin:0;overflow-wrap:anywhere}.history-event-technical pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.student-history-audit-details>p{margin:8px 0;overflow-wrap:anywhere}.issue20-register .register-table-shell{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden}.issue20-register .register-table{table-layout:fixed;border-collapse:collapse}.issue20-register .register-table th,.issue20-register .register-table td{box-sizing:border-box;white-space:normal;vertical-align:top;overflow-wrap:break-word;word-break:normal;line-height:1.35}.issue20-register .register-table th{white-space:nowrap}.issue20-register .register-cell-clamp{display:-webkit-box;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:normal;overflow-wrap:break-word;word-break:normal;-webkit-box-orient:vertical;-webkit-line-clamp:3}.issue20-register .register-receipt-cell{min-width:0}.issue20-register .register-receipt-cell small{display:-webkit-box;color:#667085;font-size:11px;white-space:normal;overflow-wrap:break-word;word-break:normal;overflow:hidden;text-overflow:ellipsis;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}.issue20-register .register-nowrap{white-space:nowrap}.issue20-register .register-table .row-actions{display:flex;flex-wrap:wrap;gap:4px}.issue20-register .register-table .row-actions button{white-space:normal}.issue20-register .fee-values{display:block;white-space:normal}.voided-fee-ledger{margin-top:24px;padding-top:16px;border-top:2px solid #cbd5e1}.voided-fee-ledger h2{margin:0 0 6px}.voided-fee-ledger>p{color:#475467}.voided-fee-ledger .table-wrap{max-width:100%;overflow:auto}.voided-fee-ledger table{min-width:1500px}.voided-fee-ledger th,.voided-fee-ledger td{padding:9px;vertical-align:top;white-space:normal}.fee-event-ledger{margin-top:24px;padding-top:16px;border-top:2px solid #cbd5e1}.fee-event-ledger h2{margin:0 0 6px}.fee-event-ledger>p{color:#475467}.fee-event-ledger .table-wrap{max-width:100%;overflow:auto}.fee-event-ledger table{min-width:1150px}.fee-event-ledger th,.fee-event-ledger td{padding:9px;vertical-align:top}.fee-event-ledger .row-actions{min-width:120px}.fee-event-ledger .modal form{display:grid;gap:12px}.fee-event-ledger .modal form label{display:grid;gap:5px}.fee-event-ledger .modal form input,.fee-event-ledger .modal form select,.fee-event-ledger .modal form textarea{width:100%}.fee-event-ledger .modal form textarea{min-height:90px}.fee-event-ledger .modal form footer{display:flex;justify-content:flex-end;gap:8px}.seat-grid .seat-hole{box-sizing:border-box;width:100%;min-width:62px;min-height:66px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;box-shadow:none;cursor:pointer}.seat-grid .seat-hole:focus-visible{outline:2px solid #1677ff;outline-offset:1px}.seat-grid .seat-hole:disabled{cursor:default}
