﻿:root {
  color-scheme: light;
  --ink: #17211d;
  --muted: #61706b;
  --line: #dce5e0;
  --panel: #ffffff;
  --page: #f3f7f4;
  --brand: #146b55;
  --brand-strong: #0e4d3f;
  --gold: #e2a83f;
  --shadow: 0 14px 40px rgba(31, 50, 42, 0.1);
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: var(--page); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.app-shell { display: grid; grid-template-columns: 280px minmax(0, 1fr); min-height: 100vh; }
.sidebar { display: flex; flex-direction: column; gap: 28px; padding: 28px; background: #11241f; color: #f7fbf8; }
.brand { display: flex; gap: 14px; align-items: center; }
.brand-mark { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,0.22); border-radius: 8px; background: #1f5f4d; color: #fff; font-weight: 800; }
h1, h2, h3, h4, p { margin-top: 0; }
.brand h1 { margin: 0; font-size: 1.05rem; }
.brand p { margin: 2px 0 0; color: #aec9c0; font-size: 0.86rem; }
.nav-list { display: grid; gap: 8px; }
.nav-item { min-height: 44px; padding: 0 14px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: #d8e5df; text-align: left; }
.nav-item:hover, .nav-item.is-active { border-color: rgba(255,255,255,0.18); background: rgba(255,255,255,0.08); color: #fff; }
.sidebar-note { margin-top: auto; padding: 16px; border: 1px solid rgba(255,255,255,0.14); border-radius: 8px; background: rgba(255,255,255,0.06); }
.sidebar-note strong { color: var(--gold); font-size: 0.77rem; text-transform: uppercase; }
.sidebar-note p { margin: 8px 0 0; color: #c6d9d2; line-height: 1.45; }
.workspace { min-width: 0; padding: 30px; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 24px; }
.eyebrow { margin-bottom: 4px; color: var(--brand); font-size: 0.78rem; font-weight: 800; text-transform: uppercase; }
.topbar h2 { margin: 0; font-size: 2rem; }
.topbar-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.secondary-button, .primary-button { min-height: 42px; border: 0; border-radius: 8px; padding: 0 16px; font-weight: 800; }
.secondary-button { background: #e8efeb; color: var(--ink); }
.primary-button { background: var(--brand); color: #fff; }
.primary-button:hover { background: var(--brand-strong); }
.summary-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 14px; margin-bottom: 18px; }
.metric, .panel { border: 1px solid var(--line); border-radius: 8px; background: var(--panel); box-shadow: var(--shadow); }
.metric { padding: 18px; }
.metric span { display: block; color: var(--muted); font-size: 0.83rem; font-weight: 750; }
.metric strong { display: block; margin-top: 8px; font-size: 2rem; }
.panel { padding: 22px; }
.panel-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.panel h3 { margin-bottom: 5px; font-size: 1.15rem; }
.panel p { color: var(--muted); line-height: 1.45; }
.dashboard-grid, .split-view { display: grid; grid-template-columns: minmax(280px, 0.8fr) minmax(340px, 1.2fr); gap: 18px; }
.focus-block { min-height: 150px; padding: 18px; border: 1px solid var(--line); border-radius: 8px; background: #f8fbf9; }
.focus-block h4 { margin-bottom: 8px; }
.focus-block ul, .focus-block ol { margin: 10px 0 0; padding-left: 20px; color: var(--muted); line-height: 1.6; }
.form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin-bottom: 18px; }
label { display: grid; gap: 6px; color: #34443f; font-size: 0.86rem; font-weight: 750; }
label.wide { grid-column: 1 / -1; }
input, select, textarea { width: 100%; border: 1px solid #cddad4; border-radius: 8px; background: #fff; color: var(--ink); }
input, select { height: 42px; padding: 0 11px; }
textarea { min-height: 88px; padding: 10px 11px; resize: vertical; }
input:focus, select:focus, textarea:focus { outline: 3px solid rgba(20, 107, 85, 0.18); border-color: var(--brand); }
.search-input { max-width: 240px; }
.record-list { display: grid; gap: 10px; }
.record-card { display: grid; gap: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: #fbfdfc; }
.record-card header { display: flex; justify-content: space-between; gap: 12px; }
.record-card h4 { margin: 0; font-size: 1rem; }
.record-card p { margin: 3px 0 0; color: var(--muted); font-size: 0.9rem; }
.pill-row { display: flex; flex-wrap: wrap; gap: 7px; }
.pill { display: inline-flex; align-items: center; min-height: 26px; padding: 0 9px; border-radius: 999px; background: #edf3ef; color: #34443f; font-size: 0.76rem; font-weight: 800; }
.pill.active { background: #dff3eb; color: var(--brand-strong); }
.pill.warning { background: #fff0d3; color: #80570a; }
.empty-state { display: grid; place-items: center; min-height: 180px; border: 1px dashed #bfccc6; border-radius: 8px; color: var(--muted); text-align: center; }
@media (max-width: 980px) { .app-shell { grid-template-columns: 1fr; } .sidebar { padding: 18px; } .nav-list { grid-template-columns: repeat(4, minmax(0, 1fr)); } .nav-item { text-align: center; } .sidebar-note { display: none; } .summary-grid, .dashboard-grid, .split-view { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .workspace { padding: 18px; } .topbar, .panel-header, .record-card header { align-items: stretch; flex-direction: column; } .summary-grid, .form-grid, .nav-list { grid-template-columns: 1fr; } .search-input { max-width: none; } }
.stacked-panels { display: grid; gap: 18px; }
.pill.danger { background: #ffe1df; color: #8b2927; }
@media (max-width: 980px) { .stacked-panels { gap: 14px; } }
.dashboard-view { display: grid; gap: 18px; }
.dashboard-hero { display: grid; gap: 12px; }
.quick-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.mini-list { display: grid; gap: 10px; }
.mini-row { display: grid; gap: 4px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #fbfdfc; }
.mini-row strong { font-size: 0.95rem; }
.mini-row span { color: var(--muted); font-size: 0.9rem; line-height: 1.4; }
.mini-empty { display: grid; place-items: center; min-height: 96px; border: 1px dashed #bfccc6; border-radius: 8px; color: var(--muted); text-align: center; padding: 14px; }
.sidebar { max-height: 100vh; overflow: auto; }
.portal-link { margin-top: 10px; border-color: rgba(226,168,63,0.35); }
.kid-link { border-color: rgba(255,255,255,0.28); background: rgba(226,168,63,0.1); }
.module-screen { display: grid; gap: 18px; }
.module-grid,
.portal-tabs { display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); gap: 12px; }
.kid-screen { display: grid; gap: 18px; }
.kid-card { display: grid; grid-template-columns: 120px 1fr; gap: 22px; align-items: center; padding: 28px; border-radius: 8px; background: linear-gradient(135deg, #126b55, #e2a83f); color: white; box-shadow: var(--shadow); }
.kid-avatar { display: grid; place-items: center; width: 110px; height: 110px; border-radius: 50%; background: rgba(255,255,255,0.18); border: 4px solid rgba(255,255,255,0.35); font-size: 3rem; font-weight: 900; }
.kid-main h3 { margin: 0 0 6px; font-size: 2rem; }
.kid-main p { color: rgba(255,255,255,0.9); }
.xp-track { height: 18px; border-radius: 999px; background: rgba(255,255,255,0.25); overflow: hidden; }
.xp-fill { width: 0; height: 100%; border-radius: inherit; background: #fff; transition: width 500ms ease; }
.level-button { min-height: 46px; border: 0; border-radius: 8px; padding: 0 18px; background: #fff; color: #0e4d3f; font-weight: 900; }
.kid-grid { display: grid; grid-template-columns: repeat(3, minmax(180px, 1fr)); gap: 18px; }
.badge-row { display: flex; flex-wrap: wrap; gap: 10px; }
.kid-badge { display: inline-grid; place-items: center; min-height: 42px; padding: 0 14px; border-radius: 999px; background: #fff0d3; color: #80570a; font-weight: 900; }
.level-pop { animation: levelPop 700ms ease; }
@keyframes levelPop { 0% { transform: scale(1); } 40% { transform: scale(1.025); box-shadow: 0 0 0 8px rgba(226,168,63,0.28); } 100% { transform: scale(1); } }
@media (max-width: 980px) { .module-grid, .portal-tabs, .kid-grid { grid-template-columns: 1fr; } .kid-card { grid-template-columns: 1fr; } }
/* Parent-launched kid game lobby */
.game-lobby { position: relative; overflow: hidden; padding: 22px; border-radius: 8px; background: radial-gradient(circle at 20% 10%, #35d7ff 0 14%, transparent 28%), linear-gradient(135deg, #1e3cff 0%, #7b2cff 46%, #ffb000 100%); }
.game-lobby::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(135deg, rgba(255,255,255,0.12) 0 2px, transparent 2px 18px); pointer-events: none; }
.game-lobby > * { position: relative; }
.game-lobby .kid-card { grid-template-columns: 150px 1fr; border: 3px solid rgba(255,255,255,0.7); background: rgba(10, 18, 55, 0.72); box-shadow: 0 24px 70px rgba(12, 18, 58, 0.35); backdrop-filter: blur(8px); }
.game-lobby .kid-avatar { width: 140px; height: 140px; border-radius: 28px; background: linear-gradient(160deg, #00e5ff, #ffe34d); color: #10183a; transform: rotate(-3deg); box-shadow: 0 14px 0 rgba(0,0,0,0.2); }
.game-lobby .kid-avatar span { display: grid; place-items: center; width: 100%; height: 100%; font-size: 4rem; font-weight: 1000; text-shadow: 2px 2px 0 rgba(255,255,255,0.55); }
.game-lobby .kid-main h3 { font-size: 2.4rem; text-transform: uppercase; }
.kid-helper { margin-bottom: 14px; font-weight: 800; }
.game-lobby .xp-track { height: 24px; border: 3px solid rgba(255,255,255,0.75); background: rgba(255,255,255,0.18); }
.game-lobby .xp-fill { background: linear-gradient(90deg, #22f26a, #f7ff3c); }
.game-lobby .level-button { min-height: 54px; background: #ffe34d; color: #10183a; border: 3px solid #fff; text-transform: uppercase; box-shadow: 0 8px 0 #b36b00; }
.game-lobby .level-button:active { transform: translateY(4px); box-shadow: 0 4px 0 #b36b00; }
.game-lobby .panel { border: 3px solid rgba(255,255,255,0.75); background: rgba(255,255,255,0.94); box-shadow: 0 12px 0 rgba(16,24,58,0.18); }
.game-lobby .panel h3 { text-transform: uppercase; color: #1e3cff; }
.game-lobby .kid-badge { min-height: 48px; background: #1e3cff; color: #fff; border: 3px solid #ffe34d; box-shadow: 0 6px 0 rgba(16,24,58,0.2); text-transform: uppercase; }
.game-lobby .mini-row { border: 2px solid #1e3cff; background: #f7f9ff; }
.game-lobby.level-flash::after { content: "LEVEL UP!"; position: absolute; inset: 35% auto auto 50%; transform: translate(-50%, -50%) rotate(-6deg); padding: 14px 24px; border: 4px solid #fff; border-radius: 8px; background: #ffe34d; color: #10183a; font-size: 2rem; font-weight: 1000; animation: flashAway 900ms ease forwards; }
@keyframes flashAway { 0% { opacity: 0; transform: translate(-50%, -30%) scale(0.6) rotate(-6deg); } 25% { opacity: 1; transform: translate(-50%, -50%) scale(1.08) rotate(-6deg); } 100% { opacity: 0; transform: translate(-50%, -80%) scale(1.2) rotate(-6deg); } }
@media (max-width: 640px) { .game-lobby .kid-card { grid-template-columns: 1fr; } .game-lobby .kid-avatar { width: 118px; height: 118px; } .game-lobby .kid-main h3 { font-size: 1.8rem; } }
.app-status { flex-basis: 100%; margin: 8px 0 0; color: var(--brand-strong); font-weight: 800; }

.access-badge { display: inline-flex; align-items: center; min-height: 30px; padding: 0 10px; border-radius: 999px; background: #11241f; color: #fff; font-size: 0.76rem; font-weight: 900; text-transform: uppercase; }
.business-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(130px, 1fr)); gap: 12px; }
.business-kpi { padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: #f8fbf9; }
.business-kpi span { display: block; color: var(--muted); font-size: 0.78rem; font-weight: 800; text-transform: uppercase; }
.business-kpi strong { display: block; margin-top: 6px; font-size: 1.7rem; }
.business-dashboard-grid { display: grid; grid-template-columns: repeat(3, minmax(220px, 1fr)); gap: 18px; }
.staff-project-row { grid-template-columns: 1fr; }
.staff-project-panel .mini-list { grid-template-columns: repeat(2, minmax(220px, 1fr)); }
@media (max-width: 1100px) { .business-dashboard-grid, .staff-project-panel .mini-list { grid-template-columns: 1fr; } .business-kpi-grid { grid-template-columns: repeat(2, minmax(130px, 1fr)); } }
@media (max-width: 640px) { .business-kpi-grid { grid-template-columns: 1fr; } }
.coach-hq-view { display: grid; gap: 18px; }
.coach-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(130px, 1fr)); gap: 12px; }
.coach-hq-grid { display: grid; grid-template-columns: repeat(3, minmax(220px, 1fr)); gap: 18px; }
@media (max-width: 1100px) { .coach-hq-grid { grid-template-columns: 1fr; } .coach-kpi-grid { grid-template-columns: repeat(2, minmax(130px, 1fr)); } }
@media (max-width: 640px) { .coach-kpi-grid { grid-template-columns: 1fr; } }
.widget-board { display: grid; grid-template-columns: repeat(6, minmax(140px, 1fr)); gap: 18px; align-items: start; }
.dashboard-widget { grid-column: span 2; min-height: 220px; transition: border-color 160ms ease, box-shadow 160ms ease; }
.dashboard-widget.widget-small { grid-column: span 1; }
.dashboard-widget.widget-medium { grid-column: span 2; }
.dashboard-widget.widget-large { grid-column: span 3; }
.widget-controls { display: none; flex-wrap: wrap; gap: 6px; margin-left: auto; }
.widget-controls button { min-width: 30px; min-height: 30px; border: 1px solid var(--line); border-radius: 8px; background: #f8fbf9; color: var(--ink); font-size: 0.78rem; font-weight: 900; }
.layout-editing .dashboard-widget { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(20,107,85,0.14), var(--shadow); }
.layout-editing .widget-controls { display: flex; }
.layout-editing .widget-board { outline: 2px dashed rgba(20,107,85,0.22); outline-offset: 8px; }
@media (max-width: 1100px) { .widget-board { grid-template-columns: repeat(2, minmax(180px, 1fr)); } .dashboard-widget, .dashboard-widget.widget-small, .dashboard-widget.widget-medium, .dashboard-widget.widget-large { grid-column: span 1; } }
@media (max-width: 640px) { .widget-board { grid-template-columns: 1fr; } }
.dashboard-widget.widget-color-default { background: var(--panel); }
.dashboard-widget.widget-color-green { background: #eefaf3; border-color: #9fd7b5; }
.dashboard-widget.widget-color-gold { background: #fff7df; border-color: #e7c56c; }
.dashboard-widget.widget-color-blue { background: #eef5ff; border-color: #9dbfe8; }
.dashboard-widget.widget-color-red { background: #fff0ef; border-color: #e6aaa7; }
.dashboard-widget.widget-color-green .panel-header h3 { color: #146b55; }
.dashboard-widget.widget-color-gold .panel-header h3 { color: #80570a; }
.dashboard-widget.widget-color-blue .panel-header h3 { color: #245d9f; }
.dashboard-widget.widget-color-red .panel-header h3 { color: #8b2927; }
.widget-controls button[data-widget-color="default"] { background: #fff; }
.widget-controls button[data-widget-color="green"] { background: #dff3eb; color: #0e4d3f; }
.widget-controls button[data-widget-color="gold"] { background: #fff0d3; color: #80570a; }
.widget-controls button[data-widget-color="blue"] { background: #dbeafe; color: #245d9f; }
.widget-controls button[data-widget-color="red"] { background: #ffe1df; color: #8b2927; }
/* Widget sizing refinement */
.widget-board { grid-template-columns: repeat(12, minmax(64px, 1fr)); }
.dashboard-widget { grid-column: span 4; min-height: auto; align-self: start; }
.dashboard-widget.widget-small { grid-column: span 3; }
.dashboard-widget.widget-medium { grid-column: span 4; }
.dashboard-widget.widget-large { grid-column: 1 / -1; }
.dashboard-widget .panel-header { min-width: 0; }
.dashboard-widget .panel-header > div { min-width: 0; }
.dashboard-widget .mini-list { grid-template-columns: 1fr; }
.dashboard-widget.widget-large .mini-list { grid-template-columns: repeat(2, minmax(240px, 1fr)); }
.dashboard-widget .mini-row { min-width: 0; overflow-wrap: anywhere; }
.dashboard-widget .mini-row span,
.dashboard-widget .mini-row strong { min-width: 0; }
.staff-project-panel { min-height: auto; }
.staff-project-panel .mini-list { grid-template-columns: repeat(2, minmax(260px, 1fr)); }
@media (max-width: 900px) { .widget-board { grid-template-columns: repeat(2, minmax(180px, 1fr)); } .dashboard-widget, .dashboard-widget.widget-small, .dashboard-widget.widget-medium, .dashboard-widget.widget-large { grid-column: 1 / -1; } .dashboard-widget.widget-large .mini-list, .staff-project-panel .mini-list { grid-template-columns: 1fr; } }
.households-view { display: grid; gap: 18px; }
.household-snapshot-panel { overflow: hidden; }
.household-snapshot-row { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(220px, 1fr); gap: 12px; overflow-x: auto; padding-bottom: 4px; }
.household-snapshot-tile { min-height: 150px; display: grid; align-content: start; gap: 8px; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: #f8fbf9; }
.household-snapshot-tile strong { font-size: 1rem; }
.household-snapshot-tile span { color: var(--muted); font-size: 0.86rem; font-weight: 800; }
.household-snapshot-tile p { margin: 0; color: var(--muted); font-size: 0.88rem; line-height: 1.35; }
.filter-bar { display: grid; grid-template-columns: minmax(220px, 1.5fr) repeat(4, minmax(140px, 1fr)); gap: 10px; margin-bottom: 10px; }
.filter-bar .search-input { max-width: none; }
.database-count { margin-bottom: 12px; color: var(--muted); font-size: 0.86rem; font-weight: 800; }
@media (max-width: 1100px) { .filter-bar { grid-template-columns: repeat(2, minmax(160px, 1fr)); } }
@media (max-width: 640px) { .filter-bar { grid-template-columns: 1fr; } .household-snapshot-row { grid-auto-columns: minmax(200px, 86vw); } }
[hidden] { display: none !important; }
.waivers-view { display: grid; gap: 18px; }
.waiver-metrics-grid { display: grid; grid-template-columns: repeat(6, minmax(130px, 1fr)); gap: 12px; }
.waiver-metric { min-height: 104px; padding: 16px; border-radius: 8px; border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); }
.waiver-metric span { display: block; font-size: 0.76rem; font-weight: 900; color: var(--muted); text-transform: uppercase; }
.waiver-metric strong { display: block; margin-top: 8px; font-size: 2rem; }
.waiver-metric.good { border-color: #9fd7b5; background: #eefaf3; }
.waiver-metric.warning { border-color: #e7c56c; background: #fff7df; }
.waiver-metric.danger { border-color: #e6aaa7; background: #fff0ef; }
.waiver-main-grid { display: grid; grid-template-columns: minmax(340px, 1.25fr) minmax(320px, 1fr); gap: 18px; }
.waiver-dashboard-grid { display: grid; grid-template-columns: repeat(3, minmax(240px, 1fr)); gap: 18px; }
.waiver-action-panel { border-color: #e6aaa7; }
.action-card { display: grid; gap: 10px; padding: 14px; border-radius: 8px; border: 2px solid #e6aaa7; background: #fff0ef; }
.action-card header { display: flex; justify-content: space-between; gap: 12px; }
.action-card strong { color: #8b2927; }
.action-card span { font-size: 0.78rem; font-weight: 900; color: #8b2927; text-transform: uppercase; }
.action-card p { margin: 0; color: #61302e; }
.action-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.action-buttons button { min-height: 34px; border: 0; border-radius: 8px; padding: 0 10px; background: #8b2927; color: #fff; font-weight: 800; }
.waiver-table { overflow-x: auto; }
.waiver-table table { width: 100%; border-collapse: collapse; min-width: 420px; }
.waiver-table th, .waiver-table td { padding: 10px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; font-size: 0.9rem; }
.waiver-table th { color: var(--muted); font-size: 0.76rem; text-transform: uppercase; }
.mobile-checkin-grid { display: grid; grid-template-columns: repeat(3, minmax(220px, 1fr)); gap: 12px; }
.checkin-card { display: grid; gap: 7px; padding: 14px; border-radius: 8px; border: 2px solid var(--line); background: #fff; }
.checkin-card strong { font-size: 1.05rem; }
.checkin-card p { margin: 0; font-weight: 900; }
.checkin-card span { color: var(--muted); font-size: 0.9rem; }
.checkin-card em { font-style: normal; font-weight: 900; }
.checkin-card.green { border-color: #9fd7b5; background: #eefaf3; }
.checkin-card.yellow { border-color: #e7c56c; background: #fff7df; }
.checkin-card.red { border-color: #e6aaa7; background: #fff0ef; }
@media (max-width: 1200px) { .waiver-metrics-grid { grid-template-columns: repeat(3, minmax(130px, 1fr)); } .waiver-main-grid, .waiver-dashboard-grid, .mobile-checkin-grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .waiver-metrics-grid { grid-template-columns: 1fr 1fr; } }
.waiver-qr-panel .panel-header { align-items: center; }
.qr-output { margin-top: 12px; }
.qr-preview-card { display: grid; grid-template-columns: 190px 1fr; gap: 18px; align-items: center; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: #fbfdfc; }
.qr-preview-card img { width: 190px; height: 190px; border: 8px solid #fff; border-radius: 8px; box-shadow: var(--shadow); }
.qr-preview-card strong { display: block; margin-bottom: 8px; }
.qr-preview-card a { display: inline-flex; margin: 6px 8px 6px 0; min-height: 34px; align-items: center; padding: 0 10px; border-radius: 8px; background: var(--brand); color: #fff; font-weight: 800; text-decoration: none; }
.qr-preview-card code { display: block; margin-top: 8px; padding: 10px; border-radius: 8px; background: #eef3ef; overflow-wrap: anywhere; }
@media (max-width: 640px) { .qr-preview-card { grid-template-columns: 1fr; } }
.classes-view { display: grid; gap: 18px; }
.class-health-grid { display: grid; grid-template-columns: repeat(3, minmax(220px, 1fr)); gap: 12px; }
.class-health-card { display: grid; gap: 7px; padding: 16px; border-radius: 8px; border: 2px solid var(--line); background: #fff; }
.class-health-card strong { font-size: 1.05rem; }
.class-health-card span { font-size: 2rem; font-weight: 900; }
.class-health-card p { margin: 0; color: var(--muted); }
.class-health-card.green { border-color: #9fd7b5; background: #eefaf3; }
.class-health-card.yellow { border-color: #e7c56c; background: #fff7df; }
.class-health-card.red { border-color: #e6aaa7; background: #fff0ef; }
.class-actions { justify-content: flex-start; }
.classes-main-grid { display: grid; grid-template-columns: minmax(360px, 1fr) minmax(320px, 0.8fr); gap: 18px; }
.classes-dashboard-grid { display: grid; grid-template-columns: repeat(3, minmax(240px, 1fr)); gap: 18px; }
.segmented-control { display: inline-flex; gap: 4px; padding: 4px; border-radius: 8px; background: #edf3ef; }
.segmented-control button { min-height: 32px; border: 0; border-radius: 6px; padding: 0 10px; background: transparent; font-weight: 800; }
.segmented-control .is-selected { background: #fff; color: var(--brand); }
.class-detail { display: grid; gap: 12px; }
.class-detail-header { display: grid; gap: 4px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #f8fbf9; }
.class-detail-header span { color: var(--muted); }
.student-roster-grid,
.live-class-grid { display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); gap: 10px; }
.class-student-card,
.live-student-card { display: grid; gap: 8px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #fbfdfc; }
.class-student-card span { color: var(--muted); font-weight: 800; }
.attendance-buttons,
.xp-buttons,
.skill-button-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.attendance-buttons button,
.xp-buttons button,
.skill-button-grid button { min-height: 34px; border: 1px solid var(--line); border-radius: 8px; padding: 0 10px; background: #fff; color: var(--ink); font-weight: 800; }
.live-class-panel { border-color: #9dbfe8; background: #eef5ff; }
@media (max-width: 1100px) { .class-health-grid, .classes-main-grid, .classes-dashboard-grid, .student-roster-grid, .live-class-grid { grid-template-columns: 1fr; } }
.messages-view { display: grid; gap: 18px; }
.messages-layout { display: grid; grid-template-columns: 280px minmax(360px, 1fr) 300px; gap: 18px; align-items: start; }
.message-sidebar,
.message-context-panel { max-height: 760px; overflow: auto; }
.conversation-panel { min-height: 760px; display: grid; grid-template-rows: auto 1fr auto; }
.message-thread { display: grid; align-content: start; gap: 10px; min-height: 360px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #f8fbf9; overflow: auto; }
.message-bubble { max-width: 78%; display: grid; gap: 4px; padding: 12px; border-radius: 8px; border: 1px solid var(--line); background: #fff; }
.message-bubble.staff { justify-self: end; background: #eefaf3; border-color: #9fd7b5; }
.message-bubble.parent { justify-self: start; background: #eef5ff; border-color: #9dbfe8; }
.message-bubble.system { justify-self: center; max-width: 90%; background: #fff7df; border-color: #e7c56c; }
.message-bubble p { margin: 0; color: var(--ink); }
.message-bubble span { color: var(--muted); font-size: 0.78rem; font-weight: 800; }
.composer-panel { display: grid; gap: 10px; margin-top: 12px; }
.composer-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.messages-dashboard-grid { display: grid; grid-template-columns: repeat(3, minmax(240px, 1fr)); gap: 18px; }
.audience-builder { display: grid; grid-template-columns: repeat(2, minmax(160px, 1fr)); gap: 10px; }
.audience-option { display: flex; align-items: center; gap: 8px; min-height: 42px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: #fbfdfc; }
.template-chip-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.template-chip-grid button { min-height: 36px; border: 1px solid var(--line); border-radius: 999px; padding: 0 12px; background: #fff; font-weight: 800; }
.danger-button { background: #8b2927; }
@media (max-width: 1200px) { .messages-layout { grid-template-columns: 1fr; } .conversation-panel { min-height: auto; } .messages-dashboard-grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .audience-builder { grid-template-columns: 1fr; } .message-bubble { max-width: 100%; } }
.ai-message-grid { border: 2px solid rgba(20,107,85,0.18); border-radius: 8px; padding: 12px; background: #f8fbf9; }
.ai-panel { border-color: #9fd7b5; }
.ai-panel .mini-row { border-color: #9fd7b5; background: #eefaf3; }
.ai-panel .access-badge { background: var(--brand); }
/* Standardized Parent Messages theme */
.messages-view { gap: 20px; }
.messages-layout { grid-template-columns: minmax(240px, 0.85fr) minmax(420px, 1.5fr) minmax(260px, 0.9fr); gap: 18px; align-items: stretch; }
.messages-layout > .panel,
.messages-dashboard-grid > .panel { min-width: 0; }
.message-sidebar,
.message-context-panel,
.conversation-panel { max-height: none; min-height: 0; overflow: visible; }
.message-sidebar .mini-list,
.message-context-panel .mini-list { align-content: start; }
.conversation-panel { min-height: 680px; grid-template-rows: auto minmax(360px, 1fr) auto; }
.message-thread { min-height: 360px; max-height: 480px; background: #f8fbf9; }
.message-bubble { max-width: min(78%, 620px); border-radius: 8px; box-shadow: none; }
.message-bubble.staff { background: #eefaf3; border-color: #9fd7b5; }
.message-bubble.parent { background: #eef5ff; border-color: #9dbfe8; }
.message-bubble.system { background: #fff7df; border-color: #e7c56c; }
.composer-panel select,
.composer-panel textarea { width: 100%; }
.composer-actions .primary-button,
.composer-actions .secondary-button { flex: 0 0 auto; }
.messages-dashboard-grid { grid-template-columns: repeat(3, minmax(260px, 1fr)); align-items: stretch; }
.messages-dashboard-grid .panel { display: flex; flex-direction: column; }
.messages-dashboard-grid .record-list,
.messages-dashboard-grid .template-chip-grid,
.messages-dashboard-grid .audience-builder { flex: 1; align-content: start; }
.ai-message-grid { padding: 0; border: 0; background: transparent; }
.ai-panel { border-color: var(--line); background: var(--panel); }
.ai-panel .mini-row { border-color: var(--line); background: #fbfdfc; }
.audience-builder { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.audience-option { min-width: 0; }
.template-chip-grid button { border-radius: 8px; }
.message-nav .mini-row,
#message-nav .mini-row { background: #fbfdfc; }
@media (max-width: 1280px) { .messages-layout { grid-template-columns: 240px minmax(360px, 1fr); } .message-context-panel { grid-column: 1 / -1; } .messages-dashboard-grid { grid-template-columns: repeat(2, minmax(260px, 1fr)); } }
@media (max-width: 860px) { .messages-layout, .messages-dashboard-grid { grid-template-columns: 1fr; } .conversation-panel { min-height: auto; } .message-thread { max-height: none; } .message-bubble { max-width: 100%; } }
.attendance-view { display: grid; gap: 18px; }
.attendance-kpi-grid { display: grid; grid-template-columns: repeat(6, minmax(130px, 1fr)); gap: 12px; }
.attendance-kpi { min-height: 104px; padding: 16px; border-radius: 8px; border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); }
.attendance-kpi span { display: block; color: var(--muted); font-size: 0.76rem; font-weight: 900; text-transform: uppercase; }
.attendance-kpi strong { display: block; margin-top: 8px; font-size: 2rem; }
.attendance-kpi.good { border-color: #9fd7b5; background: #eefaf3; }
.attendance-kpi.warning { border-color: #e7c56c; background: #fff7df; }
.attendance-main-grid { display: grid; grid-template-columns: minmax(360px, 1.1fr) minmax(320px, 0.9fr); gap: 18px; }
.attendance-dashboard-grid { display: grid; grid-template-columns: repeat(3, minmax(240px, 1fr)); gap: 18px; }
.heat-map { display: grid; grid-template-columns: repeat(2, minmax(120px, 1fr)); gap: 10px; }
.heat-cell { display: grid; gap: 5px; padding: 14px; border-radius: 8px; border: 1px solid var(--line); }
.heat-cell.hot { background: #eefaf3; border-color: #9fd7b5; }
.heat-cell.warm { background: #fff7df; border-color: #e7c56c; }
.heat-cell.cool { background: #eef5ff; border-color: #9dbfe8; }
.heat-cell.cold { background: #fff0ef; border-color: #e6aaa7; }
.heat-cell span { font-size: 1.4rem; font-weight: 900; }
.participation-grid { display: grid; grid-template-columns: repeat(3, minmax(220px, 1fr)); gap: 12px; }
.participation-card { display: grid; gap: 8px; padding: 14px; border-radius: 8px; border: 1px solid var(--line); background: #fbfdfc; }
.participation-card span { font-size: 2rem; font-weight: 900; color: var(--brand); }
.participation-card p { margin: 0; color: var(--muted); }
@media (max-width: 1200px) { .attendance-kpi-grid { grid-template-columns: repeat(3, minmax(130px, 1fr)); } .attendance-main-grid, .attendance-dashboard-grid, .participation-grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .attendance-kpi-grid, .heat-map { grid-template-columns: 1fr; } }
.progression-view { display: grid; gap: 18px; }
.progression-kpi-grid { display: grid; grid-template-columns: repeat(5, minmax(140px, 1fr)); gap: 12px; }
.progression-kpi { min-height: 104px; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: var(--shadow); }
.progression-kpi span { display: block; color: var(--muted); font-size: 0.76rem; font-weight: 900; text-transform: uppercase; }
.progression-kpi strong { display: block; margin-top: 8px; font-size: 2rem; }
.progression-kpi.good { border-color: #9fd7b5; background: #eefaf3; }
.progression-kpi.warning { border-color: #e7c56c; background: #fff7df; }
.rank-pipeline { display: grid; grid-template-columns: repeat(8, minmax(90px, 1fr)); gap: 10px; }
.rank-node { display: grid; place-items: center; gap: 6px; min-height: 96px; padding: 12px; border-radius: 8px; border: 1px solid var(--line); background: #fff; }
.rank-node strong { font-size: 0.9rem; }
.rank-node span { font-size: 1.6rem; font-weight: 900; }
.rank-white { background: #fff; }
.rank-yellow { background: #fff7c2; }
.rank-orange { background: #ffe2bf; }
.rank-green { background: #dff3eb; }
.rank-blue { background: #dbeafe; }
.rank-purple { background: #efe3ff; }
.rank-red { background: #ffe1df; }
.rank-black { background: #17211d; color: #fff; }
.progression-main-grid { display: grid; grid-template-columns: minmax(360px, 1fr) minmax(320px, 0.9fr); gap: 18px; }
.progression-dashboard-grid { display: grid; grid-template-columns: repeat(3, minmax(240px, 1fr)); gap: 18px; }
.student-progress-card { display: grid; gap: 8px; }
.student-progress-card h4 { margin: 0; font-size: 1.3rem; }
.progress-track { height: 18px; border-radius: 999px; background: #edf3ef; overflow: hidden; }
.progress-track span { display: block; height: 100%; border-radius: inherit; background: var(--brand); }
.student-progress-card ul { margin: 4px 0 0; padding-left: 20px; color: var(--muted); line-height: 1.55; }
.readiness-grid { display: grid; gap: 10px; }
.readiness-card { display: grid; gap: 6px; padding: 14px; border-radius: 8px; border: 2px solid var(--line); }
.readiness-card span { font-size: 2rem; font-weight: 900; }
.readiness-card p { margin: 0; color: var(--muted); }
.readiness-card.green { background: #eefaf3; border-color: #9fd7b5; }
.readiness-card.yellow { background: #fff7df; border-color: #e7c56c; }
.readiness-card.red { background: #fff0ef; border-color: #e6aaa7; }
@media (max-width: 1200px) { .progression-kpi-grid { grid-template-columns: repeat(2, minmax(140px, 1fr)); } .rank-pipeline { grid-template-columns: repeat(4, minmax(90px, 1fr)); } .progression-main-grid, .progression-dashboard-grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .progression-kpi-grid, .rank-pipeline { grid-template-columns: 1fr; } }
.table-action { min-height: 30px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); font-weight: 800; margin: 2px; padding: 0 8px; }
.table-action[data-checkin-student] { background: var(--brand); color: #fff; border-color: var(--brand); }

.avatar-lineup { min-height: 210px; display: flex; align-items: end; justify-content: center; gap: 18px; padding: 24px 18px 18px; border-radius: 8px; background: radial-gradient(circle at 50% 0%, rgba(255, 227, 77, .28), transparent 38%), linear-gradient(180deg, #10183a 0%, #183a4a 58%, #13251f 100%); border: 1px solid rgba(255,255,255,.14); overflow: hidden; }
.lineup-avatar { display: grid; justify-items: center; gap: 8px; min-width: 86px; color: #fff; font-weight: 1000; text-shadow: 0 2px 0 rgba(0,0,0,.32); animation: avatar-fidget-a 2.8s ease-in-out infinite; }
.lineup-avatar span { max-width: 92px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .82rem; }
.lineup-avatar.fidget-1 { animation-name: avatar-fidget-b; animation-delay: -.7s; }
.lineup-avatar.fidget-2 { animation-name: avatar-fidget-c; animation-delay: -1.3s; }
@keyframes avatar-fidget-a { 0%,100% { transform: translateY(0) rotate(-1deg); } 45% { transform: translateY(-5px) rotate(1.4deg); } 70% { transform: translateY(0) rotate(.4deg); } }
@keyframes avatar-fidget-b { 0%,100% { transform: translateY(0) rotate(1deg); } 40% { transform: translateY(-3px) rotate(-1.5deg); } 76% { transform: translateY(-1px) rotate(.6deg); } }
@keyframes avatar-fidget-c { 0%,100% { transform: translateY(0) scale(1); } 42% { transform: translateY(-4px) scale(1.025); } 78% { transform: translateY(0) scale(.99); } }
.avatar-figure { --skin: #f7c99d; --suit: #13b8a6; --trim: #ffe34d; position: relative; width: 96px; height: 138px; margin: auto; filter: drop-shadow(0 12px 0 rgba(0,0,0,.18)); }
.avatar-figure.large { width: 142px; height: 204px; }
.avatar-head { position: absolute; left: 50%; top: 0; width: 48%; aspect-ratio: 1; border: 4px solid rgba(16,24,58,.28); border-radius: 42% 42% 48% 48%; transform: translateX(-50%); background: var(--skin); z-index: 3; }
.avatar-head span { position: absolute; inset: 0; display: grid; place-items: center; font-weight: 1000; font-size: .95rem; color: #17211d; }
.avatar-head i { position: absolute; left: 8%; right: 8%; top: 25%; height: 14%; border-radius: 999px; background: var(--trim); }
.avatar-body { position: absolute; left: 18%; right: 18%; top: 35%; height: 46%; border-radius: 24% 24% 14% 14%; background: linear-gradient(160deg, var(--suit), #0c6b62); border: 4px solid rgba(16,24,58,.22); z-index: 2; }
.avatar-body b { position: absolute; left: 50%; top: 0; width: 5px; height: 100%; background: rgba(255,255,255,.45); transform: translateX(-50%) rotate(12deg); }
.avatar-feet { position: absolute; left: 20%; right: 20%; bottom: 0; height: 22%; border-radius: 0 0 999px 999px; background: linear-gradient(90deg, #17211d 0 44%, transparent 44% 56%, #17211d 56%); }
.palette-teal { --suit: #13b8a6; --trim: #ffe34d; }
.palette-gold { --suit: #f59e0b; --trim: #2dd4bf; }
.palette-blue { --suit: #2563eb; --trim: #f97316; }
.palette-red { --suit: #dc2626; --trim: #a7f3d0; }
.palette-purple { --suit: #7c3aed; --trim: #fde047; }
.outfit-neon-hoodie .avatar-body { border-radius: 28% 28% 18% 18%; background: linear-gradient(160deg, var(--suit), #10183a); }
.outfit-neon-hoodie .avatar-body::before { content: ""; position: absolute; left: 18%; right: 18%; top: -18%; height: 28%; border-radius: 999px 999px 0 0; background: rgba(16,24,58,.55); }
.outfit-ninja-armor .avatar-body { background: linear-gradient(160deg, #1f2937, var(--suit)); box-shadow: inset 0 0 0 8px rgba(255,255,255,.18); }
.outfit-camp-shirt .avatar-body { background: linear-gradient(160deg, #22c55e, #0f766e); }
.accessory-none .avatar-head i { display: none; }
.accessory-star-glasses .avatar-head::after { content: "* *"; position: absolute; left: 0; right: 0; top: 36%; font-size: .72rem; letter-spacing: 2px; text-align: center; color: #10183a; }
.accessory-cape::before { content: ""; position: absolute; left: 60%; top: 38%; width: 42%; height: 48%; border-radius: 10px 30px 35px 8px; background: linear-gradient(160deg, var(--trim), #f97316); z-index: 1; transform: rotate(-8deg); }
.accessory-wristbands .avatar-body::after { content: ""; position: absolute; left: -11%; right: -11%; top: 48%; height: 7px; border-radius: 999px; background: var(--trim); }
.kid-avatar { display: grid; place-items: center; }
.avatar-customizer { background: rgba(255,255,255,.96); }
.avatar-customizer-grid { display: grid; grid-template-columns: minmax(180px, .9fr) minmax(180px, .9fr) minmax(220px, 1fr); gap: 16px; align-items: stretch; }
.avatar-customizer-grid h4 { margin: 0 0 10px; font-size: .86rem; text-transform: uppercase; color: var(--muted); }
.closet-options { display: flex; flex-wrap: wrap; gap: 8px; align-content: start; }
.closet-options button { min-height: 38px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); padding: 0 12px; font-weight: 900; }
.closet-options button.is-equipped { border-color: var(--brand); background: #e7f8ef; color: #0f5132; box-shadow: inset 0 0 0 2px rgba(21,128,61,.12); }
.closet-preview { display: grid; justify-items: center; align-content: center; gap: 8px; min-height: 260px; border-radius: 8px; border: 1px solid var(--line); background: linear-gradient(180deg, #eef5ff, #fff7df); text-align: center; }
.closet-preview strong { font-size: 1.05rem; }
.closet-preview span { color: var(--muted); font-weight: 800; }
@media (max-width: 900px) { .avatar-lineup { justify-content: start; overflow-x: auto; } .avatar-customizer-grid { grid-template-columns: 1fr; } }



.rewards-view { display: grid; gap: 18px; }
.rewards-hero { background: linear-gradient(180deg, #ffffff, #f4fbf7); }
.rewards-kpi-grid { display: grid; grid-template-columns: repeat(5, minmax(140px, 1fr)); gap: 12px; }
.rewards-kpi { min-height: 104px; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: var(--shadow); }
.rewards-kpi span { display: block; color: var(--muted); font-size: .76rem; font-weight: 900; text-transform: uppercase; }
.rewards-kpi strong { display: block; margin-top: 8px; font-size: 2rem; }
.rewards-kpi.good { border-color: #9fd7b5; background: #eefaf3; }
.rewards-kpi.warning { border-color: #e7c56c; background: #fff7df; }
.rewards-kpi.danger { border-color: #e6aaa7; background: #fff0ef; }
.rewards-main-grid { display: grid; grid-template-columns: minmax(380px, 1fr) minmax(340px, .95fr); gap: 18px; }
.rewards-dashboard-grid { display: grid; grid-template-columns: repeat(3, minmax(240px, 1fr)); gap: 18px; }
.rewards-primary-panel { min-height: 420px; }
.reward-eligible-grid { display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); gap: 12px; }
.reward-eligible-card { display: grid; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: #fbfdfc; }
.reward-eligible-card strong { display: block; font-size: 1.1rem; }
.reward-eligible-card span { color: var(--muted); font-weight: 800; }
.reward-eligible-card ul { margin: 0; padding-left: 18px; line-height: 1.55; color: var(--ink); }
.reward-card-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.reward-type-grid { display: grid; gap: 10px; }
.reward-type-card { display: grid; gap: 6px; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: #fbfdfc; }
.reward-type-card strong { font-size: 1rem; }
.reward-type-card span { color: var(--muted); line-height: 1.45; }
.trophy-case-grid { display: grid; grid-template-columns: repeat(2, minmax(180px, 1fr)); gap: 12px; }
.trophy-card { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 12px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: linear-gradient(180deg, #eef5ff, #fff7df); }
.trophy-card .avatar-figure { transform: scale(.72); transform-origin: center; }
.trophy-card strong, .trophy-card span { display: block; }
.trophy-card span { color: var(--muted); font-weight: 800; }
.trophy-card p { grid-column: 1 / -1; margin: 0; color: var(--muted); line-height: 1.45; }
@media (max-width: 1200px) { .rewards-kpi-grid { grid-template-columns: repeat(2, minmax(140px, 1fr)); } .rewards-main-grid, .rewards-dashboard-grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .rewards-kpi-grid, .reward-eligible-grid, .trophy-case-grid { grid-template-columns: 1fr; } }

.reports-view { display: grid; gap: 18px; }
.admin-only-panel { border-color: #d6b554; background: linear-gradient(180deg, #fffdf2, #ffffff); }
.gym-health-card { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 18px; align-items: center; }
.gym-health-card > div:first-child { display: grid; place-items: center; min-height: 180px; border-radius: 8px; border: 1px solid #d6b554; background: #fff7df; }
.gym-health-card span { color: var(--muted); font-size: .78rem; font-weight: 900; text-transform: uppercase; }
.gym-health-card strong { font-size: 4rem; line-height: 1; }
.health-bars { display: grid; gap: 10px; }
.health-bar { display: grid; grid-template-columns: 120px 42px minmax(0, 1fr); gap: 10px; align-items: center; font-weight: 800; }
.health-bar i { height: 12px; border-radius: 999px; background: #edf3ef; overflow: hidden; }
.health-bar b { display: block; height: 100%; border-radius: inherit; background: var(--brand); }
.reports-kpi-grid { display: grid; grid-template-columns: repeat(6, minmax(130px, 1fr)); gap: 12px; }
.report-kpi { min-height: 104px; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: var(--shadow); }
.report-kpi span { display: block; color: var(--muted); font-size: .76rem; font-weight: 900; text-transform: uppercase; }
.report-kpi strong { display: block; margin-top: 8px; font-size: 2rem; }
.report-kpi.good { border-color: #9fd7b5; background: #eefaf3; }
.report-kpi.warning { border-color: #e7c56c; background: #fff7df; }
.report-kpi.danger { border-color: #e6aaa7; background: #fff0ef; }
.reports-main-grid { display: grid; grid-template-columns: minmax(420px, 1fr) minmax(360px, .95fr); gap: 18px; }
.reports-dashboard-grid { display: grid; grid-template-columns: repeat(3, minmax(240px, 1fr)); gap: 18px; }
.attention-panel { min-height: 420px; }
.risk-pill { display: inline-grid; place-items: center; min-width: 76px; min-height: 28px; padding: 0 10px; border-radius: 999px; font-weight: 900; }
.risk-pill.high { color: #7f1d1d; background: #fee2e2; }
.risk-pill.medium { color: #713f12; background: #fef3c7; }
.risk-pill.low { color: #14532d; background: #dcfce7; }
@media (max-width: 1200px) { .reports-kpi-grid { grid-template-columns: repeat(3, minmax(130px, 1fr)); } .reports-main-grid, .reports-dashboard-grid, .gym-health-card { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .reports-kpi-grid { grid-template-columns: 1fr; } .health-bar { grid-template-columns: 1fr 42px; } .health-bar i { grid-column: 1 / -1; } }

.settings-view { display: grid; gap: 18px; }
.staff-settings-hero { background: linear-gradient(180deg, #ffffff, #eefaf3); }
.staff-profile-card { display: grid; grid-template-columns: 96px minmax(220px, 1fr) minmax(260px, .9fr); gap: 18px; align-items: center; }
.staff-avatar { width: 96px; height: 96px; border-radius: 8px; display: grid; place-items: center; background: linear-gradient(160deg, var(--brand), #0f766e); color: #fff; font-size: 2rem; font-weight: 1000; box-shadow: var(--shadow); }
.staff-profile-card h3 { margin: 4px 0; font-size: 1.6rem; }
.staff-profile-card p { margin: 0; color: var(--muted); font-weight: 800; }
.profile-contact-list { display: grid; gap: 8px; }
.settings-main-grid { display: grid; grid-template-columns: minmax(360px, .9fr) minmax(420px, 1.1fr); gap: 18px; }
.settings-dashboard-grid { display: grid; grid-template-columns: repeat(3, minmax(240px, 1fr)); gap: 18px; }
.settings-profile-detail { display: grid; gap: 10px; }
.settings-toggle-grid { display: grid; gap: 12px; }
.settings-toggle-group { display: grid; gap: 8px; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: #fbfdfc; }
.settings-toggle-group h4 { margin: 0 0 4px; font-size: .86rem; text-transform: uppercase; color: var(--muted); }
.settings-toggle-group label { min-height: 32px; display: flex; align-items: center; gap: 8px; font-weight: 800; }
.settings-toggle-group input { width: 18px; height: 18px; accent-color: var(--brand); }
.availability-grid { display: grid; grid-template-columns: repeat(2, minmax(150px, 1fr)); gap: 10px; }
.availability-card { display: grid; gap: 6px; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: #fbfdfc; }
.availability-card span { color: var(--muted); font-weight: 800; }
.personal-notes-panel { background: linear-gradient(180deg, #fff, #fff7df); }
@media (max-width: 1200px) { .staff-profile-card, .settings-main-grid, .settings-dashboard-grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .availability-grid { grid-template-columns: 1fr; } }

.admin-settings-view { display: grid; gap: 18px; }
.admin-settings-hero { background: linear-gradient(180deg, #fffdf2, #ffffff); }
.admin-settings-summary { display: grid; grid-template-columns: repeat(3, minmax(220px, 1fr)); gap: 12px; }
.admin-settings-grid { display: grid; grid-template-columns: repeat(3, minmax(240px, 1fr)); gap: 18px; }
.formula-grid { display: grid; gap: 12px; }
.formula-card { display: grid; gap: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: #fbfdfc; }
.formula-card strong { font-size: 1rem; }
.formula-card div { display: grid; grid-template-columns: 130px minmax(0, 1fr) 42px; gap: 10px; align-items: center; font-weight: 800; }
.formula-card span { color: var(--muted); }
.formula-card i { height: 10px; border-radius: 999px; background: #edf3ef; overflow: hidden; }
.formula-card b { display: block; height: 100%; border-radius: inherit; background: var(--brand); }
.formula-card em { font-style: normal; text-align: right; color: var(--muted); }
@media (max-width: 1200px) { .admin-settings-summary, .admin-settings-grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .formula-card div { grid-template-columns: 1fr 42px; } .formula-card i { grid-column: 1 / -1; } }

.billing-view { display: grid; gap: 18px; }
.billing-hero { background: linear-gradient(180deg, #ffffff, #eef5ff); }
.participation-status-grid { display: grid; grid-template-columns: repeat(3, minmax(220px, 1fr)); gap: 12px; }
.participation-card { display: grid; gap: 8px; padding: 16px; border: 2px solid var(--line); border-radius: 8px; background: #fff; }
.participation-card strong { font-size: 1.1rem; }
.participation-card span { font-size: 1.8rem; font-weight: 1000; }
.participation-card p, .participation-card em { margin: 0; color: var(--muted); font-style: normal; font-weight: 800; }
.participation-card.green { border-color: #9fd7b5; background: #eefaf3; }
.participation-card.yellow { border-color: #e7c56c; background: #fff7df; }
.participation-card.red { border-color: #e6aaa7; background: #fff0ef; }
.billing-main-grid { display: grid; grid-template-columns: minmax(420px, 1fr) minmax(340px, .9fr); gap: 18px; }
.billing-dashboard-grid { display: grid; grid-template-columns: repeat(3, minmax(240px, 1fr)); gap: 18px; }
.billing-status-list { display: grid; gap: 10px; }
.billing-status-card { display: grid; gap: 6px; padding: 14px; border: 1px solid var(--line); border-left-width: 7px; border-radius: 8px; background: #fbfdfc; }
.billing-status-card strong { font-size: 1rem; }
.billing-status-card span { font-weight: 1000; }
.billing-status-card p { margin: 0; color: var(--muted); line-height: 1.45; }
.billing-status-card.green { border-left-color: #22c55e; }
.billing-status-card.yellow { border-left-color: #eab308; }
.billing-status-card.orange { border-left-color: #f97316; }
.billing-status-card.red { border-left-color: #dc2626; }
.billing-status-card.black { border-left-color: #111827; }
.billing-action-grid { display: grid; gap: 10px; }
.billing-action-grid button { justify-content: center; }
@media (max-width: 1200px) { .participation-status-grid, .billing-main-grid, .billing-dashboard-grid { grid-template-columns: 1fr; } }

.admin-billing-view { display: grid; gap: 18px; }
.admin-billing-hero { background: linear-gradient(180deg, #fffdf2, #ffffff); }
.admin-billing-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 12px; }
.admin-billing-kpi { min-height: 104px; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: var(--shadow); }
.admin-billing-kpi span { display: block; color: var(--muted); font-size: .74rem; font-weight: 900; text-transform: uppercase; }
.admin-billing-kpi strong { display: block; margin-top: 8px; font-size: 1.75rem; }
.admin-billing-kpi.good { border-color: #9fd7b5; background: #eefaf3; }
.admin-billing-kpi.warning { border-color: #e7c56c; background: #fff7df; }
.admin-billing-kpi[data-admin-billing-report] { cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.admin-billing-kpi[data-admin-billing-report]:hover, .admin-billing-kpi[data-admin-billing-report]:focus-visible { border-color: var(--accent); box-shadow: 0 10px 24px rgba(0, 0, 0, .2); transform: translateY(-1px); outline: none; }
.billing-account-link { font: inherit; font-weight: 900; }
.admin-billing-kpi.danger { border-color: #e6aaa7; background: #fff0ef; }
.admin-billing-main-grid { display: grid; grid-template-columns: minmax(420px, 1fr) minmax(420px, 1fr); gap: 18px; }
.admin-billing-grid { display: grid; grid-template-columns: repeat(3, minmax(240px, 1fr)); gap: 18px; }
@media (max-width: 1200px) { .admin-billing-kpi-grid { grid-template-columns: repeat(2, minmax(150px, 1fr)); } .admin-billing-main-grid, .admin-billing-grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .admin-billing-kpi-grid { grid-template-columns: 1fr; } }

.parent-list-panel { min-width: 0; }
.parent-record-list { display: grid; gap: 10px; }
.parent-row-card { cursor: pointer; grid-template-columns: 1fr; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.parent-row-card:hover, .parent-row-card.is-selected { border-color: var(--brand); box-shadow: 0 10px 24px rgba(21, 128, 61, .12); transform: translateY(-1px); }
.parent-row-card header { align-items: center; }
.parent-row-card header > div:first-child { min-width: 220px; }
.parent-row-card .pill-row { justify-content: flex-end; min-width: 300px; }
.parent-row-card > .detail { margin: 0; }
.parent-account-panel { display: grid; gap: 14px; margin-bottom: 14px; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: linear-gradient(180deg, #ffffff, #eefaf3); }
.parent-account-header { display: flex; justify-content: space-between; gap: 16px; align-items: start; }
.parent-account-header h3 { margin: 2px 0; font-size: 1.45rem; }
.parent-account-header span { color: var(--muted); font-weight: 800; }
.parent-account-grid { display: grid; grid-template-columns: repeat(4, minmax(160px, 1fr)); gap: 10px; }
.parent-account-grid article { display: grid; gap: 5px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.parent-account-grid strong { font-size: .82rem; text-transform: uppercase; color: var(--muted); }
.parent-account-grid span { font-weight: 800; color: var(--ink); }
.parent-account-notes { display: grid; gap: 8px; }
@media (max-width: 1200px) { .parent-account-grid { grid-template-columns: repeat(2, minmax(160px, 1fr)); } .parent-row-card .pill-row { min-width: 0; justify-content: flex-start; } }
@media (max-width: 700px) { .parent-account-header, .parent-row-card header { flex-direction: column; } .parent-account-grid { grid-template-columns: 1fr; } }

.parents-workspace { display: grid; gap: 18px; }
.parents-workspace .parent-form-panel { max-height: none; }
.parents-workspace .parent-form-panel .form-grid { grid-template-columns: repeat(4, minmax(170px, 1fr)); }
.parents-workspace .parent-form-panel label.wide { grid-column: span 2; }
.parents-workspace .parent-list-panel { min-width: 0; }
.parent-record-list { gap: 8px; }
.parent-row-card { display: grid; grid-template-columns: minmax(190px, 1.1fr) minmax(250px, 1.25fr) minmax(220px, 1fr) minmax(280px, 1.25fr); gap: 14px; align-items: center; min-height: 74px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 8px; background: #fbfdfc; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.parent-row-card:hover, .parent-row-card.is-selected { border-color: var(--brand); box-shadow: 0 10px 24px rgba(21, 128, 61, .12); transform: translateY(-1px); }
.parent-row-main, .parent-row-contact, .parent-row-kids { display: grid; gap: 4px; min-width: 0; }
.parent-row-main strong { font-size: 1rem; }
.parent-row-main span, .parent-row-contact span, .parent-row-kids span, .parent-row-kids small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.parent-row-main span, .parent-row-contact span, .parent-row-kids small { color: var(--muted); font-weight: 800; }
.parent-row-pills { justify-content: flex-end; }
@media (max-width: 1320px) { .parent-row-card { grid-template-columns: minmax(190px, 1fr) minmax(240px, 1.2fr); } .parent-row-pills { justify-content: flex-start; } .parents-workspace .parent-form-panel .form-grid { grid-template-columns: repeat(2, minmax(180px, 1fr)); } }
@media (max-width: 760px) { .parent-row-card { grid-template-columns: 1fr; } .parents-workspace .parent-form-panel .form-grid, .parents-workspace .parent-form-panel label.wide { grid-template-columns: 1fr; grid-column: auto; } .parent-row-main span, .parent-row-contact span, .parent-row-kids span, .parent-row-kids small { white-space: normal; } }

.household-health-strip { display: grid; grid-template-columns: repeat(4, minmax(160px, 1fr)); gap: 10px; }
.household-health-strip article { display: grid; gap: 5px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.household-health-strip article.good { border-color: #9fd7b5; background: #eefaf3; }
.household-health-strip article.warning { border-color: #e7c56c; background: #fff7df; }
.household-health-strip strong, .parent-linked-grid strong { font-size: .78rem; color: var(--muted); text-transform: uppercase; }
.household-health-strip span { font-size: 1.2rem; font-weight: 1000; }
.household-health-strip p { margin: 0; color: var(--muted); font-weight: 800; line-height: 1.35; }
.parent-account-form { display: grid; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.parent-edit-grid { display: grid; grid-template-columns: repeat(4, minmax(170px, 1fr)); gap: 12px; }
.parent-edit-grid label.wide { grid-column: span 2; }
.parent-account-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.parent-linked-grid { display: grid; grid-template-columns: repeat(2, minmax(240px, 1fr)); gap: 10px; }
.parent-linked-grid article { display: grid; gap: 6px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.parent-linked-grid span { font-weight: 800; color: var(--ink); }
@media (max-width: 1200px) { .household-health-strip, .parent-edit-grid { grid-template-columns: repeat(2, minmax(170px, 1fr)); } }
@media (max-width: 760px) { .household-health-strip, .parent-edit-grid, .parent-linked-grid { grid-template-columns: 1fr; } .parent-edit-grid label.wide { grid-column: auto; } }

.parent-details-view { display: grid; gap: 18px; }
.parent-details-shell { display: grid; gap: 14px; }
.parent-details-panel { display: grid; gap: 14px; }
.parent-details-panel .parent-account-header { padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: linear-gradient(180deg, #ffffff, #eefaf3); }
.parent-account-link { justify-self: start; padding: 0; border: 0; background: transparent; color: var(--brand-dark); font: inherit; font-weight: 900; text-align: left; cursor: pointer; }
.parent-account-link:hover, .parent-account-link:focus-visible { color: var(--brand); text-decoration: underline; outline: none; }
.parent-row-actions { display: grid; gap: 8px; justify-items: end; min-width: 0; }
.compact-button { min-height: 34px; padding: 7px 11px; font-size: 0.82rem; }
@media (max-width: 1320px) { .parent-row-actions { justify-items: start; } }
.linked-account-button { display: grid; gap: 3px; width: 100%; padding: 10px 11px; border: 1px solid var(--line); border-radius: 8px; background: #fbfdfc; color: var(--ink); text-align: left; cursor: pointer; }
.linked-account-button span { color: var(--brand-dark); font-weight: 1000; }
.linked-account-button small { color: var(--muted); font-weight: 800; }
.linked-account-button:hover, .linked-account-button:focus-visible { border-color: var(--brand); box-shadow: 0 8px 18px rgba(21,128,61,.1); outline: none; }
.record-card.is-selected-account { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(20,107,85,.14), var(--shadow); }
.parents-workspace > .split-view { display: grid; grid-template-columns: 1fr; gap: 18px; }
.parents-workspace > .split-view > .form-panel,
.parents-workspace > .form-panel { max-height: none; }
.parents-workspace > .split-view > .form-panel .form-grid,
.parents-workspace > .form-panel .form-grid { grid-template-columns: repeat(4, minmax(170px, 1fr)); }
.parents-workspace > .split-view > .form-panel label.wide,
.parents-workspace > .form-panel label.wide { grid-column: span 2; }
.parents-workspace .list-panel { min-width: 0; }
@media (max-width: 1320px) { .parents-workspace > .split-view > .form-panel .form-grid, .parents-workspace > .form-panel .form-grid { grid-template-columns: repeat(2, minmax(180px, 1fr)); } }
@media (max-width: 760px) { .parents-workspace > .split-view > .form-panel .form-grid, .parents-workspace > .form-panel .form-grid, .parents-workspace > .split-view > .form-panel label.wide, .parents-workspace > .form-panel label.wide { grid-template-columns: 1fr; grid-column: auto; } }
.staff-account-section { display: grid; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #fbfdfc; }
.staff-account-section h4 { margin: 0; color: var(--muted); font-size: .82rem; text-transform: uppercase; }
.staff-linked-grid { grid-template-columns: repeat(4, minmax(210px, 1fr)); }
.staff-linked-grid article { align-content: start; }
@media (max-width: 1200px) { .staff-linked-grid { grid-template-columns: repeat(2, minmax(220px, 1fr)); } }
@media (max-width: 760px) { .staff-linked-grid { grid-template-columns: 1fr; } }
.class-health-card { cursor: pointer; }
.class-health-card.is-selected { box-shadow: 0 0 0 3px rgba(20,107,85,.18), var(--shadow); transform: translateY(-1px); }
.live-student-card.is-live { border-color: #9fd7b5; background: #eefaf3; }
.class-action-log { flex-basis: 100%; color: var(--muted); font-weight: 800; font-size: .86rem; }
.class-student-card .attendance-buttons button[data-class-attendance="Present"],
.xp-buttons button[data-class-xp] { border-color: var(--brand); }

.business-kpi[data-dashboard-drilldown],
.dashboard-widget[data-dashboard-drilldown],
.mini-row[data-dashboard-drilldown] { cursor: pointer; }
.business-kpi[data-dashboard-drilldown]:hover,
.dashboard-widget[data-dashboard-drilldown]:hover,
.mini-row[data-dashboard-drilldown]:hover { border-color: var(--brand); box-shadow: 0 10px 24px rgba(21, 128, 61, .12); transform: translateY(-1px); }
.drilldown-highlight { animation: drilldownPulse 1.3s ease-in-out 2; box-shadow: 0 0 0 4px rgba(20,107,85,.2), var(--shadow); border-color: var(--brand) !important; }
@keyframes drilldownPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(20,107,85,0), var(--shadow); } 45% { box-shadow: 0 0 0 5px rgba(20,107,85,.24), var(--shadow); } }
.class-details-view { display: grid; gap: 18px; }
.class-account-panel { display: grid; gap: 14px; }
.class-account-hero { display: grid; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: linear-gradient(180deg, #ffffff, #eef5ff); }
.class-health-strip { display: grid; grid-template-columns: repeat(6, minmax(120px, 1fr)); gap: 10px; }
.class-health-strip article { display: grid; gap: 5px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.class-health-strip strong { color: var(--muted); font-size: .78rem; text-transform: uppercase; }
.class-health-strip span { color: var(--ink); font-size: 1.25rem; font-weight: 1000; }
.class-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(280px, 1fr)); gap: 14px; }
.class-linked-list { display: grid; gap: 8px; }
.mini-row[data-open-class-details],
.mini-row[data-open-parent-account],
.mini-row[data-open-student-account] { cursor: pointer; }
.mini-row[data-open-class-details]:hover,
.mini-row[data-open-parent-account]:hover,
.mini-row[data-open-student-account]:hover { border-color: var(--brand); box-shadow: 0 10px 24px rgba(21,128,61,.12); transform: translateY(-1px); }
@media (max-width: 1200px) { .class-health-strip { grid-template-columns: repeat(3, minmax(120px, 1fr)); } .class-detail-grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .class-health-strip { grid-template-columns: 1fr; } }
.parent-portal-panel .portal-tabs { grid-template-columns: repeat(2, minmax(280px, 1fr)); }
.portal-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center; min-height: 92px; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: #fbfdfc; }
.portal-card strong { display: block; margin-bottom: 5px; font-size: 1rem; }
.portal-card span { display: block; color: var(--muted); font-weight: 800; line-height: 1.45; }
.portal-card button { white-space: nowrap; }
@media (max-width: 980px) { .parent-portal-panel .portal-tabs, .portal-card { grid-template-columns: 1fr; } .portal-card button { justify-self: start; } }
.parent-portal-demo-view { display: grid; gap: 18px; }
.parent-portal-control-panel { background: linear-gradient(180deg, #ffffff, #eefaf3); }
.portal-control-grid { display: grid; grid-template-columns: repeat(3, minmax(220px, 1fr)); gap: 12px; }
.portal-control-grid article { display: grid; gap: 6px; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.portal-control-grid strong { color: var(--brand-dark); font-size: .92rem; }
.portal-control-grid span { color: var(--muted); font-weight: 800; line-height: 1.45; }
@media (max-width: 1100px) { .portal-control-grid { grid-template-columns: repeat(2, minmax(220px, 1fr)); } }
@media (max-width: 700px) { .portal-control-grid { grid-template-columns: 1fr; } }
.eligibility-view { display: grid; gap: 18px; }
.eligibility-hero { background: linear-gradient(180deg, #ffffff, #eefaf3); }
.eligibility-main-grid { grid-template-columns: minmax(420px, 1.1fr) minmax(340px, .9fr); }
.eligibility-dashboard-grid .panel { min-height: 220px; }
.eligibility-dashboard-grid .record-list { display: grid; gap: 10px; }
@media (max-width: 1200px) { .eligibility-main-grid { grid-template-columns: 1fr; } }
/* Shared parent-tab row language across operational tabs */
.coach-hq-view .mini-row,
.waivers-view .mini-row,
.classes-view .mini-row,
.messages-view .mini-row,
.eligibility-view .mini-row,
.attendance-view .mini-row,
.progression-view .mini-row,
.rewards-view .mini-row,
.reports-view .mini-row,
.settings-view .mini-row,
.admin-settings-view .mini-row,
.admin-billing-view .mini-row,
.parent-portal-demo-view .mini-row { display: grid; grid-template-columns: minmax(190px, .9fr) minmax(260px, 1.6fr) auto; gap: 14px; align-items: center; min-height: 68px; padding: 12px 14px; border-radius: 8px; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.coach-hq-view .mini-row strong,
.waivers-view .mini-row strong,
.classes-view .mini-row strong,
.messages-view .mini-row strong,
.eligibility-view .mini-row strong,
.attendance-view .mini-row strong,
.progression-view .mini-row strong,
.rewards-view .mini-row strong,
.reports-view .mini-row strong,
.settings-view .mini-row strong,
.admin-settings-view .mini-row strong,
.admin-billing-view .mini-row strong,
.parent-portal-demo-view .mini-row strong { min-width: 0; font-size: 1rem; }
.coach-hq-view .mini-row span,
.waivers-view .mini-row span,
.classes-view .mini-row span,
.messages-view .mini-row span,
.eligibility-view .mini-row span,
.attendance-view .mini-row span,
.progression-view .mini-row span,
.rewards-view .mini-row span,
.reports-view .mini-row span,
.settings-view .mini-row span,
.admin-settings-view .mini-row span,
.admin-billing-view .mini-row span,
.parent-portal-demo-view .mini-row span { min-width: 0; color: var(--muted); font-weight: 800; overflow-wrap: anywhere; }
.coach-hq-view .mini-row:hover,
.waivers-view .mini-row:hover,
.classes-view .mini-row:hover,
.messages-view .mini-row:hover,
.eligibility-view .mini-row:hover,
.attendance-view .mini-row:hover,
.progression-view .mini-row:hover,
.rewards-view .mini-row:hover,
.reports-view .mini-row:hover,
.settings-view .mini-row:hover,
.admin-settings-view .mini-row:hover,
.admin-billing-view .mini-row:hover,
.parent-portal-demo-view .mini-row:hover { border-color: var(--brand); box-shadow: 0 10px 24px rgba(21,128,61,.1); transform: translateY(-1px); }
.waivers-view .record-card,
.attendance-view .record-card,
.progression-view .record-card,
.rewards-view .record-card,
.reports-view .record-card,
.settings-view .record-card,
.admin-settings-view .record-card,
.admin-billing-view .record-card { grid-template-columns: minmax(220px, .9fr) minmax(0, 1.4fr); align-items: center; gap: 14px; min-height: 76px; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.waivers-view .record-card header,
.attendance-view .record-card header,
.progression-view .record-card header,
.rewards-view .record-card header,
.reports-view .record-card header,
.settings-view .record-card header,
.admin-settings-view .record-card header,
.admin-billing-view .record-card header { align-items: center; min-width: 0; }
.waivers-view .record-card:hover,
.attendance-view .record-card:hover,
.progression-view .record-card:hover,
.rewards-view .record-card:hover,
.reports-view .record-card:hover,
.settings-view .record-card:hover,
.admin-settings-view .record-card:hover,
.admin-billing-view .record-card:hover { border-color: var(--brand); box-shadow: 0 10px 24px rgba(21,128,61,.1); transform: translateY(-1px); }
.table-wrap table { border-collapse: separate; border-spacing: 0 8px; }
.table-wrap tbody tr { background: #fbfdfc; box-shadow: 0 0 0 1px var(--line); }
.table-wrap tbody td:first-child { border-radius: 8px 0 0 8px; font-weight: 900; color: var(--brand-dark); }
.table-wrap tbody td:last-child { border-radius: 0 8px 8px 0; }
@media (max-width: 900px) {
  .coach-hq-view .mini-row,
  .waivers-view .mini-row,
  .classes-view .mini-row,
  .messages-view .mini-row,
  .eligibility-view .mini-row,
  .attendance-view .mini-row,
  .progression-view .mini-row,
  .rewards-view .mini-row,
  .reports-view .mini-row,
  .settings-view .mini-row,
  .admin-settings-view .mini-row,
  .admin-billing-view .mini-row,
  .parent-portal-demo-view .mini-row,
  .waivers-view .record-card,
  .attendance-view .record-card,
  .progression-view .record-card,
  .rewards-view .record-card,
  .reports-view .record-card,
  .settings-view .record-card,
  .admin-settings-view .record-card,
  .admin-billing-view .record-card { grid-template-columns: 1fr; align-items: start; }
}

/* Dark operations theme */
:root {
  color-scheme: dark;
  --ink: #f5f7fa;
  --muted: #a9b4c0;
  --line: #38424f;
  --panel: #1b2028;
  --page: #07090d;
  --brand: #28df86;
  --brand-strong: #52f0a3;
  --brand-dark: #9af7c5;
  --gold: #ffd15c;
  --danger: #ff5b6e;
  --warning: #ffca3a;
  --info: #55b8ff;
  --shadow: 0 18px 48px rgba(0, 0, 0, .46);
}

body {
  background: var(--page);
  color: var(--ink);
}

.app-shell,
.workspace,
.content-shell,
.screen,
.placeholder-panel {
  background: var(--page);
}

.sidebar {
  background: #05070a;
  border-color: #252c36;
  box-shadow: 18px 0 50px rgba(0, 0, 0, .35);
}

.logo-mark,
.app-badge,
.account-pill {
  background: rgba(40, 223, 134, .16);
  color: var(--brand-strong);
  border-color: rgba(40, 223, 134, .36);
}

.nav-button,
.portal-nav-button,
.role-chip,
.segmented button,
.tab-button,
.toolbar-button {
  color: var(--muted);
  background: transparent;
  border-color: transparent;
}

.nav-button:hover,
.portal-nav-button:hover,
.role-chip:hover,
.segmented button:hover,
.tab-button:hover,
.toolbar-button:hover {
  background: #171d25;
  color: var(--ink);
}

.nav-button.active,
.portal-nav-button.active,
.role-chip.active,
.segmented button.active,
.tab-button.active,
.toolbar-button.active {
  background: rgba(40, 223, 134, .15);
  color: var(--brand-strong);
  border-color: rgba(40, 223, 134, .5);
  box-shadow: inset 3px 0 0 var(--brand);
}

.panel,
.metric,
.record-card,
.mini-row,
.focus-block,
.table-wrap,
.form-card,
.editor-card,
.stat-card,
.dashboard-widget,
.business-kpi,
.widget-card,
.parent-row-card,
.parent-details-card,
.parent-account-form,
.parent-account-grid article,
.parent-linked-grid article,
.linked-account-button,
.household-snapshot-tile,
.household-row-card,
.student-row-card,
.staff-row-card,
.staff-account-section,
.portal-card,
.portal-control-grid article,
.waiver-metric,
.checkin-card,
.qr-preview-card,
.class-health-card,
.class-detail-header,
.class-student-card,
.live-student-card,
.message-thread,
.message-bubble,
.audience-option,
.attendance-kpi,
.participation-card,
.progression-kpi,
.rank-node,
.readiness-card,
.reward-eligible-card,
.reward-type-card,
.rewards-kpi,
.report-kpi,
.formula-card,
.billing-status-card,
.admin-billing-kpi,
.setting-card,
.profile-card,
.kpi-card {
  background: var(--panel) !important;
  color: var(--ink);
  border-color: var(--line) !important;
  box-shadow: var(--shadow);
}

.metric:hover,
.record-card:hover,
.mini-row:hover,
.parent-row-card:hover,
.household-row-card:hover,
.student-row-card:hover,
.staff-row-card:hover,
.linked-account-button:hover {
  border-color: rgba(40, 223, 134, .72) !important;
  box-shadow: 0 16px 34px rgba(40, 223, 134, .12);
}

.panel.subtle,
.mini-row,
.table-wrap tbody tr,
.message-bubble,
.linked-account-button,
.portal-card.secondary,
.child-card,
.timeline-item,
.detail-strip,
.search-strip,
.filter-strip {
  background: #212832 !important;
}

h1, h2, h3, h4,
.metric strong,
.record-card strong,
.mini-row strong,
.parent-row-card strong,
.table-wrap tbody td:first-child,
.table-wrap th,
.label,
.card-title {
  color: var(--ink) !important;
}

p,
small,
.muted,
.helper-text,
.metric span,
.record-card span,
.mini-row span,
.table-wrap td,
.card-meta,
.detail-meta,
.form-hint {
  color: var(--muted) !important;
}

input,
select,
textarea,
.search-input,
.filter-select {
  background: #111720 !important;
  color: var(--ink) !important;
  border-color: #465160 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}

input::placeholder,
textarea::placeholder {
  color: #778391;
}

input:focus,
select:focus,
textarea:focus,
.search-input:focus,
.filter-select:focus {
  border-color: var(--brand) !important;
  box-shadow: 0 0 0 3px rgba(40, 223, 134, .18) !important;
  outline: none;
}

.primary-button,
.action-button.primary,
button.primary,
.level-up-button,
.generate-waiver-button {
  background: var(--brand) !important;
  color: #03110a !important;
  border-color: var(--brand) !important;
  box-shadow: 0 12px 26px rgba(40, 223, 134, .2);
}

.primary-button:hover,
.action-button.primary:hover,
button.primary:hover,
.level-up-button:hover,
.generate-waiver-button:hover {
  background: var(--brand-strong) !important;
  border-color: var(--brand-strong) !important;
}

.secondary-button,
.table-action,
.action-button,
button:not(.nav-button):not(.portal-nav-button):not(.primary-button):not(.danger-button) {
  background: #2a3340;
  color: var(--ink);
  border-color: #4a5665;
}

.secondary-button:hover,
.table-action:hover,
.action-button:hover {
  background: #343f4d;
  border-color: var(--brand);
  color: var(--brand-strong);
}

.danger-button,
.action-button.danger,
button.danger {
  background: #3b1119 !important;
  color: #ffd7de !important;
  border-color: var(--danger) !important;
}

.pill,
.status-pill,
.badge,
.tag {
  background: #26303b !important;
  color: var(--ink) !important;
  border-color: #4b5665 !important;
}

.pill.good,
.status-good,
.good,
.clear-status,
.health-good {
  background: rgba(40, 223, 134, .14) !important;
  color: #9af7c5 !important;
  border-color: rgba(40, 223, 134, .55) !important;
}

.pill.warning,
.status-warning,
.warning,
.attention-status,
.health-warning {
  background: rgba(255, 202, 58, .15) !important;
  color: #ffe49a !important;
  border-color: rgba(255, 202, 58, .62) !important;
}

.pill.danger,
.status-danger,
.danger,
.hold-status,
.health-danger {
  background: rgba(255, 91, 110, .16) !important;
  color: #ffc2ca !important;
  border-color: rgba(255, 91, 110, .62) !important;
}

.pill.info,
.status-info,
.info {
  background: rgba(85, 184, 255, .15) !important;
  color: #b8e2ff !important;
  border-color: rgba(85, 184, 255, .58) !important;
}

.table-wrap thead tr,
.table-wrap th {
  background: #111720 !important;
}

.table-wrap tbody tr {
  box-shadow: 0 0 0 1px var(--line);
}

.table-wrap tbody tr:hover {
  box-shadow: 0 0 0 1px rgba(40, 223, 134, .65), 0 12px 28px rgba(0,0,0,.28);
}

.progress-bar,
.xp-track,
.health-track {
  background: #10161e !important;
  border-color: #35404d !important;
}

.progress-fill,
.xp-fill,
.health-fill {
  background: linear-gradient(90deg, var(--brand), #55b8ff) !important;
}

.notice,
.alert-card,
.warning-card {
  background: #241f12 !important;
  border-color: rgba(255, 202, 58, .5) !important;
  color: #ffe49a !important;
}

.admin-only,
.restricted-card {
  background: #24111a !important;
  border-color: rgba(255, 91, 110, .55) !important;
}

::-webkit-scrollbar {
  width: 11px;
  height: 11px;
}

::-webkit-scrollbar-track {
  background: #080b10;
}

::-webkit-scrollbar-thumb {
  background: #3c4653;
  border-radius: 999px;
  border: 2px solid #080b10;
}

::-webkit-scrollbar-thumb:hover {
  background: #536172;
}

/* Fixed dashboard cards: customization controls removed */
.widget-controls,
.layout-editing .widget-controls {
  display: none !important;
}
.layout-editing .dashboard-widget,
.layout-editing .widget-board {
  outline: none !important;
  box-shadow: var(--shadow) !important;
}
.dashboard-widget,
.dashboard-widget.widget-small,
.dashboard-widget.widget-medium {
  grid-column: span 4;
}
.dashboard-widget.widget-large,
.staff-project-panel {
  grid-column: 1 / -1;
}
@media (max-width: 900px) {
  .dashboard-widget,
  .dashboard-widget.widget-small,
  .dashboard-widget.widget-medium,
  .dashboard-widget.widget-large,
  .staff-project-panel {
    grid-column: 1 / -1;
  }
}

/* Active tab highlight */
.nav-item {
  position: relative;
  border-color: transparent;
  transition: background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.nav-item:hover {
  background: #171d25 !important;
  border-color: #3a4552 !important;
  color: var(--ink) !important;
}
.nav-item.is-active {
  background: linear-gradient(90deg, rgba(40, 223, 134, .24), rgba(40, 223, 134, .08)) !important;
  color: var(--brand-strong) !important;
  border-color: rgba(40, 223, 134, .75) !important;
  box-shadow: inset 4px 0 0 var(--brand), 0 0 0 1px rgba(40, 223, 134, .18), 0 10px 24px rgba(40, 223, 134, .1);
  transform: translateX(2px);
}
.nav-item.is-active::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--brand);
  box-shadow: 0 0 16px rgba(40, 223, 134, .9);
  transform: translateY(-50%);
}
@media (max-width: 980px) {
  .nav-item.is-active {
    box-shadow: inset 0 -4px 0 var(--brand), 0 0 0 1px rgba(40, 223, 134, .18);
    transform: none;
  }
}

/* Tab-aware status bar */
.summary-grid {
  align-items: stretch;
}
.metric {
  min-height: 96px;
  position: relative;
  overflow: hidden;
}
.metric em {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-style: normal;
  font-size: .78rem;
  font-weight: 850;
  line-height: 1.25;
}
.metric.good {
  border-color: rgba(40, 223, 134, .55) !important;
}
.metric.warning {
  border-color: rgba(255, 202, 58, .62) !important;
}
.metric.danger {
  border-color: rgba(255, 91, 110, .68) !important;
}
.metric.info {
  border-color: rgba(85, 184, 255, .62) !important;
}
.metric.good::before,
.metric.warning::before,
.metric.danger::before,
.metric.info::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
}
.metric.good::before { background: var(--brand); }
.metric.warning::before { background: var(--warning); }
.metric.danger::before { background: var(--danger); }
.metric.info::before { background: var(--info); }

/* Back navigation button */
.back-button:disabled {
  opacity: .42;
  cursor: not-allowed;
  filter: grayscale(.35);
}
.back-button:not(:disabled) {
  border-color: rgba(40, 223, 134, .55) !important;
}

/* Clickable tab status metrics */
.metric[data-summary-focus] {
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.metric[data-summary-focus]:hover,
.metric[data-summary-focus]:focus-visible {
  border-color: rgba(40, 223, 134, .8) !important;
  box-shadow: 0 16px 34px rgba(40, 223, 134, .12), var(--shadow);
  outline: none;
  transform: translateY(-1px);
}
.metric[data-summary-focus]::after {
  content: "Jump";
  position: absolute;
  right: 12px;
  bottom: 10px;
  color: var(--brand-strong);
  font-size: .68rem;
  font-weight: 1000;
  letter-spacing: .04em;
  opacity: .72;
  text-transform: uppercase;
}

/* Selected message thread */
.mini-row.is-selected-thread {
  border-color: rgba(40, 223, 134, .76) !important;
  box-shadow: inset 4px 0 0 var(--brand), 0 12px 26px rgba(40, 223, 134, .12);
}

/* Sticky desktop sidebar */
@media (min-width: 981px) {
  .app-shell {
    align-items: start;
  }
  .sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    max-height: 100vh;
    overflow-y: auto;
    z-index: 20;
  }
}
@media (max-width: 980px) {
  .sidebar {
    position: static;
    height: auto;
    max-height: none;
  }
}

/* Compact desktop sidebar navigation */
@media (min-width: 981px) {
  .sidebar {
    gap: 14px;
    padding: 18px 18px 16px;
  }
  .brand {
    gap: 10px;
  }
  .brand-mark {
    width: 38px;
    height: 38px;
    font-size: .9rem;
  }
  .brand h1 {
    font-size: .95rem;
    line-height: 1.1;
  }
  .brand p {
    font-size: .74rem;
    line-height: 1.2;
  }
  .nav-list {
    gap: 4px;
  }
  .nav-item {
    min-height: 30px;
    padding: 0 10px;
    border-radius: 6px;
    font-size: .82rem;
    font-weight: 800;
    line-height: 1;
  }
  .nav-item.is-active::after {
    right: 7px;
    width: 6px;
    height: 6px;
  }
  .sidebar-note {
    padding: 10px;
    margin-top: 4px;
  }
  .sidebar-note strong {
    font-size: .68rem;
  }
  .sidebar-note p {
    margin-top: 5px;
    font-size: .75rem;
    line-height: 1.25;
  }
}

/* Coach HQ fixed parent-style layout */
.coach-hq-view {
  display: grid;
  gap: 18px;
}
.coach-hq-view .dashboard-hero {
  margin-bottom: 0;
}
.coach-hq-view .coach-hq-grid,
.coach-hq-view .coach-widget-board {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}
.coach-hq-view .coach-hq-grid[hidden] {
  display: grid !important;
}
.coach-hq-view .dashboard-widget,
.coach-hq-view .panel {
  grid-column: 1 / -1 !important;
}
.coach-hq-view .panel:not(.dashboard-hero) {
  display: grid;
  grid-template-columns: minmax(220px, .45fr) minmax(0, 1.55fr);
  gap: 14px;
  align-items: stretch;
  padding: 14px;
}
.coach-hq-view .panel:not(.dashboard-hero) .panel-header {
  margin: 0;
  align-items: center;
}
.coach-hq-view .panel:not(.dashboard-hero) .mini-list {
  align-content: start;
  gap: 8px;
}
.coach-hq-view .mini-row {
  display: grid;
  grid-template-columns: minmax(180px, .65fr) minmax(260px, 1.35fr) auto;
  gap: 14px;
  align-items: center;
  min-height: 62px;
  padding: 11px 14px;
}
.coach-hq-view .mini-row strong,
.coach-hq-view .mini-row span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.coach-hq-view .mini-row::after {
  content: "Open";
  color: var(--brand-strong);
  font-size: .72rem;
  font-weight: 1000;
  text-transform: uppercase;
  opacity: .7;
}
.coach-hq-view .coach-kpi-grid {
  grid-template-columns: repeat(4, minmax(140px, 1fr));
}
@media (max-width: 1100px) {
  .coach-hq-view .panel:not(.dashboard-hero),
  .coach-hq-view .mini-row {
    grid-template-columns: 1fr;
  }
  .coach-hq-view .mini-row::after {
    display: none;
  }
  .coach-hq-view .coach-kpi-grid {
    grid-template-columns: repeat(2, minmax(140px, 1fr));
  }
}
@media (max-width: 640px) {
  .coach-hq-view .coach-kpi-grid {
    grid-template-columns: 1fr;
  }
}

/* Coach HQ row action labels only on clickable rows */
.coach-hq-view .mini-row::after {
  content: none;
}
.coach-hq-view .mini-row[role="button"]::after {
  content: "Open";
  color: var(--brand-strong);
  font-size: .72rem;
  font-weight: 1000;
  text-transform: uppercase;
  opacity: .7;
}
@media (max-width: 1100px) {
  .coach-hq-view .mini-row[role="button"]::after {
    display: none;
  }
}

/* Coach HQ tile headers above data */
.coach-hq-view .panel:not(.dashboard-hero) {
  display: grid;
  grid-template-columns: 1fr !important;
  gap: 12px;
  align-items: start;
}
.coach-hq-view .panel:not(.dashboard-hero) .panel-header {
  margin-bottom: 0;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}
.coach-hq-view .panel:not(.dashboard-hero) .panel-header h3 {
  margin-bottom: 4px;
}
.coach-hq-view .panel:not(.dashboard-hero) .mini-list {
  width: 100%;
}
.coach-hq-view .mini-row {
  grid-template-columns: minmax(180px, .7fr) minmax(260px, 1.3fr) auto;
}
@media (max-width: 900px) {
  .coach-hq-view .mini-row {
    grid-template-columns: 1fr;
  }
}

/* Consistent clickable cursor */
button,
a,
[role="button"],
[data-jump],
[data-open-parent-account],
[data-open-student-account],
[data-open-household-account],
[data-open-staff-account],
[data-open-class-details],
[data-open-message-thread],
[data-dashboard-drilldown],
[data-summary-focus],
[data-class-action],
[data-class-id],
[data-class-view],
[data-attendance-student],
[data-attendance-action],
[data-class-attendance],
[data-class-xp],
[data-class-skill],
[data-class-reward],
[data-class-message],
[data-class-waitlist],
[data-class-note],
[data-class-incident],
[data-class-makeup],
[data-class-recurring],
[data-class-template],
[data-checkin-student],
[data-issue-reward],
.parent-row-card,
.household-row-card,
.student-row-card,
.staff-row-card,
.linked-account-button,
.table-action,
.metric[data-summary-focus],
.mini-row[role="button"] {
  cursor: pointer !important;
}
button:disabled,
[aria-disabled="true"] {
  cursor: not-allowed !important;
}

/* Collapsed add forms for account tabs */
.list-header-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
}
.list-header-actions .search-input {
  min-width: 220px;
}
.collapsible-add-form {
  border-color: rgba(40, 223, 134, .45) !important;
}
@media (max-width: 760px) {
  .list-header-actions {
    justify-content: stretch;
  }
  .list-header-actions .primary-button,
  .list-header-actions .search-input {
    width: 100%;
    max-width: none;
  }
}

/* Schedule calendar */
.schedule-view {
  display: grid;
  gap: 18px;
}
.schedule-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  align-items: start;
}
.schedule-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 18px;
}
.schedule-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(118px, 1fr));
  gap: 10px;
}
.schedule-calendar-grid[data-view-mode="day"] {
  grid-template-columns: minmax(240px, 1fr);
}
.schedule-day {
  min-height: 172px;
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 8px;
  background: #1a2028;
}
.schedule-day header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.schedule-day header strong {
  color: #f5f7fb;
  font-size: .9rem;
}
.schedule-day header span {
  color: #9ba7b6;
  font-size: .76rem;
}
.schedule-event-chip {
  display: grid;
  gap: 3px;
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-left: 4px solid #28df86;
  border-radius: 8px;
  background: #222934;
}
.schedule-event-chip strong {
  color: #ffffff;
  font-size: .82rem;
  line-height: 1.2;
}
.schedule-event-chip span,
.schedule-event-chip em {
  color: #aeb8c7;
  font-size: .75rem;
  font-style: normal;
}
.schedule-event-chip.party { border-left-color: #ffb84d; }
.schedule-event-chip.competition { border-left-color: #ff5d73; }
.schedule-event-chip.event { border-left-color: #50a7ff; }
.schedule-event-chip.open-gym { border-left-color: #28df86; }
.schedule-event-chip.camp { border-left-color: #b889ff; }
.schedule-event-chip.class { border-left-color: #32d3c8; }
@media (max-width: 1180px) {
  .schedule-layout,
  .schedule-dashboard-grid {
    grid-template-columns: 1fr;
  }
  .schedule-calendar-grid {
    grid-template-columns: repeat(2, minmax(180px, 1fr));
  }
}
@media (max-width: 700px) {
  .schedule-calendar-grid {
    grid-template-columns: 1fr;
  }
}

/* Weekly and monthly schedule modes */
.schedule-calendar-grid[data-view-mode="week"] {
  grid-template-columns: repeat(7, minmax(118px, 1fr));
}
.schedule-calendar-grid[data-view-mode="month"] {
  grid-template-columns: repeat(7, minmax(106px, 1fr));
}
.schedule-calendar-grid[data-view-mode="month"] .schedule-day {
  min-height: 132px;
  padding: 10px;
}
.schedule-calendar-grid[data-view-mode="month"] .schedule-event-chip {
  padding: 6px;
}
.schedule-calendar-grid[data-view-mode="month"] .schedule-event-chip strong {
  font-size: .76rem;
}
.schedule-day.outside-month {
  opacity: .45;
  background: #151a21;
}
@media (max-width: 1180px) {
  .schedule-calendar-grid[data-view-mode="month"],
  .schedule-calendar-grid[data-view-mode="week"] {
    grid-template-columns: repeat(2, minmax(180px, 1fr));
  }
}
@media (max-width: 700px) {
  .schedule-calendar-grid[data-view-mode="month"],
  .schedule-calendar-grid[data-view-mode="week"] {
    grid-template-columns: 1fr;
  }
}



/* Schedule month navigation */
.schedule-calendar-header {
  align-items: center;
}
.schedule-month-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}
.schedule-month-controls strong {
  min-width: 120px;
  text-align: center;
  color: #f5f7fb;
  font-size: .95rem;
}
.schedule-month-controls .secondary-button {
  min-height: 36px;
  padding-inline: 12px;
}
@media (max-width: 760px) {
  .schedule-calendar-header,
  .schedule-month-controls {
    align-items: stretch;
  }
  .schedule-month-controls,
  .schedule-month-controls .secondary-button,
  .schedule-month-controls strong {
    width: 100%;
  }
}

/* Reference-style schedule calendar board */
.schedule-calendar-board {
  padding: 0;
  overflow: hidden;
  background: #17181d;
  border-color: #2a2d35;
  box-shadow: none;
}
.schedule-calendar-board .schedule-tabs {
  display: flex;
  gap: 18px;
  padding: 12px 16px 10px;
  border-bottom: 1px solid #262932;
  background: #14151a;
}
.schedule-tabs button {
  min-height: 24px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  color: #8e95a3;
  font-size: .82rem;
  font-weight: 800;
}
.schedule-tabs button.is-active {
  color: #ffffff;
  box-shadow: inset 0 -2px 0 #ffffff;
}
.schedule-calendar-board .schedule-calendar-header {
  display: grid;
  grid-template-columns: auto minmax(220px, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 18px 18px 14px;
  border-bottom: 1px solid #262932;
  background: #1b1c22;
}
.schedule-date-badge {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  gap: 0;
  border: 1px solid #30343e;
  border-radius: 8px;
  background: #20222a;
  color: #f7f8fb;
}
.schedule-date-badge span {
  align-self: end;
  color: #aab0bd;
  font-size: .68rem;
  font-weight: 900;
  text-transform: uppercase;
}
.schedule-date-badge strong {
  align-self: start;
  font-size: 1.25rem;
  line-height: 1;
}
.schedule-title-block h3 {
  margin: 0;
  color: #ffffff;
  font-size: 1rem;
}
.schedule-title-block p {
  margin: 4px 0 0;
  color: #9aa1ae;
  font-size: .82rem;
}
.schedule-month-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.schedule-month-controls select,
.schedule-month-controls button {
  min-height: 34px;
  border: 1px solid #30343e;
  border-radius: 6px;
  background: #20222a;
  color: #f7f8fb;
  font-size: .8rem;
  font-weight: 850;
}
.schedule-month-controls .compact {
  padding-inline: 12px;
}
.schedule-month-controls .icon-button {
  width: 42px;
  overflow: hidden;
  color: transparent;
  position: relative;
}
.schedule-month-controls .icon-button::before {
  content: "Q";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #cfd4dd;
  font-weight: 900;
}
.schedule-weekday-row {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  border-bottom: 1px solid #262932;
  background: #181a20;
}
.schedule-weekday-row span {
  padding: 8px 10px;
  color: #858c99;
  font-size: .72rem;
  font-weight: 850;
  text-align: center;
}
.schedule-calendar-board .schedule-calendar-grid,
.schedule-calendar-board .schedule-calendar-grid[data-view-mode="week"],
.schedule-calendar-board .schedule-calendar-grid[data-view-mode="month"] {
  gap: 0;
  grid-template-columns: repeat(7, minmax(112px, 1fr));
  background: #262932;
  border-top: 0;
}
.schedule-calendar-board .schedule-day {
  min-height: 126px;
  border: 0;
  border-right: 1px solid #262932;
  border-bottom: 1px solid #262932;
  border-radius: 0;
  background: #1b1c22;
  padding: 8px;
  gap: 6px;
}
.schedule-calendar-board .schedule-calendar-grid[data-view-mode="week"] .schedule-day {
  min-height: 220px;
}
.schedule-calendar-board .schedule-day header {
  padding: 0 0 4px;
  border: 0;
}
.schedule-calendar-board .schedule-day header strong {
  color: #e7eaf0;
  font-size: .78rem;
}
.schedule-calendar-board .schedule-day header span {
  color: #777f8d;
  font-size: .68rem;
}
.schedule-calendar-board .mini-empty {
  margin: 2px 0 0;
  color: #5f6673;
  font-size: .72rem;
}
.schedule-calendar-board .schedule-event-chip {
  min-height: 24px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
  padding: 4px 6px;
  border: 1px solid rgba(255,255,255,.08);
  border-left: 3px solid rgba(255,255,255,.22);
  border-radius: 5px;
  background: #2b3342;
}
.schedule-calendar-board .schedule-event-chip strong,
.schedule-calendar-board .schedule-event-chip span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #ffffff;
  font-size: .7rem;
  line-height: 1.1;
}
.schedule-calendar-board .schedule-event-chip em {
  grid-column: 1 / -1;
  color: rgba(255,255,255,.62);
  font-size: .66rem;
  line-height: 1.1;
}
.schedule-calendar-board .schedule-event-chip.class { background: #234778; border-left-color: #5da2ff; }
.schedule-calendar-board .schedule-event-chip.event { background: #0d5f43; border-left-color: #2bd17f; }
.schedule-calendar-board .schedule-event-chip.party { background: #7a3f13; border-left-color: #ff9a3d; }
.schedule-calendar-board .schedule-event-chip.competition { background: #72234b; border-left-color: #f25ca2; }
.schedule-calendar-board .schedule-event-chip.open-gym { background: #4d3b87; border-left-color: #9b83ff; }
.schedule-calendar-board .schedule-event-chip.camp { background: #63501d; border-left-color: #e6bd42; }
.schedule-calendar-board .schedule-day.outside-month {
  opacity: 1;
  background: #17181d;
}
.schedule-calendar-board .schedule-day.outside-month header strong,
.schedule-calendar-board .schedule-day.outside-month header span {
  color: #5f6673;
}
@media (max-width: 1180px) {
  .schedule-calendar-board .schedule-calendar-header {
    grid-template-columns: auto 1fr;
  }
  .schedule-month-controls {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
  .schedule-calendar-board .schedule-calendar-grid,
  .schedule-calendar-board .schedule-calendar-grid[data-view-mode="week"],
  .schedule-calendar-board .schedule-calendar-grid[data-view-mode="month"],
  .schedule-weekday-row {
    grid-template-columns: repeat(2, minmax(180px, 1fr));
  }
}
@media (max-width: 700px) {
  .schedule-calendar-board .schedule-calendar-header {
    grid-template-columns: 1fr;
  }
  .schedule-date-badge {
    width: 100%;
  }
  .schedule-calendar-board .schedule-calendar-grid,
  .schedule-calendar-board .schedule-calendar-grid[data-view-mode="week"],
  .schedule-calendar-board .schedule-calendar-grid[data-view-mode="month"],
  .schedule-weekday-row {
    grid-template-columns: 1fr;
  }
}

/* Schedule search button cleanup */
.schedule-month-controls .icon-button {
  width: auto;
  overflow: visible;
  color: #f7f8fb;
  position: static;
  padding-inline: 12px;
}
.schedule-month-controls .icon-button::before {
  content: none;
}

/* Stable cursor behavior inside schedule calendar */
.schedule-calendar-board,
.schedule-calendar-board .schedule-calendar-grid,
.schedule-calendar-board .schedule-day,
.schedule-calendar-board .schedule-day *,
.schedule-calendar-board .mini-empty {
  cursor: default !important;
}
.schedule-calendar-board button,
.schedule-calendar-board select,
.schedule-calendar-board [role="button"],
.schedule-calendar-board [data-open-class-details],
.schedule-calendar-board .schedule-event-chip[role="button"],
.schedule-calendar-board .schedule-event-chip[role="button"] * {
  cursor: pointer !important;
}
.schedule-calendar-board button:disabled,
.schedule-calendar-board [aria-disabled="true"] {
  cursor: not-allowed !important;
}

/* Signed-in account chip */
.signed-in-card {
  display: grid;
  gap: 3px;
  margin-top: -14px;
  padding: 11px 12px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  background: rgba(255,255,255,.06);
}
.signed-in-card span {
  color: #9fb8af;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.signed-in-card strong {
  color: #ffffff;
  font-size: .92rem;
}
.signed-in-card p {
  margin: 0;
  color: #28df86;
  font-size: .78rem;
  font-weight: 850;
}

/* Compact signed-in account chip */
.signed-in-card {
  gap: 1px;
  margin-top: -18px;
  padding: 7px 9px;
  border-radius: 7px;
}
.signed-in-card span {
  font-size: .58rem;
}
.signed-in-card strong {
  font-size: .8rem;
  line-height: 1.15;
}
.signed-in-card p {
  font-size: .68rem;
  line-height: 1.15;
}

/* Name-only signed-in chip */
.signed-in-card {
  padding: 6px 9px;
}
.signed-in-card strong {
  font-size: .78rem;
}
.signed-in-card span,
.signed-in-card p {
  display: none;
}

/* Signed-in chip spacing from app icon */
.signed-in-card {
  margin-top: -6px;
}

/* Waiver workflow cards */
.form-builder-pin-panel {
  border-color: rgba(40, 223, 134, .45) !important;
}
.waivers-view .mini-row[data-open-student-account] {
  border-left: 4px solid #28df86;
}
.waivers-view .waiver-action-panel .mini-row[data-open-student-account] {
  border-left-color: #ff5d73;
}
.waivers-view .record-list .mini-row strong {
  color: #f7f8fb;
}

/* Waiver account tile workflow */
.waivers-view .mini-row[role="button"]::after {
  content: attr(data-action-label);
  justify-self: end;
  align-self: center;
  min-width: max-content;
  color: var(--brand-strong);
  font-size: .72rem;
  font-weight: 1000;
  text-transform: uppercase;
  opacity: .82;
}
.waivers-view .mini-row[role="button"]:not([data-action-label])::after {
  content: "Open";
}
.waivers-view .mini-row[data-open-parent-account] {
  border-left: 4px solid #62a8ff;
}
.waivers-view .mini-row[data-open-student-account] {
  border-left: 4px solid #28df86;
}
.waivers-view .checkin-card {
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.waivers-view .checkin-card:hover {
  border-color: rgba(40, 223, 134, .72) !important;
  box-shadow: 0 16px 34px rgba(40, 223, 134, .12);
  transform: translateY(-1px);
}
@media (max-width: 900px) {
  .waivers-view .mini-row[role="button"]::after {
    justify-self: start;
  }
}

/* Today classes eligibility tiles */
.class-eligibility-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap: 12px;
}
.class-eligibility-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-left: 5px solid rgba(40, 223, 134, .7);
  border-radius: 8px;
  background: var(--panel);
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.class-eligibility-card:hover,
.class-eligibility-card.is-expanded {
  border-color: rgba(40, 223, 134, .72);
  box-shadow: 0 16px 34px rgba(40, 223, 134, .12);
  transform: translateY(-1px);
}
.class-eligibility-card.yellow { border-left-color: #f6c044; }
.class-eligibility-card.red { border-left-color: #ff5d73; }
.class-eligibility-main {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
}
.class-eligibility-main div { display: grid; gap: 3px; min-width: 0; }
.class-eligibility-main strong { font-size: 1.05rem; color: var(--ink); }
.class-eligibility-main span,
.class-eligibility-card p { color: var(--muted); font-weight: 800; margin: 0; }
.class-eligibility-main b { font-size: 1.65rem; color: var(--brand-strong); }
.class-eligibility-issues { display: grid; gap: 8px; padding-top: 4px; }
.eligibility-issue-row {
  display: grid;
  grid-template-columns: minmax(140px, .7fr) minmax(220px, 1.4fr);
  gap: 12px;
  align-items: center;
  width: 100%;
  min-height: 46px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-left: 4px solid #f6c044;
  border-radius: 8px;
  background: rgba(255,255,255,.03);
  color: var(--ink);
  text-align: left;
}
.eligibility-issue-row.red { border-left-color: #ff5d73; }
.eligibility-issue-row span { color: var(--muted); font-weight: 800; }
.eligibility-class-issue {
  padding: 9px 11px;
  border: 1px solid rgba(255,93,115,.4);
  border-radius: 8px;
  color: #ffb6c1;
  font-weight: 900;
}
@media (max-width: 1100px) {
  .class-eligibility-grid,
  .eligibility-issue-row { grid-template-columns: 1fr; }
}

/* Class health command popup */
.class-health-card {
  position: relative;
  align-content: start;
}
.class-health-card.has-actions-open {
  z-index: 6;
}
.class-name-link {
  justify-self: start;
  border: 0;
  background: transparent;
  color: var(--ink);
  padding: 0;
  min-height: 0;
  font: inherit;
  font-size: 1.05rem;
  font-weight: 1000;
  text-align: left;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}
.class-name-link:hover {
  color: var(--brand-strong);
}
.class-action-popover {
  display: grid;
  gap: 12px;
  margin-top: 8px;
  padding: 12px;
  border: 1px solid rgba(40, 223, 134, .48);
  border-radius: 8px;
  background: #1b1c22;
  box-shadow: 0 18px 42px rgba(0,0,0,.32);
}
.class-action-popover-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.class-action-popover-head strong {
  color: var(--ink);
}
.class-action-popover-head button {
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: transparent;
  color: var(--muted);
  font-weight: 900;
}
.class-action-buttons {
  display: grid;
  grid-template-columns: repeat(2, minmax(130px, 1fr));
  gap: 8px;
}
.class-action-buttons button {
  width: 100%;
  justify-content: center;
}
.danger-button {
  min-height: 38px;
  border: 1px solid rgba(255,93,115,.55);
  border-radius: 8px;
  background: rgba(255,93,115,.16);
  color: #ffb6c1;
  font-weight: 1000;
}
.danger-button:hover {
  border-color: #ff5d73;
  background: rgba(255,93,115,.25);
}
@media (max-width: 720px) {
  .class-action-buttons {
    grid-template-columns: 1fr;
  }
}

/* Class health shared quick actions */
.class-health-grid .class-action-panel {
  grid-column: 1 / -1;
}
.class-action-panel .class-action-popover-head span {
  color: var(--muted);
  font-size: .84rem;
  font-weight: 900;
}
@media (min-width: 900px) {
  .class-action-panel .class-action-buttons {
    grid-template-columns: repeat(4, minmax(130px, 1fr));
  }
}

/* Class top command center */
.class-command-center {
  display: grid;
  grid-template-columns: minmax(320px, 1.35fr) minmax(240px, .85fr);
  gap: 12px;
}
.class-command-section {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255,255,255,.03);
}
.class-command-section.live-command {
  grid-row: span 3;
}
.command-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line);
}
.command-section-head h4 {
  margin: 0;
  font-size: .95rem;
}
.command-section-head span {
  color: var(--muted);
  font-size: .78rem;
  font-weight: 900;
}
.class-command-center .live-class-grid {
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  max-height: 520px;
  overflow: auto;
}
.class-command-center .skill-button-grid button,
.class-command-center .xp-buttons button {
  background: rgba(40, 223, 134, .08);
  border-color: rgba(40, 223, 134, .35);
}
@media (max-width: 1100px) {
  .class-command-center,
  .class-command-center .live-class-grid {
    grid-template-columns: 1fr;
  }
  .class-command-section.live-command {
    grid-row: auto;
  }
}

/* Selected student target inside live class mode */
.live-student-card[data-class-student] {
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.live-student-card[data-class-student]:hover {
  border-color: rgba(40, 223, 134, .65) !important;
  transform: translateY(-1px);
}
.live-student-card.is-selected {
  border-color: #28df86 !important;
  box-shadow: 0 0 0 3px rgba(40, 223, 134, .16), var(--shadow);
}
.live-student-card small {
  color: var(--brand-strong);
  font-size: .76rem;
  font-weight: 1000;
}

/* Live mode locked/active behavior */
.class-command-section.is-locked {
  opacity: .78;
  border-style: dashed;
}
.class-command-section.is-active {
  border-color: rgba(40, 223, 134, .7) !important;
  box-shadow: 0 0 0 3px rgba(40, 223, 134, .12), var(--shadow);
}
.class-command-center button:disabled,
.class-command-center button[aria-disabled="true"] {
  opacity: .42;
  cursor: not-allowed !important;
  filter: grayscale(.45);
}
.class-command-center .live-command.is-locked .live-student-card:not(.is-selected) {
  opacity: .86;
}

/* Earned skill state in live class mode */
.class-command-center .skill-button-grid button.is-earned {
  background: rgba(40, 223, 134, .24) !important;
  border-color: #28df86 !important;
  color: #dfffea !important;
  box-shadow: inset 0 0 0 1px rgba(40, 223, 134, .28);
}
.class-command-center .skill-button-grid button.is-earned:disabled {
  opacity: .82;
  filter: none;
}

/* Rank progression pills on live student cards */
.live-student-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.rank-progress-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--line);
  font-size: .72rem;
  font-weight: 1000;
  white-space: nowrap;
}
.rank-progress-pill.ready {
  background: rgba(40, 223, 134, .18);
  border-color: rgba(40, 223, 134, .62);
  color: #9af7c5;
}
.rank-progress-pill.needed {
  background: rgba(255, 202, 58, .15);
  border-color: rgba(255, 202, 58, .62);
  color: #ffe49a;
}
@media (max-width: 560px) {
  .live-student-head {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Batch attendance popup inside selected class workflow */
.attendance-batch-panel {
  grid-column: 1 / -1;
  border-color: rgba(40, 223, 134, .62) !important;
  background: linear-gradient(180deg, rgba(40, 223, 134, .08), rgba(255, 255, 255, .03)), var(--tile);
  box-shadow: 0 16px 42px rgba(0, 0, 0, .28), 0 0 0 3px rgba(40, 223, 134, .1);
}
.attendance-batch-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 8px;
  max-height: 360px;
  overflow: auto;
  padding-right: 3px;
}
.attendance-batch-row {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 58px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, .04);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.attendance-batch-row:hover {
  border-color: rgba(40, 223, 134, .55);
  background: rgba(40, 223, 134, .08);
}
.attendance-batch-row.is-present {
  border-color: rgba(40, 223, 134, .75);
  background: rgba(40, 223, 134, .12);
}
.attendance-batch-row strong,
.attendance-batch-row small {
  grid-column: 2;
}
.attendance-batch-row small {
  color: var(--muted);
  font-size: .82rem;
  font-weight: 800;
}
.attendance-check {
  display: inline-grid;
  grid-row: 1 / span 2;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, .05);
  color: transparent;
  font-weight: 1000;
}
.attendance-batch-row.is-present .attendance-check {
  border-color: #28df86;
  background: #28df86;
  color: #07100d;
}
.attendance-batch-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
@media (max-width: 720px) {
  .attendance-batch-list { grid-template-columns: 1fr; }
}

/* Birthday party booking */
.party-booking-form { border-top: 3px solid #ff9a3d; }
.party-booking-form .form-grid { grid-template-columns: repeat(4, minmax(170px, 1fr)); }
.party-policy-check {
  align-items: center;
  background: #322312;
  border: 1px solid #a96926;
  border-radius: 6px;
  color: #fff2dc;
  display: flex;
  flex-direction: row;
  gap: 12px;
  padding: 14px 16px;
}
.party-policy-check input { accent-color: #ff9a3d; flex: 0 0 auto; height: 20px; margin: 0; width: 20px; }
.party-booking-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.party-book-button { border-color: #ff9a3d; color: #ffd19d; }
.party-bookings-panel { grid-column: 1 / -1; }
.schedule-booking-status { color: #ffd19d; display: block; font-size: 11px; margin-top: 3px; }
@media (max-width: 1200px) { .party-booking-form .form-grid { grid-template-columns: repeat(2, minmax(180px, 1fr)); } }
@media (max-width: 700px) {
  .party-booking-form .form-grid { grid-template-columns: 1fr; }
  .party-booking-actions > button { width: 100%; }
}


/* Condensed Admin Billing reports */
.admin-billing-workspace { display: grid; grid-template-columns: minmax(280px, 360px) minmax(0, 1fr); gap: 16px; align-items: start; }
.admin-report-directory, .admin-report-detail-panel, .admin-ai-panel { background: var(--panel); }
.admin-report-list { display: grid; gap: 6px; max-height: 620px; overflow: auto; padding-right: 4px; }
.admin-report-row { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 10px; text-align: left; border: 1px solid var(--line); border-radius: 8px; background: #20232a; color: var(--ink); padding: 10px 12px; cursor: pointer; }
.admin-report-row span { font-weight: 900; }
.admin-report-row em { font-style: normal; color: var(--accent); font-size: .78rem; font-weight: 900; }
.admin-report-row small { grid-column: 1 / -1; color: var(--muted); line-height: 1.35; display: none; }
.admin-report-row:hover, .admin-report-row:focus-visible, .admin-report-row.is-selected { border-color: var(--accent); background: #262b35; outline: none; }
.admin-report-row:hover small, .admin-report-row:focus-visible small { display: block; }
.admin-report-detail { display: grid; gap: 10px; }
.admin-report-detail-row { display: grid; grid-template-columns: minmax(180px, .35fr) minmax(0, 1fr); gap: 12px; border: 1px solid var(--line); border-radius: 8px; background: #20232a; padding: 12px; }
.admin-report-detail-row strong { color: var(--ink); }
.admin-report-detail-row span { color: var(--muted); font-weight: 800; line-height: 1.45; }
.admin-ai-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.admin-ai-form input { min-height: 44px; border: 1px solid var(--line); border-radius: 8px; background: #20232a; color: var(--ink); padding: 0 12px; font-weight: 800; }
.admin-ai-answer { display: grid; gap: 10px; margin-top: 12px; border: 1px solid var(--line); border-radius: 8px; background: #20232a; padding: 14px; }
.admin-ai-answer strong { color: var(--accent); }
.admin-ai-answer p { margin: 0 0 8px; color: var(--ink); line-height: 1.5; }
.admin-ai-answer small { color: var(--muted); line-height: 1.4; }
@media (max-width: 1050px) { .admin-billing-workspace, .admin-ai-form { grid-template-columns: 1fr; } .admin-report-detail-row { grid-template-columns: 1fr; } }

.admin-report-row * { pointer-events: none; }
.admin-report-row[aria-pressed="true"] { box-shadow: inset 3px 0 0 var(--accent); }


/* Native Admin Billing report selector */
.admin-native-directory { display: grid; gap: 12px; }
.admin-native-report-list { display: grid; gap: 8px; }
.admin-native-report { border: 1px solid var(--line); border-radius: 8px; background: #20232a; overflow: hidden; }
.admin-native-report[open] { border-color: var(--accent); box-shadow: inset 3px 0 0 var(--accent); }
.admin-native-report summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; padding: 12px 14px; cursor: pointer; list-style: none; }
.admin-native-report summary::-webkit-details-marker { display: none; }
.admin-native-report summary span { color: var(--ink); font-weight: 900; }
.admin-native-report summary em { color: var(--accent); font-style: normal; font-size: .78rem; font-weight: 900; }
.admin-native-report summary small { display: none; grid-column: 1 / -1; color: var(--muted); line-height: 1.35; }
.admin-native-report summary:hover small, .admin-native-report summary:focus-visible small { display: block; }
.admin-native-report-body { border-top: 1px solid var(--line); padding: 12px 14px 14px; color: var(--muted); font-weight: 800; line-height: 1.5; }


/* Single-select Admin Billing report tabs */
.admin-tab-directory { display: grid; gap: 12px; }
.admin-report-tab-system { display: grid; gap: 14px; }
.admin-report-tab-system > input { position: absolute; opacity: 0; pointer-events: none; }
.admin-report-tab-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 8px; }
.admin-report-tab-label { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px; border: 1px solid var(--line); border-radius: 8px; background: #20232a; padding: 11px 12px; cursor: pointer; }
.admin-report-tab-label span { color: var(--ink); font-weight: 900; }
.admin-report-tab-label em { color: var(--accent); font-style: normal; font-size: .78rem; font-weight: 900; }
.admin-report-tab-label small { display: none; grid-column: 1 / -1; color: var(--muted); line-height: 1.35; }
.admin-report-tab-label:hover, .admin-report-tab-label:focus-visible { border-color: var(--accent); background: #262b35; }
.admin-report-tab-label:hover small, .admin-report-tab-label:focus-visible small { display: block; }
.admin-selected-report-tabs { border-top: 1px solid var(--line); padding-top: 14px; }
.admin-report-pane { display: none; border: 1px solid var(--accent); border-radius: 8px; background: #20232a; padding: 16px; box-shadow: inset 3px 0 0 var(--accent); }
.admin-report-pane-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.admin-report-pane-grid div { border: 1px solid var(--line); border-radius: 8px; background: #181a20; padding: 12px; display: grid; gap: 7px; }
.admin-report-pane-grid strong { color: var(--ink); }
.admin-report-pane-grid span { color: var(--muted); font-weight: 800; line-height: 1.45; }
#admin-report-revenue-snapshot:checked ~ .admin-report-tab-list label[for="admin-report-revenue-snapshot"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#admin-report-revenue-snapshot:checked ~ .admin-selected-report-tabs [data-report-pane="revenue-snapshot"] { display: block; }
#admin-report-accounts-receivable:checked ~ .admin-report-tab-list label[for="admin-report-accounts-receivable"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#admin-report-accounts-receivable:checked ~ .admin-selected-report-tabs [data-report-pane="accounts-receivable"] { display: block; }
#admin-report-membership-management:checked ~ .admin-report-tab-list label[for="admin-report-membership-management"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#admin-report-membership-management:checked ~ .admin-selected-report-tabs [data-report-pane="membership-management"] { display: block; }
#admin-report-household-billing:checked ~ .admin-report-tab-list label[for="admin-report-household-billing"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#admin-report-household-billing:checked ~ .admin-selected-report-tabs [data-report-pane="household-billing"] { display: block; }
#admin-report-invoices:checked ~ .admin-report-tab-list label[for="admin-report-invoices"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#admin-report-invoices:checked ~ .admin-selected-report-tabs [data-report-pane="invoices"] { display: block; }
#admin-report-payment-processing:checked ~ .admin-report-tab-list label[for="admin-report-payment-processing"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#admin-report-payment-processing:checked ~ .admin-selected-report-tabs [data-report-pane="payment-processing"] { display: block; }
#admin-report-failed-payment-center:checked ~ .admin-report-tab-list label[for="admin-report-failed-payment-center"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#admin-report-failed-payment-center:checked ~ .admin-selected-report-tabs [data-report-pane="failed-payment-center"] { display: block; }
#admin-report-membership-lifecycle:checked ~ .admin-report-tab-list label[for="admin-report-membership-lifecycle"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#admin-report-membership-lifecycle:checked ~ .admin-selected-report-tabs [data-report-pane="membership-lifecycle"] { display: block; }
#admin-report-cancellations:checked ~ .admin-report-tab-list label[for="admin-report-cancellations"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#admin-report-cancellations:checked ~ .admin-selected-report-tabs [data-report-pane="cancellations"] { display: block; }
#admin-report-discounts-promotions:checked ~ .admin-report-tab-list label[for="admin-report-discounts-promotions"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#admin-report-discounts-promotions:checked ~ .admin-selected-report-tabs [data-report-pane="discounts-promotions"] { display: block; }
#admin-report-payment-plans:checked ~ .admin-report-tab-list label[for="admin-report-payment-plans"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#admin-report-payment-plans:checked ~ .admin-selected-report-tabs [data-report-pane="payment-plans"] { display: block; }
#admin-report-credits-store-credit:checked ~ .admin-report-tab-list label[for="admin-report-credits-store-credit"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#admin-report-credits-store-credit:checked ~ .admin-selected-report-tabs [data-report-pane="credits-store-credit"] { display: block; }
#admin-report-scholarships:checked ~ .admin-report-tab-list label[for="admin-report-scholarships"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#admin-report-scholarships:checked ~ .admin-selected-report-tabs [data-report-pane="scholarships"] { display: block; }
#admin-report-family-financial-health:checked ~ .admin-report-tab-list label[for="admin-report-family-financial-health"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#admin-report-family-financial-health:checked ~ .admin-selected-report-tabs [data-report-pane="family-financial-health"] { display: block; }
#admin-report-revenue-by-coach:checked ~ .admin-report-tab-list label[for="admin-report-revenue-by-coach"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#admin-report-revenue-by-coach:checked ~ .admin-selected-report-tabs [data-report-pane="revenue-by-coach"] { display: block; }
#admin-report-camp-billing:checked ~ .admin-report-tab-list label[for="admin-report-camp-billing"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#admin-report-camp-billing:checked ~ .admin-selected-report-tabs [data-report-pane="camp-billing"] { display: block; }
#admin-report-retail-pro-shop:checked ~ .admin-report-tab-list label[for="admin-report-retail-pro-shop"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#admin-report-retail-pro-shop:checked ~ .admin-selected-report-tabs [data-report-pane="retail-pro-shop"] { display: block; }
#admin-report-tax-reporting:checked ~ .admin-report-tab-list label[for="admin-report-tax-reporting"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#admin-report-tax-reporting:checked ~ .admin-selected-report-tabs [data-report-pane="tax-reporting"] { display: block; }
#admin-report-accounting-integration:checked ~ .admin-report-tab-list label[for="admin-report-accounting-integration"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#admin-report-accounting-integration:checked ~ .admin-selected-report-tabs [data-report-pane="accounting-integration"] { display: block; }
#admin-report-automation-center:checked ~ .admin-report-tab-list label[for="admin-report-automation-center"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#admin-report-automation-center:checked ~ .admin-selected-report-tabs [data-report-pane="automation-center"] { display: block; }
#admin-report-billing-settings:checked ~ .admin-report-tab-list label[for="admin-report-billing-settings"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#admin-report-billing-settings:checked ~ .admin-selected-report-tabs [data-report-pane="billing-settings"] { display: block; }
#admin-report-billing-edge-cases:checked ~ .admin-report-tab-list label[for="admin-report-billing-edge-cases"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#admin-report-billing-edge-cases:checked ~ .admin-selected-report-tabs [data-report-pane="billing-edge-cases"] { display: block; }
#admin-report-revenue-at-risk:checked ~ .admin-report-tab-list label[for="admin-report-revenue-at-risk"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#admin-report-revenue-at-risk:checked ~ .admin-selected-report-tabs [data-report-pane="revenue-at-risk"] { display: block; }
#admin-report-clientele-demographics:checked ~ .admin-report-tab-list label[for="admin-report-clientele-demographics"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#admin-report-clientele-demographics:checked ~ .admin-selected-report-tabs [data-report-pane="clientele-demographics"] { display: block; }
@media (max-width: 900px) { .admin-report-pane-grid { grid-template-columns: 1fr; } }


/* Admin Billing fake report tables */
.admin-report-fake-data { margin-top: 14px; overflow-x: auto; border: 1px solid var(--line); border-radius: 8px; background: #181a20; }
.admin-report-fake-data table { width: 100%; border-collapse: collapse; min-width: 620px; }
.admin-report-fake-data th, .admin-report-fake-data td { padding: 11px 12px; border-bottom: 1px solid var(--line); text-align: left; }
.admin-report-fake-data th { color: var(--accent); font-size: .78rem; text-transform: uppercase; letter-spacing: 0; background: #20232a; }
.admin-report-fake-data td { color: var(--ink); font-weight: 800; }
.admin-report-fake-data tr:last-child td { border-bottom: 0; }


/* Clean Attendance workflow */
.attendance-workflow-grid { display: grid; grid-template-columns: minmax(280px, 360px) minmax(0, 1fr); gap: 16px; align-items: start; }
.attendance-class-system, .attendance-report-system { display: grid; gap: 12px; }
.attendance-class-system > input, .attendance-report-system > input { position: absolute; opacity: 0; pointer-events: none; }
.attendance-class-list, .attendance-action-list { display: grid; gap: 8px; }
.attendance-class-label, .attendance-report-label { display: grid; gap: 4px; border: 1px solid var(--line); border-radius: 8px; background: #20232a; padding: 11px 12px; cursor: pointer; }
.attendance-class-label strong, .attendance-report-label span { color: var(--ink); font-weight: 900; }
.attendance-class-label span, .attendance-class-label em, .attendance-report-label small { color: var(--muted); font-style: normal; font-weight: 800; line-height: 1.35; }
.attendance-class-label:hover, .attendance-report-label:hover { border-color: var(--accent); background: #262b35; }
.attendance-class-pane { display: none; }
.attendance-roster-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.attendance-roster-list div, .attendance-report-data { border: 1px solid var(--line); border-radius: 8px; background: #181a20; padding: 12px; display: grid; gap: 7px; color: var(--muted); font-weight: 800; line-height: 1.45; }
.attendance-roster-list strong { color: var(--ink); }
.attendance-batch-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.attendance-batch-grid label, .attendance-batch-grid button, .attendance-action-row button { border: 1px solid var(--line); border-radius: 8px; background: #20232a; color: var(--ink); padding: 10px; font-weight: 900; cursor: pointer; }
.attendance-batch-grid button, .attendance-action-row button { border-color: var(--accent); color: var(--accent); }
.attendance-action-row { display: flex; justify-content: space-between; gap: 12px; align-items: center; border: 1px solid var(--line); border-radius: 8px; background: #20232a; padding: 12px; }
.attendance-action-row div { display: grid; gap: 4px; }
.attendance-action-row strong { color: var(--ink); }
.attendance-action-row span { color: var(--muted); font-weight: 800; }
.attendance-report-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 8px; }
.attendance-selected-report-tabs { border-top: 1px solid var(--line); padding-top: 14px; }
.attendance-report-pane { display: none; border: 1px solid var(--accent); border-radius: 8px; background: #20232a; padding: 16px; box-shadow: inset 3px 0 0 var(--accent); }
#attendance-class-little-ninjas:checked ~ .attendance-class-list label[for="attendance-class-little-ninjas"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#attendance-pane-class-little-ninjas:checked ~ .attendance-class-pane-wrap [data-attendance-class-pane="little-ninjas"] { display: block; }
#attendance-class-beginner:checked ~ .attendance-class-list label[for="attendance-class-beginner"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#attendance-pane-class-beginner:checked ~ .attendance-class-pane-wrap [data-attendance-class-pane="beginner"] { display: block; }
#attendance-class-intermediate:checked ~ .attendance-class-list label[for="attendance-class-intermediate"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#attendance-pane-class-intermediate:checked ~ .attendance-class-pane-wrap [data-attendance-class-pane="intermediate"] { display: block; }
#attendance-class-open-gym:checked ~ .attendance-class-list label[for="attendance-class-open-gym"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#attendance-pane-class-open-gym:checked ~ .attendance-class-pane-wrap [data-attendance-class-pane="open-gym"] { display: block; }
#attendance-report-student:checked ~ .attendance-report-list label[for="attendance-report-student"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#attendance-report-student:checked ~ .attendance-selected-report-tabs [data-attendance-report-pane="student"] { display: block; }
#attendance-report-program:checked ~ .attendance-report-list label[for="attendance-report-program"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#attendance-report-program:checked ~ .attendance-selected-report-tabs [data-attendance-report-pane="program"] { display: block; }
#attendance-report-coach:checked ~ .attendance-report-list label[for="attendance-report-coach"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#attendance-report-coach:checked ~ .attendance-selected-report-tabs [data-attendance-report-pane="coach"] { display: block; }
#attendance-report-no-shows:checked ~ .attendance-report-list label[for="attendance-report-no-shows"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#attendance-report-no-shows:checked ~ .attendance-selected-report-tabs [data-attendance-report-pane="no-shows"] { display: block; }
#attendance-report-trial:checked ~ .attendance-report-list label[for="attendance-report-trial"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#attendance-report-trial:checked ~ .attendance-selected-report-tabs [data-attendance-report-pane="trial"] { display: block; }
#attendance-report-makeups:checked ~ .attendance-report-list label[for="attendance-report-makeups"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#attendance-report-makeups:checked ~ .attendance-selected-report-tabs [data-attendance-report-pane="makeups"] { display: block; }
#attendance-report-heat:checked ~ .attendance-report-list label[for="attendance-report-heat"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#attendance-report-heat:checked ~ .attendance-selected-report-tabs [data-attendance-report-pane="heat"] { display: block; }
#attendance-report-rank:checked ~ .attendance-report-list label[for="attendance-report-rank"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#attendance-report-rank:checked ~ .attendance-selected-report-tabs [data-attendance-report-pane="rank"] { display: block; }
#attendance-report-risk:checked ~ .attendance-report-list label[for="attendance-report-risk"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#attendance-report-risk:checked ~ .attendance-selected-report-tabs [data-attendance-report-pane="risk"] { display: block; }
@media (max-width: 1050px) { .attendance-workflow-grid, .attendance-roster-list, .attendance-batch-grid { grid-template-columns: 1fr; } .attendance-action-row { align-items: stretch; flex-direction: column; } }

.attendance-class-console-grid { grid-template-columns: minmax(280px, 360px) minmax(0, 1fr); align-items: start; gap: 16px; }
@media (max-width: 1050px) { .attendance-class-console-grid { grid-template-columns: 1fr; } }


/* Clean Progression / Ranks workflow */
.progress-work-console, .progress-builder-panel, .progress-report-directory { display: grid; gap: 12px; }
.progress-student-system { display: grid; grid-template-columns: minmax(280px, 360px) minmax(0, 1fr); gap: 16px; align-items: start; }
.progress-student-system > input, .progress-report-system > input { position: absolute; opacity: 0; pointer-events: none; }
.progress-student-list, .progress-test-list, .progress-report-list { display: grid; gap: 8px; }
.progress-student-label, .progress-report-label, .progress-test-row, .progress-builder-card { border: 1px solid var(--line); border-radius: 8px; background: #20232a; padding: 12px; }
.progress-student-label, .progress-report-label { cursor: pointer; display: grid; gap: 4px; }
.progress-student-label strong, .progress-report-label span, .progress-test-row strong, .progress-builder-card strong { color: var(--ink); font-weight: 900; }
.progress-student-label span, .progress-student-label em, .progress-report-label small, .progress-test-row span, .progress-builder-card span, .progress-builder-card em { color: var(--muted); font-style: normal; font-weight: 800; line-height: 1.35; }
.progress-student-label:hover, .progress-report-label:hover { border-color: var(--accent); background: #262b35; }
.progress-student-pane, .progress-report-pane { display: none; border: 1px solid var(--accent); border-radius: 8px; background: #20232a; padding: 16px; box-shadow: inset 3px 0 0 var(--accent); }
.progress-detail-grid, .progress-builder-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.progress-detail-grid div, .progress-report-data { border: 1px solid var(--line); border-radius: 8px; background: #181a20; padding: 12px; display: grid; gap: 7px; color: var(--muted); font-weight: 800; line-height: 1.45; }
.progress-detail-grid strong { color: var(--ink); }
.progress-action-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.progress-action-row button, .progress-test-row button { border: 1px solid var(--accent); border-radius: 8px; background: #20232a; color: var(--accent); padding: 10px; font-weight: 900; cursor: pointer; }
.progress-test-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.progress-builder-card { display: grid; gap: 6px; }
.progress-report-list { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.progress-selected-report-tabs { border-top: 1px solid var(--line); padding-top: 14px; }
#progress-student-liam:checked ~ .progress-student-list label[for="progress-student-liam"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#progress-student-liam:checked ~ .progress-student-pane-wrap [data-progress-student-pane="liam"] { display: block; }
#progress-student-ava:checked ~ .progress-student-list label[for="progress-student-ava"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#progress-student-ava:checked ~ .progress-student-pane-wrap [data-progress-student-pane="ava"] { display: block; }
#progress-student-ethan:checked ~ .progress-student-list label[for="progress-student-ethan"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#progress-student-ethan:checked ~ .progress-student-pane-wrap [data-progress-student-pane="ethan"] { display: block; }
#progress-student-noah:checked ~ .progress-student-list label[for="progress-student-noah"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#progress-student-noah:checked ~ .progress-student-pane-wrap [data-progress-student-pane="noah"] { display: block; }
#progress-student-sophia:checked ~ .progress-student-list label[for="progress-student-sophia"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#progress-student-sophia:checked ~ .progress-student-pane-wrap [data-progress-student-pane="sophia"] { display: block; }
#progress-report-student:checked ~ .progress-report-list label[for="progress-report-student"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#progress-report-student:checked ~ .progress-selected-report-tabs [data-progress-report-pane="student"] { display: block; }
#progress-report-class:checked ~ .progress-report-list label[for="progress-report-class"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#progress-report-class:checked ~ .progress-selected-report-tabs [data-progress-report-pane="class"] { display: block; }
#progress-report-pipeline:checked ~ .progress-report-list label[for="progress-report-pipeline"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#progress-report-pipeline:checked ~ .progress-selected-report-tabs [data-progress-report-pane="pipeline"] { display: block; }
#progress-report-stalled:checked ~ .progress-report-list label[for="progress-report-stalled"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#progress-report-stalled:checked ~ .progress-selected-report-tabs [data-progress-report-pane="stalled"] { display: block; }
#progress-report-approvals:checked ~ .progress-report-list label[for="progress-report-approvals"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#progress-report-approvals:checked ~ .progress-selected-report-tabs [data-progress-report-pane="approvals"] { display: block; }
#progress-report-coverage:checked ~ .progress-report-list label[for="progress-report-coverage"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#progress-report-coverage:checked ~ .progress-selected-report-tabs [data-progress-report-pane="coverage"] { display: block; }
#progress-report-competition:checked ~ .progress-report-list label[for="progress-report-competition"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#progress-report-competition:checked ~ .progress-selected-report-tabs [data-progress-report-pane="competition"] { display: block; }
#progress-report-xp:checked ~ .progress-report-list label[for="progress-report-xp"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#progress-report-xp:checked ~ .progress-selected-report-tabs [data-progress-report-pane="xp"] { display: block; }
#progress-report-tracks:checked ~ .progress-report-list label[for="progress-report-tracks"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#progress-report-tracks:checked ~ .progress-selected-report-tabs [data-progress-report-pane="tracks"] { display: block; }
@media (max-width: 1050px) { .progress-student-system, .progress-detail-grid, .progress-builder-grid, .progress-action-row { grid-template-columns: 1fr; } .progress-test-row { align-items: stretch; flex-direction: column; } }


/* Rank Builder screen */
.progress-builder-card-action { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.progress-builder-card-action div { display: grid; gap: 6px; }
.rank-builder-view { display: grid; gap: 16px; }
.rank-builder-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.rank-builder-summary-grid article { border: 1px solid var(--line); border-radius: 8px; background: #20232a; padding: 12px; display: grid; gap: 5px; }
.rank-builder-summary-grid span, .rank-builder-summary-grid em { color: var(--muted); font-style: normal; font-weight: 800; }
.rank-builder-summary-grid strong { color: var(--ink); font-size: 1.1rem; }
.rank-builder-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); gap: 16px; align-items: start; }
.rank-builder-form textarea { resize: vertical; min-height: 110px; }
.rank-builder-actions { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.rank-builder-actions button { border: 1px solid var(--accent); border-radius: 8px; background: #20232a; color: var(--accent); padding: 10px 12px; font-weight: 900; cursor: pointer; }
.rank-builder-list { display: grid; gap: 10px; }
.rank-builder-record { border: 1px solid var(--line); border-radius: 8px; background: #20232a; padding: 12px; display: grid; gap: 8px; }
.rank-builder-record strong { color: var(--ink); }
.rank-builder-record span, .rank-builder-record p { color: var(--muted); margin: 0; font-weight: 800; line-height: 1.45; }
.rank-builder-record b { color: var(--ink); }
@media (max-width: 1050px) { .rank-builder-layout, .rank-builder-summary-grid { grid-template-columns: 1fr; } .progress-builder-card-action { align-items: stretch; flex-direction: column; } }


/* Skill Builder screen */
.skill-builder-view { display: grid; gap: 16px; }
.skill-builder-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.skill-builder-summary-grid article { border: 1px solid var(--line); border-radius: 8px; background: #20232a; padding: 12px; display: grid; gap: 5px; }
.skill-builder-summary-grid span, .skill-builder-summary-grid em { color: var(--muted); font-style: normal; font-weight: 800; }
.skill-builder-summary-grid strong { color: var(--ink); font-size: 1.1rem; }
.skill-builder-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); gap: 16px; align-items: start; }
.skill-builder-form textarea { resize: vertical; min-height: 110px; }
.skill-builder-actions { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.skill-builder-actions button { border: 1px solid var(--accent); border-radius: 8px; background: #20232a; color: var(--accent); padding: 10px 12px; font-weight: 900; cursor: pointer; }
.skill-builder-list { display: grid; gap: 10px; }
.skill-builder-record { border: 1px solid var(--line); border-radius: 8px; background: #20232a; padding: 12px; display: grid; gap: 8px; }
.skill-builder-record strong { color: var(--ink); }
.skill-builder-record span, .skill-builder-record p { color: var(--muted); margin: 0; font-weight: 800; line-height: 1.45; }
.skill-builder-record b { color: var(--ink); }
@media (max-width: 1050px) { .skill-builder-layout, .skill-builder-summary-grid { grid-template-columns: 1fr; } }


/* Builder filtering, expansion, and editing */
.builder-list-controls { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; margin-bottom: 10px; }
.builder-list-controls input, .builder-list-controls select { border: 1px solid var(--line); border-radius: 8px; background: #20232a; color: var(--ink); padding: 10px 12px; font-weight: 800; }
.builder-expand-record { padding: 0; overflow: hidden; }
.builder-expand-record summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 12px; cursor: pointer; list-style: none; }
.builder-expand-record summary::-webkit-details-marker { display: none; }
.builder-expand-record[open] { border-color: var(--accent); box-shadow: inset 3px 0 0 var(--accent); }
.builder-expanded-body { border-top: 1px solid var(--line); padding: 12px; display: grid; gap: 8px; }
.builder-expanded-body button { justify-self: start; border: 1px solid var(--accent); border-radius: 8px; background: #20232a; color: var(--accent); padding: 9px 12px; font-weight: 900; cursor: pointer; }


/* Clean Today's Classes lower workflow */
.classes-operations-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.classes-workspace-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: 16px; }
.classes-live-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.class-management-panel { display: grid; gap: 12px; }
.class-tool-system { display: grid; gap: 14px; }
.class-tool-system > input { position: absolute; opacity: 0; pointer-events: none; }
.class-tool-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px; }
.class-tool-label { display: grid; gap: 4px; border: 1px solid var(--line); border-radius: 8px; background: #20232a; padding: 12px; cursor: pointer; }
.class-tool-label span { color: var(--ink); font-weight: 900; }
.class-tool-label small { color: var(--muted); font-weight: 800; line-height: 1.35; }
.class-tool-label:hover { border-color: var(--accent); background: #262b35; }
.class-tool-pane-wrap { border-top: 1px solid var(--line); padding-top: 14px; }
.class-tool-pane { display: none; border: 1px solid var(--accent); border-radius: 8px; background: #20232a; padding: 16px; box-shadow: inset 3px 0 0 var(--accent); }
.class-tool-data { border: 1px solid var(--line); border-radius: 8px; background: #181a20; padding: 12px; color: var(--muted); font-weight: 800; line-height: 1.45; }
#class-tool-templates:checked ~ .class-tool-list label[for="class-tool-templates"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#class-tool-templates:checked ~ .class-tool-pane-wrap [data-class-tool-pane="templates"] { display: block; }
#class-tool-waitlist:checked ~ .class-tool-list label[for="class-tool-waitlist"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#class-tool-waitlist:checked ~ .class-tool-pane-wrap [data-class-tool-pane="waitlist"] { display: block; }
#class-tool-substitute:checked ~ .class-tool-list label[for="class-tool-substitute"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#class-tool-substitute:checked ~ .class-tool-pane-wrap [data-class-tool-pane="substitute"] { display: block; }
#class-tool-capacity:checked ~ .class-tool-list label[for="class-tool-capacity"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#class-tool-capacity:checked ~ .class-tool-pane-wrap [data-class-tool-pane="capacity"] { display: block; }
#class-tool-revenue:checked ~ .class-tool-list label[for="class-tool-revenue"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#class-tool-revenue:checked ~ .class-tool-pane-wrap [data-class-tool-pane="revenue"] { display: block; }
#class-tool-recurring:checked ~ .class-tool-list label[for="class-tool-recurring"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#class-tool-recurring:checked ~ .class-tool-pane-wrap [data-class-tool-pane="recurring"] { display: block; }
#class-tool-makeups:checked ~ .class-tool-list label[for="class-tool-makeups"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#class-tool-makeups:checked ~ .class-tool-pane-wrap [data-class-tool-pane="makeups"] { display: block; }
#class-tool-analytics:checked ~ .class-tool-list label[for="class-tool-analytics"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#class-tool-analytics:checked ~ .class-tool-pane-wrap [data-class-tool-pane="analytics"] { display: block; }
@media (max-width: 1100px) { .classes-operations-grid, .classes-workspace-grid, .classes-live-grid { grid-template-columns: 1fr; } }

.classes-workspace-grid.single { grid-template-columns: 1fr; }
.classes-workspace-grid.single .class-detail { min-height: 220px; }


/* Clean Rewards workflow */
.quick-reward-panel, .reward-management-panel { display: grid; gap: 12px; }
.quick-reward-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; align-items: end; }
.quick-reward-grid label { display: grid; gap: 6px; color: var(--muted); font-weight: 900; }
.quick-reward-grid input, .quick-reward-grid select { border: 1px solid var(--line); border-radius: 8px; background: #20232a; color: var(--ink); padding: 10px 12px; font-weight: 800; }
.reward-tool-system { display: grid; gap: 14px; }
.reward-tool-system > input { position: absolute; opacity: 0; pointer-events: none; }
.reward-tool-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px; }
.reward-tool-label { display: grid; gap: 4px; border: 1px solid var(--line); border-radius: 8px; background: #20232a; padding: 12px; cursor: pointer; }
.reward-tool-label span { color: var(--ink); font-weight: 900; }
.reward-tool-label small { color: var(--muted); font-weight: 800; line-height: 1.35; }
.reward-tool-label:hover { border-color: var(--accent); background: #262b35; }
.reward-tool-pane-wrap { border-top: 1px solid var(--line); padding-top: 14px; }
.reward-tool-pane { display: none; border: 1px solid var(--accent); border-radius: 8px; background: #20232a; padding: 16px; box-shadow: inset 3px 0 0 var(--accent); }
.reward-tool-data { border: 1px solid var(--line); border-radius: 8px; background: #181a20; padding: 12px; color: var(--muted); font-weight: 800; line-height: 1.45; }
#reward-tool-catalog:checked ~ .reward-tool-list label[for="reward-tool-catalog"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#reward-tool-catalog:checked ~ .reward-tool-pane-wrap [data-reward-tool-pane="catalog"] { display: block; }
#reward-tool-requirements:checked ~ .reward-tool-list label[for="reward-tool-requirements"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#reward-tool-requirements:checked ~ .reward-tool-pane-wrap [data-reward-tool-pane="requirements"] { display: block; }
#reward-tool-inventory:checked ~ .reward-tool-list label[for="reward-tool-inventory"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#reward-tool-inventory:checked ~ .reward-tool-pane-wrap [data-reward-tool-pane="inventory"] { display: block; }
#reward-tool-history:checked ~ .reward-tool-list label[for="reward-tool-history"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#reward-tool-history:checked ~ .reward-tool-pane-wrap [data-reward-tool-pane="history"] { display: block; }
#reward-tool-notifications:checked ~ .reward-tool-list label[for="reward-tool-notifications"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#reward-tool-notifications:checked ~ .reward-tool-pane-wrap [data-reward-tool-pane="notifications"] { display: block; }
#reward-tool-milestones:checked ~ .reward-tool-list label[for="reward-tool-milestones"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#reward-tool-milestones:checked ~ .reward-tool-pane-wrap [data-reward-tool-pane="milestones"] { display: block; }
#reward-tool-seasonal:checked ~ .reward-tool-list label[for="reward-tool-seasonal"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#reward-tool-seasonal:checked ~ .reward-tool-pane-wrap [data-reward-tool-pane="seasonal"] { display: block; }
#reward-tool-leaderboard:checked ~ .reward-tool-list label[for="reward-tool-leaderboard"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#reward-tool-leaderboard:checked ~ .reward-tool-pane-wrap [data-reward-tool-pane="leaderboard"] { display: block; }
#reward-tool-authority:checked ~ .reward-tool-list label[for="reward-tool-authority"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#reward-tool-authority:checked ~ .reward-tool-pane-wrap [data-reward-tool-pane="authority"] { display: block; }
#reward-tool-surprise:checked ~ .reward-tool-list label[for="reward-tool-surprise"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#reward-tool-surprise:checked ~ .reward-tool-pane-wrap [data-reward-tool-pane="surprise"] { display: block; }
#reward-tool-budget:checked ~ .reward-tool-list label[for="reward-tool-budget"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#reward-tool-budget:checked ~ .reward-tool-pane-wrap [data-reward-tool-pane="budget"] { display: block; }
#reward-tool-analytics:checked ~ .reward-tool-list label[for="reward-tool-analytics"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#reward-tool-analytics:checked ~ .reward-tool-pane-wrap [data-reward-tool-pane="analytics"] { display: block; }
#reward-tool-wall:checked ~ .reward-tool-list label[for="reward-tool-wall"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#reward-tool-wall:checked ~ .reward-tool-pane-wrap [data-reward-tool-pane="wall"] { display: block; }
#reward-tool-edge:checked ~ .reward-tool-list label[for="reward-tool-edge"] { border-color: var(--accent); background: #262b35; box-shadow: inset 3px 0 0 var(--accent); }
#reward-tool-edge:checked ~ .reward-tool-pane-wrap [data-reward-tool-pane="edge"] { display: block; }
@media (max-width: 1100px) { .quick-reward-grid { grid-template-columns: 1fr; } }


/* Reward Builder screen */
.tool-inline-button { margin-top: 8px; justify-self: start; border: 1px solid var(--accent); border-radius: 8px; background: #20232a; color: var(--accent); padding: 8px 10px; font-weight: 900; cursor: pointer; }
.reward-builder-view { display: grid; gap: 16px; }
.reward-builder-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.reward-builder-summary-grid article { border: 1px solid var(--line); border-radius: 8px; background: #20232a; padding: 12px; display: grid; gap: 5px; }
.reward-builder-summary-grid span, .reward-builder-summary-grid em { color: var(--muted); font-style: normal; font-weight: 800; }
.reward-builder-summary-grid strong { color: var(--ink); font-size: 1.1rem; }
.reward-builder-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); gap: 16px; align-items: start; }
.reward-builder-form textarea { resize: vertical; min-height: 110px; }
.reward-builder-actions { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.reward-builder-actions button { border: 1px solid var(--accent); border-radius: 8px; background: #20232a; color: var(--accent); padding: 10px 12px; font-weight: 900; cursor: pointer; }
.reward-builder-list { display: grid; gap: 10px; }
.reward-builder-record { border: 1px solid var(--line); border-radius: 8px; background: #20232a; }
.reward-builder-record strong { color: var(--ink); }
.reward-builder-record span, .reward-builder-record p { color: var(--muted); margin: 0; font-weight: 800; line-height: 1.45; }
.reward-builder-record b { color: var(--ink); }
@media (max-width: 1050px) { .reward-builder-layout, .reward-builder-summary-grid { grid-template-columns: 1fr; } }


.reward-tools-hero,
.reward-tool-nav-panel,
.reward-work-pane { border-color: rgba(148, 163, 184, 0.18); }
.reward-tools-summary-grid,
.reward-card-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.reward-tools-summary-grid article,
.reward-card-row article { display: grid; gap: 4px; padding: 12px; border: 1px solid rgba(148, 163, 184, 0.18); background: rgba(255, 255, 255, 0.045); border-radius: 8px; }
.reward-tools-summary-grid span,
.reward-card-row span { color: var(--muted); font-size: 0.78rem; }
.reward-tools-summary-grid strong,
.reward-card-row strong { color: var(--text); font-size: 1.15rem; }
.reward-tools-summary-grid em { color: var(--muted); font-size: 0.74rem; font-style: normal; }
.reward-tools-layout { display: grid; grid-template-columns: 310px minmax(0, 1fr); gap: 14px; align-items: start; }
.reward-work-tabs { display: grid; gap: 7px; }
.reward-work-tabs input { position: absolute; opacity: 0; pointer-events: none; }
.reward-work-tabs label { display: flex; align-items: center; min-height: 36px; padding: 8px 10px; border: 1px solid rgba(148, 163, 184, 0.16); background: rgba(255, 255, 255, 0.04); border-radius: 8px; color: var(--text); font-weight: 700; font-size: 0.82rem; cursor: pointer; }
.reward-work-tabs label:hover,
#reward-tools-requirements:checked ~ label[for="reward-tools-requirements"],
#reward-tools-inventory:checked ~ label[for="reward-tools-inventory"],
#reward-tools-history:checked ~ label[for="reward-tools-history"],
#reward-tools-notifications:checked ~ label[for="reward-tools-notifications"],
#reward-tools-milestones:checked ~ label[for="reward-tools-milestones"],
#reward-tools-seasonal:checked ~ label[for="reward-tools-seasonal"],
#reward-tools-leaderboard:checked ~ label[for="reward-tools-leaderboard"],
#reward-tools-authority:checked ~ label[for="reward-tools-authority"],
#reward-tools-surprise:checked ~ label[for="reward-tools-surprise"],
#reward-tools-budget:checked ~ label[for="reward-tools-budget"],
#reward-tools-analytics:checked ~ label[for="reward-tools-analytics"],
#reward-tools-wall:checked ~ label[for="reward-tools-wall"],
#reward-tools-edge:checked ~ label[for="reward-tools-edge"] { border-color: rgba(56, 189, 248, 0.55); background: rgba(56, 189, 248, 0.13); color: #e0f2fe; }
.reward-tool-shortcuts { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.reward-work-pane-stack { display: grid; }
.reward-work-pane { display: none; }
.reward-tools-layout:has(#reward-tools-requirements:checked) .reward-work-pane[data-tool="requirements"],
.reward-tools-layout:has(#reward-tools-inventory:checked) .reward-work-pane[data-tool="inventory"],
.reward-tools-layout:has(#reward-tools-history:checked) .reward-work-pane[data-tool="history"],
.reward-tools-layout:has(#reward-tools-notifications:checked) .reward-work-pane[data-tool="notifications"],
.reward-tools-layout:has(#reward-tools-milestones:checked) .reward-work-pane[data-tool="milestones"],
.reward-tools-layout:has(#reward-tools-seasonal:checked) .reward-work-pane[data-tool="seasonal"],
.reward-tools-layout:has(#reward-tools-leaderboard:checked) .reward-work-pane[data-tool="leaderboard"],
.reward-tools-layout:has(#reward-tools-authority:checked) .reward-work-pane[data-tool="authority"],
.reward-tools-layout:has(#reward-tools-surprise:checked) .reward-work-pane[data-tool="surprise"],
.reward-tools-layout:has(#reward-tools-budget:checked) .reward-work-pane[data-tool="budget"],
.reward-tools-layout:has(#reward-tools-analytics:checked) .reward-work-pane[data-tool="analytics"],
.reward-tools-layout:has(#reward-tools-wall:checked) .reward-work-pane[data-tool="wall"],
.reward-tools-layout:has(#reward-tools-edge:checked) .reward-work-pane[data-tool="edge"] { display: block; }
.reward-work-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr); gap: 14px; align-items: start; }
.reward-work-grid.compact { grid-template-columns: minmax(260px, 0.75fr) minmax(0, 1.25fr); }
.reward-work-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.reward-work-form.inline { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 14px; }
.reward-work-form label { display: grid; gap: 6px; color: var(--muted); font-size: 0.78rem; font-weight: 700; }
.reward-work-form input,
.reward-work-form select,
.reward-work-form textarea { width: 100%; min-height: 38px; border: 1px solid rgba(148, 163, 184, 0.18); border-radius: 8px; background: rgba(15, 23, 42, 0.74); color: var(--text); padding: 8px 10px; font: inherit; }
.reward-work-form textarea { resize: vertical; }
.reward-work-form .span-2 { grid-column: span 2; }
.tool-record-list { display: grid; gap: 8px; }
.tool-record-list.horizontal { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 14px; }
.tool-record-list button { display: grid; gap: 3px; width: 100%; text-align: left; padding: 10px; border: 1px solid rgba(148, 163, 184, 0.18); border-radius: 8px; background: rgba(255, 255, 255, 0.045); color: var(--text); cursor: pointer; }
.tool-record-list button span,
.insight-box p { color: var(--muted); margin: 0; }
.tool-pane-actions { margin-top: 12px; }
.insight-box { margin-top: 14px; padding: 14px; border: 1px solid rgba(56, 189, 248, 0.24); border-radius: 8px; background: rgba(56, 189, 248, 0.08); }
@media (max-width: 1050px) { .reward-tools-layout, .reward-work-grid, .reward-work-grid.compact { grid-template-columns: 1fr; } .reward-tools-summary-grid, .reward-card-row, .tool-record-list.horizontal, .reward-work-form.inline { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) { .reward-tools-summary-grid, .reward-card-row, .tool-record-list.horizontal, .reward-work-form, .reward-work-form.inline { grid-template-columns: 1fr; } .reward-work-form .span-2 { grid-column: span 1; } }


.milestone-editor {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 14px;
  margin-top: 14px;
}

.milestone-editor > input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.milestone-checkpoint-list {
  display: grid;
  gap: 8px;
  align-content: start;
}

.milestone-checkpoint-list label {
  display: grid;
  gap: 3px;
  min-height: 54px;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.045);
  cursor: pointer;
}

.milestone-checkpoint-list label span {
  color: var(--muted);
  font-size: 0.76rem;
}

.milestone-editor:has(#milestone-10:checked) label[for="milestone-10"],
.milestone-editor:has(#milestone-25:checked) label[for="milestone-25"],
.milestone-editor:has(#milestone-rankup:checked) label[for="milestone-rankup"],
.milestone-editor:has(#milestone-year:checked) label[for="milestone-year"],
.milestone-editor:has(#milestone-custom:checked) label[for="milestone-custom"] {
  border-color: rgba(34, 197, 94, 0.55);
  background: rgba(34, 197, 94, 0.12);
  color: #dcfce7;
}

.milestone-editor-pane {
  display: none;
}

.milestone-editor:has(#milestone-10:checked) .milestone-editor-pane[data-milestone="10"],
.milestone-editor:has(#milestone-25:checked) .milestone-editor-pane[data-milestone="25"],
.milestone-editor:has(#milestone-rankup:checked) .milestone-editor-pane[data-milestone="rankup"],
.milestone-editor:has(#milestone-year:checked) .milestone-editor-pane[data-milestone="year"],
.milestone-editor:has(#milestone-custom:checked) .milestone-editor-pane[data-milestone="custom"] {
  display: grid;
}

@media (max-width: 900px) {
  .milestone-editor {
    grid-template-columns: 1fr;
  }
}


.milestone-flex-builder {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 14px;
  margin-top: 14px;
}

.milestone-template-bank,
.milestone-saved-rules {
  display: grid;
  gap: 8px;
  align-content: start;
}

.milestone-template-bank h4 {
  margin: 0 0 4px;
  color: var(--text);
  font-size: 0.9rem;
}

.milestone-template-bank button {
  display: grid;
  gap: 3px;
  width: 100%;
  min-height: 54px;
  padding: 10px;
  text-align: left;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.045);
  color: var(--text);
  cursor: pointer;
}

.milestone-template-bank button:first-of-type {
  border-color: rgba(34, 197, 94, 0.55);
  background: rgba(34, 197, 94, 0.12);
}

.milestone-template-bank button span {
  color: var(--muted);
  font-size: 0.76rem;
}

.milestone-rule-form {
  align-self: start;
}

.milestone-form-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.milestone-saved-rules {
  grid-column: 1 / -1;
  padding-top: 2px;
}

.panel-header.compact {
  margin-bottom: 2px;
}

@media (max-width: 980px) {
  .milestone-flex-builder {
    grid-template-columns: 1fr;
  }
}


.inventory-detail-panel,
.inventory-location-panel,
.inventory-database-panel {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

.inventory-detail-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.inventory-detail-form label,
.inventory-location-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.inventory-detail-form input,
.inventory-detail-form select,
.inventory-detail-form textarea,
.inventory-location-grid input,
.inventory-database-controls input,
.inventory-database-controls select {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.74);
  color: var(--text);
  padding: 8px 10px;
  font: inherit;
}

.inventory-detail-form textarea {
  resize: vertical;
}

.inventory-detail-form .span-2 {
  grid-column: span 2;
}

.inventory-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.inventory-location-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  align-items: stretch;
}

.inventory-location-grid button {
  display: grid;
  gap: 3px;
  min-height: 58px;
  text-align: left;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.045);
  color: var(--text);
  cursor: pointer;
}

.inventory-location-grid button span {
  color: var(--muted);
  font-size: 0.74rem;
}

.inventory-database-controls {
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(150px, 1fr));
  gap: 8px;
}

.table-link {
  border: 0;
  background: transparent;
  color: #7dd3fc;
  font: inherit;
  font-weight: 800;
  padding: 0;
  cursor: pointer;
  text-align: left;
}

.table-link:hover {
  color: #bae6fd;
  text-decoration: underline;
}

@media (max-width: 1180px) {
  .inventory-detail-form,
  .inventory-location-grid,
  .inventory-database-controls {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .inventory-detail-form,
  .inventory-location-grid,
  .inventory-database-controls {
    grid-template-columns: 1fr;
  }

  .inventory-detail-form .span-2 {
    grid-column: span 1;
  }
}


.inventory-location-grid button.is-active {
  border-color: rgba(56, 189, 248, 0.65);
  background: rgba(56, 189, 248, 0.14);
  color: #e0f2fe;
  box-shadow: inset 0 0 0 1px rgba(56, 189, 248, 0.18);
}

.inventory-filter-status {
  display: inline-flex;
  width: fit-content;
  padding: 6px 10px;
  border: 1px solid rgba(56, 189, 248, 0.24);
  border-radius: 999px;
  background: rgba(56, 189, 248, 0.08);
  color: #bae6fd;
  font-size: 0.78rem;
  font-weight: 800;
}


.notice-template-editor,
.notice-history-panel {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

.notice-template-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.notice-template-list {
  display: grid;
  gap: 8px;
}

.notice-template-list button {
  display: grid;
  gap: 3px;
  width: 100%;
  min-height: 56px;
  text-align: left;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.045);
  color: var(--text);
  cursor: pointer;
}

.notice-template-list button.is-active {
  border-color: rgba(56, 189, 248, 0.65);
  background: rgba(56, 189, 248, 0.14);
  color: #e0f2fe;
}

.notice-template-list span {
  color: var(--muted);
  font-size: 0.74rem;
}

.notice-template-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.notice-template-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.notice-template-form input,
.notice-template-form select,
.notice-template-form textarea,
.notice-history-controls input,
.notice-history-controls select {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.74);
  color: var(--text);
  padding: 8px 10px;
  font: inherit;
}

.notice-template-form textarea {
  resize: vertical;
}

.notice-template-form .span-2 {
  grid-column: span 2;
}

.notice-template-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.notice-history-controls {
  display: grid;
  grid-template-columns: minmax(230px, 1.4fr) repeat(4, minmax(140px, 1fr));
  gap: 8px;
}

@media (max-width: 1100px) {
  .notice-template-layout,
  .notice-history-controls {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .notice-template-form {
    grid-template-columns: 1fr;
  }

  .notice-template-form .span-2 {
    grid-column: span 1;
  }
}


.notice-approval-panel {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 12px;
  border: 1px solid rgba(250, 204, 21, 0.22);
  border-radius: 8px;
  background: rgba(250, 204, 21, 0.055);
}

.notice-approval-grid {
  display: grid;
  gap: 10px;
}

.notice-approval-grid article {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.045);
}

.notice-approval-grid article > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.notice-approval-grid span,
.notice-approval-grid p {
  color: var(--muted);
  margin: 0;
}

.approval-meta,
.approval-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.approval-meta span {
  padding: 5px 8px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.52);
  font-size: 0.74rem;
  font-weight: 800;
}


.seasonal-builder-panel,
.seasonal-database-panel {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

.seasonal-builder-layout {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.seasonal-campaign-list {
  display: grid;
  gap: 8px;
}

.seasonal-campaign-list button {
  display: grid;
  gap: 3px;
  width: 100%;
  min-height: 58px;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.045);
  color: var(--text);
  text-align: left;
  cursor: pointer;
}

.seasonal-campaign-list button.is-active {
  border-color: rgba(34, 197, 94, 0.55);
  background: rgba(34, 197, 94, 0.12);
  color: #dcfce7;
}

.seasonal-campaign-list span {
  color: var(--muted);
  font-size: 0.74rem;
}

.seasonal-reward-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.seasonal-reward-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.seasonal-reward-form input,
.seasonal-reward-form select,
.seasonal-reward-form textarea,
.seasonal-database-controls input,
.seasonal-database-controls select {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.74);
  color: var(--text);
  padding: 8px 10px;
  font: inherit;
}

.seasonal-reward-form textarea {
  resize: vertical;
}

.seasonal-reward-form .span-2 {
  grid-column: span 2;
}

.seasonal-form-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.seasonal-database-controls {
  display: grid;
  grid-template-columns: minmax(230px, 1.4fr) repeat(3, minmax(150px, 1fr));
  gap: 8px;
}

@media (max-width: 1100px) {
  .seasonal-builder-layout,
  .seasonal-database-controls {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .seasonal-reward-form {
    grid-template-columns: 1fr;
  }

  .seasonal-reward-form .span-2 {
    grid-column: span 1;
  }
}


.leaderboard-builder-panel,
.leaderboard-database-panel {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

.leaderboard-builder-layout {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.leaderboard-board-list {
  display: grid;
  gap: 8px;
}

.leaderboard-board-list button {
  display: grid;
  gap: 3px;
  width: 100%;
  min-height: 58px;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.045);
  color: var(--text);
  text-align: left;
  cursor: pointer;
}

.leaderboard-board-list button.is-active {
  border-color: rgba(56, 189, 248, 0.65);
  background: rgba(56, 189, 248, 0.14);
  color: #e0f2fe;
}

.leaderboard-board-list span {
  color: var(--muted);
  font-size: 0.74rem;
}

.leaderboard-reward-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.leaderboard-reward-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.leaderboard-reward-form input,
.leaderboard-reward-form select,
.leaderboard-reward-form textarea,
.leaderboard-database-controls input,
.leaderboard-database-controls select {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.74);
  color: var(--text);
  padding: 8px 10px;
  font: inherit;
}

.leaderboard-reward-form textarea { resize: vertical; }
.leaderboard-reward-form .span-2 { grid-column: span 2; }
.leaderboard-form-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.leaderboard-database-controls { display: grid; grid-template-columns: minmax(230px, 1.4fr) repeat(3, minmax(150px, 1fr)); gap: 8px; }

@media (max-width: 1100px) {
  .leaderboard-builder-layout,
  .leaderboard-database-controls { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .leaderboard-reward-form { grid-template-columns: 1fr; }
  .leaderboard-reward-form .span-2 { grid-column: span 1; }
}


.authority-lock-panel,
.authority-editor-panel,
.authority-database-panel {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

.authority-lock-panel {
  grid-template-columns: minmax(220px, 1fr) minmax(160px, 220px) auto auto;
  align-items: end;
  border-color: rgba(250, 204, 21, 0.24);
  background: rgba(250, 204, 21, 0.055);
}

.authority-lock-panel p,
.authority-lock-panel span {
  color: var(--muted);
  margin: 3px 0 0;
}

.authority-lock-panel label,
.authority-permission-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.authority-lock-panel input,
.authority-permission-grid input,
.authority-permission-grid select {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.74);
  color: var(--text);
  padding: 8px 10px;
  font: inherit;
}

.authority-permission-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.authority-permission-grid article {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.045);
}

.authority-permission-grid h4 {
  margin: 0;
  color: var(--text);
}

.authority-editor-panel.is-locked {
  opacity: 0.72;
}

.authority-editor-panel.is-locked input,
.authority-editor-panel.is-locked select,
.authority-editor-panel.is-locked button {
  cursor: not-allowed;
}

.authority-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

@media (max-width: 1180px) {
  .authority-lock-panel,
  .authority-permission-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .authority-lock-panel,
  .authority-permission-grid {
    grid-template-columns: 1fr;
  }
}


.surprise-builder-panel,
.surprise-tracking-panel {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

.surprise-builder-layout {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.surprise-preset-list {
  display: grid;
  gap: 8px;
}

.surprise-preset-list button {
  display: grid;
  gap: 3px;
  width: 100%;
  min-height: 58px;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.045);
  color: var(--text);
  text-align: left;
  cursor: pointer;
}

.surprise-preset-list button.is-active {
  border-color: rgba(244, 114, 182, 0.65);
  background: rgba(244, 114, 182, 0.13);
  color: #fce7f3;
}

.surprise-preset-list span {
  color: var(--muted);
  font-size: 0.74rem;
}

.surprise-reward-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.surprise-reward-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.surprise-reward-form input,
.surprise-reward-form select,
.surprise-reward-form textarea,
.surprise-tracking-controls input,
.surprise-tracking-controls select {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.74);
  color: var(--text);
  padding: 8px 10px;
  font: inherit;
}

.surprise-reward-form textarea { resize: vertical; }
.surprise-reward-form .span-2 { grid-column: span 2; }
.surprise-form-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.surprise-tracking-controls { display: grid; grid-template-columns: minmax(230px, 1.4fr) repeat(4, minmax(140px, 1fr)); gap: 8px; }

@media (max-width: 1100px) {
  .surprise-builder-layout,
  .surprise-tracking-controls { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .surprise-reward-form { grid-template-columns: 1fr; }
  .surprise-reward-form .span-2 { grid-column: span 1; }
}


#class-rewards button[data-class-reward^="Seasonal:"] {
  border-color: rgba(34, 197, 94, 0.42);
  background: rgba(34, 197, 94, 0.11);
  color: #dcfce7;
}

#class-rewards button[data-class-reward^="Surprise:"] {
  border-color: rgba(244, 114, 182, 0.44);
  background: rgba(244, 114, 182, 0.12);
  color: #fce7f3;
}

.live-class-grid button[data-class-reward^="Seasonal:"] {
  border-color: rgba(34, 197, 94, 0.42);
  background: rgba(34, 197, 94, 0.11);
  color: #dcfce7;
}

.live-class-grid button[data-class-reward^="Surprise:"] {
  border-color: rgba(244, 114, 182, 0.44);
  background: rgba(244, 114, 182, 0.12);
  color: #fce7f3;
}


.budget-lock-panel,
.budget-editor-panel,
.budget-tracking-panel {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

.budget-lock-panel {
  grid-template-columns: minmax(220px, 1fr) minmax(160px, 220px) auto auto;
  align-items: end;
  border-color: rgba(250, 204, 21, 0.24);
  background: rgba(250, 204, 21, 0.055);
}

.budget-lock-panel p,
.budget-lock-panel span {
  color: var(--muted);
  margin: 3px 0 0;
}

.budget-lock-panel label,
.budget-editor-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.budget-lock-panel input,
.budget-editor-form input,
.budget-editor-form select,
.budget-editor-form textarea {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.74);
  color: var(--text);
  padding: 8px 10px;
  font: inherit;
}

.budget-editor-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.budget-editor-form textarea { resize: vertical; }
.budget-editor-form .span-2 { grid-column: span 2; }
.budget-editor-panel.is-locked { opacity: 0.72; }
.budget-editor-panel.is-locked input,
.budget-editor-panel.is-locked select,
.budget-editor-panel.is-locked textarea,
.budget-editor-panel.is-locked button { cursor: not-allowed; }
.budget-form-actions { display: flex; gap: 8px; flex-wrap: wrap; }

@media (max-width: 1180px) {
  .budget-lock-panel,
  .budget-editor-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .budget-lock-panel,
  .budget-editor-form { grid-template-columns: 1fr; }
  .budget-editor-form .span-2 { grid-column: span 1; }
}


.reward-analytics-panel,
.analytics-table-panel {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

.reward-analytics-controls {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.reward-analytics-controls select {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.74);
  color: var(--text);
  padding: 8px 10px;
  font: inherit;
}

.reward-analytics-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.reward-analytics-kpis article {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.045);
}

.reward-analytics-kpis strong {
  font-size: 1.2rem;
  color: var(--text);
}

.reward-analytics-kpis span,
.reward-analytics-kpis em {
  color: var(--muted);
  font-size: 0.75rem;
  font-style: normal;
}

.analytics-insight-grid {
  display: grid;
  grid-template-columns: 1.3fr repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.primary-insight {
  border-color: rgba(56, 189, 248, 0.38);
  background: rgba(56, 189, 248, 0.1);
}

.primary-insight button {
  width: fit-content;
  margin-top: 4px;
}

.reward-analytics-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

@media (max-width: 1180px) {
  .reward-analytics-controls,
  .reward-analytics-kpis,
  .analytics-insight-grid,
  .reward-analytics-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .reward-analytics-controls,
  .reward-analytics-kpis,
  .analytics-insight-grid,
  .reward-analytics-grid {
    grid-template-columns: 1fr;
  }
}


.reward-followup-panel {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 12px;
  border: 1px solid rgba(56, 189, 248, 0.26);
  border-radius: 8px;
  background: rgba(56, 189, 248, 0.055);
}

.reward-task-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
  gap: 14px;
  align-items: start;
}

.reward-task-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.reward-task-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.reward-task-form input,
.reward-task-form select,
.reward-task-form textarea {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.74);
  color: var(--text);
  padding: 8px 10px;
  font: inherit;
}

.reward-task-form textarea { resize: vertical; }
.reward-task-form .span-2 { grid-column: span 2; }
.reward-task-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.reward-task-status { display: grid; gap: 10px; }
.reward-task-status article { display: grid; gap: 5px; padding: 12px; border: 1px solid rgba(148, 163, 184, 0.16); border-radius: 8px; background: rgba(255, 255, 255, 0.045); }
.reward-task-status span { color: var(--muted); line-height: 1.4; }

@media (max-width: 980px) {
  .reward-task-layout,
  .reward-task-form { grid-template-columns: 1fr; }
  .reward-task-form .span-2 { grid-column: span 1; }
}


.reward-task-summary-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.reward-task-summary-row article {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.045);
  min-width: 0;
}

.reward-task-summary-row span {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.reward-task-layout.clean {
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
  align-items: start;
}

.reward-task-form.clean {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

.reward-task-form.clean label,
.reward-task-form.clean input,
.reward-task-form.clean select,
.reward-task-form.clean textarea {
  min-width: 0;
}

.reward-task-status.clean article {
  min-height: auto;
  overflow-wrap: anywhere;
}

@media (max-width: 1120px) {
  .reward-task-summary-row,
  .reward-task-layout.clean,
  .reward-task-form.clean {
    grid-template-columns: 1fr;
  }

  .reward-task-form.clean .span-2 {
    grid-column: span 1;
  }
}


.reward-analytics-grid > .reward-followup-panel {
  grid-column: 1 / -1;
  width: 100%;
}

.reward-task-layout.clean {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 420px);
}

.reward-task-form.clean {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.reward-task-form.clean .span-2 {
  grid-column: span 4;
}

.reward-task-status.clean {
  align-self: stretch;
}

.reward-task-status.clean article {
  min-height: 96px;
}

@media (max-width: 1250px) {
  .reward-task-layout.clean {
    grid-template-columns: 1fr;
  }

  .reward-task-status.clean {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .reward-task-summary-row,
  .reward-task-form.clean,
  .reward-task-status.clean {
    grid-template-columns: 1fr;
  }

  .reward-task-form.clean .span-2 {
    grid-column: span 1;
  }
}


.wall-builder-panel,
.wall-database-panel {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

.wall-builder-layout {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.wall-slot-list {
  display: grid;
  gap: 8px;
}

.wall-slot-list button {
  display: grid;
  gap: 3px;
  width: 100%;
  min-height: 58px;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.045);
  color: var(--text);
  text-align: left;
  cursor: pointer;
}

.wall-slot-list button.is-active {
  border-color: rgba(250, 204, 21, 0.58);
  background: rgba(250, 204, 21, 0.12);
  color: #fef9c3;
}

.wall-slot-list span {
  color: var(--muted);
  font-size: 0.74rem;
}

.wall-fame-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.wall-fame-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.wall-fame-form input,
.wall-fame-form select,
.wall-fame-form textarea,
.wall-database-controls input,
.wall-database-controls select {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.74);
  color: var(--text);
  padding: 8px 10px;
  font: inherit;
}

.wall-fame-form textarea { resize: vertical; }
.wall-fame-form .span-2 { grid-column: span 2; }
.wall-form-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.wall-database-controls { display: grid; grid-template-columns: minmax(230px, 1.4fr) repeat(3, minmax(150px, 1fr)); gap: 8px; }

@media (max-width: 1100px) {
  .wall-builder-layout,
  .wall-database-controls { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .wall-fame-form { grid-template-columns: 1fr; }
  .wall-fame-form .span-2 { grid-column: span 1; }
}


.edge-policy-panel,
.edge-exception-panel,
.edge-audit-panel {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

.edge-policy-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.edge-policy-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.edge-policy-form input,
.edge-policy-form select,
.edge-policy-form textarea,
.edge-audit-controls input,
.edge-audit-controls select {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.74);
  color: var(--text);
  padding: 8px 10px;
  font: inherit;
}

.edge-policy-form textarea { resize: vertical; }
.edge-policy-form .span-2 { grid-column: span 4; }
.edge-policy-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.edge-exception-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.edge-exception-grid article { display: grid; gap: 8px; padding: 12px; border: 1px solid rgba(250, 204, 21, 0.22); border-radius: 8px; background: rgba(250, 204, 21, 0.055); }
.edge-exception-grid span { color: var(--muted); line-height: 1.4; }
.edge-exception-grid div { display: flex; gap: 8px; flex-wrap: wrap; }
.edge-audit-controls { display: grid; grid-template-columns: minmax(230px, 1.4fr) repeat(3, minmax(150px, 1fr)); gap: 8px; }

@media (max-width: 1180px) {
  .edge-policy-form,
  .edge-exception-grid,
  .edge-audit-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .edge-policy-form .span-2 { grid-column: span 2; }
}

@media (max-width: 760px) {
  .edge-policy-form,
  .edge-exception-grid,
  .edge-audit-controls { grid-template-columns: 1fr; }
  .edge-policy-form .span-2 { grid-column: span 1; }
}


.requirement-builder-panel,
.requirement-condition-panel,
.eligibility-preview-panel,
.requirement-database-panel,
.requirement-warning-panel {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

.requirement-builder-layout {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.requirement-rule-list,
.requirement-warning-grid {
  display: grid;
  gap: 8px;
}

.requirement-rule-list button,
.requirement-warning-grid article {
  display: grid;
  gap: 3px;
  width: 100%;
  min-height: 58px;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.045);
  color: var(--text);
  text-align: left;
}

.requirement-rule-list button { cursor: pointer; }
.requirement-rule-list button.is-active { border-color: rgba(56, 189, 248, 0.65); background: rgba(56, 189, 248, 0.14); color: #e0f2fe; }
.requirement-rule-list span,
.requirement-warning-grid span { color: var(--muted); font-size: 0.74rem; line-height: 1.35; }

.requirement-rule-form,
.edge-policy-form,
.condition-grid {
  min-width: 0;
}

.requirement-rule-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.requirement-rule-form label,
.condition-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.requirement-rule-form input,
.requirement-rule-form select,
.requirement-rule-form textarea,
.condition-grid input,
.condition-grid select,
.requirement-database-controls input,
.requirement-database-controls select {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.74);
  color: var(--text);
  padding: 8px 10px;
  font: inherit;
}

.requirement-rule-form textarea { resize: vertical; }
.requirement-rule-form .span-2 { grid-column: span 4; }
.condition-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.condition-grid article { display: grid; gap: 10px; padding: 12px; border: 1px solid rgba(148, 163, 184, 0.16); border-radius: 8px; background: rgba(255, 255, 255, 0.045); }
.condition-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.requirement-database-controls { display: grid; grid-template-columns: minmax(230px, 1.4fr) repeat(3, minmax(150px, 1fr)); gap: 8px; }
.requirement-warning-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.requirement-warning-grid article { border-color: rgba(250, 204, 21, 0.22); background: rgba(250, 204, 21, 0.055); }

@media (max-width: 1180px) {
  .requirement-builder-layout,
  .requirement-rule-form,
  .condition-grid,
  .requirement-database-controls,
  .requirement-warning-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .requirement-rule-form .span-2 { grid-column: span 2; }
}

@media (max-width: 760px) {
  .requirement-builder-layout,
  .requirement-rule-form,
  .condition-grid,
  .requirement-database-controls,
  .requirement-warning-grid { grid-template-columns: 1fr; }
  .requirement-rule-form .span-2 { grid-column: span 1; }
}


.reports-command-hero,
.reports-ai-panel,
.reports-exception-panel,
.report-category-panel,
.scheduled-reports-panel {
  border-color: rgba(148, 163, 184, 0.18);
}

.reports-command-kpis .report-kpi {
  cursor: pointer;
}

.reports-command-kpis .report-kpi em {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 800;
}

.reports-command-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  gap: 18px;
}

.reports-ai-box {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.reports-ai-answer,
.reports-alert-list article,
.scheduled-report-grid article {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.045);
}

.reports-ai-answer div,
.report-pane-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.reports-alert-list,
.scheduled-report-grid {
  display: grid;
  gap: 10px;
}

.reports-alert-list span,
.scheduled-report-grid span {
  color: var(--muted);
  line-height: 1.35;
}

.reports-action-row {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
}

.report-category-tabs {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 14px;
}

.report-category-tabs > input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.report-category-tabs > label {
  grid-column: 1;
  display: flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
  color: var(--text);
  font-weight: 800;
  cursor: pointer;
}

.report-category-panes {
  grid-column: 2;
  grid-row: 1 / span 9;
  min-width: 0;
}

.report-category-panes article {
  display: none;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

#report-cat-money:checked ~ label[for="report-cat-money"],
#report-cat-students:checked ~ label[for="report-cat-students"],
#report-cat-attendance:checked ~ label[for="report-cat-attendance"],
#report-cat-progression:checked ~ label[for="report-cat-progression"],
#report-cat-coaches:checked ~ label[for="report-cat-coaches"],
#report-cat-communication:checked ~ label[for="report-cat-communication"],
#report-cat-safety:checked ~ label[for="report-cat-safety"],
#report-cat-rewards:checked ~ label[for="report-cat-rewards"],
#report-cat-growth:checked ~ label[for="report-cat-growth"] {
  border-color: rgba(56, 189, 248, 0.65);
  background: rgba(56, 189, 248, 0.14);
  color: #e0f2fe;
}

#report-cat-money:checked ~ .report-category-panes [data-report-pane="money"],
#report-cat-students:checked ~ .report-category-panes [data-report-pane="students"],
#report-cat-attendance:checked ~ .report-category-panes [data-report-pane="attendance"],
#report-cat-progression:checked ~ .report-category-panes [data-report-pane="progression"],
#report-cat-coaches:checked ~ .report-category-panes [data-report-pane="coaches"],
#report-cat-communication:checked ~ .report-category-panes [data-report-pane="communication"],
#report-cat-safety:checked ~ .report-category-panes [data-report-pane="safety"],
#report-cat-rewards:checked ~ .report-category-panes [data-report-pane="rewards"],
#report-cat-growth:checked ~ .report-category-panes [data-report-pane="growth"] {
  display: grid;
}

.scheduled-report-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1120px) {
  .reports-command-grid,
  .reports-action-row,
  .report-category-tabs,
  .scheduled-report-grid {
    grid-template-columns: 1fr;
  }

  .report-category-tabs > label,
  .report-category-panes {
    grid-column: 1;
    grid-row: auto;
  }
}

@media (max-width: 720px) {
  .reports-ai-box {
    grid-template-columns: 1fr;
  }
}


.report-data-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.report-data-cards article,
.report-recommendations {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.045);
}

.report-data-cards strong {
  color: var(--text);
  font-size: 1.25rem;
}

.report-data-cards span,
.report-recommendations span {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.report-category-panes .table-wrap {
  margin-top: 2px;
}

@media (max-width: 1050px) {
  .report-data-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .report-data-cards {
    grid-template-columns: 1fr;
  }
}


.report-task-workflow-panel { display: grid; gap: 12px; border-color: rgba(56, 189, 248, 0.26); }
.report-task-workflow-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr); gap: 14px; align-items: start; }
.report-task-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.report-task-form label { display: grid; gap: 6px; color: var(--muted); font-size: 0.78rem; font-weight: 800; }
.report-task-form input, .report-task-form select, .report-task-form textarea { width: 100%; min-height: 38px; border: 1px solid rgba(148, 163, 184, 0.18); border-radius: 8px; background: rgba(15, 23, 42, 0.74); color: var(--text); padding: 8px 10px; font: inherit; }
.report-task-form textarea { resize: vertical; }
.report-task-form .span-2 { grid-column: span 2; }
.report-task-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.report-task-sidecar { display: grid; gap: 10px; }
.report-task-sidecar article { display: grid; gap: 6px; padding: 12px; border: 1px solid rgba(148, 163, 184, 0.16); border-radius: 8px; background: rgba(255, 255, 255, 0.045); }
.report-task-sidecar span { color: var(--muted); line-height: 1.4; }
@media (max-width: 1050px) { .report-task-workflow-grid, .report-task-form { grid-template-columns: 1fr; } .report-task-form .span-2 { grid-column: span 1; } }
/* Admin dashboard class and event management */
.admin-class-events-panel { grid-column: 1 / -1; }
.admin-class-events-panel .panel-header { align-items: flex-start; }
.admin-class-event-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 16px; }
.admin-class-event-grid section { display: grid; gap: 10px; min-width: 0; }
.admin-class-event-grid h4 { margin: 0; color: var(--ink); font-size: .95rem; }
.admin-class-link-list,
.admin-event-link-list { display: grid; gap: 10px; }
.admin-class-link-row,
.admin-event-link-row { display: grid; gap: 6px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #181a20; min-width: 0; }
.admin-class-link-row span,
.admin-class-link-row em,
.admin-event-link-row span,
.admin-event-link-row em { color: var(--muted); font-style: normal; font-weight: 800; line-height: 1.35; overflow-wrap: anywhere; }
.admin-class-link-row button,
.admin-event-link-row button { justify-self: start; }
.admin-event-link-row button { border: 0; background: transparent; color: var(--accent); padding: 0; font-weight: 900; text-align: left; }
.admin-event-link-row button:hover { color: var(--ink); }
@media (max-width: 1000px) { .admin-class-event-grid { grid-template-columns: 1fr; } }
/* Functional Admin Settings console */
.admin-setting-card { cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.admin-setting-card:hover,
.admin-setting-card.is-selected { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(40, 223, 134, .12), var(--shadow); transform: translateY(-1px); }
.admin-setting-card.is-selected .panel-header h3 { color: var(--accent); }
.admin-settings-detail-panel { border-color: rgba(40, 223, 134, .35); }
.admin-settings-detail { display: grid; gap: 14px; }
.admin-setting-detail-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); gap: 14px; }
.admin-setting-editor { display: grid; grid-template-columns: repeat(2, minmax(180px, 1fr)); gap: 12px; }
.admin-setting-editor h4 { grid-column: 1 / -1; margin: 0; color: var(--ink); }
.admin-setting-editor label { display: grid; gap: 6px; color: var(--muted); font-weight: 900; }
.admin-setting-editor input { min-height: 40px; border: 1px solid var(--line); border-radius: 8px; background: #181a20; color: var(--ink); padding: 0 10px; font-weight: 800; }
.admin-setting-sidecar { display: grid; gap: 10px; align-content: start; }
.admin-setting-sidecar article { display: grid; gap: 6px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #181a20; }
.admin-setting-sidecar span { color: var(--muted); font-weight: 800; line-height: 1.35; }
.admin-setting-actions { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 950px) { .admin-setting-detail-grid, .admin-setting-editor { grid-template-columns: 1fr; } }
/* Admin Settings reward-tools style workspace */
.admin-tools-layout { display: grid; grid-template-columns: 310px minmax(0, 1fr); gap: 14px; align-items: start; }
.admin-tool-nav-panel,
.admin-work-pane { border-color: rgba(148, 163, 184, 0.18); }
.admin-work-tabs { display: grid; gap: 7px; }
.admin-work-tabs input { position: absolute; opacity: 0; pointer-events: none; width: 1px !important; min-width: 0; height: 1px; overflow: hidden; clip-path: inset(50%); }
.admin-work-tabs label { display: flex; align-items: center; min-height: 36px; padding: 8px 10px; border: 1px solid rgba(148, 163, 184, 0.16); background: rgba(255, 255, 255, 0.04); border-radius: 8px; color: var(--text); font-weight: 700; font-size: 0.82rem; cursor: pointer; }
.admin-work-tabs label:hover,
#admin-tools-facility:checked ~ label[for="admin-tools-facility"],
#admin-tools-business:checked ~ label[for="admin-tools-business"],
#admin-tools-staff:checked ~ label[for="admin-tools-staff"],
#admin-tools-portal:checked ~ label[for="admin-tools-portal"],
#admin-tools-reporting:checked ~ label[for="admin-tools-reporting"],
#admin-tools-branding:checked ~ label[for="admin-tools-branding"],
#admin-tools-integrations:checked ~ label[for="admin-tools-integrations"],
#admin-tools-advanced:checked ~ label[for="admin-tools-advanced"],
#admin-tools-audit:checked ~ label[for="admin-tools-audit"],
#admin-tools-archive:checked ~ label[for="admin-tools-archive"] { border-color: rgba(56, 189, 248, 0.55); background: rgba(56, 189, 248, 0.13); color: #e0f2fe; }
.admin-tool-shortcuts { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.admin-work-pane-stack { display: grid; }
.admin-work-pane { display: none; }
.admin-tools-layout:has(#admin-tools-facility:checked) .admin-work-pane[data-admin-tool-pane="facility"],
.admin-tools-layout:has(#admin-tools-business:checked) .admin-work-pane[data-admin-tool-pane="business"],
.admin-tools-layout:has(#admin-tools-staff:checked) .admin-work-pane[data-admin-tool-pane="staff"],
.admin-tools-layout:has(#admin-tools-portal:checked) .admin-work-pane[data-admin-tool-pane="portal"],
.admin-tools-layout:has(#admin-tools-reporting:checked) .admin-work-pane[data-admin-tool-pane="reporting"],
.admin-tools-layout:has(#admin-tools-branding:checked) .admin-work-pane[data-admin-tool-pane="branding"],
.admin-tools-layout:has(#admin-tools-integrations:checked) .admin-work-pane[data-admin-tool-pane="integrations"],
.admin-tools-layout:has(#admin-tools-advanced:checked) .admin-work-pane[data-admin-tool-pane="advanced"],
.admin-tools-layout:has(#admin-tools-audit:checked) .admin-work-pane[data-admin-tool-pane="audit"],
.admin-tools-layout:has(#admin-tools-archive:checked) .admin-work-pane[data-admin-tool-pane="archive"] { display: block; }
.admin-work-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); gap: 14px; align-items: start; }
.admin-work-grid.compact { grid-template-columns: minmax(0, 1fr) minmax(260px, .72fr); }
@media (max-width: 1050px) { .admin-tools-layout, .admin-work-grid, .admin-work-grid.compact { grid-template-columns: 1fr; } }
/* Expanded Facility Settings workspace */
.facility-settings-workspace { display: grid; gap: 14px; }
.facility-profile-form,
.facility-config-panel { display: grid; gap: 12px; border: 1px solid rgba(148, 163, 184, 0.18); border-radius: 8px; background: rgba(255, 255, 255, 0.035); padding: 14px; }
.facility-profile-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.facility-profile-form .panel-header,
.facility-profile-form .span-2 { grid-column: 1 / -1; }
.facility-profile-form label,
.facility-hours-grid label { display: grid; gap: 6px; color: var(--muted); font-weight: 900; }
.facility-profile-form input,
.facility-hours-grid input { min-height: 40px; border: 1px solid var(--line); border-radius: 8px; background: #181a20; color: var(--ink); padding: 0 10px; font-weight: 800; }
.facility-location-grid,
.facility-area-grid,
.seasonal-schedule-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.facility-hours-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.facility-location-grid article,
.facility-area-grid article,
.seasonal-schedule-grid article { display: grid; gap: 7px; padding: 12px; border: 1px solid rgba(148, 163, 184, 0.18); border-radius: 8px; background: #181a20; }
.facility-location-grid article.is-active { border-color: rgba(40, 223, 134, .5); box-shadow: inset 3px 0 0 var(--accent); }
.facility-location-grid span,
.facility-area-grid span,
.seasonal-schedule-grid span,
.facility-location-grid em,
.facility-area-grid em,
.seasonal-schedule-grid em { color: var(--muted); font-style: normal; line-height: 1.35; font-weight: 800; }
.facility-location-grid button,
.seasonal-schedule-grid button { justify-self: start; }
@media (max-width: 1150px) { .facility-location-grid, .facility-area-grid, .seasonal-schedule-grid, .facility-hours-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) { .facility-profile-form, .facility-location-grid, .facility-area-grid, .seasonal-schedule-grid, .facility-hours-grid { grid-template-columns: 1fr; } }


/* Stripe/payment-source prototype controls */
.payment-source-section { margin-top: 14px; }
.payment-source-grid, .stripe-policy-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 10px 0 14px; }
.payment-source-card, .stripe-policy-grid article { display: grid; gap: 6px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #181a20; }
.payment-source-card strong, .stripe-policy-grid strong { color: var(--muted); font-size: .76rem; text-transform: uppercase; }
.payment-source-card span, .stripe-policy-grid span { color: var(--ink); font-weight: 900; line-height: 1.35; }
.payment-source-card p { margin: 0; color: var(--muted); font-weight: 800; line-height: 1.35; }
.payment-source-card.good { border-color: rgba(40, 223, 134, .45); box-shadow: inset 3px 0 0 rgba(40, 223, 134, .8); }
.payment-source-card.warning { border-color: rgba(245, 158, 11, .5); box-shadow: inset 3px 0 0 rgba(245, 158, 11, .85); }
.payment-source-card.danger { border-color: rgba(248, 113, 113, .55); box-shadow: inset 3px 0 0 rgba(248, 113, 113, .9); }
.admin-setting-editor .stripe-policy-grid { grid-column: 1 / -1; }
@media (max-width: 1050px) { .payment-source-grid, .stripe-policy-grid { grid-template-columns: 1fr; } }
/* Staff management permissions and account security */
.staff-management-workspace { margin-bottom: 14px; }
.staff-role-editor label { min-width: 0; }
.staff-management-matrix { display: grid; gap: 12px; padding: 14px; border: 1px solid rgba(148, 163, 184, 0.18); border-radius: 8px; background: rgba(255,255,255,0.035); margin-top: 14px; }
.role-matrix-table { overflow-x: auto; border: 1px solid var(--line); border-radius: 8px; background: #181a20; }
.role-matrix-table table { width: 100%; min-width: 1120px; border-collapse: collapse; }
.role-matrix-table th, .role-matrix-table td { padding: 9px; border-bottom: 1px solid rgba(148, 163, 184, 0.14); border-right: 1px solid rgba(148, 163, 184, 0.1); text-align: left; vertical-align: top; }
.role-matrix-table th { color: var(--accent); font-size: .72rem; text-transform: uppercase; }
.role-matrix-table tbody th { color: var(--ink); min-width: 150px; }
.role-matrix-table input { width: 100%; min-width: 120px; min-height: 34px; border: 1px solid rgba(148, 163, 184, 0.18); border-radius: 7px; background: #20232a; color: var(--ink); padding: 7px 8px; font-weight: 800; }
.permission-editor-section .panel-header, .parent-security-section .panel-header, .payment-source-section .panel-header { align-items: start; }
.permission-editor-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.permission-editor-grid label { display: grid; gap: 6px; color: var(--muted); font-weight: 900; }
.permission-editor-grid input { min-height: 38px; border: 1px solid var(--line); border-radius: 8px; background: #181a20; color: var(--ink); padding: 0 10px; font-weight: 800; }
.parent-security-section, .permission-editor-section { background: rgba(255,255,255,0.04); }
@media (max-width: 1050px) { .permission-editor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) { .permission-editor-grid { grid-template-columns: 1fr; } }
/* Selected role permission editor */
.selected-role-editor { display: grid; gap: 14px; }
.selected-role-title { display: grid; gap: 4px; padding: 12px; border: 1px solid rgba(56, 189, 248, .22); border-radius: 8px; background: rgba(56, 189, 248, .08); }
.selected-role-title strong { color: var(--ink); font-size: 1.1rem; }
.selected-role-title span { color: var(--muted); font-weight: 800; line-height: 1.4; }
.selected-role-check-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.role-permission-check { display: grid; grid-template-columns: auto 1fr; gap: 4px 10px; align-items: center; min-height: 78px; padding: 12px; border: 1px solid rgba(148, 163, 184, 0.18); border-radius: 8px; background: #181a20; cursor: pointer; }
.role-permission-check input { width: 18px; height: 18px; accent-color: var(--accent); }
.role-permission-check span { color: var(--ink); font-weight: 950; }
.role-permission-check small { grid-column: 2; color: var(--muted); font-weight: 800; line-height: 1.3; }
.role-permission-check:has(input:checked) { border-color: rgba(40, 223, 134, .5); box-shadow: inset 3px 0 0 rgba(40, 223, 134, .85); }
.staff-role-editor select { min-height: 40px; border: 1px solid var(--line); border-radius: 8px; background: #181a20; color: var(--ink); padding: 0 10px; font-weight: 800; }
@media (max-width: 1050px) { .selected-role-check-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) { .selected-role-check-grid { grid-template-columns: 1fr; } }
/* Role permissions direct-list workflow */
.role-select-editor { align-items: end; }
.role-select-editor label { max-width: 360px; }
.permission-list-mode .role-permission-check small { color: #94a3b8; }
.permission-list-mode .role-permission-check:has(input:checked) small { color: #28df86; }
.permission-list-mode .role-permission-check { min-height: 68px; }
/* Security work queue account search */
.security-search-bar { display: grid; grid-template-columns: minmax(260px, 1fr) auto; gap: 10px; }
.security-search-bar input { min-height: 42px; border: 1px solid var(--line); border-radius: 8px; background: #181a20; color: var(--ink); padding: 0 12px; font-weight: 850; }
.security-account-results { display: grid; gap: 10px; }
.security-account-card { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) auto; gap: 12px; align-items: center; padding: 12px; border: 1px solid rgba(148, 163, 184, 0.18); border-radius: 8px; background: #181a20; }
.security-account-card.staff { box-shadow: inset 3px 0 0 rgba(40, 223, 134, .8); }
.security-account-card.parent { box-shadow: inset 3px 0 0 rgba(56, 189, 248, .8); }
.security-account-main, .security-account-status { display: grid; gap: 4px; min-width: 0; }
.security-account-main strong { color: var(--ink); font-size: 1rem; }
.security-account-main span, .security-account-main small, .security-account-status span { color: var(--muted); font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.security-account-status span:first-child { color: var(--accent); }
.security-account-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
@media (max-width: 1150px) { .security-account-card { grid-template-columns: 1fr; align-items: stretch; } .security-account-actions { justify-content: flex-start; } }
@media (max-width: 720px) { .security-search-bar { grid-template-columns: 1fr; } }
/* Functional branding settings */
.branding-settings-workspace { display: grid; gap: 14px; }
#admin-settings-summary .mini-row { flex-direction: column; align-items: flex-start; min-width: 0; gap: 8px; }
#admin-settings-summary .mini-row span { min-width: 0; overflow-wrap: anywhere; }
.branding-editor { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.branding-editor h4, .branding-editor .admin-setting-actions, .brand-color-preset-grid { grid-column: 1 / -1; }
.branding-editor input[type="color"] { min-height: 46px; padding: 4px; cursor: pointer; }
.brand-color-preset-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.brand-preset-button { display: grid; grid-template-columns: 28px 28px 1fr; align-items: center; gap: 8px; min-height: 42px; padding: 8px 10px; border: 1px solid rgba(148, 163, 184, 0.18); border-radius: 8px; background: #181a20; color: var(--ink); font-weight: 900; text-align: left; }
.brand-preset-button span { width: 28px; height: 22px; border-radius: 6px; border: 1px solid rgba(255,255,255,.24); }
.branding-preview-panel, .terminology-editor-panel { display: grid; gap: 12px; padding: 14px; border: 1px solid rgba(148, 163, 184, 0.18); border-radius: 8px; background: rgba(255,255,255,0.035); }
.brand-preview-card { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; padding: 16px; border: 1px solid color-mix(in srgb, var(--preview-primary) 55%, transparent); border-radius: 8px; background: linear-gradient(135deg, color-mix(in srgb, var(--preview-primary) 24%, #181a20), color-mix(in srgb, var(--preview-secondary) 16%, #181a20)); }
.brand-preview-mark { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 8px; background: var(--preview-primary); color: #07110d; font-weight: 1000; }
.brand-preview-card strong { display: block; color: var(--ink); font-size: 1.2rem; }
.brand-preview-card span { display: block; color: var(--muted); font-weight: 850; line-height: 1.35; }
.brand-preview-card button { min-height: 38px; border: 0; border-radius: 8px; background: var(--preview-secondary); color: #07110d; padding: 0 14px; font-weight: 1000; }
.terminology-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.terminology-grid label { color: var(--muted); font-weight: 900; }
.terminology-grid input { min-height: 40px; border: 1px solid var(--line); border-radius: 8px; background: #181a20; color: var(--ink); padding: 0 10px; font-weight: 850; }
@media (max-width: 1200px) { .branding-editor, .brand-color-preset-grid, .terminology-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .brand-preview-card { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .branding-editor, .brand-color-preset-grid, .terminology-grid { grid-template-columns: 1fr; } }
/* Functional Advanced Settings console */
.advanced-settings-console { display: grid; gap: 14px; }
.advanced-settings-console .admin-setting-editor { grid-template-columns: repeat(2, minmax(180px, 1fr)); padding: 14px; border: 1px solid rgba(148, 163, 184, 0.18); border-radius: 8px; background: rgba(255, 255, 255, 0.035); }
.advanced-settings-console .admin-setting-editor .wide { grid-column: 1 / -1; }
.advanced-settings-console textarea { width: 100%; min-height: 140px; resize: vertical; border: 1px solid var(--line); border-radius: 8px; background: #111720; color: var(--ink); padding: 10px; font-weight: 800; }
.advanced-result-box { grid-column: 1 / -1; display: grid; gap: 6px; min-height: 56px; padding: 12px; border: 1px solid rgba(56, 189, 248, 0.24); border-radius: 8px; background: rgba(56, 189, 248, 0.08); color: var(--muted); font-weight: 800; line-height: 1.35; }
.advanced-result-box strong { color: var(--ink); }
.advanced-settings-feed .mini-row { min-height: 62px; }
.danger-button { border-color: rgba(255, 91, 110, .62) !important; color: #ffc2ca !important; background: rgba(255, 91, 110, .12) !important; }
@media (max-width: 900px) { .advanced-settings-console .admin-setting-editor { grid-template-columns: 1fr; } }

/* Functional Audit Logs */
.audit-toolbar { display: grid; gap: 12px; margin-bottom: 14px; padding: 14px; border: 1px solid rgba(148, 163, 184, 0.18); border-radius: 8px; background: rgba(255, 255, 255, 0.035); }
.audit-filter-grid { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 10px; }
.audit-filter-grid label { display: grid; gap: 6px; color: var(--muted); font-weight: 900; }
.audit-filter-grid input,
.audit-filter-grid select { min-height: 40px; border: 1px solid var(--line); border-radius: 8px; background: #111720; color: var(--ink); padding: 0 10px; font-weight: 800; }
.audit-result-count { color: var(--muted); font-weight: 900; font-size: .86rem; }
.audit-table-wrap table { min-width: 780px; }
.audit-table-wrap td:nth-child(4) { min-width: 260px; }
@media (max-width: 1050px) { .audit-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 650px) { .audit-filter-grid { grid-template-columns: 1fr; } }

/* Functional Archive Rules */
.archive-rules-console { display: grid; gap: 14px; }
.archive-rule-editor { grid-template-columns: repeat(2, minmax(180px, 1fr)); padding: 14px; border: 1px solid rgba(148, 163, 184, 0.18); border-radius: 8px; background: rgba(255, 255, 255, 0.035); }
.archive-rule-editor .checkbox-line { display: flex; align-items: center; gap: 8px; color: var(--ink); }
.archive-rule-editor input[type="checkbox"] { width: 18px; min-height: 18px; }
.archive-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(130px, 1fr)); gap: 10px; }
.archive-summary-grid article { display: grid; gap: 4px; padding: 12px; border: 1px solid rgba(148, 163, 184, 0.18); border-radius: 8px; background: rgba(255,255,255,.04); }
.archive-summary-grid span { color: var(--muted); font-weight: 900; font-size: .76rem; text-transform: uppercase; }
.archive-summary-grid strong { color: var(--ink); font-size: 1.7rem; line-height: 1; }
.archive-summary-grid small { color: var(--muted); font-weight: 800; }
.archive-candidate-table table { min-width: 820px; }
.archive-candidate-table td:nth-child(3) { min-width: 260px; }
@media (max-width: 950px) { .archive-rule-editor, .archive-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .archive-rule-editor, .archive-summary-grid { grid-template-columns: 1fr; } }

/* Shared animated avatar figure */
.person-avatar{--skin:#c98f65;--hair:#4a2b1d;--shirt:#18a98b;--trim:#ffe16a;position:relative;width:130px;height:190px;margin:auto}.person-avatar.mini{width:62px;height:90px}.person-avatar.hero{width:150px;height:218px}.person-avatar.workshop{width:190px;height:276px}.person-avatar.checkin{width:220px;height:320px}.person-bob{position:absolute;inset:0;animation:person-idle 2.8s ease-in-out infinite;filter:drop-shadow(0 13px 0 rgba(5,8,30,.18))}.person-head{position:absolute;z-index:4;top:10%;left:50%;width:48%;height:35%;transform:translateX(-50%);border:3px solid rgba(21,25,52,.3);border-radius:46% 46% 43% 43%;background:var(--skin);overflow:visible}.person-face{position:absolute;z-index:4;inset:38% 18% 12%;display:flex;justify-content:space-between}.person-face i{width:8px;height:10px;border-radius:50%;background:#242034}.person-face b{position:absolute;left:50%;bottom:3%;width:18px;height:8px;transform:translateX(-50%);border-bottom:3px solid #8f3e45;border-radius:50%}.person-hair{position:absolute;z-index:5;left:-4%;right:-4%;top:-8%;height:42%;border-radius:50% 50% 34% 34%;background:var(--hair)}.hair-curls .person-hair{height:47%;border-radius:48%;box-shadow:-8px 7px 0 var(--hair),8px 7px 0 var(--hair),-13px 17px 0 -3px var(--hair),13px 17px 0 -3px var(--hair)}.hair-swoop .person-hair{left:-8%;right:8%;height:48%;border-radius:80% 20% 58% 15%;transform:rotate(-7deg)}.hair-ponytail .person-hair:after{content:"";position:absolute;right:-20px;top:18px;width:24px;height:42px;border-radius:50% 50% 60% 40%;background:var(--hair);transform:rotate(-14deg)}.hair-braids .person-hair:before,.hair-braids .person-hair:after{content:"";position:absolute;top:25px;width:10px;height:46px;border-radius:999px;background:repeating-linear-gradient(var(--hair) 0 8px,#23150f 8px 10px)}.hair-braids .person-hair:before{left:-8px}.hair-braids .person-hair:after{right:-8px}.hair-mohawk .person-hair{left:35%;right:35%;top:-24%;height:52%;border-radius:70% 70% 20% 20%;transform:skew(-6deg)}.hair-buns .person-hair:before,.hair-buns .person-hair:after{content:"";position:absolute;top:-11px;width:25px;height:25px;border-radius:50%;background:var(--hair)}.hair-buns .person-hair:before{left:-8px}.hair-buns .person-hair:after{right:-8px}.hair-shaggy .person-hair{height:54%;clip-path:polygon(0 0,100% 0,100% 70%,87% 52%,77% 82%,62% 54%,49% 88%,35% 58%,20% 83%,9% 57%,0 74%)}.hair-black{--hair:#17151b}.hair-brown{--hair:#4a2b1d}.hair-auburn{--hair:#8f3f2f}.hair-blonde{--hair:#e7b84d}.hair-platinum{--hair:#eee9db}.hair-blue{--hair:#1a78d4}.hair-purple{--hair:#7b42bd}.hair-pink{--hair:#e75aa8}.skin-warm{--skin:#c98f65}.skin-light{--skin:#f3c6a3}.skin-tan{--skin:#b9784f}.skin-deep{--skin:#75462f}.skin-golden{--skin:#dca775}.skin-cool{--skin:#a8735b}.person-hat{position:absolute;z-index:9;left:50%;top:-4%;transform:translateX(-50%);font-size:calc(.27 * var(--avatar-unit,130px));line-height:1;filter:drop-shadow(0 3px 0 rgba(0,0,0,.14))}.person-avatar.mini .person-hat{font-size:20px}.person-avatar.hero .person-hat{font-size:42px}.person-avatar.workshop .person-hat{font-size:52px}.person-avatar.checkin .person-hat{font-size:61px}.person-body{position:absolute;z-index:3;left:25%;right:25%;top:43%;height:38%;border:3px solid rgba(21,25,52,.3);border-radius:25% 25% 16% 16%;background:linear-gradient(145deg,var(--shirt),#087563)}.person-outfit-mark{position:absolute;left:50%;top:27%;transform:translateX(-50%);font-size:1.05em}.person-arm{position:absolute;top:8%;width:24%;height:70%;border:3px solid rgba(21,25,52,.24);border-radius:999px;background:var(--skin)}.person-arm.left{left:-19%;transform:rotate(13deg)}.person-arm.right{right:-19%;transform:rotate(-17deg)}.person-held-prop{position:absolute;z-index:8;right:-49%;top:30%;font-size:1.8em;transform:rotate(9deg)}.person-legs{position:absolute;z-index:2;left:30%;right:30%;top:77%;bottom:3%;display:flex;justify-content:space-between}.person-legs i{width:38%;border:3px solid rgba(21,25,52,.3);border-radius:0 0 999px 999px;background:#202337}.person-ground-prop{position:absolute;z-index:7;right:-3%;bottom:0;font-size:2.5em;filter:drop-shadow(0 6px 0 rgba(0,0,0,.15))}.outfit-training-tee{--shirt:#3a82df;--trim:#fff}.outfit-neon-hoodie{--shirt:#60d95c;--trim:#15295c}.outfit-neon-hoodie .person-body{border-radius:34% 34% 16% 16%;box-shadow:inset 0 9px 0 rgba(21,41,92,.42)}.outfit-ninja-armor{--shirt:#303849;--trim:#44e0c1}.outfit-ninja-armor .person-body{box-shadow:inset 0 0 0 8px rgba(255,255,255,.16)}.outfit-camp-shirt{--shirt:#22a956;--trim:#ffe16a}.outfit-superhero{--shirt:#df3e57;--trim:#ffe16a}.outfit-superhero .person-body:before{content:"";position:absolute;z-index:-1;left:55%;top:10%;width:70%;height:90%;border-radius:12px 30px 36px 10px;background:#6745cc;transform:rotate(-7deg)}.outfit-astronaut{--shirt:#e8edf3;--trim:#3a82df}.outfit-pirate{--shirt:#8d3144;--trim:#f4d074}.outfit-dragon{--shirt:#2da267;--trim:#f3b541}.outfit-robot{--shirt:#8994a6;--trim:#47e0c1}.outfit-royal{--shirt:#7444bf;--trim:#f2c94c}.outfit-coach{--shirt:#142e26;--trim:#3ce0bb}@keyframes person-idle{0%,100%{transform:translateY(0) rotate(-.7deg)}45%{transform:translateY(-6px) rotate(.8deg)}72%{transform:translateY(-1px) rotate(.15deg)}}
/* Kid Zone avatar unlock studio */
.avatar-unlock-studio{display:grid;gap:14px}.avatar-unlock-layout{display:grid;grid-template-columns:minmax(420px,1.2fr) minmax(300px,.8fr);gap:16px}.avatar-unlock-form{display:grid;grid-template-columns:1fr 1fr;gap:11px;align-content:start}.avatar-unlock-form label{display:grid;gap:6px;color:var(--muted);font-weight:900}.avatar-unlock-form input,.avatar-unlock-form select{min-height:44px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:#20232a;color:var(--ink);font-weight:800}.avatar-unlock-form .span-2{grid-column:1/-1}.avatar-unlock-form button{justify-self:start}.avatar-unlock-preview{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:14px;min-height:280px;padding:16px;border:1px solid rgba(56,189,248,.35);border-radius:12px;background:radial-gradient(circle at 35% 20%,rgba(56,189,248,.2),transparent 38%),#181a20}.avatar-unlock-preview .person-avatar{width:150px;height:218px}.avatar-unlock-preview>div:last-child{display:grid;gap:6px}.avatar-unlock-preview strong{color:var(--ink);font-size:1.15rem}.avatar-unlock-preview span{color:var(--accent);font-weight:900}.avatar-unlock-preview small,.avatar-unlock-preview em{color:var(--muted);font-style:normal}.avatar-assignment-log{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.avatar-assignment-log article{display:grid;gap:4px;padding:11px;border:1px solid var(--line);border-radius:8px;background:#20232a}.avatar-assignment-log article strong{color:var(--ink)}.avatar-assignment-log article span,.avatar-assignment-log article small{color:var(--muted);font-size:.72rem}@media(max-width:1050px){.avatar-unlock-layout{grid-template-columns:1fr}.avatar-assignment-log{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.avatar-unlock-form,.avatar-assignment-log{grid-template-columns:1fr}.avatar-unlock-form .span-2{grid-column:auto}.avatar-unlock-preview{grid-template-columns:1fr;text-align:center}.avatar-unlock-preview .person-avatar{margin:auto}}
/* Avatar Asset Manager */
.avatar-assets-view{display:grid;gap:16px}.avatar-assets-view[hidden]{display:none}.avatar-assets-hero{display:grid;gap:14px;background:radial-gradient(circle at 85% 0,rgba(56,189,248,.16),transparent 34%),#181a20}.avatar-assets-kpis{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px}.avatar-assets-kpis article{display:grid;gap:4px;padding:14px;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:rgba(255,255,255,.035)}.avatar-assets-kpis span,.avatar-assets-kpis small{color:var(--muted);font-weight:850}.avatar-assets-kpis strong{color:var(--ink);font-size:2rem}.avatar-assets-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.avatar-assets-actions label{cursor:pointer}.avatar-assets-actions span{margin-left:auto;color:var(--muted);font-size:.78rem;font-weight:800}.avatar-manager-shell{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(430px,1.45fr) minmax(290px,.85fr);gap:14px;align-items:start}.avatar-library-panel,.avatar-editor-panel,.avatar-inspector-panel{min-width:0}.avatar-library-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:11px}.avatar-library-filters input{grid-column:1/-1}.avatar-library-filters input,.avatar-library-filters select,.avatar-transform-form input:not([type=range]):not([type=checkbox]),.avatar-transform-form select,.avatar-transform-form textarea{width:100%;min-height:40px;border:1px solid var(--line);border-radius:8px;padding:0 9px;background:#111720;color:var(--ink);font-weight:800}.avatar-transform-form textarea{padding:9px;resize:vertical}.avatar-asset-list{display:grid;gap:7px;max-height:650px;overflow:auto}.avatar-asset-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:9px;width:100%;padding:9px;border:1px solid transparent;border-radius:9px;background:#20232a;color:var(--ink);text-align:left}.avatar-asset-row:hover,.avatar-asset-row.is-selected{border-color:rgba(56,189,248,.55);background:rgba(56,189,248,.1)}.avatar-asset-row>span:first-child{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:#111720;font-size:1.35rem}.avatar-asset-row div{display:grid;gap:2px;min-width:0}.avatar-asset-row strong,.avatar-asset-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar-asset-row small{color:var(--muted)}.avatar-asset-row em{padding:4px 6px;border-radius:999px;background:rgba(148,163,184,.12);color:var(--muted);font-size:.62rem;font-style:normal;font-weight:900}.avatar-editor-panel{display:grid;gap:11px}.avatar-editor-toolbar,.avatar-viewport-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.avatar-editor-toolbar>div:first-child{display:grid;gap:2px}.avatar-editor-toolbar span{color:var(--muted);font-size:.72rem}.avatar-editor-toolbar>div:last-child,.avatar-viewport-footer{display:flex;gap:7px}.avatar-editor-viewport{--asset-x:0px;--asset-y:0px;--asset-rotation:0deg;--asset-scale:1;position:relative;display:grid;place-items:center;aspect-ratio:4/3;min-height:420px;overflow:hidden;border:1px solid rgba(56,189,248,.28);border-radius:12px;background-color:#0d1118;background-image:linear-gradient(rgba(148,163,184,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.09) 1px,transparent 1px);background-size:24px 24px}.avatar-axis{position:absolute;z-index:1;background:rgba(56,189,248,.35)}.axis-x{left:0;right:0;top:50%;height:1px}.axis-y{top:0;bottom:0;left:50%;width:1px}.avatar-reference-label{position:absolute;top:12px;left:12px;padding:5px 8px;border-radius:6px;background:rgba(0,0,0,.46);color:var(--muted);font-size:.68rem;font-weight:900}.avatar-production-character{position:relative;z-index:2;width:240px;height:360px;filter:drop-shadow(0 18px 18px rgba(0,0,0,.32))}.avatar-production-character img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.avatar-production-base{z-index:1}.avatar-production-layer{z-index:2;transform:translate(var(--asset-x),var(--asset-y)) rotate(var(--asset-rotation)) scale(var(--asset-scale));transform-origin:center;transition:transform .12s ease}.avatar-editor-gizmo{position:absolute;z-index:3;left:50%;top:30%;width:72px;height:72px;transform:translate(-50%,-50%);pointer-events:none}.avatar-editor-gizmo i,.avatar-editor-gizmo b{position:absolute;left:50%;top:50%;transform-origin:left center}.avatar-editor-gizmo i{width:72px;height:3px;background:#ff5b6e}.avatar-editor-gizmo b{width:72px;height:3px;background:#2dd4bf;transform:rotate(90deg)}.avatar-editor-gizmo span{position:absolute;left:31px;top:31px;width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:#38bdf8}.avatar-viewport-footer{justify-content:flex-start}.avatar-viewport-footer label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:.72rem;font-weight:850}.avatar-transform-form{display:grid;gap:12px}.avatar-transform-form fieldset{display:grid;gap:9px;margin:0;padding:12px;border:1px solid rgba(148,163,184,.18);border-radius:9px}.avatar-transform-form legend{padding:0 6px;color:var(--accent);font-weight:950}.avatar-transform-form label{display:grid;grid-template-columns:92px 1fr auto;align-items:center;gap:8px;color:var(--muted);font-size:.72rem;font-weight:850}.avatar-transform-form label:not(:has(input[type=range])){grid-template-columns:1fr}.avatar-transform-form .wide{grid-column:1/-1}.avatar-transform-form output{min-width:37px;color:var(--ink);text-align:right}.avatar-transform-form input[type=range]{width:100%;accent-color:#38bdf8}.avatar-transform-form .checkbox-line{display:flex;align-items:center;gap:7px}.avatar-manager-bottom-grid{display:grid;grid-template-columns:1.15fr 1fr .8fr;gap:14px}.avatar-validation-list,.avatar-revision-list{display:grid;gap:7px}.avatar-validation-list article,.avatar-revision-list article{display:grid;grid-template-columns:1fr auto;gap:4px;padding:9px;border:1px solid var(--line);border-radius:8px;background:#20232a}.avatar-validation-list article span,.avatar-revision-list article span,.avatar-revision-list article small{color:var(--muted);font-size:.72rem}.avatar-revision-list article small{grid-column:1/-1}.avatar-pipeline{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:6px}.avatar-pipeline span{padding:7px;border-radius:7px;background:rgba(56,189,248,.1);color:var(--ink);font-size:.7rem;font-weight:900}.avatar-pipeline i{height:2px;background:rgba(56,189,248,.3)}.avatar-local-note{margin-top:14px;padding:12px;border-radius:9px;background:rgba(45,212,191,.08)}.avatar-local-note p{margin:5px 0 0;color:var(--muted);line-height:1.45}.avatar-empty{padding:18px;color:var(--muted);text-align:center}.avatar-assets-view button:focus-visible,.avatar-assets-view input:focus-visible,.avatar-assets-view select:focus-visible{outline:3px solid rgba(56,189,248,.35);outline-offset:2px}
@media(max-width:1250px){.avatar-manager-shell{grid-template-columns:280px 1fr}.avatar-inspector-panel{grid-column:1/-1}.avatar-transform-form{grid-template-columns:repeat(3,1fr)}.avatar-transform-form>button{align-self:end}.avatar-manager-bottom-grid{grid-template-columns:1fr 1fr}.avatar-manager-bottom-grid>article:last-child{grid-column:1/-1}}
@media(max-width:820px){.avatar-assets-kpis,.avatar-manager-bottom-grid,.avatar-manager-shell{grid-template-columns:1fr}.avatar-inspector-panel{grid-column:auto}.avatar-transform-form{grid-template-columns:1fr}.avatar-editor-viewport{min-height:360px}.avatar-assets-actions span{width:100%;margin-left:0}}
.avatar-production-layer.is-mirrored{transform:translate(var(--asset-x),var(--asset-y)) rotate(var(--asset-rotation)) scale(calc(var(--asset-scale) * -1),var(--asset-scale))}
.avatar-production-layer{pointer-events:auto!important;cursor:grab;touch-action:none;-webkit-user-drag:none;user-select:none}.avatar-production-layer.is-dragging{cursor:grabbing;transition:none;filter:drop-shadow(0 0 12px rgba(56,189,248,.8))}.avatar-production-layer:focus-visible{outline:3px solid #38bdf8;outline-offset:4px;border-radius:10px}.avatar-editor-viewport.is-dragging{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(56,189,248,.18) inset}.avatar-drag-hint{margin-right:auto;color:var(--accent);font-size:.72rem;font-weight:850}

.avatar-asset-save-meta{display:block;margin-top:3px;color:#7dd3fc;font-size:.66rem;font-weight:900}.avatar-asset-row.is-just-saved{border-color:#2dd4bf;background:rgba(45,212,191,.12);box-shadow:0 0 0 2px rgba(45,212,191,.12) inset}.avatar-save-location{display:block;padding:8px 10px;border-radius:8px;background:rgba(56,189,248,.08);color:#7dd3fc;font-weight:850;line-height:1.4}

.avatar-color-editor{background:rgba(56,189,248,.045)}.avatar-color-editor .secondary-button{min-height:42px}.avatar-variant-help{color:var(--muted);font-size:.68rem;line-height:1.4}

.avatar-workshop-release{background:rgba(45,212,191,.045)}.avatar-release-help{color:#7dd3fc;font-size:.68rem;line-height:1.45}.avatar-workshop-release .checkbox-line{padding:8px;border-radius:8px;background:rgba(45,212,191,.08)}

/* Settings dark-theme compatibility */
.settings-view .settings-toggle-group,
.settings-view .availability-card {
  background: var(--panel) !important;
  color: var(--ink);
  border-color: var(--line) !important;
  box-shadow: none;
}
.settings-view .settings-toggle-group label { color: var(--ink); }
/* Ninja Coin reward workflow */
.coin-economy-panel{border-color:#ead28f;background:linear-gradient(135deg,#fffdf5,#fff8dc)}
.coin-economy-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.coin-economy-steps article{display:grid;gap:6px;padding:16px;border:1px solid #eadba8;border-radius:12px;background:#fff}
.coin-economy-steps strong{color:#8b6415}.coin-economy-steps span{color:#65756f;font-size:.78rem;line-height:1.45}
@media(max-width:900px){.coin-economy-steps{grid-template-columns:repeat(2,1fr)}}

