/* tezway — system dark mode overlay for the CRM shell.
   Chat keeps its own theme picker. WhatsApp inbox has its own tokens.
   Selectors are prefixed so they beat later page stylesheets. */

html[data-app-theme-mode="dark"] {
    html:has(body.panel-body:not([data-controller="Chat"])),
    html:has(body.auth-body) {
        color-scheme: dark;
        background: var(--bg, #0b1018);
    }

    body.panel-body:not([data-controller="Chat"]) {
        color-scheme: dark;
        background: var(--bg);
        color: var(--text);
    }

    /* ── Page palettes that otherwise lock light colors ── */
    body.panel-body:not([data-controller="Chat"]) .dash-page {
        --dash-ink: var(--text);
        --dash-muted: var(--text-muted);
        --dash-line: var(--border);
        --dash-surface: var(--surface);
        --dash-wash: linear-gradient(165deg, var(--bg) 0%, var(--surface) 48%, var(--bg) 100%);
    }

    body.panel-body:not([data-controller="Chat"]) .lm-page,
    body.panel-body:not([data-controller="Chat"]) .lm-drawer-shell {
        --lm-ink: var(--text);
        --lm-muted: var(--text-muted);
        --lm-line: var(--border);
        --lm-panel: var(--surface);
        --lm-wash: var(--bg);
        --lm-accent: var(--primary);
        --lm-accent-2: var(--primary-hover);
        --lm-warn: var(--warning, #fbbf24);
        --lm-danger: var(--danger, #fb7185);
        color-scheme: dark;
    }

    body.panel-body:not([data-controller="Chat"]) .lm-hours-slot input[type="time"] {
        color-scheme: dark;
    }

    body.panel-body:not([data-controller="Chat"]) .waops {
        --ink: var(--text);
        --ink-2: var(--text-secondary);
        --muted: var(--text-muted);
        --paper: var(--bg);
        --panel: var(--surface);
        --line: var(--border);
        --accent: var(--primary);
        --accent-2: var(--primary-hover);
        color: var(--ink);
    }

    body.panel-body:not([data-controller="Chat"]) .wat-page {
        --wat-ink: var(--text);
        --wat-muted: var(--text-muted);
        --wat-line: var(--border);
        --wat-soft: var(--surface-2);
        --wat-green: var(--primary);
    }

    body.panel-body:not([data-controller="Chat"]) .wt-page {
        --wt-green: var(--primary);
        --wt-border: var(--border);
        --wt-card: var(--surface);
        --wt-muted: var(--text-muted);
        --wt-text: var(--text);
        --wt-subtle: var(--surface-2);
    }

    body.panel-body:not([data-controller="Chat"]) .wa-cloud-page,
    body.panel-body:not([data-controller="Chat"]) .wa-connect-backdrop {
        --wa-green: var(--primary);
        --wa-green-soft: var(--primary-light);
        --wa-border: var(--border);
        --wa-card: var(--surface);
        --wa-muted: var(--text-muted);
        --wa-text: var(--text);
        --wa-subtle: var(--surface-2);
        --mr-border: var(--border);
        --mr-card-bg: var(--surface);
        --mr-muted: var(--text-muted);
        --mr-text: var(--text);
        --mr-subtle: var(--surface-2);
        --mr-primary-soft: var(--primary-light);
    }

    body.panel-body:not([data-controller="Chat"]) .me-modal {
        --me-border: var(--border);
        --me-muted: var(--text-muted);
        --me-text: var(--text);
        --me-surface: var(--surface);
        --me-subtle: var(--surface-2);
        --me-accent: var(--primary);
        --me-accent-soft: var(--primary-light);
        color-scheme: dark;
    }

    body.panel-body:not([data-controller="Chat"]) .mp-modal-backdrop,
    body.panel-body:not([data-controller="Chat"]) .mp-members-backdrop,
    body.panel-body:not([data-controller="Chat"]) .mp-confirm-backdrop,
    body.panel-body:not([data-controller="Chat"]) .mr-page,
    body.panel-body:not([data-controller="Chat"]) .mr-modal-backdrop {
        --mp-border: var(--border);
        --mp-text: var(--text);
        --mp-muted: var(--text-muted);
        --mp-surface: var(--surface-2);
        --mp-card: var(--surface);
        --mp-primary: var(--primary);
        --mp-primary-soft: var(--primary-light);
        --mr-border: var(--border);
        --mr-card-bg: var(--surface);
        --mr-muted: var(--text-muted);
        --mr-text: var(--text);
        --mr-subtle: var(--surface-2);
        --mr-primary: var(--primary);
        --mr-primary-soft: var(--primary-light);
        color-scheme: dark;
    }

    body.panel-body:not([data-controller="Chat"]) .fb-page,
    body.panel-body:not([data-controller="Chat"]) .fb-drawer-panel {
        --fb-line: var(--border);
        --fb-surface: var(--surface);
        --fb-text: var(--text);
        --fb-muted: var(--text-muted);
        color: var(--text);
    }

    body.panel-body:not([data-controller="Chat"]) .ls-page,
    body.panel-body:not([data-controller="Chat"]) .ls-drawer,
    body.panel-body:not([data-controller="Chat"]) .ls-format-drawer,
    body.panel-body:not([data-controller="Chat"]) .lr-page,
    body.panel-body:not([data-controller="Chat"]) .leadpost-shell,
    body.panel-body:not([data-controller="Chat"]) .activity-admin,
    body.panel-body:not([data-controller="Chat"]) .lead-editor-card {
        color: var(--text);
    }

    /* ── Shared shell leftovers ── */
    body.panel-body:not([data-controller="Chat"]) .panel-header {
        background: var(--bg);
        border-bottom-color: var(--border);
    }

    body.panel-body:not([data-controller="Chat"]) .panel-header.is-scrolled {
        background: var(--surface);
        border-bottom-color: var(--border);
    }

    body.panel-body:not([data-controller="Chat"]) .header-search input,
    body.panel-body:not([data-controller="Chat"]) .header-search input:focus,
    body.panel-body:not([data-controller="Chat"]) .form-control,
    body.panel-body:not([data-controller="Chat"]) .filter-input,
    body.panel-body:not([data-controller="Chat"]) .filter-select,
    body.panel-body:not([data-controller="Chat"]) .page-list-search input,
    body.panel-body:not([data-controller="Chat"]) .page-list-search-input {
        background: var(--surface-2);
        color: var(--text);
        border-color: var(--border);
        color-scheme: dark;
    }

    body.panel-body:not([data-controller="Chat"]):not([data-controller="WhatsApp"]) select,
    body.panel-body:not([data-controller="Chat"]):not([data-controller="WhatsApp"]) textarea {
        background: var(--surface-2);
        color: var(--text);
        border-color: var(--border);
        color-scheme: dark;
    }

    body.panel-body:not([data-controller="Chat"]) .header-search input:focus,
    body.panel-body:not([data-controller="Chat"]) .form-control:focus,
    body.panel-body:not([data-controller="Chat"]) .filter-input:focus {
        background: var(--surface);
        border-color: var(--primary);
        color: var(--text);
    }

    body.panel-body:not([data-controller="Chat"]):not([data-controller="WhatsApp"]) select:focus,
    body.panel-body:not([data-controller="Chat"]):not([data-controller="WhatsApp"]) textarea:focus {
        background: var(--surface);
        border-color: var(--primary);
        color: var(--text);
    }

    body.panel-body:not([data-controller="Chat"]) .form-control:disabled {
        background: var(--bg);
        color: var(--text-muted);
    }

    body.panel-body:not([data-controller="Chat"]) .notification-item:hover,
    body.panel-body:not([data-controller="Chat"]) .table-hover tbody tr:hover,
    body.panel-body:not([data-controller="Chat"]) .btn-secondary:hover {
        background: var(--surface-2);
        border-color: var(--border);
        color: var(--text);
    }

    body.panel-body:not([data-controller="Chat"]) .table tbody tr:nth-child(even) td {
        background: rgba(24, 34, 53, 0.45);
    }

    body.panel-body:not([data-controller="Chat"]) .btn-danger-outline {
        background: rgba(127, 29, 29, 0.18);
        border-color: rgba(248, 113, 113, 0.35);
        color: #fecaca;
    }

    body.panel-body:not([data-controller="Chat"]) .btn-danger-outline:hover {
        background: rgba(127, 29, 29, 0.32);
        border-color: rgba(248, 113, 113, 0.5);
        color: #fee2e2;
    }

    body.panel-body:not([data-controller="Chat"]) .session-pill-offline {
        background: var(--surface-2);
        color: var(--text-muted);
    }

    body.panel-body:not([data-controller="Chat"]) .session-pill-online {
        background: rgba(22, 101, 52, 0.22);
        color: #86efac;
    }

    body.panel-body:not([data-controller="Chat"]) .session-pill-signed_in {
        background: rgba(29, 78, 216, 0.22);
        color: #93c5fd;
    }

    body.panel-body:not([data-controller="Chat"]) .bg-blue {
        background: rgba(59, 130, 246, 0.16);
        color: #93c5fd;
    }

    body.panel-body:not([data-controller="Chat"]) .bg-emerald {
        background: rgba(16, 185, 129, 0.16);
        color: #6ee7b7;
    }

    body.panel-body:not([data-controller="Chat"]) .bg-violet {
        background: rgba(139, 92, 246, 0.16);
        color: #c4b5fd;
    }

    body.panel-body:not([data-controller="Chat"]) .bg-amber {
        background: rgba(245, 158, 11, 0.16);
        color: #fcd34d;
    }

    body.panel-body:not([data-controller="Chat"]) .bg-rose {
        background: rgba(244, 63, 94, 0.16);
        color: #fda4af;
    }

    body.panel-body:not([data-controller="Chat"]) .bg-teal {
        background: rgba(20, 184, 166, 0.16);
        color: #5eead4;
    }

    body.panel-body:not([data-controller="Chat"]) .alert-success,
    body.panel-body:not([data-controller="Chat"]) .fb-alert-success {
        background: var(--success-soft);
        color: var(--success-soft-text);
        border-color: rgba(52, 211, 153, 0.35);
    }

    body.panel-body:not([data-controller="Chat"]) .alert-danger,
    body.panel-body:not([data-controller="Chat"]) .fb-alert-error {
        background: var(--danger-soft);
        color: var(--danger-soft-text);
        border-color: rgba(248, 113, 113, 0.35);
    }

    body.panel-body:not([data-controller="Chat"]) .alert-info,
    body.panel-body:not([data-controller="Chat"]) .alert-warning,
    body.panel-body:not([data-controller="Chat"]) .billing-banner {
        background: var(--info-soft);
        color: var(--info-soft-text);
        border-color: rgba(96, 165, 250, 0.35);
    }

    body.panel-body:not([data-controller="Chat"]) .alert-warning {
        background: var(--warning-soft);
        color: var(--warning-soft-text);
    }

    /* ── Header / chrome extras ── */
    body.panel-body:not([data-controller="Chat"]) .devmode-toggle {
        background: var(--surface);
        color: var(--text);
        border-color: var(--border);
    }

    body.panel-body:not([data-controller="Chat"]) .devmode-toggle:hover {
        border-color: var(--primary);
        background: var(--surface-2);
    }

    body.panel-body:not([data-controller="Chat"]) .devmode-switch {
        background: #475569;
    }

    body.panel-body:not([data-controller="Chat"]) .devmode-knob {
        background: #e2e8f0;
        border-color: rgba(226, 232, 240, 0.2);
    }

    body.panel-body:not([data-controller="Chat"]) .devmode-label {
        color: var(--text);
    }

    body.panel-body:not([data-controller="Chat"]) .devmode-toggle.is-on .devmode-state {
        color: #93c5fd;
    }

    /* ── AI chatbot leftovers ── */
    body.panel-body:not([data-controller="Chat"]) .ai-chatbot-panel {
        background: color-mix(in srgb, var(--surface) 96%, transparent);
        border-color: var(--border);
        box-shadow: 0 26px 70px rgba(0, 0, 0, 0.5);
    }

    body.panel-body:not([data-controller="Chat"]) .ai-chatbot-messages {
        background: linear-gradient(180deg, var(--bg), var(--surface));
    }

    body.panel-body:not([data-controller="Chat"]) .ai-chat-msg-bot {
        color: var(--text);
        background: var(--surface);
        border-color: var(--border);
    }

    body.panel-body:not([data-controller="Chat"]) .ai-chat-highlight {
        color: var(--primary);
        background: var(--primary-light);
        border-color: color-mix(in srgb, var(--primary) 35%, var(--border));
    }

    body.panel-body:not([data-controller="Chat"]) .ai-chatbot-input,
    body.panel-body:not([data-controller="Chat"]) .ai-chatbot-input-wrap,
    body.panel-body:not([data-controller="Chat"]) .ai-chatbot-footer {
        background: var(--surface);
        border-color: var(--border);
    }

    body.panel-body:not([data-controller="Chat"]) .ai-chatbot-input textarea,
    body.panel-body:not([data-controller="Chat"]) .ai-chatbot-input input,
    body.panel-body:not([data-controller="Chat"]) .ai-chatbot-input {
        background: var(--surface);
        color: var(--text);
        border-color: var(--border);
    }

    body.panel-body:not([data-controller="Chat"]) .ai-chat-openlink {
        border-top-color: var(--border);
    }

    body.panel-body:not([data-controller="Chat"]) .ai-chat-openlink-a {
        color: var(--primary);
        background: var(--primary-light);
        border-color: color-mix(in srgb, var(--primary) 35%, var(--border));
    }

    body.panel-body:not([data-controller="Chat"]) .priso-block-title,
    body.panel-body:not([data-controller="Chat"]) .priso-tile .val {
        color: var(--text);
    }

    body.panel-body:not([data-controller="Chat"]) .priso-tile {
        background: var(--surface-2);
        border-color: var(--border);
    }

    body.panel-body:not([data-controller="Chat"]) .priso-tile .lbl {
        color: var(--text-muted);
    }

    body.panel-body:not([data-controller="Chat"]) .priso-table-wrap,
    body.panel-body:not([data-controller="Chat"]) .ai-switch,
    body.panel-body:not([data-controller="Chat"]) .ai-chat-settings,
    body.panel-body:not([data-controller="Chat"]) .api-usage-table-wrap {
        background: var(--surface);
        border-color: var(--border);
        color: var(--text);
    }

    body.panel-body:not([data-controller="Chat"]) .api-usage-table thead th {
        background: var(--surface-2);
        color: var(--text-muted);
        border-color: var(--border);
    }

    body.panel-body:not([data-controller="Chat"]) .api-usage-table tbody td {
        border-color: var(--border-light);
        color: var(--text);
    }

    body.panel-body:not([data-controller="Chat"]) .api-usage-table tbody tr:hover {
        background: var(--surface-2);
    }

    body.panel-body:not([data-controller="Chat"]) .api-usage-total,
    body.panel-body:not([data-controller="Chat"]) .api-usage-primary {
        color: var(--text);
    }

    /* ── Confirm / modal / dropdown ── */
    body.panel-body:not([data-controller="Chat"]) .crm-confirm-card,
    body.panel-body:not([data-controller="Chat"]) .modal-content,
    body.panel-body:not([data-controller="Chat"]) .dropdown-menu {
        background: var(--surface);
        color: var(--text);
        border-color: var(--border);
    }

    body.panel-body:not([data-controller="Chat"]) .crm-module-frame {
        background: var(--bg);
    }

    /* ── Tasks ── */
    body.panel-body:not([data-controller="Chat"]) .task-app,
    body.panel-body:not([data-controller="Chat"]) .task-drawer,
    body.panel-body:not([data-controller="Chat"]) .task-confirm,
    body.panel-body:not([data-controller="Chat"]) .task-notification-popover {
        --task-ink: var(--text);
        --task-muted: var(--text-muted);
        --task-line: var(--border);
        --task-paper: var(--bg);
        --task-card: var(--surface);
        --task-soft: var(--surface-2);
        --task-lime: var(--primary-light);
        color-scheme: dark;
    }

    body.panel-body:not([data-controller="Chat"]) .task-card,
    body.panel-body:not([data-controller="Chat"]) .task-mini-row,
    body.panel-body:not([data-controller="Chat"]) .task-project-card,
    body.panel-body:not([data-controller="Chat"]) .task-board-card,
    body.panel-body:not([data-controller="Chat"]) .task-table-wrap,
    body.panel-body:not([data-controller="Chat"]) .task-timeline,
    body.panel-body:not([data-controller="Chat"]) .task-member-row,
    body.panel-body:not([data-controller="Chat"]) .task-notification-popover,
    body.panel-body:not([data-controller="Chat"]) .task-notification-popover header,
    body.panel-body:not([data-controller="Chat"]) .task-drawer,
    body.panel-body:not([data-controller="Chat"]) .task-confirm-card,
    body.panel-body:not([data-controller="Chat"]) .task-project-discussion,
    body.panel-body:not([data-controller="Chat"]) .task-calendar,
    body.panel-body:not([data-controller="Chat"]) .task-relation-row,
    body.panel-body:not([data-controller="Chat"]) .task-search,
    body.panel-body:not([data-controller="Chat"]) .task-icon-btn,
    body.panel-body:not([data-controller="Chat"]) .task-time-editor,
    body.panel-body:not([data-controller="Chat"]) .task-timer-panel,
    body.panel-body:not([data-controller="Chat"]) .task-time-edit-btn,
    body.panel-body:not([data-controller="Chat"]) .task-count-pill,
    body.panel-body:not([data-controller="Chat"]) .task-field input,
    body.panel-body:not([data-controller="Chat"]) .task-field select,
    body.panel-body:not([data-controller="Chat"]) .task-field textarea,
    body.panel-body:not([data-controller="Chat"]) .task-rich-editor,
    body.panel-body:not([data-controller="Chat"]) .task-filter,
    body.panel-body:not([data-controller="Chat"]) .task-inline-select,
    body.panel-body:not([data-controller="Chat"]) .task-workload-capacity input,
    body.panel-body:not([data-controller="Chat"]) .task-relation-editor select,
    body.panel-body:not([data-controller="Chat"]) .task-time-editor input,
    body.panel-body:not([data-controller="Chat"]) .task-manager-choice > span,
    body.panel-body:not([data-controller="Chat"]) .task-secondary-btn,
    body.panel-body:not([data-controller="Chat"]) .task-rich-toolbar,
    body.panel-body:not([data-controller="Chat"]) .task-board-column,
    body.panel-body:not([data-controller="Chat"]) .task-comment-composer,
    body.panel-body:not([data-controller="Chat"]) .task-table th {
        background: var(--surface-2);
        color: var(--text);
        border-color: var(--border);
        color-scheme: dark;
    }

    body.panel-body:not([data-controller="Chat"]) .task-pie::after,
    body.panel-body:not([data-controller="Chat"]) .task-workload-switch i::after {
        background: var(--surface);
    }

    body.panel-body:not([data-controller="Chat"]) .task-manager-choice > input:checked + span {
        background: color-mix(in srgb, var(--primary) 16%, var(--surface));
    }

    body.panel-body:not([data-controller="Chat"]) .task-timer-panel {
        background: linear-gradient(145deg, var(--surface) 0%, rgba(59, 130, 246, 0.12) 100%);
        border-color: rgba(96, 165, 250, 0.28);
    }

    body.panel-body:not([data-controller="Chat"]) .task-project-discussion > header {
        background: linear-gradient(135deg, var(--primary-light), var(--surface));
    }

    body.panel-body:not([data-controller="Chat"]) .task-list-timer-btn.is-running {
        background: rgba(127, 29, 29, 0.18);
        border-color: rgba(248, 113, 113, 0.35);
        color: #fecaca;
    }

    body.panel-body:not([data-controller="Chat"]) .task-label-remove,
    body.panel-body:not([data-controller="Chat"]) .task-relation-remove {
        background: rgba(127, 29, 29, 0.14);
        border-color: rgba(248, 113, 113, 0.28);
        color: #fca5a5;
    }

    /* ── Lead modals / workflow ── */
    body.panel-body:not([data-controller="Chat"]) .lead-modal .workflow-card,
    body.panel-body:not([data-controller="Chat"]) .lead-modal .workflow-step,
    body.panel-body:not([data-controller="Chat"]) .lead-modal .activity-card,
    body.panel-body:not([data-controller="Chat"]) .lead-modal .activity-form,
    body.panel-body:not([data-controller="Chat"]) .lead-modal .workflow-attachment,
    body.panel-body:not([data-controller="Chat"]) .lead-modal .activity-attachment-link,
    body.panel-body:not([data-controller="Chat"]) .lead-modal input,
    body.panel-body:not([data-controller="Chat"]) .lead-modal select,
    body.panel-body:not([data-controller="Chat"]) .lead-modal textarea,
    body.panel-body:not([data-controller="Chat"]) .lead-modal .workflow-chip,
    body.panel-body:not([data-controller="Chat"]) .lead-modal .activity-type-btn,
    body.panel-body:not([data-controller="Chat"]) .lead-quick-edit-bar,
    body.panel-body:not([data-controller="Chat"]) .lead-modal-body .btn-rescore-lead {
        background: var(--surface);
        color: var(--text);
        border-color: var(--border);
    }

    body.panel-body:not([data-controller="Chat"]) .lead-modal-close:hover,
    body.panel-body:not([data-controller="Chat"]) .lead-modal-body .btn-rescore-lead:hover {
        background: rgba(127, 29, 29, 0.22);
        color: #fecaca;
        border-color: rgba(248, 113, 113, 0.35);
    }

    body.panel-body:not([data-controller="Chat"]) .lead-quick-field label,
    body.panel-body:not([data-controller="Chat"]) .workflow-title,
    body.panel-body:not([data-controller="Chat"]) .activity-author,
    body.panel-body:not([data-controller="Chat"]) .activity-text {
        color: var(--text);
    }

    /* ── Dashboard leftovers ── */
    body.panel-body:not([data-controller="Chat"]) .dash-who-chip {
        color: #93c5fd;
        background: rgba(59, 130, 246, 0.16);
        border-color: rgba(96, 165, 250, 0.35);
    }

    /* QR codes stay white so the code remains scannable */
    body.panel-body:not([data-controller="Chat"]) .dash-qr-body img {
        background: #fff;
    }

    /* ── Facebook marketing ── */
    body.panel-body:not([data-controller="Chat"]) .fb-card,
    body.panel-body:not([data-controller="Chat"]) .fb-panel,
    body.panel-body:not([data-controller="Chat"]) .fb-btn,
    body.panel-body:not([data-controller="Chat"]) .fb-drawer-panel,
    body.panel-body:not([data-controller="Chat"]) .fb-form input,
    body.panel-body:not([data-controller="Chat"]) .fb-form textarea {
        background: var(--surface);
        color: var(--text);
        border-color: var(--border);
    }

    body.panel-body:not([data-controller="Chat"]) .fb-page-head p,
    body.panel-body:not([data-controller="Chat"]) .fb-card small,
    body.panel-body:not([data-controller="Chat"]) .fb-hint,
    body.panel-body:not([data-controller="Chat"]) .fb-steps {
        color: var(--text-muted);
    }

    body.panel-body:not([data-controller="Chat"]) .fb-tab {
        background: var(--surface-2);
        color: var(--text);
    }

    body.panel-body:not([data-controller="Chat"]) .fb-drawer-head,
    body.panel-body:not([data-controller="Chat"]) .fb-drawer-tabs,
    body.panel-body:not([data-controller="Chat"]) .fb-table th,
    body.panel-body:not([data-controller="Chat"]) .fb-table td {
        border-color: var(--border);
        color: var(--text);
    }

    body.panel-body:not([data-controller="Chat"]) .fb-pill {
        background: var(--surface-2);
        color: var(--text-secondary);
    }

    body.panel-body:not([data-controller="Chat"]) .fb-pill-ok {
        background: rgba(22, 101, 52, 0.22);
        color: #86efac;
    }

    /* ── Manage editors / team form leftover whites ── */
    body.panel-body:not([data-controller="Chat"]) .me-head {
        background: linear-gradient(180deg, var(--surface) 0%, var(--surface-2) 100%);
        border-color: var(--border);
        color: var(--text);
    }

    body.panel-body:not([data-controller="Chat"]) .me-modal input,
    body.panel-body:not([data-controller="Chat"]) .me-modal select,
    body.panel-body:not([data-controller="Chat"]) .me-modal textarea,
    body.panel-body:not([data-controller="Chat"]) .mp-input,
    body.panel-body:not([data-controller="Chat"]) .mp-search-input,
    body.panel-body:not([data-controller="Chat"]) .me-input,
    body.panel-body:not([data-controller="Chat"]) .me-textarea,
    body.panel-body:not([data-controller="Chat"]) .me-select,
    body.panel-body:not([data-controller="Chat"]) .me-block,
    body.panel-body:not([data-controller="Chat"]) .me-head,
    body.panel-body:not([data-controller="Chat"]) .mp-members-card,
    body.panel-body:not([data-controller="Chat"]) .mp-confirm-card {
        background: var(--surface-2);
        color: var(--text);
        border-color: var(--border);
        color-scheme: dark;
    }

    body.panel-body:not([data-controller="Chat"]) .me-field label {
        color: var(--text);
    }

    /* ── Expenses leftover whites ── */
    body.panel-body:not([data-controller="Chat"]) .ex-modal__panel,
    body.panel-body:not([data-controller="Chat"]) .ex-modal__head,
    body.panel-body:not([data-controller="Chat"]) .ex-modal__body,
    body.panel-body:not([data-controller="Chat"]) .ex-form input,
    body.panel-body:not([data-controller="Chat"]) .ex-form select,
    body.panel-body:not([data-controller="Chat"]) .ex-form textarea,
    body.panel-body:not([data-controller="Chat"]) .ex-attach__item {
        background: var(--surface);
        color: var(--text);
        border-color: var(--border);
    }

    body.panel-body:not([data-controller="Chat"]) .ex-status--draft {
        background: var(--surface-2);
        color: var(--text-secondary);
    }

    /* ── Developer portal leftover whites ── */
    body.panel-body:not([data-controller="Chat"]) .dev-page,
    body.panel-body:not([data-controller="Chat"]) .dev-page h1,
    body.panel-body:not([data-controller="Chat"]) .dev-page h2,
    body.panel-body:not([data-controller="Chat"]) .dev-page h3 {
        color: var(--text);
    }

    body.panel-body:not([data-controller="Chat"]) .dev-page pre,
    body.panel-body:not([data-controller="Chat"]) .dev-page code {
        background: var(--surface-2);
        color: var(--text);
        border-color: var(--border);
    }

    /* ── Lead scoring leftover whites ── */
    body.panel-body:not([data-controller="Chat"]) .ls-panel,
    body.panel-body:not([data-controller="Chat"]) .ls-card,
    body.panel-body:not([data-controller="Chat"]) .ls-drawer-panel,
    body.panel-body:not([data-controller="Chat"]) .ls-row {
        background: var(--surface);
        color: var(--text);
        border-color: var(--border);
    }

    /* ── Agent templates leftover whites ── */
    body.panel-body:not([data-controller="Chat"]) .wat-card,
    body.panel-body:not([data-controller="Chat"]) .wat-row,
    body.panel-body:not([data-controller="Chat"]) .wat-editor,
    body.panel-body:not([data-controller="Chat"]) .wat-page input,
    body.panel-body:not([data-controller="Chat"]) .wat-page select,
    body.panel-body:not([data-controller="Chat"]) .wat-page textarea {
        background: var(--surface);
        color: var(--text);
        border-color: var(--border);
    }

    /* ── Admin WA ops leftover whites ── */
    body.panel-body:not([data-controller="Chat"]) .waops-card,
    body.panel-body:not([data-controller="Chat"]) .waops-panel,
    body.panel-body:not([data-controller="Chat"]) .waops-table-wrap,
    body.panel-body:not([data-controller="Chat"]) .waops input,
    body.panel-body:not([data-controller="Chat"]) .waops select,
    body.panel-body:not([data-controller="Chat"]) .waops textarea {
        background: var(--surface);
        color: var(--text);
        border-color: var(--border);
    }

    body.panel-body:not([data-controller="Chat"]) .waops-chip--status {
        background: var(--surface-2);
        color: var(--text-secondary);
    }

    /* ── Lead management leftover whites ── */
    body.panel-body:not([data-controller="Chat"]) .lm-card,
    body.panel-body:not([data-controller="Chat"]) .lm-drawer,
    body.panel-body:not([data-controller="Chat"]) .lm-sheet,
    body.panel-body:not([data-controller="Chat"]) .lm-page input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
    body.panel-body:not([data-controller="Chat"]) .lm-page select,
    body.panel-body:not([data-controller="Chat"]) .lm-page textarea,
    body.panel-body:not([data-controller="Chat"]) .lm-drawer-shell input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
    body.panel-body:not([data-controller="Chat"]) .lm-drawer-shell select,
    body.panel-body:not([data-controller="Chat"]) .lm-drawer-shell textarea {
        background: var(--lm-panel, var(--surface));
        color: var(--lm-ink, var(--text));
        border-color: var(--lm-line, var(--border));
    }

    /* WhatsApp inbox tokens live in whatsapp-inbox.css and follow the selected theme. */
    body.panel-body[data-controller="WhatsApp"] .wa-page {
        color-scheme: inherit;
    }

    /* ── Shared cards that already use .card / .stat-card ── */
    body.panel-body:not([data-controller="Chat"]):not([data-controller="WhatsApp"]) .card,
    body.panel-body:not([data-controller="Chat"]):not([data-controller="WhatsApp"]) .stat-card {
        background-color: var(--surface);
        color: var(--text);
        border-color: var(--border);
    }

    body.panel-body:not([data-controller="Chat"]):not([data-controller="WhatsApp"]) .text-muted,
    body.panel-body:not([data-controller="Chat"]):not([data-controller="WhatsApp"]) .muted,
    body.panel-body:not([data-controller="Chat"]):not([data-controller="WhatsApp"]) .page-subtitle {
        color: var(--text-muted);
    }
}
