html,body,#app{width:100%;height:100%;color:var(--text-main);background:var(--canvas);margin:0;font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif}*{box-sizing:border-box}:root{--canvas:#f4f6f4;--surface:#fff;--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 #132b250f;--shadow-md:0 18px 42px #132b251a;--radius:8px}.login-page{background:var(--canvas);place-items:center;min-height:100%;display:grid}.login-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:380px;box-shadow:var(--shadow-md);padding:34px}.login-panel h1{letter-spacing:0;margin:0;font-size:30px}.login-panel p{color:var(--text-muted);margin:8px 0 28px}.login-panel .el-button{width:100%}.module-select-page{background:var(--canvas);place-items:center;min-height:100%;padding:40px;display:grid}.module-select-shell{width:min(1120px,100%)}.module-select-top{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.school-name{color:var(--brand);margin-bottom:10px;font-size:15px;font-weight:700;display:inline-flex}.module-select-top h1{color:var(--text-main);margin:0;font-size:42px;line-height:1.1}.module-select-top p{color:var(--text-muted);margin:10px 0 0;font-size:17px}.module-entry-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.module-entry{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:330px;box-shadow:var(--shadow-md);cursor:pointer;font:inherit;align-content:start;justify-items:start;gap:14px;padding:30px;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid;position:relative;overflow:hidden}.module-entry:before{content:"";border-top:8px solid var(--brand);pointer-events:none;position:absolute;inset:0}.module-entry.finance:before{border-top-color:#c47a00}.module-entry.menu:before{border-top-color:#7a263a}.module-entry:hover{box-shadow:var(--shadow-md);border-color:#91b9ad;transform:translateY(-2px)}.module-entry:focus-visible{outline-offset:3px;outline:3px solid #0f7c632e}.module-entry strong{color:var(--text-main);font-size:32px;line-height:1.2}.module-entry p{min-height:58px;color:var(--text-muted);margin:0;font-size:17px;line-height:1.65}.entry-label{background:var(--surface-tint);min-height:30px;color:var(--brand);border-radius:999px;align-items:center;padding:0 12px;font-size:14px;font-weight:700;display:inline-flex}.module-entry.finance .entry-label{color:#9a6200;background:#fff4df}.module-entry.menu .entry-label{color:#7a263a;background:#f8e8ec}.entry-tags{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.entry-tags span{background:var(--surface-soft);color:#40504c;border-radius:8px;padding:7px 10px;font-size:13px;font-weight:600}.module-entry em{background:var(--brand);color:#fff;border-radius:8px;align-self:end;margin-top:24px;padding:12px 18px;font-style:normal;font-weight:700}.module-entry.finance em{background:#b96f00}.module-entry.menu em{background:#7a263a}.shell{background:var(--canvas);height:100vh;min-height:0;overflow:hidden}.side{background:var(--brand-deep);border-right:1px solid #ffffff14;flex-direction:column;height:100vh;display:flex;overflow:hidden}.content-shell{min-width:0;height:100vh;overflow:hidden}.brand-block{color:#fff;border-bottom:1px solid #ffffff14;padding:18px 16px 16px}.brand-row{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;display:grid}.brand-mark{color:#fff;background:#ffffff14;border:1px solid #ffffff2e;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;font-size:19px;font-weight:700;display:inline-flex}.brand{font-size:19px;font-weight:700;line-height:1.1}.brand-subtitle{color:#dfefe9b8;margin-top:5px;font-size:12px;font-weight:700}.module-pill{color:#dceee8;background:#ffffff12;border:1px solid #ffffff1f;border-radius:8px;align-items:center;min-height:26px;margin-top:14px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.side .el-menu{border-right:0;flex:1;min-height:0;padding:12px 0 10px;overflow:hidden auto}.side .el-menu-item{letter-spacing:0;border-radius:8px;height:40px;margin:3px 12px;font-weight:700}.side .el-menu-item .el-icon{color:#cfe3dcc2;width:18px;margin-right:9px;font-size:17px}.side .el-sub-menu .el-menu-item{min-width:0;padding-left:40px!important}.side .el-sub-menu__title{border-radius:8px;height:48px;margin:4px 10px;font-weight:600}.side .el-sub-menu__title:hover,.side .el-menu-item:hover{background:#ffffff12!important}.side .el-menu-item.is-active{box-shadow:0 10px 24px #0000002e;color:var(--brand-deep)!important;background:#fff!important}.side .el-menu-item.is-active .el-icon{color:var(--brand)!important}.side-section-title{color:#cfe3dc8f;margin:14px 18px 7px;font-size:12px;font-weight:700}.top{border-bottom:1px solid var(--border);color:#30403c;background:#fffffff5;flex-shrink:0;justify-content:space-between;align-items:center;height:66px;padding:0 20px 0 14px;display:flex;box-shadow:0 8px 24px #17352e09}.top-left{align-items:center;gap:12px;min-width:0;display:flex}.collapse-btn{border:1px solid var(--border);width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:18px;display:inline-flex}.collapse-btn:hover{color:var(--brand);border-color:var(--brand)}.breadcrumb{align-items:center;gap:8px;min-width:0;font-size:15px;display:flex}.crumb-group{color:var(--text-muted);font-weight:600}.crumb-sep{color:var(--text-muted)}.crumb-page{min-width:0;color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.top-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.top-user{text-overflow:ellipsis;white-space:nowrap;max-width:160px;color:var(--text-main);font-size:14px;font-weight:600;overflow:hidden}.top-logout{border:1px solid var(--border);color:var(--text-main);cursor:pointer;font:inherit;background:#fff;border-radius:8px;flex-shrink:0;padding:6px 14px;font-size:13px}.top-logout:hover{border-color:var(--brand);color:var(--brand)}.top-actions .el-button-group .el-button{min-width:82px}.side-collapsed .brand-block{text-align:center;padding:18px 0 16px}.side-collapsed .brand-row{grid-template-columns:1fr;justify-items:center}.el-main{background:var(--canvas);height:calc(100vh - 66px);min-height:0;padding:24px 24px 30px;overflow:auto}.el-main>section,.el-main>div{max-width:1560px;margin:0 auto}.page-title{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:2px 2px 0;display:flex}.page-title h2{color:var(--text-main);margin:0;font-size:26px;font-weight:700;line-height:1.16}.page-desc{color:var(--text-muted);margin:7px 0 0;font-size:14px}.toolbar,.report-panel,.el-table{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.toolbar{box-shadow:var(--shadow-sm);margin-bottom:16px;padding:14px 16px 2px}.toolbar .el-form-item{margin-bottom:12px}.actions{flex-wrap:wrap;gap:8px;display:flex}.page-title.action-title{flex-direction:column;align-items:flex-start}.page-action-bar,.action-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.page-action-bar{justify-content:space-between;width:100%}.action-group.secondary{justify-content:flex-end}.metric-grid{grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px;display:grid}.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{grid-template-columns:repeat(6,minmax(140px,1fr));gap:12px;margin:18px 0;display:grid}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:112px;box-shadow:var(--shadow-sm);color:#16352e;text-align:left;flex-direction:column;justify-content:center;gap:8px;padding:18px;display:flex}.metric-card span{color:var(--text-muted);font-size:15px;font-weight:700;line-height:1.25}.metric-card strong{color:var(--text-main);white-space:nowrap;font-size:30px;font-weight:700;line-height:1.05}.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{appearance:none;cursor:pointer;font:inherit;transition:transform .16s,box-shadow .16s,border-color .16s}button.metric-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}button.metric-card:focus-visible{outline-offset:3px;outline:3px solid #0f7c632e}.metric{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-height:112px;box-shadow:var(--shadow-sm);cursor:default;font:inherit;padding:18px}button.metric{cursor:pointer;transition:transform .16s,box-shadow .16s,border-color .16s}button.metric:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}button.metric:focus-visible{outline-offset:3px;outline:3px solid #0f7c632e}.metric b{color:var(--text-main);font-size:34px;line-height:1;display:block}.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,.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{color:var(--text-muted);margin-top:10px;font-weight:700;display:block}.attendance-stats{grid-template-columns:repeat(6,minmax(120px,1fr));gap:12px;margin-bottom:16px;display:grid}.attendance-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);text-align:left;font:inherit;padding:15px 16px}button.attendance-stat{cursor:pointer;transition:transform .16s,box-shadow .16s,border-color .16s}button.attendance-stat:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}button.attendance-stat:focus-visible{outline-offset:3px;outline:3px solid #0f7c632e}.attendance-stat.active{border-color:var(--brand);box-shadow:0 0 0 1px #0f7c632e, var(--shadow-sm)}.attendance-stat b{font-size:30px;line-height:1;display:block}.attendance-stat span{color:var(--text-muted);margin-top:8px;display:block}.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{box-shadow:var(--shadow-sm);margin-top:22px;padding:18px}.report-title{border-bottom:1px solid #edf2ef;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding-bottom:12px;display:flex}.report-title h3{color:var(--text-main);margin:0;font-size:19px;font-weight:700}.report-tools{align-items:center;gap:10px;display:flex}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr);gap:18px;display:grid}.class-confirmation-strip{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);margin:16px 0;padding:12px}.class-confirmation-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.class-confirmation-header h3{color:var(--text-main);margin:0;font-size:16px}.class-confirmation-header span{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:13px}.class-confirmation-header-meta{min-width:0;color:var(--text-muted);white-space:nowrap;justify-content:flex-end;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.class-confirmation-header-meta span{color:inherit;font:inherit}.class-confirmation-grid{--confirmation-count:1;grid-template-columns:repeat(var(--confirmation-count), minmax(0, 1fr));gap:8px;display:grid}.class-confirmation-chip{border:1px solid var(--border);min-width:0;min-height:38px;color:var(--text-main);cursor:pointer;font:inherit;background:#f7fbfa;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:0 10px;transition:transform .16s,border-color .16s,box-shadow .16s;display:flex}.class-confirmation-chip:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.class-confirmation-chip:focus-visible{outline-offset:2px;outline:3px solid #0f7c632e}.class-confirmation-chip strong,.class-confirmation-chip span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.class-confirmation-chip strong{font-size:14px;font-weight:600}.class-confirmation-chip span{color:#50615c;font-size:12px;font-weight:700}.class-confirmation-grid.dense{gap:6px}.class-confirmation-grid.dense .class-confirmation-chip{gap:5px;min-height:34px;padding:0 8px}.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{background:#eef6ff;border-color:#b8d8ff}.class-confirmation-chip.unconfirmed{background:#fff8e7;border-color:#f2c66d}.class-confirmation-chip.rest{background:#f3f6f5;border-color:#d5ddd9}.dashboard-alerts{grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin:16px 0 4px;display:grid}.action-card{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:98px;box-shadow:var(--shadow-sm);cursor:pointer;font:inherit;border-top:4px solid #aebdb7;padding:15px;transition:transform .16s,box-shadow .16s,border-color .16s,background-color .16s;display:block}.action-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.action-card:focus-visible{outline-offset:3px;outline:3px solid #0f7c632e}.action-card strong,.action-card span,.action-card p{display:block}.action-card strong{color:var(--text-main);font-size:28px;line-height:1}.action-card span{color:var(--text-main);margin-top:8px;font-weight:600}.action-card p{color:var(--text-muted);margin:6px 0 0;font-size:13px}.action-card.warning{background:#fffdf4;border-top-color:#d5a90d}.action-card.danger{border-top-color:var(--danger);background:#fff8f7}.action-card.info{background:#f7faff;border-top-color:#4d7eea}.rate-cell{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:8px;display:grid}.rate-cell span{color:#40504c;font-weight:600}.dashboard-grid .report-panel{margin-top:18px}.finance-shortcuts{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;gap:10px;margin:14px 0 4px;padding:12px;display:flex}.dashboard-rule-alert{margin:0 0 16px}.finance-consistency-panel{margin-top:18px}.consistency-list{grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px;display:grid}.consistency-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;min-height:86px;color:inherit;text-align:left;cursor:default;font:inherit;border-left:4px solid #4fba45;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.consistency-item.has-issue{cursor:pointer;background:#fff8f7;border-left-color:#df3b30}.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{color:var(--text-muted);margin-top:4px;line-height:1.35}.consistency-item em{background:var(--surface-tint);min-width:34px;height:34px;color:var(--brand);border-radius:999px;justify-content:center;align-items:center;font-style:normal;font-weight:600;display:inline-flex}.consistency-item.has-issue em{color:#c83f38;background:#ffe9e7}.finance-workspace .el-tabs{margin-top:-4px}.table-actions{justify-content:flex-start;align-items:center;gap:8px;margin-bottom:12px;display:flex}.form-hint{color:#64748b;margin-left:12px;font-size:13px}.link-button{color:var(--brand);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-weight:600}.link-button:hover{color:var(--brand-strong);text-decoration:underline}.link-button:focus-visible{outline-offset:3px;border-radius:4px;outline:3px solid #0f7c632e}.detail-metrics{grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;margin-bottom:16px;display:grid}.detail-metrics div{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);padding:14px}.detail-metrics span,.detail-metrics strong{display:block}.detail-metrics span{color:var(--text-muted)}.detail-metrics strong{color:var(--text-main);margin-top:8px;font-size:22px}.student-overview-grid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin-bottom:18px;display:grid}.student-overview-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);min-height:112px;padding:16px}.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{color:var(--text-main);margin-top:8px;font-size:24px}.student-overview-card small{color:var(--text-soft);margin-top:8px;line-height:1.5}.student-overview-section{margin-top:18px}.student-overview-section h3{color:var(--text-main);margin:0 0 12px;font-size:18px}.dialog-form-with-alert{margin-top:16px}.check-list{color:#40504c;margin:14px 0 0;padding-left:20px;font-weight:700;line-height:1.9}.finance-settings-grid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px;display:grid}.finance-setting-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-height:132px;box-shadow:var(--shadow-sm);align-content:start;gap:10px;padding:18px;display:grid}.finance-setting-card strong{color:var(--text-main);font-size:18px}.finance-setting-card span{min-height:38px;color:var(--text-muted);line-height:1.5}.refund-rule-preview{color:#40504c;gap:8px;font-weight:700;display:grid}.refund-rule-editor{gap:10px;width:100%;display:grid}.refund-rule-row{grid-template-columns:auto 120px auto 120px auto 120px auto auto;align-items:center;gap:8px;display:grid}.dashboard-list-item{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:0;border-top:1px solid #edf2f0;justify-content:space-between;align-items:center;gap:14px;padding:12px 8px;transition:background-color .16s;display:flex}.dashboard-list-item:hover{background:var(--surface-soft)}.dashboard-list-item:first-of-type{border-top:0}.dashboard-list-item:focus-visible{outline-offset:2px;border-radius:8px;outline:3px solid #0f7c632e}.dashboard-list-item strong,.dashboard-list-item span{display:block}.dashboard-list-item strong{color:var(--text-main);font-size:15px}.dashboard-list-item span,.muted-text,.empty-mini{color:var(--text-muted)}.empty-mini{text-align:center;padding:22px 0}.payroll-project-tags{flex-wrap:wrap;gap:6px;display:flex}.payroll-adjustment-editor{gap:10px;width:100%;display:grid}.payroll-add-project,.payroll-adjustment-row{align-items:center;gap:10px;display:flex}.payroll-adjustment-row{grid-template-columns:minmax(120px,1fr) 110px 150px minmax(120px,1fr) auto;display:grid}.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{box-shadow:0 0 0 1px var(--border) inset;border-radius:8px}.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{color:#344741;font-weight:600;background:#edf3f0!important}.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 (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 (width<=760px){.el-main{padding:16px}.page-title{flex-direction:column;align-items:flex-start}.page-title .actions,.action-group{flex-wrap:wrap}.top{padding-right:12px}.top-user{max-width:90px}.page-action-bar{flex-direction:column;align-items:flex-start}.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{flex-direction:column;align-items:stretch}.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{flex-direction:column;align-items:flex-start;gap:6px}.class-confirmation-header-meta{justify-content:flex-start;width:100%;font-size:12px}}
