.theme-selector { display: flex; align-items: center; gap: .4rem; color: var(--text-muted); }
/* Appointment surfaces follow the selected theme, including the weekly grid. */
html[data-theme="light"] :is(#appointmentsFilterBar, .calendar-shell, .appointments-mobile-card) {
    background: var(--card-bg-solid) !important;
    border-color: var(--border) !important;
}
html[data-theme="light"] .appointments-actions .view-toggle {
    background: var(--surface-raised) !important;
    border-color: var(--border) !important;
}
html[data-theme="light"] .appointments-actions .toggle-btn { color: var(--text-muted) !important; }
html[data-theme="light"] .appointments-actions .toggle-btn.active {
    background: var(--card-bg-solid) !important;
    color: var(--brand) !important;
    box-shadow: 0 2px 6px rgba(24,35,56,.08) !important;
}
html[data-theme="light"] #appointmentsFilterBar label { color: var(--text-muted) !important; }
html[data-theme="light"] #appointmentsFilterBar > div:first-child { border-color: var(--border) !important; }
html[data-theme="light"] :is(.tg-gutter-head, .tg-day-head) { background: var(--surface-raised) !important; }
html[data-theme="light"] :is(.tg-dh-num, .tg-event-title, .tg-bp-title, .tg-day-title) { color: var(--text-main) !important; }
html[data-theme="light"] .tg-dh-count { color: var(--brand) !important; }
html[data-theme="light"] .tg-day-head.is-today :is(.tg-dh-name, .tg-dh-num) { color: var(--brand) !important; }
html[data-theme="light"] :is(.tg-hour-lbl, .tg-closed-label) { color: var(--text-muted) !important; }
html[data-theme="light"] :is(.tg-block-modal-card, .tg-block-popup, .tg-action-bar, .appointment-create-card, .calendar-day-modal-card, .calendar-day-item) {
    background: var(--card-bg-solid) !important;
    border-color: var(--border-strong) !important;
    color: var(--text-main) !important;
}
html[data-theme="light"] :is(.appointment-create-title, .appointment-create-close, .calendar-day-modal-title, .calendar-day-modal-close, .tg-bm-title) { color: var(--text-main) !important; }
html[data-theme="light"] :is(.appointment-create-label, .appointment-create-help, .tg-block-lbl) { color: var(--text-muted) !important; }
html[data-theme="light"] :is(.tg-event.status-confirmado, .cdi-status.s-confirmado) { color: #166534; }
html[data-theme="light"] :is(.tg-event.status-concluido, .cdi-status.s-concluido) { color: #1e40af; }
html[data-theme="light"] :is(.tg-event.status-processando, .cdi-status.s-processando) { color: #115e59; }
html[data-theme="light"] :is(.tg-event.status-pendente, .cdi-status.s-pendente) { color: #854d0e; }
html[data-theme="light"] :is(.tg-event.status-cancelado, .cdi-status.s-cancelado) { color: #991b1b; }
#metrics { scroll-margin-top: 100px; }
.theme-selector { margin: 0; }
.theme-toggle { display: inline-flex; align-items: center; gap: .45rem; background: var(--bg-secondary); color: var(--text-main); border: 1px solid var(--border-strong); border-radius: 999px; padding: .35rem .75rem; font: inherit; font-size: .85rem; cursor: pointer; transition: background .2s, border-color .2s; }
.theme-toggle:hover:not(:disabled) { border-color: var(--brand); }
.theme-toggle:disabled { opacity: .5; cursor: not-allowed; }
.theme-toggle i { font-size: 1rem; }
.theme-save-status { font-size: .75rem; color: var(--danger); }
@media (max-width: 600px) { .theme-toggle-label { display: none; } .theme-toggle { padding: .4rem .55rem; } }
html[data-theme="light"] {
    --bg-main: #f5f7fb;
    --bg-secondary: #ffffff;
    --card-bg: #ffffff;
    --card-bg-solid: #ffffff;
    --surface-raised: #edf1f7;
    --surface-hover: #e4eaf3;
    --border: #dce2eb;
    --border-strong: #bdc8d8;
    --text-main: #182338;
    --text-muted: #53627a;
    --text-soft: #41516a;
    --text-bright: #182338;
    --accent-teal: #087f70;
    --accent-cyan: #2463b6;
    --brand: #4b59ce;
    --brand-bright: #4755c4;
    --brand-soft: #eef0ff;
    --success: #15803d;
    --warning: #a16207;
    --danger: #be123c;
    --shadow-card: 0 8px 30px rgba(28, 45, 75, .06);
    --shadow-float: 0 20px 60px rgba(28, 45, 75, .15);
    color-scheme: light;
}
html[data-theme="light"] body { background: var(--bg-main); color: var(--text-main); }
html[data-theme="light"] body::before { opacity: .1; }
/* Gradient headings use white ink for dark pages; restore opaque ink on light surfaces. */
html[data-theme="light"] :is(h1[style*="background-clip: text"], h1[style*="background-clip:text"]) {
    background: none !important;
    color: var(--text-main) !important;
    -webkit-text-fill-color: var(--text-main) !important;
}
html[data-theme="light"] :is(.premium-header, .sidebar) { background: #ffffff; border-color: var(--border); }
html[data-theme="light"] :is(.premium-card, .glass-panel, .panel, .modal-content, .side-panel, .detail-panel,
    .mini-card, .stat-card, .kanban-column, .kanban-card, .crm-filter-card, .rpt-modal, .rpt-check-item,
    .app-panel, .select2-dropdown, .select2-selection, .detail-header, .modal-header, .side-panel-header) {
    background: var(--card-bg-solid) !important; color: var(--text-main); border-color: var(--border) !important;
    box-shadow: var(--shadow-card);
}
html[data-theme="light"] :is(.glass-input, .form-control, .form-select, .filter-input, input[type="date"], textarea, select) {
    background-color: #ffffff !important; color: var(--text-main) !important; border-color: var(--border-strong) !important;
}
html[data-theme="light"] :is(.premium-table th, .premium-table td, .select2-results__option, .select2-selection__rendered) { color: var(--text-main) !important; }
html[data-theme="light"] :is(.premium-table th, .select2-selection__choice) { background: var(--surface-raised) !important; }
html[data-theme="light"] :is(.sidebar-link, .sidebar-sublink, .premium-header-link, .btn-secondary-premium, .btn-outline-premium) { color: var(--text-soft); }
html[data-theme="light"] :is(.sidebar-link.active, .sidebar-link:hover, .sidebar-sublink:hover, .btn-secondary-premium:hover) { background: var(--brand-soft); color: var(--brand); }
html[data-theme="light"] .app-hero { background: linear-gradient(120deg, #ffffff, #edf0ff) !important; border-color: var(--border); }
html[data-theme="light"] .os-command-metrics .mini-card strong { color: var(--text-main); }
html[data-theme="light"] :is(.app-title, .os-page-title) { color: var(--text-main); }
html[data-theme="light"] :is(.app-lead, .stat-label, .stat-note, .panel-list, .rpt-modal p, .rci-desc) { color: var(--text-muted); }
html[data-theme="light"] .app-dashboard form label { color: var(--text-muted) !important; }
html[data-theme="light"] .app-dashboard form[action="/Dashboard"] { background: #ffffff !important; }
html[data-theme="light"] .app-dashboard :is(span, strong)[style*="226,232,240"],
html[data-theme="light"] .app-dashboard strong[style*="#e2e8f0"] { color: var(--text-main) !important; }
html[data-theme="light"] .rpt-modal-overlay { background: rgba(24,35,56,.4); }
html[data-theme="light"] .os-system-state strong { color: var(--success) !important; }
html[data-theme="light"] .btn-premium { color: #ffffff; }

/* Chat Manager owns its palette on .conv-shell, so override it at the same scope. */
html[data-theme="light"] :is(.conv-shell, .handover-modal-overlay) {
    --wa-bg: var(--bg-main);
    --wa-panel: var(--card-bg-solid);
    --wa-panel-2: var(--surface-raised);
    --wa-border: var(--border);
    --wa-muted: var(--text-muted);
    --wa-muted-light: var(--text-muted);
    --wa-accent: var(--brand);
    --wa-accent-hover: var(--brand-bright);
    --wa-bubble: #ffffff;
    --wa-bubble-me: #e5e9ff;
    --wa-bubble-tail-me: #e5e9ff;
    --wa-bubble-tail-other: #ffffff;
    --wa-chat-bg: #f0f3f9;
    --wa-text: var(--text-main);
    --wa-text-secondary: var(--text-soft);
    --wa-unread: var(--brand);
    --wa-danger: var(--danger);
}
html[data-theme="light"] :is(.conv-shell, .conv-main, .conv-messages, .conv-empty, .conv-loading-panel) {
    background: var(--wa-chat-bg);
}
html[data-theme="light"] :is(.conv-sidebar, .conv-sidebar-header, .conv-header, .conv-input) {
    background: var(--wa-panel) !important;
}
html[data-theme="light"] .conv-search { background: var(--surface-raised) !important; }
html[data-theme="light"] .conv-search input { background: transparent !important; color: var(--text-main); }
html[data-theme="light"] .conv-sidebar-title small { color: var(--text-muted); }
html[data-theme="light"] .conv-sidebar-icon { color: var(--brand); background: var(--brand-soft); border-color: var(--border); }
html[data-theme="light"] .conv-chip { background: var(--surface-raised); border-color: var(--border); }
html[data-theme="light"] .conv-chip.active { background: var(--brand-soft) !important; color: var(--brand) !important; border-color: var(--brand) !important; }
html[data-theme="light"] :is(.conv-chip:hover, .conv-item:hover, .conv-tool-btn:hover, .conv-back:hover) { background: var(--surface-hover); }
html[data-theme="light"] .conv-item.active { background: var(--brand-soft) !important; box-shadow: inset 3px 0 0 var(--brand); }
html[data-theme="light"] :is(.conv-tag-chip, .conv-meta-minute) { color: var(--text-soft); background: var(--surface-raised); border-color: var(--border); }
html[data-theme="light"] .conv-badge-mode.ai { color: var(--success); }
html[data-theme="light"] .conv-badge-mode.human { color: var(--warning); }
html[data-theme="light"] .conv-online-indicator { border-color: var(--card-bg-solid); }
html[data-theme="light"] .conv-messages::before { filter: invert(1); opacity: .035; }
html[data-theme="light"] :is(.conv-bubble time, .msg-ticks) { color: var(--text-muted); }
html[data-theme="light"] .msg-ticks.read { color: var(--accent-cyan); }
html[data-theme="light"] .conv-alert { color: var(--danger); }
html[data-theme="light"] :is(.conv-loading-pill, .conv-shell.is-loading .conv-main::before) {
    background: var(--card-bg-solid); color: var(--text-main); border-color: var(--border); box-shadow: var(--shadow-card);
}
html[data-theme="light"] .conv-shell.is-loading .conv-main::after { background: rgba(245,247,251,.65); }
html[data-theme="light"] .conv-loading-spinner { border-color: var(--border-strong); border-top-color: var(--brand); }
html[data-theme="light"] .handover-modal { box-shadow: var(--shadow-float); }

/* CRM controls retain dark-page colors unless their light palette is explicit. */
html[data-theme="light"] .crm-toolbar .filter-title { color: var(--text-main); }
html[data-theme="light"] .crm-toolbar :is(.btn-filter-ghost, .btn-filter-clear) {
    background: var(--surface-raised); color: var(--text-soft); border-color: var(--border-strong);
}
html[data-theme="light"] .crm-toolbar :is(.btn-filter-ghost, .btn-filter-clear):hover {
    background: var(--brand-soft); color: var(--brand); border-color: var(--brand);
}
html[data-theme="light"] .crm-toolbar .btn-filter-primary { background: var(--brand) !important; color: #ffffff; }
html[data-theme="light"] .crm-toolbar .view-toggle {
    background: var(--surface-raised) !important; border-color: var(--border-strong) !important;
}
html[data-theme="light"] .crm-toolbar .toggle-btn { color: var(--text-soft); }
html[data-theme="light"] .crm-toolbar .toggle-btn:hover { background: var(--brand-soft); color: var(--brand); }
html[data-theme="light"] .crm-toolbar .toggle-btn.active {
    background: var(--brand) !important; color: #ffffff; box-shadow: 0 3px 10px rgba(28, 45, 75, .12) !important;
}
html[data-theme="light"] .crm-toolbar .input-wrap { background: var(--card-bg-solid); border-color: var(--border-strong); }
html[data-theme="light"] .crm-toolbar .input-wrap i { color: var(--text-muted); }
html[data-theme="light"] .crm-toolbar .filter-input::-webkit-calendar-picker-indicator { filter: none; }

/* Consumption statement panels and numeric summaries. */
html[data-theme="light"] .bill-wrap { --bill-success: #076b5e; }
html[data-theme="light"] .bill-wrap :is(.bill-title, .bill-panel h3, .chart-panel h4, .bill-card .v) { color: var(--text-main); }
html[data-theme="light"] .bill-wrap :is(.bill-panel, .chart-panel) {
    background: var(--card-bg-solid); border-color: var(--border); box-shadow: var(--shadow-card);
}
html[data-theme="light"] .bill-wrap .bill-card { background: var(--brand-soft); border-color: var(--border); }
html[data-theme="light"] .bill-wrap .bill-card.total { background: #e9f6ef !important; border-color: #badfce !important; }
html[data-theme="light"] .bill-wrap .bill-card.total .v { color: var(--bill-success); }
html[data-theme="light"] .bill-wrap .bill-btn { background: var(--brand-soft); border-color: var(--border-strong); color: var(--brand); }
html[data-theme="light"] .bill-wrap .bill-btn:hover { background: var(--surface-hover); color: var(--brand-bright); }
html[data-theme="light"] .bill-wrap .bill-btn.csv { background: #e9f6ef; border-color: #badfce; color: var(--bill-success); }
html[data-theme="light"] .bill-wrap .bill-btn.csv:hover { background: #d9efe3; color: var(--bill-success); }
html[data-theme="light"] .bill-wrap :is(.bill-table, .sub-table) :is(th, td) { color: var(--text-main) !important; border-color: var(--border); }
html[data-theme="light"] .bill-wrap :is(.bill-table, .sub-table) th { background: var(--surface-raised); color: var(--text-soft) !important; }
html[data-theme="light"] .bill-wrap .sub-table-wrap { background: var(--bg-main); border-color: var(--border); }
html[data-theme="light"] .bill-wrap tr[id^="bot-details-"] { background: var(--bg-main) !important; }
html[data-theme="light"] .bill-wrap .badge-bot { background: var(--brand-soft); color: var(--brand); border-color: var(--border); }
html[data-theme="light"] .bill-wrap .badge-msg { background: #edf4ff; color: var(--accent-cyan); border-color: var(--border); }
html[data-theme="light"] .bill-wrap [style*="#a78bfa"] { color: var(--brand) !important; }
html[data-theme="light"] .bill-wrap [style*="#38bdf8"] { color: var(--accent-cyan) !important; }
html[data-theme="light"] .bill-wrap [style*="#34d399"] { color: var(--bill-success) !important; }
html[data-theme="light"] .bill-wrap [style*="#e2e8f0"] { color: var(--text-main) !important; }
html[data-theme="light"] .bill-wrap [style*="#fbbf24"] { color: var(--warning) !important; }

/* Products & Services keeps its own dark gradients; use the light palette throughout the catalogue. */
html[data-theme="light"] .v2-shell {
    background: var(--bg-secondary);
    border-color: var(--border);
    box-shadow: var(--shadow-card);
}
html[data-theme="light"] .v2-shell :is(.v2-stat, .v2-search-row) {
    background: var(--surface-raised);
    border-color: var(--border);
}
html[data-theme="light"] .v2-shell :is(.v2-header h1, .v2-card-name) { color: var(--text-main); }
html[data-theme="light"] .v2-shell .v2-stat-num { color: var(--text-main) !important; }
html[data-theme="light"] .v2-shell .v2-stat:nth-child(2) .v2-stat-num { color: var(--accent-teal) !important; }
html[data-theme="light"] .v2-shell .v2-stat:nth-child(3) .v2-stat-num { color: var(--brand) !important; }
html[data-theme="light"] .v2-shell .v2-stat:nth-child(4) .v2-stat-num { color: var(--warning) !important; }
html[data-theme="light"] .v2-shell .v2-tab {
    background: var(--bg-secondary);
    color: var(--text-soft);
    border-color: var(--border-strong);
}
html[data-theme="light"] .v2-shell .v2-tab:hover { background: var(--brand-soft); color: var(--brand); }
html[data-theme="light"] .v2-shell .v2-tab.active {
    background: var(--brand);
    color: #ffffff;
    border-color: var(--brand);
}
html[data-theme="light"] .v2-shell .v2-tab .cnt { background: var(--surface-raised); }
html[data-theme="light"] .v2-shell .v2-tab.active .cnt { background: rgba(0, 0, 0, .16); }
html[data-theme="light"] .v2-shell .v2-card {
    background: var(--card-bg-solid);
    border-color: var(--border);
    box-shadow: var(--shadow-card);
}
html[data-theme="light"] .v2-shell .v2-card:hover { border-color: var(--accent-teal); }
html[data-theme="light"] .v2-shell :is(.v2-card-img, .v2-card-img-ph) { background: var(--surface-raised); }
html[data-theme="light"] .v2-shell .v2-card-footer { border-color: var(--border); }
html[data-theme="light"] .v2-shell .v2-btn-edit {
    background: var(--surface-raised);
    color: var(--text-soft);
    border-color: var(--border-strong);
}
html[data-theme="light"] .v2-shell .v2-btn-edit:hover {
    background: var(--brand-soft);
    color: var(--brand);
    border-color: var(--brand);
}
html[data-theme="light"] .v2-shell .v2-badge-prod {
    background: #e7f5f1;
    color: #076b5e;
    border-color: #b5ded2;
}
html[data-theme="light"] .v2-shell :is(.v2-badge-svc, .v2-emp-chip) {
    background: var(--brand-soft);
    color: var(--brand);
    border-color: #cbd1f7;
}
html[data-theme="light"] .v2-shell .v2-badge-cat {
    background: var(--surface-raised);
    color: var(--text-muted);
    border-color: var(--border);
}
html[data-theme="light"] .v2-shell .v2-badge-hot {
    background: #fff4df;
    color: var(--warning);
    border-color: #eed5a8;
}

/* ---- Light-theme readability pass: CRM / Clinic / Dashboard / Catalogue ----
   Views hardcode dark-theme pastel text colours inline. Remap them to AA-contrast
   equivalents. Match on "color:#x" / "color: #x" only (never bare hex) so backgrounds
   and gradients are untouched. Chat.cshtml (standalone dark .chat-shell) is excluded. */
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#10b981"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #10b981"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#34d399"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #34d399"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#4ade80"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #4ade80"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#22c55e"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #22c55e"] { color: #047857 !important; }
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#2dd4bf"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #2dd4bf"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#5eead4"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #5eead4"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#14b8a6"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #14b8a6"] { color: var(--accent-teal) !important; }
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#60a5fa"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #60a5fa"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#93c5fd"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #93c5fd"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#38bdf8"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #38bdf8"] { color: #1d4ed8 !important; }
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#c084fc"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #c084fc"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#a78bfa"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #a78bfa"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#8b5cf6"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #8b5cf6"] { color: #6d28d9 !important; }
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#c7d2fe"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #c7d2fe"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#818cf8"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #818cf8"] { color: #3730a3 !important; }
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#fbbf24"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #fbbf24"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#fde68a"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #fde68a"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#fed7aa"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #fed7aa"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#d97706"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #d97706"] { color: var(--warning) !important; }
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#f87171"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #f87171"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#fca5a5"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #fca5a5"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#ef4444"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #ef4444"] { color: var(--danger) !important; }
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#e2e8f0"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #e2e8f0"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#f1f5f9"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #f1f5f9"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#f8fafc"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #f8fafc"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#cbd5e1"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #cbd5e1"] { color: var(--text-main) !important; }
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#94a3b8"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #94a3b8"] { color: var(--text-muted) !important; }
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:rgba(226,232,240"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: rgba(226,232,240"] { color: var(--text-muted) !important; }

/* Badge classes (premium.css) use pastel ink designed for dark pages. */
html[data-theme="light"] .badge-primary { color: var(--accent-teal); background: rgba(8, 127, 112, .05); border-color: rgba(8, 127, 112, .28); }
html[data-theme="light"] .badge-success { color: #047857; background: rgba(21, 128, 61, .10); border-color: rgba(21, 128, 61, .28); }
html[data-theme="light"] .badge-warning { color: var(--warning); background: rgba(161, 98, 7, .05); border-color: rgba(161, 98, 7, .28); }
html[data-theme="light"] .badge-danger { color: var(--danger); background: rgba(190, 18, 60, .08); border-color: rgba(190, 18, 60, .25); }
html[data-theme="light"] .badge-gold { color: var(--warning); background: rgba(161, 98, 7, .05); border-color: rgba(161, 98, 7, .28); }
html[data-theme="light"] .text-gold { color: var(--warning); text-shadow: none; }

/* Dark inline dropdowns / search-result boxes: lighten bg and text together. */
html[data-theme="light"] :is(.dropdown-menu[style*="rgba(10,16,30"], #npCustomerResults, #llResults) {
    background: #ffffff !important; border-color: var(--border-strong) !important; box-shadow: var(--shadow-float) !important;
}
html[data-theme="light"] .dd-item { color: var(--text-main); }
html[data-theme="light"] .dd-item:hover { background: var(--brand-soft); }
html[data-theme="light"] .dd-danger { color: var(--danger) !important; }
html[data-theme="light"] .dd-danger:hover { background: rgba(190, 18, 60, .08) !important; }

/* CRM lead row menu + side-panel actions. */
html[data-theme="light"] .dropdown-premium { background: #ffffff !important; box-shadow: var(--shadow-float) !important; }
html[data-theme="light"] .dropdown-premium .dropdown-item:hover { background: var(--brand-soft) !important; color: var(--brand) !important; }
html[data-theme="light"] .dropdown-premium .dropdown-item.text-danger:hover { background: rgba(190, 18, 60, .08) !important; color: var(--danger) !important; }
html[data-theme="light"] .btn-danger-premium { color: var(--danger); background: rgba(190, 18, 60, .08); border-color: rgba(190, 18, 60, .25); }
html[data-theme="light"] .btn-danger-premium:hover { background: var(--danger); color: #ffffff; }
html[data-theme="light"] .btn-icon-sm:hover { background: var(--brand-soft); color: var(--brand); }
html[data-theme="light"] .bot-action-btn { color: var(--text-soft); background: var(--surface-raised); }
html[data-theme="light"] .bot-action-btn:hover { color: var(--brand); background: var(--brand-soft); }
html[data-theme="light"] .bot-action-btn.danger { color: var(--danger); }
html[data-theme="light"] .bot-action-btn.danger:hover { color: var(--danger); background: rgba(190, 18, 60, .08); border-color: var(--danger); }

/* Dashboard revenue / catalogue category drawer. */
html[data-theme="light"] #categoryDrawer { background: #ffffff !important; box-shadow: var(--shadow-float); }

/* Bots list: pastel status/test ink is unreadable on white cards. */
html[data-theme="light"] .bot-status-pill { color: #047857; background: rgba(21, 128, 61, .08); border-color: rgba(21, 128, 61, .25); }
html[data-theme="light"] .pulse-dot { background-color: #16a34a; }
html[data-theme="light"] :is(.btn-test-manual, .btn-test-manual:hover) { color: #047857; }
html[data-theme="light"] :is(.btn-test-auto, .btn-test-auto:hover) { color: #6d28d9; }
html[data-theme="light"] .bot-provider-tag.official { color: #1d4ed8; }
html[data-theme="light"] .bot-provider-tag.evolution { color: var(--text-muted); }
html[data-theme="light"] .bot-creator { color: var(--text-muted); }
html[data-theme="light"] .del-bot-name-label { color: var(--brand); }
html[data-theme="light"] .del-bot-modal { box-shadow: var(--shadow-float); }
/* Headings painted white inline for dark pages. */
html[data-theme="light"] main :is(h1, h2, h3, h4, h5, h6):is([style*="color: #fff"], [style*="color:#fff"], [style*="color: white"], [style*="color:white"]) { color: var(--text-main) !important; }

/* Bot editor: Quill toolbar icons and hex inputs inside the disabled colour grid. */
html[data-theme="light"] .ql-snow .ql-stroke { stroke: var(--text-soft); }
html[data-theme="light"] .ql-snow .ql-fill { fill: var(--text-soft); }
html[data-theme="light"] .ql-snow :is(.ql-picker, .ql-picker-label) { color: var(--text-soft); }
html[data-theme="light"] .ql-snow .ql-picker-options { background: #ffffff; border-color: var(--border-strong); }

html[data-theme="light"] .btn-save-section { color: var(--brand) !important; background: var(--brand-soft) !important; border-color: #c5cbf5 !important; }
html[data-theme="light"] .btn-save-section:hover { color: #ffffff !important; background: var(--brand) !important; }
html[data-theme="light"] { --secondary: #0e7490; }

/* More dark-page pastel inks used inline across views. */
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#22d3ee"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #22d3ee"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#67e8f9"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #67e8f9"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#06b6d4"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #06b6d4"] { color: #0e7490 !important; }
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#a5b4fc"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #a5b4fc"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#c4b5fd"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #c4b5fd"] { color: #4338ca !important; }
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#86efac"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #86efac"] { color: #047857 !important; }
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#fecaca"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #fecaca"] { color: var(--danger) !important; }
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#facc15"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #facc15"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#eab308"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #eab308"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#f59e0b"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #f59e0b"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#f97316"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #f97316"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color:#fb923c"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="color: #fb923c"] { color: #b45309 !important; }

/* Section kicker (fabrica-os.css) is pale indigo for dark pages. */
html[data-theme="light"] .os-kicker { color: var(--brand); }
/* Gradient headings: icons inside them carry their own white-to-colour gradient. */
html[data-theme="light"] :is(h1[style*="background-clip: text"], h1[style*="background-clip:text"]) :is([style*="background-clip: text"], [style*="background-clip:text"]) {
    background: none !important;
    color: var(--brand) !important;
    -webkit-text-fill-color: var(--brand) !important;
}

/* Workspace is a self-contained dark scene (its own --ws-* palette and dark
   gradients); keep the shared tokens dark inside it so its chips stay legible. */
html[data-theme="light"] :is(.ws-page, .ws-meeting-overlay, .ws-invite-backdrop, .ws-cfg-backdrop) {
    --bg-main: #07090f;
    --bg-secondary: #0b0f18;
    --card-bg: rgba(15, 20, 31, .82);
    --card-bg-solid: #0f141f;
    --surface-raised: #151b28;
    --surface-hover: #1a2231;
    --border: rgba(157, 173, 204, .14);
    --border-strong: rgba(157, 173, 204, .24);
    --text-main: #f4f7fb;
    --text-muted: #8994a8;
    --text-soft: #b9c1cf;
    --text-bright: #ffffff;
    --accent-teal: #5eead4;
    --accent-cyan: #60a5fa;
    --brand: #6d7cff;
    --brand-bright: #91a0ff;
    --brand-soft: rgba(109, 124, 255, .14);
    --success: #34d399;
    --warning: #fbbf24;
    --danger: #fb7185;
    color: var(--text-main);
    color-scheme: dark;
}
html[data-theme="light"] :is(.ws-page, .ws-meeting-overlay, .ws-invite-backdrop, .ws-cfg-backdrop) :is(input, textarea, select) {
    background-color: rgba(2, 6, 23, .55) !important;
    color: var(--text-main) !important;
    border-color: var(--border-strong) !important;
}

/* Workspace Plans: dark cards, pills and selects. */
html[data-theme="light"] :is(.wp-card, .wp-task-card) { background: var(--card-bg-solid); border-color: var(--border); box-shadow: var(--shadow-card); }
html[data-theme="light"] :is(.wp-plan-item, .wp-panel) { background: var(--surface-raised); border-color: var(--border); }
html[data-theme="light"] :is(.wp-plan-item:hover, .wp-plan-item.active) { background: var(--brand-soft); }
html[data-theme="light"] :is(.wp-title, .wp-plan-item-title, .wp-section-title, .wp-task-title, .wp-task-desc) { color: var(--text-main); }
html[data-theme="light"] :is(.wp-subtitle, .wp-plan-item-meta, .wp-plan-participants, .wp-empty, .wp-task-meta, .wp-task-output, .wp-plan-body) { color: var(--text-muted); }
html[data-theme="light"] .wp-btn:not(.success, .primary, .warn) { background: var(--surface-raised); color: var(--text-main); border: 1px solid var(--border-strong); }
html[data-theme="light"] .wp-select { background: #ffffff; color: var(--text-main); border-color: var(--border-strong); }
html[data-theme="light"] .wp-pill { background: var(--surface-raised); color: var(--text-soft); }
html[data-theme="light"] .wp-pill.completed { background: rgba(21, 128, 61, .10); color: #047857; }
html[data-theme="light"] :is(.wp-pill.running, .wp-pill.agent-mode) { background: rgba(29, 78, 216, .08); color: #1d4ed8; }
html[data-theme="light"] :is(.wp-pill.queued, .wp-pill.either-mode) { background: rgba(161, 98, 7, .10); color: var(--warning); }
html[data-theme="light"] .wp-pill.failed { background: rgba(190, 18, 60, .08); color: var(--danger); }
html[data-theme="light"] .wp-pill.human { background: rgba(109, 40, 217, .08); color: #6d28d9; }

/* Inline translucent slate panels/inputs (dark-page surfaces) become raised light surfaces. */
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background: rgba(15, 23, 42"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background: rgba(15,23,42"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background: rgba(30, 41, 59"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background: rgba(30,41,59"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background: rgba(2, 6, 23"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background: rgba(2,6,23"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background: #0f172a"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background: #1e293b"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background: #111827"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background:rgba(15, 23, 42"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background:rgba(15,23,42"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background:rgba(30, 41, 59"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background:rgba(30,41,59"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background:rgba(2, 6, 23"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background:rgba(2,6,23"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background:#0f172a"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background:#1e293b"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background:#111827"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background-color: rgba(15, 23, 42"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background-color: rgba(15,23,42"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background-color: rgba(30, 41, 59"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background-color: rgba(30,41,59"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background-color: rgba(2, 6, 23"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background-color: rgba(2,6,23"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background-color: #0f172a"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background-color: #1e293b"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background-color: #111827"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background-color:rgba(15, 23, 42"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background-color:rgba(15,23,42"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background-color:rgba(30, 41, 59"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background-color:rgba(30,41,59"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background-color:rgba(2, 6, 23"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background-color:rgba(2,6,23"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background-color:#0f172a"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background-color:#1e293b"],
html[data-theme="light"] main:not(:has(.chat-shell, .ws-page)) [style*="background-color:#111827"] {
    background-color: var(--surface-raised) !important;
    background-image: none !important;
    border-color: var(--border) !important;
}

/* Notifications: push panel, status badges and the admin broadcast drawer. */
html[data-theme="light"] .notif-title { color: var(--text-main); }
html[data-theme="light"] .push-panel { background: var(--card-bg-solid); border-color: var(--border); box-shadow: var(--shadow-card); }
html[data-theme="light"] .push-status { color: var(--text-main); }
html[data-theme="light"] .badge-status.active { color: #047857; }
html[data-theme="light"] .badge-status.inactive { color: var(--danger); }
html[data-theme="light"] .badge-status.denied { color: var(--warning); }
html[data-theme="light"] .offcanvas-overlay { background: rgba(24, 35, 56, .4); }
html[data-theme="light"] .offcanvas-drawer { background: var(--card-bg-solid); border-color: var(--border); box-shadow: var(--shadow-float); color: var(--text-main); }
html[data-theme="light"] .offcanvas-header { background: var(--surface-raised); border-color: var(--border); }
html[data-theme="light"] .offcanvas-field label { color: var(--text-soft); }
html[data-theme="light"] .btn-action { color: #6d28d9; background: rgba(109, 40, 217, .08); border-color: rgba(109, 40, 217, .3); }
html[data-theme="light"] .btn-action:hover { color: #5b21b6; background: rgba(109, 40, 217, .14); }

/* Bot flow tutorial: white-alpha surfaces vanish on light pages. */
html[data-theme="light"] :is(.tutorial-step-btn, .tutorial-callout, .tutorial-subtab-btn, .tutorial-carousel-nav, .tutorial-carousel-card) {
    background: var(--surface-raised); border-color: var(--border);
}
html[data-theme="light"] .tutorial-step-btn span { background: var(--card-bg-solid); }
html[data-theme="light"] :is(.tutorial-step-btn:hover, .tutorial-step-btn.active, .tutorial-subtab-btn.active) { background: var(--brand-soft); border-color: var(--brand); }
html[data-theme="light"] .tutorial-tags code { background: var(--surface-raised); border-color: var(--border); color: var(--text-main); }
html[data-theme="light"] .tutorial-carousel-meta { color: var(--text-soft); }
html[data-theme="light"] .tutorial-carousel-tags span { color: #1d4ed8; border-color: rgba(29, 78, 216, .25); background: rgba(29, 78, 216, .07); }

/* Sales target thermometer (Reports/Sales, Sales). */
html[data-theme="light"] .thermometer-container { background: var(--surface-raised) !important; }
html[data-theme="light"] .thermometer-container > [style*="text-shadow"] { text-shadow: 0 0 6px rgba(255, 255, 255, .9) !important; }

/* Shared surfaces in fabrica-os.css that keep hardcoded dark fills. */
html[data-theme="light"] .table-responsive { background: var(--card-bg-solid); border-color: var(--border); }
html[data-theme="light"] .dropdown-menu { background: #ffffff; border-color: var(--border-strong); box-shadow: var(--shadow-float); }
html[data-theme="light"] .dropdown-item:hover { color: var(--brand); }

/* System visibility dashboard. */
html[data-theme="light"] .sld-badge-count { color: #047857; background: rgba(21, 128, 61, .10); }
html[data-theme="light"] :is(.sld-btn-danger, .sld-btn-danger:hover) { color: var(--danger); }
/* Log viewer (SystemLogs/Index) is a self-contained dark console; keep its Bootstrap modals dark too. */
html[data-theme="light"] :is(#logDetailModal, #clearLogsModal) .modal-content,
html[data-theme="light"] #logDetailModal .modal-header {
    background: #1e2130 !important; color: #e2e8f0; border-color: #2d324a !important;
}

/* Admin landpage generator. */
html[data-theme="light"] .gen-shell .gen-hero { background: linear-gradient(120deg, #ffffff, #e9f6f3) !important; border-color: var(--border) !important; }
html[data-theme="light"] .gen-shell :is(.gen-card, .gen-side) { background: var(--card-bg-solid); border-color: var(--border); box-shadow: var(--shadow-card); }
html[data-theme="light"] .gen-shell .gen-kicker { color: var(--accent-teal); }
html[data-theme="light"] .gen-shell :is(.gen-title, .skill-title, .model-card) { color: var(--text-main); }
html[data-theme="light"] .gen-shell :is(.gen-subtitle, .field-label, .field-help, .meta-row, .skill-copy, .skill-summary, .adv-toggle, .side-title, .side-note, .icon-btn) { color: var(--text-muted); }
html[data-theme="light"] .gen-shell .gen-input { background: #ffffff; color: var(--text-main); border-color: var(--border-strong); }
html[data-theme="light"] .gen-shell :is(.link-chip, .quick-chip, .preset-chip, .result-link, .icon-btn, .skill-card, .skill-summary, .model-card) {
    background: var(--surface-raised); border-color: var(--border); color: var(--text-soft);
}
html[data-theme="light"] .gen-shell :is(.preset-chip.active, .preset-chip:hover, .quick-chip:hover, .link-chip:hover, .skill-card.active, .model-card.active) {
    background: rgba(8, 127, 112, .08); border-color: var(--accent-teal); color: var(--text-main);
}
html[data-theme="light"] .gen-shell .skill-card.active .skill-check { color: var(--accent-teal); }
/* Plain text inputs share the dark fill from fabrica-os.css. */
html[data-theme="light"] input:not([type='checkbox']):not([type='radio']):not([type='hidden']):not([type='range']):not([type='color']) {
    background-color: #ffffff; color: var(--text-main);
}

/* Appointments: remaining calendar ink. */
html[data-theme="light"] :is(.tg-mobile-nav-label, .cdi-customer) { color: var(--text-main); }
html[data-theme="light"] .calendar-day-item:hover { background: var(--surface-hover) !important; }

/* Form validation ink tuned for dark pages. */
html[data-theme="light"] .text-danger { color: var(--danger) !important; }
html[data-theme="light"] .alert-danger { color: var(--danger); }
html[data-theme="light"] .btn-ai-action:not(:hover) { color: var(--brand); }

/* Product editor (ProductsV2/Edit) hero, sections and chips. */
html[data-theme="light"] .product-edit-hero { background: linear-gradient(120deg, #ffffff, #e9f6f3) !important; border-color: var(--border) !important; }
html[data-theme="light"] .product-edit-section { background: var(--card-bg-solid); border-color: var(--border); box-shadow: var(--shadow-card); }
html[data-theme="light"] .product-edit-upload-panel { background: rgba(8, 127, 112, .05); }
html[data-theme="light"] :is(.product-edit-kicker, .product-edit-schedule-trigger) { color: var(--accent-teal); }
html[data-theme="light"] .product-edit-stat-value { color: var(--text-main); }
html[data-theme="light"] :is(.product-edit-stat, .product-edit-gallery-card, .product-edit-summary-chip, .product-edit-switch-row, .product-edit-cancel, .product-edit-gallery-empty) {
    background: var(--surface-raised);
}
html[data-theme="light"] .product-edit-switch-row:hover { background: var(--surface-hover); }
html[data-theme="light"] .product-edit-switch-slider { background: var(--border-strong); }
html[data-theme="light"] .product-edit-switch input:checked + .product-edit-switch-slider { background: #22c55e; }
html[data-theme="light"] .product-edit-switch-info > i { color: var(--accent-teal); }
html[data-theme="light"] .product-upload-hint.is-processing { color: var(--warning); }
html[data-theme="light"] .product-upload-hint.is-ready { color: #047857; }

/* Live logs table (WebhookLogs/Live); the console view stays a dark terminal. */
html[data-theme="light"] .view-toggle { background: var(--surface-raised) !important; border-color: var(--border-strong) !important; }
html[data-theme="light"] .live-card { background: var(--card-bg-solid); box-shadow: var(--shadow-card); }
html[data-theme="light"] .live-table td { border-color: var(--border); }
html[data-theme="light"] .live-code { background: var(--surface-raised); border-color: var(--border); color: var(--text-main); }
html[data-theme="light"] .live-pill.info { color: #1d4ed8; }
html[data-theme="light"] .live-pill.warn { color: var(--warning); }
html[data-theme="light"] :is(.live-pill.error, .live-pill.fail) { color: var(--danger); }
html[data-theme="light"] .live-pill.debug { color: var(--text-soft); }

/* Admin landpage list and AI editor (code pane stays a dark editor). */
html[data-theme="light"] :is(.lp-table-wrap, .lp-search-input, .lp-page-btn:not(.active)) { background: var(--card-bg-solid); border-color: var(--border); }
html[data-theme="light"] .lp-table thead th { background: var(--surface-raised); }
html[data-theme="light"] :is(.lp-table tbody td, .lp-search-input) { color: var(--text-main); }
html[data-theme="light"] :is(.lp-date-cell, .lp-stats) { color: var(--text-muted); }
html[data-theme="light"] .lp-act-edit { color: #6d28d9; }
html[data-theme="light"] .lp-act-view { color: #0369a1; }
html[data-theme="light"] .lp-act-del { color: var(--danger); }
html[data-theme="light"] .editor-shell :is(.editor-toolbar, .pane-label, .chat-header, .chat-input-area, .chat-img-preview) { background: var(--surface-raised); border-color: var(--border); }
html[data-theme="light"] .editor-shell #regenPanel { background: var(--surface-raised) !important; }
html[data-theme="light"] .editor-shell .chat-panel { background: var(--card-bg-solid); border-color: var(--border); }
html[data-theme="light"] .editor-shell :is(.chat-msg.assistant, .chat-msg.thinking) { background: var(--surface-raised); color: var(--text-main); }
html[data-theme="light"] .editor-shell .chat-msg.user { color: var(--text-main); }
html[data-theme="light"] .editor-shell .chat-input { background: #ffffff; color: var(--text-main); border-color: var(--border-strong); }
html[data-theme="light"] .editor-shell .editor-title-input { background: transparent !important; color: var(--text-main) !important; }
html[data-theme="light"] .app-preview { background: var(--card-bg-solid); border-color: var(--border); }
html[data-theme="light"] .app-preview-list { color: var(--text-muted); }
html[data-theme="light"] :is(.campaign-kicker, .view-toggle-btn:not(.active)) { color: var(--text-muted); }
