/*
 * PCA DRS theme integration layer v3
 * Loaded after page styles by theme_manager.js so user themes affect the
 * complete application rather than only generic Bootstrap elements.
 * The Admin Dashboard remains exempt through data-drs-theme-exempt="true".
 */

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

html:not([data-drs-theme-exempt="true"]) body {
    background: var(--drs-page-background, var(--drs-bg)) !important;
    color: var(--drs-text) !important;
    transition: background-color .16s ease, color .16s ease;
}

/* Never allow legacy body overlays to wash out a selected theme. */
html:not([data-drs-theme-exempt="true"]) body::before {
    opacity: var(--drs-brand-watermark-opacity, .035) !important;
}

html[data-theme="light"] {
    --drs-page-background:
        radial-gradient(circle at 8% 0%, rgba(74, 126, 180, .10), transparent 34rem),
        linear-gradient(145deg, #e9f0f7 0%, #f7f9fc 48%, #e5edf6 100%);
    --drs-page-panel: #ffffff;
    --drs-page-panel-alt: #f4f7fb;
    --drs-page-panel-strong: #e8eef6;
    --drs-page-text: #10243d;
    --drs-page-muted: #52667d;
    --drs-page-border: #bdcad9;
    --drs-table-head: #dce8f5;
    --drs-table-row: #ffffff;
    --drs-table-row-alt: #f2f6fb;
    --drs-table-hover: #e2edf9;
    --drs-input-bg: #ffffff;
    --drs-backdrop: rgba(13, 30, 50, .58);
    --drs-brand-watermark-opacity: .035;
}

html[data-theme="dark"] {
    --drs-page-background:
        radial-gradient(circle at 8% 0%, rgba(48, 91, 134, .26), transparent 34rem),
        linear-gradient(145deg, #0c1723 0%, #14283d 52%, #0c1927 100%);
    --drs-page-panel: #192a3d;
    --drs-page-panel-alt: #21354b;
    --drs-page-panel-strong: #2b425a;
    --drs-page-text: #f4f7fb;
    --drs-page-muted: #c1ccda;
    --drs-page-border: #526a83;
    --drs-table-head: #29445e;
    --drs-table-row: #182a3d;
    --drs-table-row-alt: #20364c;
    --drs-table-hover: #2b4864;
    --drs-input-bg: #112235;
    --drs-backdrop: rgba(0, 7, 15, .76);
    --drs-brand-watermark-opacity: .025;
}

html[data-theme="outdoor"] {
    --drs-page-background: #f1ecdf;
    --drs-page-panel: #fffef8;
    --drs-page-panel-alt: #f5f0e3;
    --drs-page-panel-strong: #e7deca;
    --drs-page-text: #06182b;
    --drs-page-muted: #263c52;
    --drs-page-border: #667a8e;
    --drs-table-head: #d3deea;
    --drs-table-row: #fffef8;
    --drs-table-row-alt: #eee8d9;
    --drs-table-hover: #d8e4f0;
    --drs-input-bg: #ffffff;
    --drs-backdrop: rgba(3, 15, 28, .68);
    --drs-brand-watermark-opacity: 0;
}

/* Typography and ordinary content */
html:not([data-drs-theme-exempt="true"]) :where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,label,legend,span,strong,small) {
    text-shadow: none;
}
html:not([data-drs-theme-exempt="true"]) :where(.text-muted,.muted,.muted-cell,.pca-register-muted,.form-text,small) {
    color: var(--drs-page-muted) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(a:not(.btn):not([class*="button"]):not(.nav-link)) {
    color: var(--drs-primary);
}

/* Shared surfaces: broad coverage for legacy and modern pages. */
html:not([data-drs-theme-exempt="true"]) :where(
    .card,.panel,.content-container,.dashboard-panel,.data-home-panel,
    .site-summary,.sites-hero,.sites-panel,.sites-table-card,
    .board-header,.empty-board,.project-card,
    .about-hero,.about-stat-card,.about-workspace,.about-panel,.about-support-card,
    .admin-module-card,.admin-module-hero,.admin-module-section,.admin-module-shell,
    .management-wizard-hero,.management-wizard-shell,.management-wizard-card,
    .wizard-choice-card,.wizard-review-card,.wizard-explainer,
    .pca-register-card,.pca-register-hero,.pca-register-create-card,.pca-register-create-panel,
    .pca-table-shell,.admin-module-table-wrapper,
    .pca-form-card,.pca-form-section,.pca-form-subsection,.pca-context-panel,
    .modal-content,.drs-modal,.dropdown-menu,.popover
) {
    background: var(--drs-page-panel) !important;
    color: var(--drs-page-text) !important;
    border-color: var(--drs-page-border) !important;
}

html:not([data-drs-theme-exempt="true"]) :where(
    .about-tabs,.about-tab,.about-feature-grid > *,
    .wizard-step-indicator,.wizard-number-preview-grid > *,
    .pca-register-toolbar,.pca-register-create-result > div,
    .pca-form-readonly,.pca-readonly-card,.pca-context-number-card,
    .pca-context-relation-card,.pca-form-audit,.pca-form-help-text
) {
    background: var(--drs-page-panel-alt) !important;
    color: var(--drs-page-text) !important;
    border-color: var(--drs-page-border) !important;
}

/* Retain PCA identity in navigation and footer, independently of workspace. */
html:not([data-drs-theme-exempt="true"]) :where(.navbar,.home-navbar,.drs-data-navbar,nav[class*="navbar"]) {
    background: var(--drs-nav-bg) !important;
    color: var(--drs-nav-text) !important;
    border-color: color-mix(in srgb, var(--drs-nav-text) 18%, transparent) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.navbar a,.navbar button,.home-navbar a,.home-navbar button,.drs-data-navbar a,.drs-data-navbar button) {
    color: var(--drs-nav-text) !important;
}
html:not([data-drs-theme-exempt="true"]) .footer-content {
    background: var(--drs-footer-bg) !important;
    color: #fff !important;
}

/* Inputs and controls */
html:not([data-drs-theme-exempt="true"]) :where(
    input:not([type="checkbox"]):not([type="radio"]),select,textarea,
    .form-control,.form-select,.pca-register-search,.pca-register-create-input,
    .search-input-wrap .form-control,.dt-length select
) {
    background: var(--drs-input-bg) !important;
    color: var(--drs-page-text) !important;
    border-color: var(--drs-page-border) !important;
    opacity: 1 !important;
    -webkit-text-fill-color: var(--drs-page-text) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(input,textarea)::placeholder {
    color: var(--drs-page-muted) !important;
    opacity: .85 !important;
}
html:not([data-drs-theme-exempt="true"]) :where(input,select,textarea,.form-control,.form-select):focus {
    border-color: var(--drs-primary) !important;
    box-shadow: 0 0 0 .22rem var(--drs-focus) !important;
}
html[data-theme="dark"]:not([data-drs-theme-exempt="true"]) select {
    color-scheme: dark;
}
html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) :where(input,select,textarea,.form-control,.form-select,button,.btn) {
    min-height: 48px;
    font-size: max(1rem, 16px);
}
html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) :where(label,.pca-field-label,.pca-register-search-label) {
    color: var(--drs-page-text) !important;
    font-weight: 800 !important;
}

/* Buttons */
html:not([data-drs-theme-exempt="true"]) :where(.btn-light,.btn-secondary,.pca-register-btn--neutral,.board-list-link) {
    background: var(--drs-page-panel-alt) !important;
    color: var(--drs-page-text) !important;
    border-color: var(--drs-page-border) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.btn-primary,.pca-register-btn--primary,.btn_submit_custom) {
    background: var(--drs-primary) !important;
    color: #fff !important;
    border-color: var(--drs-primary) !important;
}
html[data-theme="dark"]:not([data-drs-theme-exempt="true"]) :where(.btn-primary,.pca-register-btn--primary,.btn_submit_custom) {
    color: #071525 !important;
}

/* Board: unify it with the wider product while retaining project-card personality. */
html:not([data-drs-theme-exempt="true"]) body:has(.board-page) {
    background: var(--drs-page-background) !important;
}
html:not([data-drs-theme-exempt="true"]) .board-page {
    color: var(--drs-page-text) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.board-title,.board-subtitle,.section-heading,.sitecode,.sitename,.kcode) {
    color: var(--drs-page-text) !important;
}
html:not([data-drs-theme-exempt="true"]) .board-eyebrow {
    color: var(--drs-primary) !important;
}
html:not([data-drs-theme-exempt="true"]) .section-heading::after {
    background: var(--drs-page-border) !important;
}
html:not([data-drs-theme-exempt="true"]) .project-card {
    box-shadow: var(--drs-shadow-md) !important;
}
html:not([data-drs-theme-exempt="true"]) .project-card:hover {
    background: var(--drs-page-panel-alt) !important;
    border-color: var(--drs-primary) !important;
}
html:not([data-drs-theme-exempt="true"]) .project-main-button {
    color: var(--drs-page-text) !important;
}
html:not([data-drs-theme-exempt="true"]) .project-type-badge {
    background: var(--drs-page-panel-strong) !important;
    color: var(--drs-page-text) !important;
}
html:not([data-drs-theme-exempt="true"]) .project-status-badge.active,
html:not([data-drs-theme-exempt="true"]) .section-count {
    background: color-mix(in srgb, var(--drs-success) 18%, transparent) !important;
    color: var(--drs-success) !important;
}

/* About and management pages: remove fixed white/dark islands. */
html:not([data-drs-theme-exempt="true"]) :where(.about-hero h1,.about-panel h2,.about-stat-card h2,.management-wizard-hero h1,.admin-module-title) {
    color: var(--drs-page-text) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.about-hero p,.about-panel p,.about-stat-card p,.about-stat-card span,.wizard-choice-card p,.wizard-choice-card li,.wizard-review-card dd) {
    color: var(--drs-page-muted) !important;
}
html:not([data-drs-theme-exempt="true"]) .about-tab.is-active,
html:not([data-drs-theme-exempt="true"]) .wizard-choice-card.is-selected {
    background: var(--drs-primary-soft) !important;
    color: var(--drs-page-text) !important;
    border-color: var(--drs-primary) !important;
}

/* Tables: primary reason for outdoor mode. Covers shared, register, sites and DataTables. */
html:not([data-drs-theme-exempt="true"]) {
    --pca-table-bg: var(--drs-page-panel-alt);
    --pca-table-surface: var(--drs-table-row);
    --pca-table-head: var(--drs-table-head);
    --pca-table-head-2: color-mix(in srgb, var(--drs-table-head) 70%, var(--drs-page-panel));
    --pca-table-head-text: var(--drs-page-text);
    --pca-table-border: var(--drs-page-border);
    --pca-table-text: var(--drs-page-text);
    --pca-table-muted: var(--drs-page-muted);
    --pca-table-row-alt: var(--drs-table-row-alt);
    --pca-table-row-hover: var(--drs-table-hover);
}
html:not([data-drs-theme-exempt="true"]) :where(
    table,.table,.pca-table,.admin-module-table,.pca-register-table,.sites-table,
    .dataTable,.dt-container,.dataTables_wrapper,.pca-register-table-wrap,.pca-table-scroll
) {
    background: var(--drs-table-row) !important;
    color: var(--drs-page-text) !important;
    border-color: var(--drs-page-border) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(
    table thead,table thead tr,table thead th,
    .pca-table thead th,.admin-module-table thead th,.pca-register-table thead th,.sites-table thead th,
    table.dataTable thead th,table.dataTable thead td
) {
    background: var(--drs-table-head) !important;
    color: var(--drs-page-text) !important;
    border-color: var(--drs-page-border) !important;
    opacity: 1 !important;
}
html:not([data-drs-theme-exempt="true"]) :where(
    table tbody tr,.pca-table tbody tr,.admin-module-table tbody tr,.pca-register-table tbody tr,.sites-table tbody tr
) {
    background: var(--drs-table-row) !important;
    color: var(--drs-page-text) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(
    table tbody tr:nth-child(even),.pca-table tbody tr:nth-child(even),.admin-module-table tbody tr:nth-child(even),
    .pca-register-table tbody tr:nth-child(even),.sites-table tbody tr:nth-child(even)
) {
    background: var(--drs-table-row-alt) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(
    table tbody tr:hover,.pca-table tbody tr:hover,.admin-module-table tbody tr:hover,
    .pca-register-table tbody tr:hover,.sites-table tbody tr:hover
) {
    background: var(--drs-table-hover) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(
    table tbody td,.pca-table tbody td,.admin-module-table tbody td,.pca-register-table tbody td,.sites-table tbody td,
    table.dataTable tbody th,table.dataTable tbody td
) {
    background: transparent !important;
    color: var(--drs-page-text) !important;
    border-color: var(--drs-page-border) !important;
    opacity: 1 !important;
    -webkit-text-fill-color: var(--drs-page-text) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.dt-info,.dataTables_info,.dt-length label,.dataTables_length label,.dtr-title,.dtr-data) {
    color: var(--drs-page-text) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.page-link,.paginate_button,.dt-paging-button) {
    background: var(--drs-page-panel) !important;
    color: var(--drs-page-text) !important;
    border-color: var(--drs-page-border) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.page-item.active .page-link,.paginate_button.current,.dt-paging-button.current) {
    background: var(--drs-primary) !important;
    color: #fff !important;
    border-color: var(--drs-primary) !important;
}
html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) :where(table,.pca-table,.pca-register-table,.sites-table) {
    font-size: 1rem !important;
}
html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) :where(table th,table td,.pca-register-table th,.pca-register-table td,.sites-table th,.sites-table td) {
    padding-top: .9rem !important;
    padding-bottom: .9rem !important;
    font-weight: 650 !important;
}

/* Forms: ensure every recording field is genuinely usable in all themes. */
html:not([data-drs-theme-exempt="true"]) :where(.pca-form-page,.pca-context-page) {
    color: var(--drs-page-text) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.pca-form-title,.pca-form-section h2,.pca-form-section h3,.pca-field-label-text,.pca-context-section-index a) {
    color: var(--drs-page-text) !important;
}
html:not([data-drs-theme-exempt="true"]) .pca-context-section-index {
    background: var(--drs-page-panel) !important;
    border-color: var(--drs-page-border) !important;
}
html:not([data-drs-theme-exempt="true"]) .pca-context-section-index a {
    background: var(--drs-page-panel-alt) !important;
    border: 1px solid transparent !important;
}
html:not([data-drs-theme-exempt="true"]) .pca-context-section-index a.is-active {
    background: var(--drs-primary-soft) !important;
    border-color: var(--drs-primary) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.pca-find-token,.pca-supervisor-check-button,.pca-help-button,.pca-field-help) {
    background: var(--drs-page-panel-alt) !important;
    color: var(--drs-page-text) !important;
    border-color: var(--drs-page-border) !important;
}
html:not([data-drs-theme-exempt="true"]) .pca-find-token.is-selected {
    background: var(--drs-primary-soft) !important;
    border-color: var(--drs-primary) !important;
}

/* Modals and overlays */
html:not([data-drs-theme-exempt="true"]) .modal-backdrop,
html:not([data-drs-theme-exempt="true"]) .modal-backdrop.show {
    background: var(--drs-backdrop) !important;
    opacity: 1 !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.modal-header,.modal-footer,.drs-modal-header) {
    background: var(--drs-nav-bg) !important;
    color: #fff !important;
    border-color: color-mix(in srgb, #fff 24%, transparent) !important;
}
html:not([data-drs-theme-exempt="true"]) .modal-body {
    background: var(--drs-page-panel) !important;
    color: var(--drs-page-text) !important;
}

/* Outdoor removes decorative translucency and favours legibility. */
html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) :where(
    .board-header,.project-card,.empty-board,.sites-hero,.sites-panel,.about-hero,.about-stat-card,
    .admin-module-card,.management-wizard-card,.pca-register-card,.pca-form-card,.pca-form-section
) {
    backdrop-filter: none !important;
    box-shadow: 0 2px 0 rgba(6,24,43,.18) !important;
}
html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) :where(p,li,td,th,label,input,select,textarea,button) {
    letter-spacing: normal;
}

@media (prefers-reduced-motion: reduce) {
    html:not([data-drs-theme-exempt="true"]) *,
    html:not([data-drs-theme-exempt="true"]) *::before,
    html:not([data-drs-theme-exempt="true"]) *::after {
        transition-duration: .01ms !important;
    }
}

/* =========================================================
   PCA DRS theme integration v3 — contrast and consistency
   ---------------------------------------------------------
   Final corrective layer for legacy pages whose local CSS
   still contains fixed white, pale-blue or navy text values.
   ========================================================= */

/* Navigation must remain a reliable branded high-contrast zone. */
html:not([data-drs-theme-exempt="true"]) :where(.drs-home-commandbar,.drs-commandbar) {
    --drs-home-nav-text: #ffffff;
    --drs-home-nav-muted: #d5e2ef;
    --drs-home-nav-accent: #ffd166;
    --drs-nav-text: #ffffff;
    --drs-nav-muted: #d5e2ef;
    --drs-nav-accent: #ffd166;
    background: linear-gradient(135deg, #102b47, #173b60) !important;
    color: #ffffff !important;
}
html:not([data-drs-theme-exempt="true"]) :where(
    .drs-home-commandbar__brand,.drs-home-commandbar__brand-text,
    .drs-home-commandbar__link:not(.drs-home-commandbar__link--management):not(.drs-home-commandbar__link--admin),
    .drs-home-commandbar__admin-toggle,.drs-home-commandbar__admin-link,
    .drs-commandbar__brand,.drs-commandbar__site,.drs-commandbar__link,
    .drs-commandbar__register-toggle,.drs-commandbar__register-link
) {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}
html:not([data-drs-theme-exempt="true"]) :where(
    .drs-home-commandbar__link:hover,.drs-home-commandbar__link:focus,.drs-home-commandbar__link.is-active,
    .drs-home-commandbar__admin-link:hover,.drs-home-commandbar__admin-link:focus,.drs-home-commandbar__admin-link.is-active,
    .drs-commandbar__link:hover,.drs-commandbar__link:focus,.drs-commandbar__link.is-active,
    .drs-commandbar__register-toggle:hover,.drs-commandbar__register-toggle:focus,.drs-commandbar__register-toggle.is-active,
    .drs-commandbar__register-link:hover,.drs-commandbar__register-link:focus,.drs-commandbar__register-link.is-active
) {
    color: #ffd166 !important;
    -webkit-text-fill-color: #ffd166 !important;
    background: rgba(255,255,255,.12) !important;
}
html:not([data-drs-theme-exempt="true"]) .drs-home-commandbar__link--management {
    color: #10243d !important;
    -webkit-text-fill-color: #10243d !important;
    background: #ffc45f !important;
}
html:not([data-drs-theme-exempt="true"]) .drs-home-commandbar__link--admin {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: #e83f4d !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.drs-home-commandbar__admin-panel,.drs-commandbar__register-panel) {
    background: #173b60 !important;
    border-color: rgba(255,255,255,.28) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.drs-home-commandbar__mobile-card span,.drs-commandbar__mobile-site span,.drs-commandbar__register-group p) {
    color: #d5e2ef !important;
    -webkit-text-fill-color: #d5e2ef !important;
}

/* Board: white SVG artwork needs a dark tile in light/outdoor themes. */
html[data-theme="light"]:not([data-drs-theme-exempt="true"]) .project-icon-wrap,
html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) .project-icon-wrap {
    background: linear-gradient(145deg, #173b60, #245981) !important;
    border-color: #173b60 !important;
}
html[data-theme="dark"]:not([data-drs-theme-exempt="true"]) .project-icon-wrap {
    background: linear-gradient(145deg, #2d5275, #193652) !important;
    border-color: #6d89a3 !important;
}
html:not([data-drs-theme-exempt="true"]) .project-icon-wrap .site-icon {
    opacity: 1 !important;
    filter: none !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.board-subtitle,.sitename,.kcode) {
    color: var(--drs-page-muted) !important;
    -webkit-text-fill-color: var(--drs-page-muted) !important;
}
html:not([data-drs-theme-exempt="true"]) .project-main-button:hover,
html:not([data-drs-theme-exempt="true"]) .project-main-button:focus {
    background: color-mix(in srgb, var(--drs-primary) 9%, transparent) !important;
}

/* Page headings and pale legacy eyebrow text. */
html:not([data-drs-theme-exempt="true"]) :where(
    .sites-eyebrow,.sites-title,.sites-subtitle,.sites-panel-title,.sites-panel-subtitle,
    .admin-module-eyebrow,.admin-module-title,.admin-module-subtitle,
    .admin-module-section-title,.admin-module-info-box strong,
    .board-eyebrow,.board-title,.board-subtitle
) {
    opacity: 1 !important;
}
html[data-theme="light"]:not([data-drs-theme-exempt="true"]) :where(.sites-eyebrow,.admin-module-eyebrow,.board-eyebrow),
html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) :where(.sites-eyebrow,.admin-module-eyebrow,.board-eyebrow) {
    color: #174f87 !important;
    -webkit-text-fill-color: #174f87 !important;
}
html[data-theme="dark"]:not([data-drs-theme-exempt="true"]) :where(.sites-eyebrow,.admin-module-eyebrow,.board-eyebrow) {
    color: #9fc8f0 !important;
    -webkit-text-fill-color: #9fc8f0 !important;
}

/* Site Management and the management wizard: override every fixed white value. */
html:not([data-drs-theme-exempt="true"]) :where(
    .admin-module-page .admin-module-title,
    .admin-module-page .admin-module-section-title,
    .admin-module-page .admin-module-info-box strong,
    .admin-module-page .admin-module-info-box li,
    .admin-module-page .admin-module-info-box p,
    .admin-module-page .admin-module-soft,
    .admin-module-page .admin-module-muted,
    .management-wizard-page .wizard-panel-header h2,
    .management-wizard-page .wizard-choice-card strong,
    .management-wizard-page .wizard-choice-card p,
    .management-wizard-page .wizard-choice-card li,
    .management-wizard-page .wizard-explainer h3,
    .management-wizard-page .wizard-explainer p,
    .management-wizard-page .wizard-evaluation-card h3,
    .management-wizard-page .wizard-single-area-summary h3,
    .management-wizard-page .wizard-single-area-summary p,
    .management-wizard-page .wizard-standard-preview h3,
    .management-wizard-page .wizard-area-card h3,
    .management-wizard-page .wizard-review-card h3,
    .management-wizard-page .wizard-review-card dt,
    .management-wizard-page .wizard-review-card dd,
    .management-wizard-page .wizard-number-preview-grid span,
    .management-wizard-page .admin-module-field small
) {
    color: var(--drs-page-text) !important;
    -webkit-text-fill-color: var(--drs-page-text) !important;
    opacity: 1 !important;
}
html:not([data-drs-theme-exempt="true"]) :where(
    .admin-module-page .admin-module-subtitle,
    .admin-module-page .admin-module-soft,
    .admin-module-page .admin-module-muted,
    .management-wizard-page .wizard-panel-header p:not(.admin-module-eyebrow),
    .management-wizard-page .wizard-review-card dt,
    .management-wizard-page .admin-module-field small
) {
    color: var(--drs-page-muted) !important;
    -webkit-text-fill-color: var(--drs-page-muted) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(
    .admin-module-info-box,.wizard-explainer,.wizard-evaluation-card,
    .wizard-single-area-summary,.wizard-standard-preview,.wizard-area-card,.wizard-review-card,
    .wizard-choice-card,.management-wizard-progress,.management-wizard-card
) {
    background: var(--drs-page-panel-alt) !important;
    color: var(--drs-page-text) !important;
    border-color: var(--drs-page-border) !important;
}
html:not([data-drs-theme-exempt="true"]) .wizard-step-indicator {
    background: var(--drs-page-panel-alt) !important;
    color: var(--drs-page-text) !important;
    border-color: var(--drs-page-border) !important;
}
html:not([data-drs-theme-exempt="true"]) .wizard-step-indicator small {
    color: var(--drs-page-muted) !important;
    -webkit-text-fill-color: var(--drs-page-muted) !important;
}
html:not([data-drs-theme-exempt="true"]) .wizard-step-indicator span {
    background: var(--drs-page-panel-strong) !important;
    color: var(--drs-page-text) !important;
}

/* Sites and tables: keep labels, secondary lines and badges legible. */
html:not([data-drs-theme-exempt="true"]) :where(
    .sites-title,.sites-panel-title,.site-name-cell strong,.sitecode-cell,
    .office-badge,.archive-badge,.dt-column-title,.dtr-title,.dtr-data
) {
    color: var(--drs-page-text) !important;
    -webkit-text-fill-color: var(--drs-page-text) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.sites-subtitle,.sites-panel-subtitle,.site-name-cell span,.muted-cell) {
    color: var(--drs-page-muted) !important;
    -webkit-text-fill-color: var(--drs-page-muted) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.sitecode-cell,.office-badge,.archive-badge) {
    background: var(--drs-page-panel-strong) !important;
    border: 1px solid var(--drs-page-border) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.sites-table thead th,.pca-table thead th,.pca-register-table thead th) {
    color: var(--drs-page-text) !important;
    -webkit-text-fill-color: var(--drs-page-text) !important;
}

/* Light and Outdoor use solid surfaces; no washed-out glass text. */
html[data-theme="light"]:not([data-drs-theme-exempt="true"]) :where(.admin-module-hero,.admin-module-card,.admin-module-panel),
html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) :where(.admin-module-hero,.admin-module-card,.admin-module-panel) {
    background: var(--drs-page-panel) !important;
    backdrop-filter: none !important;
}

/* Footer remains branded and always readable. */
html:not([data-drs-theme-exempt="true"]) :where(.footer-content,.footer-content *) {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* =========================================================
   PCA DRS theme integration v4 — application-wide legibility
   Corrects remaining fixed-colour legacy components found in
   Admin Home, Admin Modules, DRS Home, Registers and Forms.
   ========================================================= */

/* Do not let the generic themed-link rule recolour controls that are links. */
html:not([data-drs-theme-exempt="true"]) :where(
    .admin-home__primary-action,.admin-home__action,.admin-btn,
    .pca-form-btn,.pca-register-btn,.pca-register-row-action,
    .pca-register-card-link,.btn-custom-registers
) {
    -webkit-text-fill-color: currentColor !important;
}

/* ---------- Admin home ---------- */
html:not([data-drs-theme-exempt="true"]) body.admin-home-page {
    color: var(--drs-page-text) !important;
    background: var(--drs-page-background) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.admin-home__hero,.admin-home__panel) {
    background: var(--drs-page-panel) !important;
    color: var(--drs-page-text) !important;
    border-color: var(--drs-page-border) !important;
    backdrop-filter: none !important;
}
html[data-theme="dark"]:not([data-drs-theme-exempt="true"]) :where(.admin-home__hero,.admin-home__panel) {
    background: var(--drs-page-panel-alt) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(
    .admin-home__hero h1,.admin-home__panel-header h2,.admin-home__panel-icon
) {
    color: var(--drs-page-text) !important;
    -webkit-text-fill-color: var(--drs-page-text) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.admin-home__subtitle,.admin-home__panel-header p) {
    color: var(--drs-page-muted) !important;
    -webkit-text-fill-color: var(--drs-page-muted) !important;
    opacity: 1 !important;
}
html[data-theme="light"]:not([data-drs-theme-exempt="true"]) .admin-home__eyebrow,
html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) .admin-home__eyebrow {
    color: #174f87 !important;
    -webkit-text-fill-color: #174f87 !important;
}
html[data-theme="dark"]:not([data-drs-theme-exempt="true"]) .admin-home__eyebrow {
    color: #a9cfee !important;
    -webkit-text-fill-color: #a9cfee !important;
}
html:not([data-drs-theme-exempt="true"]) .admin-home__panel-icon {
    background: var(--drs-page-panel-strong) !important;
    border: 1px solid var(--drs-page-border) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(
    .admin-home__primary-action,
    .admin-home__action--sites,
    .admin-home__action--add-user,
    .admin-home__action--logins
) {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}
html:not([data-drs-theme-exempt="true"]) .admin-home__action--manage-users {
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.admin-home__primary-action,.admin-home__action) i {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
}

/* ---------- Shared admin-module cards ---------- */
html:not([data-drs-theme-exempt="true"]) :where(.admin-module-summary-card,.admin-module-option-card) {
    background: var(--drs-page-panel-alt) !important;
    color: var(--drs-page-text) !important;
    border-color: var(--drs-page-border) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(
    .admin-module-summary-card h2,.admin-module-option-card h2
) {
    color: var(--drs-page-text) !important;
    -webkit-text-fill-color: var(--drs-page-text) !important;
    opacity: 1 !important;
}
html:not([data-drs-theme-exempt="true"]) :where(
    .admin-module-summary-card p:not(.admin-module-eyebrow),
    .admin-module-option-card p:not(.admin-module-eyebrow)
) {
    color: var(--drs-page-muted) !important;
    -webkit-text-fill-color: var(--drs-page-muted) !important;
    opacity: 1 !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.admin-btn,.admin-module-page .admin-btn) {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.admin-btn--warning,.admin-module-page .admin-btn--warning) {
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.admin-btn i,.admin-btn span) {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
}

/* ---------- DRS register landing page ---------- */
html:not([data-drs-theme-exempt="true"]) :where(.pca-register-summary,.site-summary) {
    background: var(--drs-page-panel-alt) !important;
    color: var(--drs-page-text) !important;
    border-color: var(--drs-page-border) !important;
    backdrop-filter: none !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.pca-register-summary__label,.site-summary-label) {
    color: var(--drs-page-muted) !important;
    -webkit-text-fill-color: var(--drs-page-muted) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.pca-register-summary p,.site-summary p,.pca-register-summary__user,.site-summary-user) {
    color: var(--drs-page-text) !important;
    -webkit-text-fill-color: var(--drs-page-text) !important;
    opacity: 1 !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.pca-register-home-header h2,.pca-register-home-message h2,.registers-header h2) {
    color: var(--drs-page-text) !important;
    -webkit-text-fill-color: var(--drs-page-text) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.pca-register-home-header p,.pca-register-home-message p,.registers-header p) {
    color: var(--drs-page-muted) !important;
    -webkit-text-fill-color: var(--drs-page-muted) !important;
}

/* ---------- Register pages and row actions ---------- */
html:not([data-drs-theme-exempt="true"]) :where(
    .pca-register-title,.pca-register-hero h1,.pca-register-card h1,
    .pca-register-toolbar-title,.pca-register-search-title
) {
    color: var(--drs-page-text) !important;
    -webkit-text-fill-color: var(--drs-page-text) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(
    .pca-register-subtitle,.pca-register-hero p,.pca-register-toolbar p,
    .pca-register-search-help
) {
    color: var(--drs-page-muted) !important;
    -webkit-text-fill-color: var(--drs-page-muted) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.pca-register-btn--secondary,.pca-register-btn--neutral) {
    background: var(--drs-page-panel-alt) !important;
    color: var(--drs-page-text) !important;
    -webkit-text-fill-color: var(--drs-page-text) !important;
    border-color: var(--drs-page-border) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(
    .pca-register-row-action,.pca-register-action,.pca-table-action,
    .pca-register-table .btn-light,.pca-register-table .btn-secondary
) {
    background: var(--drs-page-panel-alt) !important;
    color: var(--drs-page-text) !important;
    -webkit-text-fill-color: var(--drs-page-text) !important;
    border-color: var(--drs-page-border) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(
    .pca-register-row-action:hover,.pca-register-row-action:focus,
    .pca-register-action:hover,.pca-register-action:focus,.pca-table-action:hover,.pca-table-action:focus
) {
    background: var(--drs-table-hover) !important;
    color: var(--drs-page-text) !important;
}

/* ---------- Forms, including Context ---------- */
html:not([data-drs-theme-exempt="true"]) :where(
    .pca-form-header,.pca-form-card-header,.pca-form-subsection-heading,
    .pca-form-section-heading,.pca-context-panel
) {
    color: var(--drs-page-text) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(
    .pca-form-title,.pca-form-card-header h2,.pca-form-subsection-heading h2,
    .pca-form-section h2,.pca-form-section h3,.pca-form-section-title,
    .pca-context-panel h2,.pca-context-panel h3,.pca-context-relation-card h3
) {
    color: var(--drs-page-text) !important;
    -webkit-text-fill-color: var(--drs-page-text) !important;
    opacity: 1 !important;
}
html:not([data-drs-theme-exempt="true"]) :where(
    .pca-form-subtitle,.pca-form-card-header p,.pca-form-subsection-heading p,
    .pca-form-section-heading p,.pca-form-section-description,.pca-context-panel > p,
    .pca-form-help-text
) {
    color: var(--drs-page-muted) !important;
    -webkit-text-fill-color: var(--drs-page-muted) !important;
    opacity: 1 !important;
}
html:not([data-drs-theme-exempt="true"]) :where(
    .pca-form-subsection,.pca-context-panel,.pca-context-relation-card
) {
    background: var(--drs-page-panel) !important;
    color: var(--drs-page-text) !important;
    border-color: var(--drs-page-border) !important;
}
html[data-theme="dark"]:not([data-drs-theme-exempt="true"]) :where(
    .pca-form-subsection,.pca-context-panel,.pca-context-relation-card
) {
    background: var(--drs-page-panel-alt) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(
    .pca-field-label,.pca-field-label-text,.pca-form-label,
    .pca-context-number-card span,.pca-context-number-card small
) {
    color: var(--drs-page-text) !important;
    -webkit-text-fill-color: var(--drs-page-text) !important;
    opacity: 1 !important;
}
html:not([data-drs-theme-exempt="true"]) :where(
    .pca-matrix-caption,.pca-matrix-label,.pca-context-matrix-label,
    .pca-context-matrix-top-label,.pca-context-matrix-bottom-label
) {
    color: var(--drs-page-muted) !important;
    -webkit-text-fill-color: var(--drs-page-muted) !important;
    opacity: 1 !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.pca-form-btn--secondary,.pca-form-nav-links a) {
    background: var(--drs-page-panel-alt) !important;
    color: var(--drs-page-text) !important;
    -webkit-text-fill-color: var(--drs-page-text) !important;
    border-color: var(--drs-page-border) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(.pca-form-btn--primary,.pca-form-btn--success) {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Explicit dark-theme header surfaces: never white-on-white. */
html[data-theme="dark"]:not([data-drs-theme-exempt="true"]) :where(
    .pca-form-hero,.pca-form-header,.pca-register-hero,.admin-module-hero
) {
    background: var(--drs-page-panel-alt) !important;
    color: var(--drs-page-text) !important;
    border-color: var(--drs-page-border) !important;
}

/* Preserve visible keyboard focus in every theme. */
html:not([data-drs-theme-exempt="true"]) :where(a,button,input,select,textarea):focus-visible {
    outline-color: var(--drs-primary) !important;
}

/* Exact selectors discovered during the final rendered-page review. */
html:not([data-drs-theme-exempt="true"]) .pca-register-icon-btn {
    background: var(--drs-page-panel-alt) !important;
    color: var(--drs-page-text) !important;
    -webkit-text-fill-color: var(--drs-page-text) !important;
    border-color: var(--drs-page-border) !important;
}
html:not([data-drs-theme-exempt="true"]) .pca-register-icon-btn:hover,
html:not([data-drs-theme-exempt="true"]) .pca-register-icon-btn:focus-visible {
    background: var(--drs-table-hover) !important;
    color: var(--drs-page-text) !important;
}
html:not([data-drs-theme-exempt="true"]) :where(
    .pca-harris-row-caption,.pca-harris-row-caption--later,.pca-harris-row-caption--earlier
) {
    color: var(--drs-page-muted) !important;
    -webkit-text-fill-color: var(--drs-page-muted) !important;
    opacity: 1 !important;
}
html[data-theme="dark"]:not([data-drs-theme-exempt="true"]) .pca-form-hero {
    background: var(--drs-page-panel-alt) !important;
}
html[data-theme="light"]:not([data-drs-theme-exempt="true"]) .pca-form-hero,
html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) .pca-form-hero {
    background: var(--drs-page-panel) !important;
}


/* Sites/Archive primary Board action: dark ink on the warm action surface in every theme. */
html:not([data-drs-theme-exempt="true"]) :where(.sites-action-primary,.board-link),
html:not([data-drs-theme-exempt="true"]) :where(.sites-action-primary,.board-link) * {
    color: #10253f !important;
    -webkit-text-fill-color: #10253f !important;
}


/* ==========================================================================\n   Recording Areas theme integration\n   Keeps the area selector visually consistent and readable in all themes.\n   ========================================================================== */
html:not([data-drs-theme-exempt="true"]) :where(
    .areas-hero,
    .areas-panel,
    .areas-message,
    .areas-archive-note
) {
    background: var(--drs-page-panel) !important;
    border-color: var(--drs-page-border) !important;
    color: var(--drs-page-text) !important;
}

html:not([data-drs-theme-exempt="true"]) :where(
    .areas-title,
    .areas-panel-header h2,
    .areas-message h2,
    .areas-archive-note strong
) {
    color: var(--drs-page-text) !important;
    -webkit-text-fill-color: var(--drs-page-text) !important;
    opacity: 1 !important;
}

html:not([data-drs-theme-exempt="true"]) :where(
    .areas-subtitle,
    .areas-message p,
    .areas-archive-note span
) {
    color: var(--drs-page-muted) !important;
    -webkit-text-fill-color: var(--drs-page-muted) !important;
    opacity: 1 !important;
}

html[data-theme="light"]:not([data-drs-theme-exempt="true"]) :where(.areas-eyebrow,.areas-panel-eyebrow),
html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) :where(.areas-eyebrow,.areas-panel-eyebrow) {
    color: #174f87 !important;
    -webkit-text-fill-color: #174f87 !important;
}

html[data-theme="dark"]:not([data-drs-theme-exempt="true"]) :where(.areas-eyebrow,.areas-panel-eyebrow) {
    color: #9fc8f0 !important;
    -webkit-text-fill-color: #9fc8f0 !important;
}

/* Context chips must not inherit washed-out white text in pale themes. */
html[data-theme="light"]:not([data-drs-theme-exempt="true"]) .areas-site-context span,
html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) .areas-site-context span {
    background: #fff0cf !important;
    color: #8a4b00 !important;
    -webkit-text-fill-color: #8a4b00 !important;
    border: 1px solid #e4b75f !important;
}

html[data-theme="light"]:not([data-drs-theme-exempt="true"]) :where(.areas-site-context strong,.areas-site-context em),
html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) :where(.areas-site-context strong,.areas-site-context em) {
    background: var(--drs-page-panel-strong) !important;
    color: var(--drs-page-text) !important;
    -webkit-text-fill-color: var(--drs-page-text) !important;
    border: 1px solid var(--drs-page-border) !important;
}

/* Active-area cards: solid, legible surfaces rather than pale translucent green. */
html[data-theme="light"]:not([data-drs-theme-exempt="true"]) .area-card,
html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) .area-card {
    background:
        radial-gradient(circle at top right, rgba(255,255,255,.76), transparent 42%),
        linear-gradient(145deg, #e3f3e8 0%, #cbe8d5 100%) !important;
    border-color: #6f9b7f !important;
    color: #102a1d !important;
    box-shadow: 0 12px 28px rgba(25, 52, 38, 0.14) !important;
}

html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) .area-card {
    /* The generic Outdoor touch-target rule also targets buttons.
       Area cards are buttons, but must retain their full card height. */
    min-height: 185px !important;
    padding: 1.1rem 1.1rem 4.25rem !important;
    font-size: inherit !important;
    background:
        radial-gradient(circle at top right, rgba(255,255,255,.72), transparent 42%),
        linear-gradient(145deg, #e0eed7 0%, #c3dfb7 100%) !important;
    border-width: 2px !important;
    border-color: #47765a !important;
    box-shadow: 0 8px 18px rgba(25, 52, 38, 0.12) !important;
}

html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) .area-card em {
    margin-top: .55rem !important;
    line-height: 1.35 !important;
}

html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) .area-card-open {
    bottom: 1rem !important;
    min-height: 34px !important;
    padding-top: .75rem !important;
    line-height: 1.25 !important;
}

html[data-theme="light"]:not([data-drs-theme-exempt="true"]) .area-card:hover,
html[data-theme="light"]:not([data-drs-theme-exempt="true"]) .area-card:focus-visible,
html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) .area-card:hover,
html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) .area-card:focus-visible {
    border-color: #315f43 !important;
    background-color: #d4ebdc !important;
    box-shadow: 0 16px 34px rgba(25, 52, 38, 0.2) !important;
}

html[data-theme="light"]:not([data-drs-theme-exempt="true"]) .area-card-status,
html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) .area-card-status {
    background: #d4f0dc !important;
    color: #176234 !important;
    -webkit-text-fill-color: #176234 !important;
    border: 1px solid #75aa85 !important;
}

html[data-theme="light"]:not([data-drs-theme-exempt="true"]) :where(.area-card strong,.area-card em,.area-card-open),
html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) :where(.area-card strong,.area-card em,.area-card-open) {
    color: #102a1d !important;
    -webkit-text-fill-color: #102a1d !important;
    opacity: 1 !important;
}

html[data-theme="light"]:not([data-drs-theme-exempt="true"]) .area-card-open,
html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) .area-card-open {
    border-top-color: rgba(16, 42, 29, 0.24) !important;
}

/* Archived cards use a warm neutral equivalent with the same contrast rules. */
html[data-theme="light"]:not([data-drs-theme-exempt="true"]) .archived-area-card,
html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) .archived-area-card {
    background:
        radial-gradient(circle at top right, rgba(255,255,255,.72), transparent 42%),
        linear-gradient(145deg, #f8ead0 0%, #edd7ad 100%) !important;
    border-color: #a47b35 !important;
    color: #38260b !important;
}

html[data-theme="light"]:not([data-drs-theme-exempt="true"]) .archived-area-card .area-card-status,
html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) .archived-area-card .area-card-status {
    background: #fff0ca !important;
    color: #7b4800 !important;
    -webkit-text-fill-color: #7b4800 !important;
    border-color: #c7953c !important;
}

html[data-theme="light"]:not([data-drs-theme-exempt="true"]) :where(.archived-area-card strong,.archived-area-card em,.archived-area-card .area-card-open),
html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) :where(.archived-area-card strong,.archived-area-card em,.archived-area-card .area-card-open) {
    color: #38260b !important;
    -webkit-text-fill-color: #38260b !important;
}

/* Keep action buttons readable, especially Change Site on pale themes. */
html:not([data-drs-theme-exempt="true"]) :where(.areas-action-primary,.areas-message-link,.areas-archive-note a) {
    color: #10253f !important;
    -webkit-text-fill-color: #10253f !important;
}

/* Recording Areas: keep the same card geometry in every theme.
   Area cards are rendered as buttons, so generic theme button rules must not
   compress them or change their internal vertical rhythm. */
html:not([data-drs-theme-exempt="true"]) .area-card {
    min-height: 185px !important;
    padding: 1.1rem 1.1rem 4.25rem !important;
    font-size: inherit !important;
}

html:not([data-drs-theme-exempt="true"]) .area-card em {
    margin-top: 0.55rem !important;
    line-height: 1.35 !important;
}

html:not([data-drs-theme-exempt="true"]) .area-card-open {
    bottom: 1rem !important;
    min-height: 34px !important;
    padding-top: 0.75rem !important;
    line-height: 1.25 !important;
}

/* Recording-area count badges: explicit contrast in each theme. */
html[data-theme="light"]:not([data-drs-theme-exempt="true"]) .areas-count-pill {
    background: #d9f4e1 !important;
    color: #155f32 !important;
    -webkit-text-fill-color: #155f32 !important;
    border: 1px solid #76a987 !important;
}

html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) .areas-count-pill {
    background: #d2edc7 !important;
    color: #123f24 !important;
    -webkit-text-fill-color: #123f24 !important;
    border: 2px solid #4e805f !important;
}

html[data-theme="dark"]:not([data-drs-theme-exempt="true"]) .areas-count-pill {
    background: #214f3a !important;
    color: #b9f6ce !important;
    -webkit-text-fill-color: #b9f6ce !important;
    border: 1px solid #3f795a !important;
}

html[data-theme="light"]:not([data-drs-theme-exempt="true"]) .areas-count-pill--archive {
    background: #fff0cf !important;
    color: #7a4600 !important;
    -webkit-text-fill-color: #7a4600 !important;
    border-color: #c7953c !important;
}

html[data-theme="outdoor"]:not([data-drs-theme-exempt="true"]) .areas-count-pill--archive {
    background: #f5dfb5 !important;
    color: #5f3700 !important;
    -webkit-text-fill-color: #5f3700 !important;
    border-color: #8e6726 !important;
}

html[data-theme="dark"]:not([data-drs-theme-exempt="true"]) .areas-count-pill--archive {
    background: #5b421b !important;
    color: #ffd78a !important;
    -webkit-text-fill-color: #ffd78a !important;
    border-color: #8f6a2c !important;
}


/* About page: ensure the content workspace is fully theme-aware. */
html:not([data-drs-theme-exempt="true"]) .about-content {
    background: var(--drs-page-panel) !important;
    color: var(--drs-page-text) !important;
    border: 1px solid var(--drs-page-border) !important;
}

html:not([data-drs-theme-exempt="true"]) :where(
    .about-panel,
    .about-panel h2,
    .about-panel h3,
    .about-panel strong,
    .about-feature-grid h3,
    .about-support-card h3,
    .about-flow strong,
    .about-register-list span
) {
    color: var(--drs-page-text) !important;
}

html:not([data-drs-theme-exempt="true"]) :where(
    .about-panel p,
    .about-panel li,
    .about-flow span,
    .about-support-card li,
    .about-feature-grid p
) {
    color: var(--drs-page-muted) !important;
}

html:not([data-drs-theme-exempt="true"]) :where(
    .about-feature-grid > div,
    .about-support-card,
    .about-flow li,
    .about-register-list span
) {
    background: var(--drs-page-panel-alt) !important;
    border-color: var(--drs-page-border) !important;
}

html[data-theme="dark"]:not([data-drs-theme-exempt="true"]) .about-content {
    background: var(--drs-page-panel) !important;
    box-shadow: none !important;
}

/* =========================================================
   Admin login access log: complete table-control theming
   ========================================================= */
html:not([data-drs-theme-exempt="true"]) .admin-module-table-wrapper {
    background: var(--drs-page-panel-alt) !important;
    color: var(--drs-page-text) !important;
    border-color: var(--drs-page-border) !important;
}

html:not([data-drs-theme-exempt="true"]) .admin-module-table-wrapper .pca-table-toolbar__button {
    background: var(--drs-page-panel) !important;
    color: var(--drs-page-text) !important;
    -webkit-text-fill-color: var(--drs-page-text) !important;
    border-color: var(--drs-page-border) !important;
    box-shadow: none !important;
    opacity: 1 !important;
}

html:not([data-drs-theme-exempt="true"]) .admin-module-table-wrapper .pca-table-toolbar__button:hover,
html:not([data-drs-theme-exempt="true"]) .admin-module-table-wrapper .pca-table-toolbar__button:focus-visible {
    background: var(--drs-table-hover) !important;
    color: var(--drs-page-text) !important;
    -webkit-text-fill-color: var(--drs-page-text) !important;
    border-color: var(--drs-primary) !important;
}

html:not([data-drs-theme-exempt="true"]) .admin-module-table-wrapper .pca-table-toolbar__button[aria-pressed="true"] {
    background: var(--drs-primary-soft) !important;
    color: var(--drs-page-text) !important;
    -webkit-text-fill-color: var(--drs-page-text) !important;
    border-color: var(--drs-primary) !important;
}

html:not([data-drs-theme-exempt="true"]) .admin-module-table-wrapper .dt-length select,
html:not([data-drs-theme-exempt="true"]) .admin-module-table-wrapper .dataTables_length select {
    background: var(--drs-page-panel) !important;
    color: var(--drs-page-text) !important;
    -webkit-text-fill-color: var(--drs-page-text) !important;
    border-color: var(--drs-page-border) !important;
    color-scheme: light;
}

html[data-theme="dark"]:not([data-drs-theme-exempt="true"]) .admin-module-table-wrapper .dt-length select,
html[data-theme="dark"]:not([data-drs-theme-exempt="true"]) .admin-module-table-wrapper .dataTables_length select {
    color-scheme: dark;
}

html:not([data-drs-theme-exempt="true"]) .admin-module-table-wrapper .dt-length select option,
html:not([data-drs-theme-exempt="true"]) .admin-module-table-wrapper .dataTables_length select option {
    background: var(--drs-page-panel) !important;
    color: var(--drs-page-text) !important;
}

html:not([data-drs-theme-exempt="true"]) .admin-module-table-wrapper :where(
    .dt-length label,
    .dataTables_length label,
    .dt-info,
    .dataTables_info
) {
    color: var(--drs-page-text) !important;
    -webkit-text-fill-color: var(--drs-page-text) !important;
    opacity: 1 !important;
}

html:not([data-drs-theme-exempt="true"]) .admin-module-table-wrapper :where(
    .admin-module-status--ok,
    .pca-status--ok
) {
    background: #d8f3df !important;
    color: #0d5b2c !important;
    -webkit-text-fill-color: #0d5b2c !important;
    border-color: #72ad82 !important;
}

html[data-theme="dark"]:not([data-drs-theme-exempt="true"]) .admin-module-table-wrapper :where(
    .admin-module-status--ok,
    .pca-status--ok
) {
    background: #174b31 !important;
    color: #c4f7d4 !important;
    -webkit-text-fill-color: #c4f7d4 !important;
    border-color: #3d8058 !important;
}

html:not([data-drs-theme-exempt="true"]) .admin-module-table-wrapper :where(
    .admin-module-status--danger,
    .pca-status--danger
) {
    background: #ffe0e5 !important;
    color: #8e1830 !important;
    -webkit-text-fill-color: #8e1830 !important;
    border-color: #df8493 !important;
}

html[data-theme="dark"]:not([data-drs-theme-exempt="true"]) .admin-module-table-wrapper :where(
    .admin-module-status--danger,
    .pca-status--danger
) {
    background: #602334 !important;
    color: #ffd5dc !important;
    -webkit-text-fill-color: #ffd5dc !important;
    border-color: #a94b64 !important;
}

html:not([data-drs-theme-exempt="true"]) .admin-module-table-wrapper :where(
    .admin-module-status--neutral,
    .pca-status--neutral
) {
    background: var(--drs-page-panel) !important;
    color: var(--drs-page-text) !important;
    -webkit-text-fill-color: var(--drs-page-text) !important;
    border-color: var(--drs-page-border) !important;
}

html:not([data-drs-theme-exempt="true"]) .admin-module-table-wrapper .dt-column-order {
    color: var(--drs-page-muted) !important;
    opacity: .9 !important;
}

html[data-theme="dark"]:not([data-drs-theme-exempt="true"]) .admin-module-table-wrapper .pca-table-scroll::-webkit-scrollbar-track {
    background: #132236 !important;
}

html[data-theme="dark"]:not([data-drs-theme-exempt="true"]) .admin-module-table-wrapper .pca-table-scroll::-webkit-scrollbar-thumb {
    background: #617995 !important;
    border: 2px solid #132236 !important;
}
