/* The page styles keep their original light values as variable fallbacks.
   Dark tokens are screen-only so documents and print retain their own palette. */
.theme-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-width: 32px; min-height: 32px; border: 1px solid #cfdae6; border-radius: 8px; padding: 6px 10px; background: #fff; color: #18334d; font: 600 12px/1.2 system-ui, sans-serif; white-space: nowrap; cursor: pointer; }
.theme-toggle [data-theme-icon] { font-size: 16px; line-height: 1; }
.theme-toggle:focus-visible { outline: 3px solid #60a5fa; outline-offset: 3px; }
.theme-toggle--floating { position: fixed; right: 16px; bottom: 16px; z-index: 1030; box-shadow: 0 4px 20px #0002; }
.header-actions .theme-toggle { flex-shrink: 0; }
.theme-notice { position: fixed; z-index: 1035; box-sizing: border-box; width: min(280px, calc(100vw - 24px)); padding: 10px 12px; border: 1px solid var(--theme-border, #c9daf0); border-radius: 6px; background: var(--theme-surface, #fff); color: var(--theme-text, #243447); box-shadow: 0 4px 12px #0002; font: 12px/1.4 system-ui, sans-serif; }
.theme-notice[hidden] { display: none; }
.theme-notice::before { content: ''; position: absolute; left: calc(var(--theme-notice-arrow, 50%) - 6px); top: -7px; width: 12px; height: 12px; border-top: 1px solid; border-left: 1px solid; border-color: inherit; background: inherit; transform: rotate(45deg); }
.theme-notice[data-placement="above"]::before { top: auto; bottom: -7px; transform: rotate(225deg); }
.theme-notice__badge { display: inline-block; margin-bottom: 5px; padding: 1px 6px; border-radius: 4px; background: var(--theme-soft, #eaf2ff); color: var(--theme-link, #174e87); font-size: 11px; font-weight: 700; }
.theme-notice strong { display: block; font-size: 13px; color: var(--theme-heading, #18334d); }
.theme-notice p { margin: 4px 0 8px; color: var(--theme-muted, #52647a); }
.theme-notice__dismiss { min-height: 28px; padding: 4px 9px; border: 1px solid #0d6efd; border-radius: 4px; background: #0d6efd; color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.theme-notice__dismiss:hover { background: #0b5ed7; }
.theme-notice__dismiss:focus-visible { outline: 3px solid var(--theme-link, #174e87); outline-offset: 3px; }
@media (max-width: 767px) { .theme-toggle { min-width: 40px; min-height: 40px; } .theme-toggle-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; } .theme-toggle--floating { right: 12px; bottom: 12px; } }
/* Theme picker panel */
.theme-picker { position: fixed; z-index: 1040; box-sizing: border-box; width: min(300px, calc(100vw - 24px)); max-height: calc(100vh - 24px); overflow-y: auto; padding: 10px; border: 1px solid var(--theme-border, #c9daf0); border-radius: 14px; background: var(--theme-surface, #fff); box-shadow: 0 4px 12px #0002; font: 12px/1.4 system-ui, sans-serif; color: var(--theme-text, #243447); }
.theme-picker[hidden] { display: none; }
.theme-picker__header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.theme-picker__title { font-size: 13px; font-weight: 700; color: var(--theme-heading, #18334d); margin: 0; }
.theme-picker__close { min-width: 28px; min-height: 28px; padding: 4px; border: none; border-radius: 6px; background: transparent; color: var(--theme-muted, #52647a); font-size: 18px; cursor: pointer; }
.theme-picker__close:hover { background: var(--theme-soft, #eaf2ff); color: var(--theme-text, #243447); }
.theme-picker__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.theme-picker__card { position: relative; padding: 7px 4px; border: 1px solid var(--theme-border, #c9daf0); border-radius: 6px; cursor: pointer; text-align: center; transition: border-color .15s, box-shadow .15s; }
.theme-picker__card:focus-visible { outline: 2px solid var(--theme-link, #0d6efd); outline-offset: 2px; }
.theme-picker__card:hover { border-color: var(--theme-link, #0d6efd); }
.theme-picker__card[aria-checked="true"] { border-color: var(--theme-link, #0d6efd); box-shadow: inset 0 0 0 1px var(--theme-link, #0d6efd); }
.theme-picker__swatch { display: flex; gap: 3px; justify-content: center; margin-bottom: 4px; }
.theme-picker__swatch span { width: 11px; height: 11px; border-radius: 50%; border: 1px solid #0001; }
.theme-picker__name { font-size: 11px; font-weight: 600; line-height: 1.2; }
.theme-picker__mode { font-size: 9px; text-transform: uppercase; letter-spacing: .5px; margin-top: 2px; opacity: .7; }

.theme-picker__group { margin-bottom: 8px; }
.theme-picker__group:last-child { margin-bottom: 0; }
.theme-picker__group-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .6px; color: var(--theme-muted, #52647a); margin-bottom: 6px; padding-left: 2px; }

@media print { .theme-toggle, .theme-notice, .theme-picker { display: none !important; } }

@media screen {
    html[data-bs-theme="light"] { --theme-muted: #52647a; }
    /* ── DARK: Slate (original) ── */
    html[data-bs-theme="dark"] {
        color-scheme: dark;
        --theme-bg: #101824;
        --theme-surface: #1b2738;
        --theme-soft: #223146;
        --theme-text: #e2e8f0;
        --theme-heading: #edf3fc;
        --theme-muted: #aab8cb;
        --theme-border: #3b4d65;
        --theme-link: #8fc5ff;
        --theme-danger-soft: #3b2430;
        --theme-danger-text: #ffacb6;
        --theme-warning-soft: #3b3021;
        --theme-warning-text: #ffd18b;
        --theme-success-soft: #193a32;
        --theme-success-text: #8ee0bb;
        --theme-purple-soft: #302747;
        --theme-purple-text: #d0b9ff;
        --light-color: var(--theme-soft);
        --bs-body-bg: var(--theme-bg);
        --bs-body-color: var(--theme-text);
        --bs-border-color: var(--theme-border);
        --bs-secondary-color: var(--theme-muted);
        --bs-link-color: var(--theme-link);
        --bs-link-hover-color: #bddcff;
    }
    /* ── DARK: Deep Forest ── */
    html[data-bs-theme="deep-forest"] {
        color-scheme: dark;
        --theme-bg: #0f1a14; --theme-surface: #1a2b22; --theme-soft: #243a2e;
        --theme-text: #dce8e0; --theme-heading: #ecf5f0; --theme-muted: #96ab9e;
        --theme-border: #3a5244; --theme-link: #7ddfb0;
        --theme-danger-soft: #3b2428; --theme-danger-text: #ffacb6;
        --theme-warning-soft: #3b3420; --theme-warning-text: #ffd18b;
        --theme-success-soft: #1a3a2a; --theme-success-text: #8ee0bb;
        --theme-purple-soft: #2a2740; --theme-purple-text: #d0b9ff;
        --light-color: var(--theme-soft);
        --bs-body-bg: var(--theme-bg); --bs-body-color: var(--theme-text);
        --bs-border-color: var(--theme-border); --bs-secondary-color: var(--theme-muted);
        --bs-link-color: var(--theme-link); --bs-link-hover-color: #a8ecc8;
    }

    /* ── DARK: Ember Night ── */
    html[data-bs-theme="ember-night"] {
        color-scheme: dark;
        --theme-bg: #1a1210; --theme-surface: #2a1f1c; --theme-soft: #3a2c28;
        --theme-text: #ede0da; --theme-heading: #f8efea; --theme-muted: #b8a49a;
        --theme-border: #5a443c; --theme-link: #f0a878;
        --theme-danger-soft: #3b2428; --theme-danger-text: #ffacb6;
        --theme-warning-soft: #3b3420; --theme-warning-text: #ffd18b;
        --theme-success-soft: #1a3a2a; --theme-success-text: #8ee0bb;
        --theme-purple-soft: #302740; --theme-purple-text: #d0b9ff;
        --light-color: var(--theme-soft);
        --bs-body-bg: var(--theme-bg); --bs-body-color: var(--theme-text);
        --bs-border-color: var(--theme-border); --bs-secondary-color: var(--theme-muted);
        --bs-link-color: var(--theme-link); --bs-link-hover-color: #f5c4a0;
    }

    /* ── LIGHT: Warm Sand ── */
    html[data-bs-theme="warm-sand"] {
        color-scheme: light;
        --theme-bg: #faf8f5; --theme-surface: #fff9f2; --theme-soft: #f0ebe3;
        --theme-text: #3d3529; --theme-heading: #2a2318; --theme-muted: #665945;
        --theme-border: #ddd5c8; --theme-link: #934828;
        --theme-danger-soft: #fef2f0; --theme-danger-text: #b02a20;
        --theme-warning-soft: #fdf6e8; --theme-warning-text: #795714;
        --theme-success-soft: #eef7f0; --theme-success-text: #27764e;
        --theme-purple-soft: #f3eff8; --theme-purple-text: #7c4dbd;
        --light-color: var(--theme-soft);
        --bs-body-bg: var(--theme-bg); --bs-body-color: var(--theme-text);
        --bs-border-color: var(--theme-border); --bs-secondary-color: var(--theme-muted);
        --bs-link-color: var(--theme-link); --bs-link-hover-color: #934828;
    }

    /* ── LIGHT: Mint Fresh ── */
    html[data-bs-theme="mint-fresh"] {
        color-scheme: light;
        --theme-bg: #f5faf7; --theme-surface: #fafffc; --theme-soft: #e4f0ea;
        --theme-text: #2a3d32; --theme-heading: #1a2b22; --theme-muted: #4d6d5a;
        --theme-border: #c8ddd2; --theme-link: #226c48;
        --theme-danger-soft: #fef2f0; --theme-danger-text: #b02a20;
        --theme-warning-soft: #fdf6e8; --theme-warning-text: #795714;
        --theme-success-soft: #eef7f0; --theme-success-text: #27764e;
        --theme-purple-soft: #f3eff8; --theme-purple-text: #7c4dbd;
        --light-color: var(--theme-soft);
        --bs-body-bg: var(--theme-bg); --bs-body-color: var(--theme-text);
        --bs-border-color: var(--theme-border); --bs-secondary-color: var(--theme-muted);
        --bs-link-color: var(--theme-link); --bs-link-hover-color: #1f6b46;
    }

    /* ── LIGHT: Lavender Mist ── */
    html[data-bs-theme="lavender-mist"] {
        color-scheme: light;
        --theme-bg: #f8f5fc; --theme-surface: #fdfbff; --theme-soft: #ece5f5;
        --theme-text: #352a42; --theme-heading: #241c30; --theme-muted: #706080;
        --theme-border: #d5c8e5; --theme-link: #7c4dbd;
        --theme-danger-soft: #fef2f0; --theme-danger-text: #b02a20;
        --theme-warning-soft: #fdf6e8; --theme-warning-text: #795714;
        --theme-success-soft: #eef7f0; --theme-success-text: #27764e;
        --theme-purple-soft: #f3eff8; --theme-purple-text: #7c4dbd;
        --light-color: var(--theme-soft);
        --bs-body-bg: var(--theme-bg); --bs-body-color: var(--theme-text);
        --bs-border-color: var(--theme-border); --bs-secondary-color: var(--theme-muted);
        --bs-link-color: var(--theme-link); --bs-link-hover-color: #6338a0;
    }

    html[data-bs-theme="ocean-breeze"] {
        color-scheme: light;
        --theme-bg: #f2f7fc;
        --theme-surface: #fafdff;
        --theme-soft: #e1edf7;
        --theme-text: #263c50;
        --theme-heading: #15314a;
        --theme-muted: #526b80;
        --theme-border: #b6cbdc;
        --theme-link: #1d5d91;
        --theme-danger-soft: #fef2f0;
        --theme-danger-text: #b02a20;
        --theme-warning-soft: #fdf6e8;
        --theme-warning-text: #795714;
        --theme-success-soft: #eef7f0;
        --theme-success-text: #27764e;
        --theme-purple-soft: #f3eff8;
        --theme-purple-text: #7c4dbd;
        --light-color: var(--theme-soft);
        --bs-body-bg: var(--theme-bg); --bs-body-color: var(--theme-text);
        --bs-border-color: var(--theme-border); --bs-secondary-color: var(--theme-muted);
        --bs-link-color: var(--theme-link); --bs-link-hover-color: var(--theme-link);
    }

    html[data-bs-theme="rose-petal"] {
        color-scheme: light;
        --theme-bg: #fcf5f7;
        --theme-surface: #fffafb;
        --theme-soft: #f5e5ec;
        --theme-text: #48303b;
        --theme-heading: #35202a;
        --theme-muted: #795363;
        --theme-border: #d9bdca;
        --theme-link: #9b3f64;
        --theme-danger-soft: #fef2f0;
        --theme-danger-text: #b02a20;
        --theme-warning-soft: #fdf6e8;
        --theme-warning-text: #795714;
        --theme-success-soft: #eef7f0;
        --theme-success-text: #27764e;
        --theme-purple-soft: #f3eff8;
        --theme-purple-text: #7c4dbd;
        --light-color: var(--theme-soft);
        --bs-body-bg: var(--theme-bg); --bs-body-color: var(--theme-text);
        --bs-border-color: var(--theme-border); --bs-secondary-color: var(--theme-muted);
        --bs-link-color: var(--theme-link); --bs-link-hover-color: var(--theme-link);
    }

    html[data-bs-theme="amethyst-night"] {
        color-scheme: dark;
        --theme-bg: #171221;
        --theme-surface: #261e35;
        --theme-soft: #342a45;
        --theme-text: #ede5f7;
        --theme-heading: #faf5ff;
        --theme-muted: #bcadce;
        --theme-border: #6e5e83;
        --theme-link: #cbb0ff;
        --theme-danger-soft: #3b2430;
        --theme-danger-text: #ffacb6;
        --theme-warning-soft: #3b3021;
        --theme-warning-text: #ffd18b;
        --theme-success-soft: #193a32;
        --theme-success-text: #8ee0bb;
        --theme-purple-soft: #302747;
        --theme-purple-text: #d0b9ff;
        --light-color: var(--theme-soft);
        --bs-body-bg: var(--theme-bg); --bs-body-color: var(--theme-text);
        --bs-border-color: var(--theme-border); --bs-secondary-color: var(--theme-muted);
        --bs-link-color: var(--theme-link); --bs-link-hover-color: var(--theme-link);
    }

    html[data-bs-theme="graphite"] {
        color-scheme: dark;
        --theme-bg: #151515;
        --theme-surface: #242424;
        --theme-soft: #323232;
        --theme-text: #eeeeee;
        --theme-heading: #ffffff;
        --theme-muted: #bcbcbc;
        --theme-border: #747474;
        --theme-link: #a9d7ff;
        --theme-danger-soft: #3b2430;
        --theme-danger-text: #ffacb6;
        --theme-warning-soft: #3b3021;
        --theme-warning-text: #ffd18b;
        --theme-success-soft: #193a32;
        --theme-success-text: #8ee0bb;
        --theme-purple-soft: #302747;
        --theme-purple-text: #d0b9ff;
        --light-color: var(--theme-soft);
        --bs-body-bg: var(--theme-bg); --bs-body-color: var(--theme-text);
        --bs-border-color: var(--theme-border); --bs-secondary-color: var(--theme-muted);
        --bs-link-color: var(--theme-link); --bs-link-hover-color: var(--theme-link);
    }

    html[data-bs-theme="high-contrast"] {
        color-scheme: dark;
        --theme-bg: #000000;
        --theme-surface: #000000;
        --theme-soft: #171717;
        --theme-text: #ffffff;
        --theme-heading: #ffffff;
        --theme-muted: #eeeeee;
        --theme-border: #ffffff;
        --theme-link: #ffff00;
        --theme-danger-soft: #300000;
        --theme-danger-text: #ffb3b3;
        --theme-warning-soft: #292000;
        --theme-warning-text: #ffff00;
        --theme-success-soft: #002b14;
        --theme-success-text: #82ffb0;
        --theme-purple-soft: #24002e;
        --theme-purple-text: #edb3ff;
        --light-color: var(--theme-soft);
        --bs-body-bg: var(--theme-bg); --bs-body-color: var(--theme-text);
        --bs-border-color: var(--theme-border); --bs-secondary-color: var(--theme-muted);
        --bs-link-color: var(--theme-link); --bs-link-hover-color: var(--theme-link);
    }

    /* Shared dark-family overrides */
    html[data-theme-mode="dark"] body { background-color: var(--theme-bg) !important; color: var(--theme-text); }
    html[data-theme-mode="dark"] :is(.header-profile-avatar, .org-users-page .org-user-avatar) { color: var(--theme-bg); }
    html[data-theme-mode="dark"] .theme-toggle { background: var(--theme-surface); border-color: var(--theme-border); color: var(--theme-text); }
    html[data-theme-mode="dark"] .login-logo { background: #eef3fa; padding: 10px; border-radius: 10px; }
    html[data-theme-mode="dark"] .workspace-toolbar { --toolbar-title: var(--theme-heading); }
    html[data-theme-mode="dark"] .toolbar-chip--neutral { --chip-color: var(--theme-text); }
    html[data-theme-mode="dark"] .toolbar-chip--info { --chip-color: var(--theme-link); }
    html[data-theme-mode="dark"] :is(.card, .modal-content, .offcanvas, .list-group-item, .dropdown-menu, .popover) {
        --bs-card-bg: var(--theme-surface); --bs-card-color: var(--theme-text); --bs-card-border-color: var(--theme-border);
        --bs-modal-bg: var(--theme-surface); --bs-modal-color: var(--theme-text); --bs-modal-border-color: var(--theme-border);
        --bs-offcanvas-bg: var(--theme-surface); --bs-offcanvas-color: var(--theme-text);
        --bs-list-group-bg: var(--theme-surface); --bs-list-group-color: var(--theme-text); --bs-list-group-border-color: var(--theme-border);
        --bs-dropdown-bg: var(--theme-surface); --bs-dropdown-color: var(--theme-text); --bs-dropdown-link-color: var(--theme-text); --bs-dropdown-border-color: var(--theme-border);
        --bs-dropdown-link-hover-bg: var(--theme-soft); --bs-dropdown-link-hover-color: #fff; --bs-dropdown-divider-bg: var(--theme-border);
        --bs-popover-bg: var(--theme-surface); --bs-popover-body-color: var(--theme-text); --bs-popover-header-bg: var(--theme-soft); --bs-popover-header-color: var(--theme-heading); --bs-popover-border-color: var(--theme-border);
    }
    html[data-theme-mode="dark"] :is(.bg-white, .bg-light, .text-bg-light) { background-color: var(--theme-surface) !important; }
    html[data-theme-mode="dark"] .text-bg-light { color: var(--theme-text) !important; }
    html[data-theme-mode="dark"] :is(.text-dark, .text-body, .text-black):not(.bg-warning):not(.bg-info) { color: var(--theme-text) !important; }
    html[data-theme-mode="dark"] :is(.text-muted, .text-secondary, .form-text, .dropdown-header) { color: var(--theme-muted) !important; }
    html[data-theme-mode="dark"] :is(.text-primary, a:not([class])) { color: var(--theme-link) !important; }
    html[data-theme-mode="dark"] code { color: #f4add3; }
    html[data-theme-mode="dark"] :is(.text-danger, .invalid-feedback) { color: var(--theme-danger-text) !important; }
    html[data-theme-mode="dark"] .text-success { color: var(--theme-success-text) !important; }
    html[data-theme-mode="dark"] .alert-danger { --bs-alert-bg: var(--theme-danger-soft); --bs-alert-color: var(--theme-danger-text); --bs-alert-border-color: #814052; }
    html[data-theme-mode="dark"] .alert-warning { --bs-alert-bg: var(--theme-warning-soft); --bs-alert-color: var(--theme-warning-text); --bs-alert-border-color: #80603a; }
    html[data-theme-mode="dark"] .alert-success { --bs-alert-bg: var(--theme-success-soft); --bs-alert-color: var(--theme-success-text); --bs-alert-border-color: #36745f; }
    html[data-theme-mode="dark"] :is(.alert-info, .alert-primary, .alert-secondary) { --bs-alert-bg: var(--theme-soft); --bs-alert-color: var(--theme-text); --bs-alert-border-color: var(--theme-border); }
    html[data-theme-mode="dark"] :is(.form-control, .form-select, .input-group-text, .form-check-input, .page-link) { background-color: var(--theme-surface); border-color: var(--theme-border); color: var(--theme-text); }
    html[data-theme-mode="dark"] :is(.form-control, .form-select):focus { background-color: var(--theme-surface); border-color: var(--theme-link); color: var(--theme-text); box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--theme-link) 20%, transparent); }
    html[data-theme-mode="dark"] :is(input, textarea)::placeholder { color: var(--theme-muted); opacity: 1; }
    html[data-theme-mode="dark"] :is(.form-control, .form-select):is(:disabled, [readonly]),
    html[data-theme-mode="dark"] .input-group-text { background-color: var(--theme-soft); color: var(--theme-muted); }
    html[data-theme-mode="dark"] .form-control::file-selector-button { background-color: var(--theme-soft); color: var(--theme-text); }
    html[data-theme-mode="dark"] .form-check-input:checked { background-color: var(--theme-link); border-color: var(--theme-link); }
    html[data-theme-mode="dark"] .btn-close { filter: invert(1) grayscale(100%) brightness(180%); }
    html[data-theme-mode="dark"] .btn-outline-dark { --bs-btn-color: var(--theme-text); --bs-btn-border-color: var(--theme-muted); --bs-btn-hover-bg: var(--theme-soft); --bs-btn-hover-color: #fff; }
    html[data-theme-mode="dark"] .btn-outline-primary { --bs-btn-color: var(--theme-link); --bs-btn-border-color: var(--theme-link); }
    html[data-theme-mode="dark"] .btn-outline-danger { --bs-btn-color: var(--theme-danger-text); --bs-btn-border-color: #b86979; }
    html[data-theme-mode="dark"] .btn-outline-success { --bs-btn-color: var(--theme-success-text); --bs-btn-border-color: #36745f; }
    html[data-theme-mode="dark"] .btn-outline-secondary { --bs-btn-color: var(--theme-muted); --bs-btn-border-color: var(--theme-muted); }
    html[data-theme-mode="dark"] .accordion { --bs-accordion-bg: var(--theme-surface); --bs-accordion-color: var(--theme-text); --bs-accordion-border-color: var(--theme-border); --bs-accordion-btn-bg: var(--theme-surface); --bs-accordion-btn-color: var(--theme-text); --bs-accordion-active-bg: var(--theme-soft); --bs-accordion-active-color: var(--theme-link); }
    html[data-theme-mode="dark"] .breadcrumb { --bs-breadcrumb-divider-color: var(--theme-muted); --bs-breadcrumb-item-active-color: var(--theme-muted); }
    html[data-theme-mode="dark"] .btn-light { --bs-btn-bg: var(--theme-soft); --bs-btn-color: var(--theme-text); --bs-btn-border-color: var(--theme-border); --bs-btn-hover-bg: var(--theme-border); --bs-btn-hover-color: #fff; }
    html[data-theme-mode="dark"] .nav-tabs { --bs-nav-tabs-border-color: var(--theme-border); --bs-nav-tabs-link-active-bg: var(--theme-surface); --bs-nav-tabs-link-active-color: var(--theme-text); --bs-nav-tabs-link-active-border-color: var(--theme-border); }
    html[data-theme-mode="dark"] .table { --bs-table-color: var(--theme-text); --bs-table-bg: transparent; --bs-table-border-color: var(--theme-border); --bs-table-striped-bg: #ffffff06; --bs-table-striped-color: var(--theme-text); --bs-table-hover-bg: #ffffff0c; --bs-table-hover-color: var(--theme-text); --bs-table-active-bg: #ffffff15; --bs-table-active-color: var(--theme-text); color: var(--theme-text); }
    html[data-theme-mode="dark"] .table-light { --bs-table-bg: var(--theme-soft); --bs-table-color: var(--theme-text); --bs-table-border-color: var(--theme-border); }
    html[data-theme-mode="dark"] :is(.select2-selection, .select2-dropdown, .select2-search__field, .select2-selection__choice) { background-color: var(--theme-surface) !important; color: var(--theme-text) !important; border-color: var(--theme-border) !important; }
    html[data-theme-mode="dark"] :is(.select2-selection__rendered, .select2-selection__choice__remove) { color: var(--theme-text) !important; }
    html[data-theme-mode="dark"] .select2-results__option[aria-selected="true"] { background-color: var(--theme-soft); }
    html[data-theme-mode="dark"] .select2-results__option--highlighted[aria-selected] { background-color: var(--theme-link); color: var(--theme-bg); }
    html[data-theme-mode="dark"] .dataTables_wrapper :is(.dataTables_length, .dataTables_filter, .dataTables_info, .dataTables_paginate) { color: var(--theme-text); }
    html[data-theme-mode="dark"] .dataTables_wrapper :is(select, input) { color: var(--theme-text); background: var(--theme-surface); border-color: var(--theme-border); }
    html[data-theme-mode="dark"] table.dataTable tbody tr { background-color: var(--theme-surface); }
    html[data-theme-mode="dark"] table.dataTable :is(th, td) { border-color: var(--theme-border); }
    html[data-theme-mode="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button { color: var(--theme-text) !important; }
    html[data-theme-mode="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button.current { background: var(--theme-soft); border-color: var(--theme-border); }
    html[data-theme-mode="dark"] :is(.swal2-popup, .swal2-html-container, .swal2-title, .swal2-footer) { background-color: var(--theme-surface); color: var(--theme-text); }
    html[data-theme-mode="dark"] :is(.swal2-input, .swal2-textarea, .swal2-select) { color: var(--theme-text); background-color: var(--theme-soft); border-color: var(--theme-border); }
    html[data-theme-mode="dark"] :is(.ui-widget-content, .ui-widget-header, .ui-state-default) { background: var(--theme-surface); color: var(--theme-text); border-color: var(--theme-border); }
    html[data-theme-mode="dark"] :is(trix-toolbar, trix-editor, .ck.ck-editor__main > .ck-editor__editable, .ck.ck-toolbar) { background: var(--theme-surface); color: var(--theme-text); border-color: var(--theme-border); }
    html[data-theme-mode="dark"] .ck { --ck-color-base-background: var(--theme-surface); --ck-color-base-foreground: var(--theme-soft); --ck-color-text: var(--theme-text); --ck-color-base-border: var(--theme-border); --ck-color-toolbar-background: var(--theme-soft); --ck-color-button-default-hover-background: var(--theme-border); --ck-color-button-on-background: var(--theme-link); --ck-color-button-on-color: #fff; --ck-color-input-background: var(--theme-surface); --ck-color-input-text: var(--theme-text); --ck-color-list-background: var(--theme-surface); }
    html[data-theme-mode="dark"] trix-toolbar .trix-button { filter: invert(.85); }
    html[data-theme-mode="dark"] * { scrollbar-color: var(--theme-muted) var(--theme-bg) !important; }
    html[data-theme-mode] body { background-color: var(--theme-bg, #f4f7fb); color: var(--theme-text, #243447); }
    html[data-theme-mode="dark"] {
        --bs-emphasis-color: var(--theme-heading); --bs-emphasis-color-rgb: 255, 255, 255;
        --bs-secondary-bg: var(--theme-soft); --bs-tertiary-bg: var(--theme-bg);
        --bs-tertiary-color: var(--theme-muted); --bs-heading-color: var(--theme-heading);
        --bs-code-color: var(--theme-purple-text);
    }
    html[data-theme-mode="dark"] .form-check-input:checked { background-color: #075985; border-color: var(--theme-link); }
    html[data-bs-theme="high-contrast"] :focus-visible { outline: 3px solid #00ffff !important; outline-offset: 3px; }
    html[data-bs-theme="high-contrast"] :is(.btn-primary, .theme-notice__dismiss) { background: #ffff00; border-color: #ffff00; color: #000; }
    html[data-bs-theme="high-contrast"] .form-check-input:checked { background-color: #075985; border-color: #fff; }
    html[data-bs-theme="high-contrast"] :is(.theme-picker, .theme-notice, .card, .modal-content, .dropdown-menu) { border-color: #fff; box-shadow: none; }

    html[data-theme-mode] :is(.text-muted, .text-secondary, .form-text) { color: var(--theme-muted, #52647a) !important; }

    html[data-theme-mode="dark"] .form-select { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23eeeeee' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); }
    html[data-theme-mode="dark"] .select2-container--default .select2-selection--single .select2-selection__arrow b { border-top-color: var(--theme-muted); }
    html[data-theme-mode="dark"] .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { border-top-color: transparent; border-bottom-color: var(--theme-muted); }
    html[data-theme-mode="dark"] .page-item.disabled .page-link { background: var(--theme-soft); color: var(--theme-muted); border-color: var(--theme-border); }
    html[data-theme-mode="dark"] .page-item.active .page-link { background: var(--theme-link); color: var(--theme-bg); border-color: var(--theme-link); }

}

/* Compact account sign-out confirmation. */
.swal2-popup.logout-dialog { box-sizing: border-box; max-width: calc(100vw - 24px); border: 1px solid var(--theme-border, #cfdae6); border-radius: 6px; background: var(--theme-surface, #fff); color: var(--theme-text, #243447); box-shadow: 0 12px 32px #0003; font: 12px/1.4 system-ui, sans-serif; }
.logout-dialog .logout-dialog__title { display: flex !important; align-items: center; gap: 9px; margin: 0; padding: 0 24px 0 0; color: var(--theme-heading, #18334d); font: 650 15px/1.3 system-ui, sans-serif; text-align: left; }
.logout-dialog__heading-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 28px; width: 28px; height: 28px; border-radius: 4px; background: var(--theme-soft, #edf3f9); color: var(--theme-link, #075985); font-size: 13px; }
.logout-dialog .logout-dialog__description { margin: 10px 0 0; padding: 0; color: var(--theme-muted, #52647a); font: 400 12px/1.5 system-ui, sans-serif; text-align: left; }
.logout-dialog .logout-dialog__actions { justify-content: flex-end; gap: 6px; width: 100%; margin: 16px 0 0; padding: 12px 0 0; border-top: 1px solid var(--theme-border, #e2e8f0); }
.logout-dialog__confirm, .logout-dialog__cancel { min-height: 32px; margin: 0; padding: 6px 11px; border: 1px solid transparent; border-radius: 4px; font: 600 12px/1.2 system-ui, sans-serif; cursor: pointer; }
.logout-dialog__confirm { background: #075985; border-color: #075985; color: #fff; }
.logout-dialog__confirm:hover { background: #064a6e; border-color: #064a6e; }
.logout-dialog__cancel { background: transparent; border-color: var(--theme-border, #cfdae6); color: var(--theme-text, #243447); }
.logout-dialog__cancel:hover { background: var(--theme-soft, #edf3f9); }
.logout-dialog .logout-dialog__close { position: absolute; top: 9px; right: 9px; width: 26px; height: 26px; padding: 0; border-radius: 4px; color: var(--theme-muted, #52647a); font-size: 22px; }
.logout-dialog .logout-dialog__close:hover { background: var(--theme-soft, #edf3f9); color: var(--theme-text, #243447); }
.logout-dialog :is(button:focus-visible, .logout-dialog__close:focus) { outline: 2px solid var(--theme-link, #075985); outline-offset: 2px; box-shadow: none; }
@media screen {
    html[data-bs-theme="high-contrast"] .logout-dialog__confirm { background: #ffff00; border-color: #ffff00; color: #000; }
    html[data-bs-theme="high-contrast"] .logout-dialog__confirm:hover { background: #fff; border-color: #fff; }
}
@media (max-width: 575.98px) { .logout-dialog__confirm, .logout-dialog__cancel { min-height: 40px; } }
