/* ══════════════════════════════════════════════════════════════
   MODO NOTURNO — overrides aplicados quando <html data-theme="dark">
   Abordagem pragmática: o sistema não usa variáveis CSS em lugar
   nenhum, então em vez de reescrever ~20 arquivos CSS, este arquivo
   sobrescreve só as áreas de maior tráfego visual (estrutura do
   layout, cards, tabelas, formulários, alertas, modais, hovers).
   Carregado por último (offsetSetStylesheet index 20, com cache
   busting), então as regras aqui já vencem por ordem — o seletor
   de atributo [data-theme="dark"] garante especificidade extra
   como reforço.

   PALETA: os tokens abaixo (--dk-*) são a fonte única de verdade
   das cores do modo escuro. Qualquer ajuste de tom deve mudar o
   token, não os valores individuais espalhados pelo arquivo.
   ═══════════════════════════════════════════════════════════════ */

:root[data-theme="dark"] {
    /* Superfícies, do fundo da página à mais elevada */
    --dk-bg:        #16171a;
    --dk-surface:   #1c1e21;
    --dk-card:      #232529;
    --dk-card-hi:   #2b2e33;
    --dk-card-hi-2: #33363c;
    --dk-border:    #34373f;
    --dk-border-hi: #464a54;

    /* Texto */
    --dk-text:       #edeef0;
    --dk-text-2:     #c6c9d1;
    --dk-text-muted: #93979f;
    --dk-text-faint: #5e626c;

    /* Acento (mesmo vermelho da marca, ajustado pra ler bem no escuro) */
    --dk-accent:      #ff6b60;
    --dk-accent-soft: rgba(230,51,41,.16);
    --dk-accent-bord: #5a3330;
}

[data-theme="dark"] body {
    background: var(--dk-bg);
    color: var(--dk-text);
}

/* #topo já é escuro (#111) por padrão — não precisa de override.
   #menu (sidebar) é branco por padrão — precisa escurecer. */
[data-theme="dark"] #menu {
    background: var(--dk-surface);
    border-right-color: var(--dk-border);
}
[data-theme="dark"] #menu .menu-section-title { color: var(--dk-text-faint); }
[data-theme="dark"] #menu a,
[data-theme="dark"] #menu .menu-link { color: var(--dk-text-2); }
[data-theme="dark"] #menu ul li a:hover,
[data-theme="dark"] #menu a:hover,
[data-theme="dark"] #menu .menu-link:hover {
    background: var(--dk-accent-soft);
    color: var(--dk-accent);
    border-left-color: var(--dk-accent-bord);
}
[data-theme="dark"] #menu ul li a:hover i,
[data-theme="dark"] #menu a:hover i { color: var(--dk-accent); }
[data-theme="dark"] #menu ul li a i { color: var(--dk-text-faint); }
[data-theme="dark"] #menu ul li.ativo a {
    background: var(--dk-accent-soft);
    color: var(--dk-accent);
    border-left-color: var(--dk-accent);
}
[data-theme="dark"] #menu ul li.ativo a i { color: var(--dk-accent); }
[data-theme="dark"] #menu .menu-divider { background: var(--dk-border-hi); }
[data-theme="dark"] #btn-suporte,
[data-theme="dark"] #btn-tema-menu {
    background: var(--dk-card); border-color: var(--dk-border); color: var(--dk-text-2);
}
[data-theme="dark"] #btn-tema-menu:hover {
    background: var(--dk-accent-soft); color: var(--dk-accent); border-color: var(--dk-accent-bord);
}
[data-theme="dark"] #btn-tema-menu:hover i { color: var(--dk-accent); }
[data-theme="dark"] #menu-versao {
    background: var(--dk-card); border-color: var(--dk-border); color: var(--dk-text-muted);
}
[data-theme="dark"] #menu-versao:hover {
    background: var(--dk-accent-soft); color: var(--dk-accent); border-color: var(--dk-accent-bord);
}
[data-theme="dark"] #menu-footer { border-top-color: var(--dk-border); }
[data-theme="dark"] .logo-inova-light { display: none !important; }
/* A logo clara (inovaccio-black.png) tem margem transparente generosa em volta
   da marca — na prática ocupa só ~53px de largura visível a 22px de altura de
   canvas. A logo branca já vem recortada sem essa margem, então para ficar do
   mesmo tamanho aparente ela precisa ser fixada pela LARGURA (não altura). */
[data-theme="dark"] .logo-inova-dark {
    display: inline-block !important;
    width: 52px !important;
    height: auto !important;
}

/* Sub-barra mobile */
[data-theme="dark"] #topo-sub { background: var(--dk-surface); border-bottom-color: var(--dk-border); }
[data-theme="dark"] .ts-nome { color: var(--dk-text); }
[data-theme="dark"] #topo-sub .ts-sair:hover { background: var(--dk-card-hi); }

/* Cabeçalho do menu mobile (drawer) */
[data-theme="dark"] #menu-user-header { background: var(--dk-surface); border-bottom-color: var(--dk-border); }
[data-theme="dark"] #menu-user-header .muh-nome { color: var(--dk-text); }
[data-theme="dark"] #menu-user-header .muh-role { color: var(--dk-text-muted); }

/* ── Cards / painéis genéricos (admin.css, dashboard.css) ── */
[data-theme="dark"] .card,
[data-theme="dark"] .kpi-card,
[data-theme="dark"] .chart-card,
[data-theme="dark"] .com-detalhe,
[data-theme="dark"] .com-chat,
[data-theme="dark"] .com-status-panel,
[data-theme="dark"] .modal-box {
    background: var(--dk-card);
    border-color: var(--dk-border);
    box-shadow: 0 1px 4px rgba(0,0,0,.4);
}
/* .card recebe !important: várias telas (dashboard) têm
   style="border:1px solid #f0f0f0;background:#fff" inline no próprio
   elemento .card, que sempre vence sobre uma classe externa sem !important. */
[data-theme="dark"] .card {
    background: var(--dk-card) !important;
    border-color: var(--dk-border) !important;
}
[data-theme="dark"] .card:hover { box-shadow: 0 4px 18px rgba(0,0,0,.5); }
[data-theme="dark"] .kpi-card:hover { box-shadow: 0 6px 22px rgba(0,0,0,.55); }
[data-theme="dark"] .com-descricao {
    background: var(--dk-card-hi);
    color: var(--dk-text-2);
}
[data-theme="dark"] .card-header,
[data-theme="dark"] .card-header-clean,
[data-theme="dark"] .com-status-panel .panel-title {
    border-bottom-color: var(--dk-border-hi);
}
/* Seletor de franquias (pills) em comunicados/ver — cor via style inline,
   sem classe própria. Distingue pill ativa (borda/texto #e63329 no inline)
   da inativa pelo próprio valor que já vem no style. */
[data-theme="dark"] .com-status-panel a[style*="border-radius:999px"] {
    background: var(--dk-card-hi) !important;
    border-color: var(--dk-border-hi) !important;
    color: var(--dk-text-2) !important;
}
[data-theme="dark"] .com-status-panel a[style*="border-radius:999px"][style*="#e63329"] {
    background: var(--dk-accent-soft) !important;
    border-color: var(--dk-accent-bord) !important;
    color: var(--dk-accent) !important;
}
[data-theme="dark"] .pill-pendente-dot { border-color: var(--dk-card-hi) !important; }
[data-theme="dark"] .kpi-number,
[data-theme="dark"] .card-title,
[data-theme="dark"] .card-title-sm,
[data-theme="dark"] .chart-title {
    color: var(--dk-text);
}
[data-theme="dark"] .kpi-label,
[data-theme="dark"] .kpi-desc {
    color: var(--dk-text-muted);
}
[data-theme="dark"] .kpi-divider { background: var(--dk-border-hi); }
[data-theme="dark"] .dash-item { border-color: var(--dk-border-hi); }
[data-theme="dark"] .dash-item-title,
[data-theme="dark"] .dash-item-title a { color: var(--dk-text-2); }
[data-theme="dark"] .dash-item-title a:hover { color: var(--dk-accent); }
[data-theme="dark"] .dash-item-sub { color: var(--dk-text-muted); }
[data-theme="dark"] .kpi-link:hover,
[data-theme="dark"] .card-link-sm:hover { color: var(--dk-accent); }
[data-theme="dark"] .prog-wrap { background: var(--dk-border); }
/* Trilhos de barra de progresso com estilo inline (mensagem, materiais-
   apoio, dashboards — mesmo papel do .prog-wrap acima, só que sem classe) */
[data-theme="dark"] [style*="background:#f2f2f2;border-radius"],
[data-theme="dark"] [style*="background:#f0f0f0;border-radius"],
[data-theme="dark"] [style*="background:#e8f5e9;border-radius"] {
    background: var(--dk-border) !important;
}

/* ── Título de página (todas as telas — Comunicados, Boletos,
   Materiais, Usuários, Franqueados, Logs, Perfil, etc.) ── */
[data-theme="dark"] .page-header .page-title h1 { color: var(--dk-text); }
[data-theme="dark"] .page-header .page-title span { color: var(--dk-text-muted); }
/* Dashboard tem um <h1> próprio fora do padrão .page-header */
[data-theme="dark"] h1[style*="color:#111"] { color: var(--dk-text) !important; }

/* ── Tabelas ── */
[data-theme="dark"] .data-table thead th {
    color: var(--dk-text-muted);
    border-bottom-color: var(--dk-border-hi);
    background: transparent;
}
[data-theme="dark"] .data-table tbody td {
    border-bottom-color: var(--dk-border-hi);
    color: var(--dk-text-2);
}
[data-theme="dark"] .data-table tbody tr:hover td { background: var(--dk-card-hi); }
[data-theme="dark"] .data-table td code { background: var(--dk-card-hi) !important; color: var(--dk-text); }
[data-theme="dark"] .table-footer { color: var(--dk-text-muted); }

/* ── Botões / formulários ── */
[data-theme="dark"] .btn-secondary {
    background: var(--dk-card-hi); color: var(--dk-text-2); border-color: var(--dk-border-hi);
}
[data-theme="dark"] .btn-secondary:hover { background: var(--dk-card-hi-2); }
[data-theme="dark"] .btn-danger { background: var(--dk-accent-soft); color: #ff8a80; }
[data-theme="dark"] .btn-danger:hover { background: rgba(230,51,41,.26); }
[data-theme="dark"] .form-group label { color: var(--dk-text-muted); }
[data-theme="dark"] .form-group .hint { color: var(--dk-text-faint); }
[data-theme="dark"] .form-card { background: var(--dk-card) !important; }
[data-theme="dark"] .form-divider { background: var(--dk-border); }
[data-theme="dark"] input,
[data-theme="dark"] select,
[data-theme="dark"] textarea {
    background: var(--dk-surface);
    border-color: var(--dk-border-hi);
    color: var(--dk-text);
    /* Sem isso, o navegador continua desenhando os ícones nativos do
       campo (calendário de type="date"/"month", relógio de type="time",
       setas de type="number", seta do <select>) na aparência clara —
       ficam pretos sobre o fundo escuro do input e somem. color-scheme
       avisa o navegador para usar a paleta escura nesses controles
       nativos, sem precisar de filtro/hack por tipo de campo. */
    color-scheme: dark;
}
[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder { color: var(--dk-text-faint); }
[data-theme="dark"] input:disabled,
[data-theme="dark"] select:disabled,
[data-theme="dark"] textarea:disabled { background: var(--dk-card-hi); color: var(--dk-text-muted); }
/* Campos "somente leitura" com estilo inline (Criado por, Data de Criação,
   etc. — comunicados, perfil, usuários) — o inline vence a regra acima */
[data-theme="dark"] input[style*="background:#f5f5f5;color:#aaa"] {
    background: var(--dk-card-hi) !important;
    color: var(--dk-text-muted) !important;
}
[data-theme="dark"] .empty-state { color: var(--dk-text-faint); }
[data-theme="dark"] .empty-state i { color: var(--dk-border-hi); }
[data-theme="dark"] .filtro-label { color: var(--dk-text-muted); }
[data-theme="dark"] .filtro-select { background: var(--dk-surface); border-color: var(--dk-border-hi); color: var(--dk-text); color-scheme: dark; }

/* ── Alertas ── */
[data-theme="dark"] .alert-success { background: rgba(76,175,80,.14); }
[data-theme="dark"] .alert-error   { background: rgba(230,51,41,.14); }
[data-theme="dark"] .alert-warning { background: rgba(255,193,7,.14); }

/* ── Modal genérico (admin.css) ── */
[data-theme="dark"] .modal-overlay { background: rgba(0,0,0,.7); }
[data-theme="dark"] .modal-box h3 { color: var(--dk-text); }
[data-theme="dark"] .modal-box p  { color: var(--dk-text-muted); }

/* ── Dialog custom window.portal.confirm()/.alert() (usado em
   todo o sistema para excluir/confirmar ações) ── */
[data-theme="dark"] #portal-box {
    background: var(--dk-card);
    box-shadow: 0 24px 64px rgba(0,0,0,.55), 0 4px 16px rgba(0,0,0,.35);
}
[data-theme="dark"] #portal-title { color: var(--dk-text); }
[data-theme="dark"] #portal-msg   { color: var(--dk-text-muted); }
[data-theme="dark"] #portal-warn  { background: rgba(255,193,7,.12); border-color: rgba(255,193,7,.3); color: #ffd873; }
[data-theme="dark"] #portal-btn-cancel { background: var(--dk-card-hi); color: var(--dk-text-2); }
[data-theme="dark"] #portal-btn-cancel:hover { background: var(--dk-card-hi-2); }

/* ── Modal Suporte & Contato ── */
[data-theme="dark"] #modal-suporte { background: var(--dk-card); box-shadow: 0 20px 60px rgba(0,0,0,.55); }
[data-theme="dark"] #modal-suporte h3 { color: var(--dk-text); }
[data-theme="dark"] #modal-suporte .modal-sub { color: var(--dk-text-muted); }
[data-theme="dark"] #modal-suporte .modal-fechar { color: var(--dk-text-faint); }
[data-theme="dark"] #modal-suporte .modal-fechar:hover { color: var(--dk-text-2); }
[data-theme="dark"] #modal-suporte .contato-item { background: var(--dk-surface); border-color: var(--dk-border); }
[data-theme="dark"] #modal-suporte .contato-item:hover { background: var(--dk-accent-soft); border-color: var(--dk-accent-bord); }
[data-theme="dark"] #modal-suporte .ci-icone { background: var(--dk-card-hi); color: var(--dk-text-muted); }
[data-theme="dark"] #modal-suporte .contato-item:hover .ci-icone { background: rgba(230,51,41,.22); color: var(--dk-accent); }
[data-theme="dark"] #modal-suporte .ci-label { color: var(--dk-text-faint); }
[data-theme="dark"] #modal-suporte .ci-valor { color: var(--dk-text-2); }

/* ── Dashboard: ícones e chips dos KPIs ── */
[data-theme="dark"] .kpi-icon.red    { background: var(--dk-accent-soft); color: #ff8a80; }
[data-theme="dark"] .kpi-icon.pink,
[data-theme="dark"] .kpi-icon.wine   { background: rgba(194,24,91,.2); color: #f48fb1; }
[data-theme="dark"] .kpi-icon.dark   { background: var(--dk-card-hi); color: var(--dk-text-2); }
[data-theme="dark"] .kpi-icon.orange { background: rgba(230,81,0,.2); color: #ffb74d; }

[data-theme="dark"] .kpi-mini-label,
[data-theme="dark"] .kpi-mini-text { color: var(--dk-text-muted); }
[data-theme="dark"] .kpi-mini-orange { background: rgba(230,81,0,.18); }
[data-theme="dark"] .kpi-mini-orange .kpi-mini-num { color: #ffb74d; }
[data-theme="dark"] .kpi-mini-red { background: var(--dk-accent-soft); }
[data-theme="dark"] .kpi-mini-red .kpi-mini-num { color: #ff8a80; }
[data-theme="dark"] .kpi-mini-green { background: rgba(46,125,50,.2); }
[data-theme="dark"] .kpi-mini-green .kpi-mini-num { color: #81c784; }
[data-theme="dark"] .kpi-mini-gray { background: var(--dk-card-hi); }
[data-theme="dark"] .kpi-mini-gray .kpi-mini-num { color: var(--dk-text-2); }
[data-theme="dark"] .kpi-mini-pink { background: rgba(194,24,91,.2); }
[data-theme="dark"] .kpi-mini-pink .kpi-mini-num { color: #f48fb1; }

/* Reforço: números no centro dos donuts (Chart.js) usam <span
   style="color:#111"> sem fundo próprio — o seletor genérico logo
   abaixo já cobre, isso aqui é um alvo direto extra de segurança. */
[data-theme="dark"] .chart-card span[style*="color:#111"] { color: var(--dk-text) !important; }

[data-theme="dark"] .rank-nome { color: var(--dk-text-2); }
[data-theme="dark"] .rank-bar-wrap { background: var(--dk-border); }
[data-theme="dark"] .rank-item { border-color: var(--dk-border-hi); }
[data-theme="dark"] .log-desc  { color: var(--dk-text-2); }
[data-theme="dark"] .log-meta  { color: var(--dk-text-faint); }
[data-theme="dark"] .log-item  { border-color: var(--dk-border-hi); }
[data-theme="dark"] .welcome-banner { border-color: var(--dk-border); }
[data-theme="dark"] .welcome-text p { color: var(--dk-text-muted); }
[data-theme="dark"] .mural-noticias { border-color: var(--dk-border); }
[data-theme="dark"] .mural-drawer { background: var(--dk-card); }
[data-theme="dark"] .mural-drawer-progress { background: rgba(255,255,255,.08); }
[data-theme="dark"] .mural-drawer-meta-item { color: var(--dk-text-faint); }
[data-theme="dark"] .mural-drawer-meta-item i { color: var(--dk-text-faint); }
[data-theme="dark"] .mural-drawer-meta-sep { color: var(--dk-border-hi); }
[data-theme="dark"] .mural-drawer-texto { color: var(--dk-text-2); }
[data-theme="dark"] .mural-drawer-texto h2,
[data-theme="dark"] .mural-drawer-texto h3,
[data-theme="dark"] .mural-drawer-texto b,
[data-theme="dark"] .mural-drawer-texto strong { color: var(--dk-text); }
[data-theme="dark"] .mural-drawer-texto blockquote { background: var(--dk-surface); color: var(--dk-text-2); }
[data-theme="dark"] .mural-drawer-secao-titulo { color: var(--dk-text-faint); }
[data-theme="dark"] .mural-drawer-galeria-item { background-color: var(--dk-card-hi); }
[data-theme="dark"] .mural-drawer-arquivo-item { background: var(--dk-surface); border-color: var(--dk-border); }
[data-theme="dark"] .mural-drawer-arquivo-item:hover { background: var(--dk-card-hi); border-color: var(--dk-border-hi); }
[data-theme="dark"] .mural-drawer-arquivo-icone { background: var(--dk-card-hi); border-color: var(--dk-border); }
[data-theme="dark"] .mural-drawer-arquivo-nome { color: var(--dk-text); }
[data-theme="dark"] .mural-drawer-arquivo-tamanho { color: var(--dk-text-faint); }
[data-theme="dark"] .mural-drawer-relacionadas { border-top-color: var(--dk-border); }
[data-theme="dark"] .mural-drawer-relacionadas-titulo { color: var(--dk-text-faint); }
[data-theme="dark"] .mural-drawer-relacionada-item:hover { background: var(--dk-card-hi); }
[data-theme="dark"] .mural-drawer-relacionada-photo { background-color: var(--dk-card-hi); }
[data-theme="dark"] .mural-drawer-relacionada-info h5 { color: var(--dk-text); }
[data-theme="dark"] .mural-drawer-relacionada-info span { color: var(--dk-text-faint); }

/* ── Drawer "Ver todas as notícias" ───────────────────────── */
[data-theme="dark"] .mural-lista-drawer { background: var(--dk-card); }
[data-theme="dark"] .mural-lista-head,
[data-theme="dark"] .mural-lista-rodape { border-color: var(--dk-border); }
[data-theme="dark"] .mural-lista-head-titulo h3 { color: var(--dk-text); }
[data-theme="dark"] .mural-lista-head-titulo span { color: var(--dk-text-faint); }
[data-theme="dark"] .mural-lista-gerenciar,
[data-theme="dark"] .mural-lista-close { background: var(--dk-card-hi); color: var(--dk-text-2); }
[data-theme="dark"] .mural-lista-vazio { color: var(--dk-text-faint); }
[data-theme="dark"] .mural-lista-card { background: var(--dk-surface); border-color: var(--dk-border); }
[data-theme="dark"] .mural-lista-card:hover { border-color: var(--dk-accent-bord); }
[data-theme="dark"] .mural-lista-card-body h4 { color: var(--dk-text); }
[data-theme="dark"] .mural-lista-card-body p { color: var(--dk-text-faint); }
[data-theme="dark"] .mural-lista-card-data { color: var(--dk-text-faint); }
[data-theme="dark"] .mural-lista-skel-card { background: linear-gradient(100deg, var(--dk-surface) 30%, var(--dk-card-hi) 50%, var(--dk-surface) 70%); background-size: 200% 100%; }
[data-theme="dark"] .mural-lista-pag-btn { background: var(--dk-card-hi); border-color: var(--dk-border-hi); color: var(--dk-text-2); }
[data-theme="dark"] .mural-lista-pag-info { color: var(--dk-text-faint); }

/* ── Painel de Alinhamento — seletor de notícia por slot ──── */
[data-theme="dark"] .seletor-slot-painel { background: var(--dk-card); box-shadow: 0 24px 64px rgba(0,0,0,.5); }
[data-theme="dark"] .seletor-slot-head,
[data-theme="dark"] .seletor-slot-busca { border-color: var(--dk-border); }
[data-theme="dark"] .seletor-slot-head h3 { color: var(--dk-text); }
[data-theme="dark"] .seletor-slot-close { background: var(--dk-card-hi); color: var(--dk-text-2); }
[data-theme="dark"] .seletor-slot-busca input { color: var(--dk-text); }
[data-theme="dark"] .seletor-slot-item:hover { background: var(--dk-accent-soft); }
[data-theme="dark"] .seletor-slot-info strong { color: var(--dk-text); }
[data-theme="dark"] .seletor-slot-thumb { background-color: var(--dk-card-hi); }
[data-theme="dark"] .seletor-slot-item-ocupado { background: rgba(181,101,29,.14); }
[data-theme="dark"] .seletor-slot-item-ocupado:hover { background: rgba(181,101,29,.22); }
[data-theme="dark"] .seletor-slot-badge-ocupado { background: rgba(181,101,29,.28); color: #e0a458; }

/* ── Paleta de cores padrão (categorias de notícias) ────────── */
[data-theme="dark"] .cat-cor-opt { box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
[data-theme="dark"] .cat-cor-opt.selecionada { border-color: var(--dk-text); }

/* ── Editor de enquadramento da foto de capa ──────────────── */
[data-theme="dark"] .crop-painel { background: var(--dk-card); box-shadow: 0 24px 64px rgba(0,0,0,.5); }
[data-theme="dark"] .crop-head h3 { color: var(--dk-text); }
[data-theme="dark"] .crop-dica { color: var(--dk-text-faint); }
[data-theme="dark"] .crop-fechar { background: var(--dk-card-hi); color: var(--dk-text-2); }
[data-theme="dark"] .crop-zoom-btn,
[data-theme="dark"] .crop-reset-btn { background: var(--dk-card-hi); border-color: var(--dk-border-hi); color: var(--dk-text-2); }
[data-theme="dark"] .mural-mini-card-vazio { border-color: var(--dk-border-hi); color: var(--dk-text-faint); }

/* ── Editor de Notícias (página completa de criação/edição) ──── */
[data-theme="dark"] .editor-topbar,
[data-theme="dark"] .editor-card,
[data-theme="dark"] .editor-actions-bar,
[data-theme="dark"] .editor-preview-card { background: var(--dk-card); }
[data-theme="dark"] .editor-topbar-titulo h1 { color: var(--dk-text); }
[data-theme="dark"] .editor-topbar-sub { color: var(--dk-text-faint); }
[data-theme="dark"] .editor-voltar { background: var(--dk-card-hi); color: var(--dk-text-muted); }
[data-theme="dark"] .editor-voltar:hover { background: var(--dk-card-hi-2); }
[data-theme="dark"] .editor-card-titulo { color: var(--dk-text-muted); }
[data-theme="dark"] .editor-titulo-input { background: transparent !important; border: none !important; color: var(--dk-text); }
[data-theme="dark"] .editor-titulo-input::placeholder { color: var(--dk-text-faint); }
[data-theme="dark"] .editor-titulo-divider { background: var(--dk-border); }
[data-theme="dark"] .editor-resumo-counter { color: var(--dk-text-faint); }
[data-theme="dark"] .editor-draft-banner { background: rgba(255,179,0,.1); border-color: rgba(255,179,0,.3); color: #ffcc66; }
[data-theme="dark"] .editor-draft-descartar { color: #ffcc66; }

[data-theme="dark"] .rt-toolbar { background: var(--dk-surface); border-color: var(--dk-border-hi); }
[data-theme="dark"] .rt-group + .rt-group { border-left-color: var(--dk-border); }
[data-theme="dark"] .rt-btn { color: var(--dk-text-muted); }
[data-theme="dark"] .rt-btn:hover { background: var(--dk-card-hi); color: var(--dk-text); }
[data-theme="dark"] .rt-btn.active { background: var(--dk-accent-soft); color: #ff8a80; }
[data-theme="dark"] .rt-editor { background: var(--dk-surface); border-color: var(--dk-border-hi); color: var(--dk-text); }
[data-theme="dark"] .rt-editor:focus { border-color: var(--dk-accent-bord); }
[data-theme="dark"] .rt-editor:empty::before { color: var(--dk-text-faint); }
[data-theme="dark"] .rt-editor h2,
[data-theme="dark"] .rt-editor h3,
[data-theme="dark"] .rt-editor b,
[data-theme="dark"] .rt-editor strong { color: var(--dk-text); }
[data-theme="dark"] .rt-editor blockquote { color: var(--dk-text-2); }
[data-theme="dark"] .rt-footer { color: var(--dk-text-faint); }

[data-theme="dark"] .emoji-picker,
[data-theme="dark"] .rt-link-popover,
[data-theme="dark"] .categoria-popover { background: var(--dk-card); border-color: var(--dk-border-hi); box-shadow: 0 12px 32px rgba(0,0,0,.4); }
[data-theme="dark"] .emoji-picker-tabs { background: var(--dk-surface); border-color: var(--dk-border); }
[data-theme="dark"] .emoji-picker-tab.active { background: var(--dk-card); }
[data-theme="dark"] .emoji-picker-item:hover { background: var(--dk-card-hi); }
[data-theme="dark"] .rt-link-popover label,
[data-theme="dark"] .categoria-popover label { color: var(--dk-text-muted); }
[data-theme="dark"] .rt-link-cancelar,
[data-theme="dark"] .categoria-cancelar { background: var(--dk-card-hi); color: var(--dk-text-2); }
[data-theme="dark"] .rt-link-remover { color: #ff8a80; }
[data-theme="dark"] .rt-btn-emoji { color: #ffca6a; }
[data-theme="dark"] .rt-btn-emoji:hover { background: var(--dk-card-hi); color: #ffd98c; }
[data-theme="dark"] .rt-editor li::marker,
[data-theme="dark"] .mural-drawer-texto li::marker { color: #ff6b60; }

[data-theme="dark"] .dropzone { background: var(--dk-surface); border-color: var(--dk-border-hi); }
[data-theme="dark"] .dropzone:hover,
[data-theme="dark"] .dropzone.dragover { background: var(--dk-card-hi); border-color: var(--dk-accent-bord); }
[data-theme="dark"] .dropzone p { color: var(--dk-text-muted); }
[data-theme="dark"] .dropzone .hint { color: var(--dk-text-faint); }

[data-theme="dark"] .video-dropzone-progresso { background: var(--dk-card); border-top-color: var(--dk-border); }
[data-theme="dark"] .video-dropzone-progresso-nome { color: var(--dk-text); }
[data-theme="dark"] .video-dropzone-progresso-status { color: var(--dk-text-muted); }
[data-theme="dark"] .video-dropzone-progresso-percentual { color: var(--dk-accent); }
[data-theme="dark"] .video-dropzone-progresso.-parado .video-dropzone-progresso-status,
[data-theme="dark"] .video-dropzone-progresso.-parado .video-dropzone-progresso-percentual { color: #e8a13a; }
[data-theme="dark"] .video-dropzone-progresso.-sucesso .video-dropzone-progresso-status,
[data-theme="dark"] .video-dropzone-progresso.-sucesso .video-dropzone-progresso-percentual { color: #4caf50; }
[data-theme="dark"] .video-dropzone-progresso-icone { background: var(--dk-accent-soft); color: var(--dk-accent); }
[data-theme="dark"] .video-dropzone-progresso-icone.-parado { background: rgba(232,161,58,.16); color: #e8a13a; }
[data-theme="dark"] .video-dropzone-progresso-icone.-sucesso { background: rgba(46,125,50,.18); color: #4caf50; }
[data-theme="dark"] .video-dropzone-cancelar { background: var(--dk-card-hi); color: var(--dk-text-muted); }
[data-theme="dark"] .video-dropzone-cancelar:hover { background: var(--dk-card-hi-2); color: var(--dk-text); }
[data-theme="dark"] .video-dropzone-progresso-trilha { background: var(--dk-card-hi); }
[data-theme="dark"] .video-dropzone-progresso-barra { background-color: var(--dk-accent); }
[data-theme="dark"] .video-dropzone-progresso-barra.-parado { background-color: #e8a13a; }
[data-theme="dark"] .video-dropzone-progresso-barra.-sucesso { background-color: #4caf50; }
[data-theme="dark"] .video-dropzone-progresso-rodape { color: var(--dk-text-muted); }
[data-theme="dark"] .video-dropzone-progresso-parado { color: #e8a13a; }
[data-theme="dark"] .video-dropzone-erro { background: var(--dk-accent-soft); color: var(--dk-accent); border: 1px solid var(--dk-accent-bord); }
[data-theme="dark"] .video-dropzone-erro.-neutro { background: var(--dk-card-hi); color: var(--dk-text-2); border-color: var(--dk-border-hi); }

[data-theme="dark"] .stepper { border-color: var(--dk-border-hi); }
[data-theme="dark"] .stepper-btn { background: var(--dk-surface); color: var(--dk-text-muted); }
[data-theme="dark"] .campo-categoria-head label,
[data-theme="dark"] .campo-ordem label { color: var(--dk-text-muted); }

[data-theme="dark"] .status-toggle-row { border-top-color: var(--dk-border); }
[data-theme="dark"] .status-toggle-info strong { color: var(--dk-text); }
[data-theme="dark"] .status-toggle-info span { color: var(--dk-text-faint); }

[data-theme="dark"] .editor-preview-titulo { color: var(--dk-text-faint); }
[data-theme="dark"] .editor-preview-tabs { background: var(--dk-surface); }
[data-theme="dark"] .editor-preview-tab { color: var(--dk-text-muted); }
[data-theme="dark"] .editor-preview-tab.active { background: var(--dk-card); color: #ff8a80; }
[data-theme="dark"] .editor-preview-hint { color: var(--dk-text-faint); }
[data-theme="dark"] .editor-preview-drawer-view { background: var(--dk-card); }

[data-theme="dark"] .anexos-head label { color: var(--dk-text-muted); }
[data-theme="dark"] .anexos-head .hint { color: var(--dk-text-faint); }
[data-theme="dark"] .anexos-dropzone { background: var(--dk-surface); border-color: var(--dk-border-hi); color: var(--dk-text-faint); }
[data-theme="dark"] .anexos-dropzone:hover,
[data-theme="dark"] .anexos-dropzone.dragover { background: var(--dk-card-hi); border-color: var(--dk-accent-bord); }
[data-theme="dark"] .anexo-item { background: var(--dk-surface); border-color: var(--dk-border); }
[data-theme="dark"] .anexo-thumb { background-color: var(--dk-card-hi); border-color: var(--dk-border); }
[data-theme="dark"] .anexo-nome-input { color: var(--dk-text); }
[data-theme="dark"] .anexo-nome-input:hover { background: var(--dk-card-hi); }
[data-theme="dark"] .anexo-nome-input:focus { background: var(--dk-card-hi-2); }
[data-theme="dark"] .anexo-meta { color: var(--dk-text-faint); }
[data-theme="dark"] .anexo-progresso { background: var(--dk-border); }

[data-theme="dark"] .custom-select-trigger { background: var(--dk-surface); border-color: var(--dk-border-hi); color: var(--dk-text); }
[data-theme="dark"] .custom-select-trigger:hover { border-color: var(--dk-border-hi); }
[data-theme="dark"] .custom-select.open .custom-select-trigger { border-color: var(--dk-accent-bord); }
[data-theme="dark"] .custom-select-menu { background: var(--dk-card); border-color: var(--dk-border-hi); box-shadow: 0 12px 32px rgba(0,0,0,.4); }
[data-theme="dark"] .custom-select-option { color: var(--dk-text-2); }
[data-theme="dark"] .custom-select-option:hover { background: var(--dk-card-hi); }
[data-theme="dark"] .custom-select-option.selected { background: var(--dk-accent-soft); color: #ff8a80; }
[data-theme="dark"] .custom-select-option-vazia .swatch { background: var(--dk-border-hi); }

/* ── Status pills / badges (compartilhados por vários módulos) ──
   Convertidos para "fundo escurecido + texto claro" em vez do
   par claro/escuro do modo dia, seguindo a mesma fórmula em tudo. */
[data-theme="dark"] .pill-criado,
[data-theme="dark"] .pill-aberta,
[data-theme="dark"] .badge-admin       { background: var(--dk-accent-soft); color: #ff8a80; }
[data-theme="dark"] .pill-lido,
[data-theme="dark"] .pill-em_analise,
[data-theme="dark"] .bol-st-baixado    { background: rgba(194,24,91,.2); color: #f48fb1; }
[data-theme="dark"] .pill-baixado      { background: rgba(106,27,154,.22); color: #ce93d8; }
[data-theme="dark"] .pill-concluido,
[data-theme="dark"] .pill-enviado,
[data-theme="dark"] .bol-st-concluido,
[data-theme="dark"] .badge-ativo       { background: rgba(46,125,50,.2); color: #81c784; }
[data-theme="dark"] .pill-em_andamento,
[data-theme="dark"] .bol-st-lido,
[data-theme="dark"] .badge-gerente     { background: rgba(230,81,0,.2); color: #ffb74d; }
[data-theme="dark"] .pill-cancelada,
[data-theme="dark"] .badge-inativo     { background: var(--dk-card-hi); color: var(--dk-text-muted); }
[data-theme="dark"] .pill-em_solucao,
[data-theme="dark"] .bol-st-enviado,
[data-theme="dark"] .badge-franq       { background: rgba(26,86,196,.22); color: #64b5f6; }
[data-theme="dark"] .pill-modificado,
[data-theme="dark"] .bol-st-modificado { background: rgba(245,127,23,.2); color: #ffca28; border-color: rgba(255,202,40,.3); }
[data-theme="dark"] .status-badge.status-criado     { background: var(--dk-accent-soft); color: #ff8a80; }
[data-theme="dark"] .status-badge.status-lido       { background: rgba(230,81,0,.2); color: #ffb74d; }
[data-theme="dark"] .status-badge.status-modificado { background: rgba(245,127,23,.2); color: #ffca28; border-color: rgba(255,202,40,.3); }
[data-theme="dark"] .status-badge.status-em_solucao { background: rgba(194,24,91,.2); color: #f48fb1; }
[data-theme="dark"] .status-badge.status-em_analise { background: rgba(106,27,154,.22); color: #ce93d8; }
[data-theme="dark"] .status-badge.status-concluido  { background: rgba(46,125,50,.2); color: #81c784; }

/* ── Seletor de franquias (formulário de comunicado) ── */
[data-theme="dark"] .franq-select {
    background: var(--dk-surface);
    border-color: var(--dk-border);
}
[data-theme="dark"] .franq-select-toolbar,
[data-theme="dark"] .franq-select-footer { background: var(--dk-card); border-color: var(--dk-border); }
[data-theme="dark"] .franq-search { background: var(--dk-surface); }
[data-theme="dark"] .franq-search:focus-within { background: var(--dk-bg); }
[data-theme="dark"] .franq-card {
    background: var(--dk-card);
    border-color: var(--dk-border);
}
[data-theme="dark"] .franq-card:hover { background: var(--dk-accent-soft); border-color: var(--dk-accent-bord); }
[data-theme="dark"] .franq-card-nome { color: var(--dk-text-2); }
[data-theme="dark"] .franq-card-icon { background: var(--dk-card-hi); color: var(--dk-text-muted); }
[data-theme="dark"] .franq-card.is-checked { background: rgba(230,51,41,.18); }
[data-theme="dark"] .franq-chip { background: var(--dk-accent-soft); color: #ff8a80; }
[data-theme="dark"] .franq-chip button { background: rgba(255,138,128,.18); color: #ff8a80; }
[data-theme="dark"] .franq-chip button:hover { background: rgba(255,138,128,.3); }
[data-theme="dark"] .franq-link:hover { color: var(--dk-accent); }

/* ── Comunicados (comunicados.css) — classes também reaproveitadas
   por Boletos e Materiais de Apoio nas telas de detalhe ── */
[data-theme="dark"] .msg-franqueado .msg-bubble {
    background: #2c231f;
    color: #f0dcd8;
}
[data-theme="dark"] .msg-empresa .msg-arquivo { background: var(--dk-card-hi); border-color: var(--dk-border-hi); }
[data-theme="dark"] .com-arquivo,
[data-theme="dark"] .msg-arquivo {
    background: var(--dk-card-hi);
    border-color: var(--dk-border);
    color: var(--dk-text-2);
}
[data-theme="dark"] .com-arquivo:hover,
[data-theme="dark"] .msg-arquivo:hover { background: var(--dk-card-hi-2); }
[data-theme="dark"] .com-list-titulo { color: var(--dk-text); }
[data-theme="dark"] .com-list-item { border-bottom-color: var(--dk-border-hi); }
[data-theme="dark"] .com-list-item:hover { background: var(--dk-card-hi); }
[data-theme="dark"] .com-list-meta { color: var(--dk-text-muted); }
[data-theme="dark"] .com-meta-item .value { color: var(--dk-text-2); }
[data-theme="dark"] .com-meta-item .label { color: var(--dk-text-faint); }
[data-theme="dark"] .status-info .status-nome { color: var(--dk-text-2); }
[data-theme="dark"] .status-info .status-quem { color: var(--dk-text-muted); }
[data-theme="dark"] .status-info .status-data { color: var(--dk-text-faint); }
[data-theme="dark"] .status-timeline-item::before { background: var(--dk-border-hi); }
[data-theme="dark"] .com-status-form textarea { background: var(--dk-surface); border-color: var(--dk-border-hi); }
[data-theme="dark"] .chat-empty { color: var(--dk-text-faint); }

/* ── Material do Franqueado (materiais.css) ── */
[data-theme="dark"] .mat-categoria-card,
[data-theme="dark"] .mat-item {
    background: var(--dk-card) !important;
    border-color: var(--dk-border);
}
[data-theme="dark"] .mat-item:hover { border-color: var(--dk-border-hi); box-shadow: 0 4px 18px rgba(0,0,0,.5); }
[data-theme="dark"] .mat-categoria-header,
[data-theme="dark"] .mat-item-meta { border-color: var(--dk-border-hi); }
[data-theme="dark"] .mat-categoria-nome,
[data-theme="dark"] .mat-item-titulo { color: var(--dk-text); }
[data-theme="dark"] .mat-categoria-desc,
[data-theme="dark"] .mat-item-desc { color: var(--dk-text-muted); }
[data-theme="dark"] .mat-categoria-count,
[data-theme="dark"] .badge-count { background: var(--dk-card-hi); color: var(--dk-text-muted); }
[data-theme="dark"] .mat-item-size,
[data-theme="dark"] .mat-item-versao { color: var(--dk-text-faint); }
[data-theme="dark"] .mat-item-download { background: var(--dk-card-hi); color: var(--dk-text-2); }
[data-theme="dark"] .mat-item-download:hover { background: #e63329; color: #fff; }
[data-theme="dark"] .mat-empty { color: var(--dk-text-faint); }
[data-theme="dark"] .icones-grid { background: var(--dk-surface); border-color: var(--dk-border); }
[data-theme="dark"] .icone-opt { color: var(--dk-text-muted); }
[data-theme="dark"] .icone-opt:hover { background: var(--dk-card-hi); color: var(--dk-text-2); }
[data-theme="dark"] .color-input { border-color: var(--dk-border-hi); }
/* Cabeçalho local da tela de detalhe (materiais-apoio/ver.phtml) */
[data-theme="dark"] .mat-card-header { background: var(--dk-card) !important; }
[data-theme="dark"] .mat-card-header h2 { color: var(--dk-text); }

/* ── Boletos e Cobranças (boletos.css) ── */
[data-theme="dark"] .bol-list-titulo { color: var(--dk-text); }
[data-theme="dark"] .bol-list-item { border-bottom-color: var(--dk-border-hi); }
[data-theme="dark"] .bol-list-item:hover { background: var(--dk-card-hi); }
[data-theme="dark"] .bol-list-meta,
[data-theme="dark"] .bol-arquivo-meta,
[data-theme="dark"] .bol-file-info { color: var(--dk-text-muted); }
[data-theme="dark"] .bol-tipo-tag { background: var(--dk-card-hi); color: var(--dk-text-muted); }
[data-theme="dark"] .bol-file-card,
[data-theme="dark"] .bol-arquivo-card {
    background: var(--dk-card) !important;
    border-color: var(--dk-border);
}
[data-theme="dark"] .bol-file-card:hover { border-color: var(--dk-border-hi); box-shadow: 0 4px 18px rgba(0,0,0,.5); }
[data-theme="dark"] .bol-arquivo-card:hover { background: var(--dk-card-hi) !important; border-color: #e63329; }
[data-theme="dark"] .bol-file-card.bol-file-baixado {
    background: rgba(76,175,80,.1) !important;
    border-color: #2e7d32;
}
[data-theme="dark"] .bol-file-icon.tipo-pdf   { background: rgba(198,40,40,.16);  color: #ef9a9a; }
[data-theme="dark"] .bol-file-icon.tipo-img   { background: rgba(26,86,196,.16);  color: #64b5f6; }
[data-theme="dark"] .bol-file-icon.tipo-word  { background: rgba(58,86,170,.2);   color: #90a4ff; }
[data-theme="dark"] .bol-file-icon.tipo-excel { background: rgba(46,125,50,.18);  color: #81c784; }
[data-theme="dark"] .bol-file-icon.tipo-ppt   { background: rgba(230,81,0,.18);   color: #ffb74d; }
[data-theme="dark"] .bol-file-titulo,
[data-theme="dark"] .bol-arquivo-nome { color: var(--dk-text); }
[data-theme="dark"] .bol-file-meta { border-color: var(--dk-border-hi); }
[data-theme="dark"] .bol-file-badge-pend { background: var(--dk-card-hi); color: var(--dk-text-muted); }
[data-theme="dark"] .bol-arquivo-dl { background: var(--dk-card-hi); color: var(--dk-text-muted); }
[data-theme="dark"] .bol-tracking-item { background: var(--dk-surface); border-color: var(--dk-border); color: var(--dk-text-faint); }
[data-theme="dark"] .bol-tracking-item.ok { background: rgba(76,175,80,.12); border-color: #2e7d32; color: #81c784; }
[data-theme="dark"] .upload-slot-label { border-color: var(--dk-border-hi); color: var(--dk-text-muted); }

/* ── Materiais de Apoio — chat de solicitação (materiais-apoio.css) ── */
[data-theme="dark"] .com-chat-bubble { border-bottom-color: var(--dk-border-hi); }
[data-theme="dark"] .bubble-meta strong { color: var(--dk-text); }
[data-theme="dark"] .bubble-meta span { color: var(--dk-text-faint); }
[data-theme="dark"] .bubble-text { color: var(--dk-text-2); }
[data-theme="dark"] .bubble-admin { background: #2c231f; }
[data-theme="dark"] .bubble-franq { background: #1c2430; }
[data-theme="dark"] .mat-os-row:hover { background: var(--dk-card-hi); }

/* ── Envio de Mensagem (mensagem.css) ── */
[data-theme="dark"] .msg-cota-bar,
[data-theme="dark"] .msg-editor-wrap,
[data-theme="dark"] .msg-side-card,
[data-theme="dark"] .msg-resumo-card,
[data-theme="dark"] .msg-tags-wrap {
    background: var(--dk-surface) !important;
    border-color: var(--dk-border);
}
[data-theme="dark"] .msg-cota-label,
[data-theme="dark"] .msg-side-title,
[data-theme="dark"] .msg-field-label { color: var(--dk-text-muted); }
[data-theme="dark"] .msg-cota-restam,
[data-theme="dark"] .msg-dest-count,
[data-theme="dark"] .msg-dest-hint,
[data-theme="dark"] .msg-resumo-label { color: var(--dk-text-faint); }
[data-theme="dark"] .msg-cota-track { background: var(--dk-border); }
[data-theme="dark"] .msg-toolbar { background: var(--dk-card); border-bottom-color: var(--dk-border); }
[data-theme="dark"] .msg-toolbar button { color: var(--dk-text-2); }
[data-theme="dark"] .msg-toolbar button:hover { background: var(--dk-card-hi); color: var(--dk-accent); }
[data-theme="dark"] .msg-tb-sep { background: var(--dk-border); }
[data-theme="dark"] .msg-tb-select { background: var(--dk-surface); border-color: var(--dk-border-hi); color: var(--dk-text-2); }
[data-theme="dark"] .msg-editor-body { color: var(--dk-text); }
[data-theme="dark"] .msg-editor-body:empty::before,
[data-theme="dark"] .msg-assinatura-body:empty::before { color: var(--dk-text-faint); }
[data-theme="dark"] .msg-remetente-box { background: rgba(46,125,50,.12); border-color: rgba(46,125,50,.3); color: var(--dk-text-2); }
[data-theme="dark"] .msg-arq-item { background: var(--dk-card-hi); }
[data-theme="dark"] .msg-arq-nome { color: var(--dk-text-2); }
[data-theme="dark"] .msg-arq-size { color: var(--dk-text-faint); }
[data-theme="dark"] .msg-arq-rm { color: var(--dk-text-faint); }
[data-theme="dark"] .msg-arq-rm:hover { background: var(--dk-accent-soft); color: var(--dk-accent); }
[data-theme="dark"] .msg-upload-area { background: var(--dk-surface); border-color: var(--dk-border-hi); }
[data-theme="dark"] .msg-upload-area:hover,
[data-theme="dark"] .msg-upload-area.drag-over { background: var(--dk-accent-soft); border-color: var(--dk-accent); }
[data-theme="dark"] .msg-upload-label { color: var(--dk-text-2); }
[data-theme="dark"] .msg-upload-hint { color: var(--dk-text-faint); }
[data-theme="dark"] .msg-btn-enviar:disabled { background: var(--dk-card-hi); color: var(--dk-text-faint); }
[data-theme="dark"] .msg-tag { background: var(--dk-accent-soft); color: #ff8a80; }
[data-theme="dark"] .msg-tag button { color: #ff8a80; }
[data-theme="dark"] .msg-tags-input { color: var(--dk-text); }
[data-theme="dark"] .msg-resumo-card { background: var(--dk-card) !important; }
[data-theme="dark"] .msg-ver-corpo { color: var(--dk-text-2); }
[data-theme="dark"] .msg-anexo-dl { background: var(--dk-card-hi); border-color: var(--dk-border); color: var(--dk-text-2); }
[data-theme="dark"] .msg-anexo-dl:hover { background: var(--dk-accent-soft); border-color: var(--dk-accent-bord); color: var(--dk-accent); }
[data-theme="dark"] .msg-btn-enviar:hover { box-shadow: 0 4px 14px rgba(230,51,41,.5); }
[data-theme="dark"] .btn-limpar:hover { background: var(--dk-accent-soft); color: var(--dk-accent); }
[data-theme="dark"] #contatos-lista .contato-item { color: var(--dk-text-2); }
[data-theme="dark"] #contatos-lista .contato-item:hover { background: var(--dk-card-hi); }
[data-theme="dark"] .msg-assinatura-body { background: var(--dk-surface); color: var(--dk-text-muted); border-top-color: var(--dk-border-hi); }
[data-theme="dark"] .msg-filtro-btn { color: var(--dk-text-muted); }
[data-theme="dark"] .msg-filtro-btn.ativo { background: var(--dk-card-hi); color: var(--dk-text); }
[data-theme="dark"] .msg-filtro-btn:hover { background: var(--dk-card-hi); }

/* ── Perfil (estilo local embutido em perfil/index.phtml) ── */
[data-theme="dark"] .perfil-card { background: var(--dk-card) !important; }
[data-theme="dark"] .perfil-nome { color: var(--dk-text); }
[data-theme="dark"] .perfil-login { color: var(--dk-text-muted); }
[data-theme="dark"] .perfil-meta { border-top-color: var(--dk-border); }
[data-theme="dark"] .perfil-meta-item { color: var(--dk-text-2); }
[data-theme="dark"] .foto-upload-label:hover { background: var(--dk-accent-soft); }

/* ── Rede de segurança: textos cinza-escuro inline (sem fundo
   próprio) dentro de contêineres já escurecidos acima — cobre
   dezenas de pequenos trechos inline espalhados por Usuários,
   Franqueados, Logs, Perfil e outras telas que reaproveitam
   .data-table/.card/.form-card sem ter uma classe dedicada.
   :not([style*="background"]) protege os selos/badges que têm
   fundo próprio inline (esses continuam com sua própria cor). ── */
[data-theme="dark"] .data-table [style*="color:#111"]:not([style*="background"]),
[data-theme="dark"] .card [style*="color:#111"]:not([style*="background"]),
[data-theme="dark"] .kpi-card [style*="color:#111"]:not([style*="background"]),
[data-theme="dark"] .chart-card [style*="color:#111"]:not([style*="background"]),
[data-theme="dark"] .form-card [style*="color:#111"]:not([style*="background"]),
[data-theme="dark"] .com-detalhe [style*="color:#111"]:not([style*="background"]),
[data-theme="dark"] .com-status-panel [style*="color:#111"]:not([style*="background"]),
[data-theme="dark"] .com-chat [style*="color:#111"]:not([style*="background"]),
[data-theme="dark"] .data-table [style*="color:#222"]:not([style*="background"]),
[data-theme="dark"] .card [style*="color:#222"]:not([style*="background"]),
[data-theme="dark"] .form-card [style*="color:#222"]:not([style*="background"]),
[data-theme="dark"] .com-detalhe [style*="color:#222"]:not([style*="background"]),
[data-theme="dark"] .com-status-panel [style*="color:#222"]:not([style*="background"]),
[data-theme="dark"] .com-chat [style*="color:#222"]:not([style*="background"]),
[data-theme="dark"] .data-table [style*="color:#333"]:not([style*="background"]),
[data-theme="dark"] .card [style*="color:#333"]:not([style*="background"]),
[data-theme="dark"] .kpi-card [style*="color:#333"]:not([style*="background"]),
[data-theme="dark"] .chart-card [style*="color:#333"]:not([style*="background"]),
[data-theme="dark"] .form-card [style*="color:#333"]:not([style*="background"]),
[data-theme="dark"] .com-detalhe [style*="color:#333"]:not([style*="background"]),
[data-theme="dark"] .com-status-panel [style*="color:#333"]:not([style*="background"]),
[data-theme="dark"] .com-chat [style*="color:#333"]:not([style*="background"]) {
    color: var(--dk-text) !important;
}
[data-theme="dark"] .data-table [style*="color:#444"]:not([style*="background"]),
[data-theme="dark"] .card [style*="color:#444"]:not([style*="background"]),
[data-theme="dark"] .form-card [style*="color:#444"]:not([style*="background"]),
[data-theme="dark"] .chart-card [style*="color:#444"]:not([style*="background"]),
[data-theme="dark"] .com-detalhe [style*="color:#444"]:not([style*="background"]),
[data-theme="dark"] .com-status-panel [style*="color:#444"]:not([style*="background"]),
[data-theme="dark"] .com-chat [style*="color:#444"]:not([style*="background"]),
[data-theme="dark"] .data-table [style*="color:#555"]:not([style*="background"]),
[data-theme="dark"] .card [style*="color:#555"]:not([style*="background"]),
[data-theme="dark"] .form-card [style*="color:#555"]:not([style*="background"]),
[data-theme="dark"] .chart-card [style*="color:#555"]:not([style*="background"]),
[data-theme="dark"] .com-detalhe [style*="color:#555"]:not([style*="background"]),
[data-theme="dark"] .com-status-panel [style*="color:#555"]:not([style*="background"]),
[data-theme="dark"] .com-chat [style*="color:#555"]:not([style*="background"]),
[data-theme="dark"] .data-table [style*="color:#666"]:not([style*="background"]),
[data-theme="dark"] .card [style*="color:#666"]:not([style*="background"]),
[data-theme="dark"] .chart-card [style*="color:#666"]:not([style*="background"]),
[data-theme="dark"] .com-detalhe [style*="color:#666"]:not([style*="background"]),
[data-theme="dark"] .com-status-panel [style*="color:#666"]:not([style*="background"]),
[data-theme="dark"] .com-chat [style*="color:#666"]:not([style*="background"]) {
    color: var(--dk-text-2) !important;
}

/* ── Faixa de aviso inline (Usuários/Logs — "Equipe interna: ...") ── */
[data-theme="dark"] [style*="background:#f5f5f5;border:1px solid #e8e8e8"] {
    background: var(--dk-card-hi) !important;
    border-color: var(--dk-border) !important;
}
[data-theme="dark"] [style*="background:#f5f5f5;border:1px solid #e8e8e8"] [style*="color:#888"],
[data-theme="dark"] [style*="background:#f5f5f5;border:1px solid #e8e8e8"] [style*="color:#666"] {
    color: var(--dk-text-2) !important;
}
[data-theme="dark"] [style*="background:#f5f5f5;border:1px solid #e8e8e8"] [style*="color:#bbb"] {
    color: var(--dk-text-muted) !important;
}

/* ── Faixa/caixa de aviso amarela inline (confirmação de exclusão em
   mensagem/ver, alerta de purge de logs, etc.) ── */
[data-theme="dark"] [style*="background:#fff8e1"] {
    background: rgba(255, 193, 7, .12) !important;
    border-color: rgba(255, 193, 7, .3) !important;
}
[data-theme="dark"] [style*="background:#fff8e1"][style*="color:#e65100"],
[data-theme="dark"] [style*="background:#fff8e1"] [style*="color:#e65100"],
[data-theme="dark"] [style*="background:#fff8e1"][style*="color:#f9a825"],
[data-theme="dark"] [style*="background:#fff8e1"] [style*="color:#f9a825"] {
    color: #ffca5c !important;
}
[data-theme="dark"] [style*="background:#fff8e1"] [style*="color:#5d4037"] {
    color: var(--dk-text-2) !important;
}

/* ── Select de status de item (materiais-apoio/ver) — cor definida
   inline via PHP ($itemStyle), mesma paleta semântica dos .pill-* ── */
[data-theme="dark"] select[style*="background:#f5f5f5;color:#888"] {
    background: var(--dk-card-hi) !important;
    color: var(--dk-text-muted) !important;
    border-color: var(--dk-border-hi) !important;
}
[data-theme="dark"] select[style*="background:#fff3e0;color:#e65100"] {
    background: rgba(230,81,0,.2) !important;
    color: #ffb74d !important;
    border-color: rgba(255,183,77,.35) !important;
}
[data-theme="dark"] select[style*="background:#e8f5e9;color:#2e7d32"] {
    background: rgba(46,125,50,.2) !important;
    color: #81c784 !important;
    border-color: rgba(129,199,132,.35) !important;
}

/* ── Divisores inline claros (padrão repetido em várias telas: listas de
   comentários, usuários online/offline, rankings, cards do dashboard —
   tanto na renderização PHP inicial quanto nos templates JS do
   auto-refresh). Não têm classe própria, por isso via seletor de
   atributo; cobre as duas variações de espaçamento encontradas no
   código (com e sem espaço depois dos dois-pontos). ── */
[data-theme="dark"] [style*="border-bottom:1px solid #eee" i],
[data-theme="dark"] [style*="border-bottom: 1px solid #eee" i],
[data-theme="dark"] [style*="border-bottom:1px solid #f0f0f0" i],
[data-theme="dark"] [style*="border-bottom: 1px solid #f0f0f0" i],
[data-theme="dark"] [style*="border-bottom:1px solid #f2f2f2" i],
[data-theme="dark"] [style*="border-bottom: 1px solid #f2f2f2" i],
[data-theme="dark"] [style*="border-bottom:1px solid #f5f5f5" i],
[data-theme="dark"] [style*="border-bottom: 1px solid #f5f5f5" i],
[data-theme="dark"] [style*="border-bottom:1px solid #f7f7f7" i],
[data-theme="dark"] [style*="border-bottom: 1px solid #f7f7f7" i],
[data-theme="dark"] [style*="border-bottom:1px solid #f9f9f9" i],
[data-theme="dark"] [style*="border-bottom: 1px solid #f9f9f9" i],
[data-theme="dark"] [style*="border-bottom:1px solid #fafafa" i],
[data-theme="dark"] [style*="border-bottom: 1px solid #fafafa" i] {
    border-bottom-color: var(--dk-border-hi) !important;
}

[data-theme="dark"] [style*="border-top:1px solid #eee" i],
[data-theme="dark"] [style*="border-top: 1px solid #eee" i],
[data-theme="dark"] [style*="border-top:1px solid #f0f0f0" i],
[data-theme="dark"] [style*="border-top: 1px solid #f0f0f0" i],
[data-theme="dark"] [style*="border-top:1px solid #f2f2f2" i],
[data-theme="dark"] [style*="border-top: 1px solid #f2f2f2" i],
[data-theme="dark"] [style*="border-top:1px solid #f5f5f5" i],
[data-theme="dark"] [style*="border-top: 1px solid #f5f5f5" i],
[data-theme="dark"] [style*="border-top:1px solid #e0e0e0" i],
[data-theme="dark"] [style*="border-top: 1px solid #e0e0e0" i],
[data-theme="dark"] [style*="border-top:1px solid #DDDDDD" i],
[data-theme="dark"] [style*="border-top: 1px solid #DDDDDD" i] {
    border-top-color: var(--dk-border-hi) !important;
}

/* ── Fundo cinza-claro inline (linhas em zebra, caixas de destaque,
   cabeçalho de tabela — materiais-apoio, boletos) ── */
[data-theme="dark"] [style*="background:#fafafa" i],
[data-theme="dark"] [style*="background: #fafafa" i] {
    background: var(--dk-card-hi) !important;
}
/* Placeholder "Sem dados" do donut de Materiais (dashboard admin) — mesmo
   elemento tem fundo E texto claros, os dois precisam escurecer juntos. */
[data-theme="dark"] [style*="background:#f9f9f9" i] {
    background: var(--dk-card-hi) !important;
    color: var(--dk-text-faint) !important;
}
/* Círculo numerador dos itens (materiais-apoio/ver) */
[data-theme="dark"] [style*="border-radius:50%;background:#f0f0f0" i] {
    background: var(--dk-border) !important;
}

/* ── Anel branco de "recorte" ao redor do indicador online/offline nos
   avatares (pensado pra separar do avatar contra um fundo branco) —
   no escuro precisa combinar com o card por trás, não com a borda ── */
[data-theme="dark"] [style*="border:2px solid #fff" i] {
    border-color: var(--dk-card) !important;
}

/* ── Página de Versões do Sistema ── */
[data-theme="dark"] .ver-hero {
    background: linear-gradient(135deg, var(--dk-surface) 0%, #2a1210 100%);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .35);
}
[data-theme="dark"] .ver-hero-text p { color: var(--dk-text-muted); }
[data-theme="dark"] .ver-hero-badge {
    background: rgba(255, 255, 255, .04);
    border-color: rgba(255, 255, 255, .1);
}
[data-theme="dark"] .ver-filtro {
    background: var(--dk-card);
    border-color: var(--dk-border-hi);
    color: var(--dk-text-muted);
}
[data-theme="dark"] .ver-filtro:hover { border-color: var(--dk-border-hi); color: var(--dk-text-2); }
[data-theme="dark"] .ver-filtro.ativo {
    background: var(--dk-accent);
    border-color: var(--dk-accent);
    color: #fff;
}
[data-theme="dark"] .ver-dot { background: var(--dk-surface); border-color: var(--dk-border-hi); }
[data-theme="dark"] .ver-dot-atual {
    border-color: var(--dk-accent);
    background: var(--dk-accent);
    box-shadow: 0 0 0 4px var(--dk-accent-soft);
}
[data-theme="dark"] .ver-dot-fim { background: var(--dk-card); border-color: var(--dk-border); color: var(--dk-text-faint); }
[data-theme="dark"] .ver-linha { background: linear-gradient(var(--dk-border-hi), var(--dk-surface)); }
[data-theme="dark"] .ver-fim-texto { color: var(--dk-text-faint); }
[data-theme="dark"] .ver-card {
    background: var(--dk-card);
    border-color: var(--dk-border);
    box-shadow: 0 1px 4px rgba(0, 0, 0, .4);
}
[data-theme="dark"] .ver-card:hover { box-shadow: 0 10px 26px rgba(0, 0, 0, .5); }
[data-theme="dark"] .ver-tag { background: var(--dk-accent-soft); color: var(--dk-accent); }
[data-theme="dark"] .ver-tag-atual { background: rgba(76, 175, 80, .18); color: #81c784; }
[data-theme="dark"] .ver-tag-lancamento { background: rgba(26, 86, 196, .22); color: #64b5f6; }
[data-theme="dark"] .ver-card-heading h2 { color: var(--dk-text); }
[data-theme="dark"] .ver-card-data { color: var(--dk-text-faint); }
[data-theme="dark"] .ver-resumo { color: var(--dk-text-muted); }
[data-theme="dark"] .ver-secao-count { background: rgba(255, 255, 255, .08); color: var(--dk-text-muted); }
[data-theme="dark"] .ver-secao-lista li { color: var(--dk-text-2); }
[data-theme="dark"] .ver-sec-add { background: rgba(76, 175, 80, .09); }
[data-theme="dark"] .ver-sec-add .ver-secao-titulo { color: #81c784; }
[data-theme="dark"] .ver-sec-fix { background: rgba(245, 166, 35, .09); }
[data-theme="dark"] .ver-sec-fix .ver-secao-titulo { color: #ffb74d; }
[data-theme="dark"] .ver-sec-rem { background: rgba(229, 115, 115, .09); }
[data-theme="dark"] .ver-sec-rem .ver-secao-titulo { color: #ff8a80; }

/* ── Página de login / termo de aceite / impressão: fora do escopo
   desta v1 (telas pré-autenticação ou com layout próprio) ── */
