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

/* Shared Bootstrap surfaces. Individual shells provide the matching tokens. */
[data-theme="light"] body {
    color: var(--text-primary, var(--ink, var(--auth-text, #0f172a)));
}

/* Bootstrap components need explicit tenant tokens in dark mode. */
[data-theme="dark"] .card,
[data-theme="dark"] .modal-content,
[data-theme="dark"] .offcanvas,
[data-theme="dark"] .dropdown-menu,
[data-theme="dark"] .list-group-item,
[data-theme="dark"] .accordion-item {
    background-color: var(--bg-card, #20263a);
    color: var(--text-primary, #f1f5f9);
    border-color: var(--border, rgba(148,163,184,.22));
}
[data-theme="dark"] .card-header,
[data-theme="dark"] .card-footer,
[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-footer,
[data-theme="dark"] .accordion-button {
    background-color: var(--surface-subtle, var(--bg-card-hover, #252d43));
    color: var(--text-primary, #f1f5f9);
    border-color: var(--border, rgba(148,163,184,.22));
}
[data-theme="dark"] .form-label,
[data-theme="dark"] .form-check-label,
[data-theme="dark"] .form-text,
[data-theme="dark"] .text-muted {
    color: var(--text-secondary, #cbd5e1) !important;
}
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] .input-group-text {
    background-color: var(--input-bg, #161b2b);
    color: var(--text-primary, #f1f5f9);
    border-color: var(--border, rgba(148,163,184,.28));
}
[data-theme="dark"] .form-control::placeholder { color: var(--text-muted, #94a3b8); }
[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
    background-color: var(--input-focus-bg, #1c2438);
    color: var(--text-primary, #f1f5f9);
    border-color: var(--primary, #8b5cf6);
}
[data-theme="dark"] .form-check-input {
    background-color: var(--input-bg, #161b2b);
    border-color: rgba(203,213,225,.55);
}
[data-theme="dark"] .form-check-input:checked {
    background-color: var(--primary, #8b5cf6);
    border-color: var(--primary, #8b5cf6);
}
[data-theme="dark"] .table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--text-secondary, #cbd5e1);
    --bs-table-border-color: var(--border, rgba(148,163,184,.22));
    color: var(--text-secondary, #cbd5e1);
}
[data-theme="dark"] .table th { color: var(--text-primary, #f1f5f9); }
.setup-term-option { color: var(--text-primary, #f1f5f9); background: var(--bg-card, transparent); cursor: pointer; }
.setup-term-option:hover, .setup-term-option:has(input:checked) { border-color: var(--primary, #8b5cf6) !important; background: var(--bg-card-hover, rgba(139,92,246,.12)); }

[data-theme="light"] .modal-content,
[data-theme="light"] .offcanvas,
[data-theme="light"] .dropdown-menu,
[data-theme="light"] .popover,
[data-theme="light"] .list-group-item,
[data-theme="light"] .accordion-item,
[data-theme="light"] .accordion-button {
    background-color: var(--bg-card, var(--surface, var(--auth-surface, #ffffff)));
    color: var(--text-primary, var(--ink, var(--auth-text, #0f172a)));
    border-color: var(--border, var(--line, var(--auth-border, rgba(15, 23, 42, .12))));
}

[data-theme="light"] .modal-header,
[data-theme="light"] .modal-footer,
[data-theme="light"] .accordion-button:not(.collapsed) {
    border-color: var(--border, var(--line, var(--auth-border, rgba(15, 23, 42, .12))));
    background-color: var(--bg-card-hover, var(--surface-2, var(--auth-surface-soft, #f8fafc)));
}

[data-theme="light"] .dropdown-item,
[data-theme="light"] .list-group-item,
[data-theme="light"] .accordion-button {
    color: var(--text-primary, var(--ink, var(--auth-text, #0f172a)));
}

[data-theme="light"] .dropdown-item:hover,
[data-theme="light"] .dropdown-item:focus {
    background-color: var(--bg-card-hover, var(--surface-2, #f8fafc));
    color: var(--text-primary, var(--ink, #0f172a));
}

[data-theme="light"] .btn-close { filter: none; }
[data-theme="dark"] .btn-close { filter: invert(1) grayscale(100%) brightness(200%); }

[data-theme="light"] .form-control,
[data-theme="light"] .form-select,
[data-theme="light"] .form-check-input {
    color-scheme: light;
}

[data-theme="light"] .form-control,
[data-theme="light"] .form-select {
    background-color: var(--input-bg, var(--surface-input, var(--auth-input-bg, #fff)));
    color: var(--text-primary, var(--ink, var(--auth-text, #0f172a)));
    border-color: var(--border, var(--line, var(--auth-input-border, rgba(15,23,42,.14))));
}

[data-theme="light"] .form-control:focus,
[data-theme="light"] .form-select:focus {
    background-color: var(--input-focus-bg, var(--surface-input, var(--auth-input-focus-bg, #fff)));
    color: var(--text-primary, var(--ink, var(--auth-text, #0f172a)));
}

[data-theme="light"] .input-group-text {
    background-color: var(--surface-subtle, var(--surface-2, var(--auth-neutral-bg, #f8fafc)));
    color: var(--text-secondary, var(--muted, var(--gray, #475569)));
    border-color: var(--border, var(--line, var(--auth-border, rgba(15,23,42,.12))));
}

[data-theme="light"] .page-link {
    background-color: var(--bg-card, var(--surface, #fff));
    color: var(--text-secondary, var(--ink, #334155));
    border-color: var(--border, var(--line, rgba(15,23,42,.12)));
}

[data-theme="light"] .list-group-item:hover,
[data-theme="light"] .nav-tabs .nav-link:hover {
    background-color: var(--surface-subtle, var(--surface-2, #f8fafc));
}

[data-theme="light"] .progress {
    background-color: var(--surface-subtle, var(--surface-2, #e2e8f0));
}

[data-theme="light"] .accordion-button::after {
    filter: none;
}

[data-theme="light"] .swal2-input,
[data-theme="light"] .swal2-textarea,
[data-theme="light"] .swal2-select {
    background-color: var(--input-bg, var(--surface-input, #fff)) !important;
    color: var(--text-primary, var(--ink, #0f172a)) !important;
}

[data-theme="light"] .theme-toggle-btn {
    background: var(--input-bg, #fff);
    border-color: var(--border, rgba(15,23,42,.12));
    color: var(--text-secondary, #334155);
}

[data-theme="light"] ::-webkit-scrollbar-thumb {
    background: rgba(15,23,42,.16);
}

[data-theme="light"] ::-webkit-scrollbar-thumb:hover {
    background: rgba(15,23,42,.28);
}

[data-theme="light"] .chat-sidebar,
[data-theme="light"] .chat-sidebar-header,
[data-theme="light"] .chat-sidebar-ctl {
    --chat-bg: #f8fafc;
    --chat-sidebar-bg: #ffffff;
    --chat-border: rgba(15,23,42,.12);
    --chat-text: #0f172a;
    --chat-text-light: #475569;
}

[data-theme="light"] .platform-theme-toggle:focus-visible,
[data-theme="light"] .theme-toggle-btn:focus-visible,
[data-theme="light"] .auth-theme-toggle:focus-visible {
    outline: 3px solid rgba(124,58,237,.24);
    outline-offset: 2px;
}

[data-theme="light"] .text-bg-dark,
[data-theme="light"] .bg-dark {
    color: #f8fafc !important;
}

::selection {
    background: rgba(236, 72, 153, .24);
}
