.confirm-layer[data-v-ae2d11b1]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000038;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.confirm-panel[data-v-ae2d11b1]{width:min(460px,100%);display:grid;grid-template-columns:auto 1fr;gap:16px;padding:24px;border:0;border-radius:var(--radius-3xl);background:var(--bg-content);box-shadow:var(--shadow-modal);transform:translateY(-1vh);animation:popIn-ae2d11b1 .18s var(--ease-out)}.confirm-icon[data-v-ae2d11b1]{width:46px;height:46px;display:grid;place-items:center;border-radius:var(--radius-xl);color:var(--system-blue);background:#0071e31f}.confirm-icon.danger[data-v-ae2d11b1]{color:var(--system-red);background:#ff3b301f}.confirm-content[data-v-ae2d11b1]{min-width:0}.confirm-content h3[data-v-ae2d11b1]{margin:0 0 8px;color:var(--label-primary);font-size:20px;font-weight:700;letter-spacing:-.012em;line-height:1.25}.confirm-content p[data-v-ae2d11b1]{margin:0;color:var(--label-secondary);font-size:15px;line-height:1.6;white-space:pre-line}.confirm-actions[data-v-ae2d11b1]{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:12px;margin-top:4px}.confirm-actions button[data-v-ae2d11b1]{min-width:104px;min-height:42px;height:42px}.primary-button.danger[data-v-ae2d11b1]{background:var(--system-red);box-shadow:none}.primary-button.danger[data-v-ae2d11b1]:hover{background:var(--system-red-hover)}@keyframes popIn-ae2d11b1{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(-1vh)}}@media (max-width: 640px){.confirm-panel[data-v-ae2d11b1]{grid-template-columns:1fr;padding:22px;transform:none}@keyframes popIn-ae2d11b1{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}.confirm-actions[data-v-ae2d11b1]{flex-direction:column-reverse}.confirm-actions button[data-v-ae2d11b1]{width:100%}}:root{color-scheme:light;--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;font-family:var(--font-sans);--label-primary: #1d1d1f;--label-secondary: #6e6e73;--label-tertiary: #86868b;--label-quaternary: #a1a1a6;--fill-primary: rgba(0, 0, 0, .05);--fill-secondary: rgba(0, 0, 0, .03);--fill-tertiary: rgba(0, 0, 0, .02);--bg-window: #f5f5f7;--bg-content: #ffffff;--bg-under-page: #fbfbfd;--bg-sidebar: rgba(255, 255, 255, .72);--bg-topbar: rgba(255, 255, 255, .72);--text-primary: var(--label-primary);--text-secondary: var(--label-secondary);--border-secondary: var(--separator-opaque);--border-subtle: var(--separator-non-opaque);--surface-hover: rgba(0, 0, 0, .025);--surface-muted: var(--fill-secondary);--separator-opaque: #e5e5ea;--separator-non-opaque: rgba(60, 60, 67, .18);--system-blue: #0071e3;--system-blue-hover: #0077ed;--system-green: #34c759;--system-green-hover: #28b350;--system-orange: #ff9500;--system-red: #ff3b30;--system-red-hover: #ec3327;--system-yellow: #ffcc00;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 18px;--radius-3xl: 20px;--radius-4xl: 22px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 3px rgba(0, 0, 0, .03);--shadow-md: 0 1px 2px rgba(0, 0, 0, .04), 0 4px 12px rgba(0, 0, 0, .04);--shadow-lg: 0 1px 2px rgba(0, 0, 0, .04), 0 8px 24px rgba(0, 0, 0, .06);--shadow-xl: 0 1px 2px rgba(0, 0, 0, .04), 0 16px 40px rgba(0, 0, 0, .1);--shadow-modal: 0 1px 2px rgba(0, 0, 0, .04), 0 30px 90px rgba(0, 0, 0, .22);--material: saturate(180%) blur(20px);--ease-out: cubic-bezier(.22, 1, .36, 1);--duration-fast: .14s;--duration-base: .2s;background:var(--bg-window);color:var(--label-primary);letter-spacing:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body{margin:0;min-width:320px;background:var(--bg-window)}button,input,select,textarea{font:inherit;font-family:var(--font-sans);color:var(--label-primary)}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.45}h1,h2,h3{margin:0;color:var(--label-primary)}h1{font-size:24px;font-weight:700;letter-spacing:-.022em}h2{font-size:20px;font-weight:700;letter-spacing:-.012em}p{margin:0}.eyebrow{margin:0 0 6px;color:var(--label-secondary);font-size:13px;font-weight:600;letter-spacing:.01em;text-transform:none}.subtext{display:block;color:var(--label-tertiary);font-size:12px}.inline-actions{display:flex;align-items:center;gap:8px}.form-stack,.page-stack{display:grid;gap:16px}.page-stack{grid-template-rows:auto auto}.form-divider{font-size:12px;font-weight:600;color:var(--label-secondary, #888);text-transform:uppercase;letter-spacing:.5px;border-top:1px solid var(--border-color, #eee);padding-top:12px;margin-top:4px;grid-column:1 / -1}.form-grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}.form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--border-color, #eee);padding-top:12px;margin-top:4px}.edit-student-modal{width:min(680px,calc(100vw - 32px))}label{display:grid;gap:8px;color:var(--label-secondary);font-size:13px;font-weight:500}input,select,textarea{min-width:0;height:40px;padding:0 14px;border:1px solid transparent;border-radius:var(--radius-lg);background:var(--fill-secondary);color:var(--label-primary);outline:none;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);font-size:14px}textarea{height:auto;padding:10px 14px;line-height:1.5}input:hover,select:hover,textarea:hover{background:#0000000a}input:focus,select:focus,textarea:focus{border-color:var(--system-blue);background:var(--bg-content);box-shadow:0 0 0 3px #0071e326}input:disabled,select:disabled{background:var(--fill-tertiary);color:var(--label-secondary);opacity:1}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--label-tertiary) 50%),linear-gradient(135deg,var(--label-tertiary) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:36px}.primary-button,.secondary-button,.small-button,.icon-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--radius-lg);font-weight:600;font-size:15px;transition:background-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out);white-space:nowrap;-webkit-user-select:none;user-select:none}.primary-button{height:42px;padding:0 20px;background:var(--system-blue);color:#fff;box-shadow:none}.primary-button:hover{transform:none;background:var(--system-blue-hover)}.primary-button:active{transform:none;background:#006edc}.secondary-button{height:42px;padding:0 20px;background:var(--fill-primary);color:var(--label-primary);border:1px solid transparent}.secondary-button:hover{transform:none;background:#00000014}.export-button{height:42px;padding:0 20px;background:#0071e31a;color:var(--system-blue);border:1px solid rgba(0,113,227,.2);border-radius:var(--radius-lg);font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out)}.export-button:hover{transform:none;background:#0071e32e}.export-button:active{transform:none;background:#0071e340}.export-button:disabled{opacity:.5;cursor:not-allowed}.danger-button{height:42px;padding:0 20px;background:var(--system-red);color:#fff}.danger-button:hover{transform:none;background:var(--system-red-hover)}.small-button,.icon-button{width:34px;height:34px;border-radius:var(--radius-md);background:var(--fill-primary);color:var(--system-blue)}.refresh-button{height:34px;padding:0 16px;border-radius:var(--radius-md);background:var(--fill-primary);color:var(--system-blue);font-weight:600;font-size:14px;border:none;cursor:pointer}.refresh-button:hover{background:#00000014}.readonly-notice{display:flex;align-items:center;gap:8px;margin:8px 0 10px;padding:8px 14px;background:#f5f5f7;border:1px solid #e5e5ea;border-radius:8px;font-size:12px;color:#6e6e73}.readonly-icon{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;background:#d1d1d6;color:#fff;border-radius:6px;font-size:12px;font-weight:600}html[data-theme=dark] .readonly-notice{background:#1c1c1e;border-color:#2c2c2e;color:#98989d}html[data-theme=dark] .readonly-icon{background:#3a3a3c}.small-button:hover,.icon-button:hover{transform:none;background:#00000014}.small-button.danger{background:#ff3b301f;color:var(--system-red)}.small-button.danger:hover{background:#ff3b302e}.small-text-button{height:32px;padding:0 14px;border:0;border-radius:var(--radius-sm);background:var(--fill-primary);color:var(--system-blue);font-weight:600;font-size:13px;transition:background-color var(--duration-fast) var(--ease-out);white-space:nowrap}.small-text-button:hover{background:#00000014;transform:none}.small-text-button.danger{background:#ff3b301f;color:var(--system-red)}.small-text-button.danger:hover{background:#ff3b302e}.error-text{margin:0;color:var(--system-red);font-size:13px;font-weight:500}.notice{margin:0;padding:12px 16px;border-radius:var(--radius-lg);font-size:14px;font-weight:500}.notice.success{background:#34c7591f;color:#0a7c3e}.notice.danger{background:#ff3b301a;color:#c91a0f}.login-page{position:relative;min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 10% -10%,rgba(0,113,227,.08),transparent 60%),radial-gradient(1000px 500px at 110% 10%,rgba(52,199,89,.06),transparent 60%),var(--bg-window)}.login-page .icp-footer{position:absolute;bottom:16px;left:0;right:0}.login-card{width:min(420px,100%);padding:36px 32px;border:0;border-radius:var(--radius-4xl);background:#ffffffd6;backdrop-filter:saturate(180%) blur(30px);-webkit-backdrop-filter:saturate(180%) blur(30px);box-shadow:var(--shadow-xl)}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:28px;position:relative}.login-brand>div{position:absolute;left:0;right:0;text-align:center;pointer-events:none}.login-brand h1{margin:0}.brand-mark{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:0;border:0;background:transparent;color:var(--system-blue);font-weight:800;box-shadow:none;overflow:hidden;flex-shrink:0}.brand-mark.large{width:80px;height:80px;border-radius:0;background:transparent}.logo-image{display:block;max-width:100%;max-height:100%;object-fit:contain}.logo-image.large{max-width:100%;max-height:100%}.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--fill-primary);color:var(--system-blue);font-weight:700;font-size:14px}.app-shell{--sidebar-track-width: 240px;display:grid;grid-template-columns:var(--sidebar-track-width) minmax(0,1fr);min-height:100vh;background:var(--bg-window);transition:grid-template-columns .18s var(--ease-out)}.app-shell.sidebar-collapsed{--sidebar-track-width: 0px}.sidebar{display:flex;flex-direction:column;padding:20px 14px;border-right:1px solid var(--separator-opaque);background:var(--bg-sidebar);backdrop-filter:var(--material);-webkit-backdrop-filter:var(--material);position:sticky;top:0;align-self:start;min-height:100vh;height:100vh;min-width:0;overflow-x:hidden;overflow-y:auto;opacity:1;visibility:visible;transition:padding .18s var(--ease-out),border-color .18s var(--ease-out),opacity .14s var(--ease-out),visibility 0s}.app-shell.sidebar-collapsed .sidebar{padding-right:0;padding-left:0;border-right-color:transparent;opacity:0;visibility:hidden;pointer-events:none;transition:padding .18s var(--ease-out),border-color .18s var(--ease-out),opacity .12s var(--ease-out),visibility 0s .18s}.sidebar-rail-toggle{position:fixed;z-index:20;top:50%;left:226px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:52px;padding:0;border:1px solid var(--separator-opaque);border-radius:14px;background:var(--bg-content);box-shadow:var(--shadow-sm);color:var(--label-secondary);cursor:pointer;transform:translateY(-50%);transition:left .18s var(--ease-out),background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.sidebar-rail-toggle:hover{background:var(--fill-primary);color:var(--system-blue)}.sidebar-rail-toggle:focus-visible{outline:3px solid var(--fill-primary);outline-offset:2px}.app-shell.sidebar-collapsed .sidebar-rail-toggle{left:8px}.brand{display:flex;align-items:center;gap:12px;padding:6px 10px 22px}.brand strong{font-size:15px;font-weight:700;color:var(--label-primary)}.brand span,.account span{display:block;color:var(--label-tertiary);font-size:12px}.nav-list{display:grid;gap:14px}.nav-group{display:grid;gap:2px}.nav-group-title{margin:0;padding:0 12px 5px;color:var(--label-tertiary);font-size:11px;font-weight:600;letter-spacing:.06em}.nav-item{width:100%;display:flex;align-items:center;gap:10px;height:38px;padding:0 12px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--label-secondary);text-align:left;font-size:14px;font-weight:500;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.nav-item:hover{background:var(--fill-primary);color:var(--label-primary)}.nav-item.active{background:var(--fill-primary);color:var(--label-primary);font-weight:600;position:relative}.nav-item.active:before{content:"";position:absolute;left:4px;top:50%;width:3px;height:16px;border-radius:2px;background:var(--system-blue);transform:translateY(-50%)}.main-panel{min-width:0;padding:20px 24px 32px}.main-panel>*{min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.account{display:flex;align-items:center;gap:12px;padding:6px 10px 6px 8px;border:1px solid var(--separator-opaque);border-radius:var(--radius-3xl);background:var(--bg-topbar);backdrop-filter:var(--material);-webkit-backdrop-filter:var(--material)}.account strong{font-size:14px;color:var(--label-primary)}.content-surface{min-height:calc(100vh - 128px);padding:22px;border:0;border-radius:var(--radius-4xl);background:transparent;box-shadow:none;display:grid;gap:16px;align-content:start}.dashboard-page,.business-stats-page{display:grid;gap:16px;align-content:start}.hero-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:32px 28px;border:0;border-radius:var(--radius-3xl);background:linear-gradient(180deg,var(--bg-under-page) 0%,var(--bg-window) 100%)}.hero-panel h2{margin:0 0 8px;font-size:32px;font-weight:700;letter-spacing:-.022em}.hero-panel p:last-child{max-width:680px;margin:0;color:var(--label-secondary);font-size:15px;line-height:1.47}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.module-card{display:grid;grid-template-columns:40px minmax(0,1fr);gap:4px 12px;align-items:center;min-height:112px;padding:20px;border:0;border-radius:var(--radius-2xl);background:var(--bg-content);color:var(--label-primary);text-align:left;box-shadow:var(--shadow-lg);transition:box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.module-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-1px)}.module-card strong{font-size:17px;font-weight:600;color:var(--label-primary);min-width:0}.module-card span:last-child{grid-column:2;color:var(--label-secondary);font-size:13px;line-height:1.42;min-width:0}.module-icon{grid-row:span 2;display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--fill-secondary);color:var(--system-blue)}.manager-dashboard{gap:12px}.manager-dashboard .hero-panel{padding:18px 20px}.manager-dashboard .hero-panel h2{margin-bottom:5px;font-size:28px}.manager-dashboard .module-grid,.manager-dashboard .summary-grid,.manager-dashboard .dashboard-columns{gap:12px}.manager-dashboard .module-card{min-height:86px;padding:14px 16px;grid-template-columns:36px minmax(0,1fr);gap:2px 10px}.manager-dashboard .module-icon{width:36px;height:36px}.manager-dashboard .module-card strong{font-size:16px}.manager-dashboard .module-card span:last-child{line-height:1.3}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.manager-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.manager-dashboard .metric{padding:15px 17px}.manager-dashboard .metric>strong{margin-top:5px;font-size:28px}.manager-dashboard .renewal-rate-values{margin-top:5px}.manager-dashboard .renewal-rate-values strong{font-size:23px}.teaching-summary-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px}.teaching-summary-values>div+div{padding-left:10px;border-left:1px solid var(--separator-opaque)}.teaching-summary-values strong{margin-top:0;font-size:24px}.teaching-summary-values small{margin-top:2px;white-space:nowrap}.metric{padding:20px;border:0;border-radius:var(--radius-2xl);background:var(--bg-content);box-shadow:var(--shadow-md)}.metric span{color:var(--label-secondary);font-size:14px;font-weight:600}.metric strong{display:block;margin-top:8px;font-size:32px;font-weight:700;letter-spacing:-.022em;color:var(--label-primary)}.metric small{display:block;margin-top:6px;color:var(--label-tertiary);font-size:12px}.renewal-rate-metric{min-width:0}.renewal-rate-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:8px}.renewal-rate-values>div+div{padding-left:14px;border-left:1px solid var(--separator-opaque)}.renewal-rate-values strong{margin-top:4px;font-size:26px}.renewal-rate-values small{line-height:1.35}.panel-section,.adjust-drawer{display:grid;align-content:start;gap:14px;padding:24px;border:0;border-radius:var(--radius-2xl);background:var(--bg-content);box-shadow:var(--shadow-md);min-width:0}.panel-section.scrollable{overflow:hidden;padding:0}.panel-section.scrollable>:deep(.section-heading),.panel-section.scrollable>.section-heading,.panel-section.scrollable>:deep(.table-wrap-header),.panel-section.scrollable>:first-child:not(.table-wrap):not(table){padding:24px 24px 14px}.panel-section.scrollable>:deep(.table-wrap),.panel-section.scrollable>.table-wrap{border-radius:0;box-shadow:none;background:transparent;flex:1;overflow:auto;padding:0 24px 24px}.page-stack>.panel-section:last-child{display:flex;flex-direction:column;overflow:hidden;padding:0;min-height:0;background:var(--bg-content);border-radius:var(--radius-2xl)}.page-stack>.panel-section:last-child>:first-child:not(.table-wrap){padding:24px 24px 14px;margin:0}.page-stack>.panel-section:last-child>.table-wrap{flex:1;overflow:auto;padding:0 24px 24px;margin:0;border-radius:0;box-shadow:none;background:var(--bg-content);min-height:750px;max-height:750px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h2{font-size:20px;font-weight:700;letter-spacing:-.012em}.heading-actions{display:flex;align-items:center;gap:10px}.renewal-coach-filter{width:auto;min-width:150px}.attendance-coach-filter{width:auto;min-width:132px}.class-list-heading{align-items:flex-end;flex-wrap:wrap}.class-list-heading-copy{flex:0 0 auto;min-width:88px}.class-list-heading .heading-actions{flex:1 1 280px;min-width:0}.class-list-heading .attendance-coach-filter{flex:1 1 132px}.toolbar-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.toolbar-actions select{width:auto;min-width:140px}.compact-list{max-height:360px;overflow:auto;display:grid;gap:0}.business-stats-page .renewal-stat-columns .compact-list{max-height:560px}.renewal-list-filters{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px}.stats-section-heading{align-items:flex-start}.stats-heading-cluster{display:flex;align-items:flex-end;justify-content:flex-start;flex-wrap:wrap;gap:12px 18px;min-width:0}.stats-inline-filters{justify-content:flex-start}.renewal-list-filters select{width:auto;min-width:150px}.renewal-list-filters input{width:210px}.filter-result-count{color:var(--label-secondary);font-size:13px;white-space:nowrap}.student-pool-filters{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.student-pool-filters select{width:auto;min-width:160px}.data-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border:0;border-bottom:1px solid var(--separator-opaque);border-radius:0;background:transparent}.data-row:last-child{border-bottom:0}.data-row strong{display:block;font-size:15px;font-weight:600;color:var(--label-primary)}.data-row span{display:block;margin-top:2px;color:var(--label-secondary);font-size:13px}.manager-dashboard-columns{grid-template-columns:minmax(0,.44fr) minmax(0,.56fr);align-items:start}.manager-dashboard-columns>.panel-section{gap:10px;padding:18px 20px}.coach-attendance-row{display:grid;gap:8px;padding:11px 0;border-bottom:1px solid var(--separator-opaque)}.coach-attendance-row:last-child{border-bottom:0}.coach-attendance-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.coach-attendance-heading>div>strong{display:block;font-size:15px;font-weight:650}.coach-attendance-heading>div>span{display:block;margin-top:2px;color:var(--label-secondary);font-size:12px}.coach-attendance-counts{display:flex;flex-wrap:wrap;gap:5px 12px;color:var(--label-tertiary);font-size:12px}.coach-attendance-counts strong{color:var(--label-secondary);font-weight:650}.coach-attendance-progress{overflow:hidden;height:4px;border-radius:999px;background:var(--fill-secondary)}.coach-attendance-progress>span{display:block;height:100%;border-radius:inherit;background:var(--system-green);transition:width var(--duration-base) var(--ease-out)}.list-stack{display:grid;gap:10px}.student-row,.schedule-list-item,.selectable-row,.class-attendance-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px;border:1px solid var(--separator-opaque);border-radius:var(--radius-xl);background:var(--bg-content);color:var(--label-primary);text-align:left;transition:border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.student-row strong,.schedule-list-item strong,.selectable-row strong,.class-attendance-item strong{font-weight:600;color:var(--label-primary)}.student-row span,.schedule-list-item span,.class-attendance-main>span{display:block;margin-top:4px;color:var(--label-secondary);font-size:12px}.class-type-tag{display:inline-block!important;margin-top:0!important;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:500;line-height:16px;border-radius:6px;vertical-align:middle}.class-type-tag.tag-REGULAR{background:#0071e31a;color:#0071e3}.class-type-tag.tag-CAMP{background:#ff95001f;color:#ff9500}.class-type-tag.tag-PRIVATE{background:#af52de1f;color:#af52de}.student-row.active,.schedule-list-item.active,.selectable-row.active,.class-attendance-item.active{border-color:#0071e361;background:#0071e30f}.student-row-main{min-width:0}.student-row-badges{display:grid;justify-items:end;flex:0 0 auto;gap:6px}.toolbar,.quick-form{display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px}.toolbar-field{width:180px}.toolbar-field span,.schedule-form label span{color:var(--label-secondary);font-size:13px;font-weight:600}.toolbar-field input,.toolbar-field select,.schedule-form label input,.schedule-form label select{width:100%}.toolbar.compact input,.toolbar.compact select{width:150px}.quick-form{display:flex}.schedule-form label{gap:6px;display:inline-flex;flex-direction:column}.schedule-form .field-short{width:auto;min-width:150px;flex:0 1 auto}.schedule-form .field-medium{width:auto;min-width:200px;flex:0 1 auto}.schedule-form .field-wide{flex:1 1 360px;min-width:min(420px,100%)}.class-type-recurrence-group{display:flex;flex:0 0 auto;align-items:flex-end;gap:10px}.class-type-recurrence-group .field-short{flex:0 0 150px}.schedule-form input,.booking-form input{width:132px}.schedule-form input.wide-field{width:100%}.schedule-form .readonly-class-field input:disabled{width:auto;min-width:0;max-width:100%}.date-row-field{display:grid;grid-template-columns:88px 190px;align-items:center;gap:10px;flex-basis:100%}.date-row-field span{color:var(--label-secondary);font-size:14px;font-weight:700;white-space:nowrap}.date-row-field input{width:190px}.schedule-date-controls{display:flex;align-items:center;flex:1 1 100%;flex-wrap:wrap;gap:10px}.schedule-date-controls .date-row-field{flex:0 0 auto}.schedule-form input:disabled{width:auto;min-width:0;background:var(--fill-tertiary);color:var(--label-primary);opacity:1}.schedule-form label.field-medium input[placeholder=可选],.booking-form input[placeholder=客户姓名]{width:180px}.recurrence-toolbar{margin-top:10px}.check-control{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border:1px solid var(--separator-opaque);border-radius:var(--radius-lg);background:var(--bg-content);color:var(--label-primary);font-size:14px;font-weight:600}.check-control input{width:16px;height:16px;accent-color:var(--system-blue)}.recurrence-inline{width:auto;min-width:132px;flex:0 0 auto;align-self:flex-end;margin-bottom:0}.recurrence-inline span{white-space:nowrap}.schedule-form label.recurrence-inline{align-items:center;flex-direction:row}.schedule-form .remark-field{flex:1 1 520px;min-width:min(520px,100%);max-width:720px}.schedule-form .remark-field input{width:100%}.field-hint-inline{display:block;margin-top:4px;color:var(--label-tertiary);font-size:11px;line-height:1.4}.form-hint{display:inline-flex;align-items:center;min-height:42px;padding:0 12px;color:var(--label-tertiary);font-size:13px}.scope-switch,.segmented,.segmented-control{display:inline-flex;width:fit-content;flex:0 0 auto;align-items:center;padding:3px;gap:0;border:0;border-radius:var(--radius-lg);background:var(--fill-secondary)}.scope-switch label,.segmented button,.segmented-control button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border:0;border-radius:calc(var(--radius-lg) - 3px);background:transparent;color:var(--label-secondary);font-size:13px;font-weight:600;white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.scope-switch label:hover,.segmented button:hover,.segmented-control button:hover{color:var(--label-primary)}.scope-switch input{width:14px;height:14px;accent-color:var(--system-blue)}.segmented button.active,.segmented-control button.active{background:var(--bg-content);color:var(--label-primary);box-shadow:var(--shadow-sm),0 1px 2px #00000005}.segmented:not(.segmented-control) button.active{background:var(--system-blue);color:#fff;box-shadow:none}.file-picker{position:relative;display:inline-flex;align-items:center;gap:8px;height:42px;min-width:260px;padding:0 16px;border:1px dashed rgba(0,113,227,.42);border-radius:var(--radius-lg);background:#0071e30d;color:var(--system-blue);font-weight:600;font-size:14px}.file-picker:hover{background:#0071e314}.file-picker input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0}.status-badge{display:inline-flex;align-items:center;justify-content:center;height:24px;padding:0 10px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;line-height:normal;white-space:nowrap}.status-badge.success{background:#34c75924;color:#0a7c3e}.status-badge.warning{background:#ff950024;color:#8a5300}.status-badge.danger{background:#ff3b301f;color:#c91a0f}.status-badge.neutral{background:var(--fill-primary);color:var(--label-secondary)}.table-wrap{position:relative;overflow:auto;border:0;border-radius:var(--radius-2xl);background:var(--bg-content);box-shadow:var(--shadow-md)}.tab-panel{padding:20px 24px 24px;display:flex;flex-direction:column;gap:16px}.tab-panel>.section-heading{display:flex;align-items:center;justify-content:space-between}.page-stack>.panel-section:last-child>.table-wrap th,.panel-section.scrollable>.table-wrap th,.scrollable-table th{position:sticky;top:0;z-index:10;background:var(--bg-content);box-shadow:0 1px 0 var(--separator-opaque)}table{width:100%;border-collapse:separate;border-spacing:0;min-width:760px}th,td{padding:14px 16px;border-bottom:1px solid var(--separator-opaque);text-align:left;vertical-align:middle;font-size:14px}th{color:var(--label-secondary);font-size:13px;font-weight:700;background:var(--bg-content)}td{position:relative;z-index:1}tr:last-child td{border-bottom:0}.compact-table table{min-width:820px}.compact-table th,.compact-table td{padding:10px 12px}td.row-actions{display:table-cell;vertical-align:middle}td.row-actions>.small-text-button{margin:4px 6px 4px 0}.row-actions{display:flex;flex-wrap:wrap;gap:8px}.order-identity-cell{min-width:210px}.order-no-muted{display:block;color:var(--label-secondary);font-size:12px;font-weight:700;overflow-wrap:anywhere}.private-summary-cell{min-width:180px}.private-actions{min-width:220px}.empty-state,.placeholder{display:grid;justify-items:center;gap:10px;padding:48px 20px;color:var(--label-tertiary);text-align:center}.empty-state strong,.placeholder h2{color:var(--label-primary);font-size:15px;font-weight:600}.schedule-grid{display:grid;gap:12px}.schedule-planner{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.35fr);gap:16px}.schedule-preview{display:flex;flex-wrap:wrap;gap:8px}.schedule-preview span{min-height:30px;padding:7px 12px;border-radius:var(--radius-pill);background:var(--fill-secondary);color:var(--label-secondary);font-size:13px;font-weight:500}.mini-booking-board{position:relative;display:grid;isolation:isolate;overflow:auto;border:0;border-radius:var(--radius-2xl);background:var(--bg-content);box-shadow:var(--shadow-md)}.schedule-card{display:grid;grid-template-columns:92px minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px;border:0;border-radius:var(--radius-2xl);background:var(--bg-content);box-shadow:var(--shadow-md)}.schedule-time{display:grid;place-items:center;gap:2px;min-height:68px;border-radius:var(--radius-xl);background:#34c7591a;color:#0a7c3e;padding:8px}.schedule-time strong{font-size:20px;font-weight:700;letter-spacing:-.01em}.schedule-time span,.meta-line,.schedule-body p,.availability-card span{color:var(--label-secondary);font-size:13px;line-height:1.5}.schedule-body{display:grid;gap:8px}.card-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.card-badges{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.card-title-left{display:inline-flex;align-items:center;gap:8px}.package-sport-tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:500;color:#4a90d9;background:#4a90d91a}.meta-line{display:flex;flex-wrap:wrap;gap:12px}.schedule-body p{margin:0}.compact-time{min-height:58px;padding:6px}.compact-time strong{font-size:18px}.availability-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.availability-card{display:grid;gap:10px;padding:16px;border:0;border-radius:var(--radius-2xl);background:var(--bg-content);box-shadow:var(--shadow-md)}.slot-list{display:flex;flex-wrap:wrap;gap:8px}.slot-pill{height:32px;padding:0 12px;border:0;border-radius:var(--radius-pill);background:#0071e31a;color:#0064d0;font-weight:600;font-size:13px;transition:background-color var(--duration-fast) var(--ease-out)}.slot-pill:hover{background:#0071e329}.slot-pill.disabled{background:var(--fill-secondary);color:var(--label-quaternary);cursor:not-allowed}.venue-booking-page{display:grid;gap:16px}.booking-board{display:grid;overflow:auto;border:0;border-radius:var(--radius-2xl);background:var(--bg-content);box-shadow:var(--shadow-md)}.board-corner,.time-head,.venue-head,.board-slot{min-height:52px;border-right:1px solid var(--separator-opaque);border-bottom:1px solid var(--separator-opaque)}.board-corner,.time-head{position:sticky;top:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--fill-tertiary);color:var(--label-secondary);white-space:nowrap}.time-head .time-main{font-size:13px;font-weight:700;color:var(--label-primary);line-height:1.15}.time-head .time-sub{font-size:10px;font-weight:500;color:var(--label-tertiary);line-height:1}.board-corner,.venue-head{position:sticky;left:0;z-index:2}.board-corner{z-index:4;background:var(--bg-under-page);box-shadow:1px 0 0 var(--separator-opaque),10px 0 16px -16px #00000057}.venue-head{display:grid;align-content:center;gap:2px;padding:10px 12px;background:var(--bg-content);box-shadow:1px 0 0 var(--separator-opaque),10px 0 16px -16px #00000057;overflow:hidden}.venue-head strong,.venue-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.venue-head span{color:var(--label-tertiary);font-size:12px}.board-slot{position:relative;display:grid;place-items:center;border-top:0;border-left:0;background:#34c75914;color:#0a7c3e;font-weight:700;font-size:13px;transition:background-color var(--duration-fast) var(--ease-out)}.board-slot:hover:not(:disabled){background:#34c75929}.board-slot.selected{background:var(--system-green);color:#fff}.board-slot.current{background:var(--system-red);color:#fff}.board-slot.unavailable{background:var(--fill-secondary);color:var(--label-quaternary);cursor:default;font-weight:500}.board-slot.youth-occupied{background:#f59e0b2e;color:#92400e;cursor:default;font-weight:600;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1.2}.board-slot.youth-occupied .slot-youth-label{font-size:13px;font-weight:700}.board-slot.youth-occupied .slot-youth-coach{font-size:11px;font-weight:500;opacity:.85;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-tooltip{position:absolute;left:50%;top:calc(100% + 8px);z-index:6;display:none;min-width:200px;padding:12px 14px;border-radius:var(--radius-lg);background:#1d1d1ff0;backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);color:#fff;box-shadow:var(--shadow-xl);transform:translate(-50%);text-align:left;font-size:13px;line-height:1.5}.slot-tooltip:before{position:absolute;top:-5px;left:calc(50% - 5px);width:10px;height:10px;background:#1d1d1ff0;content:"";transform:rotate(45deg);border-top-left-radius:2px}.board-slot.tooltip-flip .slot-tooltip{top:auto;bottom:calc(100% + 8px)}.board-slot.tooltip-flip .slot-tooltip:before{top:auto;bottom:-5px;transform:rotate(-135deg)}.slot-tooltip strong,.slot-tooltip span{position:relative;z-index:1;display:block}.slot-tooltip strong{font-size:14px;font-weight:700}.slot-tooltip span{margin-top:4px;color:#fffc;font-size:12px;font-weight:500}.board-slot:hover .slot-tooltip{display:block}.student-package-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.4fr);gap:16px}.attendance-layout{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.7fr);gap:16px}.student-list-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.student-list-summary>div{display:grid;gap:2px;min-width:0;padding:12px;border:0;border-radius:var(--radius-xl);background:var(--fill-secondary)}.student-list-summary span,.student-list-summary small{color:var(--label-tertiary);font-size:12px}.student-list-summary strong{color:var(--label-primary);font-size:22px;font-weight:700;letter-spacing:-.01em}.package-grid{display:grid;gap:12px}.package-card{display:grid;gap:12px;padding:18px;border:0;border-radius:var(--radius-xl);background:var(--fill-secondary)}.package-card-actions{display:grid;justify-items:end;gap:7px}.package-record-actions{display:flex;gap:4px}.package-record-button{padding:3px 9px;border-radius:var(--radius-sm)}.package-record-button.active{background:#0071e31a;color:var(--system-blue)}.package-count{display:flex;align-items:baseline;gap:8px}.package-count strong{font-size:34px;color:var(--system-blue);font-weight:700;letter-spacing:-.02em}.package-count span,.package-meta{color:var(--label-secondary);font-size:13px}.package-count .package-expired-balance-hint{padding:5px 9px;border-radius:999px;background:#ff95001f;color:#9a5a00;font-weight:600}.package-renewal-balance{display:flex;flex-wrap:wrap;gap:6px 14px;width:fit-content;padding:8px 10px;border-radius:var(--radius-md);background:#0071e314;color:var(--label-secondary);font-size:12px}.package-meta{display:flex;flex-wrap:wrap;gap:10px 14px}.package-adjust-summary{display:grid;gap:6px 12px;padding:12px;border-radius:var(--radius-md);background:var(--fill-secondary);color:var(--label-secondary);font-size:13px}.package-adjust-summary strong{color:var(--label-primary)}.package-adjust-summary p{flex-basis:100%;margin:0;color:var(--label-secondary)}.package-adjust-log{display:flex;flex-wrap:wrap;gap:4px 12px;padding-top:8px;border-top:1px solid var(--separator-opaque)}.package-adjust-log:first-of-type{border-top:0}.package-attendance-panel{display:grid;gap:14px;margin-top:16px;padding:18px;border:1px solid var(--separator-opaque);border-radius:var(--radius-xl);background:var(--bg-under-page)}.package-attendance-heading{align-items:flex-start}.package-attendance-heading h3{font-size:18px}.package-attendance-heading-actions{display:flex;align-items:center;gap:6px}.package-attendance-summary,.package-attendance-state{margin-top:5px;color:var(--label-tertiary);font-size:12px}.package-attendance-state{padding:28px 0;text-align:center}.package-attendance-list{display:grid;gap:0}.package-attendance-row{display:grid;gap:8px;padding:14px 0;border-top:1px solid var(--separator-opaque)}.package-attendance-row:first-child{padding-top:0;border-top:0}.package-attendance-main,.package-attendance-details{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px}.package-attendance-main>strong{font-size:14px}.package-attendance-details{color:var(--label-secondary);font-size:12px}.package-attendance-details .deducted-lessons{color:var(--system-blue);font-weight:650}.package-attendance-remark{color:var(--label-secondary);font-size:12px}.package-attendance-actions{margin-top:4px;display:flex;justify-content:flex-end}.attendance-workbench{min-height:640px}.absent-follow-up-page{display:flex;flex-direction:column;gap:16px}.absent-follow-up-page .page-header{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:4px 4px 0}.absent-follow-up-page .page-header h1{margin:0 0 4px;font-size:20px;font-weight:700;color:var(--label-primary)}.absent-follow-up-page .page-subtitle{margin:0;color:var(--label-secondary);font-size:13px}.absent-follow-up-page .header-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.absent-follow-up-page .absent-shop-filter{min-width:190px}.absent-follow-up-page .absent-name-filter{width:180px}.absent-follow-up-section{grid-column:1 / -1}.absent-student-wrap{display:flex;flex-direction:column;gap:12px;padding:0 24px 18px}.absent-student-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px}.absent-student-table thead th{position:sticky;top:0;background:var(--bg-content);text-align:left;padding:10px 8px;border-bottom:1px solid var(--separator);white-space:nowrap;color:var(--label-secondary);font-weight:600;font-size:12px}.absent-student-table tbody td{padding:10px 8px;border-bottom:1px solid var(--separator-soft);vertical-align:top;color:var(--label-primary)}.absent-student-table tbody tr:hover{background:var(--bg-hover)}.absent-student-table tbody td strong{color:var(--label-primary)}.absent-student-table .cell-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.absent-time-cell{display:flex;flex-direction:column;gap:2px}.absent-time-cell strong{font-size:13px}.absent-time-cell small{color:var(--label-tertiary);font-size:11px}.absent-type-tag{display:inline-block;padding:2px 8px;border-radius:8px;font-size:11px;font-weight:600;white-space:nowrap}.absent-type-tag.tag-NO_RECORD{background:#ff950029;color:var(--system-orange)}.absent-type-tag.tag-LEAVE{background:#0071e324;color:var(--system-blue)}.follow-up-tag{display:inline-block;padding:2px 8px;border-radius:8px;font-size:11px;font-weight:600;white-space:nowrap}.follow-up-tag.follow-up-pending,.follow-up-tag.follow-up-0{background:#8e8e932e;color:var(--label-secondary)}.follow-up-tag.follow-up-1{background:#0071e329;color:var(--system-blue)}.follow-up-tag.follow-up-2{background:#30d1582e;color:var(--system-green)}.absent-action-cell{display:flex;gap:6px;flex-wrap:wrap}.absent-action-cell .small-text-button{min-height:30px;padding:4px 10px}.follow-up-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.follow-up-history-item{padding:12px 14px;border-radius:var(--radius-lg);background:var(--bg-secondary);border:1px solid var(--separator-soft)}.follow-up-history-head{display:flex;align-items:center;gap:10px;margin-bottom:4px}.follow-up-history-remark{margin:4px 0;color:var(--label-primary);font-size:13px;line-height:1.5}.follow-up-history-operator{color:var(--label-tertiary);font-size:11px}.follow-up-modal-panel{width:min(420px,calc(100vw - 32px))}.follow-up-modal-panel .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:4px}.follow-up-modal-hint{margin:0 0 6px;color:var(--label-secondary);font-size:14px;line-height:1.6}.follow-up-modal-hint strong{color:var(--label-primary)}.follow-up-form-field{display:flex;flex-direction:column;gap:6px;margin-top:14px}.follow-up-form-label{color:var(--label-primary);font-size:14px;font-weight:600}.required-mark{color:var(--system-red);margin-left:2px}.follow-up-form-textarea{width:100%;min-height:96px;padding:10px 12px;border:1px solid var(--separator);border-radius:var(--radius-md);background:var(--bg-input);color:var(--label-primary);font-size:14px;line-height:1.5;resize:vertical;font-family:inherit;box-sizing:border-box}.follow-up-form-textarea:focus{outline:none;border-color:var(--system-blue);box-shadow:0 0 0 3px #0071e31f}.follow-up-form-textarea:disabled{background:var(--bg-secondary);cursor:not-allowed}.follow-up-form-count{align-self:flex-end;color:var(--label-tertiary);font-size:11px}.follow-up-form-error{color:var(--system-red);font-size:12px;align-self:flex-start}.class-schedule-navigator{display:grid;gap:6px;min-width:0}.class-schedule-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-height:32px}.class-schedule-toolbar>span{margin-right:auto;color:var(--label-secondary);font-size:12px}.class-schedule-controls{display:flex;gap:6px}.schedule-scroll-button{display:inline-grid;place-items:center;width:34px;height:30px;padding:0;border:1px solid var(--separator-opaque);border-radius:9px;background:var(--bg-content);color:var(--system-blue);font-size:26px;line-height:1;cursor:pointer}.schedule-scroll-button:hover:not(:disabled){border-color:#0071e352;background:#0071e30f}.schedule-scroll-button:disabled{color:var(--label-tertiary);cursor:default;opacity:.45}.class-schedule-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--label-tertiary) var(--fill-secondary)}.class-schedule-strip::-webkit-scrollbar{height:8px}.class-schedule-strip::-webkit-scrollbar-track{border-radius:999px;background:var(--fill-secondary)}.class-schedule-strip::-webkit-scrollbar-thumb{border-radius:999px;background:var(--label-tertiary)}.schedule-chip{display:grid;gap:3px;min-width:148px;padding:10px 12px;border:1px solid var(--separator-opaque);border-radius:var(--radius-xl);background:var(--bg-content);color:var(--label-primary);text-align:left;transition:all var(--duration-fast) var(--ease-out)}.schedule-chip span,.schedule-chip em{color:var(--label-secondary);font-size:12px;font-style:normal}.schedule-chip.active{border-color:#0071e361;background:#0071e30f}.schedule-chip.cancelled{border-color:#ff3b303d;background:#ff3b300d}.schedule-chip.cancelled strong,.schedule-chip.cancelled em{color:var(--system-red)}.schedule-chip.venue-released{border-color:#ff950052;background:#ff95000f}.schedule-chip.venue-released strong,.schedule-chip.venue-released em{color:#c70}.selected-schedule-action{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid rgba(0,113,227,.16);border-radius:var(--radius-lg);background:#0071e30b}.selected-schedule-action.cancelled{border-color:#ff3b3033;background:#ff3b300b}.selected-schedule-action-copy{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;min-width:0}.selected-schedule-actions-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.selected-schedule-action-copy strong{color:var(--label-primary);font-size:14px}.selected-schedule-action-copy span{color:var(--label-secondary);font-size:13px}.selected-schedule-action-copy small{flex-basis:100%;color:var(--label-tertiary);font-size:12px}.selected-schedule-action.cancelled .selected-schedule-action-copy strong{color:var(--system-red)}@media (max-width: 720px){.selected-schedule-action{align-items:stretch;flex-direction:column}.selected-schedule-action>button{width:100%}}.attendance-summary .metric{padding:14px}.attendance-summary .metric strong{font-size:24px}.attendance-breakdown{display:flex;flex-wrap:wrap;gap:8px}.attendance-breakdown span{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:var(--radius-pill);background:var(--fill-secondary);color:var(--label-secondary);font-size:13px;font-weight:500}.attendance-breakdown .expired-blocked-summary{background:#ff3b301f;color:var(--system-red);font-weight:700}.attendance-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.attendance-card{display:grid;align-content:start;gap:12px;padding:16px;border:0;border-radius:var(--radius-2xl);background:var(--bg-content);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-fast) var(--ease-out)}.attendance-card.is-recorded{border-left:4px solid;padding-left:12px}.attendance-card.is-attended{border-left-color:var(--system-green);background:#34c75914}.attendance-card.is-leave-free,.attendance-card.is-leave-deducted{border-left-color:var(--system-orange);background:#ff950014}.attendance-card.is-expired-blocked{border:2px solid rgba(255,59,48,.72);background:#ff3b300e;box-shadow:0 8px 24px #ff3b301a}.expired-attendance-warning{display:grid;gap:4px;padding:10px 12px;border-radius:var(--radius-lg);background:#ff3b301f;color:var(--system-red)}.expired-attendance-warning strong{font-size:14px}.expired-attendance-warning span{font-size:12px;line-height:1.45}.attendance-actions{display:flex;flex-wrap:wrap;gap:8px}.mini-count strong{font-size:30px;font-weight:700;letter-spacing:-.02em}.package-count.is-depleted strong,.remaining-zero{color:var(--system-red, #ff3b30)}.renewal-alert-badge{margin-left:6px;flex-shrink:0}.attendance-carryover-note{width:fit-content;padding:6px 9px;border-radius:var(--radius-sm);background:#ff95001a;color:var(--system-orange);font-size:12px;font-weight:600}.attendance-package-list{display:flex;flex-direction:column;gap:6px}.attendance-package-row{padding:8px 10px;border-radius:var(--radius-md);background:#00000008;border:1px solid transparent}.attendance-package-row.is-primary{background:#34c7591a;border-color:#34c7594d}.pkg-row-main{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}.pkg-tag{font-size:11px;font-weight:500;padding:2px 6px;border-radius:4px;background:#0000000f;color:var(--text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.pkg-remaining{color:var(--text-primary)}.pkg-deduction-badge{font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px;background:var(--system-green);color:#fff}.attendance-package-row.is-pending{opacity:.62;background:#ff95000f;border-color:#ff950033}.pkg-pending-badge{font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px;background:var(--system-orange, #FF9500);color:#fff}.pkg-row-sub{display:flex;flex-wrap:wrap;gap:10px;margin-top:3px;font-size:11px;color:var(--text-secondary)}.pkg-row-sub span:before{content:"· ";opacity:.5}.pkg-row-sub span:first-child:before{content:""}.package-leave-meta{font-size:12px;color:var(--text-secondary)}.payment-workbench{display:grid;grid-template-columns:minmax(0,760px) minmax(260px,320px);gap:18px;align-items:start;margin-top:8px}.payment-workbench.renewal-mode{grid-template-columns:minmax(0,1fr)}.payment-form-card,.payment-summary-card{padding:20px;border:0;border-radius:var(--radius-3xl);background:var(--bg-content);box-shadow:var(--shadow-md)}.payment-form-card{display:grid;gap:18px}.payment-form-group{display:grid;gap:10px}.form-group-title{margin:0;color:var(--label-primary);font-size:14px;font-weight:700}.package-order-form{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:12px}.package-order-form label{display:grid;gap:6px}.package-order-form label span{padding-left:4px;color:var(--label-tertiary);font-size:12px;font-weight:500}.package-order-form label input,.package-order-form label select{width:100%}.compact-payment-form .field-short{grid-column:span 1}.compact-payment-form .field-medium{grid-column:span 2}.compact-payment-form .field-wide{grid-column:span 4}.payment-note-row{grid-template-columns:minmax(260px,1fr) auto}.payment-submit{width:fit-content;min-width:172px;align-self:end}.order-form-feedback{margin-top:12px}.order-form-feedback .notice{width:100%}.payment-summary-card{position:sticky;top:16px}.payment-summary-grid{grid-template-columns:1fr;gap:10px;margin-top:10px}.payment-summary-grid .metric{min-height:86px;padding:14px;background:var(--fill-secondary);box-shadow:none}.payment-summary-grid .metric strong{font-size:22px}.monthly-sales-list{display:grid;gap:10px}.monthly-sales-row{display:grid;grid-template-columns:86px minmax(160px,1fr) minmax(220px,280px);align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--separator-opaque);border-radius:var(--radius-xl);background:var(--bg-content)}.month-label,.month-amount{display:grid;gap:3px}.month-label span,.month-amount span{color:var(--label-tertiary);font-size:12px}.sales-bar-track{height:10px;overflow:hidden;border-radius:var(--radius-pill);background:var(--fill-secondary)}.sales-bar-fill{height:100%;border-radius:inherit;background:var(--system-blue);transition:width var(--duration-base) var(--ease-out)}.renewal-workspace{display:grid;grid-template-columns:minmax(480px,1.3fr) minmax(380px,1fr);gap:14px;align-items:start}.renewal-list-panel{padding:0;border:0}.renewal-candidate-list{max-height:360px;margin:8px 16px 0}.renewal-form{align-content:start;grid-template-columns:repeat(4,minmax(0,1fr))}.student-form input,.student-form select{width:140px}.schedule-list{max-height:680px;overflow:auto}.class-attendance-list{max-height:760px;overflow:auto}.schedule-list-item{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:12px;border-radius:var(--radius-xl)}.class-attendance-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:14px;border-radius:var(--radius-xl)}.class-attendance-main{min-width:0}.class-attendance-main>strong{display:block;overflow-wrap:anywhere}.class-attendance-meta{display:grid;align-content:center;justify-items:center;align-self:stretch;gap:6px;min-width:64px}.class-attendance-meta .class-type-tag{margin-left:0}.class-attendance-meta .status-badge{margin:0;line-height:1}.schedule-progress-line{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.schedule-progress-line span{display:inline-flex;align-items:center;min-height:24px;margin-top:0;padding:0 10px;border-radius:var(--radius-pill);background:var(--fill-secondary);color:var(--label-secondary);font-size:12px;font-weight:500}.private-record-row td{padding:0;background:var(--fill-tertiary)}.private-record-list{display:grid;gap:8px;padding:12px 16px}.private-record-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center;padding:12px 14px;border:1px solid var(--separator-opaque);border-radius:var(--radius-xl);background:var(--bg-content)}.private-record-main{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}.private-record-main span{color:var(--label-secondary);font-weight:600}.private-record-remark{margin:6px 0 0;color:var(--label-secondary);font-weight:600}.private-record-empty{padding:20px;color:var(--label-tertiary);text-align:center;font-weight:600}.basics-form input,.basics-form select{width:160px}.search-input{width:220px}.order-search-input{width:min(300px,100%)}.student-assignment-section{display:grid;gap:12px}.compact-heading h2{font-size:20px}.card-badges .status-badge,.student-row-badges .status-badge{height:22px;padding:0 8px;font-size:11px}.adjust-drawer{position:fixed;right:24px;bottom:24px;z-index:5;width:min(380px,calc(100vw - 32px));box-shadow:var(--shadow-xl)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:24px;background:#00000038;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal-panel{display:grid;gap:14px;width:min(960px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:22px;border-radius:var(--radius-3xl);background:var(--bg-content);box-shadow:var(--shadow-modal);animation:popIn .18s var(--ease-out)}@keyframes popIn{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}.confirm-panel{width:min(440px,calc(100vw - 32px))}.confirm-panel h2{margin-top:4px}.confirm-panel p{color:var(--label-secondary);line-height:1.6;font-size:14px}.confirm-actions{justify-content:flex-end}.schedule-edit-modal .mini-booking-board{max-height:430px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}.modal-header h3{margin:0;font-size:18px;font-weight:600}.close-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:20px;line-height:1;color:var(--label-secondary);transition:background-color .12s ease,color .12s ease}.close-btn:hover{background:var(--surface-hover);color:var(--label-primary)}.modal-body{display:grid;gap:12px}.modal-loading,.modal-empty{padding:32px 0;text-align:center;color:var(--label-secondary);font-size:14px}.change-time-modal{max-width:480px}.change-time-modal .modal-body{display:block}.change-time-hint{background:#007aff14;border-left:3px solid var(--system-blue);padding:8px 12px;font-size:12px;color:var(--system-blue);border-radius:4px;margin-bottom:14px}.change-time-info{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;padding:10px 12px;background:var(--surface-muted);border-radius:8px;margin-bottom:14px}.change-time-info .info-label{font-size:11px;color:var(--label-secondary)}.change-time-info .info-value{font-size:13px;color:var(--label);font-weight:500;margin-top:2px}.change-time-modal .form-group{margin-bottom:12px}.change-time-modal .form-label{font-size:12px;color:var(--label-secondary);margin-bottom:4px;display:block}.change-time-modal .form-input{width:100%;padding:8px 12px;border:1px solid var(--border-subtle);border-radius:8px;font-size:13px;color:var(--label);background:var(--surface-primary);box-sizing:border-box;outline:none;transition:border-color var(--duration-fast) var(--ease-out)}.change-time-modal .form-input:focus{border-color:var(--system-blue);box-shadow:0 0 0 3px #007aff1f}.change-time-modal .form-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.change-time-warning{background:#ff950014;border-left:3px solid var(--system-orange);padding:8px 12px;font-size:12px;color:#8a6d2b;border-radius:4px;margin-top:8px}.change-time-error{margin-top:8px;font-size:12px;color:var(--system-red)}.change-time-modal .modal-footer{padding:12px 20px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border-subtle);background:var(--surface-muted)}.record-list{display:grid;gap:10px;max-height:60vh;overflow-y:auto}.record-item{display:grid;gap:4px;padding:12px 14px;border-radius:var(--radius-xl);background:var(--surface-muted);border:1px solid var(--border-subtle)}.record-date{font-weight:600;color:var(--label-primary);font-size:14px}.record-info{display:flex;gap:6px;font-size:13px;color:var(--label-secondary)}.record-label{color:var(--label-tertiary)}.record-status{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:600;line-height:18px}.status-attended{background:#22c55e1f;color:#15803d}.status-absent{background:#ef44441f;color:#b91c1c}.status-leave-free{background:#64748b29;color:#475569}.status-leave-deducted{background:#eab30829;color:#a16207}.icp-footer{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 24px;color:var(--label-tertiary);font-size:12px;font-weight:500;line-height:1}.icp-footer a{color:inherit;text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}.icp-footer a:hover{color:var(--label-secondary);text-decoration:underline}.icp-footer .icp-divider{color:var(--label-quaternary)}.icp-footer-sidebar{margin-top:auto;padding:16px 14px;flex-shrink:0;border-top:1px solid var(--separator-non-opaque)}.account .icon-button{border-radius:50%}.toolbar,.quick-form{align-items:flex-start}.order-search-input .search-input{width:auto}@media (max-width: 900px){.app-shell,.app-shell.sidebar-collapsed,.schedule-planner{grid-template-columns:1fr}.sidebar-rail-toggle{display:none}.sidebar{position:sticky;top:0;z-index:2;padding:14px;min-height:auto;height:auto}.app-shell.sidebar-collapsed .sidebar{padding:14px;border-right-color:var(--separator-opaque);opacity:1;visibility:visible;pointer-events:auto}.brand{margin-bottom:12px;padding-bottom:14px}.nav-list{display:flex;overflow-x:auto;padding-bottom:4px;gap:4px}.nav-group{display:contents}.nav-group-title{display:none}.nav-item{flex:0 0 auto;width:auto}.nav-item.active:before{display:none}.main-panel{padding:16px}.topbar{align-items:flex-start;flex-direction:column}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-workbench,.payment-workbench.renewal-mode,.renewal-workspace{grid-template-columns:1fr}.payment-summary-card{position:static}.payment-summary-grid,.package-order-form,.renewal-form{grid-template-columns:repeat(2,minmax(140px,1fr))}.payment-note-row,.monthly-sales-row{grid-template-columns:1fr}.compact-payment-form .field-short,.compact-payment-form .field-medium,.compact-payment-form .field-wide{grid-column:span 1}.student-package-layout,.attendance-layout,.private-record-item{grid-template-columns:1fr}}@media (max-width: 560px){.content-surface{padding:14px;border-radius:var(--radius-3xl)}.summary-grid,.module-grid,.dashboard-columns{grid-template-columns:1fr}.toolbar input,.toolbar select,.quick-form input,.schedule-form input,.booking-form input,.file-picker{width:100%}.class-type-recurrence-group{flex-wrap:nowrap;width:100%}.class-type-recurrence-group .field-short{flex:1 1 auto;min-width:0}.class-type-recurrence-group .recurrence-inline{flex:0 0 auto}.schedule-card{grid-template-columns:1fr}.card-title{align-items:flex-start;flex-direction:column}.hero-panel{flex-direction:column;align-items:flex-start;padding:24px 20px}.hero-panel h2{font-size:26px}}.change-password-panel{width:min(440px,calc(100vw - 32px));gap:16px}.change-password-panel h3{margin:0 0 4px}.change-password-panel .form-group{display:flex;flex-direction:column;gap:6px}.change-password-panel .form-group label{font-size:13px;font-weight:600;color:var(--label-secondary)}.change-password-panel .form-group input{padding:8px 12px;border:1px solid var(--border-secondary);border-radius:var(--radius-md);font-size:15px;outline:none;transition:border-color .15s}.change-password-panel .form-group input:focus{border-color:var(--system-blue)}.change-password-panel .modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:4px}.pw-error{margin:0;color:#dc2626;font-size:13px}.pw-success{margin:0;color:#16a34a;font-size:13px}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.theme-switch{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--separator-opaque);border-radius:var(--radius-lg);background:var(--fill-secondary)}.theme-option{min-width:52px;height:30px;padding:0 12px;border:0;border-radius:calc(var(--radius-lg) - 3px);background:transparent;color:var(--label-tertiary);font-size:12px;font-weight:650;transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.theme-option:hover{color:var(--label-primary)}.theme-option.active{background:var(--bg-content);color:var(--system-blue);box-shadow:var(--shadow-sm)}html[data-theme=cyber]{color-scheme:dark;--font-display: "SFMono-Regular", Consolas, "Liberation Mono", "PingFang SC", monospace;--label-primary: #d8edf5;--label-secondary: #91aaba;--label-tertiary: #6f899a;--label-quaternary: #506776;--fill-primary: rgba(20, 199, 255, .1);--fill-secondary: rgba(14, 57, 76, .52);--fill-tertiary: rgba(8, 31, 43, .58);--bg-window: #020810;--bg-content: #07131e;--bg-under-page: #04101a;--bg-sidebar: rgba(3, 13, 22, .94);--bg-topbar: rgba(4, 16, 27, .9);--separator-opaque: #17384a;--separator-non-opaque: rgba(79, 187, 225, .25);--system-blue: #18c8ff;--system-blue-hover: #49d5ff;--system-green: #38d77b;--system-green-hover: #58e794;--system-orange: #f3a52b;--system-red: #ff4d5e;--system-red-hover: #ff7180;--system-yellow: #ffc857;--radius-xs: 3px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 7px;--radius-xl: 8px;--radius-2xl: 10px;--radius-3xl: 12px;--radius-4xl: 14px;--shadow-sm: 0 0 0 1px rgba(24, 200, 255, .08);--shadow-md: 0 8px 24px rgba(0, 0, 0, .28), 0 0 0 1px rgba(24, 200, 255, .1);--shadow-lg: 0 12px 30px rgba(0, 0, 0, .34), 0 0 16px rgba(24, 200, 255, .05);--shadow-xl: 0 18px 48px rgba(0, 0, 0, .46), 0 0 24px rgba(24, 200, 255, .08);--shadow-modal: 0 28px 80px rgba(0, 0, 0, .7), 0 0 0 1px rgba(24, 200, 255, .22);--material: saturate(125%) blur(18px);--border-secondary: #17384a;--border-subtle: rgba(79, 187, 225, .16);--text-primary: #d8edf5;--surface-hover: rgba(24, 200, 255, .1);--surface-muted: rgba(8, 31, 43, .72)}html[data-theme=cyber] body{background-color:var(--bg-window);background-image:linear-gradient(rgba(24,200,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(24,200,255,.025) 1px,transparent 1px),radial-gradient(circle at 72% -10%,rgba(24,200,255,.1),transparent 35%);background-size:28px 28px,28px 28px,auto;background-attachment:fixed}html[data-theme=cyber] .app-shell{background:transparent}html[data-theme=cyber] .sidebar{border-right-color:#18c8ff47;box-shadow:8px 0 28px #0000003d}html[data-theme=cyber] .brand{border-bottom:1px solid rgba(243,165,43,.2);margin-bottom:8px}html[data-theme=cyber] .brand-mark{filter:drop-shadow(0 0 7px rgba(243,165,43,.28))}html[data-theme=cyber] .brand strong,html[data-theme=cyber] .topbar h1,html[data-theme=cyber] .ops-center-page h2{font-family:var(--font-display);letter-spacing:.015em}html[data-theme=cyber] .topbar h1{color:var(--system-blue);text-shadow:0 0 16px rgba(24,200,255,.18)}html[data-theme=cyber] .nav-group-title{color:#668799;font-family:var(--font-display);letter-spacing:.1em}html[data-theme=cyber] .nav-item{border:1px solid transparent}html[data-theme=cyber] .nav-item:hover{border-color:#18c8ff24;background:#18c8ff12}html[data-theme=cyber] .nav-item.active{border-color:#18c8ff6b;background:linear-gradient(90deg,#18c8ff2b,#18c8ff0d);color:#a9eaff;box-shadow:inset 0 0 18px #18c8ff0f}html[data-theme=cyber] .nav-item.active:before{left:-1px;width:2px;height:24px;border-radius:0;box-shadow:0 0 8px #18c8ffbf}html[data-theme=cyber] .theme-switch{border-color:#18c8ff5c;background:#020c14cc}html[data-theme=cyber] .theme-option.active{background:#18c8ff21;color:#65dcff;box-shadow:inset 0 0 0 1px #18c8ff9e,0 0 12px #18c8ff1a}html[data-theme=cyber] .account{border-color:#18c8ff38;box-shadow:inset 0 0 16px #18c8ff06}html[data-theme=cyber] input,html[data-theme=cyber] select,html[data-theme=cyber] textarea{border-color:#5996b147;background-color:#03121ddb}html[data-theme=cyber] input:hover,html[data-theme=cyber] select:hover,html[data-theme=cyber] textarea:hover{border-color:#18c8ff5c;background-color:#061d2cf0}html[data-theme=cyber] input:focus,html[data-theme=cyber] select:focus,html[data-theme=cyber] textarea:focus{border-color:var(--system-blue);background-color:#061725;box-shadow:0 0 0 2px #18c8ff1f,0 0 16px #18c8ff12}html[data-theme=cyber] .primary-button{border:1px solid rgba(24,200,255,.72);background:#18c8ff21;color:#8ce8ff}html[data-theme=cyber] .primary-button:hover{background:#18c8ff3b}html[data-theme=cyber] .secondary-button,html[data-theme=cyber] .small-text-button,html[data-theme=cyber] .icon-button{border:1px solid rgba(89,150,177,.22);background:#0a2635a8}html[data-theme=cyber] .refresh-button{border:1px solid rgba(89,150,177,.22);background:#0a2635a8;color:#68ddff}html[data-theme=cyber] .export-button{border-color:#18c8ff99;background:#18c8ff17;color:#68ddff;box-shadow:inset 0 0 14px #18c8ff08}html[data-theme=cyber] .export-button:hover{background:#18c8ff2e}html[data-theme=cyber] .panel-section,html[data-theme=cyber] .metric,html[data-theme=cyber] .table-wrap,html[data-theme=cyber] .modal-panel,html[data-theme=cyber] .confirm-panel,html[data-theme=cyber] .adjust-drawer{border:1px solid rgba(79,187,225,.2);background:linear-gradient(145deg,#071622f7,#040e17fa)}html[data-theme=cyber] th{background:#07131e}html[data-theme=cyber] tr:hover td{background:#18c8ff06}html[data-theme=cyber] .status-badge.success{color:#68e99b}html[data-theme=cyber] .status-badge.warning{color:#ffc46a}html[data-theme=cyber] .status-badge.danger{color:#ff8490}html[data-theme=cyber] .ops-center-page>.panel-section:first-child{position:relative;border-color:#18c8ff57;box-shadow:0 14px 36px #00000052,inset 0 0 34px #18c8ff05}html[data-theme=cyber] .ops-center-page>.panel-section:first-child:after{content:"OPS // LIVE DATA";position:absolute;right:18px;bottom:10px;color:#18c8ff3d;font-family:var(--font-display);font-size:9px;letter-spacing:.12em;pointer-events:none}html[data-theme=cyber] .ops-center-page .eyebrow{color:#d99b3f;font-family:var(--font-display);letter-spacing:.07em}html[data-theme=cyber] .ops-center-page .ops-metrics-grid>.metric{border-color:#4fbbe147;background:linear-gradient(rgba(24,200,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(24,200,255,.018) 1px,transparent 1px),linear-gradient(145deg,#071825fa,#040e17fc);background-size:18px 18px,18px 18px,auto;box-shadow:0 12px 26px #00000047,inset 0 0 24px #18c8ff04}html[data-theme=cyber] .ops-center-page .ops-metrics-grid>.metric:before{height:2px;box-shadow:0 0 10px var(--metric-accent)}html[data-theme=cyber] .ops-center-page .metric>strong,html[data-theme=cyber] .ops-center-page .compact-metric-item strong,html[data-theme=cyber] .ops-center-page .cash-flow-item strong,html[data-theme=cyber] .ops-center-page .renewal-rate-numbers strong{font-family:var(--font-display);letter-spacing:-.035em}html[data-theme=cyber] .ops-center-page .customer-change-item{border-color:#4fbbe133;background:#04141ecc}html[data-theme=cyber] .ops-center-page .customer-change-item-new{border-color:#38d77b5c;background:linear-gradient(145deg,#164c3247,#051a1980)}html[data-theme=cyber] .ops-center-page .customer-change-item-lost{border-color:#ff4d5e61;background:linear-gradient(145deg,#531b274d,#1d0a1385)}html[data-theme=cyber] .ops-center-page .renewal-rate-row,html[data-theme=cyber] .ops-center-page .renewal-summary-text{border-color:#18c8ff33;background:#0a27378a}html[data-theme=cyber] .ops-center-page .metric-section-divider,html[data-theme=cyber] .ops-center-page .renewal-divider,html[data-theme=cyber] .ops-center-page .data-row,html[data-theme=cyber] .ops-center-page .coach-attendance-row{border-color:#4fbbe129}html[data-theme=cyber] .ops-center-page .ops-columns>.panel-section{border-color:#4fbbe13d}html[data-theme=cyber] .ops-center-page .coach-attendance-progress{background:#4fbbe11f}html[data-theme=cyber] ::-webkit-scrollbar{width:9px;height:9px}html[data-theme=cyber] ::-webkit-scrollbar-track{background:#04101a}html[data-theme=cyber] ::-webkit-scrollbar-thumb{border:2px solid #04101a;border-radius:8px;background:#1b536c}html[data-theme=cyber] .teacher-revenue-card,html[data-theme=cyber] .monthly-summary-section,html[data-theme=cyber] .stats-row>div{border:1px solid rgba(79,187,225,.2);background:linear-gradient(145deg,#071622f7,#040e17fa)}html[data-theme=cyber] .teacher-revenue-title{color:#c8f0ff}html[data-theme=cyber] .teacher-revenue-total,html[data-theme=cyber] .teacher-revenue-total strong{color:#ffc46a}html[data-theme=cyber] .teacher-revenue-table th{background:#07131e;color:#5a8ca5}html[data-theme=cyber] .teacher-revenue-table td{color:#c8e6f0}html[data-theme=cyber] .teacher-name{color:#e0f4ff}html[data-theme=cyber] .pct-label{color:#5a8ca5}html[data-theme=cyber] .bar-track{background:#4fbbe11a}html[data-theme=cyber] .monthly-card{background:#07162299;border-color:#4fbbe11a}html[data-theme=cyber] .monthly-card.current{border-color:#18c8ff80;background:#18c8ff14}html[data-theme=cyber] .monthly-card-month{color:#c8f0ff}html[data-theme=cyber] .monthly-card-label{color:#5a8ca5}html[data-theme=cyber] .monthly-card-value{color:#e0f4ff}html[data-theme=cyber] .sales-row .monthly-card-value{color:#68d9ff}html[data-theme=cyber] .fee-row .monthly-card-value{color:#68e99b}html[data-theme=cyber] .monthly-summary-title{color:#c8f0ff}html[data-theme=cyber] .monthly-summary-total strong{color:#ffc46a}html[data-theme=cyber] .monthly-card-badge{background:#18c8ff;color:#04101a;box-shadow:0 0 6px #18c8ff66}@media (max-width: 760px){.topbar-actions{width:100%;justify-content:space-between}.theme-option{min-width:48px;padding:0 9px}}
