/* Dark Mode Specific Fixes and Adjustments */

/* Override any light mode colors that slip through */
.dark-mode {
    color-scheme: dark;
}

/* Scrollbar styling for dark mode */
.dark-mode ::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

.dark-mode ::-webkit-scrollbar-track {
    background: #1a1d24;
}

.dark-mode ::-webkit-scrollbar-thumb {
    background: #3a3f4b;
    border-radius: 5px;
}

.dark-mode ::-webkit-scrollbar-thumb:hover {
    background: #4a4f5b;
}

/* Input placeholders */
.dark-mode input::placeholder,
.dark-mode textarea::placeholder {
    color: #6c757d;
    opacity: 1;
}

/* Focus states */
.dark-mode input:focus,
.dark-mode textarea:focus,
.dark-mode select:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

/* Dropdown menus */
.dark-mode .dropdown-menu {
    background: #2c3340;
    border-color: #3a3f4b;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.dark-mode .dropdown-item {
    color: #e9ecef;
}

.dark-mode .dropdown-item:hover {
    background: #3a3f4b;
    color: #fff;
}

/* Tooltips */
.dark-mode .tooltip {
    background: #2c3340;
    color: #e9ecef;
    border: 1px solid #3a3f4b;
}

/* Code blocks */
.dark-mode code,
.dark-mode pre {
    background: #1a1d24;
    color: #e9ecef;
    border: 1px solid #3a3f4b;
}

/* Tables */
.dark-mode table {
    color: #e9ecef;
    border-color: #3a3f4b;
}

.dark-mode table thead {
    background: #2c3340;
    border-bottom: 2px solid #3a3f4b;
}

.dark-mode table tbody tr {
    border-bottom: 1px solid #3a3f4b;
}

.dark-mode table tbody tr:hover {
    background: #2c3340;
}

/* Badges */
.dark-mode .badge {
    background: #3a3f4b;
    color: #e9ecef;
}

.dark-mode .badge.badge-primary {
    background: var(--primary-color);
    color: white;
}

.dark-mode .badge.badge-success {
    background: #28a745;
    color: white;
}

.dark-mode .badge.badge-warning {
    background: #ffc107;
    color: #212529;
}

.dark-mode .badge.badge-danger {
    background: #c084fc;
    color: white;
}

/* Status indicators */
.dark-mode .status-dot {
    background: currentColor;
}

.dark-mode .status-online {
    color: #28a745;
}

.dark-mode .status-offline {
    color: #6c757d;
}

.dark-mode .status-away {
    color: #ffc107;
}

/* Selection */
.dark-mode ::selection {
    background: rgba(0, 123, 255, 0.3);
    color: #fff;
}

/* Dividers */
.dark-mode hr {
    border-color: #3a3f4b;
}

/* Loading spinners */
.dark-mode .spinner,
.dark-mode .loading-spinner {
    border-color: #3a3f4b;
    border-top-color: var(--primary-color);
}

/* Progress bars */
.dark-mode .progress {
    background: #1a1d24;
}

.dark-mode .progress-bar {
    background: var(--primary-color);
}

/* Alerts */
.dark-mode .alert {
    border-color: #3a3f4b;
}

.dark-mode .alert-info {
    background: #17a2b8;
    color: white;
    border-color: #17a2b8;
}

.dark-mode .alert-success {
    background: #28a745;
    color: white;
    border-color: #28a745;
}

.dark-mode .alert-warning {
    background: #ffc107;
    color: #212529;
    border-color: #ffc107;
}

.dark-mode .alert-danger {
    background: #dc3545;
    color: white;
    border-color: #dc3545;
}

/* File upload areas */
.dark-mode .file-upload-area {
    background: #2c3340;
    border: 2px dashed #3a3f4b;
    color: #e9ecef;
}

.dark-mode .file-upload-area:hover {
    border-color: var(--primary-color);
    background: #3a3f4b;
}

/* Checkbox and radio custom styles */
.dark-mode input[type="checkbox"],
.dark-mode input[type="radio"] {
    accent-color: var(--primary-color);
}

/* Date picker */
.dark-mode input[type="date"],
.dark-mode input[type="time"],
.dark-mode input[type="datetime-local"] {
    color-scheme: dark;
}

/* Search highlights */
.dark-mode mark,
.dark-mode .highlight {
    background: rgba(255, 193, 7, 0.3);
    color: #ffc107;
}

/* Skeleton loading */
.dark-mode .skeleton {
    background: linear-gradient(
        90deg,
        #2c3340 25%,
        #3a3f4b 50%,
        #2c3340 75%
    );
    background-size: 200% 100%;
}

/* Context menu fix */
.dark-mode .context-menu {
    background: #2c3340;
    border-color: #3a3f4b;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
}

/* Editor specific fixes */
.dark-mode .ql-toolbar,
.dark-mode .ql-container {
    background: #2c3340;
    border-color: #3a3f4b;
    color: #e9ecef;
}

.dark-mode .ql-editor {
    color: #e9ecef;
}

.dark-mode .ql-editor.ql-blank::before {
    color: #6c757d;
}

/* Calendar view fixes */
.dark-mode .calendar-day {
    background: #2c3340;
    border-color: #3a3f4b;
}

.dark-mode .calendar-day:hover {
    background: #3a3f4b;
}

.dark-mode .calendar-day.today {
    background: rgba(0, 123, 255, 0.2);
    border-color: var(--primary-color);
}

/* Image and media fixes */
.dark-mode img {
    opacity: 0.9;
}

.dark-mode img:hover {
    opacity: 1;
}

/* Link colors */
.dark-mode a {
    color: #4da3ff;
}

.dark-mode a:hover {
    color: #80bdff;
}

/* Print fixes */
@media print {
    .dark-mode {
        background: white !important;
        color: black !important;
    }
    
    .dark-mode * {
        background: white !important;
        color: black !important;
        border-color: black !important;
    }
}

/* =====================================================================================
   2026-09-07 — MODALITA' SCURA GLOBALE per gli stili INLINE dei template JS.
   Le viste costruiscono HTML con colori fissi (background:white, color:#374151, border #e5e7eb…):
   qui si intercettano le stringhe ESATTE piu' frequenti (inventario su tutte le viste) e si
   rimappano sulla palette scura. I colori di brand/stato (indigo, verde, rosso, bianco su fondo
   colorato) NON vengono toccati. Selettori per sottostringa dell'attributo style, quindi vale la
   scrittura esatta (con e senza spazio dopo i due punti).
   ===================================================================================== */

/* --- sfondi chiari → superfici scure --- */
[data-theme="dark"] [style*="background:white"],
[data-theme="dark"] [style*="background: white"],
[data-theme="dark"] [style*="background:#fff"],
[data-theme="dark"] [style*="background: #fff"],
[data-theme="dark"] [style*="background:#FFF"],
[data-theme="dark"] [style*="background-color:white"],
[data-theme="dark"] [style*="background-color: white"],
[data-theme="dark"] [style*="background-color:#fff"],
[data-theme="dark"] [style*="background-color: #fff"],
[data-theme="dark"] [style*="background:var(--card-bg,#fff)"],
[data-theme="dark"] [style*="background:var(--card-bg, #fff)"] {
  background: var(--card-bg, #1f2937) !important;
}
[data-theme="dark"] [style*="background:#f9fafb"],
[data-theme="dark"] [style*="background: #f9fafb"],
[data-theme="dark"] [style*="background:#f3f4f6"],
[data-theme="dark"] [style*="background: #f3f4f6"],
[data-theme="dark"] [style*="background:#f8fafc"],
[data-theme="dark"] [style*="background: #f8fafc"],
[data-theme="dark"] [style*="background:#fafafa"],
[data-theme="dark"] [style*="background:#f5f5f5"],
[data-theme="dark"] [style*="background:#f7f7fa"],
[data-theme="dark"] [style*="background-color:#f9fafb"],
[data-theme="dark"] [style*="background-color:#f3f4f6"],
[data-theme="dark"] [style*="background-color: #f9fafb"],
[data-theme="dark"] [style*="background-color: #f3f4f6"],
[data-theme="dark"] [style*="background:var(--bg-secondary,#f9fafb)"],
[data-theme="dark"] [style*="background:var(--bg-secondary, #f9fafb)"] {
  background: var(--bg-tertiary, #374151) !important;
}
[data-theme="dark"] [style*="background:#e5e7eb"],
[data-theme="dark"] [style*="background: #e5e7eb"],
[data-theme="dark"] [style*="background:#d1d5db"] {
  background: var(--border-light, #4b5563) !important;
}
/* tinte pastello di stato → stessa tinta, trasparente sul fondo scuro */
[data-theme="dark"] [style*="background:#eef2ff"], [data-theme="dark"] [style*="background: #eef2ff"],
[data-theme="dark"] [style*="background:#e0e7ff"], [data-theme="dark"] [style*="background:#f0f4ff"] { background: rgba(99,102,241,.18) !important; }
[data-theme="dark"] [style*="background:#fef2f2"], [data-theme="dark"] [style*="background: #fef2f2"],
[data-theme="dark"] [style*="background:#fee2e2"] { background: rgba(239,68,68,.16) !important; }
[data-theme="dark"] [style*="background:#fef3c7"], [data-theme="dark"] [style*="background: #fef3c7"],
[data-theme="dark"] [style*="background:#fffbeb"], [data-theme="dark"] [style*="background: #fffbeb"],
[data-theme="dark"] [style*="background:#fffdf5"] { background: rgba(245,158,11,.16) !important; }
[data-theme="dark"] [style*="background:#dcfce7"], [data-theme="dark"] [style*="background:#d1fae5"],
[data-theme="dark"] [style*="background:#ecfdf5"], [data-theme="dark"] [style*="background:#f0fdf4"] { background: rgba(16,185,129,.16) !important; }
[data-theme="dark"] [style*="background:#faf5ff"], [data-theme="dark"] [style*="background:#f3e8ff"],
[data-theme="dark"] [style*="background:#ede9fe"] { background: rgba(139,92,246,.18) !important; }
[data-theme="dark"] [style*="background:#eff6ff"], [data-theme="dark"] [style*="background:#dbeafe"] { background: rgba(59,130,246,.16) !important; }
/* stesse tinte pastello scritte con lo spazio dopo i due punti (es. badge stato ChatlifyAI) */
[data-theme="dark"] [style*="background: #d1fae5"], [data-theme="dark"] [style*="background: #dcfce7"],
[data-theme="dark"] [style*="background: #ecfdf5"], [data-theme="dark"] [style*="background: #f0fdf4"] { background: rgba(16,185,129,.16) !important; }
[data-theme="dark"] [style*="background: #fee2e2"] { background: rgba(239,68,68,.16) !important; }
[data-theme="dark"] [style*="background: #e0e7ff"], [data-theme="dark"] [style*="background: #f0f4ff"] { background: rgba(99,102,241,.18) !important; }
[data-theme="dark"] [style*="background: #faf5ff"], [data-theme="dark"] [style*="background: #f3e8ff"], [data-theme="dark"] [style*="background: #ede9fe"] { background: rgba(139,92,246,.18) !important; }
[data-theme="dark"] [style*="background: #eff6ff"], [data-theme="dark"] [style*="background: #dbeafe"] { background: rgba(59,130,246,.16) !important; }
[data-theme="dark"] [style*="background: #fafafa"], [data-theme="dark"] [style*="background: #f5f5f5"], [data-theme="dark"] [style*="background: #f8fafc"] { background: var(--bg-tertiary, #374151) !important; }
[data-theme="dark"] [style*="background: #e5e7eb"], [data-theme="dark"] [style*="background: #d1d5db"] { background: var(--border-light, #4b5563) !important; }

/* barra in alto nelle pagine canale (Canali/Email/WhatsApp/Chat interna): campo di ricerca globale */
[data-theme="dark"] body:has(#main-content:is(.page-channels, .page-email, .page-chat, .page-internal-chat)) .top-nav .global-search input,
[data-theme="dark"] body:has(#main-content:is(.page-channels, .page-email, .page-chat, .page-internal-chat)) .top-nav #global-search-input {
  background: var(--bg-secondary, #111827) !important; color: var(--text-primary, #f9fafb) !important; border-color: var(--border-color, #374151) !important;
}
[data-theme="dark"] body:has(#main-content:is(.page-channels, .page-email, .page-chat, .page-internal-chat)) .top-nav #global-search-input::placeholder { color: var(--text-tertiary, #9ca3af); }

/* --- testi scuri → chiari --- */
[data-theme="dark"] [style*="color:#111827"], [data-theme="dark"] [style*="color: #111827"],
[data-theme="dark"] [style*="color:#1f2937"], [data-theme="dark"] [style*="color: #1f2937"],
[data-theme="dark"] [style*="color:#374151"], [data-theme="dark"] [style*="color: #374151"],
[data-theme="dark"] [style*="color:#0f172a"], [data-theme="dark"] [style*="color:#1e293b"],
[data-theme="dark"] [style*="color:#111b21"], [data-theme="dark"] [style*="color:#222"],
[data-theme="dark"] [style*="color:#333"], [data-theme="dark"] [style*="color: #333"],
[data-theme="dark"] [style*="color:#000"], [data-theme="dark"] [style*="color:black"],
[data-theme="dark"] [style*="color:var(--text-primary,#111827)"], [data-theme="dark"] [style*="color:var(--text-primary,#1f2937)"],
[data-theme="dark"] [style*="color:var(--text-color,#111827)"], [data-theme="dark"] [style*="color:var(--text-color,#1f2937)"] {
  color: var(--text-primary, #f9fafb) !important;
}
[data-theme="dark"] [style*="color:#6b7280"], [data-theme="dark"] [style*="color: #6b7280"],
[data-theme="dark"] [style*="color:#4b5563"], [data-theme="dark"] [style*="color: #4b5563"],
[data-theme="dark"] [style*="color:#667781"], [data-theme="dark"] [style*="color:#64748b"],
[data-theme="dark"] [style*="color:#555"], [data-theme="dark"] [style*="color:#666"], [data-theme="dark"] [style*="color: #666"],
[data-theme="dark"] [style*="color:#475569"], [data-theme="dark"] [style*="color:#54656f"],
[data-theme="dark"] [style*="color:var(--text-secondary,#6b7280)"], [data-theme="dark"] [style*="color:var(--text-secondary, #6b7280)"] {
  color: var(--text-secondary, #d1d5db) !important;
}

/* --- bordi chiari → bordi scuri --- */
[data-theme="dark"] [style*="solid #e5e7eb"], [data-theme="dark"] [style*="solid #d1d5db"],
[data-theme="dark"] [style*="solid #f3f4f6"], [data-theme="dark"] [style*="solid #e2e8f0"],
[data-theme="dark"] [style*="solid #eee"], [data-theme="dark"] [style*="solid #ddd"],
[data-theme="dark"] [style*="solid #f2f2f2"], [data-theme="dark"] [style*="solid #e6e6e6"],
[data-theme="dark"] [style*="solid var(--border-color,#e5e7eb)"], [data-theme="dark"] [style*="solid var(--border-color, #e5e7eb)"] {
  border-color: var(--border-color, #374151) !important;
}
[data-theme="dark"] [style*="solid #c7d2fe"], [data-theme="dark"] [style*="solid #a5b4fc"] { border-color: rgba(99,102,241,.45) !important; }
[data-theme="dark"] [style*="dashed #d1d5db"], [data-theme="dark"] [style*="dashed #e5e7eb"], [data-theme="dark"] [style*="dashed #cbd5e1"] { border-color: var(--border-light, #4b5563) !important; }

/* --- controlli e componenti generici (classi Bootstrap-like usate nelle viste) --- */
[data-theme="dark"] .form-control, [data-theme="dark"] .form-select, [data-theme="dark"] .form-control:focus, [data-theme="dark"] .form-select:focus {
  background-color: var(--input-bg, #111827); color: var(--text-primary, #f9fafb); border-color: var(--border-color, #374151);
}
[data-theme="dark"] .form-control::placeholder { color: var(--text-tertiary, #9ca3af); }
[data-theme="dark"] .table, [data-theme="dark"] .table td, [data-theme="dark"] .table th { color: var(--text-primary, #f9fafb); border-color: var(--border-color, #374151); background: transparent; }
[data-theme="dark"] .table-light, [data-theme="dark"] .table-light th, [data-theme="dark"] .table thead.table-light { background: var(--bg-tertiary, #374151) !important; color: var(--text-primary, #f9fafb) !important; }
[data-theme="dark"] .table-hover tbody tr:hover { background: var(--hover-bg-dark, #374151); }
[data-theme="dark"] .bg-white, [data-theme="dark"] .bg-light { background: var(--card-bg, #1f2937) !important; }
[data-theme="dark"] .text-dark { color: var(--text-primary, #f9fafb) !important; }
[data-theme="dark"] .text-muted { color: var(--text-tertiary, #9ca3af) !important; }
[data-theme="dark"] .card, [data-theme="dark"] .modal-content, [data-theme="dark"] .dropdown-menu, [data-theme="dark"] .popover {
  background: var(--card-bg, #1f2937); color: var(--text-primary, #f9fafb); border-color: var(--border-color, #374151);
}
[data-theme="dark"] .btn-outline-secondary { color: var(--text-secondary, #d1d5db); border-color: var(--border-color, #374151); }
[data-theme="dark"] .btn-outline-secondary:hover { background: var(--hover-bg-dark, #374151); color: var(--text-primary, #f9fafb); }
[data-theme="dark"] .btn-light, [data-theme="dark"] .btn-outline { background: var(--bg-tertiary, #374151); color: var(--text-primary, #f9fafb); border-color: var(--border-color, #374151); }
[data-theme="dark"] .badge.bg-light, [data-theme="dark"] .badge.text-dark { background: var(--bg-tertiary, #374151) !important; color: var(--text-primary, #f9fafb) !important; }
[data-theme="dark"] hr { border-color: var(--border-color, #374151); }

/* --- eccezioni: cio' che deve restare chiaro anche al buio --- */
/* il QR WhatsApp (modale "Connetti WhatsApp" e sezione canale) e il QR 2FA restano su bianco pieno,
   altrimenti il telefono non lo legge: cornice + immagine. Le altre canvas (grafici) seguono il tema. */
[data-theme="dark"] div:has(> #wa-qr-container),
[data-theme="dark"] #wa-qr-container,
[data-theme="dark"] #wa-qr-container img,
[data-theme="dark"] #whatsapp-qr-container,
[data-theme="dark"] .whatsapp-qr-container,
[data-theme="dark"] img.whatsapp-qr-image,
[data-theme="dark"] img[alt="QR Code 2FA"],
[data-theme="dark"] div:has(> img[alt="QR Code 2FA"]) { background: #fff !important; }
[data-theme="dark"] div:has(> #wa-qr-container) span,
[data-theme="dark"] #whatsapp-qr-container p { color: #54656f !important; }

/* =====================================================================================
   2026-09-07 — MODALITA' SCURA PER AREA (audit automatico su email, WhatsApp, globale, viste).
   Regole mirate per gli elementi che il blocco generico sopra non copre: id/classi specifiche,
   hover gestiti da JS, palette --cr-* dell'email, popup appesi al body, iframe, ecc.
   ===================================================================================== */
:root { --bg-hover: #f5f5f5; --text-muted: #6b7280; }
[data-theme="dark"] { --bg-hover: var(--hover-bg-dark, #374151); --text-muted: var(--text-tertiary, #9ca3af); }

/* ======== AREA: email ======== */
/* [high] Palette tokens (--cr-*) never redefined for dark — frontend/css/channel-redesign.css 16-25 (definition), 293-302 (thread row hover/active), 84-95 */
[data-theme="dark"] #main-content.page-email {
  --cr-soft: rgba(108,92,231,.22);
  --cr-softer: rgba(108,92,231,.12);
  --cr-text: var(--text-primary, #f9fafb);
  --cr-muted: var(--text-secondary, #9ca3af);
  --cr-border: var(--border-color, #374151);
  --cr-field: var(--bg-secondary, #111827);
}
[data-theme="dark"] #main-content.page-email .email-thread-channel.active {
  color: var(--text-primary, #f9fafb) !important;
}
/* [high] Chat slide panel (column 3) shell — frontend/js/views/email.js 4589-4667 (panel `background: white;`, header `background: # */
[data-theme="dark"] #email-chat-panel { background: var(--card-bg, #1f2937) !important; box-shadow: -4px 0 20px rgba(0,0,0,.5) !important; }
[data-theme="dark"] #email-chat-panel .email-chat-header,
[data-theme="dark"] #email-chat-body { background: var(--bg-secondary, #111827) !important; border-color: var(--border-color, #374151) !important; }
[data-theme="dark"] #email-chat-input { background: var(--card-bg, #1f2937) !important; border-top-color: var(--border-color, #374151) !important; }
[data-theme="dark"] #email-chat-title h3 { color: var(--text-primary, #f9fafb); }
[data-theme="dark"] #email-chat-notes-btn { border-color: var(--border-color, #374151) !important; }
/* [high] Composer (#email-chat-input inner markup, #thread-message-input) — frontend/js/views/email.js 13772 (#thread-cc-row `background:#f9fafb`), 13775/13779 (cc */
[data-theme="dark"] #thread-cc-row,
[data-theme="dark"] #thread-receipt-row,
[data-theme="dark"] #email-chat-template-selected { background: var(--bg-secondary, #111827) !important; }
[data-theme="dark"] #thread-receipt-row label { color: var(--text-primary, #f9fafb) !important; }
[data-theme="dark"] #thread-cc-input,
[data-theme="dark"] #thread-bcc-input,
[data-theme="dark"] #thread-message-input { background: var(--input-bg, #111827) !important; color: var(--text-primary, #f9fafb) !important; border-color: var(--border-color, #374151) !important; }
[data-theme="dark"] #chat-input-wrapper,
[data-theme="dark"] #thread-enter-chat { background: var(--bg-tertiary, #1f2937) !important; }
[data-theme="dark"] #thread-plus-menu,
[data-theme="dark"] #emoji-picker-container,
[data-theme="dark"] #emoji-grid { background: var(--card-bg, #1f2937) !important; border-color: var(--border-color, #374151) !important; }
[data-theme="dark"] #emoji-category-tabs { background: var(--bg-secondary, #111827) !important; border-bottom-color: var(--border-color, #374151) !important; }
[data-theme="dark"] #thread-plus-menu button { color: var(--text-primary, #f9fafb) !important; }
[data-theme="dark"] #thread-plus-menu button:hover { background: var(--hover-bg, #374151) !important; }
[data-theme="dark"] #thread-plus-btn:hover, [data-theme="dark"] #thread-emoji-btn:hover, [data-theme="dark"] #thread-template-btn:hover, [data-theme="dark"] #thread-schedule-btn:hover { background: rgba(255,255,255,.08) !important; }
/* [high] Thread rows (.email-thread-channel) — frontend/js/views/email.js 12359-12427: 12367 (`background: ${isActive ? 'var(--cr-soft */
[data-theme="dark"] #main-content.page-email .email-thread-channel.unread { background: rgba(192,132,252,.10) !important; }
[data-theme="dark"] #main-content.page-email .email-thread-channel.unread:hover { background: rgba(192,132,252,.18) !important; }
[data-theme="dark"] #main-content.page-email .email-thread-channel > div[style*="background: #e5e7eb"] { background: var(--bg-tertiary, #374151) !important; }
[data-theme="dark"] #main-content.page-email .email-thread-channel > div[style*="background: #ddd6fe"] { background: rgba(124,58,237,.35) !important; }
[data-theme="dark"] #main-content.page-email .email-thread-channel .fa-envelope { color: var(--text-secondary, #9ca3af) !important; }
[data-theme="dark"] #main-content.page-email .email-thread-channel span[style*="background:#fef3c7"] { background: rgba(245,158,11,.2) !important; color: #fcd34d !important; }
(Combine with the --cr-* redefinition in finding 1 for :hover/.active.)
/* [medium] Message bubbles (incoming) in #email-chat-body — frontend/js/views/email.js 13464-13467 (bubbleBg 'white', bubbleColor '#1f2937', border */
[data-theme="dark"] #email-chat-body div[style*="background: white"][style*="color: #1f2937"] { background: var(--card-bg, #1f2937) !important; color: var(--text-primary, #f9fafb) !important; box-shadow: 0 2px 8px rgba(0,0,0,.4) !important; }
[data-theme="dark"] #email-chat-body div[style*="background: white"][style*="color: #1f2937"] > div[style*="border-top:1px solid #e5e7eb"] { border-top-color: var(--border-color, #374151) !important; }
/* keep the rendered-HTML box white so the email's own colours stay correct */
[data-theme="dark"] #email-chat-body div[style*="background:white;position:relative"] { background: #fff !important; }
/* [medium] Date separators in chat body — frontend/js/views/email.js 13361-13365 (`<div style="flex:1;height:1px;background:#e5e7 */
[data-theme="dark"] #email-chat-body div[style*="height:1px;background:#e5e7eb"] { background: var(--border-color, #374151) !important; }
[data-theme="dark"] #email-chat-body span[style*="background:#f3f4f6"] { background: var(--bg-tertiary, #374151) !important; color: var(--text-secondary, #d1d5db) !important; }
/* [high] Details panel (#email-details-body) - HTML email iframe — frontend/js/views/email.js 13120 (`<iframe id="${iframeId}" style="width:100%;border:no */
[data-theme="dark"] #email-details-body iframe,
[data-theme="dark"] #email-compose-modal-content iframe,
[data-theme="dark"] .email-html-iframe { background: #fff !important; border-radius: 8px; }
/* [medium] Details panel (#email-details-body) - header, meta, attachments, empty state, notes card — frontend/js/views/email.js 13100 (`border-bottom:1px solid #e5e7eb`), 13133-13141 (atta */
[data-theme="dark"] #email-details-body [style*="border-bottom:1px solid #e5e7eb"],
[data-theme="dark"] #email-details-body [style*="border:1px solid #e5e7eb"] { border-color: var(--border-color, #374151) !important; }
[data-theme="dark"] #email-details-body h3[style*="color:#6b7280"],
[data-theme="dark"] #email-details-body p[style*="color: #6b7280"] { color: var(--text-secondary, #9ca3af) !important; }
[data-theme="dark"] #email-details-body [style*="background:linear-gradient(135deg, #fef3c7 0%, #fde68a 100%)"] { background: rgba(245,158,11,.15) !important; }
[data-theme="dark"] #email-details-body [style*="background:linear-gradient(135deg, #fef3c7 0%, #fde68a 100%)"] [style*="color:#333"] { color: var(--text-primary, #f9fafb) !important; }
[data-theme="dark"] #email-details-body [style*="color:#92400e"] { color: #fcd34d !important; }
/* [high] Drafts popup (.drafts-popup) — frontend/js/views/email.js 7652-7663 (`background: white;`), 7677/7720/7785 (`color:#9c */
[data-theme="dark"] .drafts-popup { background: var(--card-bg, #1f2937) !important; color: var(--text-primary, #f9fafb); box-shadow: 0 8px 32px rgba(0,0,0,.6) !important; }
[data-theme="dark"] .drafts-popup .draft-item { background: var(--bg-secondary, #111827) !important; border-left-color: var(--text-tertiary, #6b7280) !important; }
/* Barra di ricerca e filtri per data nel popup delle bozze: colori cablati in riga
   (#f9fafb di fondo, #d1d5db dei bordi), che al buio restavano chiari. */
[data-theme="dark"] .drafts-filtri { background: var(--bg-secondary, #111827) !important; border-bottom-color: var(--border-color, #374151) !important; }
[data-theme="dark"] .drafts-filtri input { background: var(--card-bg, #1f2937) !important; border-color: var(--border-color, #374151) !important; color: var(--text-primary, #f9fafb) !important; }
[data-theme="dark"] .drafts-filtri button { background: var(--card-bg, #1f2937) !important; border-color: var(--border-color, #374151) !important; color: var(--text-secondary, #d1d5db) !important; }
[data-theme="dark"] .drafts-popup .draft-item:hover { background: var(--hover-bg, #374151) !important; }
[data-theme="dark"] .drafts-popup [style*="color:#111827"] { color: var(--text-primary, #f9fafb) !important; }
[data-theme="dark"] .drafts-popup [style*="color:#374151"],
[data-theme="dark"] .drafts-popup [style*="color:#6b7280"] { color: var(--text-secondary, #d1d5db) !important; }
[data-theme="dark"] .drafts-popup [style*="border:3px solid #e5e7eb"] { border-color: var(--border-color, #374151) !important; }
/* [medium] Scheduled emails popup (.scheduled-emails-popup) — frontend/js/views/email.js 7330-7341 (`background: white;`), 7355 (toolbar `border-bott */
[data-theme="dark"] .scheduled-emails-popup { background: var(--card-bg, #1f2937) !important; color: var(--text-primary, #f9fafb); }
[data-theme="dark"] .scheduled-emails-popup > div[style*="background:#f9fafb"] { background: var(--bg-secondary, #111827) !important; border-bottom-color: var(--border-color, #374151) !important; }
[data-theme="dark"] .scheduled-emails-popup #scheduled-email-search,
[data-theme="dark"] .scheduled-emails-popup #scheduled-email-select-all { background: var(--input-bg, #111827) !important; color: var(--text-primary, #f9fafb) !important; border-color: var(--border-color, #374151) !important; }
[data-theme="dark"] .scheduled-emails-popup .scheduled-email-item { background: rgba(245,158,11,.10) !important; border-color: var(--border-color, #374151) !important; }
[data-theme="dark"] .scheduled-emails-popup [style*="color:#374151"],
[data-theme="dark"] .scheduled-emails-popup [style*="color:#111827"] { color: var(--text-primary, #f9fafb) !important; }
[data-theme="dark"] .scheduled-emails-popup [style*="color:#6b7280"] { color: var(--text-secondary, #9ca3af) !important; }
/* [medium] Label/date filter popup (.label-filter-popup) and labels modal — frontend/js/views/email.js 12647-12661 (`background: white;` + `border: 1px solid #e5e7 */
[data-theme="dark"] .label-filter-popup { background: var(--card-bg, #1f2937) !important; border-color: var(--border-color, #374151) !important; color: var(--text-primary, #f9fafb); }
[data-theme="dark"] .label-filter-popup [style*="border-bottom:1px solid #f3f4f6"] { border-bottom-color: var(--border-color, #374151) !important; }
[data-theme="dark"] .label-filter-popup input[type="datetime-local"] { background: var(--input-bg, #111827) !important; color: var(--text-primary, #f9fafb) !important; border-color: var(--border-color, #374151) !important; color-scheme: dark; }
[data-theme="dark"] .label-filter-popup [style*="color:#6b7280"] { color: var(--text-secondary, #9ca3af) !important; }
[data-theme="dark"] .label-filter-popup .label-filter-item:hover { background: var(--hover-bg, #374151) !important; }
[data-theme="dark"] .label-filter-popup .label-filter-reset { background: rgba(239,68,68,.15) !important; }
/* labels modal: define the missing token */
[data-theme="dark"] { --bg-hover: var(--hover-bg, #374151); }
/* [medium] Notes modal (#email-notes-modal-overlay) — frontend/js/views/email.js 1908 (`.modal` `background:white`), 1909 (`border-bottom:1px */
[data-theme="dark"] #email-notes-modal-overlay .modal { background: var(--card-bg, #1f2937) !important; color: var(--text-primary, #f9fafb); }
[data-theme="dark"] #email-notes-modal-overlay .modal-header,
[data-theme="dark"] #email-notes-modal-overlay .modal-footer { border-color: var(--border-color, #374151) !important; }
[data-theme="dark"] #email-notes-list { border-color: var(--border-color, #374151) !important; }
[data-theme="dark"] #email-notes-list .note-item { border-bottom-color: var(--border-color, #374151) !important; }
[data-theme="dark"] #email-notes-list [style*="color:#888"],
[data-theme="dark"] #email-notes-list [style*="color:#666"] { color: var(--text-secondary, #9ca3af) !important; }
[data-theme="dark"] #email-new-note-body { background: var(--input-bg, #111827); color: var(--text-primary, #f9fafb); border-color: var(--border-color, #374151); }
/* [medium] Compose wizard modal (#email-compose-modal-overlay, .wizard-container steps) — frontend/js/views/email.js 15336 box uses var(--card-bg) (OK); inside steps 15400-16700 */
[data-theme="dark"] #email-compose-modal-content [style*="background:white"]:not(iframe),
[data-theme="dark"] #email-compose-modal-content [style*="background:#fff"]:not(iframe),
[data-theme="dark"] #email-compose-modal-content [style*="background:#f9fafb"],
[data-theme="dark"] #email-compose-modal-content [style*="background:#f3f4f6"],
[data-theme="dark"] #email-compose-modal-content [style*="background:#fafafa"],
[data-theme="dark"] #email-compose-modal-content [style*="background:#f5f5f5"] { background: var(--bg-secondary, #111827) !important; }
[data-theme="dark"] #email-compose-modal-content [style*="color:#374151"],
[data-theme="dark"] #email-compose-modal-content [style*="color:#1f2937"],
[data-theme="dark"] #email-compose-modal-content [style*="color:#111827"] { color: var(--text-primary, #f9fafb) !important; }
[data-theme="dark"] #email-compose-modal-content [style*="color:#6b7280"] { color: var(--text-secondary, #9ca3af) !important; }
[data-theme="dark"] #email-compose-modal-content [style*="border:1px solid #d1d5db"],
[data-theme="dark"] #email-compose-modal-content [style*="border:1px solid #e5e7eb"],
[data-theme="dark"] #email-compose-modal-content [style*="border-top:1px solid #e5e7eb"],
[data-theme="dark"] #email-compose-modal-content [style*="border-bottom:1px solid #e5e7eb"],
[data-theme="dark"] #email-compose-modal-content [style*="border-bottom:1px solid #f3f4f6"] { border-color: var(--border-color, #374151) !important; }
[data-theme="dark"] #email-compose-modal-content input[style*="background:white"],
[data-theme="dark"] #email-compose-modal-content textarea[style*="background:white"],
[data-theme="dark"] #email-compose-modal-content select[style*="background:white"] { background: var(--input-bg, #111827) !important; color: var(--text-primary, #f9fafb) !important; }
[data-theme="dark"] #wizard-preview-iframe { background: #fff !important; }
/* [high] GENERIC PATTERN: inline light backgrounds across the email page (bulk fix) — frontend/js/views/email.js whole file; exact strings and counts: `background:white` x78 */
[data-theme="dark"] #main-content.page-email [style*="background:white"]:not(iframe):not([style*="background:white;position:relative"]),
[data-theme="dark"] #main-content.page-email [style*="background: white"]:not(iframe):not([style*="color: #1f2937"]),
[data-theme="dark"] #main-content.page-email [style*="background:#fff"]:not(iframe),
[data-theme="dark"] #main-content.page-email [style*="background:#ffffff"] { background: var(--card-bg, #1f2937) !important; }
[data-theme="dark"] #main-content.page-email [style*="background:#f9fafb"],
[data-theme="dark"] #main-content.page-email [style*="background: #f9fafb"],
[data-theme="dark"] #main-content.page-email [style*="background:#fafafa"],
[data-theme="dark"] #main-content.page-email [style*="background:#f8fafc"],
[data-theme="dark"] #main-content.page-email [style*="background:#f9f9f9"],
[data-theme="dark"] #main-content.page-email [style*="background:#f5f5f5"] { background: var(--bg-secondary, #111827) !important; }
[data-theme="dark"] #main-content.page-email [style*="background:#f3f4f6"],
[data-theme="dark"] #main-content.page-email [style*="background: #f3f4f6"],
[data-theme="dark"] #main-content.page-email [style*="background:#f0f0f0"],
[data-theme="dark"] #main-content.page-email [style*="background:#e5e7eb"],
[data-theme="dark"] #main-content.page-email [style*="background:#d1d5db"] { background: var(--bg-tertiary, #374151) !important; }
[data-theme="dark"] #main-content.page-email [style*="background:#faf5ff"],
[data-theme="dark"] #main-content.page-email [style*="background:#f0f4ff"],
[data-theme="dark"] #main-content.page-email [style*="background:#eef2ff"] { background: rgba(124,97,255,.15) !important; }
[data-theme="dark"] #main-content.page-email input[style*="background:white"],
[data-theme="dark"] #main-content.page-email textarea[style*="background:white"],
[data-theme="dark"] #main-content.page-email select[style*="background:white"],
[data-theme="dark"] #main-content.page-email input[style*="background:#fff"] { background: var(--input-bg, #111827) !important; color: var(--text-primary, #f9fafb) !important; }
/* body-appended containers (outside #main-content) */
[data-theme="dark"] :is(.drafts-popup, .scheduled-emails-popup, .label-filter-popup, #email-compose-modal-content, #email-notes-modal-overlay, .email-contact-context-menu) [style*="background:white"]:not(iframe),
[data-theme="dark"] :is(.drafts-popup, .scheduled-emails-popup, .label-filter-popup, #email-compose-modal-content, #email-notes-modal-overlay) [style*="background:#fff"]:not(iframe) { background: var(--card-bg, #1f2937) !important; }
/* [high] GENERIC PATTERN: inline light-theme text colours (bulk fix) — frontend/js/views/email.js whole file; `color:#6b7280` x92, `color: #6b7280` x13, `colo */
[data-theme="dark"] :is(#main-content.page-email, .drafts-popup, .scheduled-emails-popup, .label-filter-popup, #email-compose-modal-content, #email-notes-modal-overlay) :is([style*="color:#111827"], [style*="color: #111827"], [style*="color:#1f2937"], [style*="color:#374151"], [style*="color: #374151"], [style*="color:#333"], [style*="color: #333"], [style*="color:#1a1a1a"], [style*="color:#0f172a"], [style*="color:#334155"]) { color: var(--text-primary, #f9fafb) !important; }
[data-theme="dark"] :is(#main-content.page-email, .drafts-popup, .scheduled-emails-popup, .label-filter-popup, #email-compose-modal-content, #email-notes-modal-overlay) :is([style*="color:#6b7280"], [style*="color: #6b7280"], [style*="color:#666"], [style*="color: #666"], [style*="color:#4b5563"]) { color: var(--text-secondary, #9ca3af) !important; }
[data-theme="dark"] :is(#main-content.page-email, .drafts-popup, .scheduled-emails-popup, .label-filter-popup, #email-compose-modal-content) :is([style*="color:#9ca3af"], [style*="color:#999"], [style*="color:#d1d5db"]) { color: var(--text-tertiary, #9ca3af) !important; }
/* never touch elements that live on a white surface */
[data-theme="dark"] #email-chat-body div[style*="background:white;position:relative"] * { color: initial !important; }
/* [medium] GENERIC PATTERN: inline light borders (bulk fix) — frontend/js/views/email.js `border:1px solid #d1d5db` x29, `border:1px solid #e5e7eb` x */
[data-theme="dark"] :is(#main-content.page-email, .drafts-popup, .scheduled-emails-popup, .label-filter-popup, #email-compose-modal-content, #email-notes-modal-overlay) :is([style*="solid #e5e7eb"], [style*="solid #d1d5db"], [style*="solid #f3f4f6"], [style*="solid #ddd"], [style*="solid #e6e6e6"], [style*="solid #e0e0e0"], [style*="solid #f0f0f0"], [style*="solid #eee"], [style*="solid #f2f2f2"]) { border-color: var(--border-color, #374151) !important; }
[data-theme="dark"] :is(#main-content.page-email, .drafts-popup, .scheduled-emails-popup) [style*="border:3px solid #e5e7eb"] { border-color: var(--border-color, #374151) !important; border-top-color: currentColor !important; }
(Note: `border-color` shorthand override keeps the coloured border-left accents such as `border-left:3px solid #7b61ff` intact only if those elements are excluded - add :not([style*="border-left:"]) to the first selector.)
/* [medium] Folder tabs bar and contact context menu (CSS class rules, light-only) — frontend/css/email.css 1465-1500 (`.email-contact-context-menu` `background: #fffff */
[data-theme="dark"] .email-contact-context-menu { background: var(--card-bg, #1f2937); border-color: var(--border-color, #374151); box-shadow: 0 12px 30px rgba(0,0,0,.6); }
[data-theme="dark"] .email-contact-context-menu__title,
[data-theme="dark"] .email-contact-context-menu__item { color: var(--text-primary, #f9fafb); border-color: var(--border-color, #374151); }
[data-theme="dark"] .email-contact-context-menu__item:hover { background: var(--hover-bg, #374151); }
[data-theme="dark"] .folder-tab:hover { background: var(--hover-bg, #374151) !important; }
[data-theme="dark"] .folder-item:hover { background: var(--hover-bg, #374151) !important; }
[data-theme="dark"] #email-folder-tabs { border-bottom-color: var(--border-color, #374151) !important; }
[data-theme="dark"] #email-folder-tabs > div { scrollbar-color: #4b5563 #1f2937; }
[data-theme="dark"] #email-folder-tabs > div::-webkit-scrollbar-track { background: #1f2937; }
[data-theme="dark"] #email-folder-tabs > div::-webkit-scrollbar-thumb { background: #4b5563; }
[data-theme="dark"] .email-details-toggle-btn { color: var(--text-secondary, #9ca3af); }
[data-theme="dark"] .email-details-toggle-btn:hover { background: var(--hover-bg, #374151); }
/* [medium] Top-nav pills and controls on the email page (channel-redesign.css light-only, !important) — frontend/css/channel-redesign.css 702-709 (`.top-nav` `background: #fbfbfd !important; border- */
[data-theme="dark"] body:has(#main-content:is(.page-email, .page-chat, .page-internal-chat)) .top-nav { background: var(--card-bg, #1f2937) !important; border-bottom-color: var(--border-color, #374151) !important; }
[data-theme="dark"] body:has(#main-content:is(.page-email, .page-channels, .page-chat, .page-internal-chat)) .top-nav .btn-secondary,
[data-theme="dark"] body:has(#main-content:is(.page-email, .page-channels, .page-chat, .page-internal-chat)) #notifications-btn,
[data-theme="dark"] body:has(#main-content:is(.page-email, .page-chat, .page-internal-chat)) .top-nav .btn-icon { background: var(--bg-secondary, #111827) !important; border-color: var(--border-color, #374151) !important; color: var(--text-primary, #f9fafb) !important; }
[data-theme="dark"] body:has(#main-content:is(.page-email, .page-chat, .page-internal-chat)) .top-nav .notification-badge,
[data-theme="dark"] body:has(#main-content:is(.page-email, .page-channels, .page-chat, .page-internal-chat)) #notifications-btn .notification-badge { border-color: var(--card-bg, #1f2937); }
/* [low] IMAP/SMTP config modal — frontend/js/views/email.js 19837-19842 (`.modal-header` `background: #f8f9fa; border-bo */
[data-theme="dark"] #email-config-form legend,
[data-theme="dark"] .modal-content .modal-header[style*="background: #f8f9fa"] { background: var(--bg-secondary, #111827) !important; border-bottom-color: var(--border-color, #374151) !important; color: var(--text-primary, #f9fafb) !important; }
[data-theme="dark"] .modal-content [style*="color: #666"] { color: var(--text-secondary, #9ca3af) !important; }
/* [low] Legacy tg-* email chat layout (email.css) - remaining light rules — frontend/css/email.css 215-222 (`.tg-sidebar-search input:focus` `background: #fff` */
[data-theme="dark"] .tg-bubble-avatar { background: var(--bg-tertiary, #374151); }
[data-theme="dark"] .attachment-item .attachment-name { color: var(--text-primary, #f9fafb); }
[data-theme="dark"] .email-composer-container #composer-help { color: var(--text-secondary, #9ca3af); }
[data-theme="dark"] .email-composer-container #composer-attach { border-color: var(--border-color, #374151); color: var(--text-secondary, #9ca3af); }

/* ======== AREA: chat-wa ======== */
/* [high] QR connect modal (showQRModal) — header bar and the 3 'Come connettere' step rows — frontend/js/views/chat.js 1519, 1554, 1555, 1556 (also 5173 JS hover, see separate fin */
[data-theme="dark"] [style*="background:#f0f2f5"],
[data-theme="dark"] [style*="background: #f0f2f5"] {
  background: var(--bg-tertiary, #2a3942) !important;
}
/* header divider of the same modal */
[data-theme="dark"] .wa-qr-overlay [style*="border-bottom:1px solid #e9edef"] { border-bottom-color: var(--border-color, #2a3942) !important; }
/* [high] Chat-list context menu (showChatContextMenu) — hover state set from JS — frontend/js/views/chat.js 2820-2821 */
[data-theme="dark"] .context-menu-item[style*="background: #f5f6f6"],
[data-theme="dark"] .context-menu-item[style*="background:#f5f6f6"] {
  background: #202c33 !important;
}
/* [medium] Message context menu — quick-reaction row hover (JS) and separators — frontend/js/views/chat.js 5173 (hover), 5149 (sep()), 5153 (active react bg #d9fdd3) */
[data-theme="dark"] .wa-ctx-react[style*="background: #f0f2f5"] { background: #2a3942 !important; }
[data-theme="dark"] .wa-ctx-react.active[style*="background:#d9fdd3"] { background: rgba(0,168,132,.25) !important; }
[data-theme="dark"] .context-menu [style*="border-top:1px solid #e9edef"] { border-top-color: var(--border-color, #2a3942) !important; }
/* [high] Chat header avatar fallback (updateChatHeader) — initials circle — frontend/js/views/chat.js 5307 (plus chat.css 9258-9262 .wa-app .wa-header-avatar) */
[data-theme="dark"] .wa-app .wa-header-avatar { background: #3b4a54; }
[data-theme="dark"] .wa-app .wa-header-avatar [style*="background:#dfe5e7"] {
  background: #3b4a54 !important;
  color: #e9edef !important;
}
/* [medium] Schedule-create modal — 'quick time' buttons selected state set from JS — frontend/js/views/chat.js 6854-6855 (buttons rendered at 6816-6819) */
[data-theme="dark"] [style*="background: #f0fdf4"],
[data-theme="dark"] [style*="background: #d1fae5"],
[data-theme="dark"] [style*="background: #fef2f2"] {
  /* space-after-colon variants missing from darkmode-fixes.css */
}
[data-theme="dark"] [style*="background: #f0fdf4"], [data-theme="dark"] [style*="background: #d1fae5"] { background: rgba(16,185,129,.16) !important; }
[data-theme="dark"] [style*="background: #fef2f2"] { background: rgba(239,68,68,.16) !important; }
/* [medium] Dark-green text on mint chips/headers (schedule dropzone header, template category badge, inline template form title) — frontend/js/views/chat.js 6835, 6980, 7102 (3 occurrences of `color:#065f46`) */
[data-theme="dark"] [style*="color:#065f46"],
[data-theme="dark"] [style*="color: #065f46"] {
  color: #6ee7b7 !important;
}
/* [low] Mint dashed/solid borders on attachment areas (schedule dropzone, compose files list, schedule file thumbnails) — frontend/js/views/chat.js 6834 (`border:1.5px dashed #a7f3d0`), 6835 (`border-bottom:1 */
[data-theme="dark"] [style*="dashed #a7f3d0"],
[data-theme="dark"] [style*="solid #a7f3d0"],
[data-theme="dark"] [style*="solid #d1fae5"] {
  border-color: rgba(16,185,129,.45) !important;
}
/* [low] #e9edef light borders / tracks in inline styles (QR modal, create-folder modal, msg context-menu separators) — frontend/js/views/chat.js 1519 (`border-bottom:1px solid #e9edef`), 1531 (`border:2px  */
[data-theme="dark"] [style*="solid #e9edef"] { border-color: var(--border-color, #2a3942) !important; }
[data-theme="dark"] [style*="background:#e9edef"] { background: var(--bg-tertiary, #2a3942) !important; }
/* keep the QR frame itself light so the QR stays scannable */
[data-theme="dark"] .wa-qr-overlay [style*="border:2px solid #e9edef"] { border-color: #3b4a54 !important; }
/* [low] Create-folder modal (openCreateFolderModal) — frontend/js/views/chat.js 2358-2370 */
[data-theme="dark"] .wa-create-folder-modal [style*="solid #e9edef"] { border-color: var(--border-color, #2a3942) !important; }
[data-theme="dark"] .wa-create-folder-modal #wa-cfm-name { background: var(--input-bg, #182229); color: var(--text-primary, #e9edef); }
/* [low] chat.css light-only class rules used by chat.js (spinner ring, scheduled-sidebar cancel hover) — frontend/css/chat.css 9848-9852 (.wa-spinner border #e9edef), 1599 (.wa-sched-side */
[data-theme="dark"] .wa-spinner { border-color: #3b4a54; border-top-color: #25d366; }
[data-theme="dark"] .wa-sched-sidebar-cancel:hover { background: rgba(239,68,68,.16); }
/* [low] chat.css .wa-assign-dropdown (assign-conversation popover) — container stays white while items get light text — frontend/css/chat.css 6468-6479 (.wa-assign-dropdown background #fff) vs 6494/6573 */
[data-theme="dark"] .wa-assign-dropdown { background: #1f2c34; box-shadow: 0 4px 24px rgba(0,0,0,.5); }
/* [low] Pattern note — inline literals in chat.js already handled by darkmode-fixes.css (no action, listed so they are not re-reported) — frontend/js/views/chat.js 2797, 5214, 6743, 6800, 6979-6989, 7100-7105, 8316-8356 (bac */
[data-theme="dark"] [style*="background: #f0fdf4"], [data-theme="dark"] [style*="background: #d1fae5"] { background: rgba(16,185,129,.16) !important; }
[data-theme="dark"] [style*="background: #fef2f2"] { background: rgba(239,68,68,.16) !important; }
[data-theme="dark"] [style*="background: #f0f2f5"], [data-theme="dark"] [style*="background: #f5f6f6"] { background: var(--bg-tertiary, #2a3942) !important; }

/* ======== AREA: global ======== */
/* [high] Top bar + main content frame (desktop shell) — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\css\styles.css 2929-2981 (esp. 2933, 2937-2943, 2946-2950, 2952, 2979) */
[data-theme="dark"] .top-nav { background: var(--bg-primary); border-color: var(--border-color); }
[data-theme="dark"] .top-nav #workspace-dropdown-btn { background: var(--bg-tertiary); color: var(--text-primary); }
[data-theme="dark"] .top-nav #workspace-dropdown-btn:hover { background: var(--border-light); color: var(--text-primary); }
[data-theme="dark"] .top-nav #workspace-dropdown-btn > i:first-child,
[data-theme="dark"] .top-nav #workspace-dropdown-btn > i:last-child { color: var(--text-secondary); }
[data-theme="dark"] .top-nav-breadcrumb { color: var(--text-secondary); }
[data-theme="dark"] .top-nav-breadcrumb span { color: var(--text-primary); }
[data-theme="dark"] .top-nav-breadcrumb i { color: var(--text-tertiary); }
[data-theme="dark"] .top-nav .global-search .search-input { background: var(--bg-secondary); border-color: var(--border-color); color: var(--text-primary); }
[data-theme="dark"] .top-nav .global-search .search-input:focus { background: var(--bg-primary); border-color: var(--primary); box-shadow: 0 0 0 3px rgba(99,102,241,.2); }
[data-theme="dark"] .top-nav .global-search .search-icon { color: var(--text-tertiary); }
[data-theme="dark"] .top-nav .icon-btn { background: var(--bg-secondary); border-color: var(--border-color); color: var(--text-secondary); }
[data-theme="dark"] .top-nav .icon-btn:hover { background: var(--bg-tertiary); border-color: var(--primary); color: var(--primary-light); }
[data-theme="dark"] .top-nav .notification-badge { border-color: var(--bg-primary); }
[data-theme="dark"] .main-content { background: var(--bg-secondary); border-color: var(--border-color); }
/* [high] Global search modal (Ctrl+K / search focus) — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\index.html 704-790, 793, 894 */
[data-theme="dark"] #search-modal > div { background: var(--card-bg) !important; box-shadow: 0 20px 60px rgba(0,0,0,.6) !important; }
[data-theme="dark"] #search-modal .search-modal-header { border-bottom-color: var(--border-color); }
[data-theme="dark"] #search-modal .search-modal-header input { background: transparent; color: var(--text-primary); }
[data-theme="dark"] #search-modal .search-modal-header input::placeholder { color: var(--text-tertiary); }
[data-theme="dark"] #search-modal .search-modal-empty { color: var(--text-secondary); }
[data-theme="dark"] #search-modal .search-modal-item { border-bottom-color: var(--border-color); }
[data-theme="dark"] #search-modal .search-modal-item:hover { background: var(--bg-tertiary); }
[data-theme="dark"] #search-modal .search-modal-item-title { color: var(--text-primary); }
[data-theme="dark"] #search-modal .search-modal-item-desc { color: var(--text-secondary); }
[data-theme="dark"] #search-modal .search-modal-item mark { background: rgba(99,102,241,.3); color: var(--primary-light); }
/* [high] Components.modal() generic modal (permissionsModal and any caller) — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\js\components.js 350-359 (modal shell), 400, 439, 442, 445 (permissionsModal  */
[data-theme="dark"] .modal-overlay > .modal-dialog[role="dialog"] { background: var(--card-bg) !important; color: var(--text-primary); }
[data-theme="dark"] .modal-dialog[role="dialog"] > .modal-header,
[data-theme="dark"] .modal-dialog[role="dialog"] > .modal-footer { border-color: var(--border-color) !important; }
[data-theme="dark"] .modal-dialog[role="dialog"] > .modal-header button { color: var(--text-secondary); }
[data-theme="dark"] #permissions-list { border-color: var(--border-color) !important; }
[data-theme="dark"] #permissions-list > div { border-bottom-color: var(--border-color) !important; }
[data-theme="dark"] #permissions-list span[style*="color:#666"] { color: var(--text-secondary) !important; }
[data-theme="dark"] #permissions-list p[style*="color:#999"] { color: var(--text-tertiary) !important; }
/* [high] Components.emailPanel() 3-column email side panel — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\js\components.js 281, 294, 299, 301, 306, 310, 311 */
[data-theme="dark"] #email-conv-list,
[data-theme="dark"] #email-details-panel { background: var(--bg-secondary) !important; border-color: var(--border-color) !important; }
[data-theme="dark"] #email-thread-panel { background: var(--card-bg) !important; }
[data-theme="dark"] #email-composer-container { background: var(--bg-secondary) !important; border-top-color: var(--border-color) !important; }
[data-theme="dark"] #email-composer-container div[style*="color:#333"] { color: var(--text-primary) !important; }
[data-theme="dark"] #email-composer-container div[style*="color:#666"],
[data-theme="dark"] #email-details-panel small[style*="color:#666"] { color: var(--text-secondary) !important; }
[data-theme="dark"] #email-details-panel > div[style*="border-bottom:1px solid #f0f0f0"] { border-bottom-color: var(--border-color) !important; }
/* [high] Login / forgot-password screen — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\index.html 155-156, 590, 610 */
[data-theme="dark"] #forgot-password-container .auth-header h2 { color: var(--text-primary) !important; }
[data-theme="dark"] #forgot-password-container .auth-header p { color: var(--text-secondary) !important; }
[data-theme="dark"] #forgot-password-alert-inline.alert-success { background: rgba(16,185,129,.15) !important; color: #6ee7b7 !important; border-left-color: #10b981 !important; }
[data-theme="dark"] #forgot-password-alert-inline.alert-error { background: rgba(239,68,68,.15) !important; color: #fca5a5 !important; border-left-color: #ef4444 !important; }
/* [medium] darkmode-fixes.css itself: mismatched palette and global side effects — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\css\darkmode-fixes.css 9-25, 35-41, 44-57, 60-64, 67-72, 75-91, 94-117, 164-190, 22 */
/* Replace the corresponding rules in darkmode-fixes.css with app-palette values */
[data-theme="dark"] ::-webkit-scrollbar-track { background: transparent; }
[data-theme="dark"] ::-webkit-scrollbar-thumb { background: #4b5563; }
[data-theme="dark"] ::-webkit-scrollbar-thumb:hover { background: #6b7280; }
[data-theme="dark"] input:focus, [data-theme="dark"] textarea:focus, [data-theme="dark"] select:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(99,102,241,.2); }
[data-theme="dark"] .dropdown-menu { background: var(--bg-secondary); border: 1px solid var(--border-color); box-shadow: var(--shadow-lg); }
[data-theme="dark"] .dropdown-item { color: var(--text-primary); }
[data-theme="dark"] .dropdown-item:hover { background: var(--bg-tertiary); color: var(--text-primary); }
[data-theme="dark"] .context-menu { background: var(--bg-secondary); border-color: var(--border-color); box-shadow: var(--shadow-lg); }
[data-theme="dark"] code, [data-theme="dark"] pre { background: var(--bg-tertiary); color: var(--text-primary); border: 1px solid var(--border-color); }
/* DELETE `.dark-mode table thead {...}` so th{background:var(--bg-secondary)} and .table thead gradient apply */
[data-theme="dark"] table tbody tr, [data-theme="dark"] .table tbody tr { border-bottom-color: var(--border-color); }
[data-theme="dark"] table tbody tr:hover { background: var(--bg-tertiary); }
[data-theme="dark"] .badge { background: var(--bg-tertiary); color: var(--text-primary); }
[data-theme="dark"] .skeleton { background: linear-gradient(90deg, #1f2937 25%, #374151 50%, #1f2937 75%); background-size: 200% 100%; }
[data-theme="dark"] .tippy-box { background: var(--bg-tertiary); color: var(--text-primary); }
[data-theme="dark"] .tippy-arrow { color: var(--bg-tertiary); }
/* DELETE `.dark-mode img {opacity:.9}` and `.dark-mode img:hover` */
/* Replace `.dark-mode a` / `.dark-mode a:hover` with a scoped version that cannot beat component classes: */
[data-theme="dark"] :where(a:not([class])) { color: var(--primary-light); }
[data-theme="dark"] :where(a:not([class])):hover { color: #a5b4fc; }
/* [medium] Alerts (.alert-success/-danger/-warning/-info) — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\css\styles.css 3373-3395 (and darkmode-fixes.css 164-190 which overrides th */
[data-theme="dark"] .alert { border-width: 1px; }
[data-theme="dark"] .alert-success { background: rgba(16,185,129,.15); border-color: rgba(16,185,129,.5); color: #6ee7b7; }
[data-theme="dark"] .alert-danger  { background: rgba(192,132,252,.15); border-color: rgba(192,132,252,.5); color: #d8b4fe; }
[data-theme="dark"] .alert-warning { background: rgba(245,158,11,.15); border-color: rgba(245,158,11,.5); color: #fcd34d; }
[data-theme="dark"] .alert-info    { background: rgba(59,130,246,.15); border-color: rgba(59,130,246,.5); color: #93c5fd; }
/* place AFTER (or instead of) the .dark-mode .alert-* rules in darkmode-fixes.css: same specificity, later wins */
/* [medium] Select2 dropdowns (all enhanced <select>s) — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\index.html 94-103 (head <style>) */
[data-theme="dark"] .select2-dropdown { background: var(--card-bg); border-color: var(--border-color); color: var(--text-primary); box-shadow: 0 4px 16px rgba(0,0,0,.5); }
[data-theme="dark"] .select2-container--default .select2-results__option { color: var(--text-primary); }
[data-theme="dark"] .select2-container--default .select2-results__option[aria-selected="true"] { background: var(--bg-tertiary); }
[data-theme="dark"] .select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--primary); color: #fff; }
[data-theme="dark"] .select2-container--default .select2-search--dropdown .select2-search__field { background: var(--bg-secondary); color: var(--text-primary); border-color: var(--border-color); }
[data-theme="dark"] .select2-container--default .select2-selection--multiple { background: var(--bg-primary); border-color: var(--border-color); }
[data-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__choice { background: var(--bg-tertiary); border-color: var(--border-color); color: var(--text-primary); }
[data-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__choice__remove { color: var(--text-secondary); }
[data-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__placeholder { color: var(--text-tertiary); }
[data-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__arrow b { border-top-color: var(--text-secondary); }
[data-theme="dark"] .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { border-bottom-color: var(--text-secondary); }
/* [medium] Skeleton loaders (Utils.showSkeleton card/channel/table/timeline) — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\css\skeleton.css 3, 18-24, 69-74, 110-116, 141-147 */
[data-theme="dark"] .skeleton-card,
[data-theme="dark"] .skeleton-channel-card,
[data-theme="dark"] .skeleton-timeline-content { background: var(--card-bg); box-shadow: 0 2px 4px rgba(0,0,0,.4); border: 1px solid var(--border-color); }
[data-theme="dark"] .skeleton-table-row { border-bottom-color: var(--border-color); }
[data-theme="dark"] .skeleton { background: linear-gradient(90deg, #1f2937 25%, #374151 50%, #1f2937 75%); background-size: 200% 100%; }
/* [medium] Form controls without theme colours (.filter-group, Components.filterBar, bare <input>/<select>/<textarea> in JS templates) — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\css\components.css 918-940 */
[data-theme="dark"] .filter-group select,
[data-theme="dark"] .filter-group input { background: var(--bg-primary); color: var(--text-primary); border-color: var(--border-color); }
[data-theme="dark"] .filter-group select:hover,
[data-theme="dark"] .filter-group input:hover { border-color: var(--border-light); }
/* zero-specificity safety net for bare controls in templates (does not beat any class rule) */
[data-theme="dark"] :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="submit"]):not([type="button"]), select, textarea) { background-color: var(--bg-primary); color: var(--text-primary); border-color: var(--border-color); }
[data-theme="dark"] select option { background: var(--bg-primary); color: var(--text-primary); }
/* [medium] Form validation + password toggle hover — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\css\components.css 151-154, 171-174 */
[data-theme="dark"] .form-control.is-invalid { background-color: rgba(239,68,68,.12); border-color: #ef4444; }
[data-theme="dark"] .password-toggle:hover { background: var(--bg-tertiary) !important; color: var(--primary-light) !important; }
/* [medium] Email composer containers (id selectors beat the existing dark override) — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\css\styles.css 3042-3075 */
[data-theme="dark"] #email-viewer,
[data-theme="dark"] #email-composer-container,
[data-theme="dark"] .email-composer-container { background: var(--card-bg); border-top-color: var(--border-color) !important; box-shadow: 0 -2px 10px rgba(0,0,0,.4); }
/* [medium] Dashboard redesign custom-property palette (lives in styles.css) — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\css\styles.css 2839-2923 (2840-2847, 2900, 2906-2909, 2918) */
[data-theme="dark"] .dashboard-redesign { --dashboard-ink: var(--text-primary); --dashboard-muted: var(--text-secondary); --dashboard-line: var(--border-color); }
[data-theme="dark"] .dashboard-redesign__text-button { color: var(--text-secondary); }
[data-theme="dark"] .dashboard-redesign__metric:hover { box-shadow: 0 8px 22px rgba(0,0,0,.45); }
[data-theme="dark"] .dashboard-redesign__metric--violet .dashboard-redesign__metric-icon { background: rgba(105,86,219,.22); }
[data-theme="dark"] .dashboard-redesign__metric--green .dashboard-redesign__metric-icon { background: rgba(32,184,135,.22); }
[data-theme="dark"] .dashboard-redesign__metric--blue .dashboard-redesign__metric-icon { background: rgba(77,135,238,.22); }
[data-theme="dark"] .dashboard-redesign__metric--orange .dashboard-redesign__metric-icon { background: rgba(241,154,80,.22); }
/* [low] ChatlifyAI popup (#cai-*): undefined --text-muted and light-tuned accents — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\index.html 1385-1388, 1442, 1455-1459, 1494, 1498-1499, 1539-1540, 1561 */
[data-theme="dark"] { --text-muted: var(--text-tertiary); }
[data-theme="dark"] #cai-popup { box-shadow: 0 32px 100px rgba(0,0,0,.6), 0 4px 24px rgba(102,126,234,.25); border-color: rgba(102,126,234,.3); }
[data-theme="dark"] .cai-bubble-ai code { color: #a5b4fc; background: rgba(102,126,234,.2); }
[data-theme="dark"] .cai-state-ok { color: #6ee7b7; }
[data-theme="dark"] .cai-state-warn { color: #fcd34d; }
[data-theme="dark"] .cai-state-err { color: #fca5a5; }
[data-theme="dark"] .cai-chip { color: #a5b4fc; border-color: rgba(129,140,248,.35); }
[data-theme="dark"] .cai-hist-del { color: var(--text-tertiary); }
[data-theme="dark"] .cai-table th { color: #a5b4fc; }
/* [low] White rings on status dots / timeline markers / colour picker (var(--white) never changes) — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\css\components.css 594, 826, 698 */
[data-theme="dark"] .channel-status { border-color: var(--card-bg); }
[data-theme="dark"] .timeline-marker { border-color: var(--bg-secondary); }
[data-theme="dark"] .color-option.selected { box-shadow: 0 0 0 2px var(--card-bg), 0 4px 12px rgba(0,0,0,.5); }
/* [low] Calendar month pills (light pastel chips) in styles.css — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\css\styles.css 1047-1066 */
[data-theme="dark"] .cal-pill-email { background: rgba(139,92,246,.22); color: #c4b5fd; }
[data-theme="dark"] .cal-pill-wa { background: rgba(16,185,129,.22); color: #6ee7b7; }
[data-theme="dark"] .cal-pill-due { background: rgba(239,68,68,.22); color: #fca5a5; }
[data-theme="dark"] .cal-pill-rem { background: rgba(245,158,11,.22); color: #fcd34d; }
[data-theme="dark"] .cal-pill-task { background: rgba(99,102,241,.22); color: #a5b4fc; }
/* [low] User dropdown header small text — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\index.html 375 */
[data-theme="dark"] #user-workspace-info { color: var(--text-secondary) !important; }

/* ======== AREA: views-a ======== */
/* [high] cross-view: light panel/card backgrounds (inline) — frontend/js/views/settings.js, permissions.js, events.js, calendar.js, dashboard.js, teams.js, platformAdmin.js settings.js 189,225,287,372,394,411,425,449,467,481,515,536, */
[data-theme="dark"] [style*="background:#f9fafb"],
[data-theme="dark"] [style*="background:#fafbfc"],
[data-theme="dark"] [style*="background:#f8fafc"],
[data-theme="dark"] [style*="background: #f7fafc"],
[data-theme="dark"] [style*="background:#fafafa"] {
  background: var(--bg-tertiary) !important;
  border-color: var(--border-color) !important;
}
[data-theme="dark"] [style*="background:white"],
[data-theme="dark"] [style*="background: white"],
[data-theme="dark"] [style*="background:#fff;"],
[data-theme="dark"] [style*="background:#fff\""],
[data-theme="dark"] .settings-team-card,
[data-theme="dark"] .member-card {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}
/* keep pure-white surfaces that must stay white (QR code box) */
[data-theme="dark"] .qr-code-container, [data-theme="dark"] .modal-body img[alt="QR Code"] { background: white !important; }
/* [high] cross-view: hard-coded dark text colours (inline) — frontend/js/views/settings.js, teams.js, permissions.js, events.js, calendar.js, dashboard.js, platformAdmin.js color:#111827 -> settings 26,115,221,365,377,399,416,442,453 */
[data-theme="dark"] [style*="color:#111827"],
[data-theme="dark"] [style*="color: #111827"],
[data-theme="dark"] [style*="color:#1e293b"],
[data-theme="dark"] [style*="color:#333"],
[data-theme="dark"] [style*="color:#1f2937"] {
  color: var(--text-primary) !important;
}
[data-theme="dark"] [style*="color:#374151"],
[data-theme="dark"] [style*="color: #374151"],
[data-theme="dark"] [style*="color:#555"],
[data-theme="dark"] [style*="color:#64748b"],
[data-theme="dark"] [style*="color:#6b7280"],
[data-theme="dark"] [style*="color: #6b7280"],
[data-theme="dark"] [style*="color:#666"] {
  color: var(--text-secondary) !important;
}
[data-theme="dark"] [style*="color:#999"],
[data-theme="dark"] [style*="color:#bbb"],
[data-theme="dark"] [style*="color:#ccc"] {
  color: var(--text-tertiary) !important;
}
/* the ' Sistema' / muted spans that use #9ca3af are acceptable on dark; leave. */
/* [medium] cross-view: light borders (inline) — frontend/js/views/settings.js, teams.js, permissions.js, events.js, calendar.js, dashboard.js, platformAdmin.js 'border:1px solid #e5e7eb' (settings 189,225,287,372,394,411 */
[data-theme="dark"] [style*="solid #e5e7eb"],
[data-theme="dark"] [style*="solid #d1d5db"],
[data-theme="dark"] [style*="solid #e2e8f0"],
[data-theme="dark"] [style*="solid #f3f4f6"],
[data-theme="dark"] [style*="solid #f0f0f0"],
[data-theme="dark"] [style*="solid #eee"] {
  border-color: var(--border-color) !important;
}
[data-theme="dark"] [style*="background:#e5e7eb"],
[data-theme="dark"] [style*="background: #e5e7eb"] {
  background: var(--bg-tertiary) !important;
}
/* [high] settings/events: <select>/<input> with inline background:white (invisible text) — frontend/js/views/settings.js, frontend/js/views/events.js settings.js 136,162,178 (timezone/lang/first-day selects), 5 */
[data-theme="dark"] select[style*="background:white"],
[data-theme="dark"] input[style*="background:white"],
[data-theme="dark"] input[style*="background:#fff"],
[data-theme="dark"] textarea[style*="background:white"],
[data-theme="dark"] .settings-section select,
[data-theme="dark"] .settings-section input:not([type=checkbox]):not([type=radio]),
[data-theme="dark"] .settings-section textarea,
[data-theme="dark"] #filter-user, [data-theme="dark"] #filter-entity, [data-theme="dark"] #filter-action,
[data-theme="dark"] #filter-start, [data-theme="dark"] #filter-end,
[data-theme="dark"] #twofa-code-input, [data-theme="dark"] #disable-2fa-password {
  background: var(--input-bg) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
  color-scheme: dark;
}
[data-theme="dark"] select option { background: var(--bg-secondary); color: var(--text-primary); }
/* [high] cross-view: JS hover/focus handlers writing literal light colours — frontend/js/views/teams.js, events.js, calendar.js, dashboard.js, settings.js, platformAdmin.js, permissions.js teams.js 55-64 (team-card: borderColor '#d1d5db'/'#e5e7eb'), */
/* 1. define the missing hover token used by dashboard.js */
[data-theme="dark"] { --bg-hover: #374151; }
/* 2. class hooks that survive JS style writes */
[data-theme="dark"] .recent-msg-item:hover,
[data-theme="dark"] .daily-task-item:hover,
[data-theme="dark"] .cal-day-event-card:hover,
[data-theme="dark"] .pa-session-row:hover { background: var(--hover-bg) !important; }
[data-theme="dark"] .cal-day-event-card { background: var(--card-bg) !important; border-color: var(--border-color) !important; }
[data-theme="dark"] .team-card,
[data-theme="dark"] .settings-team-card,
[data-theme="dark"] .member-card { background: var(--card-bg) !important; border-color: var(--border-color) !important; }
[data-theme="dark"] .team-card:hover,
[data-theme="dark"] .settings-team-card:hover { border-color: var(--border-light) !important; }
[data-theme="dark"] .context-menu { background: var(--card-bg) !important; border-color: var(--border-color) !important; }
[data-theme="dark"] .context-menu > div:hover { background: var(--hover-bg) !important; }
/* [high] teams: team cards grid + context menu — frontend/js/views/teams.js 40-64 (team-card: 'background: white;' 'border: 1px solid #e */
[data-theme="dark"] .team-card {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}
[data-theme="dark"] .team-card h3 { color: var(--text-primary) !important; }
[data-theme="dark"] .team-card p,
[data-theme="dark"] .team-card [style*="color: #6b7280"] { color: var(--text-secondary) !important; }
[data-theme="dark"] .team-card [style*="border-top: 1px solid #e5e7eb"] { border-top-color: var(--border-color) !important; }
[data-theme="dark"] .team-card [style*="background: #e5e7eb"] { background: var(--border-color) !important; }
[data-theme="dark"] .context-menu {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.5) !important;
}
[data-theme="dark"] .context-menu > div { color: var(--text-primary) !important; }
[data-theme="dark"] .context-menu > div[style*="height: 1px"] { background: var(--border-color) !important; }
[data-theme="dark"] .context-menu > div:hover { background: var(--hover-bg) !important; }
/* [high] teams: team detail modal tabs, members/resources/workspaces lists — frontend/js/views/teams.js 382-398 (tab bar 'border-bottom:2px solid #e5e7eb', inactive */
/* covered by the generic [style*="background:white"], [style*="color:#111827"], [style*="solid #e5e7eb"], [style*="solid #d1d5db"] rules above; additional teams-specific: */
[data-theme="dark"] [style*="background:#f3f4f6"],
[data-theme="dark"] [style*="background: #f3f4f6"] { background: var(--bg-tertiary) !important; }
[data-theme="dark"] [style*="background:#eef2ff"] { background: rgba(99,102,241,0.18) !important; color: #a5b4fc !important; }
[data-theme="dark"] [style*="background:#eff6ff"] { background: rgba(59,130,246,0.15) !important; border-color: rgba(59,130,246,0.35) !important; color: #93c5fd !important; }
[data-theme="dark"] [style*="background:#fff5f5"],
[data-theme="dark"] [style*="background: #fee2e2"],
[data-theme="dark"] [style*="background:#fee2e2"] { background: rgba(239,68,68,0.15) !important; border-color: rgba(239,68,68,0.4) !important; color: #fca5a5 !important; }
[data-theme="dark"] .perm-profile-card { background: var(--bg-tertiary) !important; border-color: var(--border-color) !important; }
[data-theme="dark"] .perm-resource-item { background: var(--card-bg) !important; border-color: var(--border-color) !important; }
/* [high] permissions: table cells and permission form — frontend/js/views/permissions.js 158,167 ('color:#111827'), 159,168 ('color:#9ca3af'), 165,18 */
/* generic rules cover #f9fafb, #111827, #374151, #6b7280, #e5e7eb. Specific: */
[data-theme="dark"] #granted-toggle { border-color: var(--border-color) !important; }
[data-theme="dark"] #granted-toggle button { background: var(--bg-tertiary) !important; color: var(--text-tertiary) !important; border-color: var(--border-color) !important; }
[data-theme="dark"] #granted-toggle button[style*="#dcfce7"] { background: rgba(22,163,74,0.2) !important; color: #4ade80 !important; }
[data-theme="dark"] #granted-toggle button[style*="#fef2f2"] { background: rgba(220,38,38,0.2) !important; color: #f87171 !important; }
[data-theme="dark"] #granted-desc[style*="#f0fdf4"] { background: rgba(22,163,74,0.15) !important; color: #86efac !important; }
[data-theme="dark"] #granted-desc[style*="#fef2f2"] { background: rgba(220,38,38,0.15) !important; color: #fca5a5 !important; }
[data-theme="dark"] [style*="background:#dcfce7"] { background: rgba(22,163,74,0.2) !important; color: #4ade80 !important; border-color: rgba(22,163,74,0.4) !important; }
[data-theme="dark"] [style*="background:#fef2f2"] { background: rgba(220,38,38,0.2) !important; color: #f87171 !important; border-color: rgba(220,38,38,0.4) !important; }
/* [high] events: header buttons, filter bar, timeline and table — frontend/js/views/events.js 76-77 (title '#111827', subtitle '#9ca3af'), 81-99 (view tog */
/* generic rules cover most strings; events-specific: */
[data-theme="dark"] .main-content.page-events [style*="background:white"] { background: var(--card-bg) !important; border-color: var(--border-color) !important; }
[data-theme="dark"] #view-timeline-btn[style*="background:white"],
[data-theme="dark"] #view-table-btn[style*="background:white"],
[data-theme="dark"] #my-actions-btn[style*="background:white"],
[data-theme="dark"] #export-csv-btn, [data-theme="dark"] #export-json-btn { background: var(--bg-tertiary) !important; color: var(--text-secondary) !important; border-color: var(--border-color) !important; }
[data-theme="dark"] [style*="background:#f5f3ff"] { background: rgba(99,102,241,0.12) !important; }
[data-theme="dark"] [style*="background:linear-gradient(to bottom,#e5e7eb,#f3f4f6)"] { background: var(--border-color) !important; }
[data-theme="dark"] [style*="background:#eef2ff"][style*="#6366f1"] { background: rgba(99,102,241,0.2) !important; border-color: rgba(99,102,241,0.4) !important; }
[data-theme="dark"] pre[style*="background:#fef2f2"] { background: rgba(220,38,38,0.12) !important; color: #fca5a5 !important; border-color: rgba(220,38,38,0.35) !important; }
[data-theme="dark"] pre[style*="background:#f0fdf4"] { background: rgba(22,163,74,0.12) !important; color: #86efac !important; border-color: rgba(22,163,74,0.35) !important; }
/* action badges (getActionBadgeStyle, 449-457) */
[data-theme="dark"] [style*="background:#dbeafe"] { background: rgba(59,130,246,0.2) !important; color: #93c5fd !important; }
[data-theme="dark"] [style*="background:#e0e7ff"] { background: rgba(99,102,241,0.2) !important; color: #a5b4fc !important; }
[data-theme="dark"] [style*="background:#fef3c7"] { background: rgba(245,158,11,0.2) !important; color: #fcd34d !important; }
[data-theme="dark"] [style*="background:#ecfdf5"] { background: rgba(16,185,129,0.2) !important; color: #6ee7b7 !important; }
[data-theme="dark"] [style*="background:#f3e8ff"] { background: rgba(139,92,246,0.2) !important; color: #c4b5fd !important; }
[data-theme="dark"] [style*="background:#f3f4f6"][style*="color:#374151"] { background: var(--bg-tertiary) !important; color: var(--text-secondary) !important; }
/* [high] calendar: day/hour popups, task detail, new-task form, year view — frontend/js/views/calendar.js 436-437 ('#ccc', '#999'), 471,742 ('color:#666'), 477 ('#999 */
/* generic colour/border rules cover #333/#555/#666/#999/#6b7280/#111827/#374151/#e5e7eb/#f9fafb/#fff. Calendar-specific: */
[data-theme="dark"] .cal-day-event-card { background: var(--card-bg) !important; border-color: var(--border-color) !important; }
[data-theme="dark"] .cal-day-event-card:hover { background: var(--hover-bg) !important; border-color: var(--border-light) !important; }
[data-theme="dark"] .cal-year-month { background: var(--card-bg) !important; border-color: var(--border-color) !important; }
[data-theme="dark"] .cal-year-month > div:first-child { color: var(--text-primary) !important; }
[data-theme="dark"] .cal-year-month [data-date][style*="color:#374151"] { color: var(--text-secondary) !important; }
[data-theme="dark"] .google-calendar-more-events { background: var(--bg-tertiary) !important; color: var(--text-secondary) !important; }
[data-theme="dark"] [style*="background:#f0f0ff"] { background: rgba(99,102,241,0.18) !important; }
[data-theme="dark"] [style*="background:#f0f0ff"] span { color: #a5b4fc !important; }
[data-theme="dark"] [style*="background:#f5f5f5"] { background: var(--bg-tertiary) !important; }
[data-theme="dark"] #cal-task-title, [data-theme="dark"] #cal-task-desc,
[data-theme="dark"] [id^="cal-task-"] { background: var(--input-bg) !important; color: var(--text-primary) !important; border-color: var(--border-color) !important; }
/* [medium] calendar: month-view pills (CSS class rules) — frontend/css/styles.css 1047-1066 (.cal-pill-email #ede9fe/#6d28d9, .cal-pill-wa #d1 */
[data-theme="dark"] .cal-pill-email { background: rgba(139,92,246,0.22); color: #c4b5fd; }
[data-theme="dark"] .cal-pill-wa { background: rgba(16,185,129,0.22); color: #6ee7b7; }
[data-theme="dark"] .cal-pill-due { background: rgba(239,68,68,0.22); color: #fca5a5; }
[data-theme="dark"] .cal-pill-rem { background: rgba(245,158,11,0.22); color: #fcd34d; }
[data-theme="dark"] .cal-pill-task { background: rgba(99,102,241,0.22); color: #a5b4fc; }
[data-theme="dark"] .calendar-week-more:hover,
[data-theme="dark"] .calendar-week-cell:hover .week-empty-slot i { color: #a5b4fc !important; }
/* [high] dashboard: redesign tokens and metric chips (CSS) — frontend/css/styles.css 2839-2848 (.dashboard-redesign defines --dashboard-ink #2024 */
[data-theme="dark"] .dashboard-redesign {
  --dashboard-ink: var(--text-primary);
  --dashboard-muted: var(--text-tertiary);
  --dashboard-line: var(--border-color);
  color: var(--text-primary);
}
[data-theme="dark"] .dashboard-redesign__metric--violet .dashboard-redesign__metric-icon { background: rgba(105,86,219,0.22); }
[data-theme="dark"] .dashboard-redesign__metric--green .dashboard-redesign__metric-icon { background: rgba(32,184,135,0.22); }
[data-theme="dark"] .dashboard-redesign__metric--blue .dashboard-redesign__metric-icon { background: rgba(77,135,238,0.22); }
[data-theme="dark"] .dashboard-redesign__metric--orange .dashboard-redesign__metric-icon { background: rgba(241,154,80,0.22); }
[data-theme="dark"] .dashboard-redesign__text-button { color: var(--text-secondary); }
[data-theme="dark"] .dashboard-redesign__metric:hover { box-shadow: 0 8px 22px rgba(0,0,0,.45); }
/* [medium] dashboard: recent messages / daily tasks rows and permission-denied modal — frontend/js/views/dashboard.js 319, 413 (row hover 'var(--bg-hover,#f9fafb)' – --bg-hover u */
[data-theme="dark"] { --bg-hover: #374151; }
[data-theme="dark"] .recent-msg-item:hover,
[data-theme="dark"] .daily-task-item:hover { background: var(--hover-bg) !important; }
/* modal: generic [style*="background:white"], [style*="color:#374151"], [style*="color:#6b7280"], [style*="background:#f9fafb"] rules apply; the footer button .perm-denied-close-btn is fine */
/* [high] settings: page header, tab content section headers, sub-nav tabs — frontend/js/views/settings.js 26 (h2 '#111827'), 115-116, 221-222, 365-366, 377-378, 399-4 */
[data-theme="dark"] .main-content.page-settings h2[style*="color:#111827"],
[data-theme="dark"] .settings-tab-content h3[style*="color:#111827"],
[data-theme="dark"] .settings-tab-content h4[style*="color:#111827"] { color: var(--text-primary) !important; }
[data-theme="dark"] [style*="background:linear-gradient(135deg,#eef2ff,#f5f3ff)"] { background: rgba(99,102,241,0.12) !important; border-color: rgba(99,102,241,0.35) !important; }
[data-theme="dark"] [style*="color:#4338ca"] { color: #a5b4fc !important; }
[data-theme="dark"] .members-sub-nav, [data-theme="dark"] [style*="border-bottom:2px solid #e5e7eb"] { border-bottom-color: var(--border-color) !important; }
/* [high] settings: members list, invite box, teams sub-tab cards — frontend/js/views/settings.js 287-301 (invite box 'border:1px solid #e5e7eb;border-radius: */
[data-theme="dark"] .member-card { background: var(--card-bg) !important; border-color: var(--border-color) !important; }
[data-theme="dark"] .member-card[style*="#faf5ff"] { background: rgba(124,58,237,0.12) !important; border-color: rgba(124,58,237,0.4) !important; }
[data-theme="dark"] .member-card [style*="color:#111827"] { color: var(--text-primary) !important; }
[data-theme="dark"] .settings-team-card { background: var(--card-bg) !important; border-color: var(--border-color) !important; }
[data-theme="dark"] .settings-team-card:hover { border-color: rgba(99,102,241,0.5) !important; }
[data-theme="dark"] .settings-team-card h4 { color: var(--text-primary) !important; }
[data-theme="dark"] #inline-invite-form, [data-theme="dark"] [style*="background:#fafbfc"] { background: var(--bg-tertiary) !important; border-color: var(--border-color) !important; }
[data-theme="dark"] [style*="color:#e5e7eb"] { color: var(--border-light) !important; } /* empty-state icons */
/* [high] settings: 2FA status card, setup drawer, disable modal, backup-codes modal — frontend/js/views/settings.js 1847-1861 (active card 'background:linear-gradient(135deg,#e */
[data-theme="dark"] #twofa-setup-panel, [data-theme="dark"] .twofa-setup-panel,
[data-theme="dark"] div[style*="max-width:560px"][style*="background:#fff"],
[data-theme="dark"] div[style*="max-width:420px"][style*="background:#fff"] { background: var(--card-bg) !important; color: var(--text-primary) !important; }
[data-theme="dark"] [style*="background:#f8fafc"] { background: var(--bg-tertiary) !important; border-color: var(--border-color) !important; }
[data-theme="dark"] code[style*="background:#fff"],
[data-theme="dark"] div[style*="background:#fff;padding:10px"],
[data-theme="dark"] code[style*="background: white"] { background: var(--bg-secondary) !important; color: var(--text-primary) !important; border-color: var(--border-color) !important; }
[data-theme="dark"] [style*="background:#f0f4ff"] { background: rgba(99,102,241,0.18) !important; color: #a5b4fc !important; border-color: rgba(99,102,241,0.4) !important; }
[data-theme="dark"] [style*="background:#f0f9ff"] { background: rgba(3,105,161,0.2) !important; color: #7dd3fc !important; border-color: rgba(3,105,161,0.45) !important; }
[data-theme="dark"] [style*="background:#f3f4f6;color:#374151"] { background: var(--bg-tertiary) !important; color: var(--text-primary) !important; border-color: var(--border-color) !important; }
[data-theme="dark"] [style*="background:linear-gradient(135deg,#ecfdf5,#d1fae5)"] { background: rgba(16,185,129,0.15) !important; border-color: rgba(16,185,129,0.4) !important; }
[data-theme="dark"] [style*="color:#065f46"], [data-theme="dark"] [style*="color:#047857"] { color: #6ee7b7 !important; }
[data-theme="dark"] [style*="background:linear-gradient(135deg,#fffbeb,#fef3c7)"],
[data-theme="dark"] [style*="background:#fffbeb"] { background: rgba(245,158,11,0.15) !important; border-color: rgba(245,158,11,0.4) !important; }
[data-theme="dark"] [style*="color:#92400e"], [data-theme="dark"] [style*="color:#a16207"] { color: #fcd34d !important; }
[data-theme="dark"] [style*="background: #fff5e6"] { background: rgba(254,183,43,0.15) !important; }
[data-theme="dark"] [style*="color: #744210"] { color: #fcd34d !important; }
[data-theme="dark"] [style*="background: #f7fafc"] { background: var(--bg-tertiary) !important; border-color: var(--border-color) !important; }
[data-theme="dark"] [style*="color:#991b1b"], [data-theme="dark"] [style*="color:#dc2626"] { color: #fca5a5 !important; }
/* [medium] settings: API & Webhooks, Security lists, Email filter form/table — frontend/js/views/settings.js 372-425 (three '#f9fafb' boxes, 386/458 empty states '#9ca3a */
/* generic rules cover #f9fafb / white / #e5e7eb / #374151. Table headers with inline #6b7280: */
[data-theme="dark"] th[style*="color:#6b7280"] { color: var(--text-secondary) !important; }
[data-theme="dark"] #filters-table, [data-theme="dark"] #filters-table-body td { background: var(--card-bg); color: var(--text-primary); }
/* [low] platformAdmin: hard-coded chips, error/empty states, danger buttons — frontend/js/views/platformAdmin.js 29-41,63,69-70,102-103,118-135,197-207,239-240,312-313,323-3 */
[data-theme="dark"] .main-content.page-platformAdmin [style*="background:#fef2f2"] { background: rgba(239,68,68,0.15) !important; border-color: rgba(239,68,68,0.4) !important; }
[data-theme="dark"] .main-content.page-platformAdmin [style*="background:#f0fdf4"] { background: rgba(16,185,129,0.15) !important; }
[data-theme="dark"] .pa-session-row:hover { background: var(--hover-bg) !important; }
/* [low] profile: class-based view (mostly fine) + darkmode-fixes badge/alert overrides — frontend/js/views/profile.js, frontend/css/components.css, frontend/css/darkmode-fixes.css, frontend/css/styles.css profile.js 49,93 (badge badge-warning/primary/secondary/info */
[data-theme="dark"] .badge.badge-info { background: rgba(59,130,246,0.25); color: #93c5fd; }
[data-theme="dark"] .badge.badge-secondary { background: var(--gray-700); color: var(--gray-200); }
[data-theme="dark"] a { color: var(--primary-light); }
[data-theme="dark"] a:hover { color: #a5b4fc; }
/* optional: retarget the dead .calendar-day rule */
[data-theme="dark"] .calendar-cell.calendar-square { background: var(--card-bg); border-color: var(--border-color); }
/* [medium] teams/settings/permissions: role & status pastel chips — frontend/js/views/teams.js, settings.js, permissions.js teams.js 594-597 (role map bg '#fef3c7'/'#e0e7ff'/'#fee2e2'  */
[data-theme="dark"] [style*="background:#fef3c7"] { background: rgba(217,119,6,0.2) !important; color: #fcd34d !important; }
[data-theme="dark"] [style*="background:#e0e7ff"] { background: rgba(79,70,229,0.22) !important; color: #a5b4fc !important; }
[data-theme="dark"] [style*="background:#fee2e2"],
[data-theme="dark"] [style*="background:#fef2f2"] { background: rgba(220,38,38,0.2) !important; color: #fca5a5 !important; }
[data-theme="dark"] [style*="background:#ecfdf5"],
[data-theme="dark"] [style*="background:#dcfce7"],
[data-theme="dark"] [style*="background:#f0fdf4"] { background: rgba(5,150,105,0.2) !important; color: #6ee7b7 !important; }
[data-theme="dark"] [style*="background:#eef2ff"] { background: rgba(99,102,241,0.2) !important; color: #a5b4fc !important; }
[data-theme="dark"] [style*="color:#b45309"] { color: #fcd34d !important; }
/* [low] settings/teams: inactive tab text and separators written by JS — frontend/js/views/settings.js, frontend/js/views/teams.js settings.js 1003-1008, 2731-2736; teams.js 485-489, 1174-117 */
[data-theme="dark"] .members-sub-tab.active, [data-theme="dark"] .team-tab-btn.active,
[data-theme="dark"] .team-add-mode-tab.active,
[data-theme="dark"] button[style*="color:#6366f1"][style*="border-bottom:2px solid #6366f1"] { color: var(--primary-light) !important; border-bottom-color: var(--primary-light) !important; }
/* [low] advanced.css / styles.css class rules with literal light colours (view-related) — frontend/css/advanced.css, frontend/css/styles.css advanced.css 336 (.logo-remove-btn border: 2px solid white), */
[data-theme="dark"] .logo-remove-btn { border-color: var(--card-bg); }
[data-theme="dark"] { --text-muted: #9ca3af; }

/* ======== AREA: views-b ======== */
/* [high] internal chat — channel-redesign skin overrides JS dark rules — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\css\channel-redesign.css 1134-1164 */
[data-theme="dark"] #main-content.page-internal-chat .int-side,
[data-theme="dark"] #main-content.page-internal-chat .int-side-head,
[data-theme="dark"] #main-content.page-internal-chat .int-chat-head { background: var(--bg-primary) !important; border-color: var(--border-color) !important; }
[data-theme="dark"] #main-content.page-internal-chat .int-head-btn { background: var(--bg-secondary) !important; border-color: var(--border-color) !important; color: var(--text-secondary) !important; }
[data-theme="dark"] #main-content.page-internal-chat .int-head-btn:hover { background: var(--bg-tertiary) !important; color: var(--primary-light) !important; border-color: var(--primary-light) !important; }
[data-theme="dark"] #main-content.page-internal-chat .int-search { background: var(--bg-secondary) !important; color: var(--text-primary) !important; }
[data-theme="dark"] #main-content.page-internal-chat .int-search:focus { background: var(--bg-tertiary) !important; }
[data-theme="dark"] #main-content.page-internal-chat .int-folder-tab { background: var(--bg-secondary) !important; border-color: var(--border-color) !important; color: var(--text-secondary) !important; }
[data-theme="dark"] #main-content.page-internal-chat .int-folder-tab:hover,
[data-theme="dark"] #main-content.page-internal-chat .int-conv-row:hover { background: var(--bg-tertiary) !important; }
[data-theme="dark"] #main-content.page-internal-chat .int-folder-tab.active,
[data-theme="dark"] #main-content.page-internal-chat .int-conv-row.selected { background: rgba(108,92,231,.22) !important; border-color: transparent !important; color: #c4b5fd !important; }
[data-theme="dark"] #main-content.page-internal-chat .int-conv-name { color: var(--text-primary) !important; }
[data-theme="dark"] #main-content.page-internal-chat .int-conv-snip { color: var(--text-tertiary) !important; }
[data-theme="dark"] #main-content.page-internal-chat #int-conv-list::-webkit-scrollbar-thumb { background: var(--bg-tertiary); }
/* [high] channels — page-channels top-nav skin — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\css\channel-redesign.css 846-866 */
[data-theme="dark"] body:has(#main-content.page-channels) .top-nav { background: var(--bg-primary) !important; border-bottom-color: var(--border-color) !important; }
[data-theme="dark"] body:has(#main-content.page-channels) .top-nav #workspace-dropdown-btn { background: var(--bg-secondary) !important; color: var(--text-primary) !important; }
/* [high] global leak — channelSettings.css generic selectors — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\css\channelSettings.css 122-143, 152-158, 173-177, 213-242, 244-274, 278-297, 301-34 */
[data-theme="dark"] .form-group label,
[data-theme="dark"] .template-preview strong,
[data-theme="dark"] .preview-section h4,
[data-theme="dark"] .empty-state h4,
[data-theme="dark"] .template-card-header h4,
[data-theme="dark"] .variable-category h5 { color: var(--text-primary); }
[data-theme="dark"] .template-type,
[data-theme="dark"] .empty-state,
[data-theme="dark"] .preview-body .preview-content,
[data-theme="dark"] .text-muted { color: var(--text-secondary) !important; }
[data-theme="dark"] .empty-state i { color: var(--text-tertiary); }
[data-theme="dark"] .preview-text,
[data-theme="dark"] .preview-content,
[data-theme="dark"] .variables-preview code { background: var(--bg-primary); color: var(--text-primary); }
[data-theme="dark"] .preview-section,
[data-theme="dark"] .variables-helper { background: var(--bg-tertiary); }
[data-theme="dark"] .template-card-actions { border-top-color: var(--border-color); }
[data-theme="dark"] .variable-category h5 { border-bottom-color: var(--border-color); }
[data-theme="dark"] .btn-icon { background: var(--bg-secondary); border-color: var(--border-color); color: var(--text-secondary); }
[data-theme="dark"] .btn-icon:hover { background: var(--bg-tertiary); }
[data-theme="dark"] .btn-icon.btn-danger:hover { background: rgba(239,68,68,.15); }
[data-theme="dark"] .info-box { background: rgba(59,130,246,.12); border-color: rgba(59,130,246,.35); }
[data-theme="dark"] .info-box strong { color: #93c5fd; }
[data-theme="dark"] .variable-category code,
[data-theme="dark"] .variables-preview code { background: rgba(59,130,246,.15); color: #93c5fd; border-color: rgba(59,130,246,.35); }
[data-theme="dark"] .form-control { border-color: var(--border-color); background: var(--input-bg); color: var(--text-primary); }
/* [high] automations — n8n-style flow editor (.afx-*) fully light — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\css\automations.css 299-370 */
[data-theme="dark"] #afx-overlay,
[data-theme="dark"] .afx-top,
[data-theme="dark"] .afx-drawer,
[data-theme="dark"] .afx-zoombar,
[data-theme="dark"] .afx-icon-btn,
[data-theme="dark"] .afx-btn.ghost,
[data-theme="dark"] .auto-card-flowbtn { background: var(--bg-primary); border-color: var(--border-color); color: var(--text-secondary); }
[data-theme="dark"] .afx-top, [data-theme="dark"] .afx-drawer-head, [data-theme="dark"] .afx-drawer-foot, [data-theme="dark"] .afx-drawer { border-color: var(--border-color); }
[data-theme="dark"] .afx-drawer-head, [data-theme="dark"] .afx-node-title, [data-theme="dark"] .afx-trigger-txt strong { color: var(--text-primary); }
[data-theme="dark"] .afx-top-input { background: var(--bg-secondary); color: var(--text-primary); }
[data-theme="dark"] .afx-top-input:focus { background: var(--bg-tertiary); }
[data-theme="dark"] .afx-btn.ghost:hover, [data-theme="dark"] .afx-trigger-item:hover, [data-theme="dark"] .auto-card-flowbtn:hover, [data-theme="dark"] .afx-zoombar button:hover { background: var(--bg-tertiary); }
[data-theme="dark"] .afx-canvas { background: #0f172a; background-image: radial-gradient(#334155 1.2px, transparent 1.2px); }
[data-theme="dark"] .afx-edges path { stroke: #6366f1; }
[data-theme="dark"] .afx-edges path.ghost { stroke: #475569; }
[data-theme="dark"] .afx-node { background: var(--bg-secondary); border-color: var(--border-light); box-shadow: 0 3px 12px rgba(0,0,0,.4); }
[data-theme="dark"] .afx-node.ghost { background: var(--bg-tertiary); }
[data-theme="dark"] .afx-node-sub, [data-theme="dark"] .afx-trigger-txt small, [data-theme="dark"] #afx-zoom-label, [data-theme="dark"] .afx-zoombar button { color: var(--text-tertiary); }
[data-theme="dark"] .afx-logic { background: rgba(108,92,231,.25); color: #c4b5fd; }
[data-theme="dark"] .afx-trigger-item { border-color: var(--border-color); }
[data-theme="dark"] .afx-trigger-item.selected { background: rgba(108,92,231,.2); border-color: #8b7cf6; }
[data-theme="dark"] .afx-note { background: rgba(108,92,231,.12); border-color: rgba(108,92,231,.35); color: var(--text-secondary); }
/* [medium] automations — .auto-action-config light island + dead [data-theme="light"] rule — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\css\automations.css 87, 198-203 */
[data-theme="dark"] .auto-action-config { background: var(--bg-tertiary); border-color: var(--border-light); color: var(--text-primary); }
[data-theme="dark"] .auto-action-config label { color: var(--text-secondary); }
[data-theme="dark"] .auto-action-config input,
[data-theme="dark"] .auto-action-config select,
[data-theme="dark"] .auto-action-config textarea { background: var(--bg-secondary); border-color: var(--border-light); color: var(--text-primary); }
[data-theme="dark"] .auto-action-vars span { background: rgba(99,102,241,.18); border-color: rgba(99,102,241,.4); color: #a5b4fc; }
[data-theme="dark"] .auto-action-vars span:hover { background: rgba(99,102,241,.3); }
/* line 87: replace the selector */
:root:not([data-theme="dark"]) .auto-card-toggle .slider { background: #ccc; }
/* [high] internal chat — JS-injected <style> light-only rules — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\js\views\internal.js 103-233 */
[data-theme="dark"] .int-react-badge { background: var(--bg-tertiary); border-color: var(--border-light); color: var(--text-primary); }
[data-theme="dark"] .int-reply-bar { background: rgba(79,70,229,.18); border-top-color: var(--border-color); }
[data-theme="dark"] .int-emoji-panel, [data-theme="dark"] .int-plus-menu, [data-theme="dark"] .int-more-menu, [data-theme="dark"] .int-file-preview { background: var(--bg-secondary); border-color: var(--border-color); box-shadow: 0 10px 30px rgba(0,0,0,.5); }
[data-theme="dark"] .int-emoji-panel span:hover, [data-theme="dark"] .int-emoji-tab.active, [data-theme="dark"] .int-conv-row.selected, [data-theme="dark"] .int-more-item:hover { background: var(--bg-tertiary); }
[data-theme="dark"] .int-folder-tabs, [data-theme="dark"] .int-filters, [data-theme="dark"] .int-emoji-tabs, [data-theme="dark"] .int-arch-row, [data-theme="dark"] .int-file-preview { border-color: var(--border-color); }
[data-theme="dark"] .int-folder-tab, [data-theme="dark"] .int-filter-chip { background: var(--bg-tertiary); border-color: var(--border-light); color: var(--text-secondary); }
[data-theme="dark"] .int-head-btn, [data-theme="dark"] .int-iconbtn { background: var(--bg-tertiary); color: var(--text-secondary); }
[data-theme="dark"] .int-head-btn:hover, [data-theme="dark"] .int-iconbtn:hover { background: var(--border-light); color: #a5b4fc; }
[data-theme="dark"] .int-more-item, [data-theme="dark"] .int-plus-item, [data-theme="dark"] .int-arch-row { color: var(--text-primary); }
[data-theme="dark"] .int-fp-thumb, [data-theme="dark"] .int-fp-chip { border-color: var(--border-light); background: var(--bg-tertiary); }
[data-theme="dark"] .int-row.other .int-file-chip { background: var(--bg-tertiary); }
[data-theme="dark"] .int-row.other .int-audio-play { background: rgba(99,102,241,.25); color: #a5b4fc; }
[data-theme="dark"] .int-typing { color: var(--text-tertiary); }
[data-theme="dark"] .int-sched-bar { background: rgba(245,158,11,.15); border-top-color: rgba(245,158,11,.35); color: #fcd34d; }
/* [high] internal chat — inline white modals, context menus, inputs — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\js\views\internal.js 248, 258, 501, 589, 659-669, 722-729, 833-846, 1135-1145, 12 */
[data-theme="dark"] [style*="background:#fff;border-radius:16px"],
[data-theme="dark"] [style*="background:#f8fafc;margin:auto"] { background: var(--bg-secondary) !important; color: var(--text-primary); }
[data-theme="dark"] [style*="background:#f9fafb"] { background: var(--bg-tertiary) !important; }
[data-theme="dark"] [style*="border-top:1px solid #eef0f6"], [data-theme="dark"] [style*="border-bottom:1px solid #eef0f6"], [data-theme="dark"] [style*="border-top:1px solid #e5e7eb"], [data-theme="dark"] [style*="border-bottom:1px solid #f3f4f6"], [data-theme="dark"] [style*="border-top:1px solid #f3f4f6"] { border-color: var(--border-color) !important; }
[data-theme="dark"] [style*="height:1px;background:#eef0f6"] { background: var(--border-color) !important; }
[data-theme="dark"] [style*="border:1px solid #e8eaf1"], [data-theme="dark"] [style*="border:1.5px solid #e8eaf1"], [data-theme="dark"] [style*="border:1px solid #d1d5db"], [data-theme="dark"] [style*="border:1.5px solid #d1d5db"] { border-color: var(--border-light) !important; background: var(--bg-tertiary) !important; color: var(--text-primary) !important; }
[data-theme="dark"] .int-tk-title, [data-theme="dark"] .int-tk-desc, [data-theme="dark"] .int-tk-due, [data-theme="dark"] .int-tk-pri, [data-theme="dark"] #int-sch-text, [data-theme="dark"] #int-sch-dt, [data-theme="dark"] #int-sch-rec, [data-theme="dark"] .int-fp-newname, [data-theme="dark"] #int-nc-title { background: var(--input-bg) !important; color: var(--text-primary) !important; border-color: var(--border-light) !important; }
[data-theme="dark"] .int-sch-cancel, [data-theme="dark"] .int-ci-close, [data-theme="dark"] .int-tk-cancel, [data-theme="dark"] #int-nc-cancel { background: var(--bg-tertiary) !important; color: var(--text-secondary) !important; }
[data-theme="dark"] [style*="color:#374151"] { color: var(--text-primary) !important; }
[data-theme="dark"] [style*="color:#111827"] { color: var(--text-primary) !important; }
[data-theme="dark"] [style*="color:#6b7280"] { color: var(--text-secondary) !important; }
[data-theme="dark"] #int-bulk-bar { background: rgba(79,70,229,.18) !important; border-bottom-color: var(--border-color) !important; }
[data-theme="dark"] .int-fp-item:hover, [data-theme="dark"] .int-tpl-item:hover { background: var(--bg-tertiary) !important; }
/* [high] channels — channel cards grid — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\js\views\channels.js 95-96, 121-175 */
[data-theme="dark"] #channels-grid .channel-card[style*="background: white"] { background: var(--card-bg) !important; border-color: var(--border-color) !important; box-shadow: 0 1px 3px rgba(0,0,0,.4) !important; }
[data-theme="dark"] .channel-card h3[style*="color: #111827"] { color: var(--text-primary) !important; }
[data-theme="dark"] .channel-card [style*="color: #6b7280"] { color: var(--text-secondary) !important; }
[data-theme="dark"] .channel-card [style*="background:#f9fafb;color:#9ca3af"] { background: var(--bg-tertiary) !important; color: var(--text-tertiary) !important; }
[data-theme="dark"] .channel-card [style*="background:#eff6ff;color:#2563eb"] { background: rgba(37,99,235,.2) !important; color: #93c5fd !important; }
[data-theme="dark"] .channel-disconnected-warn { background: rgba(249,115,22,.15) !important; border-color: rgba(249,115,22,.4) !important; color: #fdba74 !important; }
[data-theme="dark"] #trash-channels-btn, [data-theme="dark"] #manage-perms-btn { background: var(--bg-secondary) !important; border-color: var(--border-light) !important; }
/* [high] channels — trash view, history modal, send-history, bulk permissions, share panel, info notes — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\js\views\channels.js 237-245, 1077, 1108, 1859-1925, 2010-2066, 2169-2173, 2693-2 */
[data-theme="dark"] [style*="background:#fff5f5"] { background: var(--bg-primary) !important; }
[data-theme="dark"] [style*="background:#fef2f2"] { background: rgba(239,68,68,.12) !important; border-color: rgba(239,68,68,.35) !important; }
[data-theme="dark"] #trash-back-btn, [data-theme="dark"] [style*="border:2px dashed #fca5a5"] { background: var(--card-bg) !important; border-color: rgba(239,68,68,.5) !important; }
[data-theme="dark"] [style*="background:#fafafa"], [data-theme="dark"] [style*="background: #f8f9fa"], [data-theme="dark"] [style*="background:#f8fafc"] { background: var(--bg-tertiary) !important; border-color: var(--border-color) !important; }
[data-theme="dark"] [style*="background:#fffbeb"], [data-theme="dark"] .sh-batch-row[style*="#fffbeb"], [data-theme="dark"] .sh-batch-detail td[style*="#fffdf5"] { background: rgba(245,158,11,.12) !important; border-color: rgba(245,158,11,.35) !important; }
[data-theme="dark"] [style*="background:#fff;border:1px solid #e5e7eb;border-radius:10px"], [data-theme="dark"] #bulk-perm-list, [data-theme="dark"] #bulk-perm-list label, [data-theme="dark"] [style*="background:white;"] { background: var(--card-bg) !important; border-color: var(--border-color) !important; }
[data-theme="dark"] #bulk-perm-member { background: var(--input-bg) !important; color: var(--text-primary) !important; border-color: var(--border-light) !important; }
[data-theme="dark"] .perm-status { background: var(--bg-tertiary) !important; color: var(--text-secondary) !important; }
[data-theme="dark"] #sendHistoryTabs, [data-theme="dark"] [style*="border-bottom:1px solid #e5e7eb"], [data-theme="dark"] [style*="border:1px solid #e5e7eb"], [data-theme="dark"] [style*="border-bottom:1px solid #f3f4f6"] { border-color: var(--border-color) !important; }
[data-theme="dark"] .sh-tab { color: var(--text-primary) !important; }
[data-theme="dark"] [style*="color:#374151"], [data-theme="dark"] [style*="color:#111827"], [data-theme="dark"] [style*="color: #111827"], [data-theme="dark"] [style*="color:#111b21"] { color: var(--text-primary) !important; }
[data-theme="dark"] [style*="color:#6b7280"], [data-theme="dark"] [style*="color: #6b7280"] { color: var(--text-secondary) !important; }
[data-theme="dark"] #internal-note { background: rgba(99,102,241,.15) !important; border-color: rgba(99,102,241,.4) !important; }
[data-theme="dark"] #wa-private-note { background: rgba(37,211,102,.12) !important; }
/* [low] channels — WhatsApp QR modal (native WA look) — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\js\views\channels.js 299-345 */
/* optional — keep the QR frame white for scanability */
[data-theme="dark"] [style*="background:#fff;border-radius:16px;width:720px"] { background: var(--bg-secondary) !important; color: var(--text-primary); }
[data-theme="dark"] [style*="background:#f0f2f5"] { background: var(--bg-tertiary) !important; border-color: var(--border-color) !important; }
/* [medium] todo — bulk bar, export modal, custom-field buttons, low-contrast greys — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\js\views\todo.js 155-164, 1231, 1274-1275, 1464, 2338, 3162-3163, 3960, 4625- */
[data-theme="dark"] #todo-bulk-bar { background: rgba(99,102,241,.15) !important; border-color: rgba(99,102,241,.4) !important; }
[data-theme="dark"] .todo-bulk-action { background: var(--bg-secondary) !important; border-color: rgba(99,102,241,.4) !important; }
[data-theme="dark"] #todo-bulk-delete-btn { border-color: rgba(239,68,68,.5) !important; }
[data-theme="dark"] #todo-bulk-close, [data-theme="dark"] #folder-modal-close { color: var(--text-secondary) !important; }
[data-theme="dark"] #exp-pdf, [data-theme="dark"] #exp-csv { border-color: var(--border-color) !important; }
[data-theme="dark"] .cf-btn { border-color: var(--border-color) !important; }
[data-theme="dark"] .todo-page [style*="color:#666"] { color: var(--text-tertiary) !important; }
/* [low] todo — residual light-only class rules — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\css\todo.css 151, 224-225, 242 */
[data-theme="dark"] .todo-status-pill.inbox.active { color: var(--text-primary); }
[data-theme="dark"] .todo-card-tag.priority-low, [data-theme="dark"] .todo-priority-pill.active.low { color: var(--text-tertiary); }
/* [medium] task reminders — dark rules keyed on OS preference, not app theme — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\css\taskReminders.css 70-77, 79-98 */
/* replace the @media block with attribute-keyed rules */
[data-theme="dark"] #task-reminders-badge,
[data-theme="dark"] #task-reminders-panel { background: var(--bg-secondary) !important; color: var(--text-primary); }
[data-theme="dark"] #task-reminders-panel > div > div:nth-child(1) { border-bottom-color: var(--border-color); }
[data-theme="dark"] #task-reminders-panel > div > div:last-child { border-top-color: var(--border-color); }
[data-theme="dark"] #reminders-list::-webkit-scrollbar-thumb { background: var(--bg-tertiary); }
[data-theme="dark"] #reminders-list::-webkit-scrollbar-thumb:hover { background: var(--border-light); }
/* [medium] address books — undefined --bg-hover fallback, WA avatar, share modal inline — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\css\addressbooks.css 194-199, 217, 433-445 */
[data-theme="dark"] .wa-contact-row:hover { background: var(--hover-bg); }
[data-theme="dark"] .wa-contact-avatar { background: var(--bg-tertiary); }
[data-theme="dark"] .toggle-switch .toggle-slider { background-color: var(--bg-tertiary); }
/* or define the missing token once in styles.css [data-theme="dark"]: --bg-hover: #374151; and in :root: --bg-hover: #f3f4f6; */
/* [medium] address books — inline light literals in JS — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\js\views\addressbooks.js 286, 1262, 2778-2786, 2830 */
[data-theme="dark"] #ab-back-btn { border-color: var(--border-light) !important; }
[data-theme="dark"] #photo-preview { background: var(--bg-tertiary) !important; }
[data-theme="dark"] #users-list { background: var(--bg-tertiary) !important; border-color: var(--border-color) !important; }
[data-theme="dark"] #users-list [style*="color:#666"], [data-theme="dark"] small[style*="color:#666"] { color: var(--text-secondary) !important; }
/* [medium] automations — inline fallback popup and variant buttons — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\js\views\automations.js 1462-1469, 1585, 1617, 1626 */
[data-theme="dark"] div[style*="background: white; border: 1px solid rgb(229, 231, 235)"] { background: var(--bg-secondary) !important; border-color: var(--border-color) !important; color: var(--text-primary); }
[data-theme="dark"] div[style*="background: white; border: 1px solid rgb(229, 231, 235)"] [style*="color:#374151"] { color: var(--text-primary) !important; }
[data-theme="dark"] div[style*="background: white; border: 1px solid rgb(229, 231, 235)"] input { background: var(--input-bg) !important; border-color: var(--border-light) !important; color: var(--text-primary) !important; }
[data-theme="dark"] #_vfp-cancel { background: var(--bg-tertiary) !important; border-color: var(--border-light) !important; color: var(--text-secondary) !important; }
[data-theme="dark"] .act-variant-rm { background: rgba(239,68,68,.2) !important; color: #fca5a5 !important; }
[data-theme="dark"] .act-variant-add { background: rgba(99,102,241,.18) !important; color: #a5b4fc !important; border-color: rgba(99,102,241,.5) !important; }
/* [high] templates — variable helper box and variable buttons — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\js\views\templates.js 205-237, 268 */
[data-theme="dark"] .template-variables-helper[style*="background: #f9fafb"] { background: var(--bg-tertiary) !important; border-color: var(--border-color) !important; }
[data-theme="dark"] .template-variables-helper h4[style*="color: #374151"] { color: var(--text-primary) !important; }
[data-theme="dark"] .template-variables-helper p[style*="border-top: 1px solid #e5e7eb"] { border-top-color: var(--border-color) !important; }
[data-theme="dark"] .template-form small[style*="color: #6b7280"], [data-theme="dark"] .template-variables-helper [style*="color: #6b7280"] { color: var(--text-secondary) !important; }
[data-theme="dark"] button[style*="background: white; border: 2px solid #e5e7eb"] { background: var(--bg-secondary) !important; border-color: var(--border-color) !important; color: var(--text-primary) !important; }
/* [low] email template manager stylesheet — fully light (verify it is loaded) — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\css\emailTemplateManager.css 4-56, 64-66, 79-116, 119-168, 177-220, 240-246, 326-337 */
/* only if the file is actually loaded */
[data-theme="dark"] .template-card, [data-theme="dark"] .variable-item-sidebar, [data-theme="dark"] .preview-section { background: var(--card-bg); border-color: var(--border-color); }
[data-theme="dark"] .template-section, [data-theme="dark"] .variable-item, [data-theme="dark"] .variables-sidebar, [data-theme="dark"] .preview-email-content, [data-theme="dark"] .variables-helper { background: var(--bg-tertiary); border-color: var(--border-color); }
[data-theme="dark"] .variable-item:hover, [data-theme="dark"] .variable-item-sidebar:hover { background: var(--hover-bg); }
[data-theme="dark"] .variable-code, [data-theme="dark"] .variable-code-clickable { background: var(--bg-secondary); border-color: var(--border-light); color: #f472b6; }
[data-theme="dark"] .template-name, [data-theme="dark"] .template-manager-header h4, [data-theme="dark"] .variable-name, [data-theme="dark"] #templateForm .form-group label { color: var(--text-primary); }
[data-theme="dark"] .template-preview, [data-theme="dark"] .preview-footer { color: var(--text-secondary); }
[data-theme="dark"] .template-card-header, [data-theme="dark"] .preview-header, [data-theme="dark"] .preview-footer, [data-theme="dark"] .template-manager-header { border-color: var(--border-color); }
[data-theme="dark"] .variables-sidebar::-webkit-scrollbar-track { background: var(--bg-secondary); }
/* [medium] campaigns — dark mode never activates (body.dark-mode + own toggle) — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\campaigns.html 128-143, 232-238, 276-279 */
[data-theme="dark"] .modal-content { background: var(--bg-secondary); color: var(--text-primary); }
/* in campaigns.css replace every `body.dark-mode` prefix with `[data-theme="dark"]` (or `html.dark-mode`) */
/* [medium] campaigns stylesheet — white surfaces and undefined tokens — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\css\campaigns.css 36-53, 63-71, 95-137, 181-186, 218-226, 249-254, 262-299, 33 */
[data-theme="dark"] .campaign-filter-btn, [data-theme="dark"] .campaign-card, [data-theme="dark"] .campaign-composer, [data-theme="dark"] .campaign-details, [data-theme="dark"] .mode-btn, [data-theme="dark"] .list-checkbox, [data-theme="dark"] .recipients-preview, [data-theme="dark"] .template-card, [data-theme="dark"] .btn-secondary { background: var(--bg-secondary); color: var(--text-primary); border-color: var(--border-color); }
[data-theme="dark"] .form-group input, [data-theme="dark"] .form-group select, [data-theme="dark"] .form-group textarea { background: var(--input-bg); color: var(--text-primary); border-color: var(--border-color); }
[data-theme="dark"] .recipients-selection, [data-theme="dark"] .recipient-chip, [data-theme="dark"] .stat-card, [data-theme="dark"] .campaign-content-preview, [data-theme="dark"] .recipients-table thead { background: var(--bg-tertiary); }
[data-theme="dark"] .campaign-filter-btn:hover, [data-theme="dark"] .list-checkbox:hover, [data-theme="dark"] .btn-secondary:hover:not(:disabled), [data-theme="dark"] .recipients-table tbody tr:hover, [data-theme="dark"] .campaign-card:hover { background: var(--hover-bg); }
[data-theme="dark"] .campaign-type-badge.email, [data-theme="dark"] .campaign-status-badge.sending, [data-theme="dark"] .recipient-status-indicator.delivered { background: rgba(59,130,246,.2); color: #93c5fd; }
[data-theme="dark"] .campaign-type-badge.whatsapp, [data-theme="dark"] .campaign-status-badge.completed, [data-theme="dark"] .recipient-status-indicator.sent { background: rgba(34,197,94,.2); color: #86efac; }
[data-theme="dark"] .campaign-status-badge.scheduled { background: rgba(245,158,11,.2); color: #fcd34d; }
[data-theme="dark"] .campaign-status-badge.draft, [data-theme="dark"] .recipient-status-indicator.pending { background: var(--bg-tertiary); color: var(--text-secondary); }
[data-theme="dark"] .campaign-status-badge.cancelled, [data-theme="dark"] .campaign-status-badge.failed, [data-theme="dark"] .recipient-status-indicator.failed { background: rgba(239,68,68,.2); color: #fca5a5; }
/* also define once in styles.css: :root{--bg-light:#f9fafb;--bg-hover:#f3f4f6} [data-theme="dark"]{--bg-light:#1f2937;--bg-hover:#374151} */
/* [medium] notes — private note cards and modal — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\js\views\notes.js 155, 177, 196-200 */
[data-theme="dark"] .note-card[style*="background: #fafafa"], [data-theme="dark"] .note-content[style*="background: #fafafa"] { background: var(--bg-tertiary) !important; }
[data-theme="dark"] .note-card p[style*="color: #333"] { color: var(--text-primary) !important; }
/* [low] labels / folders — no light-only inline colours — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\js\views\labels.js 25-30 (labels.js); 92, 466 (folders.js) */
/* none needed beyond the global .text-muted fix in the channelSettings.css finding */
/* [medium] darkmode-fixes.css — palette drift and over-broad generic overrides — C:\Users\LENOVO\Desktop\progetto-chatlify\frontend\css\darkmode-fixes.css 14-25, 44-57, 67-97, 274-289 */
/* align with styles.css tokens; scope the generic rules */
.dark-mode ::-webkit-scrollbar-track { background: var(--bg-primary); }
.dark-mode ::-webkit-scrollbar-thumb { background: var(--bg-tertiary); }
.dark-mode .dropdown-menu, .dark-mode .tooltip, .dark-mode .context-menu, .dark-mode .ql-toolbar, .dark-mode .ql-container { background: var(--bg-secondary); border-color: var(--border-color); color: var(--text-primary); }
.dark-mode .dropdown-item { color: var(--text-primary); }
.dark-mode .dropdown-item:hover { background: var(--hover-bg); }
.dark-mode code, .dark-mode pre { background: var(--bg-tertiary); color: var(--text-primary); border: none; }
.dark-mode table thead, .dark-mode table tbody tr:hover { background: var(--bg-tertiary); }
.dark-mode .badge:not([class*="bg-"]):not(.badge-primary):not(.badge-success):not(.badge-warning):not(.badge-danger):not(.badge-secondary) { background: var(--bg-tertiary); color: var(--text-primary); }
.dark-mode a:not(.btn):not([class*="sidebar"]):not([class*="nav"]) { color: var(--primary-light); }
.dark-mode img { opacity: 1; }


/* =====================================================================================
   2026-09-07 — Barra in alto nelle pagine canale (Email / WhatsApp / Chat interna / Canali).
   channel-redesign.css forza pillole, ricerca, campanella e bottoni su BIANCO con !important
   e selettori body:has(...) ad alta specificita': qui si replicano gli stessi selettori.
   ===================================================================================== */
[data-theme="dark"] body:has(#main-content:is(.page-email, .page-chat, .page-internal-chat)) .top-nav #workspace-dropdown-btn,
[data-theme="dark"] body:has(#main-content:is(.page-email, .page-chat, .page-internal-chat)) .top-nav #channel-dropdown-btn,
[data-theme="dark"] body:has(#main-content.page-channels) .top-nav #workspace-dropdown-btn {
  background: var(--bg-secondary, #111827) !important;
  border-color: var(--border-color, #374151) !important;
  color: var(--text-primary, #f9fafb) !important;
}
[data-theme="dark"] body:has(#main-content:is(.page-email, .page-chat, .page-internal-chat)) .top-nav #workspace-dropdown-btn:hover,
[data-theme="dark"] body:has(#main-content:is(.page-email, .page-chat, .page-internal-chat)) .top-nav #channel-dropdown-btn:hover,
[data-theme="dark"] body:has(#main-content.page-channels) .top-nav #workspace-dropdown-btn:hover { background: var(--bg-tertiary, #374151) !important; }
[data-theme="dark"] body:has(#main-content:is(.page-email, .page-chat, .page-internal-chat)) .top-nav #workspace-dropdown-btn > i:first-child,
[data-theme="dark"] body:has(#main-content:is(.page-email, .page-chat, .page-internal-chat)) .top-nav #channel-dropdown-btn > i:first-child { color: var(--text-primary, #f9fafb) !important; }
[data-theme="dark"] body:has(#main-content:is(.page-email, .page-chat, .page-internal-chat)) .top-nav #workspace-dropdown-btn > i:last-child,
[data-theme="dark"] body:has(#main-content:is(.page-email, .page-chat, .page-internal-chat)) .top-nav #channel-dropdown-btn > i:last-child { color: var(--text-secondary, #9ca3af) !important; }
[data-theme="dark"] body:has(#main-content:is(.page-email, .page-chat, .page-internal-chat)) .top-nav .global-search .search-input {
  background: var(--bg-secondary, #111827) !important; color: var(--text-primary, #f9fafb) !important;
}
[data-theme="dark"] body:has(#main-content:is(.page-email, .page-chat, .page-internal-chat)) .top-nav .global-search .search-icon { color: var(--text-tertiary, #9ca3af) !important; }
[data-theme="dark"] body:has(#main-content:is(.page-email, .page-chat, .page-internal-chat)) .top-nav .icon-btn,
[data-theme="dark"] body:has(#main-content:is(.page-email, .page-chat, .page-internal-chat)) .top-nav #dark-mode-toggle,
[data-theme="dark"] body:has(#main-content:is(.page-email, .page-channels, .page-chat, .page-internal-chat)) #notifications-btn {
  background: var(--bg-secondary, #111827) !important; border-color: var(--border-color, #374151) !important; color: var(--text-secondary, #d1d5db) !important;
}
[data-theme="dark"] body:has(#main-content:is(.page-email, .page-chat, .page-internal-chat)) .top-nav .notification-badge,
[data-theme="dark"] body:has(#main-content:is(.page-email, .page-channels, .page-chat, .page-internal-chat)) #notifications-btn .notification-badge { border-color: var(--bg-primary, #111827) !important; }
[data-theme="dark"] body:has(#main-content.page-channels) .top-nav { background: var(--bg-primary, #111827) !important; border-bottom-color: var(--border-color, #374151) !important; }
/* bottone "aggiorna" accanto alla ricerca contatti email */
[data-theme="dark"] #main-content.page-email #email-refresh-btn,
[data-theme="dark"] #main-content.page-email .email-contacts-search button {
  background: var(--bg-tertiary, #374151) !important; color: var(--text-primary, #f9fafb) !important; border-color: var(--border-color, #374151) !important;
}
/* stato ChatlifyAI e badge simili: sfondi pastello impostati da JS (serializzati in rgb) */
[data-theme="dark"] [style*="background: rgb(209, 250, 229)"], [data-theme="dark"] [style*="background-color: rgb(209, 250, 229)"],
[data-theme="dark"] [style*="background: rgb(220, 252, 231)"] { background: rgba(16,185,129,.18) !important; color: #6ee7b7 !important; }
[data-theme="dark"] [style*="background: rgb(254, 226, 226)"], [data-theme="dark"] [style*="background-color: rgb(254, 226, 226)"],
[data-theme="dark"] [style*="background: rgb(254, 242, 242)"] { background: rgba(239,68,68,.18) !important; color: #fca5a5 !important; }
[data-theme="dark"] [style*="background: rgb(254, 243, 199)"], [data-theme="dark"] [style*="background: rgb(255, 251, 235)"] { background: rgba(245,158,11,.18) !important; color: #fcd34d !important; }
[data-theme="dark"] [style*="background: rgb(219, 234, 254)"], [data-theme="dark"] [style*="background: rgb(224, 231, 255)"],
[data-theme="dark"] [style*="background: rgb(238, 242, 255)"] { background: rgba(99,102,241,.18) !important; color: #c7d2fe !important; }
[data-theme="dark"] [style*="background: rgb(255, 255, 255)"], [data-theme="dark"] [style*="background-color: rgb(255, 255, 255)"],
[data-theme="dark"] [style*="background: rgb(249, 250, 251)"], [data-theme="dark"] [style*="background-color: rgb(249, 250, 251)"] { background: var(--card-bg, #1f2937) !important; }
[data-theme="dark"] [style*="background: rgb(243, 244, 246)"], [data-theme="dark"] [style*="background-color: rgb(243, 244, 246)"] { background: var(--bg-tertiary, #374151) !important; }
/* testi scuri "di stato" usati sui pastello (verde/rosso/ambra/blu scuri): al buio diventano chiari */
[data-theme="dark"] [style*="color:#065f46"], [data-theme="dark"] [style*="color: #065f46"], [data-theme="dark"] [style*="color:#166534"], [data-theme="dark"] [style*="color: #166534"],
[data-theme="dark"] [style*="color:#047857"], [data-theme="dark"] [style*="color: #047857"], [data-theme="dark"] [style*="color: rgb(6, 95, 70)"] { color: #6ee7b7 !important; }
[data-theme="dark"] [style*="color:#991b1b"], [data-theme="dark"] [style*="color: #991b1b"], [data-theme="dark"] [style*="color:#7f1d1d"],
[data-theme="dark"] [style*="color:#b91c1c"], [data-theme="dark"] [style*="color: #b91c1c"], [data-theme="dark"] [style*="color: rgb(153, 27, 27)"] { color: #fca5a5 !important; }
[data-theme="dark"] [style*="color:#92400e"], [data-theme="dark"] [style*="color: #92400e"], [data-theme="dark"] [style*="color:#78350f"],
[data-theme="dark"] [style*="color:#b45309"], [data-theme="dark"] [style*="color: #b45309"], [data-theme="dark"] [style*="color: rgb(146, 64, 14)"] { color: #fcd34d !important; }
[data-theme="dark"] [style*="color:#1e40af"], [data-theme="dark"] [style*="color: #1e40af"], [data-theme="dark"] [style*="color:#1e3a8a"],
[data-theme="dark"] [style*="color:#3730a3"], [data-theme="dark"] [style*="color: #3730a3"], [data-theme="dark"] [style*="color:#4338ca"], [data-theme="dark"] [style*="color: #4338ca"] { color: #a5b4fc !important; }
[data-theme="dark"] [style*="color:#5b21b6"], [data-theme="dark"] [style*="color: #5b21b6"], [data-theme="dark"] [style*="color:#6d28d9"], [data-theme="dark"] [style*="color: #6d28d9"] { color: #c4b5fd !important; }
/* hover gestiti da JS (onmouseover/onmouseout scrivono colori fissi): il browser serializza gli hex in rgb(),
   quindi si intercettano le forme rgb() dei grigi/pastello usati come hover e ripristino */
[data-theme="dark"] [style*="background: rgb(245, 243, 255)"], [data-theme="dark"] [style*="background: rgb(240, 244, 255)"],
[data-theme="dark"] [style*="background: rgb(238, 242, 255)"], [data-theme="dark"] [style*="background-color: rgb(245, 243, 255)"] { background: rgba(99,102,241,.14) !important; }
[data-theme="dark"] [style*="background: rgb(245, 245, 245)"], [data-theme="dark"] [style*="background: rgb(240, 240, 240)"],
[data-theme="dark"] [style*="background: rgb(245, 246, 246)"], [data-theme="dark"] [style*="background: rgb(240, 242, 245)"],
[data-theme="dark"] [style*="background: rgb(248, 250, 252)"], [data-theme="dark"] [style*="background: rgb(250, 250, 250)"],
[data-theme="dark"] [style*="background: rgb(241, 245, 249)"], [data-theme="dark"] [style*="background: rgb(229, 231, 235)"],
[data-theme="dark"] [style*="background-color: rgb(245, 245, 245)"], [data-theme="dark"] [style*="background-color: rgb(240, 240, 240)"],
[data-theme="dark"] [style*="background-color: rgb(248, 250, 252)"], [data-theme="dark"] [style*="background-color: rgb(229, 231, 235)"] { background: var(--hover-bg-dark, #374151) !important; }
[data-theme="dark"] [style*="background: white"], [data-theme="dark"] [style*="background-color: white"] { background: var(--card-bg, #1f2937) !important; }
[data-theme="dark"] [style*="border-color: rgb(229, 231, 235)"], [data-theme="dark"] [style*="border-color: rgb(209, 213, 219)"],
[data-theme="dark"] [style*="border-color: rgb(243, 244, 246)"] { border-color: var(--border-color, #374151) !important; }
[data-theme="dark"] [style*="color: rgb(17, 24, 39)"], [data-theme="dark"] [style*="color: rgb(31, 41, 55)"], [data-theme="dark"] [style*="color: rgb(55, 65, 81)"] { color: var(--text-primary, #f9fafb) !important; }
[data-theme="dark"] [style*="color: rgb(107, 114, 128)"], [data-theme="dark"] [style*="color: rgb(75, 85, 99)"] { color: var(--text-secondary, #d1d5db) !important; }

/* --- Toast/notifiche: notifications.js inietta a runtime uno <style> con `.toast{background:white}`
   che arriva DOPO i fogli collegati, quindi qui serve !important --- */
[data-theme="dark"] #toast-container .toast,
[data-theme="dark"] .toast {
  background: var(--card-bg, #1f2937) !important;
  color: var(--text-primary, #f9fafb) !important;
  border: 1px solid var(--border-color, #374151) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .5) !important;
}
[data-theme="dark"] .toast-success { border-left: 4px solid #34d399 !important; }
[data-theme="dark"] .toast-error { border-left: 4px solid #f87171 !important; }
[data-theme="dark"] .toast-warning { border-left: 4px solid #fbbf24 !important; }
[data-theme="dark"] .toast-info { border-left: 4px solid #60a5fa !important; }
[data-theme="dark"] .toast-title { color: var(--text-primary, #f9fafb) !important; }
[data-theme="dark"] .toast-message, [data-theme="dark"] .toast-close { color: var(--text-secondary, #d1d5db) !important; }
[data-theme="dark"] .toast-close:hover { color: var(--text-primary, #f9fafb) !important; }
[data-theme="dark"] .toast-workspace { color: var(--text-tertiary, #9ca3af) !important; }

/* --- Email: schede cartella e riga conversazione non letta --- */
[data-theme="dark"] #email-folder-tabs .folder-tab { background: transparent !important; color: var(--text-secondary, #d1d5db) !important; }
[data-theme="dark"] #email-folder-tabs .folder-tab:hover { background: var(--hover-bg-dark, #374151) !important; }
[data-theme="dark"] #email-folder-tabs .folder-tab.active { background: #6366f1 !important; color: #fff !important; }
[data-theme="dark"] #email-folder-tabs .folder-tab-add { background: transparent !important; border-color: var(--border-light, #4b5563) !important; color: var(--text-secondary, #d1d5db) !important; }
[data-theme="dark"] #email-folder-tabs .folder-count-badge { background: var(--bg-tertiary, #374151) !important; color: var(--text-secondary, #d1d5db) !important; }
/* viola dell'oggetto non letto: al buio troppo scuro */
[data-theme="dark"] [style*="color: #7c3aed"], [data-theme="dark"] [style*="color:#7c3aed"],
[data-theme="dark"] [style*="color: rgb(124, 58, 237)"], [data-theme="dark"] [style*="color: #8b5cf6"], [data-theme="dark"] [style*="color:#8b5cf6"],
[data-theme="dark"] [style*="color: rgb(139, 92, 246)"], [data-theme="dark"] [style*="color: #7e22ce"], [data-theme="dark"] [style*="color:#7e22ce"] { color: #c4b5fd !important; }
[data-theme="dark"] [style*="background: rgb(243, 232, 255)"], [data-theme="dark"] [style*="background: rgb(250, 245, 255)"] { background: rgba(139,92,246,.16) !important; }
/* indigo/blu scuri usati come testo (link, contatori, "0 destinatari selezionati") */
[data-theme="dark"] [style*="color: #6366f1"], [data-theme="dark"] [style*="color:#6366f1"], [data-theme="dark"] [style*="color: rgb(99, 102, 241)"],
[data-theme="dark"] [style*="color: #4f46e5"], [data-theme="dark"] [style*="color:#4f46e5"], [data-theme="dark"] [style*="color: #635bff"], [data-theme="dark"] [style*="color:#635bff"],
[data-theme="dark"] [style*="color: #3b82f6"], [data-theme="dark"] [style*="color:#3b82f6"], [data-theme="dark"] [style*="color: #2563eb"], [data-theme="dark"] [style*="color:#2563eb"] { color: #a5b4fc !important; }
[data-theme="dark"] [style*="color: #16a34a"], [data-theme="dark"] [style*="color:#16a34a"], [data-theme="dark"] [style*="color: #15803d"], [data-theme="dark"] [style*="color:#15803d"],
[data-theme="dark"] [style*="color: #059669"], [data-theme="dark"] [style*="color:#059669"], [data-theme="dark"] [style*="color: rgb(22, 163, 74)"] { color: #6ee7b7 !important; }
[data-theme="dark"] [style*="color: #d97706"], [data-theme="dark"] [style*="color:#d97706"], [data-theme="dark"] [style*="color: #ea580c"], [data-theme="dark"] [style*="color:#ea580c"] { color: #fcd34d !important; }
[data-theme="dark"] [style*="color: #dc2626"], [data-theme="dark"] [style*="color:#dc2626"], [data-theme="dark"] [style*="color: #ef4444"], [data-theme="dark"] [style*="color:#ef4444"] { color: #fca5a5 !important; }

/* --- channel-redesign.css impone #fff !important su alcune parti di Email e Chat interna:
   qui si vince con la stessa struttura di selettore + [data-theme="dark"] --- */
[data-theme="dark"] #main-content.page-email .email-folder-tabs button {
  background: var(--bg-secondary, #111827) !important;
  border-color: var(--border-color, #374151) !important;
  color: var(--text-secondary, #d1d5db) !important;
}
[data-theme="dark"] #main-content.page-email .email-folder-tabs button:hover { background: var(--bg-tertiary, #374151) !important; color: var(--text-primary, #f9fafb) !important; }
[data-theme="dark"] #main-content.page-email .email-folder-tabs button.active { background: #6C5CE7 !important; border-color: #6C5CE7 !important; color: #fff !important; }
[data-theme="dark"] #main-content.page-email .email-thread-channel.active .fa-envelope { color: #c4b5fd !important; }
[data-theme="dark"] #main-content.page-internal-chat .int-filter-chip { background: var(--bg-secondary, #111827) !important; border-color: var(--border-color, #374151) !important; color: var(--text-secondary, #d1d5db) !important; }
[data-theme="dark"] #main-content.page-internal-chat .int-filter-chip.active { background: rgba(108,92,231,.25) !important; border-color: rgba(108,92,231,.45) !important; color: #c4b5fd !important; }
[data-theme="dark"] #main-content.page-internal-chat .int-conv-time { color: var(--text-tertiary, #9ca3af) !important; }

/* --- testi indigo/verde su fondo scuro: schiariti per leggibilita' --- */
[data-theme="dark"] .app-sidebar-upgrade .upgrade-cta { color: #fff !important; }
[data-theme="dark"] .dashboard-redesign__metric-copy em,
[data-theme="dark"] .dashboard-redesign__chart em { color: #4ade80; }
[data-theme="dark"] .todo-nav-item.active,
[data-theme="dark"] .todo-nav-item.active i,
[data-theme="dark"] .auto-nav-item.active,
[data-theme="dark"] .auto-nav-item.active .auto-nav-badge,
[data-theme="dark"] #auto-header-count,
[data-theme="dark"] .members-sub-tab.active { color: #a5b4fc !important; }
[data-theme="dark"] .todo-nav-item.active { border-left-color: #818cf8; }
[data-theme="dark"] [style*="color:var(--primary,"], [data-theme="dark"] [style*="color: var(--primary,"],
[data-theme="dark"] [style*="color:var(--primary)"], [data-theme="dark"] [style*="color: var(--primary)"] { color: #a5b4fc !important; }

/* --- Nuvolette WhatsApp: dettagli senza variante scura in chat.css --- */
[data-theme="dark"] .wa-app .wa-read-more { color: #53bdeb; }
[data-theme="dark"] .wa-app .wa-msg-text a,
[data-theme="dark"] .wa-app .wa-msg-text a.wa-phone { color: #53bdeb; }
[data-theme="dark"] .wa-app .wa-msg.out .wa-msg-text a,
[data-theme="dark"] .wa-app .wa-msg.out .wa-msg-text a.wa-phone { color: #7ad3f5; }
