/* PCA DRS shared design tokens and user-selectable themes. */
:root,
html[data-theme="light"] {
    color-scheme: light;
    --drs-bg: #edf3f8;
    --drs-bg-accent: #e5edf6;
    --drs-surface: #ffffff;
    --drs-surface-soft: #f6f9fc;
    --drs-surface-strong: #eaf1f8;
    --drs-text: #10243d;
    --drs-text-muted: #5f7187;
    --drs-border: #cad6e4;
    --drs-border-strong: #aebed0;
    --drs-primary: #2457d6;
    --drs-primary-hover: #1948bc;
    --drs-primary-soft: #eaf0ff;
    --drs-success: #168653;
    --drs-warning: #b66c10;
    --drs-danger: #b63c4a;
    --drs-focus: rgba(36, 87, 214, 0.24);
    --drs-shadow-sm: 0 3px 10px rgba(16, 36, 61, 0.07);
    --drs-shadow-md: 0 12px 32px rgba(16, 36, 61, 0.10);
    --drs-radius-sm: 10px;
    --drs-radius-md: 16px;
    --drs-radius-lg: 24px;
    --drs-nav-bg: #173552;
    --drs-nav-text: #ffffff;
    --drs-footer-bg: rgba(23, 53, 82, 0.92);

    /* Compatibility aliases used by the older pages. */
    --main-body-color: var(--drs-nav-bg) !important;
    --darker_secondary_blue: var(--drs-nav-bg) !important;
    --orange: #e6941a;
}

html[data-theme="dark"] {
    color-scheme: dark;
    --drs-bg: #0f1b28;
    --drs-bg-accent: #132335;
    --drs-surface: #18283a;
    --drs-surface-soft: #1d3045;
    --drs-surface-strong: #263b52;
    --drs-text: #f1f5f9;
    --drs-text-muted: #b4c1d0;
    --drs-border: #3a5068;
    --drs-border-strong: #58708a;
    --drs-primary: #77a2ff;
    --drs-primary-hover: #9abaff;
    --drs-primary-soft: #243d68;
    --drs-success: #4fc68a;
    --drs-warning: #f4b65c;
    --drs-danger: #ff8793;
    --drs-focus: rgba(119, 162, 255, 0.34);
    --drs-shadow-sm: 0 3px 12px rgba(0, 0, 0, 0.24);
    --drs-shadow-md: 0 16px 38px rgba(0, 0, 0, 0.32);
    --drs-nav-bg: #0a1724;
    --drs-nav-text: #f8fafc;
    --drs-footer-bg: rgba(10, 23, 36, 0.94);
}

html[data-theme="outdoor"] {
    color-scheme: light;
    --drs-bg: #eee9dc;
    --drs-bg-accent: #e5decd;
    --drs-surface: #fffef8;
    --drs-surface-soft: #f8f4e8;
    --drs-surface-strong: #ece4d0;
    --drs-text: #071a2e;
    --drs-text-muted: #334960;
    --drs-border: #8291a0;
    --drs-border-strong: #52677c;
    --drs-primary: #0d3f91;
    --drs-primary-hover: #082f70;
    --drs-primary-soft: #dce7f7;
    --drs-success: #09693d;
    --drs-warning: #995000;
    --drs-danger: #9d2633;
    --drs-focus: rgba(13, 63, 145, 0.34);
    --drs-shadow-sm: none;
    --drs-shadow-md: 0 2px 0 rgba(7, 26, 46, 0.16);
    --drs-nav-bg: #082d57;
    --drs-nav-text: #ffffff;
    --drs-footer-bg: rgba(8, 45, 87, 0.98);
}

html:not([data-drs-theme-exempt="true"]) body {
    background-color: var(--drs-bg);
    color: var(--drs-text);
}

html:not([data-drs-theme-exempt="true"]) :where(.card, .panel, .dashboard-panel, .admin-module-card, .pca-form-section, .register-card, .modal-content) {
    background-color: var(--drs-surface);
    color: var(--drs-text);
    border-color: var(--drs-border);
}

html:not([data-drs-theme-exempt="true"]) :where(input, select, textarea, .form-control, .form-select) {
    background-color: var(--drs-surface);
    color: var(--drs-text);
    border-color: var(--drs-border);
}

html:not([data-drs-theme-exempt="true"]) :where(input, select, textarea, .form-control, .form-select):focus {
    border-color: var(--drs-primary);
    box-shadow: 0 0 0 0.22rem var(--drs-focus);
}

html[data-theme="dark"]:not([data-drs-theme-exempt="true"]) :where(.text-muted, small, .form-text) {
    color: var(--drs-text-muted) !important;
}

html[data-theme="dark"]:not([data-drs-theme-exempt="true"]) :where(table, .table) {
    --bs-table-bg: var(--drs-surface);
    --bs-table-color: var(--drs-text);
    --bs-table-border-color: var(--drs-border);
}

html[data-theme="outdoor"] body {
    font-weight: 500;
}

html[data-theme="outdoor"] :where(button, .btn, a[role="button"], input, select, textarea) {
    min-height: 44px;
}

html[data-theme="outdoor"] :where(.card, .panel, .dashboard-panel, .admin-module-card, .pca-form-section, .register-card) {
    box-shadow: var(--drs-shadow-md);
}
