/*
 * RODOLider UI refresh
 * A presentation-only layer. Existing markup, routes and JavaScript contracts stay intact.
 */

:root {
    --ui-canvas: #f4f6fa;
    --ui-canvas-deep: #edf1f7;
    --ui-surface: rgba(255, 255, 255, 0.88);
    --ui-surface-solid: #ffffff;
    --ui-surface-soft: rgba(248, 250, 253, 0.78);
    --ui-text: #172033;
    --ui-text-soft: #657086;
    --ui-text-faint: #8993a6;
    --ui-border: rgba(73, 87, 112, 0.14);
    --ui-border-strong: rgba(73, 87, 112, 0.22);
    --ui-primary: #5163d8;
    --ui-primary-hover: #4353c4;
    --ui-primary-soft: rgba(81, 99, 216, 0.11);
    --ui-accent: #c67825;
    --ui-accent-soft: rgba(198, 120, 37, 0.12);
    --ui-success: #218760;
    --ui-danger: #c34d5c;
    --ui-radius-sm: 0.65rem;
    --ui-radius: 0.9rem;
    --ui-radius-lg: 1.2rem;
    --ui-shadow-sm: 0 1px 2px rgba(20, 30, 50, 0.04), 0 5px 16px rgba(20, 30, 50, 0.035);
    --ui-shadow: 0 1px 2px rgba(20, 30, 50, 0.04), 0 14px 38px rgba(20, 30, 50, 0.065);
    --ui-shadow-float: 0 18px 50px rgba(20, 30, 50, 0.13);
    --ui-focus: 0 0 0 0.22rem rgba(81, 99, 216, 0.2);
    --ui-modal-surface: rgba(255, 255, 255, 0.935);
    --ui-flyout-surface: rgba(255, 255, 255, 0.985);
    --surface: var(--ui-canvas);
    --panel: var(--ui-surface-solid);
    --ink: var(--ui-text);
    --muted: var(--ui-text-soft);
    --line: var(--ui-border);
    --green: var(--ui-primary);
    --green-strong: var(--ui-primary-hover);
    --blue: var(--ui-primary);
    --amber: var(--ui-accent);
    --input-bg: rgba(255, 255, 255, 0.9);
    --table-head: rgba(244, 247, 251, 0.9);
    --soft: rgba(81, 99, 216, 0.07);
    --soft-border: rgba(81, 99, 216, 0.14);
    --bs-primary: var(--ui-primary);
    --bs-primary-rgb: 81, 99, 216;
    --bs-body-color: var(--ui-text);
    --bs-body-bg: var(--ui-canvas);
    --bs-secondary-color: var(--ui-text-soft);
    --bs-border-color: var(--ui-border);
    --bs-tertiary-bg: var(--ui-canvas);
    --bs-secondary-bg: var(--ui-canvas-deep);
    --bs-link-color: var(--ui-primary);
    --bs-link-hover-color: var(--ui-primary-hover);
}


/* Dark-mode component consolidation: deliberately near-black and low saturation. */
@media screen {
    :root[data-theme="dark"],
    body[data-theme="dark"] {
        --dm-bg: #070914;
        --dm-bg-deep: #050711;
        --dm-chrome: #090c18;
        --dm-sidebar: #0b0f1d;
        --dm-toolbar: #0c1020;
        --dm-surface: #0f1323;
        --dm-surface-raised: #111628;
        --dm-field: #0b0f1d;
        --dm-row: #0f1322;
        --dm-row-alt: #0c101e;
        --dm-border: rgba(151, 160, 214, 0.12);
        --dm-border-strong: rgba(151, 160, 214, 0.2);
        --dm-text: #e8eaf5;
        --dm-muted: #9ca5c2;
        --dm-faint: #747e9f;
        --dm-accent: #737dc4;
        --dm-accent-hover: #858ed0;
        --dm-accent-soft: rgba(115, 125, 196, 0.13);
        --dm-accent-rgb: 115, 125, 196;
        --dm-accent-rgb: 115, 125, 196;
        --ui-canvas: var(--dm-bg);
        --ui-canvas-deep: var(--dm-bg-deep);
        --ui-surface: rgba(15, 19, 35, 0.98);
        --ui-surface-solid: var(--dm-surface);
        --ui-surface-soft: rgba(17, 22, 40, 0.92);
        --ui-text: var(--dm-text);
        --ui-text-soft: var(--dm-muted);
        --ui-text-faint: var(--dm-faint);
        --ui-border: var(--dm-border);
        --ui-border-strong: var(--dm-border-strong);
        --ui-primary: var(--dm-accent);
        --ui-primary-hover: var(--dm-accent-hover);
        --ui-primary-soft: var(--dm-accent-soft);
        --ui-modal-surface: rgba(15, 19, 35, 0.96);
        --ui-flyout-surface: rgba(13, 17, 32, 0.99);
        --surface: var(--dm-bg);
        --panel: var(--dm-surface);
        --ink: var(--dm-text);
        --muted: var(--dm-muted);
        --line: var(--dm-border);
        --input-bg: var(--dm-field);
        --table-head: #121626;
        --soft: var(--dm-accent-soft);
        --soft-border: var(--dm-border-strong);
        --bs-body-bg: var(--dm-bg);
        --bs-body-color: var(--dm-text);
        --bs-secondary-color: var(--dm-muted);
        --bs-secondary-bg: var(--dm-sidebar);
        --bs-tertiary-bg: var(--dm-bg);
        --bs-border-color: var(--dm-border);
        --bs-primary: var(--dm-accent);
        --bs-primary-rgb: var(--dm-accent-rgb);
    }

    :root[data-theme="dark"] body,
    body[data-theme="dark"] {
        background:
            radial-gradient(circle at 82% -12%, rgba(83, 72, 150, 0.07), transparent 27rem),
            linear-gradient(145deg, var(--dm-bg), var(--dm-bg-deep)) fixed !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .app-header.navbar,
    body[data-theme="dark"] .app-header.navbar {
        background: rgba(9, 12, 24, 0.96) !important;
        border-color: var(--dm-border) !important;
        box-shadow: none !important;
    }

    :root[data-theme="dark"] .app-toolbar,
    :root[data-theme="dark"] .app-toolbar > .container-fluid,
    body[data-theme="dark"] .app-toolbar,
    body[data-theme="dark"] .app-toolbar > .container-fluid {
        background: var(--dm-toolbar) !important;
        background-color: var(--dm-toolbar) !important;
        background-image: none !important;
        border-color: var(--dm-border) !important;
        box-shadow: none !important;
    }

    :root[data-theme="dark"] .app-sidebar,
    :root[data-theme="dark"] .main-sidebar,
    :root[data-theme="dark"] .sidebar-wrapper,
    body[data-theme="dark"] .app-sidebar,
    body[data-theme="dark"] .main-sidebar,
    body[data-theme="dark"] .sidebar-wrapper {
        background: var(--dm-sidebar) !important;
        background-color: var(--dm-sidebar) !important;
        background-image: none !important;
        border-color: var(--dm-border) !important;
        box-shadow: 8px 0 30px rgba(0, 0, 0, 0.16) !important;
    }

    :root[data-theme="dark"] .sidebar-brand,
    body[data-theme="dark"] .sidebar-brand {
        background: #0e1223 !important;
        background-image: none !important;
        border-color: var(--dm-border) !important;
    }

    :root[data-theme="dark"] .sidebar-menu .nav-link,
    body[data-theme="dark"] .sidebar-menu .nav-link {
        background: transparent !important;
        border-color: transparent !important;
        color: var(--dm-muted) !important;
    }

    :root[data-theme="dark"] .sidebar-menu .nav-link:hover,
    body[data-theme="dark"] .sidebar-menu .nav-link:hover {
        background: rgba(115, 125, 196, 0.055) !important;
        border-color: rgba(151, 160, 214, 0.1) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .sidebar-menu .nav-link.active,
    :root[data-theme="dark"] .sidebar-menu .menu-open > .nav-link.active,
    body[data-theme="dark"] .sidebar-menu .nav-link.active,
    body[data-theme="dark"] .sidebar-menu .menu-open > .nav-link.active {
        background: #171c33 !important;
        border-color: rgba(115, 125, 196, 0.24) !important;
        box-shadow: none !important;
        color: #c2c7ea !important;
    }

    :root[data-theme="dark"] .sidebar-menu .nav-link .nav-icon,
    body[data-theme="dark"] .sidebar-menu .nav-link .nav-icon {
        color: #737d9e !important;
    }

    :root[data-theme="dark"] .sidebar-menu .nav-link.active .nav-icon,
    body[data-theme="dark"] .sidebar-menu .nav-link.active .nav-icon {
        color: #98a0d8 !important;
    }

    :root[data-theme="dark"] .app-content-header,
    :root[data-theme="dark"] .app-content-header > .container-fluid,
    :root[data-theme="dark"] .app-content,
    :root[data-theme="dark"] .app-content > .container-fluid,
    body[data-theme="dark"] .app-content-header,
    body[data-theme="dark"] .app-content-header > .container-fluid,
    body[data-theme="dark"] .app-content,
    body[data-theme="dark"] .app-content > .container-fluid {
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        box-shadow: none !important;
    }

    :root[data-theme="dark"] .card,
    :root[data-theme="dark"] .dashboard-card,
    :root[data-theme="dark"] .dashboard-onboarding-hero,
    :root[data-theme="dark"] .dashboard-metric-card,
    :root[data-theme="dark"] .dashboard-path-step,
    :root[data-theme="dark"] .dashboard-next-action,
    :root[data-theme="dark"] .record-edit-card,
    :root[data-theme="dark"] .record-side-panel .card,
    body[data-theme="dark"] .card,
    body[data-theme="dark"] .dashboard-card,
    body[data-theme="dark"] .dashboard-onboarding-hero,
    body[data-theme="dark"] .dashboard-metric-card,
    body[data-theme="dark"] .dashboard-path-step,
    body[data-theme="dark"] .dashboard-next-action,
    body[data-theme="dark"] .record-edit-card,
    body[data-theme="dark"] .record-side-panel .card {
        background: var(--dm-surface) !important;
        background-color: var(--dm-surface) !important;
        background-image: none !important;
        border-color: var(--dm-border) !important;
        box-shadow: none !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .card-header,
    :root[data-theme="dark"] .card-footer,
    :root[data-theme="dark"] .dashboard-card .card-header,
    :root[data-theme="dark"] .record-edit-card .card-header,
    body[data-theme="dark"] .card-header,
    body[data-theme="dark"] .card-footer,
    body[data-theme="dark"] .dashboard-card .card-header,
    body[data-theme="dark"] .record-edit-card .card-header {
        background: #101425 !important;
        background-color: #101425 !important;
        background-image: none !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .card-body,
    :root[data-theme="dark"] .dashboard-card .card-body,
    :root[data-theme="dark"] .record-edit-card .card-body,
    body[data-theme="dark"] .card-body,
    body[data-theme="dark"] .dashboard-card .card-body,
    body[data-theme="dark"] .record-edit-card .card-body {
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .dashboard-chart-body,
    body[data-theme="dark"] .dashboard-chart-body {
        background: #0e1222 !important;
    }

    :root[data-theme="dark"] .dashboard-wizard-tile:nth-child(n),
    :root[data-theme="dark"] .dashboard-quick-action:nth-child(n),
    :root[data-theme="dark"] .dashboard-checklist-item:nth-child(n),
    body[data-theme="dark"] .dashboard-wizard-tile:nth-child(n),
    body[data-theme="dark"] .dashboard-quick-action:nth-child(n),
    body[data-theme="dark"] .dashboard-checklist-item:nth-child(n) {
        background: var(--dm-surface-raised) !important;
        background-color: var(--dm-surface-raised) !important;
        background-image: none !important;
        border-color: var(--dm-border) !important;
        box-shadow: none !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .dashboard-wizard-tile:nth-child(n):hover,
    :root[data-theme="dark"] .dashboard-quick-action:nth-child(n):hover,
    :root[data-theme="dark"] .dashboard-checklist-item:nth-child(n):hover,
    body[data-theme="dark"] .dashboard-wizard-tile:nth-child(n):hover,
    body[data-theme="dark"] .dashboard-quick-action:nth-child(n):hover,
    body[data-theme="dark"] .dashboard-checklist-item:nth-child(n):hover {
        background: #151a30 !important;
        border-color: rgba(115, 125, 196, 0.22) !important;
        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14) !important;
    }

    :root[data-theme="dark"] .dashboard-wizard-icon,
    :root[data-theme="dark"] .dashboard-quick-icon,
    :root[data-theme="dark"] .dashboard-next-icon,
    body[data-theme="dark"] .dashboard-wizard-icon,
    body[data-theme="dark"] .dashboard-quick-icon,
    body[data-theme="dark"] .dashboard-next-icon {
        background: rgba(115, 125, 196, 0.11) !important;
        color: #9ea6d9 !important;
        filter: none !important;
    }

    :root[data-theme="dark"] .dashboard-wizard-action,
    :root[data-theme="dark"] .dashboard-status-badge,
    :root[data-theme="dark"] .dashboard-path-percent,
    :root[data-theme="dark"] .dashboard-quick-badge,
    body[data-theme="dark"] .dashboard-wizard-action,
    body[data-theme="dark"] .dashboard-status-badge,
    body[data-theme="dark"] .dashboard-path-percent,
    body[data-theme="dark"] .dashboard-quick-badge {
        background: rgba(115, 125, 196, 0.11) !important;
        border-color: rgba(115, 125, 196, 0.17) !important;
        color: #bcc2e9 !important;
        box-shadow: none !important;
    }

    :root[data-theme="dark"] .dashboard-news-card .list-group-item:nth-child(n),
    :root[data-theme="dark"] .list-group-item,
    body[data-theme="dark"] .dashboard-news-card .list-group-item:nth-child(n),
    body[data-theme="dark"] .list-group-item {
        background: #0e1222 !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .record-field-shell,
    :root[data-theme="dark"] .wizard-form-card,
    :root[data-theme="dark"] .wizard-side-card,
    :root[data-theme="dark"] .setup-wizard-tile,
    body[data-theme="dark"] .record-field-shell,
    body[data-theme="dark"] .wizard-form-card,
    body[data-theme="dark"] .wizard-side-card,
    body[data-theme="dark"] .setup-wizard-tile {
        background: var(--dm-surface-raised) !important;
        background-color: var(--dm-surface-raised) !important;
        background-image: none !important;
        border-color: var(--dm-border) !important;
        box-shadow: none !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .form-control,
    :root[data-theme="dark"] .form-select,
    :root[data-theme="dark"] .input-group-text,
    :root[data-theme="dark"] .record-form-field,
    :root[data-theme="dark"] .record-field-shell .form-control,
    body[data-theme="dark"] .form-control,
    body[data-theme="dark"] .form-select,
    body[data-theme="dark"] .input-group-text,
    body[data-theme="dark"] .record-form-field,
    body[data-theme="dark"] .record-field-shell .form-control {
        background: var(--dm-field) !important;
        background-color: var(--dm-field) !important;
        border-color: var(--dm-border-strong) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .form-control:focus,
    :root[data-theme="dark"] .form-select:focus,
    body[data-theme="dark"] .form-control:focus,
    body[data-theme="dark"] .form-select:focus {
        background: #0e1222 !important;
        border-color: rgba(115, 125, 196, 0.7) !important;
        box-shadow: 0 0 0 0.2rem rgba(115, 125, 196, 0.16) !important;
    }

    :root[data-theme="dark"] .record-form-tabs,
    body[data-theme="dark"] .record-form-tabs {
        background: #0f1323 !important;
        border-color: var(--dm-border) !important;
    }

    :root[data-theme="dark"] .record-form-tabs .nav-link,
    body[data-theme="dark"] .record-form-tabs .nav-link {
        background: #101425 !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-muted) !important;
    }

    :root[data-theme="dark"] .record-form-tabs .nav-link.active,
    body[data-theme="dark"] .record-form-tabs .nav-link.active {
        background: #181d35 !important;
        background-image: none !important;
        border-color: rgba(115, 125, 196, 0.25) !important;
        color: #c5caec !important;
    }

    :root[data-theme="dark"] .record-expert-panel,
    :root[data-theme="dark"] .checklist-attachment-panel,
    body[data-theme="dark"] .record-expert-panel,
    body[data-theme="dark"] .checklist-attachment-panel {
        background: rgba(115, 125, 196, 0.07) !important;
        background-image: none !important;
        border-color: rgba(115, 125, 196, 0.16) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .table,
    :root[data-theme="dark"] .crud-record-listing,
    :root[data-theme="dark"] .crud-record-listing .table,
    body[data-theme="dark"] .table,
    body[data-theme="dark"] .crud-record-listing,
    body[data-theme="dark"] .crud-record-listing .table {
        background: transparent !important;
        background-color: transparent !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .table thead th,
    :root[data-theme="dark"] .crud-record-listing thead th,
    body[data-theme="dark"] .table thead th,
    body[data-theme="dark"] .crud-record-listing thead th {
        background: #121626 !important;
        border-color: var(--dm-border) !important;
        color: #abb2cc !important;
    }

    :root[data-theme="dark"] .crud-record-listing tbody td,
    body[data-theme="dark"] .crud-record-listing tbody td {
        background: var(--dm-row) !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .crud-record-listing tbody tr:nth-child(even) td,
    body[data-theme="dark"] .crud-record-listing tbody tr:nth-child(even) td {
        background: var(--dm-row-alt) !important;
    }

    :root[data-theme="dark"] .table-hover > tbody > tr:hover > *,
    body[data-theme="dark"] .table-hover > tbody > tr:hover > * {
        background: rgba(115, 125, 196, 0.09) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .btn-primary,
    body[data-theme="dark"] .btn-primary {
        background: var(--dm-accent) !important;
        border-color: var(--dm-accent) !important;
        box-shadow: none !important;
        color: #f7f8ff !important;
    }

    :root[data-theme="dark"] .btn-primary:hover,
    :root[data-theme="dark"] .btn-primary:focus,
    body[data-theme="dark"] .btn-primary:hover,
    body[data-theme="dark"] .btn-primary:focus {
        background: var(--dm-accent-hover) !important;
        border-color: var(--dm-accent-hover) !important;
        box-shadow: 0 6px 18px rgba(52, 58, 111, 0.2) !important;
        color: #ffffff !important;
    }

    :root[data-theme="dark"] .btn-outline-primary,
    :root[data-theme="dark"] .search-panel-button,
    body[data-theme="dark"] .btn-outline-primary,
    body[data-theme="dark"] .search-panel-button {
        background: rgba(115, 125, 196, 0.09) !important;
        border-color: rgba(115, 125, 196, 0.19) !important;
        box-shadow: none !important;
        color: #bcc2e9 !important;
    }

    :root[data-theme="dark"] .btn-outline-primary:hover,
    :root[data-theme="dark"] .search-panel-button:hover,
    body[data-theme="dark"] .btn-outline-primary:hover,
    body[data-theme="dark"] .search-panel-button:hover {
        background: rgba(115, 125, 196, 0.15) !important;
        border-color: rgba(115, 125, 196, 0.28) !important;
        color: #d8dcf5 !important;
    }

    :root[data-theme="dark"] .btn-outline-secondary,
    :root[data-theme="dark"] .btn-outline-success,
    :root[data-theme="dark"] .btn-outline-danger,
    :root[data-theme="dark"] .theme-toggle-button,
    body[data-theme="dark"] .btn-outline-secondary,
    body[data-theme="dark"] .btn-outline-success,
    body[data-theme="dark"] .btn-outline-danger,
    body[data-theme="dark"] .theme-toggle-button {
        background: rgba(255, 255, 255, 0.025) !important;
        border-color: var(--dm-border-strong) !important;
        box-shadow: none !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .modal-content,
    body[data-theme="dark"] .modal-content {
        background: rgba(15, 19, 35, 0.965) !important;
        border-color: var(--dm-border-strong) !important;
        box-shadow: 0 24px 56px rgba(0, 0, 0, 0.38) !important;
    }

    :root[data-theme="dark"] .sidebar-rail-flyout,
    body[data-theme="dark"] .sidebar-rail-flyout {
        background: rgba(13, 17, 32, 0.99) !important;
        border-color: var(--dm-border-strong) !important;
        box-shadow: 0 24px 54px rgba(0, 0, 0, 0.4) !important;
    }

    :root[data-theme="dark"] .sidebar-rail-flyout-search,
    body[data-theme="dark"] .sidebar-rail-flyout-search {
        background: var(--dm-field) !important;
        border-color: var(--dm-border) !important;
    }

    :root[data-theme="dark"] .small-box.text-bg-primary,
    :root[data-theme="dark"] .small-box.text-bg-success,
    :root[data-theme="dark"] .small-box.text-bg-warning,
    :root[data-theme="dark"] .small-box.text-bg-secondary,
    body[data-theme="dark"] .small-box.text-bg-primary,
    body[data-theme="dark"] .small-box.text-bg-success,
    body[data-theme="dark"] .small-box.text-bg-warning,
    body[data-theme="dark"] .small-box.text-bg-secondary {
        background: var(--dm-surface-raised) !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .badge.text-bg-info,
    :root[data-theme="dark"] .badge.text-bg-success,
    :root[data-theme="dark"] .badge.text-bg-warning,
    :root[data-theme="dark"] .badge.text-bg-danger,
    body[data-theme="dark"] .badge.text-bg-info,
    body[data-theme="dark"] .badge.text-bg-success,
    body[data-theme="dark"] .badge.text-bg-warning,
    body[data-theme="dark"] .badge.text-bg-danger {
        box-shadow: none !important;
        filter: saturate(0.58);
    }

    :root[data-theme="dark"] .app-footer,
    body[data-theme="dark"] .app-footer {
        background: var(--dm-bg) !important;
        background-color: var(--dm-bg) !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-faint) !important;
    }
}

:root[data-theme="dark"] {
    --ui-canvas: #151821;
    --ui-canvas-deep: #11141c;
    --ui-surface: rgba(31, 36, 48, 0.86);
    --ui-surface-solid: #202532;
    --ui-surface-soft: rgba(39, 45, 59, 0.72);
    --ui-text: #f2f4f9;
    --ui-text-soft: #aab2c3;
    --ui-text-faint: #7f899e;
    --ui-border: rgba(222, 228, 240, 0.1);
    --ui-border-strong: rgba(222, 228, 240, 0.18);
    --ui-primary: #8b98ff;
    --ui-primary-hover: #a4adff;
    --ui-primary-soft: rgba(139, 152, 255, 0.14);
    --ui-accent: #e3a255;
    --ui-accent-soft: rgba(227, 162, 85, 0.14);
    --ui-success: #55ba8d;
    --ui-danger: #ff8190;
    --ui-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.14), 0 8px 22px rgba(0, 0, 0, 0.1);
    --ui-shadow: 0 1px 2px rgba(0, 0, 0, 0.18), 0 18px 48px rgba(0, 0, 0, 0.18);
    --ui-shadow-float: 0 24px 60px rgba(0, 0, 0, 0.34);
    --ui-focus: 0 0 0 0.22rem rgba(139, 152, 255, 0.25);
    --ui-modal-surface: rgba(31, 36, 48, 0.91);
    --ui-flyout-surface: rgba(31, 36, 48, 0.975);
    --surface: var(--ui-canvas);
    --panel: var(--ui-surface-solid);
    --ink: var(--ui-text);
    --muted: var(--ui-text-soft);
    --line: var(--ui-border);
    --green: var(--ui-primary);
    --green-strong: var(--ui-primary-hover);
    --blue: var(--ui-primary);
    --amber: var(--ui-accent);
    --input-bg: rgba(27, 32, 44, 0.9);
    --table-head: rgba(39, 45, 59, 0.9);
    --soft: rgba(139, 152, 255, 0.09);
    --soft-border: rgba(139, 152, 255, 0.16);
    --bs-primary: var(--ui-primary);
    --bs-primary-rgb: 139, 152, 255;
    --bs-body-color: var(--ui-text);
    --bs-body-bg: var(--ui-canvas);
    --bs-secondary-color: var(--ui-text-soft);
    --bs-border-color: var(--ui-border);
    --bs-tertiary-bg: var(--ui-canvas);
    --bs-secondary-bg: var(--ui-canvas-deep);
    --bs-link-color: var(--ui-primary);
    --bs-link-hover-color: var(--ui-primary-hover);
    color-scheme: dark;
}

html {
    background: var(--ui-canvas);
    scrollbar-color: rgba(113, 126, 151, 0.42) transparent;
    scrollbar-width: thin;
}

body,
.app-adminlte-body {
    background:
        radial-gradient(circle at 82% -8%, rgba(81, 99, 216, 0.1), transparent 28rem),
        linear-gradient(145deg, var(--ui-canvas), var(--ui-canvas-deep)) fixed !important;
    color: var(--ui-text) !important;
    font-family: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif !important;
    font-size: 0.925rem;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
}

body::before {
    display: none !important;
}

::selection {
    background: rgba(81, 99, 216, 0.22);
    color: var(--ui-text);
}

:where(a, button, input, select, textarea, summary):focus-visible {
    border-color: var(--ui-primary) !important;
    box-shadow: var(--ui-focus) !important;
    outline: 0 !important;
}

a {
    text-underline-offset: 0.16em;
}

h1,
h2,
h3,
h4,
h5,
h6,
.card-title {
    color: var(--ui-text);
    font-weight: 650;
    letter-spacing: -0.025em;
}

.text-body-secondary,
.text-muted,
.form-text {
    color: var(--ui-text-soft) !important;
}

/* Shell: translucent top layers and calm navigation. */
.app-wrapper,
.app-main,
.app-content,
.app-content > .container-fluid,
.app-content-header,
.app-content-header > .container-fluid {
    background: transparent !important;
}

.app-header.navbar {
    min-height: 64px;
    background: rgba(255, 255, 255, 0.72) !important;
    border-bottom: 1px solid var(--ui-border) !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.54);
    -webkit-backdrop-filter: blur(18px) saturate(145%);
    backdrop-filter: blur(18px) saturate(145%);
}

:root[data-theme="dark"] .app-header.navbar {
    background: rgba(21, 24, 33, 0.74) !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.025);
}

.app-header .container-fluid {
    min-height: 63px;
    padding-inline: clamp(0.75rem, 2vw, 1.5rem);
}

.app-header .nav-link {
    align-items: center;
    border-radius: var(--ui-radius-sm);
    color: var(--ui-text-soft) !important;
    display: inline-flex;
    min-height: 40px;
    padding: 0.55rem 0.75rem;
    transition: background-color 150ms ease, color 150ms ease;
}

.app-header .nav-link:hover {
    background: var(--ui-primary-soft);
    color: var(--ui-text) !important;
}

.app-header-title {
    color: var(--ui-text-faint);
    font-size: 0.76rem;
    font-weight: 650;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.app-sidebar {
    background:
        radial-gradient(circle at 10% 0%, rgba(81, 99, 216, 0.14), transparent 17rem),
        rgba(251, 252, 254, 0.93) !important;
    border-right: 1px solid var(--ui-border) !important;
    box-shadow: 8px 0 30px rgba(32, 43, 68, 0.035) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%);
    backdrop-filter: blur(18px) saturate(130%);
}

:root[data-theme="dark"] .app-sidebar {
    background:
        radial-gradient(circle at 10% 0%, rgba(139, 152, 255, 0.12), transparent 17rem),
        rgba(24, 28, 38, 0.94) !important;
    box-shadow: 8px 0 34px rgba(0, 0, 0, 0.16) !important;
}

.sidebar-brand {
    background: linear-gradient(135deg, #f5f5ff 0%, #eceeff 100%) !important;
    border-bottom: 1px solid rgba(81, 99, 216, 0.1) !important;
    min-height: 72px;
    padding: 0.75rem 1rem;
}

.rodolider-brand-link {
    background: transparent !important;
    border-radius: var(--ui-radius);
    box-shadow: none !important;
    color: #4c5676 !important;
    gap: 0.7rem;
    min-height: 48px;
    padding: 0.4rem 0.55rem !important;
}

.rodolider-brand-link .brand-text {
    color: #4c5676 !important;
}

:root[data-theme="dark"] .sidebar-brand,
body[data-theme="dark"] .sidebar-brand {
    background: linear-gradient(135deg, #292d45 0%, #25293f 100%) !important;
    border-bottom: 1px solid rgba(139, 152, 255, 0.12) !important;
}

:root[data-theme="dark"] .rodolider-brand-link,
:root[data-theme="dark"] .rodolider-brand-link:hover,
:root[data-theme="dark"] .brand-link.rodolider-brand-link,
:root[data-theme="dark"] .brand-link.rodolider-brand-link:hover,
body[data-theme="dark"] .rodolider-brand-link,
body[data-theme="dark"] .rodolider-brand-link:hover,
body[data-theme="dark"] .brand-link.rodolider-brand-link,
body[data-theme="dark"] .brand-link.rodolider-brand-link:hover {
    background: transparent !important;
    border-color: transparent !important;
    color: #e9ebff !important;
}

:root[data-theme="dark"] .rodolider-brand-link .brand-text,
body[data-theme="dark"] .rodolider-brand-link .brand-text {
    color: #e9ebff !important;
}

.rodolider-brand-logo {
    background: rgba(81, 99, 216, 0.055);
    border: 1px solid rgba(81, 99, 216, 0.1);
    border-radius: 0.72rem;
    filter: drop-shadow(0 5px 10px rgba(25, 27, 73, 0.18));
    height: 42px !important;
    padding: 0.18rem;
    width: 42px !important;
}

.brand-text {
    font-size: 1.02rem;
    letter-spacing: -0.02em;
}

.sidebar-wrapper {
    padding: 0.65rem 0.7rem 5rem;
}

.sidebar-menu .nav-item {
    margin-block: 0.1rem;
}

.sidebar-menu .nav-link {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 0.72rem;
    color: var(--ui-text-soft) !important;
    display: flex;
    min-height: 42px;
    padding: 0.58rem 0.7rem;
    transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}

.sidebar-menu .nav-link .nav-icon {
    color: var(--ui-text-faint);
    font-size: 1rem;
    margin-right: 0.65rem;
    transition: color 150ms ease;
}

.sidebar-menu .nav-link p {
    font-size: 0.875rem;
    font-weight: 520;
    line-height: 1.3;
}

.sidebar-menu .nav-link:hover {
    background: var(--ui-surface-soft) !important;
    border-color: var(--ui-border);
    color: var(--ui-text) !important;
}

.sidebar-menu .nav-link:hover .nav-icon {
    color: var(--ui-primary);
}

.sidebar-menu .nav-link.active,
.sidebar-menu .menu-open > .nav-link.active {
    background: var(--ui-primary-soft) !important;
    border-color: rgba(81, 99, 216, 0.15) !important;
    box-shadow: none !important;
    color: var(--ui-primary) !important;
    font-weight: 650;
}

.sidebar-menu .nav-link.active .nav-icon {
    color: var(--ui-primary) !important;
}

.sidebar-menu .nav-treeview {
    margin: 0.25rem 0 0.45rem 0.65rem;
    padding-left: 0.55rem;
    border-left: 1px solid var(--ui-border);
}

.sidebar-menu .nav-treeview .nav-link {
    min-height: 38px;
    padding-block: 0.45rem;
}

.app-toolbar {
    background: rgba(255, 255, 255, 0.48) !important;
    border-bottom: 1px solid var(--ui-border) !important;
    min-height: 66px;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

:root[data-theme="dark"] .app-toolbar {
    background: rgba(24, 28, 38, 0.48) !important;
}

.app-toolbar > .container-fluid {
    padding-inline: clamp(1rem, 2.5vw, 2rem);
}

.app-toolbar strong {
    color: var(--ui-text);
    font-size: 0.96rem;
    font-weight: 650;
}

.app-main > .app-content-header,
.app-main > .app-content,
.app-main > .dashboard-onboarding {
    padding-inline: clamp(1rem, 2.5vw, 2rem);
}

.app-content-header {
    padding-top: clamp(1.25rem, 2.5vw, 2rem);
    padding-bottom: 0.8rem;
}

.app-content-header h1,
.page-heading h1,
.dashboard-main-header h1 {
    font-size: clamp(1.45rem, 2.2vw, 2rem);
    font-weight: 680;
    letter-spacing: -0.04em;
}

.breadcrumb {
    font-size: 0.8rem;
}

.breadcrumb-item,
.breadcrumb-item a {
    color: var(--ui-text-soft);
}

.app-footer {
    background: transparent !important;
    border-top: 0 !important;
    color: var(--ui-text-faint);
    font-size: 0.76rem;
    padding: 2rem 1.5rem 1.15rem;
}

/* Controls: flat, tactile and consistent. */
.btn {
    border-radius: 0.7rem;
    box-shadow: none !important;
    font-weight: 620;
    gap: 0.4rem;
    min-height: 40px;
    padding: 0.55rem 0.9rem;
    transform: none !important;
    transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease, box-shadow 150ms ease !important;
}

.btn-sm,
.btn-group-sm > .btn,
.btn-compact {
    border-radius: 0.58rem;
    font-size: 0.8rem;
    min-height: 34px;
    padding: 0.38rem 0.68rem;
}

.btn-primary {
    background: var(--ui-primary) !important;
    border-color: var(--ui-primary) !important;
    color: #fff !important;
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary.show {
    background: var(--ui-primary-hover) !important;
    border-color: var(--ui-primary-hover) !important;
    box-shadow: 0 6px 18px rgba(81, 99, 216, 0.2) !important;
}

.btn-outline-primary {
    background: var(--ui-primary-soft) !important;
    border-color: rgba(81, 99, 216, 0.2) !important;
    color: var(--ui-primary) !important;
}

.btn-outline-primary:hover {
    background: var(--ui-primary) !important;
    border-color: var(--ui-primary) !important;
    color: #fff !important;
}

.btn-outline-secondary,
.btn-light,
.btn-muted,
.theme-toggle-button {
    background: var(--ui-surface-soft) !important;
    border-color: var(--ui-border) !important;
    color: var(--ui-text-soft) !important;
}

.btn-outline-secondary:hover,
.btn-light:hover,
.btn-muted:hover,
.theme-toggle-button:hover {
    background: var(--ui-surface-solid) !important;
    border-color: var(--ui-border-strong) !important;
    color: var(--ui-text) !important;
}

.btn-danger,
.btn-outline-danger:hover {
    background: var(--ui-danger) !important;
    border-color: var(--ui-danger) !important;
    color: #fff !important;
}

.btn-outline-danger {
    background: rgba(195, 77, 92, 0.08) !important;
    border-color: rgba(195, 77, 92, 0.2) !important;
    color: var(--ui-danger) !important;
}

.btn-tool {
    background: transparent !important;
    border-color: transparent !important;
    color: var(--ui-text-soft) !important;
    min-height: 34px;
}

.form-label {
    color: var(--ui-text);
    font-size: 0.82rem;
    font-weight: 620;
    margin-bottom: 0.42rem;
}

.form-control,
.form-select,
.input-group-text {
    background-color: var(--input-bg) !important;
    border: 1px solid var(--ui-border-strong) !important;
    border-radius: 0.72rem;
    color: var(--ui-text) !important;
    min-height: 42px;
    transition: background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
}

.form-control,
.form-select {
    padding: 0.58rem 0.75rem;
}

.form-control-sm,
.form-select-sm {
    border-radius: 0.6rem;
    min-height: 36px;
    padding-block: 0.38rem;
}

.form-control::placeholder {
    color: var(--ui-text-faint);
    opacity: 0.78;
}

.form-control:hover,
.form-select:hover {
    border-color: rgba(81, 99, 216, 0.32) !important;
}

.form-control:focus,
.form-select:focus {
    background-color: var(--ui-surface-solid) !important;
    border-color: var(--ui-primary) !important;
    box-shadow: var(--ui-focus) !important;
}

.input-group > .input-group-text {
    color: var(--ui-text-soft);
}

.form-check-input {
    border-color: var(--ui-border-strong);
    box-shadow: none;
}

.form-check-input:checked {
    background-color: var(--ui-primary);
    border-color: var(--ui-primary);
}

/* Surfaces: one visual language across cards, tables and dialogs. */
.card,
.form-panel,
.toolbar-panel,
.table-panel,
.detail-section,
.print-meta > div,
.module-item,
.company-card,
.empty-state,
.setup-wizard-tile,
.wizard-form-card,
.wizard-side-card {
    background: var(--ui-surface) !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: var(--ui-radius) !important;
    box-shadow: var(--ui-shadow-sm) !important;
    -webkit-backdrop-filter: blur(14px) saturate(125%);
    backdrop-filter: blur(14px) saturate(125%);
}

.card-header,
.card-footer {
    background: transparent !important;
    border-color: var(--ui-border) !important;
    padding: 0.95rem 1.1rem;
}

.card-header:first-child {
    border-radius: var(--ui-radius) var(--ui-radius) 0 0;
}

.card-body {
    padding: 1.1rem;
}

.card-title {
    font-size: 0.96rem;
}

.modal-backdrop.show {
    background: #182035;
    opacity: 0.18;
}

.modal-content {
    background: var(--ui-modal-surface) !important;
    border: 1px solid rgba(255, 255, 255, 0.68) !important;
    border-radius: var(--ui-radius-lg) !important;
    box-shadow: 0 18px 48px rgba(27, 37, 61, 0.14) !important;
    color: var(--ui-text);
    -webkit-backdrop-filter: blur(22px) saturate(135%);
    backdrop-filter: blur(22px) saturate(135%);
}

:root[data-theme="dark"] .modal-content {
    background: var(--ui-modal-surface) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 22px 54px rgba(0, 0, 0, 0.3) !important;
}

.dropdown-menu,
.offcanvas,
.toast {
    background: var(--ui-surface) !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: var(--ui-radius-lg) !important;
    box-shadow: var(--ui-shadow-float) !important;
    color: var(--ui-text);
    -webkit-backdrop-filter: blur(22px) saturate(140%);
    backdrop-filter: blur(22px) saturate(140%);
}

.modal-header,
.modal-footer {
    border-color: var(--ui-border) !important;
    padding: 1rem 1.2rem;
}

.modal-title {
    font-weight: 500 !important;
}

/* One close-button interaction across every modal, matching the account dialog. */
.modal .btn-close {
    background-color: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 0.65rem !important;
    opacity: 0.72;
    transform: rotate(0deg) scale(1);
    transform-origin: center;
    transition:
        background-color 160ms ease,
        border-color 160ms ease,
        filter 160ms ease,
        opacity 160ms ease,
        transform 160ms ease !important;
    will-change: transform;
}

.modal .btn-close:hover,
.modal .btn-close:focus-visible {
    background-color: rgba(195, 77, 92, 0.1) !important;
    border-color: rgba(195, 77, 92, 0.3) !important;
    filter: invert(35%) sepia(38%) saturate(1537%) hue-rotate(304deg) brightness(91%) contrast(89%);
    opacity: 1;
    transform: rotate(90deg) scale(1.06);
}

:root[data-theme="dark"] .modal .btn-close,
body[data-theme="dark"] .modal .btn-close {
    filter: invert(1) grayscale(100%) brightness(1.35);
}

:root[data-theme="dark"] .modal .btn-close:hover,
:root[data-theme="dark"] .modal .btn-close:focus-visible,
body[data-theme="dark"] .modal .btn-close:hover,
body[data-theme="dark"] .modal .btn-close:focus-visible {
    background-color: rgba(255, 129, 144, 0.12) !important;
    border-color: rgba(255, 129, 144, 0.34) !important;
    filter: invert(67%) sepia(32%) saturate(1107%) hue-rotate(304deg) brightness(104%) contrast(101%);
}

#commandPaletteModal .modal-content {
    background: var(--ui-modal-surface) !important;
    -webkit-backdrop-filter: blur(18px) saturate(125%);
    backdrop-filter: blur(18px) saturate(125%);
}

#commandPaletteModal .modal-header,
#commandPaletteModal .modal-body {
    background: transparent !important;
}

#commandPaletteModal .command-palette-results {
    background: transparent !important;
}

#commandPaletteModal .command-palette-results .list-group-item {
    background: rgba(248, 250, 253, 0.72) !important;
    border-color: var(--ui-border) !important;
    color: var(--ui-text-soft) !important;
    font-weight: 400 !important;
}

:root[data-theme="dark"] #commandPaletteModal .command-palette-results .list-group-item {
    background: rgba(29, 36, 66, 0.78) !important;
}

#commandPaletteModal .command-palette-results .list-group-item-action {
    transform: translateX(0);
    transition:
        background-color 170ms ease,
        border-color 170ms ease,
        box-shadow 170ms ease,
        color 170ms ease,
        transform 170ms ease;
}

#commandPaletteModal .command-palette-results .list-group-item-action:hover,
#commandPaletteModal .command-palette-results .list-group-item-action:focus-visible {
    background: var(--ui-primary-soft) !important;
    border-color: var(--ui-border-strong) !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
    color: var(--ui-primary) !important;
    outline: none;
    transform: translateX(3px);
}

@media (prefers-reduced-motion: reduce) {
    #commandPaletteModal .command-palette-results .list-group-item-action {
        transition: none;
    }

    #commandPaletteModal .command-palette-results .list-group-item-action:hover,
    #commandPaletteModal .command-palette-results .list-group-item-action:focus-visible {
        transform: none;
    }
}

.modal-body {
    padding: 1.2rem;
}

.dropdown-item {
    border-radius: 0.55rem;
    color: var(--ui-text);
    margin: 0.15rem 0.3rem;
    width: calc(100% - 0.6rem);
}

.dropdown-item:hover,
.dropdown-item:focus {
    background: var(--ui-primary-soft);
    color: var(--ui-primary);
}

.alert {
    background: var(--ui-surface-soft) !important;
    border-color: var(--ui-border) !important;
    border-radius: 0.78rem;
    box-shadow: none;
}

.alert-info {
    background: rgba(81, 99, 216, 0.08) !important;
    border-color: rgba(81, 99, 216, 0.16) !important;
    color: var(--ui-text) !important;
}

.alert-success {
    background: rgba(33, 135, 96, 0.08) !important;
    border-color: rgba(33, 135, 96, 0.18) !important;
    color: var(--ui-success) !important;
}

/* Toast contrast: Bootstrap's white text must never sit on a white glass surface. */
.toast.text-bg-success {
    background: rgba(232, 246, 239, 0.98) !important;
    border: 1px solid rgba(33, 135, 96, 0.2) !important;
    color: #176648 !important;
}

.toast.text-bg-danger {
    background: rgba(251, 235, 238, 0.98) !important;
    border: 1px solid rgba(195, 77, 92, 0.2) !important;
    color: #9f3c49 !important;
}

.toast.text-bg-warning {
    background: rgba(255, 247, 232, 0.98) !important;
    border: 1px solid rgba(198, 120, 37, 0.2) !important;
    color: #805313 !important;
}

.toast.text-bg-info {
    background: rgba(239, 241, 255, 0.98) !important;
    border: 1px solid rgba(81, 99, 216, 0.18) !important;
    color: #4352ae !important;
}

.toast.text-bg-secondary {
    background: rgba(246, 248, 251, 0.98) !important;
    border: 1px solid var(--ui-border) !important;
    color: var(--ui-text-soft) !important;
}

.toast[class*="text-bg-"] .toast-body {
    color: inherit !important;
    font-weight: 500;
}

.toast[class*="text-bg-"] .btn-close,
.toast[class*="text-bg-"] .btn-close-white {
    filter: none !important;
    opacity: 0.58;
}

:root[data-theme="dark"] .toast.text-bg-success,
body[data-theme="dark"] .toast.text-bg-success {
    background: rgba(25, 70, 53, 0.96) !important;
    color: #bdebd6 !important;
}

:root[data-theme="dark"] .toast.text-bg-danger,
body[data-theme="dark"] .toast.text-bg-danger {
    background: rgba(83, 37, 47, 0.96) !important;
    color: #ffd0d7 !important;
}

:root[data-theme="dark"] .toast.text-bg-warning,
body[data-theme="dark"] .toast.text-bg-warning {
    background: rgba(79, 56, 27, 0.96) !important;
    color: #ffe0ac !important;
}

:root[data-theme="dark"] .toast.text-bg-info,
body[data-theme="dark"] .toast.text-bg-info {
    background: rgba(43, 49, 83, 0.96) !important;
    color: #d6dbff !important;
}

:root[data-theme="dark"] .toast[class*="text-bg-"] .btn-close,
:root[data-theme="dark"] .toast[class*="text-bg-"] .btn-close-white,
body[data-theme="dark"] .toast[class*="text-bg-"] .btn-close,
body[data-theme="dark"] .toast[class*="text-bg-"] .btn-close-white {
    filter: invert(1) grayscale(100%) brightness(1.3) !important;
}

.badge,
.status-pill,
.module-state,
.topbar-badge {
    border-radius: 999px;
    font-weight: 620;
    letter-spacing: 0;
    padding: 0.38rem 0.58rem;
}

.progress {
    background: rgba(101, 112, 134, 0.12);
    border-radius: 999px;
    overflow: hidden;
}

.progress-bar {
    background-color: var(--ui-primary);
}

.table-responsive,
.table-scroll,
.table-panel {
    border-radius: var(--ui-radius);
}

.table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--ui-text);
    --bs-table-border-color: var(--ui-border);
    margin-bottom: 0;
}

.table > :not(caption) > * > *,
.data-table th,
.data-table td {
    background: transparent;
    border-bottom-color: var(--ui-border);
    padding: 0.82rem 0.9rem;
}

.table thead th,
.data-table th {
    background: var(--table-head) !important;
    color: var(--ui-text-soft);
    font-size: 0.72rem;
    font-weight: 680;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.table-hover > tbody > tr:hover > *,
.data-table tbody tr:hover td {
    background: var(--ui-primary-soft) !important;
}

.pagination {
    gap: 0.3rem;
}

.page-link {
    background: var(--ui-surface-soft);
    border: 1px solid var(--ui-border);
    border-radius: 0.58rem !important;
    color: var(--ui-text-soft);
    min-width: 36px;
    text-align: center;
}

.active > .page-link,
.page-link.active {
    background: var(--ui-primary);
    border-color: var(--ui-primary);
    color: #fff;
}

/* Dashboard: airy hierarchy with low-noise interaction states. */
.dashboard-onboarding {
    padding-top: 0.25rem;
}

.dashboard-onboarding-hero,
.dashboard-card,
.dashboard-metric-card,
.dashboard-path-step,
.dashboard-wizard-tile,
.dashboard-next-action,
.dashboard-quick-action,
.dashboard-checklist-item {
    background: var(--ui-surface) !important;
    border: 1px solid var(--ui-border) !important;
    box-shadow: var(--ui-shadow-sm) !important;
    -webkit-backdrop-filter: blur(14px) saturate(125%);
    backdrop-filter: blur(14px) saturate(125%);
}

.dashboard-onboarding-hero {
    border-radius: var(--ui-radius-lg) !important;
    gap: 1.5rem;
    padding: clamp(1.2rem, 2.4vw, 1.8rem);
}

.dashboard-hero-title {
    color: var(--ui-text);
    font-size: clamp(1.55rem, 2.5vw, 2.3rem);
    font-weight: 620;
    letter-spacing: -0.045em;
}

.dashboard-hero-copy,
.dashboard-path-desc,
.dashboard-wizard-desc,
.dashboard-next-action small,
.dashboard-metric-hint {
    color: var(--ui-text-soft);
}

.dashboard-hero-kicker,
.dashboard-wizard-kind {
    color: var(--ui-primary);
    font-weight: 680;
    letter-spacing: 0.055em;
}

.dashboard-path-step,
.dashboard-wizard-tile,
.dashboard-next-action {
    border-radius: var(--ui-radius) !important;
    transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.dashboard-path-step {
    min-height: 11.25rem;
}

.dashboard-path-index,
.dashboard-status-badge,
.dashboard-path-percent,
.dashboard-wizard-action {
    background: var(--ui-primary-soft);
    border-color: rgba(81, 99, 216, 0.14);
    color: var(--ui-primary);
}

.dashboard-path-icon,
.dashboard-wizard-icon {
    color: var(--ui-primary);
}

.dashboard-path-title,
.dashboard-wizard-title,
.dashboard-next-action strong,
.dashboard-metric-label,
.dashboard-metric-value {
    color: var(--ui-text);
}

.dashboard-card .card-title {
    font-weight: 500 !important;
}

.dashboard-path-title,
.dashboard-wizard-title,
.dashboard-next-action strong,
.dashboard-quick-title,
.dashboard-checklist-title,
.dashboard-metric-label,
.dashboard-news-item .fw-semibold,
.dashboard-onboarding .info-box-number {
    font-weight: 400 !important;
}

.dashboard-wizard-kind,
.dashboard-wizard-action,
.dashboard-status-badge,
.dashboard-path-percent {
    font-weight: 500 !important;
}

.dashboard-metric-card {
    border-radius: var(--ui-radius) !important;
    border-top: 1px solid var(--ui-border) !important;
    min-height: 7.7rem;
    overflow: hidden;
    padding: 1.05rem;
}

.dashboard-metric-card::before {
    background: var(--ui-primary);
    border-radius: 999px;
    content: "";
    height: 3px;
    left: 1rem;
    position: absolute;
    right: 1rem;
    top: 0;
}

.dashboard-metric-card.dashboard-tone-success::before { background: var(--ui-success); }
.dashboard-metric-card.dashboard-tone-warning::before { background: var(--ui-accent); }
.dashboard-metric-card.dashboard-tone-danger::before { background: var(--ui-danger); }
.dashboard-metric-card.dashboard-tone-info::before { background: #3c98bd; }

.dashboard-metric-value {
    font-size: 1.75rem;
    font-weight: 500 !important;
}

.dashboard-card {
    border-radius: var(--ui-radius-lg) !important;
    overflow: hidden;
}

.dashboard-card .card-header {
    background: transparent !important;
    border-color: var(--ui-border) !important;
}

.dashboard-wizard-tile {
    border-left-width: 1px !important;
    min-height: 12rem;
}

.dashboard-wizard-icon,
.dashboard-next-icon,
.setup-wizard-tile-icon,
.module-index {
    background: var(--ui-primary-soft) !important;
    border-radius: 0.8rem;
    color: var(--ui-primary) !important;
}

.dashboard-wizard-tile:nth-child(5n + 2) .dashboard-wizard-icon,
.dashboard-next-action.dashboard-tone-success .dashboard-next-icon {
    background: rgba(33, 135, 96, 0.11) !important;
    color: var(--ui-success) !important;
}

.dashboard-wizard-tile:nth-child(5n + 3) .dashboard-wizard-icon,
.dashboard-next-action.dashboard-tone-warning .dashboard-next-icon {
    background: var(--ui-accent-soft) !important;
    color: var(--ui-accent) !important;
}

@media (hover: hover) and (pointer: fine) {
    .dashboard-path-step:hover,
    .dashboard-wizard-tile:hover,
    .dashboard-next-action:hover,
    .dashboard-quick-action:hover,
    .dashboard-checklist-item:hover,
    .module-item-link:hover,
    .setup-wizard-step:hover {
        background: var(--ui-surface-solid) !important;
        border-color: rgba(81, 99, 216, 0.28) !important;
        box-shadow: var(--ui-shadow) !important;
        color: inherit;
        transform: translateY(-2px);
    }
}

/* Desktop navigation: keep categories compact and show long lists in a searchable flyout. */
.sidebar-rail-flyout {
    background: var(--ui-flyout-surface) !important;
    border: 1px solid rgba(255, 255, 255, 0.72) !important;
    border-radius: var(--ui-radius-lg) !important;
    box-shadow: 0 20px 52px rgba(28, 38, 62, 0.16) !important;
    max-width: min(380px, calc(100vw - 24px));
    min-width: min(340px, calc(100vw - 24px));
    padding: 0.7rem;
    -webkit-backdrop-filter: blur(22px) saturate(140%);
    backdrop-filter: blur(22px) saturate(140%);
}

/* Checklist typography: section hierarchy without heavy bold text. */
.checklist-page .checklist-area-card .card-title,
.checklist-page .checklist-active-card > .card-header .card-title,
.checklist-page .checklist-row-card .card-title,
.checklist-page .checklist-attachment-panel .fw-bold,
.checklist-page .checklist-row-card .form-label {
    font-weight: 500 !important;
}

.checklist-page .checklist-pills strong,
.checklist-page .checklist-pills .nav-link,
.checklist-page .small-box p {
    font-weight: 400 !important;
}

.checklist-page .checklist-pills .badge,
.checklist-page .small-box h3 {
    font-weight: 500 !important;
}

.checklist-page .checklist-pills .nav-link.active strong {
    font-weight: 500 !important;
}

:root[data-theme="dark"] .sidebar-rail-flyout {
    border-color: rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 24px 56px rgba(0, 0, 0, 0.34) !important;
}

.sidebar-rail-flyout-head {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    padding: 0.35rem 0.35rem 0.7rem 0.5rem;
}

.sidebar-rail-flyout-eyebrow {
    color: var(--ui-primary);
    font-size: 0.66rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    margin-bottom: 0.12rem;
    text-transform: uppercase;
}

.sidebar-rail-flyout-title {
    color: var(--ui-text);
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    padding: 0;
    text-transform: none;
}

.sidebar-rail-flyout-close {
    align-items: center;
    background: var(--ui-surface-soft);
    border: 1px solid var(--ui-border);
    border-radius: 0.62rem;
    color: var(--ui-text-soft);
    display: inline-flex;
    height: 34px;
    justify-content: center;
    padding: 0;
    width: 34px;
}

.sidebar-rail-flyout-close:hover {
    background: var(--ui-primary-soft);
    color: var(--ui-primary);
}

.sidebar-rail-flyout-search {
    align-items: center;
    background: var(--ui-surface-soft);
    border: 1px solid var(--ui-border);
    border-radius: 0.72rem;
    color: var(--ui-text-faint);
    display: flex;
    gap: 0.55rem;
    margin-bottom: 0.55rem;
    min-height: 40px;
    padding: 0 0.7rem;
}

.sidebar-rail-flyout-search:focus-within {
    border-color: var(--ui-primary);
    box-shadow: var(--ui-focus);
}

.sidebar-rail-flyout-search input {
    background: transparent;
    border: 0;
    color: var(--ui-text);
    min-width: 0;
    outline: 0;
    width: 100%;
}

.sidebar-rail-flyout-search input::placeholder {
    color: var(--ui-text-faint);
}

.sidebar-rail-flyout-links {
    gap: 0.25rem;
    padding-right: 0.15rem;
}

.sidebar-rail-flyout-links a {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 0.68rem;
    color: var(--ui-text-soft);
    display: flex;
    font-size: 0.86rem;
    line-height: 1.35;
    min-height: 40px;
    padding: 0.58rem 0.7rem;
    white-space: normal;
}

.sidebar-rail-flyout-links a::after {
    color: var(--ui-text-faint);
    content: "\203A";
    font-size: 1.15rem;
    margin-left: auto;
    padding-left: 0.75rem;
}

.sidebar-rail-flyout-links a:hover,
.sidebar-rail-flyout-links a:focus,
.sidebar-rail-flyout-links a.active {
    background: var(--ui-primary-soft) !important;
    border-color: rgba(81, 99, 216, 0.16) !important;
    color: var(--ui-primary) !important;
}

@media (min-width: 992px) {
    body:not(.sidebar-mini-rail) #appSidebar .sidebar-menu > .nav-item > .nav-treeview {
        display: none !important;
    }

    body:not(.sidebar-mini-rail) .sidebar-rail-flyout:not([hidden]) {
        display: block !important;
    }
}

.sidebar-rail-flyout[hidden],
.sidebar-rail-flyout-links a[hidden] {
    display: none !important;
}

/* Login: same product language, with a focused glass panel. */
.login-page,
.auth-body {
    background:
        linear-gradient(135deg, rgba(245, 247, 251, 0.9), rgba(232, 237, 246, 0.84)),
        url("office-workspace.svg") center / cover fixed !important;
    position: relative;
}

.login-page::after {
    background:
        radial-gradient(circle at 18% 18%, rgba(81, 99, 216, 0.18), transparent 18rem),
        radial-gradient(circle at 82% 78%, rgba(198, 120, 37, 0.12), transparent 20rem);
    content: "";
    inset: 0;
    pointer-events: none;
    position: fixed;
}

:root[data-theme="dark"] .login-page,
:root[data-theme="dark"] .auth-body {
    background:
        linear-gradient(135deg, rgba(16, 19, 28, 0.9), rgba(21, 25, 35, 0.86)),
        url("office-workspace.svg") center / cover fixed !important;
}

.login-box {
    width: min(430px, calc(100vw - 2rem));
    z-index: 1;
}

.login-box > .card {
    background: rgba(255, 255, 255, 0.78) !important;
    border: 1px solid rgba(255, 255, 255, 0.72) !important;
    border-radius: 1.35rem !important;
    box-shadow: 0 28px 80px rgba(25, 35, 58, 0.16) !important;
    overflow: hidden;
}

:root[data-theme="dark"] .login-box > .card {
    background: rgba(28, 33, 45, 0.84) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

.login-card-body {
    background: transparent !important;
    padding: clamp(1.4rem, 5vw, 2.2rem) !important;
}

.login-screen {
    min-height: auto;
    padding: 0;
}

.login-panel {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
    width: 100%;
}

.login-brand-logo {
    filter: drop-shadow(0 8px 14px rgba(32, 43, 68, 0.16));
    height: 58px;
    width: 58px;
}

.login-panel h1 {
    font-size: 1.45rem;
    font-weight: 680;
    margin-bottom: 1.15rem;
    text-align: center;
}

.password-row {
    grid-template-columns: minmax(0, 1fr) 44px;
}

.icon-button {
    background: var(--ui-surface-soft);
    border: 1px solid var(--ui-border-strong);
    border-radius: 0.72rem;
    color: var(--ui-text-soft);
}

.login-form .btn-primary {
    margin-top: 1.25rem;
    min-height: 46px;
}

.auth-switch {
    color: var(--ui-text-soft);
    font-size: 0.9rem;
    margin-top: 1.25rem;
    text-align: center;
}

.auth-switch a {
    color: var(--ui-primary);
    font-weight: 700;
    text-decoration: none;
}

.auth-switch a:hover {
    text-decoration: underline;
}

.registration-page .login-box {
    width: min(520px, calc(100vw - 2rem));
}

.registration-heading {
    margin-bottom: 1.35rem;
    text-align: center;
}

.registration-heading h1 {
    margin-bottom: 0.45rem;
}

.registration-heading p {
    color: var(--ui-text-soft);
    font-size: 0.93rem;
    margin-bottom: 0;
}

.registration-eyebrow {
    color: var(--ui-primary);
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
}

.registration-section {
    border: 1px solid var(--ui-border);
    border-radius: 0.9rem;
    margin: 0 0 0.9rem;
    padding: 1rem;
}

.registration-step {
    align-items: center;
    display: flex;
    float: none;
    font-size: 0.95rem;
    gap: 0.7rem;
    margin: 0;
    padding: 0;
    width: 100%;
}

.registration-step > span:last-child {
    display: grid;
    gap: 0.05rem;
}

.registration-step small {
    color: var(--ui-text-soft);
    font-size: 0.78rem;
    font-weight: 500;
}

.registration-step-number {
    align-items: center;
    background: var(--ui-primary-soft);
    border-radius: 50%;
    color: var(--ui-primary);
    display: inline-flex;
    flex: 0 0 2rem;
    font-size: 0.82rem;
    font-weight: 800;
    height: 2rem;
    justify-content: center;
}

.registration-form .form-label {
    font-size: 0.86rem;
    margin-top: 0.8rem;
}

.registration-form .form-text {
    font-size: 0.78rem;
}

.registration-form .btn-primary {
    margin-top: 0.2rem;
}

@media (max-height: 820px) {
    .registration-page {
        justify-content: flex-start !important;
        padding-block: 1rem;
    }

    .registration-page .login-brand-logo {
        height: 46px;
        width: 46px;
    }

    .registration-page .login-card-body {
        padding-block: 1.2rem !important;
    }
}

.help-card-button {
    appearance: none;
    color: inherit;
    cursor: pointer;
    font: inherit;
    padding: 0;
}

.help-card-button:focus-visible {
    border-color: var(--ui-primary) !important;
    box-shadow: 0 0 0 0.25rem rgba(81, 99, 216, 0.18) !important;
    outline: 0;
}

.support-contact-honeypot {
    height: 1px;
    left: -10000px;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

/* Responsive and accessibility refinements. */
@media (max-width: 991.98px) {
    .app-header-title {
        display: none !important;
    }

    .app-sidebar {
        box-shadow: var(--ui-shadow-float) !important;
    }

    .app-main > .app-content-header,
    .app-main > .app-content,
    .app-main > .dashboard-onboarding {
        padding-inline: 1rem;
    }

    .app-toolbar .container-fluid,
    .app-toolbar form {
        align-items: stretch !important;
    }

    .dashboard-onboarding-hero {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    body,
    .app-adminlte-body {
        font-size: 0.9rem;
    }

    .app-header .container-fluid {
        padding-inline: 0.5rem;
    }

    .app-header .nav-link {
        padding-inline: 0.6rem;
    }

    .app-toolbar {
        padding: 0.65rem 0.75rem !important;
    }

    .app-toolbar .container-fluid {
        padding-inline: 0;
    }

    .app-toolbar form {
        display: grid !important;
        gap: 0.35rem !important;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .app-toolbar .form-select {
        width: 100%;
    }

    .card-body,
    .modal-body {
        padding: 0.95rem;
    }

    .dashboard-onboarding-hero {
        border-radius: var(--ui-radius) !important;
        padding: 1rem;
    }

    .dashboard-main-cta,
    .heading-actions .btn,
    .form-actions .btn {
        width: 100%;
    }

    .heading-actions,
    .form-actions {
        align-items: stretch;
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

@media (prefers-contrast: more) {
    :root {
        --ui-border: rgba(34, 45, 67, 0.3);
        --ui-border-strong: rgba(34, 45, 67, 0.48);
    }

    :root[data-theme="dark"] {
        --ui-border: rgba(255, 255, 255, 0.24);
        --ui-border-strong: rgba(255, 255, 255, 0.4);
    }
}

/*
 * Dark palette correction
 * Deep navy-violet surfaces, one muted lavender interaction accent and semantic
 * colors reserved for status communication.
 */
@media screen {
    :root[data-theme="dark"],
    body[data-theme="dark"] {
        --ui-canvas: #070914;
        --ui-canvas-deep: #050711;
        --ui-surface: rgba(15, 19, 35, 0.98);
        --ui-surface-solid: #0f1323;
        --ui-surface-soft: rgba(17, 22, 40, 0.92);
        --ui-text: #e8eaf5;
        --ui-text-soft: #9ca5c2;
        --ui-text-faint: #747e9f;
        --ui-border: rgba(151, 160, 214, 0.12);
        --ui-border-strong: rgba(151, 160, 214, 0.2);
        --ui-primary: #737dc4;
        --ui-primary-hover: #858ed0;
        --ui-primary-soft: rgba(115, 125, 196, 0.13);
        --ui-accent: #d7a86a;
        --ui-accent-soft: rgba(215, 168, 106, 0.12);
        --ui-success: #67c39b;
        --ui-danger: #f18798;
        --ui-modal-surface: rgba(15, 19, 35, 0.965);
        --ui-flyout-surface: rgba(13, 17, 32, 0.99);
        --surface: var(--ui-canvas);
        --panel: var(--ui-surface-solid);
        --ink: var(--ui-text);
        --muted: var(--ui-text-soft);
        --line: var(--ui-border);
        --green: var(--ui-primary);
        --green-strong: var(--ui-primary-hover);
        --blue: var(--ui-primary);
        --amber: var(--ui-accent);
        --input-bg: #0b0f1d;
        --table-head: #121626;
        --soft: var(--ui-primary-soft);
        --soft-border: rgba(154, 164, 255, 0.18);
        --bs-body-bg: var(--ui-canvas);
        --bs-body-color: var(--ui-text);
        --bs-primary: #737dc4;
        --bs-primary-rgb: var(--dm-accent-rgb);
        --bs-secondary-color: var(--ui-text-soft);
        --bs-tertiary-bg: var(--ui-canvas);
        --bs-secondary-bg: #0b0f1d;
        --bs-border-color: var(--ui-border);
        color-scheme: dark;
    }

    :root[data-theme="dark"] body,
    body[data-theme="dark"] {
        background:
            radial-gradient(circle at 82% -12%, rgba(83, 72, 150, 0.07), transparent 27rem),
            linear-gradient(145deg, #070914, #050711) fixed !important;
        color: var(--ui-text) !important;
    }

    :root[data-theme="dark"] .app-wrapper,
    :root[data-theme="dark"] .app-main,
    :root[data-theme="dark"] .app-content,
    :root[data-theme="dark"] .app-content-header,
    body[data-theme="dark"] .app-wrapper,
    body[data-theme="dark"] .app-main,
    body[data-theme="dark"] .app-content,
    body[data-theme="dark"] .app-content-header {
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
    }

    :root[data-theme="dark"] .app-content-header > .container-fluid,
    :root[data-theme="dark"] .app-content > .container-fluid,
    body[data-theme="dark"] .app-content-header > .container-fluid,
    body[data-theme="dark"] .app-content > .container-fluid {
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        box-shadow: none !important;
    }

    :root[data-theme="dark"] .app-content-header .row,
    body[data-theme="dark"] .app-content-header .row {
        align-items: center;
        margin-bottom: 0 !important;
    }

    :root[data-theme="dark"] .app-header.navbar,
    body[data-theme="dark"] .app-header.navbar {
        background: rgba(9, 12, 24, 0.96) !important;
        border-color: var(--ui-border) !important;
        box-shadow: 0 1px 0 rgba(255, 255, 255, 0.02) !important;
        height: 72px !important;
        min-height: 72px !important;
    }

    :root[data-theme="dark"] .app-header .container-fluid,
    body[data-theme="dark"] .app-header .container-fluid {
        background: transparent !important;
        min-height: 72px !important;
    }

    :root[data-theme="dark"] .app-toolbar,
    body[data-theme="dark"] .app-toolbar {
        background: #0c1020 !important;
        background-color: #0c1020 !important;
        background-image: none !important;
        border-color: var(--ui-border) !important;
        box-shadow: none !important;
        min-height: 70px;
        padding: 0 !important;
    }

    :root[data-theme="dark"] .app-toolbar > .container-fluid,
    body[data-theme="dark"] .app-toolbar > .container-fluid {
        background: #0c1020 !important;
        background-color: #0c1020 !important;
        background-image: none !important;
        min-height: 70px;
        padding: 0.75rem clamp(1rem, 2.5vw, 2rem) !important;
    }

    :root[data-theme="dark"] .app-toolbar form,
    body[data-theme="dark"] .app-toolbar form {
        flex-wrap: nowrap !important;
        gap: 0.75rem !important;
    }

    :root[data-theme="dark"] .app-toolbar form label,
    body[data-theme="dark"] .app-toolbar form label {
        color: var(--ui-text-soft) !important;
        line-height: 1.2;
        white-space: nowrap;
    }

    :root[data-theme="dark"] .app-toolbar .form-select,
    body[data-theme="dark"] .app-toolbar .form-select {
        background: #0b0f1d !important;
        border-color: var(--ui-border-strong) !important;
        min-width: 250px;
    }

    :root[data-theme="dark"] .app-sidebar,
    :root[data-theme="dark"] .main-sidebar,
    :root[data-theme="dark"] .sidebar-wrapper,
    body[data-theme="dark"] .app-sidebar,
    body[data-theme="dark"] .main-sidebar,
    body[data-theme="dark"] .sidebar-wrapper {
        background: #0b0f1d !important;
        background-color: #0b0f1d !important;
        background-image: none !important;
        border-color: var(--ui-border) !important;
        box-shadow: 8px 0 32px rgba(0, 0, 0, 0.16) !important;
    }

    :root[data-theme="dark"] .sidebar-brand,
    body[data-theme="dark"] .sidebar-brand {
        background: #0e1223 !important;
        background-image: none !important;
        border-bottom: 1px solid var(--ui-border) !important;
    }

    :root[data-theme="dark"] .rodolider-brand-link,
    :root[data-theme="dark"] .rodolider-brand-link:hover,
    body[data-theme="dark"] .rodolider-brand-link,
    body[data-theme="dark"] .rodolider-brand-link:hover {
        background: transparent !important;
        border-color: transparent !important;
        color: #e7eaff !important;
    }

    :root[data-theme="dark"] .rodolider-brand-link .brand-text,
    body[data-theme="dark"] .rodolider-brand-link .brand-text {
        color: #e7eaff !important;
    }

    :root[data-theme="dark"] .rodolider-brand-logo,
    body[data-theme="dark"] .rodolider-brand-logo {
        background: rgba(115, 125, 196, 0.08) !important;
        border-color: rgba(115, 125, 196, 0.14) !important;
        filter: none;
    }

    :root[data-theme="dark"] .sidebar-menu .nav-link,
    body[data-theme="dark"] .sidebar-menu .nav-link {
        background: transparent !important;
        border-color: transparent !important;
        color: var(--ui-text-soft) !important;
    }

    :root[data-theme="dark"] .sidebar-menu .nav-link:hover,
    body[data-theme="dark"] .sidebar-menu .nav-link:hover {
        background: rgba(255, 255, 255, 0.035) !important;
        border-color: var(--ui-border) !important;
        color: var(--ui-text) !important;
    }

    :root[data-theme="dark"] .sidebar-menu .nav-link.active,
    :root[data-theme="dark"] .sidebar-menu .menu-open > .nav-link.active,
    body[data-theme="dark"] .sidebar-menu .nav-link.active,
    body[data-theme="dark"] .sidebar-menu .menu-open > .nav-link.active {
        background: #171c33 !important;
        border-color: rgba(115, 125, 196, 0.24) !important;
        box-shadow: none !important;
        color: #cbd0ff !important;
    }

    :root[data-theme="dark"] .sidebar-menu .nav-link .nav-icon,
    body[data-theme="dark"] .sidebar-menu .nav-link .nav-icon {
        color: #737d9e !important;
    }

    :root[data-theme="dark"] .sidebar-menu .nav-link.active .nav-icon,
    body[data-theme="dark"] .sidebar-menu .nav-link.active .nav-icon {
        color: var(--ui-primary) !important;
    }

    :root[data-theme="dark"] .card,
    :root[data-theme="dark"] .info-box,
    :root[data-theme="dark"] .small-box,
    :root[data-theme="dark"] .callout,
    :root[data-theme="dark"] .modal-content,
    :root[data-theme="dark"] .dropdown-menu,
    :root[data-theme="dark"] .form-panel,
    :root[data-theme="dark"] .toolbar-panel,
    :root[data-theme="dark"] .table-panel,
    :root[data-theme="dark"] .detail-section,
    :root[data-theme="dark"] .record-edit-card,
    :root[data-theme="dark"] .record-side-panel .card,
    body[data-theme="dark"] .card,
    body[data-theme="dark"] .info-box,
    body[data-theme="dark"] .small-box,
    body[data-theme="dark"] .callout,
    body[data-theme="dark"] .modal-content,
    body[data-theme="dark"] .dropdown-menu,
    body[data-theme="dark"] .form-panel,
    body[data-theme="dark"] .toolbar-panel,
    body[data-theme="dark"] .table-panel,
    body[data-theme="dark"] .detail-section,
    body[data-theme="dark"] .record-edit-card,
    body[data-theme="dark"] .record-side-panel .card {
        background: var(--ui-surface) !important;
        background-color: var(--ui-surface) !important;
        background-image: none !important;
        border-color: var(--ui-border) !important;
        box-shadow: var(--ui-shadow-sm) !important;
        color: var(--ui-text) !important;
    }

    :root[data-theme="dark"] .super-admin-hero,
    :root[data-theme="dark"] .super-admin-metric,
    :root[data-theme="dark"] .super-admin-section,
    :root[data-theme="dark"] .super-admin-form-panel,
    :root[data-theme="dark"] .super-admin-table,
    :root[data-theme="dark"] .super-admin-list,
    :root[data-theme="dark"] .super-admin-shortcuts a,
    :root[data-theme="dark"] .dbviewer-hero,
    :root[data-theme="dark"] .dbviewer-metric,
    :root[data-theme="dark"] .dbviewer-sidebar,
    :root[data-theme="dark"] .dbviewer-main,
    :root[data-theme="dark"] .dbviewer-data-card,
    :root[data-theme="dark"] .dbviewer-schema,
    :root[data-theme="dark"] .record-field-shell,
    :root[data-theme="dark"] .wizard-form-card,
    :root[data-theme="dark"] .wizard-side-card,
    :root[data-theme="dark"] .setup-wizard-tile,
    body[data-theme="dark"] .super-admin-hero,
    body[data-theme="dark"] .super-admin-metric,
    body[data-theme="dark"] .super-admin-section,
    body[data-theme="dark"] .super-admin-form-panel,
    body[data-theme="dark"] .super-admin-table,
    body[data-theme="dark"] .super-admin-list,
    body[data-theme="dark"] .super-admin-shortcuts a,
    body[data-theme="dark"] .dbviewer-hero,
    body[data-theme="dark"] .dbviewer-metric,
    body[data-theme="dark"] .dbviewer-sidebar,
    body[data-theme="dark"] .dbviewer-main,
    body[data-theme="dark"] .dbviewer-data-card,
    body[data-theme="dark"] .dbviewer-schema,
    body[data-theme="dark"] .record-field-shell,
    body[data-theme="dark"] .wizard-form-card,
    body[data-theme="dark"] .wizard-side-card,
    body[data-theme="dark"] .setup-wizard-tile {
        background: #0f1323 !important;
        background-image: none !important;
        border-color: var(--ui-border) !important;
        box-shadow: var(--ui-shadow-sm) !important;
        color: var(--ui-text) !important;
    }

    :root[data-theme="dark"] .record-expert-panel,
    :root[data-theme="dark"] .checklist-attachment-panel,
    body[data-theme="dark"] .record-expert-panel,
    body[data-theme="dark"] .checklist-attachment-panel {
        background: rgba(115, 125, 196, 0.07) !important;
        background-image: none !important;
        border-color: rgba(115, 125, 196, 0.16) !important;
        color: var(--ui-text) !important;
    }

    :root[data-theme="dark"] .record-sticky-actions,
    body[data-theme="dark"] .record-sticky-actions {
        background: #0f1323 !important;
        border-color: var(--ui-border) !important;
    }

    :root[data-theme="dark"] .record-form-tabs .nav-link,
    body[data-theme="dark"] .record-form-tabs .nav-link {
        background: rgba(255, 255, 255, 0.025) !important;
        border-color: var(--ui-border) !important;
        color: var(--ui-text-soft) !important;
    }

    :root[data-theme="dark"] .record-form-tabs .nav-link.active,
    body[data-theme="dark"] .record-form-tabs .nav-link.active {
        background: var(--ui-primary-soft) !important;
        background-image: none !important;
        border-color: rgba(154, 164, 255, 0.24) !important;
        color: #d4d8ff !important;
    }

    :root[data-theme="dark"] .modal-content,
    body[data-theme="dark"] .modal-content {
        background: var(--ui-modal-surface) !important;
        border-color: var(--ui-border-strong) !important;
        box-shadow: 0 24px 58px rgba(0, 0, 0, 0.34) !important;
    }

    :root[data-theme="dark"] .sidebar-rail-flyout,
    body[data-theme="dark"] .sidebar-rail-flyout {
        background: var(--ui-flyout-surface) !important;
        border-color: var(--ui-border-strong) !important;
        box-shadow: 0 24px 58px rgba(0, 0, 0, 0.34) !important;
    }

    :root[data-theme="dark"] .sidebar-rail-flyout-search,
    body[data-theme="dark"] .sidebar-rail-flyout-search {
        background: #0b0f1d !important;
        border-color: var(--ui-border) !important;
    }

    :root[data-theme="dark"] .sidebar-rail-flyout-links a,
    body[data-theme="dark"] .sidebar-rail-flyout-links a {
        background: transparent !important;
        border-color: transparent !important;
        color: var(--ui-text-soft) !important;
    }

    :root[data-theme="dark"] .sidebar-rail-flyout-links a:hover,
    :root[data-theme="dark"] .sidebar-rail-flyout-links a.active,
    body[data-theme="dark"] .sidebar-rail-flyout-links a:hover,
    body[data-theme="dark"] .sidebar-rail-flyout-links a.active {
        background: var(--ui-primary-soft) !important;
        border-color: rgba(154, 164, 255, 0.2) !important;
        color: #cbd0ff !important;
    }

    :root[data-theme="dark"] .form-control,
    :root[data-theme="dark"] .form-select,
    :root[data-theme="dark"] .input-group-text,
    body[data-theme="dark"] .form-control,
    body[data-theme="dark"] .form-select,
    body[data-theme="dark"] .input-group-text {
        background: #0b0f1d !important;
        border-color: var(--ui-border-strong) !important;
        color: var(--ui-text) !important;
    }

    :root[data-theme="dark"] .form-control:focus,
    :root[data-theme="dark"] .form-select:focus,
    body[data-theme="dark"] .form-control:focus,
    body[data-theme="dark"] .form-select:focus {
        background: #0e1222 !important;
        border-color: var(--ui-primary) !important;
        box-shadow: var(--ui-focus) !important;
    }

    :root[data-theme="dark"] .table,
    body[data-theme="dark"] .table {
        --bs-table-bg: transparent;
        --bs-table-color: var(--ui-text);
        --bs-table-border-color: var(--ui-border);
    }

    :root[data-theme="dark"] .crud-record-listing,
    :root[data-theme="dark"] .crud-record-listing .table,
    :root[data-theme="dark"] .crud-record-listing .crud-record-table,
    body[data-theme="dark"] .crud-record-listing,
    body[data-theme="dark"] .crud-record-listing .table,
    body[data-theme="dark"] .crud-record-listing .crud-record-table {
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        border-color: var(--ui-border) !important;
        box-shadow: none !important;
    }

    :root[data-theme="dark"] .crud-record-listing,
    body[data-theme="dark"] .crud-record-listing {
        border: 1px solid var(--ui-border) !important;
        border-radius: 0.8rem !important;
        overflow: hidden;
    }

    :root[data-theme="dark"] .crud-record-listing tbody td,
    body[data-theme="dark"] .crud-record-listing tbody td {
        background: #0f1322 !important;
        border-color: var(--ui-border) !important;
    }

    :root[data-theme="dark"] .crud-record-listing tbody tr:nth-child(even) td,
    body[data-theme="dark"] .crud-record-listing tbody tr:nth-child(even) td {
        background: #0c101e !important;
    }

    :root[data-theme="dark"] .table thead th,
    :root[data-theme="dark"] .data-table th,
    body[data-theme="dark"] .table thead th,
    body[data-theme="dark"] .data-table th {
        background: #121626 !important;
        color: #b7c0e5 !important;
    }

    :root[data-theme="dark"] tbody tr:nth-child(even) > *,
    :root[data-theme="dark"] .crud-record-listing tbody tr:nth-child(even) > *,
    body[data-theme="dark"] tbody tr:nth-child(even) > *,
    body[data-theme="dark"] .crud-record-listing tbody tr:nth-child(even) > * {
        background: rgba(255, 255, 255, 0.012) !important;
    }

    :root[data-theme="dark"] .table-hover > tbody > tr:hover > *,
    :root[data-theme="dark"] .crud-record-listing .table-hover > tbody > tr:hover > *,
    body[data-theme="dark"] .table-hover > tbody > tr:hover > *,
    body[data-theme="dark"] .crud-record-listing .table-hover > tbody > tr:hover > * {
        background: var(--ui-primary-soft) !important;
        color: var(--ui-text) !important;
    }

    :root[data-theme="dark"] .dashboard-onboarding-hero,
    :root[data-theme="dark"] .dashboard-card,
    :root[data-theme="dark"] .dashboard-metric-card,
    :root[data-theme="dark"] .dashboard-path-step,
    :root[data-theme="dark"] .dashboard-next-action,
    body[data-theme="dark"] .dashboard-onboarding-hero,
    body[data-theme="dark"] .dashboard-card,
    body[data-theme="dark"] .dashboard-metric-card,
    body[data-theme="dark"] .dashboard-path-step,
    body[data-theme="dark"] .dashboard-next-action {
        background: #0f1323 !important;
        background-image: none !important;
        border-color: var(--ui-border) !important;
        box-shadow: var(--ui-shadow-sm) !important;
    }

    :root[data-theme="dark"] .dashboard-wizard-tile:nth-child(n),
    :root[data-theme="dark"] .dashboard-quick-action:nth-child(n),
    :root[data-theme="dark"] .dashboard-checklist-item:nth-child(n),
    body[data-theme="dark"] .dashboard-wizard-tile:nth-child(n),
    body[data-theme="dark"] .dashboard-quick-action:nth-child(n),
    body[data-theme="dark"] .dashboard-checklist-item:nth-child(n) {
        background: #111628 !important;
        background-image: none !important;
        border-color: var(--ui-border) !important;
        box-shadow: none !important;
        color: var(--ui-text) !important;
    }

    :root[data-theme="dark"] .dashboard-wizard-tile:nth-child(n):hover,
    :root[data-theme="dark"] .dashboard-quick-action:nth-child(n):hover,
    :root[data-theme="dark"] .dashboard-checklist-item:nth-child(n):hover,
    body[data-theme="dark"] .dashboard-wizard-tile:nth-child(n):hover,
    body[data-theme="dark"] .dashboard-quick-action:nth-child(n):hover,
    body[data-theme="dark"] .dashboard-checklist-item:nth-child(n):hover {
        background: #151a30 !important;
        border-color: rgba(154, 164, 255, 0.24) !important;
        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18) !important;
    }

    :root[data-theme="dark"] .dashboard-wizard-tile:nth-child(n) .dashboard-wizard-icon,
    :root[data-theme="dark"] .dashboard-quick-action:nth-child(n) .dashboard-quick-icon,
    body[data-theme="dark"] .dashboard-wizard-tile:nth-child(n) .dashboard-wizard-icon,
    body[data-theme="dark"] .dashboard-quick-action:nth-child(n) .dashboard-quick-icon {
        background: var(--ui-primary-soft) !important;
        color: #c4caff !important;
        filter: none !important;
    }

    :root[data-theme="dark"] .dashboard-wizard-action,
    :root[data-theme="dark"] .dashboard-status-badge,
    :root[data-theme="dark"] .dashboard-path-percent,
    body[data-theme="dark"] .dashboard-wizard-action,
    body[data-theme="dark"] .dashboard-status-badge,
    body[data-theme="dark"] .dashboard-path-percent {
        background: var(--ui-primary-soft) !important;
        border-color: rgba(154, 164, 255, 0.16) !important;
        color: #cbd0ff !important;
    }

    :root[data-theme="dark"] .small-box.text-bg-primary,
    body[data-theme="dark"] .small-box.text-bg-primary {
        background: rgba(154, 164, 255, 0.1) !important;
        border-color: rgba(154, 164, 255, 0.18) !important;
    }

    :root[data-theme="dark"] .small-box.text-bg-success,
    body[data-theme="dark"] .small-box.text-bg-success {
        background: rgba(101, 189, 148, 0.1) !important;
        border-color: rgba(101, 189, 148, 0.18) !important;
    }

    :root[data-theme="dark"] .small-box.text-bg-warning,
    body[data-theme="dark"] .small-box.text-bg-warning {
        background: rgba(213, 163, 96, 0.1) !important;
        border-color: rgba(213, 163, 96, 0.18) !important;
    }

    :root[data-theme="dark"] .small-box.text-bg-secondary,
    body[data-theme="dark"] .small-box.text-bg-secondary {
        background: rgba(255, 255, 255, 0.035) !important;
        border-color: var(--ui-border) !important;
    }

    :root[data-theme="dark"] .dashboard-news-card .list-group-item:nth-child(n),
    body[data-theme="dark"] .dashboard-news-card .list-group-item:nth-child(n) {
        background: transparent !important;
        border-left-color: var(--ui-border-strong) !important;
        color: var(--ui-text) !important;
    }

    :root[data-theme="dark"] .dashboard-hero-progress,
    :root[data-theme="dark"] .dashboard-wizard-progress,
    :root[data-theme="dark"] .dashboard-checklist-progress,
    body[data-theme="dark"] .dashboard-hero-progress,
    body[data-theme="dark"] .dashboard-wizard-progress,
    body[data-theme="dark"] .dashboard-checklist-progress {
        background: rgba(255, 255, 255, 0.075) !important;
    }

    :root[data-theme="dark"] .dashboard-hero-progress .progress-bar,
    :root[data-theme="dark"] .dashboard-wizard-progress .progress-bar,
    :root[data-theme="dark"] .dashboard-checklist-progress .progress-bar,
    body[data-theme="dark"] .dashboard-hero-progress .progress-bar,
    body[data-theme="dark"] .dashboard-wizard-progress .progress-bar,
    body[data-theme="dark"] .dashboard-checklist-progress .progress-bar {
        background: var(--ui-primary) !important;
    }

    :root[data-theme="dark"] .btn-primary,
    body[data-theme="dark"] .btn-primary {
        background: #737dc4 !important;
        border-color: #737dc4 !important;
        color: #0a0c18 !important;
    }

    :root[data-theme="dark"] .btn-primary:hover,
    :root[data-theme="dark"] .btn-primary:focus,
    body[data-theme="dark"] .btn-primary:hover,
    body[data-theme="dark"] .btn-primary:focus {
        background: #858ed0 !important;
        border-color: #858ed0 !important;
        box-shadow: 0 8px 22px rgba(137, 148, 238, 0.18) !important;
        color: #0a0c18 !important;
    }

    :root[data-theme="dark"] .btn-outline-primary,
    body[data-theme="dark"] .btn-outline-primary {
        background: rgba(115, 125, 196, 0.08) !important;
        border-color: rgba(115, 125, 196, 0.2) !important;
        color: #c5caff !important;
    }

    :root[data-theme="dark"] .btn-outline-primary:hover,
    body[data-theme="dark"] .btn-outline-primary:hover {
        background: rgba(115, 125, 196, 0.15) !important;
        border-color: rgba(115, 125, 196, 0.28) !important;
        color: #e1e4ff !important;
    }

    :root[data-theme="dark"] .badge.text-bg-success,
    body[data-theme="dark"] .badge.text-bg-success {
        background: rgba(101, 189, 148, 0.12) !important;
        border-color: rgba(101, 189, 148, 0.22) !important;
        color: #aee2ca !important;
    }

    :root[data-theme="dark"] .badge.text-bg-warning,
    body[data-theme="dark"] .badge.text-bg-warning {
        background: rgba(213, 163, 96, 0.12) !important;
        border-color: rgba(213, 163, 96, 0.22) !important;
        color: #edca98 !important;
    }

    :root[data-theme="dark"] .badge.text-bg-danger,
    body[data-theme="dark"] .badge.text-bg-danger {
        background: rgba(239, 129, 144, 0.12) !important;
        border-color: rgba(239, 129, 144, 0.22) !important;
        color: #f6b4bd !important;
    }

    :root[data-theme="dark"] .badge.text-bg-info,
    body[data-theme="dark"] .badge.text-bg-info {
        background: rgba(154, 164, 255, 0.12) !important;
        border-color: rgba(154, 164, 255, 0.22) !important;
        color: #cbd0ff !important;
    }

    :root[data-theme="dark"] .app-footer,
    body[data-theme="dark"] .app-footer {
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        border-top: 1px solid var(--ui-border) !important;
        box-shadow: none !important;
        color: var(--ui-text-faint) !important;
        margin-top: 1.5rem;
        padding: 1.25rem 1.5rem !important;
    }

    :root[data-theme="dark"] .app-footer strong,
    body[data-theme="dark"] .app-footer strong {
        color: var(--ui-text-soft) !important;
        font-weight: 500;
    }

    :root[data-theme="dark"] .bg-body:not(.app-header):not(.app-toolbar),
    body[data-theme="dark"] .bg-body:not(.app-header):not(.app-toolbar) {
        background: #0e1222 !important;
        background-color: #0e1222 !important;
    }

    :root[data-theme="dark"] .bg-body-tertiary,
    body[data-theme="dark"] .bg-body-tertiary {
        background: var(--ui-canvas) !important;
        background-color: var(--ui-canvas) !important;
    }

    :root[data-theme="dark"] .bg-body-secondary,
    body[data-theme="dark"] .bg-body-secondary {
        background: #0b0f1d !important;
        background-color: #0b0f1d !important;
    }

    :root[data-theme="dark"] .alert-light,
    :root[data-theme="dark"] .list-group-item,
    body[data-theme="dark"] .alert-light,
    body[data-theme="dark"] .list-group-item {
        background: rgba(17, 22, 40, 0.92) !important;
        border-color: var(--ui-border) !important;
        color: var(--ui-text) !important;
    }

    :root[data-theme="dark"] .login-page,
    :root[data-theme="dark"] .auth-body,
    body[data-theme="dark"].login-page,
    body[data-theme="dark"].auth-body {
        background:
            radial-gradient(circle at 20% 15%, rgba(104, 90, 220, 0.16), transparent 22rem),
            linear-gradient(145deg, rgba(11, 15, 31, 0.96), rgba(8, 11, 22, 0.98)),
            url("office-workspace.svg") center / cover fixed !important;
    }

    :root[data-theme="dark"] .login-box > .card,
    body[data-theme="dark"] .login-box > .card {
        background: rgba(15, 19, 35, 0.96) !important;
        border-color: var(--ui-border-strong) !important;
        box-shadow: 0 28px 72px rgba(3, 5, 16, 0.46) !important;
    }
}

/* Final coverage layer. Keep this last so legacy dark rules cannot leak through. */
@media screen {
    :root[data-theme="dark"] .page-heading,
    :root[data-theme="dark"] .module-section,
    :root[data-theme="dark"] .print-meta,
    :root[data-theme="dark"] .form-panel,
    :root[data-theme="dark"] .toolbar-panel,
    :root[data-theme="dark"] .table-panel,
    :root[data-theme="dark"] .detail-section,
    :root[data-theme="dark"] .module-item,
    :root[data-theme="dark"] .company-card,
    :root[data-theme="dark"] .empty-state,
    :root[data-theme="dark"] .info-box,
    :root[data-theme="dark"] .callout,
    :root[data-theme="dark"] .dropdown-menu,
    body[data-theme="dark"] .page-heading,
    body[data-theme="dark"] .module-section,
    body[data-theme="dark"] .print-meta,
    body[data-theme="dark"] .form-panel,
    body[data-theme="dark"] .toolbar-panel,
    body[data-theme="dark"] .table-panel,
    body[data-theme="dark"] .detail-section,
    body[data-theme="dark"] .module-item,
    body[data-theme="dark"] .company-card,
    body[data-theme="dark"] .empty-state,
    body[data-theme="dark"] .info-box,
    body[data-theme="dark"] .callout,
    body[data-theme="dark"] .dropdown-menu {
        background: var(--dm-surface) !important;
        background-color: var(--dm-surface) !important;
        background-image: none !important;
        border-color: var(--dm-border) !important;
        box-shadow: none !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .card-header,
    :root[data-theme="dark"] .card-footer,
    :root[data-theme="dark"] .dashboard-card .card-header,
    :root[data-theme="dark"] .record-edit-card .card-header,
    body[data-theme="dark"] .card-header,
    body[data-theme="dark"] .card-footer,
    body[data-theme="dark"] .dashboard-card .card-header,
    body[data-theme="dark"] .record-edit-card .card-header {
        background: #101425 !important;
        background-color: #101425 !important;
        background-image: none !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .card-body,
    :root[data-theme="dark"] .dashboard-card .card-body,
    :root[data-theme="dark"] .record-edit-card .card-body,
    body[data-theme="dark"] .card-body,
    body[data-theme="dark"] .dashboard-card .card-body,
    body[data-theme="dark"] .record-edit-card .card-body {
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .crud-record-listing,
    :root[data-theme="dark"] .crud-record-listing .table,
    :root[data-theme="dark"] .crud-record-listing .crud-record-table,
    body[data-theme="dark"] .crud-record-listing,
    body[data-theme="dark"] .crud-record-listing .table,
    body[data-theme="dark"] .crud-record-listing .crud-record-table {
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        border-color: var(--dm-border) !important;
        box-shadow: none !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .crud-record-listing .table > :not(caption) > * > *,
    body[data-theme="dark"] .crud-record-listing .table > :not(caption) > * > * {
        background: var(--dm-row) !important;
        background-color: var(--dm-row) !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .crud-record-listing thead,
    :root[data-theme="dark"] .crud-record-listing thead tr,
    :root[data-theme="dark"] .crud-record-listing thead th,
    body[data-theme="dark"] .crud-record-listing thead,
    body[data-theme="dark"] .crud-record-listing thead tr,
    body[data-theme="dark"] .crud-record-listing thead th {
        background: #121626 !important;
        background-color: #121626 !important;
        border-color: var(--dm-border) !important;
        color: #abb2cc !important;
    }

    :root[data-theme="dark"] .crud-record-listing tbody tr:nth-child(even) > *,
    body[data-theme="dark"] .crud-record-listing tbody tr:nth-child(even) > * {
        background: var(--dm-row-alt) !important;
        background-color: var(--dm-row-alt) !important;
    }

    :root[data-theme="dark"] .crud-record-listing .table-hover > tbody > tr:hover > *,
    body[data-theme="dark"] .crud-record-listing .table-hover > tbody > tr:hover > * {
        background: rgba(115, 125, 196, 0.09) !important;
        background-color: rgba(115, 125, 196, 0.09) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .table-light,
    :root[data-theme="dark"] .table-light > *,
    :root[data-theme="dark"] .text-bg-light,
    :root[data-theme="dark"] .bg-body-tertiary-subtle,
    body[data-theme="dark"] .table-light,
    body[data-theme="dark"] .table-light > *,
    body[data-theme="dark"] .text-bg-light,
    body[data-theme="dark"] .bg-body-tertiary-subtle {
        background: var(--dm-surface-raised) !important;
        background-color: var(--dm-surface-raised) !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .dashboard-chart-body,
    :root[data-theme="dark"] .dashboard-news-card .list-group-item,
    body[data-theme="dark"] .dashboard-chart-body,
    body[data-theme="dark"] .dashboard-news-card .list-group-item {
        background: #0e1222 !important;
        background-color: #0e1222 !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .dashboard-card .dashboard-card-tools .btn-tool,
    :root[data-theme="dark"] .dashboard-work-switch .form-select,
    body[data-theme="dark"] .dashboard-card .dashboard-card-tools .btn-tool,
    body[data-theme="dark"] .dashboard-work-switch .form-select {
        background: var(--dm-field) !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-muted) !important;
        box-shadow: none !important;
    }

    :root[data-theme="dark"] .small-box.text-bg-primary,
    :root[data-theme="dark"] .small-box.text-bg-success,
    :root[data-theme="dark"] .small-box.text-bg-warning,
    :root[data-theme="dark"] .small-box.text-bg-secondary,
    body[data-theme="dark"] .small-box.text-bg-primary,
    body[data-theme="dark"] .small-box.text-bg-success,
    body[data-theme="dark"] .small-box.text-bg-warning,
    body[data-theme="dark"] .small-box.text-bg-secondary {
        background: var(--dm-surface-raised) !important;
        background-color: var(--dm-surface-raised) !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .super-admin-hero,
    :root[data-theme="dark"] .super-admin-metric,
    :root[data-theme="dark"] .super-admin-section,
    :root[data-theme="dark"] .super-admin-form-panel,
    :root[data-theme="dark"] .super-admin-table,
    :root[data-theme="dark"] .super-admin-list,
    :root[data-theme="dark"] .super-admin-shortcuts a,
    :root[data-theme="dark"] .dbviewer-hero,
    :root[data-theme="dark"] .dbviewer-metric,
    :root[data-theme="dark"] .dbviewer-sidebar,
    :root[data-theme="dark"] .dbviewer-main,
    :root[data-theme="dark"] .dbviewer-data-card,
    :root[data-theme="dark"] .dbviewer-schema,
    :root[data-theme="dark"] .rcp-risk-toolbar,
    :root[data-theme="dark"] .rcp-risk-shell,
    :root[data-theme="dark"] .rcp-risk-main,
    :root[data-theme="dark"] .rcp-risk-side,
    :root[data-theme="dark"] .incident-wizard-card,
    :root[data-theme="dark"] .nis2-module-card,
    :root[data-theme="dark"] .checklist-editor-row,
    :root[data-theme="dark"] .wizard-tile,
    :root[data-theme="dark"] .help-card,
    body[data-theme="dark"] .super-admin-hero,
    body[data-theme="dark"] .super-admin-metric,
    body[data-theme="dark"] .super-admin-section,
    body[data-theme="dark"] .super-admin-form-panel,
    body[data-theme="dark"] .super-admin-table,
    body[data-theme="dark"] .super-admin-list,
    body[data-theme="dark"] .super-admin-shortcuts a,
    body[data-theme="dark"] .dbviewer-hero,
    body[data-theme="dark"] .dbviewer-metric,
    body[data-theme="dark"] .dbviewer-sidebar,
    body[data-theme="dark"] .dbviewer-main,
    body[data-theme="dark"] .dbviewer-data-card,
    body[data-theme="dark"] .dbviewer-schema,
    body[data-theme="dark"] .rcp-risk-toolbar,
    body[data-theme="dark"] .rcp-risk-shell,
    body[data-theme="dark"] .rcp-risk-main,
    body[data-theme="dark"] .rcp-risk-side,
    body[data-theme="dark"] .incident-wizard-card,
    body[data-theme="dark"] .nis2-module-card,
    body[data-theme="dark"] .checklist-editor-row,
    body[data-theme="dark"] .wizard-tile,
    body[data-theme="dark"] .help-card {
        background: var(--dm-surface) !important;
        background-color: var(--dm-surface) !important;
        background-image: none !important;
        border-color: var(--dm-border) !important;
        box-shadow: none !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .record-field-shell,
    :root[data-theme="dark"] .wizard-form-card,
    :root[data-theme="dark"] .wizard-side-card,
    :root[data-theme="dark"] .setup-wizard-tile,
    body[data-theme="dark"] .record-field-shell,
    body[data-theme="dark"] .wizard-form-card,
    body[data-theme="dark"] .wizard-side-card,
    body[data-theme="dark"] .setup-wizard-tile {
        background: var(--dm-surface-raised) !important;
        background-color: var(--dm-surface-raised) !important;
        background-image: none !important;
        border-color: var(--dm-border) !important;
        box-shadow: none !important;
    }

    :root[data-theme="dark"] .record-form-field,
    :root[data-theme="dark"] .record-field-shell .form-control,
    :root[data-theme="dark"] .record-field-shell textarea,
    body[data-theme="dark"] .record-form-field,
    body[data-theme="dark"] .record-field-shell .form-control,
    body[data-theme="dark"] .record-field-shell textarea {
        background: var(--dm-field) !important;
        background-color: var(--dm-field) !important;
        border-color: var(--dm-border-strong) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .modal-content,
    :root[data-theme="dark"] .sidebar-rail-flyout,
    body[data-theme="dark"] .modal-content,
    body[data-theme="dark"] .sidebar-rail-flyout {
        background-color: rgba(13, 17, 32, 0.985) !important;
        background-image: none !important;
        border-color: var(--dm-border-strong) !important;
    }
}

/*
 * Authoritative dark palette contract and final screen cascade.
 * Keep this as the last @media screen layer; print isolation follows it.
 */
@media screen {
    :root[data-theme="dark"],
    body[data-theme="dark"] {
        --dm-bg: #070914;
        --dm-bg-deep: #050711;
        --dm-chrome: #090c18;
        --dm-sidebar: #0b0f1d;
        --dm-toolbar: #0c1020;
        --dm-surface: #0f1323;
        --dm-surface-raised: #111628;
        --dm-field: #0b0f1d;
        --dm-row: #0f1322;
        --dm-row-alt: #0c101e;
        --dm-table-head: #12172a;
        --dm-hover: #171c32;
        --dm-border: rgba(151, 160, 214, 0.12);
        --dm-border-strong: rgba(151, 160, 214, 0.2);
        --dm-text: #e8eaf5;
        --dm-muted: #9ca5c2;
        --dm-faint: #747e9f;
        --dm-accent: #737dc4;
        --dm-accent-hover: #858ed0;
        --dm-accent-soft: rgba(115, 125, 196, 0.13);
        --dm-risk-low: #2b5b4a;
        --dm-risk-medium: #68592f;
        --dm-risk-high: #6d3745;
        --dm-tone-sand: rgba(215, 168, 106, 0.075);
        --dm-tone-coral: rgba(229, 154, 166, 0.07);
        --dm-tone-mint: rgba(121, 197, 165, 0.07);
        --dm-tone-amber: rgba(215, 182, 111, 0.075);
        --dm-tone-lavender: rgba(174, 182, 232, 0.075);
        --dm-tone-sand-border: rgba(215, 168, 106, 0.17);
        --dm-tone-coral-border: rgba(229, 154, 166, 0.16);
        --dm-tone-mint-border: rgba(121, 197, 165, 0.16);
        --dm-tone-amber-border: rgba(215, 182, 111, 0.17);
        --dm-tone-lavender-border: rgba(174, 182, 232, 0.17);
        --dm-tone-sand-icon: #d7a86a;
        --dm-tone-coral-icon: #e59aa6;
        --dm-tone-mint-icon: #79c5a5;
        --dm-tone-amber-icon: #d7b66f;
        --dm-tone-lavender-icon: #aeb6e8;
        --ui-canvas: var(--dm-bg);
        --ui-canvas-deep: var(--dm-bg-deep);
        --ui-surface: rgba(15, 19, 35, 0.98);
        --ui-surface-solid: var(--dm-surface);
        --ui-surface-soft: rgba(17, 22, 40, 0.92);
        --ui-text: var(--dm-text);
        --ui-text-soft: var(--dm-muted);
        --ui-text-faint: var(--dm-faint);
        --ui-border: var(--dm-border);
        --ui-border-strong: var(--dm-border-strong);
        --ui-primary: var(--dm-accent);
        --ui-primary-hover: var(--dm-accent-hover);
        --ui-primary-soft: var(--dm-accent-soft);
        --surface: var(--dm-bg);
        --panel: var(--dm-surface);
        --ink: var(--dm-text);
        --muted: var(--dm-muted);
        --line: var(--dm-border);
        --input-bg: var(--dm-field);
        --table-head: var(--dm-table-head);
        --soft: var(--dm-accent-soft);
        --soft-border: var(--dm-border-strong);
        --bs-body-bg: var(--dm-bg);
        --bs-body-color: var(--dm-text);
        --bs-secondary-color: var(--dm-muted);
        --bs-secondary-bg: var(--dm-sidebar);
        --bs-tertiary-bg: var(--dm-bg);
        --bs-border-color: var(--dm-border);
        --bs-primary: var(--dm-accent);
        --bs-primary-rgb: 115, 125, 196;
    }

    :root[data-theme="dark"] .dashboard-quick-action:nth-child(5n + 1),
    :root[data-theme="dark"] .dashboard-wizard-tile:nth-child(5n + 1),
    :root[data-theme="dark"] .dashboard-checklist-item:nth-child(5n + 1),
    body[data-theme="dark"] .dashboard-quick-action:nth-child(5n + 1),
    body[data-theme="dark"] .dashboard-wizard-tile:nth-child(5n + 1),
    body[data-theme="dark"] .dashboard-checklist-item:nth-child(5n + 1) {
        --dashboard-tile-tint: var(--dm-tone-sand);
        --dashboard-tile-border: var(--dm-tone-sand-border);
        --dashboard-tile-icon: var(--dm-tone-sand-icon);
    }

    :root[data-theme="dark"] .dashboard-quick-action:nth-child(5n + 2),
    :root[data-theme="dark"] .dashboard-wizard-tile:nth-child(5n + 2),
    :root[data-theme="dark"] .dashboard-checklist-item:nth-child(5n + 2),
    body[data-theme="dark"] .dashboard-quick-action:nth-child(5n + 2),
    body[data-theme="dark"] .dashboard-wizard-tile:nth-child(5n + 2),
    body[data-theme="dark"] .dashboard-checklist-item:nth-child(5n + 2) {
        --dashboard-tile-tint: var(--dm-tone-coral);
        --dashboard-tile-border: var(--dm-tone-coral-border);
        --dashboard-tile-icon: var(--dm-tone-coral-icon);
    }

    :root[data-theme="dark"] .dashboard-quick-action:nth-child(5n + 3),
    :root[data-theme="dark"] .dashboard-wizard-tile:nth-child(5n + 3),
    :root[data-theme="dark"] .dashboard-checklist-item:nth-child(5n + 3),
    body[data-theme="dark"] .dashboard-quick-action:nth-child(5n + 3),
    body[data-theme="dark"] .dashboard-wizard-tile:nth-child(5n + 3),
    body[data-theme="dark"] .dashboard-checklist-item:nth-child(5n + 3) {
        --dashboard-tile-tint: var(--dm-tone-mint);
        --dashboard-tile-border: var(--dm-tone-mint-border);
        --dashboard-tile-icon: var(--dm-tone-mint-icon);
    }

    :root[data-theme="dark"] .dashboard-quick-action:nth-child(5n + 4),
    :root[data-theme="dark"] .dashboard-wizard-tile:nth-child(5n + 4),
    :root[data-theme="dark"] .dashboard-checklist-item:nth-child(5n + 4),
    body[data-theme="dark"] .dashboard-quick-action:nth-child(5n + 4),
    body[data-theme="dark"] .dashboard-wizard-tile:nth-child(5n + 4),
    body[data-theme="dark"] .dashboard-checklist-item:nth-child(5n + 4) {
        --dashboard-tile-tint: var(--dm-tone-amber);
        --dashboard-tile-border: var(--dm-tone-amber-border);
        --dashboard-tile-icon: var(--dm-tone-amber-icon);
    }

    :root[data-theme="dark"] .dashboard-quick-action:nth-child(5n + 5),
    :root[data-theme="dark"] .dashboard-wizard-tile:nth-child(5n + 5),
    :root[data-theme="dark"] .dashboard-checklist-item:nth-child(5n + 5),
    body[data-theme="dark"] .dashboard-quick-action:nth-child(5n + 5),
    body[data-theme="dark"] .dashboard-wizard-tile:nth-child(5n + 5),
    body[data-theme="dark"] .dashboard-checklist-item:nth-child(5n + 5) {
        --dashboard-tile-tint: var(--dm-tone-lavender);
        --dashboard-tile-border: var(--dm-tone-lavender-border);
        --dashboard-tile-icon: var(--dm-tone-lavender-icon);
    }

    :root[data-theme="dark"] .dashboard-quick-action:nth-child(n),
    :root[data-theme="dark"] .dashboard-wizard-tile:nth-child(n),
    :root[data-theme="dark"] .dashboard-checklist-item:nth-child(n),
    body[data-theme="dark"] .dashboard-quick-action:nth-child(n),
    body[data-theme="dark"] .dashboard-wizard-tile:nth-child(n),
    body[data-theme="dark"] .dashboard-checklist-item:nth-child(n) {
        background: linear-gradient(var(--dashboard-tile-tint), var(--dashboard-tile-tint)), var(--dm-surface-raised) !important;
        background-color: var(--dm-surface-raised) !important;
        border-color: var(--dashboard-tile-border) !important;
    }

    :root[data-theme="dark"] .dashboard-quick-action:nth-child(n):hover,
    :root[data-theme="dark"] .dashboard-wizard-tile:nth-child(n):hover,
    :root[data-theme="dark"] .dashboard-checklist-item:nth-child(n):hover,
    body[data-theme="dark"] .dashboard-quick-action:nth-child(n):hover,
    body[data-theme="dark"] .dashboard-wizard-tile:nth-child(n):hover,
    body[data-theme="dark"] .dashboard-checklist-item:nth-child(n):hover {
        background: linear-gradient(var(--dashboard-tile-tint), var(--dashboard-tile-tint)), var(--dm-hover) !important;
        background-color: var(--dm-hover) !important;
        border-color: var(--dashboard-tile-icon) !important;
        box-shadow: 0 10px 26px rgba(0, 0, 0, 0.18) !important;
    }

    :root[data-theme="dark"] .dashboard-quick-action:nth-child(n) .dashboard-quick-icon,
    :root[data-theme="dark"] .dashboard-wizard-tile:nth-child(n) .dashboard-wizard-icon,
    body[data-theme="dark"] .dashboard-quick-action:nth-child(n) .dashboard-quick-icon,
    body[data-theme="dark"] .dashboard-wizard-tile:nth-child(n) .dashboard-wizard-icon {
        background: var(--dashboard-tile-tint) !important;
        color: var(--dashboard-tile-icon) !important;
        filter: none !important;
    }

    :root[data-theme="dark"] .dashboard-next-action.dashboard-tone-warning,
    body[data-theme="dark"] .dashboard-next-action.dashboard-tone-warning {
        --dashboard-tile-tint: var(--dm-tone-sand);
        --dashboard-tile-border: var(--dm-tone-sand-border);
        --dashboard-tile-icon: var(--dm-tone-sand-icon);
    }

    :root[data-theme="dark"] .dashboard-next-action.dashboard-tone-success,
    body[data-theme="dark"] .dashboard-next-action.dashboard-tone-success {
        --dashboard-tile-tint: var(--dm-tone-mint);
        --dashboard-tile-border: var(--dm-tone-mint-border);
        --dashboard-tile-icon: var(--dm-tone-mint-icon);
    }

    :root[data-theme="dark"] .dashboard-next-action.dashboard-tone-danger,
    body[data-theme="dark"] .dashboard-next-action.dashboard-tone-danger {
        --dashboard-tile-tint: var(--dm-tone-coral);
        --dashboard-tile-border: var(--dm-tone-coral-border);
        --dashboard-tile-icon: var(--dm-tone-coral-icon);
    }

    :root[data-theme="dark"] .dashboard-next-action.dashboard-tone-info,
    :root[data-theme="dark"] .dashboard-next-action.dashboard-tone-secondary,
    body[data-theme="dark"] .dashboard-next-action.dashboard-tone-info,
    body[data-theme="dark"] .dashboard-next-action.dashboard-tone-secondary {
        --dashboard-tile-tint: var(--dm-tone-lavender);
        --dashboard-tile-border: var(--dm-tone-lavender-border);
        --dashboard-tile-icon: var(--dm-tone-lavender-icon);
    }

    :root[data-theme="dark"] .dashboard-next-action[class*="dashboard-tone-"],
    body[data-theme="dark"] .dashboard-next-action[class*="dashboard-tone-"] {
        background: linear-gradient(var(--dashboard-tile-tint), var(--dashboard-tile-tint)), var(--dm-surface-raised) !important;
        border-color: var(--dashboard-tile-border) !important;
    }

    :root[data-theme="dark"] .dashboard-next-action[class*="dashboard-tone-"] .dashboard-next-icon,
    body[data-theme="dark"] .dashboard-next-action[class*="dashboard-tone-"] .dashboard-next-icon {
        background: var(--dashboard-tile-tint) !important;
        color: var(--dashboard-tile-icon) !important;
    }

    :root[data-theme="dark"] .small-box.text-bg-primary,
    body[data-theme="dark"] .small-box.text-bg-primary {
        --small-box-tint: var(--dm-tone-lavender-border);
        --small-box-border: var(--dm-tone-lavender-border);
    }

    :root[data-theme="dark"] .small-box.text-bg-success,
    body[data-theme="dark"] .small-box.text-bg-success,
    :root[data-theme="dark"] .small-box.text-bg-secondary,
    body[data-theme="dark"] .small-box.text-bg-secondary {
        --small-box-tint: var(--dm-tone-mint-border);
        --small-box-border: var(--dm-tone-mint-border);
    }

    :root[data-theme="dark"] .small-box.text-bg-warning,
    body[data-theme="dark"] .small-box.text-bg-warning {
        --small-box-tint: var(--dm-tone-amber-border);
        --small-box-border: var(--dm-tone-amber-border);
    }

    :root[data-theme="dark"] .small-box.text-bg-primary,
    :root[data-theme="dark"] .small-box.text-bg-success,
    :root[data-theme="dark"] .small-box.text-bg-warning,
    :root[data-theme="dark"] .small-box.text-bg-secondary,
    body[data-theme="dark"] .small-box.text-bg-primary,
    body[data-theme="dark"] .small-box.text-bg-success,
    body[data-theme="dark"] .small-box.text-bg-warning,
    body[data-theme="dark"] .small-box.text-bg-secondary {
        background: linear-gradient(var(--small-box-tint), var(--small-box-tint)), var(--dm-surface-raised) !important;
        background-color: var(--dm-surface-raised) !important;
        border-color: var(--small-box-border) !important;
        color: var(--dm-text) !important;
        box-shadow: none !important;
    }

    :root[data-theme="dark"] .checklist-page .small-box.text-bg-secondary,
    body[data-theme="dark"] .checklist-page .small-box.text-bg-secondary {
        --small-box-tint: var(--dm-tone-amber-border);
        --small-box-border: var(--dm-tone-amber-border);
    }

    :root[data-theme="dark"] .module-section > .row > :nth-child(5n + 1) .help-card,
    body[data-theme="dark"] .module-section > .row > :nth-child(5n + 1) .help-card {
        --help-card-tint: var(--dm-tone-sand);
        --help-card-border: var(--dm-tone-sand-border);
        --help-card-icon: var(--dm-tone-sand-icon);
    }

    :root[data-theme="dark"] .module-section > .row > :nth-child(5n + 2) .help-card,
    body[data-theme="dark"] .module-section > .row > :nth-child(5n + 2) .help-card {
        --help-card-tint: var(--dm-tone-coral);
        --help-card-border: var(--dm-tone-coral-border);
        --help-card-icon: var(--dm-tone-coral-icon);
    }

    :root[data-theme="dark"] .module-section > .row > :nth-child(5n + 3) .help-card,
    body[data-theme="dark"] .module-section > .row > :nth-child(5n + 3) .help-card {
        --help-card-tint: var(--dm-tone-mint);
        --help-card-border: var(--dm-tone-mint-border);
        --help-card-icon: var(--dm-tone-mint-icon);
    }

    :root[data-theme="dark"] .module-section > .row > :nth-child(5n + 4) .help-card,
    body[data-theme="dark"] .module-section > .row > :nth-child(5n + 4) .help-card {
        --help-card-tint: var(--dm-tone-amber);
        --help-card-border: var(--dm-tone-amber-border);
        --help-card-icon: var(--dm-tone-amber-icon);
    }

    :root[data-theme="dark"] .module-section > .row > :nth-child(5n + 5) .help-card,
    body[data-theme="dark"] .module-section > .row > :nth-child(5n + 5) .help-card {
        --help-card-tint: var(--dm-tone-lavender);
        --help-card-border: var(--dm-tone-lavender-border);
        --help-card-icon: var(--dm-tone-lavender-icon);
    }

    :root[data-theme="dark"] .help-card,
    body[data-theme="dark"] .help-card {
        background: linear-gradient(var(--help-card-tint), var(--help-card-tint)), var(--dm-surface) !important;
        background-color: var(--dm-surface) !important;
        border-color: var(--help-card-border) !important;
    }

    :root[data-theme="dark"] .help-card:hover,
    body[data-theme="dark"] .help-card:hover {
        background: linear-gradient(var(--help-card-tint), var(--help-card-tint)), var(--dm-hover) !important;
        background-color: var(--dm-hover) !important;
        border-color: var(--help-card-icon) !important;
        box-shadow: 0 10px 26px rgba(0, 0, 0, 0.18) !important;
    }

    :root[data-theme="dark"] .help-card .help-card-icon,
    body[data-theme="dark"] .help-card .help-card-icon {
        background: var(--help-card-tint) !important;
        color: var(--help-card-icon) !important;
    }

    :root[data-theme="dark"] .help-card .badge.text-bg-light,
    body[data-theme="dark"] .help-card .badge.text-bg-light {
        background: var(--help-card-tint) !important;
        border-color: var(--help-card-border) !important;
        color: var(--help-card-icon) !important;
    }

    :root[data-theme="dark"] .checklist-page .checklist-pills .nav-link:nth-child(5n + 1),
    body[data-theme="dark"] .checklist-page .checklist-pills .nav-link:nth-child(5n + 1),
    :root[data-theme="dark"] .checklist-page .checklist-row-card:nth-of-type(5n + 1),
    body[data-theme="dark"] .checklist-page .checklist-row-card:nth-of-type(5n + 1) {
        --checklist-tint: var(--dm-tone-sand);
        --checklist-border: var(--dm-tone-sand-border);
        --checklist-icon: var(--dm-tone-sand-icon);
    }

    :root[data-theme="dark"] .checklist-page .checklist-pills .nav-link:nth-child(5n + 2),
    body[data-theme="dark"] .checklist-page .checklist-pills .nav-link:nth-child(5n + 2),
    :root[data-theme="dark"] .checklist-page .checklist-row-card:nth-of-type(5n + 2),
    body[data-theme="dark"] .checklist-page .checklist-row-card:nth-of-type(5n + 2) {
        --checklist-tint: var(--dm-tone-coral);
        --checklist-border: var(--dm-tone-coral-border);
        --checklist-icon: var(--dm-tone-coral-icon);
    }

    :root[data-theme="dark"] .checklist-page .checklist-pills .nav-link:nth-child(5n + 3),
    body[data-theme="dark"] .checklist-page .checklist-pills .nav-link:nth-child(5n + 3),
    :root[data-theme="dark"] .checklist-page .checklist-row-card:nth-of-type(5n + 3),
    body[data-theme="dark"] .checklist-page .checklist-row-card:nth-of-type(5n + 3) {
        --checklist-tint: var(--dm-tone-mint);
        --checklist-border: var(--dm-tone-mint-border);
        --checklist-icon: var(--dm-tone-mint-icon);
    }

    :root[data-theme="dark"] .checklist-page .checklist-pills .nav-link:nth-child(5n + 4),
    body[data-theme="dark"] .checklist-page .checklist-pills .nav-link:nth-child(5n + 4),
    :root[data-theme="dark"] .checklist-page .checklist-row-card:nth-of-type(5n + 4),
    body[data-theme="dark"] .checklist-page .checklist-row-card:nth-of-type(5n + 4) {
        --checklist-tint: var(--dm-tone-amber);
        --checklist-border: var(--dm-tone-amber-border);
        --checklist-icon: var(--dm-tone-amber-icon);
    }

    :root[data-theme="dark"] .checklist-page .checklist-pills .nav-link:nth-child(5n + 5),
    body[data-theme="dark"] .checklist-page .checklist-pills .nav-link:nth-child(5n + 5),
    :root[data-theme="dark"] .checklist-page .checklist-row-card:nth-of-type(5n + 5),
    body[data-theme="dark"] .checklist-page .checklist-row-card:nth-of-type(5n + 5) {
        --checklist-tint: var(--dm-tone-lavender);
        --checklist-border: var(--dm-tone-lavender-border);
        --checklist-icon: var(--dm-tone-lavender-icon);
    }

    :root[data-theme="dark"] .checklist-page .checklist-pills .nav-link,
    body[data-theme="dark"] .checklist-page .checklist-pills .nav-link {
        background: linear-gradient(var(--checklist-tint), var(--checklist-tint)), var(--dm-surface) !important;
        border-color: transparent !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .checklist-page .checklist-pills .nav-link.active,
    body[data-theme="dark"] .checklist-page .checklist-pills .nav-link.active {
        background: linear-gradient(var(--checklist-tint), var(--checklist-tint)), var(--dm-hover) !important;
        border-color: var(--checklist-border) !important;
        box-shadow: inset 3px 0 0 var(--checklist-icon) !important;
    }

    :root[data-theme="dark"] .checklist-page .checklist-pills .nav-link .badge,
    body[data-theme="dark"] .checklist-page .checklist-pills .nav-link .badge {
        background: var(--checklist-tint) !important;
        border-color: var(--checklist-border) !important;
        color: var(--checklist-icon) !important;
    }

    :root[data-theme="dark"] .checklist-page .checklist-row-card,
    body[data-theme="dark"] .checklist-page .checklist-row-card {
        background: linear-gradient(var(--checklist-tint), var(--checklist-tint)), var(--dm-surface) !important;
        background-color: var(--dm-surface) !important;
        border-color: var(--checklist-border) !important;
    }

    :root[data-theme="dark"] .checklist-page .checklist-row-card > .card-header,
    body[data-theme="dark"] .checklist-page .checklist-row-card > .card-header {
        background: linear-gradient(var(--checklist-tint), var(--checklist-tint)), var(--dm-toolbar) !important;
        border-color: var(--checklist-border) !important;
    }

    :root[data-theme="dark"] .checklist-page .checklist-attachment-panel,
    body[data-theme="dark"] .checklist-page .checklist-attachment-panel {
        background: linear-gradient(var(--dm-tone-lavender), var(--dm-tone-lavender)), var(--dm-surface-raised) !important;
        border-color: var(--dm-tone-lavender-border) !important;
    }

    :root[data-theme="dark"] .app-content .card .table:not(.print-table) > :not(caption) > * > *,
    body[data-theme="dark"] .app-content .card .table:not(.print-table) > :not(caption) > * > * {
        background: var(--dm-row) !important;
        background-color: var(--dm-row) !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text) !important;
        box-shadow: none !important;
    }

    :root[data-theme="dark"] .app-content .card .table:not(.print-table) thead,
    :root[data-theme="dark"] .app-content .card .table:not(.print-table) thead tr,
    :root[data-theme="dark"] .app-content .card .table:not(.print-table) thead th,
    body[data-theme="dark"] .app-content .card .table:not(.print-table) thead,
    body[data-theme="dark"] .app-content .card .table:not(.print-table) thead tr,
    body[data-theme="dark"] .app-content .card .table:not(.print-table) thead th {
        background: var(--dm-table-head) !important;
        background-color: var(--dm-table-head) !important;
        border-color: var(--dm-border) !important;
        color: #aeb6d2 !important;
    }

    :root[data-theme="dark"] .app-content .card .table:not(.print-table) tbody tr:nth-child(even) > *,
    body[data-theme="dark"] .app-content .card .table:not(.print-table) tbody tr:nth-child(even) > * {
        background: var(--dm-row-alt) !important;
        background-color: var(--dm-row-alt) !important;
    }

    :root[data-theme="dark"] .rcp-risk-toolbar,
    :root[data-theme="dark"] .rcp-risk-shell,
    :root[data-theme="dark"] .rcp-risk-main,
    body[data-theme="dark"] .rcp-risk-toolbar,
    body[data-theme="dark"] .rcp-risk-shell,
    body[data-theme="dark"] .rcp-risk-main {
        background: var(--dm-surface) !important;
        background-color: var(--dm-surface) !important;
        background-image: none !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .rcp-risk-side,
    body[data-theme="dark"] .rcp-risk-side {
        background: var(--dm-sidebar) !important;
        background-color: var(--dm-sidebar) !important;
        border-color: var(--dm-border) !important;
    }

    :root[data-theme="dark"] .rcp-risk-choice,
    :root[data-theme="dark"] .rcp-risk-score,
    :root[data-theme="dark"] .dpia-assessment-card,
    :root[data-theme="dark"] .dpia-score-box,
    :root[data-theme="dark"] .dpia-factor-card,
    body[data-theme="dark"] .rcp-risk-choice,
    body[data-theme="dark"] .rcp-risk-score,
    body[data-theme="dark"] .dpia-assessment-card,
    body[data-theme="dark"] .dpia-score-box,
    body[data-theme="dark"] .dpia-factor-card {
        background: var(--dm-surface-raised) !important;
        background-color: var(--dm-surface-raised) !important;
        border-color: var(--dm-border) !important;
        box-shadow: none !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .dpia-calculator-shell,
    body[data-theme="dark"] .dpia-calculator-shell {
        background: var(--dm-surface) !important;
        background-color: var(--dm-surface) !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .rcp-risk-cell,
    :root[data-theme="dark"] .dpia-score-cell,
    body[data-theme="dark"] .rcp-risk-cell,
    body[data-theme="dark"] .dpia-score-cell {
        background: var(--dm-hover) !important;
        background-color: var(--dm-hover) !important;
    }

    :root[data-theme="dark"] .rcp-risk-cell.is-low,
    :root[data-theme="dark"] .dpia-score-cell.is-low,
    body[data-theme="dark"] .rcp-risk-cell.is-low,
    body[data-theme="dark"] .dpia-score-cell.is-low {
        background: var(--dm-risk-low) !important;
        background-color: var(--dm-risk-low) !important;
    }

    :root[data-theme="dark"] .rcp-risk-cell.is-hot,
    :root[data-theme="dark"] .dpia-score-cell.is-mid,
    body[data-theme="dark"] .rcp-risk-cell.is-hot,
    body[data-theme="dark"] .dpia-score-cell.is-mid {
        background: var(--dm-risk-medium) !important;
        background-color: var(--dm-risk-medium) !important;
    }

    :root[data-theme="dark"] .rcp-risk-cell.is-danger,
    :root[data-theme="dark"] .dpia-score-cell.is-high,
    body[data-theme="dark"] .rcp-risk-cell.is-danger,
    body[data-theme="dark"] .dpia-score-cell.is-high {
        background: var(--dm-risk-high) !important;
        background-color: var(--dm-risk-high) !important;
    }

    :root[data-theme="dark"] .super-admin-table,
    :root[data-theme="dark"] .super-admin-table .table,
    body[data-theme="dark"] .super-admin-table,
    body[data-theme="dark"] .super-admin-table .table {
        --bs-table-bg: var(--dm-row);
        --bs-table-color: var(--dm-text);
        --bs-table-border-color: var(--dm-border);
        --bs-table-hover-bg: var(--dm-hover);
        --bs-table-hover-color: var(--dm-text);
        background: var(--dm-surface) !important;
        background-color: var(--dm-surface) !important;
        background-image: none !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .super-admin-table .table > :not(caption) > * > *,
    body[data-theme="dark"] .super-admin-table .table > :not(caption) > * > * {
        background: var(--dm-row) !important;
        background-color: var(--dm-row) !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text) !important;
        box-shadow: none !important;
    }

    :root[data-theme="dark"] .super-admin-table .table thead,
    :root[data-theme="dark"] .super-admin-table .table thead tr,
    :root[data-theme="dark"] .super-admin-table .table thead th,
    body[data-theme="dark"] .super-admin-table .table thead,
    body[data-theme="dark"] .super-admin-table .table thead tr,
    body[data-theme="dark"] .super-admin-table .table thead th {
        background: var(--dm-table-head) !important;
        background-color: var(--dm-table-head) !important;
        border-color: var(--dm-border) !important;
        color: #aeb6d2 !important;
    }

    :root[data-theme="dark"] .super-admin-table .table tbody tr:nth-child(even) > *,
    body[data-theme="dark"] .super-admin-table .table tbody tr:nth-child(even) > * {
        background: var(--dm-row-alt) !important;
        background-color: var(--dm-row-alt) !important;
    }

    :root[data-theme="dark"] .super-admin-table .table-hover > tbody > tr:hover > *,
    body[data-theme="dark"] .super-admin-table .table-hover > tbody > tr:hover > * {
        background: var(--dm-hover) !important;
        background-color: var(--dm-hover) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .module-permissions-panel,
    :root[data-theme="dark"] .module-permission-option,
    :root[data-theme="dark"] .super-admin-list-item > summary,
    :root[data-theme="dark"] .super-admin-list-body,
    body[data-theme="dark"] .module-permissions-panel,
    body[data-theme="dark"] .module-permission-option,
    body[data-theme="dark"] .super-admin-list-item > summary,
    body[data-theme="dark"] .super-admin-list-body {
        background: var(--dm-surface-raised) !important;
        background-color: var(--dm-surface-raised) !important;
        background-image: none !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .dbviewer-data-card,
    :root[data-theme="dark"] .dbviewer-data-head,
    :root[data-theme="dark"] .dbviewer-table-wrap,
    :root[data-theme="dark"] .dbviewer-data-table,
    :root[data-theme="dark"] .dbviewer-schema-body,
    :root[data-theme="dark"] .dbviewer-empty,
    body[data-theme="dark"] .dbviewer-data-card,
    body[data-theme="dark"] .dbviewer-data-head,
    body[data-theme="dark"] .dbviewer-table-wrap,
    body[data-theme="dark"] .dbviewer-data-table,
    body[data-theme="dark"] .dbviewer-schema-body,
    body[data-theme="dark"] .dbviewer-empty {
        --bs-table-bg: var(--dm-row);
        --bs-table-color: var(--dm-text);
        --bs-table-border-color: var(--dm-border);
        background: var(--dm-surface) !important;
        background-color: var(--dm-surface) !important;
        background-image: none !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .dbviewer-data-table > :not(caption) > * > *,
    body[data-theme="dark"] .dbviewer-data-table > :not(caption) > * > * {
        background: var(--dm-row) !important;
        background-color: var(--dm-row) !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text) !important;
        box-shadow: none !important;
    }

    :root[data-theme="dark"] .dbviewer-data-table thead,
    :root[data-theme="dark"] .dbviewer-data-table thead tr,
    :root[data-theme="dark"] .dbviewer-data-table thead th,
    body[data-theme="dark"] .dbviewer-data-table thead,
    body[data-theme="dark"] .dbviewer-data-table thead tr,
    body[data-theme="dark"] .dbviewer-data-table thead th {
        background: var(--dm-table-head) !important;
        background-color: var(--dm-table-head) !important;
        border-color: var(--dm-border) !important;
        color: #aeb6d2 !important;
    }

    :root[data-theme="dark"] .dbviewer-data-table tbody tr:nth-child(even) > *,
    body[data-theme="dark"] .dbviewer-data-table tbody tr:nth-child(even) > * {
        background: var(--dm-row-alt) !important;
        background-color: var(--dm-row-alt) !important;
    }

    :root[data-theme="dark"] .dbviewer-data-table.table-hover > tbody > tr:hover > *,
    body[data-theme="dark"] .dbviewer-data-table.table-hover > tbody > tr:hover > * {
        background: var(--dm-hover) !important;
        background-color: var(--dm-hover) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .table-panel:has(.audit-log-table),
    :root[data-theme="dark"] .table-panel:has(.audit-log-table) .table-responsive,
    :root[data-theme="dark"] .audit-log-table,
    body[data-theme="dark"] .table-panel:has(.audit-log-table),
    body[data-theme="dark"] .table-panel:has(.audit-log-table) .table-responsive,
    body[data-theme="dark"] .audit-log-table {
        --bs-table-bg: var(--dm-row);
        --bs-table-color: var(--dm-text);
        --bs-table-border-color: var(--dm-border);
        --bs-table-hover-bg: var(--dm-hover);
        --bs-table-hover-color: var(--dm-text);
        background: var(--dm-surface) !important;
        background-color: var(--dm-surface) !important;
        background-image: none !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .table-panel .audit-log-table > :not(caption) > * > *,
    body[data-theme="dark"] .table-panel .audit-log-table > :not(caption) > * > * {
        background: var(--dm-row) !important;
        background-color: var(--dm-row) !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text) !important;
        box-shadow: none !important;
    }

    :root[data-theme="dark"] .table-panel .audit-log-table thead,
    :root[data-theme="dark"] .table-panel .audit-log-table thead tr,
    :root[data-theme="dark"] .table-panel .audit-log-table thead th,
    body[data-theme="dark"] .table-panel .audit-log-table thead,
    body[data-theme="dark"] .table-panel .audit-log-table thead tr,
    body[data-theme="dark"] .table-panel .audit-log-table thead th {
        background: var(--dm-table-head) !important;
        background-color: var(--dm-table-head) !important;
        border-color: var(--dm-border) !important;
        color: #aeb6d2 !important;
    }

    :root[data-theme="dark"] .table-panel .audit-log-table tbody tr:nth-child(even) > *,
    body[data-theme="dark"] .table-panel .audit-log-table tbody tr:nth-child(even) > * {
        background: var(--dm-row-alt) !important;
        background-color: var(--dm-row-alt) !important;
    }

    :root[data-theme="dark"] .table-panel .audit-log-table.table-hover > tbody > tr:hover > *,
    body[data-theme="dark"] .table-panel .audit-log-table.table-hover > tbody > tr:hover > * {
        background: var(--dm-hover) !important;
        background-color: var(--dm-hover) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .audit-log-table .badge.text-bg-light,
    body[data-theme="dark"] .audit-log-table .badge.text-bg-light {
        background: rgba(115, 125, 196, 0.12) !important;
        background-color: rgba(115, 125, 196, 0.12) !important;
        border-color: rgba(115, 125, 196, 0.24) !important;
        color: #c5caff !important;
        box-shadow: none !important;
    }

    :root[data-theme="dark"] .audit-log-table tbody tr:nth-child(4n + 1),
    body[data-theme="dark"] .audit-log-table tbody tr:nth-child(4n + 1) {
        --audit-row-tint: var(--dm-tone-lavender);
        --audit-row-border: var(--dm-tone-lavender-border);
        --audit-row-icon: var(--dm-tone-lavender-icon);
    }

    :root[data-theme="dark"] .audit-log-table tbody tr:nth-child(4n + 2),
    body[data-theme="dark"] .audit-log-table tbody tr:nth-child(4n + 2) {
        --audit-row-tint: var(--dm-tone-mint);
        --audit-row-border: var(--dm-tone-mint-border);
        --audit-row-icon: var(--dm-tone-mint-icon);
    }

    :root[data-theme="dark"] .audit-log-table tbody tr:nth-child(4n + 3),
    body[data-theme="dark"] .audit-log-table tbody tr:nth-child(4n + 3) {
        --audit-row-tint: var(--dm-tone-sand);
        --audit-row-border: var(--dm-tone-sand-border);
        --audit-row-icon: var(--dm-tone-sand-icon);
    }

    :root[data-theme="dark"] .audit-log-table tbody tr:nth-child(4n + 4),
    body[data-theme="dark"] .audit-log-table tbody tr:nth-child(4n + 4) {
        --audit-row-tint: var(--dm-tone-coral);
        --audit-row-border: var(--dm-tone-coral-border);
        --audit-row-icon: var(--dm-tone-coral-icon);
    }

    :root[data-theme="dark"] .table-panel .audit-log-table tbody tr:nth-child(n) > *,
    body[data-theme="dark"] .table-panel .audit-log-table tbody tr:nth-child(n) > * {
        background: linear-gradient(var(--audit-row-tint), var(--audit-row-tint)), var(--dm-row) !important;
        background-color: var(--dm-row) !important;
        border-color: var(--audit-row-border) !important;
    }

    :root[data-theme="dark"] .table-panel .audit-log-table tbody tr:nth-child(n) .badge.text-bg-light,
    body[data-theme="dark"] .table-panel .audit-log-table tbody tr:nth-child(n) .badge.text-bg-light {
        background: var(--audit-row-tint) !important;
        border-color: var(--audit-row-border) !important;
        color: var(--audit-row-icon) !important;
    }

    :root[data-theme="dark"] .table-panel .audit-log-table.table-hover > tbody > tr:nth-child(n):hover > *,
    body[data-theme="dark"] .table-panel .audit-log-table.table-hover > tbody > tr:nth-child(n):hover > * {
        background: linear-gradient(var(--audit-row-tint), var(--audit-row-tint)), var(--dm-hover) !important;
        background-color: var(--dm-hover) !important;
        color: var(--dm-text) !important;
    }

    /* Incident creator: remove the legacy neutral-gray islands from dark mode. */
    :root[data-theme="dark"] .incident-wizard-card,
    :root[data-theme="dark"] .incident-wizard-side .card,
    body[data-theme="dark"] .incident-wizard-card,
    body[data-theme="dark"] .incident-wizard-side .card {
        background: var(--dm-surface) !important;
        background-color: var(--dm-surface) !important;
        background-image: none !important;
        border-color: var(--dm-border) !important;
        box-shadow: none !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .incident-wizard-card .card-header,
    :root[data-theme="dark"] .incident-wizard-side .card-header,
    body[data-theme="dark"] .incident-wizard-card .card-header,
    body[data-theme="dark"] .incident-wizard-side .card-header {
        background: linear-gradient(var(--dm-tone-lavender), var(--dm-tone-lavender)), var(--dm-toolbar) !important;
        background-color: var(--dm-toolbar) !important;
        border-color: var(--dm-tone-lavender-border) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .incident-mapping-list > div,
    body[data-theme="dark"] .incident-mapping-list > div {
        background: linear-gradient(var(--dm-tone-lavender), var(--dm-tone-lavender)), var(--dm-surface-raised) !important;
        background-color: var(--dm-surface-raised) !important;
        border-color: var(--dm-tone-lavender-border) !important;
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .incident-mapping-list strong,
    body[data-theme="dark"] .incident-mapping-list strong {
        color: var(--dm-tone-lavender-icon) !important;
    }

    :root[data-theme="dark"] #commandPaletteModal .command-palette-results .list-group-item-action:hover,
    :root[data-theme="dark"] #commandPaletteModal .command-palette-results .list-group-item-action:focus-visible,
    body[data-theme="dark"] #commandPaletteModal .command-palette-results .list-group-item-action:hover,
    body[data-theme="dark"] #commandPaletteModal .command-palette-results .list-group-item-action:focus-visible {
        background: linear-gradient(var(--dm-tone-lavender), var(--dm-tone-lavender)), var(--dm-hover) !important;
        border-color: var(--dm-tone-lavender-border) !important;
        box-shadow: 0 10px 24px rgba(2, 4, 12, 0.28);
        color: var(--dm-text) !important;
    }

    :root[data-theme="dark"] .report-print-document,
    :root[data-theme="dark"] .report-print-document .report-print-grid,
    :root[data-theme="dark"] .report-print-document .report-print-table-wrap,
    body[data-theme="dark"] .report-print-document,
    body[data-theme="dark"] .report-print-document .report-print-grid,
    body[data-theme="dark"] .report-print-document .report-print-table-wrap {
        background: #ffffff !important;
        background-color: #ffffff !important;
        background-image: none !important;
        border-color: #d7dee8 !important;
        color: #111827 !important;
        color-scheme: light !important;
    }

    :root[data-theme="dark"] .report-print-document .print-table,
    :root[data-theme="dark"] .report-print-document .print-table > :not(caption) > * > *,
    :root[data-theme="dark"] .report-print-document .print-table tbody tr:nth-child(even) > *,
    body[data-theme="dark"] .report-print-document .print-table,
    body[data-theme="dark"] .report-print-document .print-table > :not(caption) > * > *,
    body[data-theme="dark"] .report-print-document .print-table tbody tr:nth-child(even) > * {
        background: #ffffff !important;
        background-color: #ffffff !important;
        border-color: #cbd5e1 !important;
        color: #111827 !important;
        box-shadow: none !important;
    }

    :root[data-theme="dark"] .report-print-document .print-table thead,
    :root[data-theme="dark"] .report-print-document .print-table thead tr,
    :root[data-theme="dark"] .report-print-document .print-table thead th,
    body[data-theme="dark"] .report-print-document .print-table thead,
    body[data-theme="dark"] .report-print-document .print-table thead tr,
    body[data-theme="dark"] .report-print-document .print-table thead th {
        background: #f3f4f6 !important;
        background-color: #f3f4f6 !important;
        border-color: #cbd5e1 !important;
        color: #111827 !important;
    }
}

@media print {
    html,
    body,
    .print-document,
    .report-print-document,
    .report-print-document .report-print-grid,
    .report-print-document .report-print-table-wrap {
        background: #ffffff !important;
        background-color: #ffffff !important;
        background-image: none !important;
        color: #111827 !important;
        color-scheme: light !important;
    }

    .report-print-document .print-table,
    .report-print-document .print-table > :not(caption) > * > *,
    .report-print-document .print-table tbody tr:nth-child(even) > * {
        background: #ffffff !important;
        background-color: #ffffff !important;
        border-color: #cbd5e1 !important;
        color: #111827 !important;
        box-shadow: none !important;
    }

    .report-print-document .print-table thead,
    .report-print-document .print-table thead tr,
    .report-print-document .print-table thead th {
        background: #f3f4f6 !important;
        background-color: #f3f4f6 !important;
        border-color: #cbd5e1 !important;
        color: #111827 !important;
    }
}
