html,body,#app{width:100%;height:100%;margin:0;font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif;color:var(--text-main);background:var(--canvas)}*{box-sizing:border-box}:root{--canvas: #f4f6f4;--surface: #ffffff;--surface-soft: #f8faf8;--surface-tint: #edf5f1;--border: #dbe5e0;--border-strong: #c7d5cf;--text-main: #14211e;--text-muted: #62736d;--text-soft: #7b8984;--brand: #0f7c63;--brand-strong: #0a614f;--brand-deep: #0d332b;--amber: #b66a0c;--danger: #c83f38;--blue: #2f63c9;--shadow-sm: 0 8px 20px rgba(19, 43, 37, .06);--shadow-md: 0 18px 42px rgba(19, 43, 37, .1);--radius: 8px}.login-page{min-height:100%;display:grid;place-items:center;background:var(--canvas)}.login-panel{width:380px;padding:34px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md)}.login-panel h1{margin:0;font-size:30px;letter-spacing:0}.login-panel p{margin:8px 0 28px;color:var(--text-muted)}.login-panel .el-button{width:100%}.module-select-page{min-height:100%;display:grid;place-items:center;padding:40px;background:var(--canvas)}.module-select-shell{width:min(1120px,100%)}.module-select-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}.school-name{display:inline-flex;margin-bottom:10px;color:var(--brand);font-size:15px;font-weight:900}.module-select-top h1{margin:0;font-size:42px;line-height:1.1;color:var(--text-main)}.module-select-top p{margin:10px 0 0;color:var(--text-muted);font-size:17px}.module-entry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.module-entry{position:relative;min-height:330px;display:grid;align-content:start;justify-items:start;gap:14px;padding:30px;text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-md);cursor:pointer;font:inherit;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;overflow:hidden}.module-entry:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-top:8px solid var(--brand);pointer-events:none}.module-entry.finance:before{border-top-color:#c47a00}.module-entry.menu:before{border-top-color:#7a263a}.module-entry:hover{transform:translateY(-2px);border-color:#91b9ad;box-shadow:var(--shadow-md)}.module-entry:focus-visible{outline:3px solid rgba(15,124,99,.18);outline-offset:3px}.module-entry strong{font-size:32px;line-height:1.2;color:var(--text-main)}.module-entry p{margin:0;min-height:58px;color:var(--text-muted);line-height:1.65;font-size:17px}.entry-label{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;background:var(--surface-tint);color:var(--brand);font-size:14px;font-weight:900}.module-entry.finance .entry-label{background:#fff4df;color:#9a6200}.module-entry.menu .entry-label{background:#f8e8ec;color:#7a263a}.entry-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.entry-tags span{padding:7px 10px;border-radius:8px;background:var(--surface-soft);color:#40504c;font-size:13px;font-weight:800}.module-entry em{align-self:end;margin-top:24px;padding:12px 18px;border-radius:8px;background:var(--brand);color:#fff;font-style:normal;font-weight:900}.module-entry.finance em{background:#b96f00}.module-entry.menu em{background:#7a263a}.shell{height:100vh;min-height:0;overflow:hidden;background:var(--canvas)}.side{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--brand-deep);border-right:1px solid rgba(255,255,255,.08)}.content-shell{min-width:0;height:100vh;overflow:hidden}.brand-block{padding:18px 16px 16px;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}.brand-row{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px}.brand-mark{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#ffffff14;color:#fff;font-size:19px;font-weight:900}.brand{font-size:19px;font-weight:900;line-height:1.1}.brand-subtitle{margin-top:5px;color:#dfefe9b8;font-size:12px;font-weight:700}.module-pill{display:inline-flex;align-items:center;min-height:26px;margin-top:14px;padding:0 10px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff12;color:#dceee8;font-size:13px;font-weight:800}.side .el-menu{flex:1;min-height:0;border-right:0;padding:12px 0 10px;overflow-y:auto;overflow-x:hidden}.side .el-menu-item{height:40px;margin:3px 12px;border-radius:8px;font-weight:700;letter-spacing:0}.side .el-menu-item .el-icon{width:18px;margin-right:9px;color:#cfe3dcc2;font-size:17px}.side .el-sub-menu .el-menu-item{min-width:0;padding-left:40px!important}.side .el-sub-menu__title{height:48px;margin:4px 10px;border-radius:8px;font-weight:800}.side .el-sub-menu__title:hover,.side .el-menu-item:hover{background:#ffffff12!important}.side .el-menu-item.is-active{background:#fff!important;color:var(--brand-deep)!important;box-shadow:0 10px 24px #0000002e}.side .el-menu-item.is-active .el-icon{color:var(--brand)!important}.side-section-title{margin:14px 18px 7px;color:#cfe3dc8f;font-size:12px;font-weight:900}.side-user{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px;padding:12px 14px;color:#dfefe9d1;border-top:1px solid rgba(255,255,255,.08);font-size:13px;font-weight:800}.side-user span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-user button{flex-shrink:0;padding:6px 8px;border:1px solid rgba(255,255,255,.16);border-radius:7px;background:#ffffff0f;color:#fff;cursor:pointer;font:inherit}.side-user button:hover{background:#ffffff1f}.top{flex-shrink:0;height:66px;display:flex;align-items:center;justify-content:space-between;background:#fffffff5;border-bottom:1px solid var(--border);color:#30403c;font-weight:800;box-shadow:0 8px 24px #17352e09}.top-title,.top-subtitle{display:block}.top-title{color:var(--text-main);font-size:17px;font-weight:900}.top-subtitle{margin-top:3px;color:var(--text-muted);font-size:13px;font-weight:600}.top-actions{display:flex;align-items:center;gap:8px}.top-actions .el-button-group .el-button{min-width:82px}.el-main{min-height:0;height:calc(100vh - 66px);overflow:auto;padding:24px 24px 30px;background:var(--canvas)}.page-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding:2px 2px 0}.page-title h2{margin:0;color:var(--text-main);font-size:26px;font-weight:900;line-height:1.16}.page-desc{margin:7px 0 0;color:var(--text-muted);font-size:14px}.toolbar,.report-panel,.el-table{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.toolbar{padding:14px 16px 2px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.toolbar .el-form-item{margin-bottom:12px}.actions{display:flex;flex-wrap:wrap;gap:8px}.page-title.action-title{align-items:flex-start;flex-direction:column}.page-action-bar,.action-group{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.page-action-bar{width:100%;justify-content:space-between}.action-group.secondary{justify-content:flex-end}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px}.dashboard-metrics{grid-template-columns:repeat(6,minmax(120px,1fr))}.dashboard-metrics.one-line-metrics{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.finance-metrics{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:12px;margin:18px 0}.metric-card{min-height:112px;width:100%;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:#16352e;display:flex;flex-direction:column;justify-content:center;gap:8px;text-align:left}.metric-card span{color:var(--text-muted);font-size:15px;font-weight:700;line-height:1.25}.metric-card strong{color:var(--text-main);font-size:30px;font-weight:900;line-height:1.05;white-space:nowrap}.metric-card small{color:var(--text-soft);font-size:13px;font-weight:600;line-height:1.35}.metric-card:nth-child(2) strong{color:var(--danger)}.metric-card:nth-child(3) strong,.metric-card:nth-child(4) strong{color:var(--amber)}.metric-card:nth-child(5) strong,.metric-card:nth-child(6) strong{color:var(--brand)}button.metric-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font:inherit;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}button.metric-card:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:var(--shadow-md)}button.metric-card:focus-visible{outline:3px solid rgba(15,124,99,.18);outline-offset:3px}.metric{min-height:112px;padding:18px;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);cursor:default;font:inherit}button.metric{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}button.metric:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:var(--shadow-md)}button.metric:focus-visible{outline:3px solid rgba(15,124,99,.18);outline-offset:3px}.metric b{display:block;font-size:34px;line-height:1;color:var(--text-main)}.metric:nth-child(2) b{color:var(--brand)}.metric:nth-child(3) b{color:var(--blue)}.metric:nth-child(4) b{color:var(--amber)}.metric:nth-child(5) b{color:var(--danger)}.metric:nth-child(6) b{color:var(--brand)}.metric.arrived b,.metric.rate b{color:var(--brand)}.metric.left b{color:var(--blue)}.metric.leave b{color:var(--amber)}.metric.long b{color:#7c3aed}.metric.absent b{color:var(--danger)}.dashboard-metrics.one-line-metrics .metric{min-height:90px;padding:13px 12px}.dashboard-metrics.one-line-metrics .metric b{font-size:clamp(24px,1.9vw,32px)}.dashboard-metrics.one-line-metrics .metric span{margin-top:8px;font-size:13px}.metric span{display:block;margin-top:10px;color:var(--text-muted);font-weight:700}.attendance-stats{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:12px;margin-bottom:16px}.attendance-stat{padding:15px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);text-align:left;font:inherit}button.attendance-stat{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}button.attendance-stat:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:var(--shadow-md)}button.attendance-stat:focus-visible{outline:3px solid rgba(15,124,99,.18);outline-offset:3px}.attendance-stat.active{border-color:var(--brand);box-shadow:0 0 0 1px #0f7c632e,var(--shadow-sm)}.attendance-stat b{display:block;font-size:30px;line-height:1}.attendance-stat span{display:block;margin-top:8px;color:var(--text-muted)}.attendance-stat.arrived b{color:var(--brand)}.attendance-stat.left b{color:var(--blue)}.attendance-stat.sick b,.attendance-stat.personal b{color:var(--amber)}.attendance-stat.long b{color:#7c3aed}.attendance-stat.absent b{color:var(--danger)}.report-panel{margin-top:22px;padding:18px;box-shadow:var(--shadow-sm)}.report-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #edf2ef}.report-title h3{margin:0;color:var(--text-main);font-size:19px;font-weight:900}.report-tools{display:flex;align-items:center;gap:10px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr);gap:18px}.class-confirmation-strip{margin:16px 0;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.class-confirmation-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.class-confirmation-header h3{margin:0;font-size:16px;color:var(--text-main)}.class-confirmation-header span{color:var(--text-muted);font-size:13px;font-variant-numeric:tabular-nums}.class-confirmation-header-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;color:var(--text-muted);font-size:13px;font-weight:700;white-space:nowrap}.class-confirmation-header-meta span{color:inherit;font:inherit}.class-confirmation-grid{--confirmation-count: 1;display:grid;grid-template-columns:repeat(var(--confirmation-count),minmax(0,1fr));gap:8px}.class-confirmation-chip{min-width:0;min-height:38px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--border);border-radius:6px;background:#f7fbfa;color:var(--text-main);cursor:pointer;font:inherit;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.class-confirmation-chip:hover{transform:translateY(-1px);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.class-confirmation-chip:focus-visible{outline:3px solid rgba(15,124,99,.18);outline-offset:2px}.class-confirmation-chip strong,.class-confirmation-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-confirmation-chip strong{font-size:14px;font-weight:800}.class-confirmation-chip span{font-size:12px;font-weight:700;color:#50615c}.class-confirmation-grid.dense{gap:6px}.class-confirmation-grid.dense .class-confirmation-chip{min-height:34px;padding:0 8px;gap:5px}.class-confirmation-grid.dense .class-confirmation-chip strong{font-size:13px}.class-confirmation-grid.dense .class-confirmation-chip span{font-size:11px}.class-confirmation-chip.confirmed{border-color:#b8d8ff;background:#eef6ff}.class-confirmation-chip.unconfirmed{border-color:#f2c66d;background:#fff8e7}.class-confirmation-chip.rest{border-color:#d5ddd9;background:#f3f6f5}.dashboard-alerts{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin:16px 0 4px}.action-card{display:block;min-height:98px;padding:15px;text-align:left;border:1px solid var(--border);border-top:4px solid #aebdb7;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;font:inherit;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease}.action-card:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:var(--shadow-md)}.action-card:focus-visible{outline:3px solid rgba(15,124,99,.18);outline-offset:3px}.action-card strong,.action-card span,.action-card p{display:block}.action-card strong{font-size:28px;line-height:1;color:var(--text-main)}.action-card span{margin-top:8px;color:var(--text-main);font-weight:800}.action-card p{margin:6px 0 0;color:var(--text-muted);font-size:13px}.action-card.warning{border-top-color:#d5a90d;background:#fffdf4}.action-card.danger{border-top-color:var(--danger);background:#fff8f7}.action-card.info{border-top-color:#4d7eea;background:#f7faff}.rate-cell{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:8px}.rate-cell span{color:#40504c;font-weight:800}.dashboard-grid .report-panel{margin-top:18px}.finance-shortcuts{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 4px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.dashboard-rule-alert{margin:0 0 16px}.finance-consistency-panel{margin-top:18px}.consistency-list{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px}.consistency-item{width:100%;min-height:86px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-left:4px solid #4fba45;border-radius:var(--radius);background:var(--surface);color:inherit;text-align:left;cursor:default;font:inherit}.consistency-item.has-issue{border-left-color:#df3b30;background:#fff8f7;cursor:pointer}.consistency-item.has-issue:hover{border-color:#e1aaa5;box-shadow:0 10px 24px #df3b3014}.consistency-item strong,.consistency-item small{display:block}.consistency-item strong{color:var(--text-main);font-size:15px}.consistency-item small{margin-top:4px;color:var(--text-muted);line-height:1.35}.consistency-item em{min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--surface-tint);color:var(--brand);font-style:normal;font-weight:800}.consistency-item.has-issue em{background:#ffe9e7;color:#c83f38}.finance-workspace .el-tabs{margin-top:-4px}.table-actions{display:flex;justify-content:flex-start;align-items:center;gap:8px;margin-bottom:12px}.form-hint{margin-left:12px;color:#64748b;font-size:13px}.link-button{padding:0;border:0;background:transparent;color:var(--brand);cursor:pointer;font:inherit;font-weight:800}.link-button:hover{color:var(--brand-strong);text-decoration:underline}.link-button:focus-visible{outline:3px solid rgba(15,124,99,.18);outline-offset:3px;border-radius:4px}.detail-metrics{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;margin-bottom:16px}.detail-metrics div{padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft)}.detail-metrics span,.detail-metrics strong{display:block}.detail-metrics span{color:var(--text-muted)}.detail-metrics strong{margin-top:8px;color:var(--text-main);font-size:22px}.student-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin-bottom:18px}.student-overview-card{min-height:112px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft)}.student-overview-card span,.student-overview-card strong,.student-overview-card small{display:block}.student-overview-card span{color:var(--text-muted);font-weight:700}.student-overview-card strong{margin-top:8px;color:var(--text-main);font-size:24px}.student-overview-card small{margin-top:8px;color:var(--text-soft);line-height:1.5}.student-overview-section{margin-top:18px}.student-overview-section h3{margin:0 0 12px;font-size:18px;color:var(--text-main)}.dialog-form-with-alert{margin-top:16px}.check-list{margin:14px 0 0;padding-left:20px;color:#40504c;line-height:1.9;font-weight:700}.finance-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px}.finance-setting-card{min-height:132px;display:grid;align-content:start;gap:10px;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.finance-setting-card strong{font-size:18px;color:var(--text-main)}.finance-setting-card span{min-height:38px;color:var(--text-muted);line-height:1.5}.refund-rule-preview{display:grid;gap:8px;color:#40504c;font-weight:700}.refund-rule-editor{display:grid;gap:10px;width:100%}.refund-rule-row{display:grid;grid-template-columns:auto 120px auto 120px auto 120px auto auto;align-items:center;gap:8px}.dashboard-list-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 8px;text-align:left;border-top:1px solid #edf2f0;border-right:0;border-bottom:0;border-left:0;background:transparent;cursor:pointer;font:inherit;transition:background-color .16s ease}.dashboard-list-item:hover{background:var(--surface-soft)}.dashboard-list-item:first-of-type{border-top:0}.dashboard-list-item:focus-visible{outline:3px solid rgba(15,124,99,.18);outline-offset:2px;border-radius:8px}.dashboard-list-item strong,.dashboard-list-item span{display:block}.dashboard-list-item strong{font-size:15px;color:var(--text-main)}.dashboard-list-item span,.muted-text,.empty-mini{color:var(--text-muted)}.empty-mini{padding:22px 0;text-align:center}.payroll-project-tags{display:flex;flex-wrap:wrap;gap:6px}.payroll-adjustment-editor{display:grid;gap:10px;width:100%}.payroll-add-project,.payroll-adjustment-row{display:flex;align-items:center;gap:10px}.payroll-adjustment-row{display:grid;grid-template-columns:minmax(120px,1fr) 110px 150px minmax(120px,1fr) auto}.attendance-stats.compact{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.attendance-stats.compact .attendance-stat{min-height:82px;padding:12px}.attendance-stats.compact .attendance-stat b{font-size:clamp(22px,1.75vw,30px)}.attendance-stats.compact .attendance-stat span{margin-top:7px;font-size:13px}.el-button{border-radius:8px;font-weight:600}.el-button:active{transform:translateY(1px)}.el-button--primary{--el-button-bg-color: var(--brand);--el-button-border-color: var(--brand);--el-button-hover-bg-color: var(--brand-strong);--el-button-hover-border-color: var(--brand-strong)}.el-button--success{--el-button-bg-color: #2e8a66;--el-button-border-color: #2e8a66}.el-input__wrapper,.el-select__wrapper,.el-date-editor.el-input__wrapper{border-radius:8px;box-shadow:0 0 0 1px var(--border) inset}.el-input__wrapper.is-focus,.el-select__wrapper.is-focused{box-shadow:0 0 0 1px var(--brand) inset,0 0 0 3px #0f7c631f}.el-table{overflow:hidden}.el-table .el-table__row:hover>td.el-table__cell{background:#f6faf8!important}.el-table th.el-table__cell{background:#edf3f0!important;color:#344741;font-weight:800}.el-table td.el-table__cell{border-bottom-color:#e8efeb}.el-dialog{border-radius:var(--radius)}.el-tag{border-radius:999px;font-weight:700}@media (max-width: 1100px){.metric-grid,.attendance-stats,.attendance-stats.compact,.finance-metrics,.consistency-list,.finance-settings-grid,.detail-metrics,.student-overview-grid,.dashboard-metrics,.dashboard-alerts,.dashboard-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}.dashboard-metrics.one-line-metrics{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.dashboard-metrics.one-line-metrics .metric{min-height:76px;padding:10px 8px}.dashboard-metrics.one-line-metrics .metric b{font-size:clamp(18px,2.2vw,28px)}.dashboard-metrics.one-line-metrics .metric span{margin-top:6px;font-size:12px}}@media (max-width: 760px){.el-main{padding:16px}.page-title,.page-action-bar{align-items:flex-start;flex-direction:column}.action-group.secondary{justify-content:flex-start}.module-select-page{padding:18px}.module-select-top{flex-direction:column}.module-entry-grid,.metric-grid,.attendance-stats,.attendance-stats.compact,.finance-metrics,.consistency-list,.finance-settings-grid,.detail-metrics,.student-overview-grid,.dashboard-metrics,.dashboard-alerts,.dashboard-grid,.refund-rule-row,.payroll-adjustment-row{grid-template-columns:1fr}.payroll-add-project{align-items:stretch;flex-direction:column}.dashboard-metrics.one-line-metrics{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.dashboard-metrics.one-line-metrics .metric{min-height:66px;padding:8px 5px}.dashboard-metrics.one-line-metrics .metric b{font-size:clamp(16px,4.2vw,22px)}.dashboard-metrics.one-line-metrics .metric span{margin-top:5px;font-size:11px}.class-confirmation-strip{padding:10px}.class-confirmation-header{align-items:flex-start;flex-direction:column;gap:6px}.class-confirmation-header-meta{width:100%;justify-content:flex-start;font-size:12px}}
