/* =====================================================================
   TEMA — fonte única dos tokens de aparência (claro / escuro / automático)
   Carregado depois de app.css e modulos.css. O modo "automático" é
   resolvido antes do primeiro paint por um script inline no <head>,
   que grava html[data-tema] e html.dark.
   ===================================================================== */

:root {
    --nv-txt: var(--nv);

    /* Tokens semânticos (usar nos componentes novos) */
    --sg-bg: var(--fz);
    --sg-surface: var(--fb);
    --sg-surface-2: #F8FAFC;
    --sg-surface-3: #EEF2F7;
    --sg-text: var(--tx);
    --sg-muted: var(--gz);
    --sg-border: var(--bd);
    --sg-primary: var(--nv);
    --sg-primary-txt: var(--nv-txt);
    --sg-sidebar: var(--lat);
    --sg-sidebar-text: var(--lat-txt);
    --sg-danger: var(--vm);
    --sg-success: var(--vd);
    --sg-warning: var(--am);
}

html[data-tema="claro"] { color-scheme: light; }

html[data-tema="escuro"] {
    color-scheme: dark;

    /* Tokens legados do app.css (telas antigas) */
    --fundo: #0F141B;
    --carta: #161D26;
    --texto: #E6EBF2;
    --borda: #2C3745;
    --cinza: #A3AFBF;

    --sg-surface-2: #1B232E;
    --sg-surface-3: #212B37;
    --sg-surface: #161D26;
    --sg-bg: #0F141B;

    --nv-txt: #9DBBE0;
    --nv2: #2A4D7E;

    /* Casca: mantém a identidade oliva, um tom mais profundo */
    --lat: #1E2317;
    --lat-esc: #12160E;
    --lat-txt: #E9EDDF;
    --lat-fraco: #A2AC8D;
}

/* Texto/ícones em azul de marca sobre superfícies escuras */
html[data-tema="escuro"] .kb-prio-normal { border-left-color: var(--nv-txt); }

/* ---------------------------------------------------------------- casca */
html[data-tema="escuro"] .sh-menu-btn,
html[data-tema="escuro"] .sh-sino {
    background: rgba(255, 255, 255, .10);
    border-color: rgba(255, 255, 255, .20);
    color: #E9EDDF;
}
html[data-tema="escuro"] .sh-menu-btn:hover,
html[data-tema="escuro"] .sh-sino:hover {
    background: rgba(255, 255, 255, .20);
    border-color: rgba(255, 255, 255, .28);
    color: #FFFFFF;
}
html[data-tema="escuro"] .sh-sino.on {
    background: #333B22;
    border-color: #4A5530;
    color: #F5F7EC;
}
html[data-tema="escuro"] .sh-sino-badge { border-color: #1E2317; }

html[data-tema="escuro"] .sh-sair {
    background: rgba(255, 255, 255, .10);
    border-color: rgba(255, 255, 255, .20);
    color: #E9EDDF;
}
html[data-tema="escuro"] .sh-sair:hover {
    background: rgba(255, 255, 255, .18);
    border-color: rgba(255, 255, 255, .30);
    color: #FFD9D3;
}
html[data-tema="escuro"] .sh-item.on {
    background: #333B22;
    color: #F7F8F0;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12);
}
html[data-tema="escuro"] .sh-item.on svg { color: #F7F8F0; }

/* --------------------------------------------------------- botões/abas */
html[data-tema="escuro"] .pg-btn.pri { background: #2E5A8F; }
html[data-tema="escuro"] .pg-btn.pri:hover { background: #3A6CA8; }
html[data-tema="escuro"] .pg-btn.sec,
html[data-tema="escuro"] .pg-btn.perigo,
html[data-tema="escuro"] .pg-ico,
html[data-tema="escuro"] .pg-chip,
html[data-tema="escuro"] .pg-pag a,
html[data-tema="escuro"] .fm-passos li,
html[data-tema="escuro"] .ag-cal-nav,
html[data-tema="escuro"] .ag-cal-hoje,
html[data-tema="escuro"] .sg-ramal-btn {
    background: var(--sg-surface);
    border-color: var(--sg-border);
    color: var(--sg-text);
}
html[data-tema="escuro"] .pg-btn.sec,
html[data-tema="escuro"] .pg-ico,
html[data-tema="escuro"] .pg-pag a,
html[data-tema="escuro"] .ag-cal-nav,
html[data-tema="escuro"] .ag-cal-hoje,
html[data-tema="escuro"] .sg-ramal-btn { color: var(--nv-txt); }

html[data-tema="escuro"] .pg-btn.sec:hover,
html[data-tema="escuro"] .pg-ico:hover,
html[data-tema="escuro"] .pg-chip:hover,
html[data-tema="escuro"] .pg-pag a:hover,
html[data-tema="escuro"] .ag-cal-nav:hover,
html[data-tema="escuro"] .ag-cal-hoje:hover,
html[data-tema="escuro"] .sg-ramal-btn:hover,
html[data-tema="escuro"] .cli-act:hover { background: var(--sg-surface-2); }

html[data-tema="escuro"] .pg-chip.on {
    background: #243449;
    border-color: #2F4A69;
    color: var(--nv-txt);
}
html[data-tema="escuro"] .pg-ico.bloqueado,
html[data-tema="escuro"] .pg-pag .off {
    background: var(--sg-surface-2);
    color: #6E7A8B;
}
html[data-tema="escuro"] .pg-ava,
html[data-tema="escuro"] .pg-vazio-ic,
html[data-tema="escuro"] .cli-kpi-ic.nv,
html[data-tema="escuro"] .kb-prio-normal .kb-prio,
html[data-tema="escuro"] .pg-pill.nv {
    background: #243449;
    color: var(--nv-txt);
}
html[data-tema="escuro"] .pg-pill.cz,
html[data-tema="escuro"] .xls-uf,
html[data-tema="escuro"] .kb-prio,
html[data-tema="escuro"] .kb-badge-cz,
html[data-tema="escuro"] .cli-chip {
    background: var(--sg-surface-3);
    border-color: var(--sg-border);
    color: #C3CBD6;
}

/* Pílulas de status: no escuro, fundo profundo + texto claro (contraste AA). */
html[data-tema="escuro"] .pg-pill.vd { background: #12241B; color: #7FD1A6; border: 1px solid #1F4533; }
html[data-tema="escuro"] .pg-pill.vm { background: #2A1716; color: #F0A7A0; border: 1px solid #5A2C29; }
html[data-tema="escuro"] .pg-pill.am { background: #2A2213; color: #F2C879; border: 1px solid #5A4A25; }
html[data-tema="escuro"] .pg-pill.az { background: #0F1D31; color: #9DBBE0; border: 1px solid #2A4D7E; }

/* ---------------------------------------------------------------- tabelas */
html[data-tema="escuro"] .pg-tab tbody tr:hover { background: var(--sg-surface-2); }
html[data-tema="escuro"] .sc-item:nth-child(even) { background: var(--sg-surface-2); }

/* ------------------------------------------------------------ formulários */
html[data-tema="escuro"] .fm input[type=text],
html[data-tema="escuro"] .fm input[type=email],
html[data-tema="escuro"] .fm input[type=password],
html[data-tema="escuro"] .fm input[type=number],
html[data-tema="escuro"] .fm input[type=date],
html[data-tema="escuro"] .fm input[type=datetime-local],
html[data-tema="escuro"] .fm input[type=search],
html[data-tema="escuro"] .fm input[type=file],
html[data-tema="escuro"] .fm select,
html[data-tema="escuro"] .fm textarea,
html[data-tema="escuro"] .pg-busca input:focus,
html[data-tema="escuro"] .kb-busca input:focus,
html[data-tema="escuro"] .chat-campo:focus,
html[data-tema="escuro"] .sg-pres-select select,
html[data-tema="escuro"] .ag-rel-add select,
html[data-tema="escuro"] .sg-rateio-peso,
html[data-tema="escuro"] .sg-rateio-total,
html[data-tema="escuro"] .sg-calc-inp {
    background: #151B24;
    border-color: var(--sg-border);
    color: var(--sg-text);
}
html[data-tema="escuro"] .fm-zona {
    background: #2A1715;
    border-color: var(--vmb);
}
html[data-tema="escuro"] .sg-modal {
    background: var(--sg-surface);
    border: 1px solid var(--sg-border);
}
html[data-tema="escuro"] .fm-escolha:has(input:checked) {
    background: #1B2A3D;
    border-color: var(--nv-txt);
}

/* ---------------------------------------------------------------- kanban */
html[data-tema="escuro"] .kb-col { background: #1A222D; }
html[data-tema="escuro"] .kb-col-ganho { background: #14261D; }
html[data-tema="escuro"] .kb-col-perdido { background: #2A1615; }

/* PLANILHA (xls) */
html[data-tema="escuro"] .xls-wrap,
html[data-tema="escuro"] .xls-status,
html[data-tema="escuro"] .xls-pop {
    background: var(--sg-surface);
    border-color: var(--sg-border);
}
html[data-tema="escuro"] .xls thead th { background: var(--sg-surface-3); }
html[data-tema="escuro"] .xls-num,
html[data-tema="escuro"] .xls tbody td.xls-num { background: var(--sg-surface-2); color: #8E9AAB; }
html[data-tema="escuro"] .xls thead .xls-num { background: #26313F; }
html[data-tema="escuro"] .xls tbody tr:nth-child(even),
html[data-tema="escuro"] .xls tbody tr:nth-child(even) td.xls-num { background: #19212B; }
html[data-tema="escuro"] .xls tbody tr:hover,
html[data-tema="escuro"] .xls tbody tr:hover .xls-num { background: #202B38; }
html[data-tema="escuro"] .xls-filtro > summary:hover,
html[data-tema="escuro"] .xls-cols > summary:hover,
html[data-tema="escuro"] .xls-op:hover,
html[data-tema="escuro"] .xls-check:hover { background: var(--sg-surface-2); }
html[data-tema="escuro"] .xls-op.on { background: #243449; color: var(--nv-txt); }
html[data-tema="escuro"] .xls-op.on::before { background: var(--nv-txt); border-color: var(--nv-txt); box-shadow: inset 0 0 0 2px #161D26; }

/* ------------------------------------------------------------------ chat */
html[data-tema="escuro"] .chat,
html[data-tema="escuro"] .sg-chat,
html[data-tema="escuro"] .sg-ramal-lista,
html[data-tema="escuro"] .sg-ramal-janela {
    background: var(--sg-surface);
    border-color: var(--sg-border);
}
html[data-tema="escuro"] .chat-topo,
html[data-tema="escuro"] .chat-previa,
html[data-tema="escuro"] .sg-chat-cab { background: var(--sg-surface-2); border-color: var(--sg-border); }
html[data-tema="escuro"] .chat-lista { background: #121820; }
html[data-tema="escuro"] .chat-dia span,
html[data-tema="escuro"] .chat-anexar,
html[data-tema="escuro"] .sg-chat-x,
html[data-tema="escuro"] .sg-toast,
html[data-tema="escuro"] .sg-fab-ramal,
html[data-tema="escuro"] .ag-donut-ct {
    background: var(--sg-surface);
    border-color: var(--sg-border);
    color: var(--sg-text);
}
/* balao-branco: balões brancos também no tema escuro */
html[data-tema="escuro"] .chat-balao { background: #FFFFFF; border-color: #C9D3DF; color: #1A202C; }
html[data-tema="escuro"] .chat-msg.minha .chat-balao { background: #FFFFFF; border-color: #2E9E6B; color: #1A202C; }
html[data-tema="escuro"] .chat-msg.sg-nova .chat-balao { background: #33270E; border-color: #7A5A17; }
html[data-tema="escuro"] .chat-aviso-chama { background: #33270E; color: #F0CF8F; }
html[data-tema="escuro"] .chat-chamada { background: var(--sg-surface-2); border-color: var(--sg-border); }
html[data-tema="escuro"] .chat-chamada.recebida { background: #2A1715; border-color: var(--vmb); }
html[data-tema="escuro"] .chat-ligar { background: var(--sg-surface); border-color: var(--sg-border); color: var(--nv-txt); }
html[data-tema="escuro"] .chat-ligar:hover,
html[data-tema="escuro"] .sg-fab-ramal:hover,
html[data-tema="escuro"] .sg-ramal-colega:hover:not(:disabled) { background: var(--sg-surface-2); }
html[data-tema="escuro"] .sg-toast-acao { background: #243449; color: var(--nv-txt); }

/* --------------------------------------------------------------- agenda */
html[data-tema="escuro"] .fm-passos li.aqui .fm-passo-num,
html[data-tema="escuro"] .fm-passos li.feito .fm-passo-num { background: #2E5A8F; color: #fff; }

/* -------------------------------------------------------------- clientes */
html[data-tema="escuro"] .cli-ava.c0 { background: #17283F; color: #A9CBF7; }
html[data-tema="escuro"] .cli-ava.c1 { background: #142A20; color: #8FE0B8; }
html[data-tema="escuro"] .cli-ava.c2 { background: #2E2310; color: #F0CF8F; }
html[data-tema="escuro"] .cli-ava.c3 { background: #2C1715; color: #F3B7B1; }
html[data-tema="escuro"] .cli-ava.c4 { background: #221C36; color: #C4B2F2; }
html[data-tema="escuro"] .cli-ava.c5 { background: #10282C; color: #8ADAE4; }

/* ---------------------------------------------------------- login/bloqueio */
html[data-tema="escuro"] .lg-fundo { position: relative; }
html[data-tema="escuro"] .lg-fundo::before {
    content: ''; position: absolute; inset: 0;
    background: rgba(8, 11, 16, .62);
}
html[data-tema="escuro"] .lg-caixa {
    position: relative; z-index: 1;
    background: var(--sg-surface);
    border: 1px solid var(--sg-border);
    box-shadow: 0 18px 50px rgba(0, 0, 0, .55);
}
html[data-tema="escuro"] .lg-entrar {
    background: radial-gradient(620px 440px at 50% 46%, rgba(12, 16, 22, .35), rgba(12, 16, 22, 0) 70%),
        linear-gradient(rgba(12, 16, 22, .78), rgba(12, 16, 22, .9)), var(--fz);
}

/* ------------------------------------------------- calculadora e rateio */
html[data-tema="escuro"] .sg-calc-pop {
    background: var(--sg-surface);
    border-color: var(--sg-border);
    color: var(--sg-text);
    box-shadow: 0 14px 36px rgba(0, 0, 0, .55);
}
html[data-tema="escuro"] .sg-calc-btn,
html[data-tema="escuro"] .sg-calc-pad button,
html[data-tema="escuro"] .sg-calc-qbtn,
html[data-tema="escuro"] .sg-calc-fbtn,
html[data-tema="escuro"] .sg-rateio-usar-atual,
html[data-tema="escuro"] .sg-rateio-fechar {
    background: var(--sg-surface-2);
    border-color: var(--sg-border);
    color: var(--sg-text);
}
html[data-tema="escuro"] .sg-calc-btn:hover,
html[data-tema="escuro"] .sg-calc-pad button:hover,
html[data-tema="escuro"] .sg-calc-qbtn:hover,
html[data-tema="escuro"] .sg-calc-fbtn:hover,
html[data-tema="escuro"] .sg-rateio-usar-atual:hover,
html[data-tema="escuro"] .sg-rateio-fechar:hover { background: #27303C; border-color: #3A4757; }
html[data-tema="escuro"] .sg-calc-pad .sg-calc-fn { color: #93A0B1; }
html[data-tema="escuro"] .sg-rateio-atual,
html[data-tema="escuro"] .sg-calc-quick-tit { color: #93A0B1; }
html[data-tema="escuro"] .sg-rateio-soma { color: #C3CBD6; }
html[data-tema="escuro"] .sg-auto { background: #2A3120; border-color: #4A5530 !important; }

/* --------------------------------------------------------------- Filament */
html[data-tema="escuro"] .fi-sidebar,
html[data-tema="escuro"] .fi-sidebar-header { background: #1E2317; }
html[data-tema="escuro"] .fi-sidebar { border-color: #2A3120; }
html[data-tema="escuro"] .fi-sidebar-item-btn { color: #DCE2CE; }
html[data-tema="escuro"] .fi-sidebar-item-btn:hover { background: rgba(255, 255, 255, .10); }
html[data-tema="escuro"] .fi-sidebar-item.fi-active > .fi-sidebar-item-btn {
    background: #333B22;
    color: #FFFFFF;
}
html[data-tema="escuro"] .fi-topbar { border-color: #2A3120; }
html[data-tema="escuro"] .fi-body { background: #0F141B; }

/* Telas antigas (app.css): títulos e valores em azul de marca legível */
html[data-tema="escuro"] .conteudo h2,
html[data-tema="escuro"] .carta h3,
html[data-tema="escuro"] .kpi-valor,
html[data-tema="escuro"] .login-caixa h1,
html[data-tema="escuro"] .linklike,
html[data-tema="escuro"] .kanban .coluna h3 { color: #9DBBE0; }
html[data-tema="escuro"] .cartao-kanban { background: var(--fb); }

/* Estados desabilitados ainda legíveis */
html[data-tema="escuro"] .pg-ico.bloqueado,
html[data-tema="escuro"] .pg-pag .off { color: #8B97A8; }
/* =====================================================================
   AUDITORIA F19 — contraste e superfícies no tema escuro
   Corrige componentes que ainda usavam cores claras fixas ou tokens
   pensados para fundo branco (chat, wizard, kanban, agenda, KPIs).
   ===================================================================== */

/* Chat: gaveta de conversas, topo e modal de novo grupo */
html[data-tema="escuro"] .chat-contatos,
html[data-tema="escuro"] .chat-modal {
    background: var(--sg-surface);
    border: 1px solid var(--sg-border);
    color: var(--sg-text);
}
html[data-tema="escuro"] .chat-contatos-cab,
html[data-tema="escuro"] .chat-conversa-topo {
    background: var(--sg-surface-2);
    border-color: var(--sg-border);
}
html[data-tema="escuro"] .chat-contatos-cab span,
html[data-tema="escuro"] .chat-contatos-sub,
html[data-tema="escuro"] .chat-contato-txt small,
html[data-tema="escuro"] .chat-conversa-topo small,
html[data-tema="escuro"] .chat-modal-corpo label { color: #A3AFBF; }
html[data-tema="escuro"] .chat-contato:hover,
html[data-tema="escuro"] .chat-modal-membro:hover { background: var(--sg-surface-2); }
html[data-tema="escuro"] .chat-contato.is-ativa { background: #1B2A3D; }
html[data-tema="escuro"] .chat-contatos-seta,
html[data-tema="escuro"] .chat-grupo-novo,
html[data-tema="escuro"] .chat-contato-ligar {
    background: var(--sg-surface);
    border-color: var(--sg-border);
    color: #7FD1A6;
    box-shadow: none;
}
html[data-tema="escuro"] .chat-contatos-seta:hover,
html[data-tema="escuro"] .chat-grupo-novo:hover,
html[data-tema="escuro"] .chat-contato-ligar:hover { background: var(--sg-surface-2); }
html[data-tema="escuro"] .chat-contato-ligar { color: var(--nv-txt); }
html[data-tema="escuro"] .chat-contato-txt b.sg-online-nome,
html[data-tema="escuro"] .chat-conversa-topo b.sg-online-nome { color: #7FD1A6; }
html[data-tema="escuro"] .chat-modal-corpo input[type="text"] {
    background: #151B24;
    border-color: var(--sg-border);
    color: var(--sg-text);
}
html[data-tema="escuro"] .chat-modal-erro { background: var(--vmf); color: #F0A7A0; }
html[data-tema="escuro"] .chat-msg.minha .chat-hora { color: #718096; } /* balao-branco */
html[data-tema="escuro"] .chat-msg.sg-nova .chat-hora { color: #F2C879; }

/* Wizard de cadastro (estilos inline no partial) */
html[data-tema="escuro"] .wz-titulo,
html[data-tema="escuro"] .wz-bloco-cab h4 { color: #9DBBE0; }
html[data-tema="escuro"] .wz-bt { background: var(--fb); color: var(--gz2); }
html[data-tema="escuro"] .wz-bt.ativo {
    color: #9DBBE0;
    border-color: #2A4D7E;
    box-shadow: inset 0 0 0 1px #2A4D7E;
}
html[data-tema="escuro"] .wz-bt.feito { color: #7FD1A6; }
html[data-tema="escuro"] .wz-bt.feito .wz-num { background: #12241B; color: #7FD1A6; }
html[data-tema="escuro"] .wz-bt.ativo .wz-num { background: #2E5A8F; color: #FFFFFF; }
html[data-tema="escuro"] .wz-nav,
html[data-tema="escuro"] .wz-bloco {
    background: var(--fb);
    border-color: var(--bd);
}
html[data-tema="escuro"] .wz-nav { border: 1px solid var(--bd); }
html[data-tema="escuro"] .wz-alerta {
    background: var(--vmf);
    border-color: var(--vmb);
    color: #F0A7A0;
}

/* Kanban: colunas de ganho/perda */
html[data-tema="escuro"] .kb-col-ganho .kb-cab { color: #7FD1A6; }
html[data-tema="escuro"] .kb-col-perdido .kb-cab { color: #F0A7A0; }
html[data-tema="escuro"] .kb-col-ganho .kb-prog span { background: #7FD1A6; }
html[data-tema="escuro"] .kb-col-perdido .kb-prog span { background: #F0A7A0; }

/* Agenda: dia atual e hover */
html[data-tema="escuro"] .ag-cal-cel.hoje {
    background: #0F1D31;
    box-shadow: inset 0 0 0 1px #2A4D7E;
}
html[data-tema="escuro"] .ag-cal-cel.hoje .ag-cal-num { color: #9DBBE0; }
html[data-tema="escuro"] .ag-cal-cel:hover { background: var(--sg-surface-2); }
html[data-tema="escuro"] .ag-cal-cel.fora { color: #8B97A8; }

/* KPIs: detalhes coloridos sobre cartão escuro */
html[data-tema="escuro"] .pg-kpi-det.vd { color: #7FD1A6; }
html[data-tema="escuro"] .pg-kpi-det.vm { color: #F0A7A0; }
html[data-tema="escuro"] .pg-kpi-det.am { color: #F2C879; }

/* Painel e rótulo de país */
html[data-tema="escuro"] .sg-kpi-tag-neutra { color: #94A3B8; }
html[data-tema="escuro"] .sg-brasil { color: #8FB8FF; }

/* Alertas, ações destrutivas e indicadores do Kanban */
html[data-tema="escuro"] .al-ok { background: var(--vdf); color: #7FD1A6; border-color: var(--vdb); }
html[data-tema="escuro"] .al-erro { background: var(--vmf); color: #F0A7A0; border-color: var(--vmb); }
html[data-tema="escuro"] .pg-btn.perigo { color: #F0A7A0; border-color: var(--vmb); }
html[data-tema="escuro"] .pg-btn.perigo:hover { background: var(--vmf); }
html[data-tema="escuro"] .pg-ico.perigo { color: #F0A7A0; }
html[data-tema="escuro"] .fm-zona h4 { color: #F0A7A0; }
html[data-tema="escuro"] .kb-t-ok .kb-ind-val { color: #7FD1A6; }
html[data-tema="escuro"] .kb-t-vm .kb-ind-val { color: #F0A7A0; }
html[data-tema="escuro"] .kb-t-am .kb-ind-val { color: #F2C879; }

/* Valores vencidos (inline removido das views) */
.txt-vm { color: var(--vm); }
html[data-tema="escuro"] .txt-vm { color: #F0A7A0; }

/* Pensamentos: selo de privacidade */
html[data-tema="escuro"] .pn-priv { color: #7FD1A6; }
