/* GVTL theme variables. Fallback / app default: dark blue "Default". Apply by setting data-theme on <html>. */

:root,
[data-theme="default"] {
    /* Backgrounds — navy / dark blue branding */
    --theme-bg-gradient: linear-gradient(160deg, #e8eef5 0%, #edf2f8 40%, #f4f8fc 100%);
    --theme-header-bg: linear-gradient(135deg, #0c1929 0%, #132f4c 45%, #1a3f5f 100%);
    --theme-header-border: #3d6ba8;
    --theme-header-shadow: rgba(8, 22, 42, 0.45);
    --theme-primary: #0c1929;
    --theme-primary-mid: #1e3a5f;
    --theme-primary-light: #2a5082;
    --theme-primary-lighter: #3568a8;
    --theme-surface: #e8eef5;
    --theme-surface-mid: #edf2f8;
    --theme-surface-strong: #d0dcea;
    --theme-card-bg: #ffffff;
    --theme-input-bg: #ffffff;
    --theme-controls-bg: rgba(255, 255, 255, 0.95);
    --theme-border: #8ca8c4;
    --theme-border-light: #b8c9da;
    --theme-accent: #3b82f6;
    --theme-accent-hover: #2563eb;
    --theme-btn-primary-start: #2563eb;
    --theme-btn-primary-end: #1e3a8a;
    --theme-btn-primary-hover-start: #1d4ed8;
    --theme-btn-primary-hover-end: #0c1929;
    --theme-shadow: rgba(30, 58, 138, 0.14);
    --theme-shadow-strong: rgba(30, 58, 138, 0.32);
    --theme-shadow-focus: rgba(59, 130, 246, 0.28);
    --theme-shadow-table: rgba(30, 58, 138, 0.1);
    --theme-text-on-primary: white;
    --theme-header-text: white;
    --theme-body-text: #333;
    --theme-dashboard-heading: #1e3a5f;
    --theme-dashboard-detail: #2a5082;
    --theme-border-subtle: rgba(12, 25, 41, 0.18);
    /* Admin panel button shades (banner) */
    --theme-admin-btn-dark: #1e3a5f;
    --theme-admin-btn-mid: #2a5082;
    --theme-admin-btn-mid-light: #3568a8;
    --theme-admin-btn-light: #5b8fd4;
    --theme-admin-btn-primary: #2563eb;
    --theme-admin-btn-pale: #c5d4e8;
    --theme-admin-btn-accent: #60a5fa;
    /* CRUD page buttons (Search, Clear, secondary actions) */
    --theme-btn-secondary: #60a5fa;
    --theme-btn-secondary-hover: #3b82f6;
    /* Server metrics charts */
    --theme-chart-text: #333;
    --theme-chart-grid: rgba(0, 0, 0, 0.08);
    --theme-chart-dataset: #2563eb;
    --theme-chart-dataset-fill: rgba(37, 99, 235, 0.12);
    --theme-chart-gauge-empty: #e8e8e8;
}

/* Ava user themes (Settings) */
[data-theme="purple"] {
    --theme-bg-gradient: linear-gradient(160deg, #f3e8f8 0%, #ede9f5 40%, #faf5fc 100%);
    --theme-header-bg: linear-gradient(135deg, #3b0764 0%, #5b21b6 45%, #6d28d9 100%);
    --theme-header-border: #a78bfa;
    --theme-header-shadow: rgba(59, 7, 100, 0.45);
    --theme-primary: #3b0764;
    --theme-primary-mid: #5b21b6;
    --theme-primary-light: #6d28d9;
    --theme-primary-lighter: #7c3aed;
    --theme-surface: #f3e8f8;
    --theme-surface-mid: #ede9f5;
    --theme-surface-strong: #ddd6fe;
    --theme-card-bg: #ffffff;
    --theme-input-bg: #ffffff;
    --theme-controls-bg: rgba(255, 255, 255, 0.95);
    --theme-border: #a78bfa;
    --theme-border-light: #c4b5fd;
    --theme-accent: #7c3aed;
    --theme-accent-hover: #6d28d9;
    --theme-btn-primary-start: #6d28d9;
    --theme-btn-primary-end: #4c1d95;
    --theme-btn-primary-hover-start: #5b21b6;
    --theme-btn-primary-hover-end: #3b0764;
    --theme-shadow: rgba(91, 33, 182, 0.14);
    --theme-shadow-strong: rgba(91, 33, 182, 0.28);
    --theme-shadow-focus: rgba(124, 58, 237, 0.35);
    --theme-shadow-table: rgba(91, 33, 182, 0.1);
    --theme-text-on-primary: white;
    --theme-header-text: white;
    --theme-body-text: #333;
    --theme-dashboard-heading: #5b21b6;
    --theme-dashboard-detail: #6d28d9;
    --theme-border-subtle: rgba(59, 7, 100, 0.15);
    --theme-admin-btn-dark: #4c1d95;
    --theme-admin-btn-mid: #5b21b6;
    --theme-admin-btn-mid-light: #6d28d9;
    --theme-admin-btn-light: #8b5cf6;
    --theme-admin-btn-primary: #7c3aed;
    --theme-admin-btn-pale: #ddd6fe;
    --theme-admin-btn-accent: #c4b5fd;
    --theme-btn-secondary: #8b5cf6;
    --theme-btn-secondary-hover: #7c3aed;
    --theme-chart-text: #333;
    --theme-chart-grid: rgba(0, 0, 0, 0.08);
    --theme-chart-dataset: #7c3aed;
    --theme-chart-dataset-fill: rgba(124, 58, 237, 0.12);
    --theme-chart-gauge-empty: #e8e8e8;
}

[data-theme="teal"] {
    --theme-bg-gradient: linear-gradient(160deg, #e0f7fa 0%, #e8f5f4 40%, #f0fdf9 100%);
    --theme-header-bg: linear-gradient(135deg, #042f2e 0%, #0d5c55 45%, #0f766e 100%);
    --theme-header-border: #2dd4bf;
    --theme-header-shadow: rgba(4, 47, 46, 0.45);
    --theme-primary: #042f2e;
    --theme-primary-mid: #0d5c55;
    --theme-primary-light: #0f766e;
    --theme-primary-lighter: #14b8a6;
    --theme-surface: #e0f7fa;
    --theme-surface-mid: #e8f5f4;
    --theme-surface-strong: #99f6e4;
    --theme-card-bg: #ffffff;
    --theme-input-bg: #ffffff;
    --theme-controls-bg: rgba(255, 255, 255, 0.95);
    --theme-border: #5eead4;
    --theme-border-light: #99f6e4;
    --theme-accent: #0d9488;
    --theme-accent-hover: #0f766e;
    --theme-btn-primary-start: #0d9488;
    --theme-btn-primary-end: #115e59;
    --theme-btn-primary-hover-start: #0f766e;
    --theme-btn-primary-hover-end: #042f2e;
    --theme-shadow: rgba(13, 92, 85, 0.14);
    --theme-shadow-strong: rgba(13, 92, 85, 0.28);
    --theme-shadow-focus: rgba(20, 184, 166, 0.35);
    --theme-shadow-table: rgba(13, 92, 85, 0.1);
    --theme-text-on-primary: white;
    --theme-header-text: white;
    --theme-body-text: #333;
    --theme-dashboard-heading: #0d5c55;
    --theme-dashboard-detail: #0f766e;
    --theme-border-subtle: rgba(4, 47, 46, 0.15);
    --theme-admin-btn-dark: #115e59;
    --theme-admin-btn-mid: #0f766e;
    --theme-admin-btn-mid-light: #14b8a6;
    --theme-admin-btn-light: #2dd4bf;
    --theme-admin-btn-primary: #0d9488;
    --theme-admin-btn-pale: #ccfbf1;
    --theme-admin-btn-accent: #5eead4;
    --theme-btn-secondary: #14b8a6;
    --theme-btn-secondary-hover: #0d9488;
    --theme-chart-text: #333;
    --theme-chart-grid: rgba(0, 0, 0, 0.08);
    --theme-chart-dataset: #0d9488;
    --theme-chart-dataset-fill: rgba(13, 148, 136, 0.12);
    --theme-chart-gauge-empty: #e8e8e8;
}

[data-theme="maroon"] {
    --theme-bg-gradient: linear-gradient(160deg, #fce8e8 0%, #f8eef0 40%, #fdf5f5 100%);
    --theme-header-bg: linear-gradient(135deg, #450a0a 0%, #7f1d1d 45%, #991b1b 100%);
    --theme-header-border: #f87171;
    --theme-header-shadow: rgba(69, 10, 10, 0.45);
    --theme-primary: #450a0a;
    --theme-primary-mid: #7f1d1d;
    --theme-primary-light: #991b1b;
    --theme-primary-lighter: #b91c1c;
    --theme-surface: #fce8e8;
    --theme-surface-mid: #f8eef0;
    --theme-surface-strong: #fecaca;
    --theme-card-bg: #ffffff;
    --theme-input-bg: #ffffff;
    --theme-controls-bg: rgba(255, 255, 255, 0.95);
    --theme-border: #f87171;
    --theme-border-light: #fecaca;
    --theme-accent: #dc2626;
    --theme-accent-hover: #b91c1c;
    --theme-btn-primary-start: #b91c1c;
    --theme-btn-primary-end: #7f1d1d;
    --theme-btn-primary-hover-start: #991b1b;
    --theme-btn-primary-hover-end: #450a0a;
    --theme-shadow: rgba(127, 29, 29, 0.14);
    --theme-shadow-strong: rgba(127, 29, 29, 0.28);
    --theme-shadow-focus: rgba(220, 38, 38, 0.3);
    --theme-shadow-table: rgba(127, 29, 29, 0.1);
    --theme-text-on-primary: white;
    --theme-header-text: white;
    --theme-body-text: #333;
    --theme-dashboard-heading: #7f1d1d;
    --theme-dashboard-detail: #991b1b;
    --theme-border-subtle: rgba(69, 10, 10, 0.15);
    --theme-admin-btn-dark: #7f1d1d;
    --theme-admin-btn-mid: #991b1b;
    --theme-admin-btn-mid-light: #b91c1c;
    --theme-admin-btn-light: #ef4444;
    --theme-admin-btn-primary: #dc2626;
    --theme-admin-btn-pale: #fecaca;
    --theme-admin-btn-accent: #fca5a5;
    --theme-btn-secondary: #f87171;
    --theme-btn-secondary-hover: #ef4444;
    --theme-chart-text: #333;
    --theme-chart-grid: rgba(0, 0, 0, 0.08);
    --theme-chart-dataset: #dc2626;
    --theme-chart-dataset-fill: rgba(220, 38, 38, 0.12);
    --theme-chart-gauge-empty: #e8e8e8;
}

/* Wimbledon — grass court greens */
[data-theme="wimbledon"] {
    --theme-bg-gradient: linear-gradient(160deg, #E8F5E9 0%, #F1F8E9 40%, #FFFDE7 100%);
    --theme-header-bg: linear-gradient(135deg, #1B5E20 0%, #2E7D32 50%, #388E3C 100%);
    --theme-header-border: #CDDC39;
    --theme-header-shadow: rgba(27, 94, 32, 0.4);
    --theme-primary: #1B5E20;
    --theme-primary-mid: #2E7D32;
    --theme-primary-light: #388E3C;
    --theme-primary-lighter: #43A047;
    --theme-surface: #E8F5E9;
    --theme-surface-mid: #F1F8E9;
    --theme-surface-strong: #C8E6C9;
    --theme-card-bg: #ffffff;
    --theme-input-bg: #ffffff;
    --theme-controls-bg: rgba(255, 255, 255, 0.95);
    --theme-border: #C8E6C9;
    --theme-border-light: #A5D6A7;
    --theme-accent: #CDDC39;
    --theme-accent-hover: #D4E157;
    --theme-btn-primary-start: #43A047;
    --theme-btn-primary-end: #2E7D32;
    --theme-btn-primary-hover-start: #388E3C;
    --theme-btn-primary-hover-end: #1B5E20;
    --theme-shadow: rgba(46, 125, 50, 0.15);
    --theme-shadow-strong: rgba(46, 125, 50, 0.35);
    --theme-shadow-focus: rgba(67, 160, 71, 0.2);
    --theme-shadow-table: rgba(46, 125, 50, 0.12);
    --theme-text-on-primary: white;
    --theme-header-text: white;
    --theme-body-text: #333;
    --theme-dashboard-heading: #558B2F;
    --theme-dashboard-detail: #689F38;
    --theme-border-subtle: rgba(30, 94, 32, 0.2);
    --theme-admin-btn-dark: #2E7D32;
    --theme-admin-btn-mid: #388E3C;
    --theme-admin-btn-mid-light: #66BB6A;
    --theme-admin-btn-light: #81C784;
    --theme-admin-btn-primary: #43A047;
    --theme-admin-btn-pale: #A5D6A7;
    --theme-admin-btn-accent: #CDDC39;
    --theme-btn-secondary: #81C784;
    --theme-btn-secondary-hover: #66BB6A;
    --theme-chart-text: #333;
    --theme-chart-grid: rgba(0, 0, 0, 0.08);
    --theme-chart-dataset: #1976d2;
    --theme-chart-dataset-fill: rgba(25, 118, 210, 0.1);
    --theme-chart-gauge-empty: #e8e8e8;
}

[data-theme="usopen"] {
    --theme-bg-gradient: linear-gradient(160deg, #E3F2FD 0%, #E8EAF6 40%, #FCE4EC 100%);
    --theme-header-bg: linear-gradient(135deg, #0D47A1 0%, #1565C0 50%, #1976D2 100%);
    --theme-header-border: #42A5F5;
    --theme-header-shadow: rgba(13, 71, 161, 0.4);
    --theme-primary: #0D47A1;
    --theme-primary-mid: #1565C0;
    --theme-primary-light: #1976D2;
    --theme-primary-lighter: #1E88E5;
    --theme-surface: #E3F2FD;
    --theme-surface-mid: #E8EAF6;
    --theme-surface-strong: #BBDEFB;
    --theme-card-bg: #ffffff;
    --theme-input-bg: #ffffff;
    --theme-controls-bg: rgba(255, 255, 255, 0.95);
    --theme-border: #90CAF9;
    --theme-border-light: #BBDEFB;
    --theme-accent: #42A5F5;
    --theme-accent-hover: #64B5F6;
    --theme-btn-primary-start: #1E88E5;
    --theme-btn-primary-end: #1565C0;
    --theme-btn-primary-hover-start: #1976D2;
    --theme-btn-primary-hover-end: #0D47A1;
    --theme-shadow: rgba(21, 101, 192, 0.15);
    --theme-shadow-strong: rgba(21, 101, 192, 0.35);
    --theme-shadow-focus: rgba(30, 136, 229, 0.2);
    --theme-shadow-table: rgba(21, 101, 192, 0.12);
    --theme-text-on-primary: white;
    --theme-header-text: white;
    --theme-body-text: #333;
    --theme-dashboard-heading: #1565C0;
    --theme-dashboard-detail: #1976D2;
    --theme-border-subtle: rgba(13, 71, 161, 0.2);
    /* Admin panel button shades (banner) */
    --theme-admin-btn-dark: #1565C0;
    --theme-admin-btn-mid: #1976D2;
    --theme-admin-btn-mid-light: #1E88E5;
    --theme-admin-btn-light: #42A5F5;
    --theme-admin-btn-primary: #1E88E5;
    --theme-admin-btn-pale: #BBDEFB;
    --theme-admin-btn-accent: #42A5F5;
    /* CRUD page buttons (Search, Clear, secondary actions) */
    --theme-btn-secondary: #64B5F6;
    --theme-btn-secondary-hover: #42A5F5;
    /* Server metrics charts */
    --theme-chart-text: #333;
    --theme-chart-grid: rgba(0, 0, 0, 0.08);
    --theme-chart-dataset: #1976d2;
    --theme-chart-dataset-fill: rgba(25, 118, 210, 0.1);
    --theme-chart-gauge-empty: #e8e8e8;
}

/* French Open — clay court / Roland-Garros: terre battue reds and cream */
[data-theme="frenchopen"] {
    --theme-bg-gradient: linear-gradient(160deg, #FFF8F0 0%, #FFEFE0 40%, #FFE4D0 100%);
    --theme-header-bg: linear-gradient(135deg, #8B2500 0%, #A52A2A 50%, #B22222 100%);
    --theme-header-border: #D2691E;
    --theme-header-shadow: rgba(139, 37, 0, 0.4);
    --theme-primary: #8B2500;
    --theme-primary-mid: #A52A2A;
    --theme-primary-light: #B22222;
    --theme-primary-lighter: #CD5C5C;
    --theme-surface: #FFF8F0;
    --theme-surface-mid: #FFEFE0;
    --theme-surface-strong: #F5DEB3;
    --theme-card-bg: #ffffff;
    --theme-input-bg: #ffffff;
    --theme-controls-bg: rgba(255, 255, 255, 0.95);
    --theme-border: #DEB887;
    --theme-border-light: #F5DEB3;
    --theme-accent: #D2691E;
    --theme-accent-hover: #CD853F;
    --theme-btn-primary-start: #B22222;
    --theme-btn-primary-end: #8B2500;
    --theme-btn-primary-hover-start: #A52A2A;
    --theme-btn-primary-hover-end: #6B1A00;
    --theme-shadow: rgba(165, 42, 42, 0.15);
    --theme-shadow-strong: rgba(165, 42, 42, 0.35);
    --theme-shadow-focus: rgba(205, 92, 92, 0.2);
    --theme-shadow-table: rgba(165, 42, 42, 0.12);
    --theme-text-on-primary: white;
    --theme-header-text: white;
    --theme-body-text: #333;
    --theme-dashboard-heading: #8B2500;
    --theme-dashboard-detail: #A52A2A;
    --theme-border-subtle: rgba(139, 37, 0, 0.2);
    /* Admin panel button shades (banner) */
    --theme-admin-btn-dark: #8B2500;
    --theme-admin-btn-mid: #A52A2A;
    --theme-admin-btn-mid-light: #B22222;
    --theme-admin-btn-light: #CD5C5C;
    --theme-admin-btn-primary: #B22222;
    --theme-admin-btn-pale: #DEB887;
    --theme-admin-btn-accent: #D2691E;
    /* CRUD page buttons (Search, Clear, secondary actions) */
    --theme-btn-secondary: #CD853F;
    --theme-btn-secondary-hover: #D2691E;
    /* Server metrics charts */
    --theme-chart-text: #333;
    --theme-chart-grid: rgba(0, 0, 0, 0.08);
    --theme-chart-dataset: #A52A2A;
    --theme-chart-dataset-fill: rgba(165, 42, 42, 0.1);
    --theme-chart-gauge-empty: #e8e8e8;
}

/* Australian Open — Melbourne hard court: electric blue and ice/summer blue */
[data-theme="australianopen"] {
    --theme-bg-gradient: linear-gradient(160deg, #E1F5FE 0%, #E8F4FC 40%, #F0F8FF 100%);
    --theme-header-bg: linear-gradient(135deg, #006BB3 0%, #0082CA 50%, #00A0E0 100%);
    --theme-header-border: #4FC3F7;
    --theme-header-shadow: rgba(0, 107, 179, 0.4);
    --theme-primary: #006BB3;
    --theme-primary-mid: #0082CA;
    --theme-primary-light: #00A0E0;
    --theme-primary-lighter: #29B6F6;
    --theme-surface: #E1F5FE;
    --theme-surface-mid: #E8F4FC;
    --theme-surface-strong: #B3E5FC;
    --theme-card-bg: #ffffff;
    --theme-input-bg: #ffffff;
    --theme-controls-bg: rgba(255, 255, 255, 0.95);
    --theme-border: #81D4FA;
    --theme-border-light: #B3E5FC;
    --theme-accent: #4FC3F7;
    --theme-accent-hover: #81D4FA;
    --theme-btn-primary-start: #00A0E0;
    --theme-btn-primary-end: #006BB3;
    --theme-btn-primary-hover-start: #0082CA;
    --theme-btn-primary-hover-end: #005A8C;
    --theme-shadow: rgba(0, 130, 202, 0.15);
    --theme-shadow-strong: rgba(0, 130, 202, 0.35);
    --theme-shadow-focus: rgba(41, 182, 246, 0.2);
    --theme-shadow-table: rgba(0, 130, 202, 0.12);
    --theme-text-on-primary: white;
    --theme-header-text: white;
    --theme-body-text: #333;
    --theme-dashboard-heading: #006BB3;
    --theme-dashboard-detail: #0082CA;
    --theme-border-subtle: rgba(0, 107, 179, 0.2);
    /* Admin panel button shades (banner) */
    --theme-admin-btn-dark: #006BB3;
    --theme-admin-btn-mid: #0082CA;
    --theme-admin-btn-mid-light: #00A0E0;
    --theme-admin-btn-light: #29B6F6;
    --theme-admin-btn-primary: #00A0E0;
    --theme-admin-btn-pale: #B3E5FC;
    --theme-admin-btn-accent: #4FC3F7;
    /* CRUD page buttons (Search, Clear, secondary actions) */
    --theme-btn-secondary: #81D4FA;
    --theme-btn-secondary-hover: #4FC3F7;
    /* Server metrics charts */
    --theme-chart-text: #333;
    --theme-chart-grid: rgba(0, 0, 0, 0.08);
    --theme-chart-dataset: #0082CA;
    --theme-chart-dataset-fill: rgba(0, 130, 202, 0.1);
    --theme-chart-gauge-empty: #e8e8e8;
}

/* Fallout — Pip-Boy CRT: dark terminal background with neon green phosphor */
[data-theme="fallout"] {
    --theme-bg-gradient: radial-gradient(circle at top, #020908 0%, #020403 40%, #000000 100%);
    --theme-header-bg: linear-gradient(135deg, #041b12 0%, #022510 45%, #010d08 100%);
    --theme-header-border: #7CFC00;
    --theme-header-shadow: rgba(0, 255, 128, 0.28);
    --theme-primary: #7CFC00;
    --theme-primary-mid: #4ae877;
    --theme-primary-light: #9eff57;
    --theme-primary-lighter: #c6ff8f;
    --theme-surface: #020806;
    --theme-surface-mid: #020f0a;
    --theme-surface-strong: #041812;
    --theme-card-bg: #020807;
    --theme-input-bg: #020a07;
    --theme-controls-bg: rgba(2, 12, 8, 0.98);
    --theme-border: #094625;
    --theme-border-light: #116b3a;
    --theme-accent: #9eff57;
    --theme-accent-hover: #c6ff8f;
    --theme-btn-primary-start: #074e29;
    --theme-btn-primary-end: #042414;
    --theme-btn-primary-hover-start: #0a6b3a;
    --theme-btn-primary-hover-end: #053020;
    --theme-shadow: rgba(0, 0, 0, 0.7);
    --theme-shadow-strong: rgba(0, 0, 0, 0.9);
    --theme-shadow-focus: rgba(124, 252, 0, 0.35);
    --theme-shadow-table: rgba(0, 0, 0, 0.75);
    --theme-text-on-primary: #9eff57;
    --theme-header-text: #c6ff8f;
    --theme-body-text: #c6ff8f;
    --theme-dashboard-heading: #9eff57;
    --theme-dashboard-detail: #6be86b;
    --theme-border-subtle: rgba(124, 252, 0, 0.25);
    /* Admin panel button shades (banner) */
    --theme-admin-btn-dark: #041b12;
    --theme-admin-btn-mid: #06301c;
    --theme-admin-btn-mid-light: #094126;
    --theme-admin-btn-light: #0c5330;
    --theme-admin-btn-primary: #7CFC00;
    --theme-admin-btn-pale: #094626;
    --theme-admin-btn-accent: #9eff57;
    /* CRUD page buttons (Search, Clear, secondary actions) */
    --theme-btn-secondary: #06301c;
    --theme-btn-secondary-hover: #094126;
    /* Server metrics charts */
    --theme-chart-text: #c6ff8f;
    --theme-chart-grid: rgba(158, 255, 87, 0.2);
    --theme-chart-dataset: #9eff57;
    --theme-chart-dataset-fill: rgba(158, 255, 87, 0.12);
    --theme-chart-gauge-empty: #04120d;
}

/* Dark theme: "Under the lights" — stadium-night feel with warm amber accents */
[data-theme="under-the-lights"] {
    --theme-bg-gradient: linear-gradient(160deg, #1a1a1a 0%, #252525 40%, #2d2d2d 100%);
    --theme-header-bg: linear-gradient(135deg, #2d2d2d 0%, #383838 50%, #424242 100%);
    --theme-header-border: #D4A84B;
    --theme-header-shadow: rgba(0, 0, 0, 0.4);
    --theme-primary: #E8D5A3;
    --theme-primary-mid: #D4A84B;
    --theme-primary-light: #C99C3D;
    --theme-primary-lighter: #D4A84B;
    --theme-surface: #2d2d2d;
    --theme-surface-mid: #383838;
    --theme-surface-strong: #454545;
    --theme-card-bg: #2d2d2d;
    --theme-input-bg: #383838;
    --theme-controls-bg: rgba(45, 45, 45, 0.98);
    --theme-border: #505050;
    --theme-border-light: #606060;
    --theme-accent: #D4A84B;
    --theme-accent-hover: #E8C068;
    --theme-btn-primary-start: #C99C3D;
    --theme-btn-primary-end: #A67C2E;
    --theme-btn-primary-hover-start: #D4A84B;
    --theme-btn-primary-hover-end: #8B6914;
    --theme-shadow: rgba(0, 0, 0, 0.3);
    --theme-shadow-strong: rgba(0, 0, 0, 0.5);
    --theme-shadow-focus: rgba(212, 168, 75, 0.3);
    --theme-shadow-table: rgba(0, 0, 0, 0.2);
    --theme-text-on-primary: #1a1a1a;
    --theme-header-text: #e5e5e5;
    --theme-body-text: #e5e5e5;
    --theme-dashboard-heading: #D4A84B;
    --theme-dashboard-detail: #C99C3D;
    --theme-border-subtle: rgba(212, 168, 75, 0.25);
    /* Admin panel button shades (banner) */
    --theme-admin-btn-dark: #5c4a2a;
    --theme-admin-btn-mid: #6B5529;
    --theme-admin-btn-mid-light: #8B6914;
    --theme-admin-btn-light: #A67C2E;
    --theme-admin-btn-primary: #C99C3D;
    --theme-admin-btn-pale: #8B6914;
    --theme-admin-btn-accent: #D4A84B;
    /* CRUD page buttons (Search, Clear, secondary actions) */
    --theme-btn-secondary: #6B5529;
    --theme-btn-secondary-hover: #8B6914;
    /* Server metrics charts */
    --theme-chart-text: #e5e5e5;
    --theme-chart-grid: rgba(255, 255, 255, 0.12);
    --theme-chart-dataset: #D4A84B;
    --theme-chart-dataset-fill: rgba(212, 168, 75, 0.15);
    --theme-chart-gauge-empty: #454545;
}

/* High contrast — maximum contrast for accessibility: black/white with strong borders */
[data-theme="high-contrast"] {
    --theme-bg-gradient: #ffffff;
    --theme-header-bg: #000000;
    --theme-header-border: #000000;
    --theme-header-shadow: rgba(0, 0, 0, 0.5);
    --theme-primary: #000000;
    --theme-primary-mid: #000000;
    --theme-primary-light: #1a1a1a;
    --theme-primary-lighter: #333333;
    --theme-surface: #ffffff;
    --theme-surface-mid: #f5f5f5;
    --theme-surface-strong: #e0e0e0;
    --theme-card-bg: #ffffff;
    --theme-input-bg: #ffffff;
    --theme-controls-bg: #ffffff;
    --theme-border: #000000;
    --theme-border-light: #000000;
    --theme-accent: #000000;
    --theme-accent-hover: #333333;
    --theme-btn-primary-start: #000000;
    --theme-btn-primary-end: #000000;
    --theme-btn-primary-hover-start: #333333;
    --theme-btn-primary-hover-end: #000000;
    --theme-shadow: rgba(0, 0, 0, 0.25);
    --theme-shadow-strong: rgba(0, 0, 0, 0.5);
    --theme-shadow-focus: rgba(0, 0, 0, 0.6);
    --theme-shadow-table: rgba(0, 0, 0, 0.2);
    --theme-text-on-primary: #ffffff;
    --theme-header-text: #ffffff;
    --theme-body-text: #000000;
    --theme-dashboard-heading: #000000;
    --theme-dashboard-detail: #000000;
    --theme-border-subtle: #000000;
    /* Admin panel button shades (banner) */
    --theme-admin-btn-dark: #000000;
    --theme-admin-btn-mid: #1a1a1a;
    --theme-admin-btn-mid-light: #333333;
    --theme-admin-btn-light: #4d4d4d;
    --theme-admin-btn-primary: #000000;
    --theme-admin-btn-pale: #666666;
    --theme-admin-btn-accent: #000000;
    /* CRUD page buttons (Search, Clear, secondary actions) */
    --theme-btn-secondary: #333333;
    --theme-btn-secondary-hover: #000000;
    /* Server metrics charts */
    --theme-chart-text: #000000;
    --theme-chart-grid: rgba(0, 0, 0, 0.2);
    --theme-chart-dataset: #000000;
    --theme-chart-dataset-fill: rgba(0, 0, 0, 0.08);
    --theme-chart-gauge-empty: #e0e0e0;
}

/* Fallout theme tweaks for admin UI components */
[data-theme="fallout"] .btn-admin.btn-admin--primary {
    /* Primary league management buttons: use dark text for contrast on neon background */
    color: #020807;
}

[data-theme="fallout"] .btn-admin.btn-admin--primary:not(.active):hover {
    /* On hover, darken background slightly and switch to light text */
    filter: brightness(0.8);
    color: #c6ff8f;
}

[data-theme="fallout"] .btn-help,
[data-theme="fallout"] .btn-help:hover {
    /* Help buttons: dark text on bright green */
    color: #020807;
}

[data-theme="fallout"] .admin-content-modal-tab-bar {
    /* Tab bar background: slightly lighter to separate from neon header */
    background: linear-gradient(135deg, #041812 0%, #06301c 50%, #041812 100%);
}

[data-theme="fallout"] .admin-content-tab {
    /* Tabs: bright text on darker tab surface for readability */
    background: #020f0a;
    color: #c6ff8f;
    border-color: #094625;
}

[data-theme="fallout"] .admin-content-tab.active {
    /* Active tab: neon border and strong contrast text */
    background: #06301c;
    color: #c6ff8f;
    border-color: #9eff57;
}

[data-theme="fallout"] .data-table thead {
    /* Grid header rows: dark text against bright green header gradient */
    color: #020807;
}

/* Under the lights: dark admin buttons need light text (--theme-text-on-primary is dark for amber surfaces) */
[data-theme="under-the-lights"] .btn-admin.btn-admin--dark,
[data-theme="under-the-lights"] .btn-admin.btn-admin--mid,
[data-theme="under-the-lights"] .btn-admin.btn-admin--mid-light {
    color: #e5e5e5;
}

/* High contrast: force light text on all dark buttons (they use --theme-primary for color elsewhere) */
[data-theme="high-contrast"] .btn-admin.btn-admin--light,
[data-theme="high-contrast"] .btn-admin.btn-admin--pale,
[data-theme="high-contrast"] .btn-admin.btn-admin--accent {
    color: #ffffff;
}

[data-theme="high-contrast"] .btn-secondary,
[data-theme="high-contrast"] .btn-secondary:hover {
    color: #ffffff;
}

[data-theme="high-contrast"] .btn-help,
[data-theme="high-contrast"] .btn-help:hover {
    color: #ffffff;
}

/* High contrast: notification/dashboard tile content black */
[data-theme="high-contrast"] .dashboard-card__value,
[data-theme="high-contrast"] .dashboard-card--warning .dashboard-card__value,
[data-theme="high-contrast"] .dashboard-card--info .dashboard-card__value,
[data-theme="high-contrast"] .dashboard-card--success .dashboard-card__value,
[data-theme="high-contrast"] .dashboard-card__label,
[data-theme="high-contrast"] .dashboard-card__detail,
[data-theme="high-contrast"] .dashboard-card__arrow {
    color: #000000;
}
