/* Shared semantic palette. Dark values match the existing portal exactly. */
:root,
[data-theme="dark"] {
  --theme-page-background: #0f0b18;
  --theme-sidebar-background: #171022;
  --theme-card-background: #191127;
  --theme-raised-background: #20152f;
  --theme-primary-text: #f7f3ff;
  --theme-muted-text: #a89eb8;
  --theme-accent: #8b5cf6;
  --theme-link: #c084fc;
  --theme-border: rgba(255, 255, 255, .09);
  --theme-input-background: #120d1d;
  --theme-soft-purple: rgba(139, 92, 246, .14);
  --theme-color-scheme: dark;
  --app-bg: var(--theme-page-background);
  --app-sidebar: var(--theme-sidebar-background);
  --app-panel: var(--theme-card-background);
  --app-panel-raised: var(--theme-raised-background);
  --app-text: var(--theme-primary-text);
  --app-muted: var(--theme-muted-text);
  --app-accent: var(--theme-accent);
  --app-accent-light: var(--theme-link);
  --app-border: var(--theme-border);
}

[data-theme="light"] {
  --theme-page-background: #fcfbfd;
  --theme-sidebar-background: #e5dced;
  --theme-card-background: #f7f5f9;
  --theme-raised-background: #f3eef7;
  --theme-navigation-background: #eee8f3;
  --theme-table-background: #faf8fc;
  --theme-table-header-background: #f0ebf5;
  --theme-primary-text: #2b2239;
  --theme-secondary-text: #62536f;
  --theme-muted-text: #71637c;
  --theme-accent: #8b5cf6;
  --theme-link: #69369e;
  --theme-border: rgba(83, 54, 111, .24);
  --theme-input-background: #fdfcfe;
  --theme-soft-purple: #e8dcf5;
  --theme-color-scheme: light;
  --theme-strong-text: var(--theme-primary-text);
  --theme-secondary-color: var(--theme-secondary-text);
  --theme-muted-color: var(--theme-muted-text);
  --theme-link-color: var(--theme-link);
  --theme-success-color: #177447;
  --theme-warning-color: #805400;
  --theme-danger-color: #a52b3a;
  --theme-info-color: #225c91;
  --theme-surface-color: var(--theme-card-background);
  --theme-elevated-color: var(--theme-table-background);
  --theme-control-color: var(--theme-input-background);
  --theme-hover-color: #eee5f6;
  --theme-border-color: var(--theme-border);
  --theme-control-border: #c8b7d9;
  --theme-shadow-color: rgba(61, 32, 83, .07);
  --app-bg: var(--theme-page-background);
  --app-sidebar: var(--theme-sidebar-background);
  --app-panel: var(--theme-card-background);
  --app-panel-raised: var(--theme-raised-background);
  --app-text: var(--theme-primary-text);
  --app-muted: var(--theme-muted-text);
  --app-accent: var(--theme-accent);
  --app-accent-light: var(--theme-link);
  --app-border: var(--theme-border);
}

/* Legacy shared aliases stay centralized, not redefined per page. */
[data-theme="light"],
[data-theme="light"] .app-theme,
[data-theme="light"] .admin-theme {
  --ink: var(--theme-primary-text);
  --muted: var(--theme-muted-text);
  --line: var(--theme-border);
  --surface: var(--theme-card-background);
  --background: var(--theme-page-background);
  --purple-800: #5b2d89;
  --purple-650: #743eae;
  --purple-100: var(--theme-soft-purple);
  --success: var(--theme-success-color);
  --danger: var(--theme-danger-color);
  --input-background: var(--theme-input-background);
  --input-border: var(--theme-control-border);
  --button-ghost-text: #633394;
}

[data-theme="light"] .app-theme { color-scheme: light; }
[data-theme="light"] .metric-accent {
  background: var(--theme-soft-purple);
  border-color: var(--theme-border);
}
[data-theme="light"] .scoreboard-page {
  --green: var(--theme-success-color);
  --red: var(--theme-danger-color);
  --yellow: var(--theme-warning-color);
  --border: var(--theme-border);
}

/* Light-only hierarchy; no sizing, positioning or dark declarations change. */
[data-theme="light"] .app-shell {
  background: var(--theme-page-background);
}
[data-theme="light"] .app-sidebar {
  background: var(--theme-sidebar-background);
}
[data-theme="light"] .scoreboard-subnav-sticky,
[data-theme="light"] .management-tabs,
[data-theme="light"] .queue-tabs,
[data-theme="light"] .mobile-header {
  background: var(--theme-navigation-background);
}
[data-theme="light"] .score-card,
[data-theme="light"] .booking,
[data-theme="light"] .reviews-platform-summary,
[data-theme="light"] .reviews-summary > div {
  background: var(--theme-card-background);
  border-color: var(--theme-border);
}
[data-theme="light"] .table-panel,
[data-theme="light"] .table-card {
  background: var(--theme-table-background);
}
[data-theme="light"] thead,
[data-theme="light"] .scoreboard-wrap thead th,
[data-theme="light"] .commission-user-team-overview thead th {
  background: var(--theme-table-header-background);
}

/* Brand marks / solid accent buttons keep white lettering in both themes. */
[data-theme="light"] .brand-mark,
[data-theme="light"] .mobile-brand-mark,
[data-theme="light"] .button-primary,
[data-theme="light"] .button-danger,
[data-theme="light"] .nav-count,
[data-theme="light"] .reviews-calendar-day.is-selected,
[data-theme="light"] .month-picker-cell.is-selected,
[data-theme="light"] .monthly-reward-save { color: #fff; }
.sidebar-brand[data-theme-toggle], .mobile-brand[data-theme-toggle] { border:0; background:transparent; padding:0; font-family:inherit; text-align:left; cursor:pointer; }
