/**
 * Correções do tema claro e da troca de tema.
 *
 * POR QUE ESTE ARQUIVO EXISTE: várias telas foram escritas com cores fixas pensando no
 * tema escuro — texto branco, fundos translúcidos claros. No tema claro esse texto fica
 * branco sobre branco e some. Como as regras estão espalhadas por dezenas de arquivos,
 * corrigir uma a uma seria demorado e fácil de esquecer; aqui as correções ficam em um
 * lugar só, aplicadas apenas quando o tema claro está ativo.
 *
 * Todas as regras abaixo valem SOMENTE em body:not(.dark-mode), então o tema escuro
 * continua exatamente como está.
 */

/* ---------------------------------------------------------------
   1. Texto que ficava branco sobre fundo claro
   --------------------------------------------------------------- */

body:not(.dark-mode) .callout p,
body:not(.dark-mode) .callout li,
body:not(.dark-mode) .callout span:not(.badge):not([class*="text-"]),
body:not(.dark-mode) .callout b,
body:not(.dark-mode) .callout strong {
    color: var(--nnet-l-ink-3, #35404e);
}

/* Avisos: o texto herdava a cor clara e sumia. */
body:not(.dark-mode) .alert-info,
body:not(.dark-mode) .alert-success,
body:not(.dark-mode) .alert-warning,
body:not(.dark-mode) .alert-danger,
body:not(.dark-mode) .alert-secondary {
    color: var(--nnet-l-ink-2, #2b3542);
}

body:not(.dark-mode) .alert-info b,
body:not(.dark-mode) .alert-success b,
body:not(.dark-mode) .alert-warning b,
body:not(.dark-mode) .alert-danger b,
body:not(.dark-mode) .alert a:not(.btn) {
    color: inherit;
    font-weight: 700;
}

body:not(.dark-mode) .alert a:not(.btn) {
    text-decoration: underline;
}

/* Textos auxiliares que ficaram claros demais para ler. */
body:not(.dark-mode) .text-muted,
body:not(.dark-mode) small.form-text {
    color: var(--nnet-l-ink-soft, #6c7a89) !important;
}

body:not(.dark-mode) .form-text code,
body:not(.dark-mode) p code,
body:not(.dark-mode) li code {
    background: var(--nnet-l-surface-3, #eef1f5);
    color: #c7254e;
    padding: 1px 5px;
    border-radius: 4px;
}

/* ---------------------------------------------------------------
   2. Cartões e blocos criados com fundo escuro fixo
   --------------------------------------------------------------- */

body:not(.dark-mode) .cb-pack,
body:not(.dark-mode) .ca-kpi,
body:not(.dark-mode) .cs-ac-list,
body:not(.dark-mode) .pl-ac-list {
    color: var(--nnet-l-ink-3, #35404e);
}

body:not(.dark-mode) .cb-pack-head {
    border-bottom-color: rgba(0, 0, 0, .08);
}

/* Simulações de conversa do WhatsApp: mantêm o visual do app, que é escuro por
   natureza — o texto ali é branco de propósito e continua legível. */
body:not(.dark-mode) .bc-phone,
body:not(.dark-mode) .cb-phone {
    color: #e9edef;
}

/* ---------------------------------------------------------------
   3. Tabelas
   --------------------------------------------------------------- */

body:not(.dark-mode) table.dataTable tbody td,
body:not(.dark-mode) table.dataTable thead th {
    color: var(--nnet-l-ink-3, #35404e);
}

body:not(.dark-mode) table.dataTable tbody td .text-muted {
    color: var(--nnet-l-ink-soft, #7b8794) !important;
}

/* Cabeçalho e rodapé da tabela em telas estreitas. */
body:not(.dark-mode) .dataTables_info,
body:not(.dark-mode) .dataTables_length,
body:not(.dark-mode) .dataTables_filter {
    color: var(--nnet-l-ink-3, #4a5666);
}

/* ---------------------------------------------------------------
   4. Títulos com degradê
   --------------------------------------------------------------- */

/* Alguns títulos usam degradê recortado no texto. As cores foram escolhidas para o
   fundo escuro e ficam lavadas no claro; aqui recebem tons mais fechados. */
body:not(.dark-mode) .ca-title,
body:not(.dark-mode) .bc-title,
body:not(.dark-mode) .rl-title {
    background: linear-gradient(90deg, #4a4fd1, #7b2fd6);
    -webkit-background-clip: text;
    background-clip: text;
}

/* ---------------------------------------------------------------
   5. Campos de formulário
   --------------------------------------------------------------- */

body:not(.dark-mode) .form-control::placeholder {
    color: var(--nnet-l-ink-soft, #9aa5b1);
    opacity: 1;
}

body:not(.dark-mode) select.form-control option {
    color: var(--nnet-l-ink-3, #35404e);
    background: var(--nnet-l-surface, #fff);
}

/* ---------------------------------------------------------------
   6. Textos escritos pelo Admin (avisos, comunicados, descrições)
   ---------------------------------------------------------------

   Estes blocos recebem HTML digitado no painel — negrito, links, listas. O tema define
   uma cor clara para <b>/<strong> pensando no fundo escuro, e no tema claro o trecho em
   negrito sumia mesmo com o restante do parágrafo legível. Aqui o destaque herda a cor do
   texto ao redor, continuando em negrito. */

body:not(.dark-mode) .dash-notice,
body:not(.dark-mode) .dash-notice-title,
body:not(.dark-mode) .dash-notice-text {
    color: var(--nnet-l-ink-3, #35404e);
}

body:not(.dark-mode) .dash-notice b,
body:not(.dark-mode) .dash-notice strong,
body:not(.dark-mode) .dash-notice-text b,
body:not(.dark-mode) .dash-notice-text strong,
body:not(.dark-mode) .dash-notice-text span,
body:not(.dark-mode) .dash-notice-text li,
body:not(.dark-mode) .dash-notice-text p,
body:not(.dark-mode) .callout b,
body:not(.dark-mode) .callout strong,
body:not(.dark-mode) .callout em,
body:not(.dark-mode) .callout i:not([class*="fa"]),
body:not(.dark-mode) .alert b,
body:not(.dark-mode) .alert strong,
body:not(.dark-mode) .alert em,
body:not(.dark-mode) .alert span:not(.badge),
body:not(.dark-mode) .alert li,
body:not(.dark-mode) .alert p {
    color: inherit !important;
    font-weight: inherit;
}

/* Negrito continua negrito: a regra acima só devolve a COR herdada. */
body:not(.dark-mode) .dash-notice b,
body:not(.dark-mode) .dash-notice strong,
body:not(.dark-mode) .dash-notice-text b,
body:not(.dark-mode) .dash-notice-text strong,
body:not(.dark-mode) .callout b,
body:not(.dark-mode) .callout strong,
body:not(.dark-mode) .alert b,
body:not(.dark-mode) .alert strong {
    font-weight: 700;
}

/* Links dentro desses blocos precisam continuar distinguíveis do texto. */
body:not(.dark-mode) .dash-notice a:not(.btn),
body:not(.dark-mode) .callout a:not(.btn) {
    color: rgb(var(--nnet-accent-rgb, 47, 91, 216)) !important;
    text-decoration: underline;
}

/* Blocos com texto livre em outras telas (aviso do WhatsApp, cards de informação). */
body:not(.dark-mode) .card-body b,
body:not(.dark-mode) .card-body strong {
    color: inherit;
}

/* Títulos de card que ficavam claros demais. */
body:not(.dark-mode) .card-title,
body:not(.dark-mode) .card-header h3 {
    color: var(--nnet-l-ink-2, #2b3542);
}

/* ---------------------------------------------------------------
   7. Telas de acesso (login do painel e da área do cliente)
   ---------------------------------------------------------------

   Essas telas têm paleta própria (as variáveis --login-*) e não seguem o tema do painel:
   são vistas por quem ainda não entrou, então não há preferência de tema para aplicar.
   O problema é que o tema define o fundo do <body> com !important e acabava cobrindo o
   fundo da tela de acesso — inclusive deixando um login escuro com fundo claro quando o
   padrão do painel era um tema claro. Aqui a paleta da própria tela volta a prevalecer. */

body.login-body {
    background: var(--login-bg, #0b1220) !important;
    color: var(--login-text, #ffffff) !important;
}
