:root{font-family:Segoe UI,PingFang SC,sans-serif;color:#1f2a37;background:linear-gradient(120deg,#f4f7fb,#eef4ff);--color-primary: #1d4ed8;--color-primary-hover: #1e40af;--color-success: #15803d;--color-success-hover: #166534;--color-warning: #c2410c;--color-warning-hover: #9a3412;--color-danger: #b91c1c;--color-danger-hover: #991b1b;--color-neutral: #475569;--color-neutral-hover: #334155;--status-pending-bg: #eff6ff;--status-pending-text: #1e3a8a;--status-active-bg: #ecfdf5;--status-active-text: #166534;--status-warning-bg: #fff7ed;--status-warning-text: #9a3412;--status-danger-bg: #fef2f2;--status-danger-text: #991b1b;--status-muted-bg: #f1f5f9;--status-muted-text: #334155}*{box-sizing:border-box}body{margin:0}button{cursor:pointer;border:0;border-radius:8px;padding:8px 12px;background:var(--color-primary);color:#fff;transition:background-color .15s ease,opacity .15s ease,transform .05s ease}button:hover:not(:disabled){background:var(--color-primary-hover)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-success{background:var(--color-success)}.btn-success:hover:not(:disabled){background:var(--color-success-hover)}.btn-warning{background:var(--color-warning)}.btn-warning:hover:not(:disabled){background:var(--color-warning-hover)}.btn-danger{background:var(--color-danger)}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover)}.btn-neutral{background:var(--color-neutral)}.btn-neutral:hover:not(:disabled){background:var(--color-neutral-hover)}input,select{padding:8px;border-radius:8px;border:1px solid #c5d0e0;background:#fff}input:focus,select:focus{outline:2px solid #bfdbfe;border-color:#60a5fa}.field-hint,.input-hint{color:#64748b;font-size:.85rem}.layout{min-height:100vh}.global-notice-stack{position:fixed;top:16px;right:16px;z-index:80;display:grid;gap:8px;width:min(420px,calc(100vw - 24px))}.global-notice-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;border:1px solid #f0a4a4;background:#fff6f6;color:#7f1d1d;box-shadow:0 8px 20px #0f274d1f}.global-notice-close{padding:4px 10px;border-radius:999px;background:#334155}.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#0f274d;color:#fff}.actions{display:flex;align-items:center;gap:12px}.badge{display:inline-block;padding:4px 10px;border-radius:999px;background:#193867}.status-badge{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.83rem;padding:3px 10px;border-radius:999px;border:1px solid transparent}.status-pending{background:var(--status-pending-bg);color:var(--status-pending-text);border-color:#bfdbfe}.status-active{background:var(--status-active-bg);color:var(--status-active-text);border-color:#86efac}.status-warning{background:var(--status-warning-bg);color:var(--status-warning-text);border-color:#fdba74}.status-danger{background:var(--status-danger-bg);color:var(--status-danger-text);border-color:#fca5a5}.status-muted{background:var(--status-muted-bg);color:var(--status-muted-text);border-color:#cbd5e1}.nav{display:flex;gap:12px;padding:12px 20px;border-bottom:1px solid #d8e1ee;background:#fff}.nav-link{color:#2757d8;text-decoration:none;font-weight:600}.content{padding:20px}.card{background:#fff;border:1px solid #d8e1ee;border-radius:14px;padding:16px;box-shadow:0 4px 14px #0f274d0f}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.grid{display:grid;gap:12px}.grid-2,.grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.muted{color:#64748b}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px 12px;border-bottom:1px solid #e2e8f0;text-align:left}.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.toolbar-field{display:grid;gap:6px}.module-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.module-link{display:block;color:inherit;text-decoration:none}.module-link .card{height:100%}.feedback{display:flex;justify-content:space-between;align-items:center;gap:16px}.feedback-body{display:grid;gap:4px}.feedback-body p{margin:0}.feedback-success{border-color:#98e2b6;background:#f0fff6}.feedback-error{border-color:#f0a4a4;background:#fff6f6}.feedback-close{background:#334155}.app-dialog-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:20px;background:#0f172a7a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.app-dialog-card{width:min(720px,100%);max-height:calc(100vh - 40px);overflow:auto;display:grid;gap:14px;padding:20px;background:#fff;border:1px solid #d8e1ee;border-radius:16px;box-shadow:0 18px 42px #0f274d38}.app-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.app-dialog-header h2,.app-dialog-header h3,.app-dialog-header p{margin:0}button.app-dialog-close{width:34px;min-width:34px;height:34px;min-height:34px;border-radius:999px;padding:0;font-size:20px;line-height:1;background:#e2e8f0;color:#1f2937}.app-dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px}@media (max-width: 768px){.app-dialog-mask{padding:14px}.app-dialog-actions{flex-direction:column;align-items:stretch}}.card-header[data-v-51531f18],.switch[data-v-51531f18]{display:flex;align-items:center}.card-header[data-v-51531f18]{justify-content:space-between;gap:.75rem}.dialog-form[data-v-51531f18]{gap:.9rem}.field[data-v-51531f18]{display:grid;gap:.4rem}.field-label[data-v-51531f18]{font-weight:600}.field-hint[data-v-51531f18]{color:var(--muted-color, #64748b);line-height:1.4}.required[data-v-51531f18]{color:#dc2626;font-weight:700;margin-right:.25rem}.switch-cell[data-v-51531f18]{min-width:180px}.switch[data-v-51531f18]{gap:.55rem;cursor:pointer;-webkit-user-select:none;user-select:none}.switch input[data-v-51531f18]{position:absolute;opacity:0;pointer-events:none}.switch-track[data-v-51531f18]{position:relative;width:48px;height:26px;border-radius:999px;background:#cbd5e1;transition:background-color .2s ease}.switch-track[data-v-51531f18]:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a40;transition:transform .2s ease}.switch input:checked+.switch-track[data-v-51531f18]{background:#22c55e}.switch input:checked+.switch-track[data-v-51531f18]:after{transform:translate(22px)}.switch-label[data-v-51531f18]{min-width:40px}.ghost-button[data-v-51531f18]{background:transparent}.card-header[data-v-20b7a9d5]{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.dialog-form[data-v-20b7a9d5]{gap:.9rem}.field[data-v-20b7a9d5]{display:grid;gap:.35rem}.field-label[data-v-20b7a9d5]{font-weight:600}.field-hint[data-v-20b7a9d5]{color:var(--muted-color, #64748b)}.required[data-v-20b7a9d5]{color:#dc2626;font-weight:700;margin-right:.25rem}.ghost-button[data-v-20b7a9d5]{background:transparent}.card-header[data-v-769f378a],.switch[data-v-769f378a]{display:flex;align-items:center}.card-header[data-v-769f378a]{justify-content:space-between;gap:.75rem}.dialog-form[data-v-769f378a]{gap:.9rem}.field[data-v-769f378a]{display:grid;gap:.4rem}.field-label[data-v-769f378a]{font-weight:600}.field-hint[data-v-769f378a]{color:var(--muted-color, #64748b)}.required[data-v-769f378a]{color:#dc2626;font-weight:700;margin-right:.25rem}.switch[data-v-769f378a]{gap:.55rem;-webkit-user-select:none;user-select:none}.switch input[data-v-769f378a]{position:absolute;opacity:0;pointer-events:none}.switch-track[data-v-769f378a]{position:relative;width:48px;height:26px;border-radius:999px;background:#cbd5e1;transition:background-color .2s ease}.switch-track[data-v-769f378a]:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a40;transition:transform .2s ease}.switch input:checked+.switch-track[data-v-769f378a]{background:#22c55e}.switch input:checked+.switch-track[data-v-769f378a]:after{transform:translate(22px)}.switch-label[data-v-769f378a]{min-width:40px}.ghost-button[data-v-769f378a]{background:transparent}.module-tabs[data-v-963f9f04]{display:flex;flex-wrap:wrap;gap:.5rem}.module-tab[data-v-963f9f04]{border:1px solid #cbd5e1;border-radius:999px;padding:.35rem .85rem;background:#f8fafc;color:#334155}.module-tab.active[data-v-963f9f04]{border-color:#0284c7;background:#e0f2fe;color:#075985}.card-header[data-v-3cbdafac],.switch[data-v-3cbdafac]{display:flex;align-items:center}.card-header[data-v-3cbdafac]{justify-content:space-between;gap:.75rem}.dialog-form[data-v-3cbdafac]{gap:.9rem}.field[data-v-3cbdafac]{display:grid;gap:.35rem}.field-label[data-v-3cbdafac]{font-weight:600}.required[data-v-3cbdafac]{color:#dc2626;font-weight:700;margin-right:.25rem}.switch[data-v-3cbdafac]{gap:.55rem;-webkit-user-select:none;user-select:none}.switch input[data-v-3cbdafac]{position:absolute;opacity:0;pointer-events:none}.switch-track[data-v-3cbdafac]{position:relative;width:48px;height:26px;border-radius:999px;background:#cbd5e1;transition:background-color .2s ease}.switch-track[data-v-3cbdafac]:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a40;transition:transform .2s ease}.switch input:checked+.switch-track[data-v-3cbdafac]{background:#22c55e}.switch input:checked+.switch-track[data-v-3cbdafac]:after{transform:translate(22px)}.switch-label[data-v-3cbdafac]{min-width:40px}.ghost-button[data-v-3cbdafac]{background:transparent}.sub-row td[data-v-3cbdafac]{background:#f8fafc}.children-block[data-v-3cbdafac]{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.child-tag[data-v-3cbdafac]{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .55rem;border-radius:999px;background:#e2e8f0}.unlink-button[data-v-3cbdafac]{border:none;border-radius:999px;padding:.1rem .45rem;background:#dc2626;color:#fff;cursor:pointer}.unlink-button[data-v-3cbdafac]:disabled{opacity:.6;cursor:not-allowed}.card-header[data-v-0f2c08d5]{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.highlight-block[data-v-0f2c08d5]{border:1px solid #f59e0b;border-radius:.65rem;padding:.75rem;background:linear-gradient(90deg,#f59e0b1a,#f59e0b05)}.section-note[data-v-0f2c08d5]{margin:0}.course-summary[data-v-0f2c08d5]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem;padding:.75rem 0;color:#475569}.responsive-row[data-v-0f2c08d5]{flex-wrap:wrap}.field-inline[data-v-0f2c08d5]{display:grid;gap:.25rem}.class-summary[data-v-0f2c08d5]{display:flex;flex-wrap:wrap;gap:.75rem;color:#475569}.coach-columns[data-v-0f2c08d5]{display:grid;grid-template-columns:1fr;gap:1rem}.sub-card[data-v-0f2c08d5]{border:1px solid #e2e8f0;border-radius:.75rem;padding:.75rem;background:#fff}.audit-toolbar[data-v-0f2c08d5],.audit-pagination[data-v-0f2c08d5]{align-items:center}.field[data-v-583e8ad8]{display:grid;gap:4px}.field-label[data-v-583e8ad8]{font-weight:700}.login-card[data-v-3f3911de]{max-width:460px;margin:48px auto;display:grid;gap:14px}.login-form[data-v-3f3911de]{gap:10px}.field[data-v-3f3911de]{display:grid;gap:4px}.field-label[data-v-3f3911de]{font-size:.92rem;font-weight:700}.module-card[data-v-39c1d5ef]{border:1px solid #e2e8f0;border-radius:.75rem;padding:.75rem;background:#fff}.card-inline-block[data-v-39c1d5ef]{border:1px dashed #cbd5e1;border-radius:.75rem;padding:.6rem .75rem;margin-bottom:.75rem;background:#f8fafc}.field[data-v-65360180]{display:grid;gap:4px}.field-label[data-v-65360180]{font-weight:700}
