/**
 * SMP theme layer: smooth light ↔ dark transitions and consistent surfaces.
 * Toggle: html[data-bs-theme="dark"] (see smpSetDarkTheme in script.js).
 * Loaded after Bootstrap + feature CSS so these rules win.
 */

:root {
    --smp-theme-ease: 0.24s ease;
}

/* Smooth color/border transitions when toggling theme (logged-in shell only). */
body.smp-logged-in-shell,
body.smp-logged-in-shell #loggedInContainer,
body.smp-logged-in-shell #loggedInContainer > .container,
body.smp-logged-in-shell .container-header,
body.smp-logged-in-shell #taskbar.container-header,
body.smp-logged-in-shell #footer-container,
body.smp-logged-in-shell .footer-container,
body.smp-logged-in-shell .module-footer,
body.smp-logged-in-shell .menu-container,
body.smp-logged-in-shell .module-menu,
body.smp-logged-in-shell .module-body,
body.smp-logged-in-shell .submodule-body,
body.smp-logged-in-shell .ai-chat-sidebar-container,
body.smp-logged-in-shell .ai-chat-sidebar-inner,
body.smp-logged-in-shell .lists,
body.smp-logged-in-shell .dropdown-content,
body.smp-logged-in-shell .smp-list-pager-host,
body.smp-logged-in-shell .smp-module-filter-header,
body.smp-logged-in-shell .smp-list-context-menu,
body.smp-logged-in-shell .smp-list-context-menu__flyout,
body.smp-logged-in-shell .card,
body.smp-logged-in-shell .modal-content,
body.smp-logged-in-shell .form-control,
body.smp-logged-in-shell .form-select,
body.smp-logged-in-shell .table {
    transition:
        background-color var(--smp-theme-ease),
        color var(--smp-theme-ease),
        border-color var(--smp-theme-ease),
        box-shadow var(--smp-theme-ease);
}

html[data-bs-theme="dark"] {
    color-scheme: dark;
}

/* ——— Login ——— */
html[data-bs-theme="dark"] .smp-login-bg {
    background-color: #212529 !important;
}
html[data-bs-theme="dark"] .smp-login-bg .card {
    background-color: var(--bs-secondary-bg, #2b3035);
    color: var(--bs-body-color, #e9ecef);
}

/* ——— Profile spinner ——— */
html[data-bs-theme="dark"] .smp-profile-section-ovie-loading {
    border-color: rgba(255, 255, 255, 0.2);
    border-top-color: #6ea8fe;
}

/* ——— Logged-in chrome (align with Bootstrap dark tokens) ——— */
html[data-bs-theme="dark"] body.smp-logged-in-shell {
    background-color: var(--bs-body-bg, #212529);
    color: var(--bs-body-color, #dee2e6);
}
html[data-bs-theme="dark"] #loggedInContainer > .container {
    background-color: var(--bs-body-bg, #212529);
}
html[data-bs-theme="dark"] .container-header,
html[data-bs-theme="dark"] #taskbar.container-header {
    background-color: var(--bs-secondary-bg, #2b3035);
    border-color: var(--bs-border-color, #495057);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.35);
}
html[data-bs-theme="dark"] #footer-container,
html[data-bs-theme="dark"] .footer-container,
html[data-bs-theme="dark"] .module-footer {
    background-color: var(--bs-secondary-bg, #2b3035);
    border-color: var(--bs-border-color, #495057);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.35);
}
html[data-bs-theme="dark"] .menu-container,
html[data-bs-theme="dark"] .module-menu,
html[data-bs-theme="dark"] .module-body,
html[data-bs-theme="dark"] .submodule-body,
html[data-bs-theme="dark"] .ai-chat-sidebar-container,
html[data-bs-theme="dark"] .ai-chat-sidebar-inner {
    background-color: var(--bs-body-bg, #212529);
    border-color: var(--bs-border-color, #495057);
    color: var(--bs-body-color, #dee2e6);
}
html[data-bs-theme="dark"] .lists {
    border-color: var(--bs-border-color, #495057);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.28);
}
html[data-bs-theme="dark"] .selected-row {
    background-color: rgba(13, 110, 253, 0.22);
}
html[data-bs-theme="dark"] .dropdown-content {
    background-color: var(--bs-secondary-bg, #2b3035);
    border-color: var(--bs-border-color, #495057);
    color: var(--bs-body-color, #dee2e6);
}
html[data-bs-theme="dark"] .dropdown-content > div:hover,
html[data-bs-theme="dark"] .dropdown-content .app-menu-row:hover {
    background-color: var(--bs-tertiary-bg, #343a40);
}
html[data-bs-theme="dark"] .dropdown-content .app-menu-row .app-menu-shortcut {
    color: var(--bs-secondary-color, #adb5bd);
}

/* ——— List pager + filter header ——— */
html[data-bs-theme="dark"] .smp-list-pager-host {
    background: var(--bs-body-bg, #212529);
    border-top: 1px solid var(--bs-border-color, #495057);
    box-shadow: 0 -4px 14px rgba(0, 0, 0, 0.35);
}
html[data-bs-theme="dark"] .smp-module-filter-header {
    background: var(--bs-body-bg, #212529);
    border-bottom: 1px solid var(--bs-border-color, #495057);
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25);
}

/* ——— Row context menus ——— */
html[data-bs-theme="dark"] .smp-list-context-menu {
    background: var(--bs-secondary-bg, #2b3035);
    border-color: var(--bs-border-color, #495057);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.45);
}
html[data-bs-theme="dark"] .smp-list-context-menu__item:hover {
    background: rgba(13, 110, 253, 0.2);
}
html[data-bs-theme="dark"] .smp-list-context-menu__divider {
    background: rgba(255, 255, 255, 0.12);
}
html[data-bs-theme="dark"] .smp-list-context-menu__flyout {
    background: var(--bs-secondary-bg, #2b3035);
    border-color: var(--bs-border-color, #495057);
    box-shadow: 4px 4px 20px rgba(0, 0, 0, 0.4);
}

/* ——— Data tables (list / results) ——— */
/*
 * index.css sets `th, td { border-top: 1px solid #ccc }` globally — too bright in dark mode.
 * Match .form-control: same 1px weight, --bs-border-color (Bootstrap dark default #495057).
 */
html[data-bs-theme="dark"] body.smp-logged-in-shell th,
html[data-bs-theme="dark"] body.smp-logged-in-shell td {
    border-top-color: var(--bs-border-color, #495057);
}
html[data-bs-theme="dark"] body.smp-logged-in-shell .table-wrapper {
    border-color: var(--bs-border-color, #495057);
}
html[data-bs-theme="dark"] body.smp-logged-in-shell table.upload-table.table,
html[data-bs-theme="dark"] body.smp-logged-in-shell table.upload-table {
    --bs-table-border-color: var(--bs-border-color, #495057);
    border-color: var(--bs-border-color, #495057);
}
/* Avoid a light rim between browser chrome and the shell (html default / scroll bleed). */
html[data-bs-theme="dark"] {
    background-color: var(--bs-body-bg, #212529);
}

html[data-bs-theme="dark"] .resultsTable tbody tr:hover td:not(.sticky) {
    background-color: rgba(13, 110, 253, 0.2) !important;
}
html[data-bs-theme="dark"] .resultsTable tbody tr:nth-child(odd) td.sticky {
    background-color: var(--bs-body-bg, #212529);
}
html[data-bs-theme="dark"] .resultsTable tbody tr:nth-child(even) td.sticky {
    background-color: var(--bs-tertiary-bg, #343a40);
}
html[data-bs-theme="dark"] .resultsTable tbody tr:hover td.sticky {
    background-color: rgba(13, 110, 253, 0.22) !important;
}
html[data-bs-theme="dark"] .lists table tbody tr:nth-child(odd) td.sticky {
    background-color: var(--bs-body-bg, #212529);
}
html[data-bs-theme="dark"] .lists table tbody tr:nth-child(even) td.sticky {
    background-color: var(--bs-tertiary-bg, #343a40);
}
html[data-bs-theme="dark"] .lists table tbody tr:hover td:not(.sticky) {
    background-color: rgba(13, 110, 253, 0.2) !important;
}
html[data-bs-theme="dark"] .lists table tbody tr:hover td.sticky {
    background-color: rgba(13, 110, 253, 0.22) !important;
}
html[data-bs-theme="dark"] .lists table tbody tr:last-child td {
    border-bottom: 1px solid var(--bs-border-color, #495057);
}
html[data-bs-theme="dark"] .lists.smp-profile-lists .smp-profile-table-foot-bar {
    border-top-color: var(--bs-border-color, #495057);
    border-bottom-color: var(--bs-border-color, #495057);
    background-color: rgba(0, 0, 0, 0.2);
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.35);
}
html[data-bs-theme="dark"] .lists.smp-profile-lists table thead tr.smp-profile-col-controls-row th.smp-profile-col-ctl {
    background-color: var(--bs-tertiary-bg, #343a40);
    border-bottom-color: var(--bs-border-color, #495057);
}
html[data-bs-theme="dark"] .lists.smp-profile-lists table thead tr.smp-profile-col-controls-row th.sticky {
    background-color: var(--bs-tertiary-bg, #343a40);
}
html[data-bs-theme="dark"] .lists.smp-profile-lists .smp-profile-col-toggle-track,
html[data-bs-theme="dark"] .smp-main-list-foot-bar .smp-profile-col-toggle-track {
    background: #64748b;
    border-color: #94a3b8;
}
html[data-bs-theme="dark"]
    .lists.smp-profile-lists
    button.smp-profile-col-toggle-wrap[aria-checked="true"]
    .smp-profile-col-toggle-track,
html[data-bs-theme="dark"]
    .smp-main-list-foot-bar
    button.smp-profile-col-toggle-wrap[aria-checked="true"]
    .smp-profile-col-toggle-track {
    background: #2563eb;
    border-color: #1d4ed8;
}
html[data-bs-theme="dark"] .form-check.form-switch .form-check-input {
    --bs-form-switch-bg: #64748b;
    background-color: #64748b;
    border-color: #94a3b8;
}
html[data-bs-theme="dark"] .form-check.form-switch .form-check-input:focus {
    --bs-form-switch-bg: #64748b;
    border-color: #94a3b8;
}
html[data-bs-theme="dark"] .form-check.form-switch .form-check-input:checked {
    --bs-form-switch-bg: #2563eb;
    background-color: #2563eb;
    border-color: #1d4ed8;
}
html[data-bs-theme="dark"] .form-check.form-switch .form-check-input:checked:focus {
    --bs-form-switch-bg: #2563eb;
    border-color: #1d4ed8;
}
html[data-bs-theme="dark"] .lists.smp-profile-lists table thead tr.smp-profile-col-controls-row .smp-profile-col-nudge,
html[data-bs-theme="dark"] .lists.smp-profile-lists .smp-profile-pager-prev,
html[data-bs-theme="dark"] .lists.smp-profile-lists .smp-profile-pager-next,
html[data-bs-theme="dark"] .smp-main-list-foot-bar .smp-profile-pager-prev,
html[data-bs-theme="dark"] .smp-main-list-foot-bar .smp-profile-pager-next {
    border-color: var(--bs-primary, #0d6efd);
    background: var(--bs-body-bg, #212529);
    color: var(--bs-primary, #6ea8fe);
}
html[data-bs-theme="dark"] .lists.smp-profile-lists table thead tr.smp-profile-col-controls-row .smp-profile-col-nudge:hover:not(:disabled),
html[data-bs-theme="dark"] .lists.smp-profile-lists .smp-profile-pager-prev:hover:not(:disabled),
html[data-bs-theme="dark"] .lists.smp-profile-lists .smp-profile-pager-next:hover:not(:disabled),
html[data-bs-theme="dark"] .smp-main-list-foot-bar .smp-profile-pager-prev:hover:not(:disabled),
html[data-bs-theme="dark"] .smp-main-list-foot-bar .smp-profile-pager-next:hover:not(:disabled) {
    background: rgba(13, 110, 253, 0.15);
}
html[data-bs-theme="dark"] .smp-profile-pager-range {
    color: var(--bs-secondary-color, #adb5bd);
}
html[data-bs-theme="dark"] table tr:nth-child(even) td {
    background-color: rgba(255, 255, 255, 0.03);
}
html[data-bs-theme="dark"] tr.sticky,
html[data-bs-theme="dark"] th.sticky,
html[data-bs-theme="dark"] td.sticky {
    background: var(--bs-secondary-bg, #2b3035) !important;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.35);
}
html[data-bs-theme="dark"] .resultsTable thead th,
html[data-bs-theme="dark"] .lists table thead th {
    background: var(--bs-secondary-bg, #2b3035) !important;
    box-shadow: inset 0 2px 0 var(--bs-secondary-bg, #2b3035);
    color: var(--bs-body-color, #dee2e6);
}
/* List / profile sort: inactive single triangle = muted; active column = primary (see index.css). */
html[data-bs-theme="dark"] .smp-list-sortable:not(.smp-list-sort-active)::after {
    color: rgba(255, 255, 255, 0.42);
    opacity: 0.95;
}
html[data-bs-theme="dark"] .resultsTable thead th.smp-list-sort-active,
html[data-bs-theme="dark"] .lists table thead th.smp-list-sort-active {
    color: var(--bs-body-color, #dee2e6);
}
html[data-bs-theme="dark"] .smp-list-sort-active[data-sort-dir="asc"]::after,
html[data-bs-theme="dark"] .smp-list-sort-active[data-sort-dir="desc"]::after {
    color: var(--bs-primary, #6ea8fe);
}
html[data-bs-theme="dark"] th.sticky::after,
html[data-bs-theme="dark"] td.sticky::after {
    border-left-color: var(--bs-border-color, #495057);
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 100%);
}
html[data-bs-theme="dark"] th.sticky::before,
html[data-bs-theme="dark"] td.sticky::before {
    border-right-color: var(--bs-border-color, #495057);
    background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 100%);
}

/* ——— Inactive pill knob ——— */
html[data-bs-theme="dark"] .smp-inactive-pill__knob {
    background: #e9ecef;
}

/* ——— Bootstrap surfaces inside app ——— */
html[data-bs-theme="dark"] body.smp-logged-in-shell .card {
    background-color: var(--bs-secondary-bg, #2b3035);
    border-color: var(--bs-border-color, #495057);
    color: var(--bs-body-color, #dee2e6);
}
html[data-bs-theme="dark"] body.smp-logged-in-shell .card-header,
html[data-bs-theme="dark"] body.smp-logged-in-shell .card-footer {
    background-color: rgba(0, 0, 0, 0.15);
    border-color: var(--bs-border-color, #495057);
}
html[data-bs-theme="dark"] body.smp-logged-in-shell .modal-content {
    background-color: var(--bs-secondary-bg, #2b3035);
    border-color: var(--bs-border-color, #495057);
    color: var(--bs-body-color, #dee2e6);
}
html[data-bs-theme="dark"] body.smp-logged-in-shell .modal-header,
html[data-bs-theme="dark"] body.smp-logged-in-shell .modal-footer {
    border-color: var(--bs-border-color, #495057);
}
html[data-bs-theme="dark"] body.smp-logged-in-shell .form-control,
html[data-bs-theme="dark"] body.smp-logged-in-shell .form-select {
    background-color: var(--bs-body-bg, #212529);
    border-color: var(--bs-border-color, #495057);
    color: var(--bs-body-color, #dee2e6);
}
html[data-bs-theme="dark"] body.smp-logged-in-shell .form-control:focus,
html[data-bs-theme="dark"] body.smp-logged-in-shell .form-control:focus-visible,
html[data-bs-theme="dark"] body.smp-logged-in-shell .form-select:focus,
html[data-bs-theme="dark"] body.smp-logged-in-shell .form-select:focus-visible {
    background-color: var(--bs-body-bg, #212529);
    color: var(--bs-body-color, #dee2e6);
    border-color: var(--bs-primary, #0d6efd);
    box-shadow: none;
}
html[data-bs-theme="dark"] body.smp-logged-in-shell .table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--bs-body-color);
    --bs-table-border-color: var(--bs-border-color);
    color: var(--bs-body-color, #dee2e6);
}
html[data-bs-theme="dark"] body.smp-logged-in-shell .table > :not(caption) > * > * {
    background-color: transparent;
}
html[data-bs-theme="dark"] body.smp-logged-in-shell .text-dark {
    color: var(--bs-body-color) !important;
}
html[data-bs-theme="dark"] body.smp-logged-in-shell .text-muted {
    color: var(--bs-secondary-color) !important;
}
html[data-bs-theme="dark"] body.smp-logged-in-shell .bg-light {
    background-color: var(--bs-secondary-bg) !important;
}
html[data-bs-theme="dark"] body.smp-logged-in-shell .border,
html[data-bs-theme="dark"] body.smp-logged-in-shell .border-top,
html[data-bs-theme="dark"] body.smp-logged-in-shell .border-bottom {
    border-color: var(--bs-border-color) !important;
}
html[data-bs-theme="dark"] body.smp-logged-in-shell .list-group-item {
    background-color: var(--bs-body-bg, #212529);
    color: var(--bs-body-color, #dee2e6);
    border-color: var(--bs-border-color, #495057);
}
html[data-bs-theme="dark"] body.smp-logged-in-shell .nav-tabs .nav-link {
    color: var(--bs-secondary-color, #adb5bd);
}
html[data-bs-theme="dark"] body.smp-logged-in-shell .nav-tabs .nav-link.active {
    background-color: var(--bs-body-bg, #212529);
    color: var(--bs-body-color, #dee2e6);
    border-color: var(--bs-border-color, #495057);
}

/* ——— SumoSelect ——— */
html[data-bs-theme="dark"] .SumoSelect > .CaptionCont {
    background-color: var(--bs-body-bg, #212529) !important;
    border-color: var(--bs-border-color, #495057) !important;
    color: var(--bs-body-color, #dee2e6);
}
html[data-bs-theme="dark"] .SumoSelect > .optWrapper {
    background: var(--bs-secondary-bg, #2b3035);
    border-color: var(--bs-border-color, #495057);
    color: var(--bs-body-color, #dee2e6);
}
html[data-bs-theme="dark"] .SumoSelect .select-all > span i,
html[data-bs-theme="dark"] .SumoSelect > .optWrapper > .options li.opt {
    border-color: var(--bs-border-color, #6c757d);
}
html[data-bs-theme="dark"] .SumoSelect > .optWrapper > .options li.opt:hover {
    background-color: var(--bs-tertiary-bg, #343a40);
}

/* ——— Select2 (filters) ——— */
html[data-bs-theme="dark"] .select2-container--default .select2-selection--single,
html[data-bs-theme="dark"] .select2-container--default .select2-selection--multiple {
    background-color: var(--bs-body-bg, #212529);
    border-color: var(--bs-border-color, #495057);
}
html[data-bs-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--bs-body-color, #dee2e6);
}
html[data-bs-theme="dark"] .select2-dropdown {
    background-color: var(--bs-secondary-bg, #2b3035);
    border-color: var(--bs-border-color, #495057);
}
html[data-bs-theme="dark"] .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #0d6efd;
}
html[data-bs-theme="dark"] .select2-container--default .select2-results__option {
    color: var(--bs-body-color, #dee2e6);
}

/* ——— Preferences hub ——— */
html[data-bs-theme="dark"] .preferences-primary,
html[data-bs-theme="dark"] .preferences-primary__body--users .preferences-section.preferences-section--perm-admin,
html[data-bs-theme="dark"] .preferences-section {
    background: var(--bs-secondary-bg, #2b3035);
    border-color: var(--bs-border-color, #495057);
    color: var(--bs-body-color, #dee2e6);
}
html[data-bs-theme="dark"] .preferences-primary__title,
html[data-bs-theme="dark"] .preferences-section h3 {
    color: var(--bs-body-color, #e9ecef);
}
html[data-bs-theme="dark"] .preferences-primary__header {
    border-bottom-color: var(--bs-border-color, #495057);
}
html[data-bs-theme="dark"] .pref-col-row {
    background: var(--bs-body-bg, #212529);
    border-color: var(--bs-border-color, #495057);
}
html[data-bs-theme="dark"] .pref-col-drag-handle {
    border-bottom-color: var(--bs-border-color, #495057);
}
html[data-bs-theme="dark"] .settings-lookup-nav button {
    background: var(--bs-body-bg, #212529);
    border-color: var(--bs-border-color, #495057);
    color: var(--bs-body-color, #dee2e6);
}
html[data-bs-theme="dark"] .settings-lookup-nav button:hover {
    background: var(--bs-tertiary-bg, #343a40);
}
html[data-bs-theme="dark"] .settings-lookup-nav button.settings-lookup-nav--active {
    background: rgba(194, 24, 91, 0.22);
    border-color: #f48fb1;
    color: #fce4ec;
}
html[data-bs-theme="dark"] .settings-lookup-table-scroll {
    background: var(--bs-body-bg, #212529);
    border-color: var(--bs-border-color, #495057);
}
html[data-bs-theme="dark"] .settings-lookup-table-scroll table thead th {
    background: var(--bs-secondary-bg, #2b3035);
    box-shadow: inset 0 -1px 0 var(--bs-border-color, #495057);
}
html[data-bs-theme="dark"] .pref-list-columns-wrap,
html[data-bs-theme="dark"] .pref-list-columns-controls {
    border-color: var(--bs-border-color, #495057);
}

/* ——— SOP lab (static page) ——— */
html[data-bs-theme="dark"] .sop-lab-sub {
    color: var(--bs-secondary-color, #adb5bd);
}
html[data-bs-theme="dark"] .sop-lab-card {
    background: var(--bs-secondary-bg, #2b3035);
    border-color: var(--bs-border-color, #495057);
    color: var(--bs-body-color, #dee2e6);
}
html[data-bs-theme="dark"] .sop-btn {
    background: var(--bs-body-bg, #212529);
    border-color: var(--bs-border-color, #495057);
    color: var(--bs-body-color, #dee2e6);
}
html[data-bs-theme="dark"] .sop-status {
    color: var(--bs-body-color, #dee2e6);
}
html[data-bs-theme="dark"] .sop-json {
    background: var(--bs-body-bg, #212529);
    border-color: var(--bs-border-color, #495057);
    color: #c5d4e0;
}

/* ——— AI / Ovie (from ai-ui.css) ——— */
html[data-bs-theme="dark"] #ai-app-chat-log {
    background: var(--bs-secondary-bg, #2b3035);
    border-color: var(--bs-border-color, #495057);
    color: var(--bs-body-color, #dee2e6);
}
html[data-bs-theme="dark"] .ai-app-chat-thinking-line {
    color: #ffecb3;
    border-top-color: rgba(255, 193, 7, 0.35);
}
html[data-bs-theme="dark"] .ai-app-chat-line--user .ai-app-chat-line__head {
    color: #9ec5fe;
}

/* Ovie replies: readable off-white body + orange speaker label (sidebar + main chat log) */
html[data-bs-theme="dark"] .ai-app-chat-line--ovie .ai-app-chat-line__head {
    color: #fd7e14;
}
html[data-bs-theme="dark"] .ai-app-chat-line--ovie {
    color: #e8e4df;
}
html[data-bs-theme="dark"] .ai-app-chat-line--ovie .ai-app-chat-line__body--rich,
html[data-bs-theme="dark"] .ai-app-chat-line--ovie .ai-app-chat-line__body--plain {
    color: #e8e4df;
}
html[data-bs-theme="dark"] .ai-app-chat-line--ovie .ai-app-chat-line__body--rich .ai-app-chat-md__p,
html[data-bs-theme="dark"] .ai-app-chat-line--ovie .ai-app-chat-line__body--rich .ai-app-chat-md__ul,
html[data-bs-theme="dark"] .ai-app-chat-line--ovie .ai-app-chat-line__body--rich .ai-app-chat-md__ol,
html[data-bs-theme="dark"] .ai-app-chat-line--ovie .ai-app-chat-line__body--rich .ai-app-chat-md__ul li,
html[data-bs-theme="dark"] .ai-app-chat-line--ovie .ai-app-chat-line__body--rich .ai-app-chat-md__ol li {
    color: #e8e4df;
}
html[data-bs-theme="dark"] .ai-app-chat-line--ovie .ai-app-chat-line__body--rich .ai-app-chat-md__h {
    color: #f0ebe3;
}
html[data-bs-theme="dark"] .ai-app-chat-line--ovie .ai-app-chat-line__body--rich .ai-app-chat-md__code {
    background: rgba(255, 255, 255, 0.1);
    color: #ffe8cc;
}

html[data-bs-theme="dark"] #ai-chat-sidebar-filters .ai-app-chat-input.form-control {
    border-color: var(--bs-border-color, #495057);
    background-color: var(--bs-body-bg, #212529);
    color: var(--bs-body-color, #dee2e6);
}
html[data-bs-theme="dark"] .ai-chat-sidebar-inner .text-muted,
html[data-bs-theme="dark"] #smp-ai-studio-root .text-muted {
    color: var(--bs-secondary-color, #adb5bd) !important;
}
/* AI Studio canvas: ai-ui fixes light-theme body/heading colors; panel is dark in theme — restore contrast */
html[data-bs-theme="dark"] #smp-ai-studio-root .smp-ai-studio-html {
    color: var(--bs-body-color, #dee2e6);
}
html[data-bs-theme="dark"] #smp-ai-studio-root .smp-ai-studio-md {
    color: var(--bs-body-color, #dee2e6);
}
html[data-bs-theme="dark"] #smp-ai-studio-root .smp-ai-studio-md h1,
html[data-bs-theme="dark"] #smp-ai-studio-root .smp-ai-studio-md h2,
html[data-bs-theme="dark"] #smp-ai-studio-root .smp-ai-studio-md h3,
html[data-bs-theme="dark"] #smp-ai-studio-root .smp-ai-studio-md h4,
html[data-bs-theme="dark"] #smp-ai-studio-root .smp-ai-studio-md h5,
html[data-bs-theme="dark"] #smp-ai-studio-root .smp-ai-studio-md h6 {
    color: #9ec5fe;
}
html[data-bs-theme="dark"] #smp-ai-studio-root .smp-ai-studio-md a {
    color: #6ea8fe;
}
html[data-bs-theme="dark"] #smp-ai-studio-root .smp-ai-studio-md table {
    background: var(--bs-secondary-bg, #2b3035);
    border-color: var(--bs-border-color, #495057);
    color: var(--bs-body-color, #dee2e6);
}
html[data-bs-theme="dark"] #smp-ai-studio-root .smp-ai-studio-md th,
html[data-bs-theme="dark"] #smp-ai-studio-root .smp-ai-studio-md td {
    border-color: var(--bs-border-color, #495057);
}
html[data-bs-theme="dark"] #smp-ai-studio-root .smp-ai-studio-md th {
    background: var(--bs-tertiary-bg, #343a40);
}
html[data-bs-theme="dark"] #smp-ai-studio-root .smp-ai-studio-md blockquote {
    background: rgba(13, 110, 253, 0.12);
    color: var(--bs-body-color, #dee2e6);
}
html[data-bs-theme="dark"] #smp-ai-studio-root .smp-ai-studio-md pre {
    background: #1a1d21;
    color: var(--bs-body-color, #dee2e6);
}
html[data-bs-theme="dark"] #smp-ai-studio-root .smp-ai-studio-md code {
    background: rgba(255, 255, 255, 0.08);
}
html[data-bs-theme="dark"] .smp-ai-ovie-log-ctx {
    background: var(--bs-secondary-bg, #2b3035);
    color: var(--bs-body-color, #dee2e6);
    border: 1px solid var(--bs-border-color, #495057);
}
html[data-bs-theme="dark"] .ovie-rank-badge--rest {
    background: var(--bs-tertiary-bg, #343a40);
    color: var(--bs-body-color, #dee2e6);
}
html[data-bs-theme="dark"] .ovie-dash-tab,
html[data-bs-theme="dark"] .ovie-dash-period {
    color: var(--bs-secondary-color, #adb5bd);
}
html[data-bs-theme="dark"] .ovie-dash-tab--active,
html[data-bs-theme="dark"] .ovie-dash-period--active {
    color: #9ec5fe;
    border-bottom-color: #9ec5fe;
}

/* ——— Forms: match select/Sumo borders to text inputs; sharp primary focus (no bulky glow) ——— */
body.smp-logged-in-shell .form-control:focus,
body.smp-logged-in-shell .form-control:focus-visible,
body.smp-logged-in-shell .form-select:focus,
body.smp-logged-in-shell .form-select:focus-visible {
    border-color: var(--bs-primary, #0d6efd);
    outline: none;
    box-shadow: none;
}

/* SumoSelect loads after index.css — re-align border with Bootstrap inputs and fix focus ring */
body.smp-logged-in-shell .SumoSelect > .CaptionCont {
    border-color: var(--bs-border-color, #ced4da) !important;
    box-shadow: none !important;
}
body.smp-logged-in-shell .SumoSelect:hover > .CaptionCont {
    border-color: var(--bs-border-color, #ced4da) !important;
    box-shadow: none !important;
}
body.smp-logged-in-shell .SumoSelect:focus > .CaptionCont,
body.smp-logged-in-shell .SumoSelect:focus-within > .CaptionCont,
body.smp-logged-in-shell .SumoSelect.open > .CaptionCont {
    border-color: var(--bs-primary, #0d6efd) !important;
    box-shadow: none !important;
}

/* Dropdown chevron in Sumo caption (default sprite is 16×16; 2× hit area) */
body.smp-logged-in-shell .SumoSelect > .CaptionCont > label > i {
    width: 2rem;
    height: 2rem;
}

html[data-bs-theme="dark"] body.smp-logged-in-shell .SumoSelect > .CaptionCont {
    border-color: var(--bs-border-color, #495057) !important;
}
html[data-bs-theme="dark"] body.smp-logged-in-shell .SumoSelect:hover > .CaptionCont {
    border-color: var(--bs-border-color, #495057) !important;
}
html[data-bs-theme="dark"] body.smp-logged-in-shell .SumoSelect:focus > .CaptionCont,
html[data-bs-theme="dark"] body.smp-logged-in-shell .SumoSelect:focus-within > .CaptionCont,
html[data-bs-theme="dark"] body.smp-logged-in-shell .SumoSelect.open > .CaptionCont {
    border-color: var(--bs-primary, #0d6efd) !important;
}

/* Select2 (searchable-select): default theme uses #aaa — match .form-control #ced4da */
body.smp-logged-in-shell .select2-container--default .select2-selection--single,
body.smp-logged-in-shell .select2-container--default .select2-selection--multiple {
    border-color: var(--bs-border-color, #ced4da) !important;
}
body.smp-logged-in-shell .select2-container--default.select2-container--focus .select2-selection--single,
body.smp-logged-in-shell .select2-container--default.select2-container--open .select2-selection--single,
body.smp-logged-in-shell .select2-container--default.select2-container--focus .select2-selection--multiple,
body.smp-logged-in-shell .select2-container--default.select2-container--open .select2-selection--multiple {
    border-color: var(--bs-primary, #0d6efd) !important;
    border-style: solid !important;
    border-width: 1px !important;
    box-shadow: none !important;
}
body.smp-logged-in-shell .select2-dropdown {
    border-color: var(--bs-border-color, #ced4da) !important;
}

/* Dropdown search: avoid “double border” (field border + browser/Select2 focus ring) */
body.smp-logged-in-shell .select2-container--default .select2-search--dropdown .select2-search__field {
    border-color: var(--bs-border-color, #ced4da) !important;
}
body.smp-logged-in-shell .select2-container--default .select2-search--dropdown .select2-search__field:focus,
body.smp-logged-in-shell .select2-container--default .select2-search--dropdown .select2-search__field:focus-visible {
    border-color: var(--bs-border-color, #ced4da) !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Sumo dropdown filter search: single neutral edge (no stacked blue ring) */
body.smp-logged-in-shell .SumoSelect.open .search-txt {
    border: 1px solid var(--bs-border-color, #ced4da) !important;
    box-sizing: border-box !important;
}
body.smp-logged-in-shell .SumoSelect.open .search-txt:focus,
body.smp-logged-in-shell .SumoSelect.open .search-txt:focus-visible {
    border-color: var(--bs-border-color, #ced4da) !important;
    outline: none !important;
    box-shadow: none !important;
}

html[data-bs-theme="dark"] body.smp-logged-in-shell .select2-container--default .select2-selection--single,
html[data-bs-theme="dark"] body.smp-logged-in-shell .select2-container--default .select2-selection--multiple {
    border-color: var(--bs-border-color, #495057) !important;
}
html[data-bs-theme="dark"] body.smp-logged-in-shell .select2-dropdown {
    border-color: var(--bs-border-color, #495057) !important;
}
html[data-bs-theme="dark"] body.smp-logged-in-shell .select2-container--default .select2-search--dropdown .select2-search__field,
html[data-bs-theme="dark"] body.smp-logged-in-shell .select2-container--default .select2-search--dropdown .select2-search__field:focus,
html[data-bs-theme="dark"] body.smp-logged-in-shell .select2-container--default .select2-search--dropdown .select2-search__field:focus-visible {
    border-color: var(--bs-border-color, #495057) !important;
    outline: none !important;
    box-shadow: none !important;
}
html[data-bs-theme="dark"] body.smp-logged-in-shell .SumoSelect.open .search-txt,
html[data-bs-theme="dark"] body.smp-logged-in-shell .SumoSelect.open .search-txt:focus,
html[data-bs-theme="dark"] body.smp-logged-in-shell .SumoSelect.open .search-txt:focus-visible {
    border-color: var(--bs-border-color, #495057) !important;
    outline: none !important;
    box-shadow: none !important;
}
