/* ═══════════════════════════════════════════════════════════════════════
   APARÊNCIA — ESCURO / CLARO
   ═══════════════════════════════════════════════════════════════════════
   O tema claro não é uma inversão de cores. Ele usa três níveis de branco
   azulado para manter a hierarquia que o escuro construía com três níveis de
   preto, deixa a cor nas informações que realmente significam algo e reduz
   sombras pesadas. O azul vem da marca; o branco é levemente frio para não
   transformar o produto numa folha cinza.
   ═══════════════════════════════════════════════════════════════════════ */

/* O seletor existe nos dois temas. */
.tema-segmentado{
  display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;
  border:1px solid rgba(255,255,255,.09);border-radius:10px;
  background:rgba(255,255,255,.045);
}
.tema-opcao{
  display:inline-flex;align-items:center;justify-content:center;gap:5px;
  min-width:72px;height:29px;padding:0 9px;border:0;border-radius:7px;
  background:transparent;color:rgba(240,240,240,.48);cursor:pointer;
  font:600 .7rem 'Inter',sans-serif;transition:background .16s,color .16s,box-shadow .16s;
}
.tema-opcao svg{width:13px;height:13px;flex-shrink:0;}
.tema-opcao:hover{color:rgba(240,240,240,.9);background:rgba(255,255,255,.055);}
.tema-opcao.ativo{
  color:#e0e7ff;background:linear-gradient(180deg,rgba(99,102,241,.38),rgba(99,102,241,.22));
  box-shadow:inset 0 0 0 1px rgba(129,140,248,.3),0 2px 8px rgba(0,0,0,.18);
}
.tema-opcao:focus-visible{outline:2px solid #818cf8;outline-offset:2px;}
.atalhos-tema-linha{align-items:flex-start!important;}
/* Idioma e aparência são as duas escolhas de apresentação. Elas ficam no
   começo dos Atalhos mesmo quando os botões da barra são reorganizados. */
.atalhos-pop #linha-tema{order:-1;}
.atalhos-pop #linha-tema + .atalhos-sep{order:-1;}

/* ── Fundação: azul-tinta para texto, branco frio para superfícies ───── */
html[data-theme="light"]{
  /* SEM `color-scheme` AQUI, e isso não é esquecimento — ver a nota no fim
     do arquivo. Declarar `light` na raiz diz ao navegador "esta página só
     sabe claro", que é exatamente a condição para o modo escuro automático
     (o Opera o traz ligado) pintar tudo por conta própria. Os controles
     nativos que precisam ser claros pedem por elemento, logo abaixo. */
  --clr-text:#12263f;
  --clr-text-dim:rgba(29,53,80,.67);
  --clr-text-faint:rgba(29,53,80,.48);
  --clr-text-muted:rgba(29,53,80,.56);
  --clr-white:#12263f;
  --clr-bg:#edf6ff;
  --clr-bg-2:#ffffff;
  --clr-bg-card:rgba(37,99,235,.045);
  --clr-border:rgba(32,91,145,.16);
  --clr-border-soft:rgba(32,91,145,.12);
  --clr-border-strong:rgba(32,91,145,.24);
  --clr-border-faint:rgba(32,91,145,.085);
  --clr-indigo:#2563eb;
  --clr-indigo-dark:#1d4ed8;
  --clr-indigo-light:#2457c5;
  --clr-indigo-10:rgba(37,99,235,.09);
  --clr-indigo-20:rgba(37,99,235,.15);
  --clr-indigo-30:rgba(37,99,235,.23);
  --clr-indigo-40:rgba(37,99,235,.34);
  --clr-indigo-50:rgba(37,99,235,.46);
  --clr-overlay-50:rgba(22,48,78,.25);
  --clr-overlay-80:rgba(22,48,78,.48);
  --clr-success:#047857;
  --clr-warning:#b45309;
  --clr-danger:#dc2626;
  --clr-danger-light:#b91c1c;
  --clr-teal:#0f766e;
  --clr-teal-20:rgba(15,118,110,.13);
  --light-surface:#fff;
  --light-surface-soft:#f5f8fc;
  --light-surface-blue:#e8f1fe;
  --light-page:#f1f5fa;
  --light-brand:#2f7ff2;
  --light-brand-deep:#1f68d5;
  --light-brand-dark:#1454b5;
  --light-ink:#0f2744;
  --light-muted:#536b84;
  --light-faint:#71869d;
  --light-line:#d8e3f0;
  --light-shadow:0 1px 2px rgba(15,39,68,.04),0 8px 24px rgba(15,39,68,.08);
}
html[data-theme="light"],
html[data-theme="light"] body{
  background:var(--light-page);color:var(--light-ink);
}
html[data-theme="light"] body{
  background:
    radial-gradient(900px 440px at 8% -8%,rgba(47,127,242,.10),transparent 62%),
    linear-gradient(180deg,#f8fbff 0%,var(--light-page) 100%);
}
html[data-theme="light"] ::selection{background:rgba(37,99,235,.2);color:#0b2540;}
html[data-theme="light"] :is(input,textarea,select){color-scheme:light;}

/* ── Entrada: mesma composição, materiais claros ────────────────────── */
html[data-theme="light"] #auth-screen{
  background:linear-gradient(135deg,#eff8ff 0%,#fbfdff 48%,#e8f4ff 100%);
}
html[data-theme="light"] .auth-left{
  background:rgba(234,246,255,.88);border-color:rgba(37,99,235,.12);
}
html[data-theme="light"] .auth-left::before{
  background:radial-gradient(ellipse 60% 50% at 15% 25%,rgba(37,99,235,.13),transparent 60%),radial-gradient(ellipse 50% 40% at 85% 75%,rgba(14,165,233,.11),transparent 60%);
}
html[data-theme="light"] .auth-right::before{background:radial-gradient(circle,rgba(14,165,233,.11),transparent 70%);}
html[data-theme="light"] :is(.auth-brand-sub,.feat-desc,.auth-welcome-desc,.auth-stat-txt,.auth-switch,.a-hint){color:var(--light-muted);}
html[data-theme="light"] .auth-welcome-eyebrow{color:#1d5fbd;}
html[data-theme="light"] .auth-welcome-heading .hl{background:linear-gradient(135deg,#0284c7,#2563eb,#1d4ed8);-webkit-background-clip:text;background-clip:text;}
html[data-theme="light"] .auth-card{
  background:rgba(255,255,255,.84);border-color:rgba(32,91,145,.16);
  box-shadow:0 24px 70px rgba(35,78,118,.16),inset 0 1px rgba(255,255,255,.85);
}
html[data-theme="light"] .auth-tabs{background:#edf6ff;border-color:var(--light-line);}
html[data-theme="light"] .auth-tab{color:var(--light-muted);}
html[data-theme="light"] .auth-tab.active{background:#fff;color:var(--light-ink);box-shadow:0 2px 8px rgba(35,78,118,.12);}
html[data-theme="light"] :is(.a-lbl,.crm-modal-lbl){color:#536c86;}
html[data-theme="light"] :is(.a-inp,.crm-modal-inp,.m-inp){
  background:#f8fbff;border-color:var(--light-line);color:var(--light-ink);-webkit-text-fill-color:var(--light-ink);
}
html[data-theme="light"] :is(.a-inp,.crm-modal-inp,.m-inp)::placeholder{color:#8ba0b4;-webkit-text-fill-color:#8ba0b4;}

/* ── Barra: branca, flutuante e leve — não uma faixa preta invertida ─── */
html[data-theme="light"] #toolbar{
  background:rgba(255,255,255,.92);border-color:rgba(32,91,145,.15);
  box-shadow:0 5px 20px rgba(35,78,118,.085);backdrop-filter:blur(16px) saturate(130%);
}
html[data-theme="light"] .t-sep{background:rgba(32,91,145,.15);}
html[data-theme="light"] .t-pill{
  background:#f1f7fd;border-color:var(--light-line);color:#4e6882;
}
html[data-theme="light"] .t-count{color:#6f859b;}
html[data-theme="light"] .t-btn{
  background:#f7fbff;border-color:rgba(32,91,145,.15);color:#48647f;
  box-shadow:0 1px 2px rgba(35,78,118,.035);
}
html[data-theme="light"] .t-btn:hover{
  background:#eaf4ff;border-color:rgba(37,99,235,.25);color:#16395f;
}
html[data-theme="light"] .t-btn.primary{
  background:linear-gradient(180deg,#e8f2ff,#dcecff);border-color:rgba(37,99,235,.25);color:#1d55aa;
}
html[data-theme="light"] .t-btn.primary:hover{background:#dcecff;color:#153f82;}
html[data-theme="light"] #btn-atalhos.aberto{background:#e5f1ff;border-color:rgba(37,99,235,.28);color:#1d55aa;}
html[data-theme="light"] .t-kbd{background:#fff;border-color:rgba(32,91,145,.18);color:#66809a;}

/* Gavetas e menus ficam um degrau acima da página, não voltam ao preto. */
html[data-theme="light"] :is(.atalhos-pop,#pw-panel,#wp-panel,#sort-panel,.status-menu-pop,.n-status-menu,.cal-add-menu,.cdash-menu){
  background:rgba(255,255,255,.97);border-color:var(--light-line);color:var(--light-ink);
  box-shadow:var(--light-shadow);backdrop-filter:blur(18px) saturate(125%);
}
html[data-theme="light"] .atalhos-pop{
  background:radial-gradient(260px 150px at 8% 0%,rgba(56,189,248,.1),transparent 70%),rgba(255,255,255,.98);
}
html[data-theme="light"] .atalhos-pop .atalhos-linha:hover{background:#f1f7fd;}
html[data-theme="light"] .atalhos-pop .atalhos-rot{color:#587089;}
html[data-theme="light"] .atalhos-pop .atalhos-linha .t-btn{
  background:#eef5fb;border-color:rgba(32,91,145,.15);color:#405f7d;
}
html[data-theme="light"] .atalhos-pop .atalhos-linha .t-btn:hover{background:#e1effc;color:#173b60;}
html[data-theme="light"] .atalhos-pop .atalhos-linha .t-btn[aria-pressed="true"]{
  background:#dcecff;border-color:rgba(37,99,235,.3);color:#1d55aa;
}
html[data-theme="light"] .atalhos-sep{background:rgba(32,91,145,.11);}
html[data-theme="light"] :is(.gav-cab,.dnd-cab,.gav-escopo,.dnd-estado,.barra-dica){color:#647c94;}
html[data-theme="light"] :is(.gav-cab,.dnd-cab)::after{background:linear-gradient(90deg,rgba(32,91,145,.18),transparent);}
html[data-theme="light"] :is(.dnd-btn,.barra-restaurar){background:#f3f8fd;border-color:var(--light-line);color:#4d6882;}
html[data-theme="light"] :is(.dnd-btn,.barra-restaurar):hover{background:#e6f1fc;color:#183d63;}

html[data-theme="light"] .tema-segmentado{background:#eaf2f9;border-color:rgba(32,91,145,.14);}
html[data-theme="light"] .tema-opcao{color:#647c94;}
html[data-theme="light"] .tema-opcao:hover{background:rgba(255,255,255,.7);color:#294d70;}
html[data-theme="light"] .tema-opcao.ativo{
  background:#fff;color:#1d55aa;box-shadow:0 2px 8px rgba(35,78,118,.13),inset 0 0 0 1px rgba(37,99,235,.12);
}

html[data-theme="light"] :is(.pw-header,.pw-item-name,.wp-title,.sort-panel-title,.status-menu-pop,.n-status-opt){color:var(--light-ink);}
html[data-theme="light"] :is(.pw-header span,.pw-leave-btn,.wp-section,.sort-section-lbl){color:var(--light-muted);}
html[data-theme="light"] :is(.pw-item:hover,.n-status-opt:hover){background:#edf6ff;}
html[data-theme="light"] .pw-item.active{background:#e7f1ff;border-color:rgba(37,99,235,.22);}
html[data-theme="light"] :is(.pw-add-inp,.sort-chip){background:#f6faff;border-color:var(--light-line);color:#3e5d7b;}
html[data-theme="light"] #wp-panel::-webkit-scrollbar-track{background:#eef5fb;}
html[data-theme="light"] #wp-panel::-webkit-scrollbar-thumb{background:#b7c9d9;border-color:#fff;}
html[data-theme="light"] #wp-panel{scrollbar-color:#b7c9d9 #eef5fb;}
html[data-theme="light"] #wp-panel .wp-title{background:#fff;color:var(--light-ink);}
html[data-theme="light"] :is(.wp-upload-btn,.wp-reset){background:#f4f9fe;border-color:var(--light-line);color:#4c6984;}
html[data-theme="light"] .i18n-trigger{
  background:#f5f9fd;border-color:var(--light-line);color:#45647f;
  box-shadow:0 3px 12px rgba(35,78,118,.09),inset 0 1px rgba(255,255,255,.9);
}
html[data-theme="light"] :is(.i18n-trigger:hover,.i18n-selector.is-open .i18n-trigger){
  background:#e5f1ff;border-color:rgba(37,99,235,.28);color:#1d55aa;
}
html[data-theme="light"] .i18n-menu{
  background:rgba(255,255,255,.98);border-color:var(--light-line);box-shadow:var(--light-shadow);
}
html[data-theme="light"] .i18n-menu button{color:#526e88;}
html[data-theme="light"] :is(.i18n-menu button:hover,.i18n-menu button:focus-visible){background:#edf5fc;color:#173b5d;}
html[data-theme="light"] .i18n-menu button.is-active{background:#e3efff;color:#1d55aa;}
html[data-theme="light"] .i18n-option-check{color:#2563eb;}
html[data-theme="light"] :is(.gav-grupo,.gav-linha,.gav-nota){color:#496781;}
html[data-theme="light"] .gav-ico{color:#385f82;}
html[data-theme="light"] .gav-grupo{background:#f4f9fd;border-color:var(--light-line);}
html[data-theme="light"] .gav-nota{background:#f6faff;color:#496781;}
html[data-theme="light"] .gav-nota:hover{background:#e7f2fb;color:#173b5d;}
html[data-theme="light"] .dnd-botoes{background:#e8f0f7;border-color:rgba(32,91,145,.14);}
html[data-theme="light"] .atalhos-pop .dnd-btn{color:#46647f;}
html[data-theme="light"] .atalhos-pop .dnd-btn:hover{background:#fff;color:#173b5d;}

/* ── Quadro e notas ────────────────────────────────────────────────────
   O tema muda a mesa e as janelas, nunca a paleta escolhida da nota.
   Fundo, borda e contraste do cartão continuam vindo de main.css/kanban.css
   e das variáveis gravadas no próprio item. */
html[data-theme="light"] #board-dots{
  background-image:radial-gradient(circle at 1px 1px,rgba(30,104,166,.12) 1px,transparent 0);
}
html[data-theme="light"] .ei-box{border-color:rgba(30,104,166,.35);background:rgba(255,255,255,.45);}
html[data-theme="light"] #empty-hint{opacity:.36;}

/* ── TEMA CLARO COM PAPEL DE PAREDE ESCURO ────────────────────────
   O tema pinta a mesa; o papel de parede pinta o quadro. São escolhas
   independentes, e a combinação "tema claro + gradiente preto" deixava o
   texto do quadro com a tinta escura do tema, invisível sobre o próprio
   quadro. `wp-escuro` é posta na raiz por `_applyWpVisual` (app.js).

   Vale só para o que fica DIRETO sobre o papel de parede. Notas, colunas e
   painéis têm superfície própria e não entram aqui. */
html[data-theme="light"].wp-escuro #empty-hint{opacity:.62;}
html[data-theme="light"].wp-escuro .ei-txt{
  color:rgba(255,255,255,.95);text-shadow:0 1px 3px rgba(0,0,0,.55);
}
html[data-theme="light"].wp-escuro .ei-box{
  border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.12);color:#fff;
}
html[data-theme="light"].wp-escuro #board-dots{
  background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.05) 1px,transparent 0);
}
html[data-theme="light"] :is(.note-collab-pop,.n-color-pop,.n-mais-pop,.stack-color-pop){
  background:#fff!important;border-color:var(--light-line)!important;color:var(--light-ink)!important;box-shadow:var(--light-shadow)!important;
}
html[data-theme="light"] :is(.note-collab-pop-title,.note-collab-pop-person b){color:var(--light-ink);}
html[data-theme="light"] .note-collab-pop-person{background:#f3f8fd;}
html[data-theme="light"] .note-collab-pop-empty{color:var(--light-muted);}
html[data-theme="light"] :is(.board-lane,.stack-wrap){
  background:rgba(255,255,255,.83);border-color:var(--light-line);box-shadow:0 9px 28px rgba(35,78,118,.11);
}
html[data-theme="light"] :is(.lane-header,.stack-header){background:#f2f8fd;border-color:var(--light-line);}
html[data-theme="light"] :is(.lane-count,.stack-header-count){background:#e4eef7;color:#58718a;}
html[data-theme="light"] :is(.lane-menu-btn,.stack-toggle-btn,.stack-card-row-expand,.stack-card-row-unstack){color:#617b94;border-color:var(--light-line);}
html[data-theme="light"] :is(.lane-add-btn,.lane-add-col,.stack-vazia){color:#69839b;border-color:rgba(32,91,145,.22);}

/* ── Janelas e formulários do app ───────────────────────────────────── */
html[data-theme="light"] :is(.modal-bg,.confirm-clear-pop,.kb-modal-bg){background:rgba(35,69,103,.32);}
html[data-theme="light"] :is(.modal,.confirm-clear-card){
  background:#fff;border-color:var(--light-line);color:var(--light-ink);box-shadow:0 26px 80px rgba(25,59,91,.22);
}
html[data-theme="light"] :is(.m-h1,.m-sub,.note-type-title){color:var(--light-ink);}
html[data-theme="light"] :is(.m-lbl,.note-type-desc,.confirm-clear-desc,.confirm-clear-alt-txt){color:var(--light-muted);}
/* BRANCO EM BRANCO NÃO É TEMA CLARO. A janela era branca, os cartões eram
   quase brancos e as bordas quase invisíveis: a tela virava uma folha lisa
   onde as opções não tinham corpo. A identidade do MyDesk no claro é AZUL
   CLARO E BRANCO — é o que a barra faz —, e é o que a janela passa a fazer:
   a folha continua branca, e o que se escolhe ganha superfície azul com
   borda azul. O cartão sob o ponteiro clareia em vez de escurecer, que é
   como o azul-claro se comporta. */
html[data-theme="light"] .note-type-card{
  background:#eaf3fe;border-color:#cfe0f7;box-shadow:inset 0 1px #fff;
}
html[data-theme="light"] .note-type-card:hover{
  background:#dfeafd;border-color:#a9caf1;box-shadow:0 10px 26px rgba(20,70,140,.14);
}
html[data-theme="light"] .note-type-icon{background:#fff;border-color:#cfe0f7;color:#1d5fd0;}
html[data-theme="light"] .note-type-desc{color:#5b7590;}
html[data-theme="light"] .note-type-badge{background:#fff;border:1px solid #cfe0f7;color:#1d5fd0;}

/* O cabeçalho da janela ganha a mesma faixa azul-clara dos painéis: é ela que
   diz "isto é uma tela do MyDesk" antes de qualquer texto ser lido. */
html[data-theme="light"] .modal .m-h1{
  color:#12263f;
}
html[data-theme="light"] #modal-type-picker{
  background:linear-gradient(180deg,#eef6ff 0%,#fff 84px);
  margin:-28px -30px 0;padding:26px 30px 0;border-radius:16px 16px 0 0;
}
html[data-theme="light"] :is(.m-inp,.m-area,.m-select){background:#f7fbff!important;border-color:var(--light-line)!important;color:var(--light-ink)!important;}
html[data-theme="light"] :is(.m-inp,.m-area,.m-select)::placeholder{color:#8ba0b4!important;}
html[data-theme="light"] :is(.confirm-clear-cancel,.m-back-btn){background:#f2f7fc;border-color:var(--light-line);color:#496781;}

/* O BOTÃO SECUNDÁRIO DE TODA JANELA, e o ✕ que a fecha. Os dois nascem com
   texto rgba(240,240,240,.5) — um cinza pensado para fundo preto. No claro
   viram duas quase-brancas uma sobre a outra: no filtro de Clientes, "Limpar
   filtros" aparecia como um retângulo vazio ao lado do "Aplicar" azul, e o ✕
   do cabeçalho simplesmente não estava lá.

   A regra existia, mas só dentro do formulário de reuniões (mais abaixo).
   `.m-cancel` é o botão de recusa de TODAS as janelas do app — corrigir num
   formulário só deixava o mesmo defeito em todos os outros. */
html[data-theme="light"] .m-cancel{background:#eef4fa;color:#3f6079;}
html[data-theme="light"] .m-cancel:hover{background:#e0eaf5;color:var(--light-ink);}
html[data-theme="light"] .cli-fechar{background:#f1f6fb;color:#4a6b86;}
html[data-theme="light"] .cli-fechar:hover{background:#e3edf7;color:var(--light-ink);}

/* ── Anexos: a janela é parte do fluxo da nota, não uma tela escura solta ─ */
html[data-theme="light"] .fv-backdrop{background:rgba(35,69,103,.28);}
html[data-theme="light"] .f-viewer{
  background:#fff;border-color:var(--light-line)!important;
  box-shadow:0 30px 90px rgba(25,59,91,.24)!important;color:var(--light-ink);
}
/* A barra da janela usa o azul de superfície, e não mais um quarto branco: é
   ela que separa a moldura do conteúdo quando o documento também é branco. */
html[data-theme="light"] .fv-header{background:#d8e7fb;border-color:#bcd4ee;}
html[data-theme="light"] .fv-name{color:var(--light-ink);}
html[data-theme="light"] .fv-type{background:var(--light-brand-deep);color:#fff;font-weight:600;}
html[data-theme="light"] :is(.fv-close,.fv-expandir){color:#607991;}
html[data-theme="light"] :is(.fv-close,.fv-expandir):hover{background:#e7f1f9;color:#173b5d;}
html[data-theme="light"] .fv-zoom-bar{border-color:var(--light-line);}
html[data-theme="light"] .fv-zoom-btn{background:#edf4fa;border-color:var(--light-line);color:#46647f;}
html[data-theme="light"] .fv-zoom-btn:hover{background:#dfeefa;border-color:rgba(37,99,235,.25);color:#173b5d;}
html[data-theme="light"] :is(.fv-zoom-val,.fv-zoom-reset){color:#607991;}
html[data-theme="light"] .fv-text{background:#f7fbff;border-color:var(--light-line);color:#294b69;}
html[data-theme="light"] .fv-unsupported{color:#607991;}
html[data-theme="light"] .fv-dl-btn{background:#e4efff;border-color:rgba(37,99,235,.25);color:#1d55aa;}
html[data-theme="light"] .fv-dl-btn:hover{background:#d7e8ff;}
html[data-theme="light"] :is(.f-item,.chat-file-bubble){background:#f5f9fd;border-color:var(--light-line);color:#46647f;}
html[data-theme="light"] .f-link:hover .f-name{color:#173b5d;}
html[data-theme="light"] :is(.f-eye,.f-del){color:#698198;}
html[data-theme="light"] .f-drop{border-color:rgba(32,91,145,.25);color:#607991;}
html[data-theme="light"] .f-drop:hover{background:#edf5fb;border-color:rgba(37,99,235,.3);color:#244967;}
/* ═══════════════════════════════════════════════════════════════
   A PLANILHA NO TEMA CLARO — AZUL E BRANCO, NÃO BRANCO E BRANCO
   ═══════════════════════════════════════════════════════════════
   Estas regras existiam, mas com azuis inventados e tão desbotados que a tela
   lia como um bloco branco só: cabeçalho #eaf2f9, faixa alternada #f7fbff,
   barra de abas #edf4fa. Três brancos diferentes não são uma paleta.

   A família da cor vem do `CORES.md`, que é o documento que manda: o azul do
   produto no que é estrutura, branco no que é conteúdo, e nada de cinza neutro.

   E o índigo saiu. A aba escolhida herdava do tema escuro um
   `box-shadow: inset 0 2px 0 var(--clr-indigo)` — roxo de biblioteca dentro de
   uma identidade azul, que o CORES.md proíbe pelo nome.

   A PRIMEIRA VERSÃO DISTO AINDA ERA PASTEL. Trocar valor solto por token
   acertou a família da cor, mas manteve a força: cabeçalho num tom a 1.14 do
   branco, mesa a 1.09, faixa alternada a 1.07. No papel era azul; na tela era
   branco com sotaque. Agora o cabeçalho de colunas é AZUL CHEIO com letra
   branca, e as superfícies se separam do branco da célula: mesa a 1.27, borda
   a 1.52, coluna de números a 1.32.

   Medidas de texto, cada uma sobre o fundo que pisa: letra de coluna 5.25:1,
   número de linha 5.37:1, aba escolhida 7.08:1, aba em repouso 5.61:1, rodapé
   5.75:1, texto de célula 15.06:1 no branco e 13.62:1 na faixa. */
/* O VAZIO AO REDOR DA TABELA É A MESA, NÃO A FOLHA. Planilha estreita deixava
   metade da janela em branco puro, colado às células brancas, e a tabela
   parecia continuar até a borda. A área rolável ganhou um azul firme o bastante
   para se ver sem seleção; branco só dentro da célula. */
html[data-theme="light"] .fv-xl-rolo{background:#d9e6f4;scrollbar-color:#7ba3d0 #cfe0f2;}
html[data-theme="light"] .fv-xl-tab{color:var(--light-ink);}
html[data-theme="light"] .fv-xl-tab th,
html[data-theme="light"] .fv-xl-tab td{border-color:#bcd4ee;}
html[data-theme="light"] .fv-xl-tab td{background:var(--light-surface);}
html[data-theme="light"] .fv-xl-tab thead th{background:var(--light-brand-deep);color:#fff;
  border-color:#1a5cc0;}
html[data-theme="light"] .fv-xl-num{background:#cfe2fb;color:var(--light-brand-dark);font-weight:600;}
html[data-theme="light"] .fv-xl-canto{background:var(--light-brand-dark);}
html[data-theme="light"] .fv-xl-tab tbody tr:nth-child(even) td{background:#eef4fc;}
html[data-theme="light"] .fv-xl-tab tbody tr:hover td{background:#d7e8fb;}
html[data-theme="light"] .fv-xl-abas{background:#d9e6f4;border-color:#bcd4ee;}
html[data-theme="light"] .fv-xl-rodape{background:#dbe9fb;border-color:#bcd4ee;color:var(--light-brand-dark);}
html[data-theme="light"] .fv-xl-aba{color:#3d5a7d;}
html[data-theme="light"] .fv-xl-aba:hover{background:#e7f0fb;color:var(--light-brand-dark);}
/* A aba escolhida é a folha vindo para a frente: mesmo branco da célula, com o
   traço do produto por cima. */
html[data-theme="light"] .fv-xl-aba.ativa{background:var(--light-surface);color:var(--light-brand-dark);
  box-shadow:inset 0 3px 0 var(--light-brand-deep);}

/* ── Quadro em listas ───────────────────────────────────────────────── */
html[data-theme="light"] #kanban{color:var(--light-ink);}
html[data-theme="light"] .kb-ajuda{background:rgba(255,255,255,.72);border-color:rgba(32,91,145,.2);color:#607b94;}
html[data-theme="light"] .kb-seta{background:rgba(255,255,255,.88);border-color:var(--light-line);color:#4d6982;}
html[data-theme="light"] .kb-modal{background:#fff;border-color:var(--light-line);box-shadow:0 28px 80px rgba(25,59,91,.24);}
html[data-theme="light"] .kb-modal-detalhe{background:#fff;}
html[data-theme="light"] .kb-modal-cabecalho{background:#f5f9fd;border-color:var(--light-line);}
html[data-theme="light"] .kb-modal-lista-select{background:#fff;border-color:var(--light-line);color:#264866;color-scheme:light;}
html[data-theme="light"] :is(.kb-modal-icon-btn,.kb-modal-detalhe .kb-modal-fechar){color:#5c7690;}
html[data-theme="light"] :is(.kb-modal-icon-btn,.kb-modal-detalhe .kb-modal-fechar):hover{background:#e8f2fc;color:#163a5e;}
html[data-theme="light"] .kb-modal-principal{background:#fff;}
html[data-theme="light"] .kb-modal-lateral{background:#f3f8fd;border-color:var(--light-line);}
html[data-theme="light"] .kb-modal-detalhe .n-title{color:#132d48!important;-webkit-text-fill-color:#132d48!important;}
html[data-theme="light"] .kb-modal-acao{background:#edf4fa;border-color:var(--light-line);color:#405f7b;}
html[data-theme="light"] .kb-modal-acao:hover{background:#dfeefa;color:#173653;}
html[data-theme="light"] .kb-modal-acao-ico{color:#53708a;}
html[data-theme="light"] .kb-modal-etiquetas-pop{background:#fff;border-color:var(--light-line);}
html[data-theme="light"] :is(.kb-modal-secao-titulo h3,.kb-modal-arquivos-cab h3,.kb-modal-lateral-cab h3,.kb-modal-tit){color:#173653;}
html[data-theme="light"] .kb-modal-secao-ico{color:#58718a;}
html[data-theme="light"] .kb-modal-detalhe .n-text{
  background:#f8fbff;color:#3f5e7a;-webkit-text-fill-color:#3f5e7a;border-color:rgba(32,91,145,.22);
}
html[data-theme="light"] :is(.kb-modal-detalhe .kb-modal-checklist,.kb-modal-arquivos,.kb-atividade-lista){border-color:var(--light-line);}
html[data-theme="light"] .kb-modal-arquivos-qtd{background:#e6eef6;color:#5b7389;}
html[data-theme="light"] :is(.kb-modal-detalhe .f-item,.kb-modal-lateral .n-coment-item){background:#fff;border:1px solid rgba(32,91,145,.1);}
html[data-theme="light"] .kb-modal-lateral .n-coment-inp{background:#fff;color:#294b6b;-webkit-text-fill-color:#294b6b;border-color:var(--light-line);}
html[data-theme="light"] .kb-modal-detalhes{background:#e5eef6;border-color:var(--light-line);color:#46647e;}
html[data-theme="light"] .kb-modal-detalhes:hover{background:#d9e8f5;color:#173653;}
html[data-theme="light"] .kb-atividade-texto p{color:#405e78;}
html[data-theme="light"] :is(.kb-atividade-texto time,.kb-etq-rot,.kb-etq-vazio){color:#51729a;}
html[data-theme="light"] :is(.kb-acoes-pop,.kb-capa-pop,.kb-filtro){background:#fff;border-color:var(--light-line);color:var(--light-ink);box-shadow:var(--light-shadow);}
html[data-theme="light"] :is(.kb-acoes-item,.kb-acoes-tit,.kb-capa-tit,.kb-regra-txt){color:#294b69;}
html[data-theme="light"] :is(.kb-acoes-item,.kb-acoes-x):hover{background:#edf5fc;color:#173653;}
html[data-theme="light"] :is(.kb-acoes-sep,.kb-filtro-sep){background:var(--light-line);}
html[data-theme="light"] :is(.kb-acoes-select,.kb-acoes-input,.kb-modal-etapa-sel,.kb-etq-nome){background:#f7fbff;border-color:var(--light-line);color:#294b69;color-scheme:light;}
/* O botão da capa herdava tinta quase branca do Kanban escuro sobre este
   pop-up branco. Superfície, borda e texto precisam mudar juntos. */
html[data-theme="light"] .kb-capa-pop .kb-btn{
  background:#e8f3fc;border-color:#b9d2e7;color:#214f75;
}
html[data-theme="light"] .kb-capa-pop .kb-btn:hover{
  background:#d8ecfb;border-color:#8ebce0;color:#123b60;
}
html[data-theme="light"] .kb-capa-pop .kb-btn:focus-visible{
  outline:2px solid #268bd2;outline-offset:2px;
}
/* Editor de etiquetas: os controles abaixo também nascem com a paleta escura
   do Kanban. No modal branco isso apagava engrenagem, fechar, lixeiras e CTA. */
html[data-theme="light"] .kb-etq-editar{
  background:#e8f3fc;border:1px solid #b9d2e7;color:#214f75;
}
html[data-theme="light"] .kb-etq-editar:hover{
  background:#d8ecfb;border-color:#8ebce0;color:#123b60;
}
html[data-theme="light"] .kb-modal-peq .kb-modal-fechar{
  background:#edf4fa;color:#526f89;
}
html[data-theme="light"] .kb-modal-peq .kb-modal-fechar:hover{
  background:#dfeefa;color:#173653;
}
html[data-theme="light"] .kb-etq-apagar{
  background:#fff3f2;border:1px solid #efc8c4;color:#bd3d35;
}
html[data-theme="light"] .kb-etq-apagar:hover{
  background:#ffe2df;border-color:#e7a49d;color:#9f2821;
}
html[data-theme="light"] .kb-etq-lista>.kb-btn{
  background:#e8f3fc;border-color:#b9d2e7;color:#214f75;
}
html[data-theme="light"] .kb-etq-lista>.kb-btn:hover{
  background:#d8ecfb;border-color:#8ebce0;color:#123b60;
}
html[data-theme="light"] .kbf-painel{
  background:rgba(255,255,255,.98);border-color:var(--light-line);box-shadow:var(--light-shadow);color:var(--light-ink);
}
html[data-theme="light"] .kbf-cab{border-color:var(--light-line);}
html[data-theme="light"] .kbf-tit{color:#173653;}
html[data-theme="light"] .kbf-x{color:#607991;}
html[data-theme="light"] .kbf-x:hover{background:#e8f2fa;color:#173b5d;}
html[data-theme="light"] .kbf-sec{color:#607991;}
html[data-theme="light"] .kbf-op{color:#294b69;}
html[data-theme="light"] .kbf-op:hover{background:#eef6fc;}
html[data-theme="light"] .kbf-op input[type="checkbox"]{border-color:rgba(32,91,145,.38);background:#fff;}
html[data-theme="light"] .kbf-busca{background:#f7fbff;border-color:var(--light-line);color:#294b69;}
html[data-theme="light"] .kbf-busca::placeholder{color:#8499ac;}
html[data-theme="light"] .kbf-ajuda{color:#6d8398;}
html[data-theme="light"] .kbf-pe{border-color:var(--light-line);}
html[data-theme="light"] :is(.kbf-modo,.kbf-limpar){background:#f0f6fb;border-color:var(--light-line);color:#3f5f7b;color-scheme:light;}
html[data-theme="light"] :is(.kbf-modo,.kbf-limpar):hover{background:#e2eef8;}
html[data-theme="light"] .kbf-contagem{color:#607991;}
html[data-theme="light"] :is(.kb-modal-etapa-rot,.kb-atividade-vazia){color:#607991;}
html[data-theme="light"] .kb-modal-etapa-sel{background:#f7fbff;border-color:var(--light-line);color:#294b69;color-scheme:light;}
html[data-theme="light"] .kb-modal-detalhe :is(.f-drop,.f-item){color:#536f88;border-color:var(--light-line);}
html[data-theme="light"] .kb-modal-detalhe .f-drop:hover{background:#edf5fb;color:#244967;}

/* ── Clientes: branco no corpo, azul-claro na faixa, teal só nos sinais ─
   AS VARIÁVEIS FICAM NA RAIZ, e não em `#cli-view`. Elas moravam lá dentro,
   e por isso os modais dos segmentos nasciam sem elas: o modal é anexado ao
   `body`, fora da tela de clientes, e caía nos valores de emergência escritos
   como fallback em cada `var()` — que são os do tema escuro. O formulário de
   Matrícula abria todo branco, sem uma linha de azul, e a única pista era que
   nenhuma cor da tela de clientes chegava nele. */
/* AS VARIÁVEIS FICAM EM `#cli-view`, e é obrigatório. Eu as tinha subido
   para a raiz achando que assim alcançariam os modais — e o efeito foi o
   painel de clientes INTEIRO ficar preto: o tema escuro declara
   `#cli-view{--cli-fundo:#060809}`, um seletor com id, que ganha de qualquer
   coisa declarada em `html` para tudo que está dentro do painel. Subir a
   definição foi entregá-la ao tema errado.

   Os modais, que nascem no `body` e por isso não herdam daqui, recebem os
   mesmos valores no bloco separado logo abaixo. Duas declarações, e não uma
   no lugar errado. */
html[data-theme="light"] #cli-view{
  --cli-teal:#087f8c;--cli-teal-forte:#0891b2;--cli-verde:#047857;
  --cli-fundo:#eef7ff;--cli-cartao:#fff;--cli-tabela:#fff;
  --cli-sub:#56718a;--cli-borda:#d8e3f0;--cli-danger:#c2334a;
  color:var(--light-ink);
}
/* Só o que nasce fora do painel: os modais de segmento, anexados ao `body`. */
html[data-theme="light"] :is(.cli-seg-bg,.cli-seg-modal,.modal-bg){
  --cli-teal:#087f8c;--cli-teal-forte:#0891b2;--cli-verde:#047857;
  --cli-fundo:#eef7ff;--cli-cartao:#fff;--cli-tabela:#fff;
  --cli-sub:#56718a;--cli-borda:#d8e3f0;--cli-danger:#c2334a;
}
html[data-theme="light"] #crm-view.cli-modelo{background:#eef7ff;}
html[data-theme="light"] .cli-faixa{
  background:radial-gradient(900px 380px at 14% 0%,rgba(20,184,166,.11),transparent 58%),radial-gradient(760px 320px at 82% -10%,rgba(14,165,233,.12),transparent 60%),linear-gradient(180deg,#e6f8fb 0%,#edf8ff 62%,#eef7ff 100%);
  border-color:rgba(32,91,145,.11);
}
html[data-theme="light"] .cli-sub{color:#56718a;}
html[data-theme="light"] .cli-busca{background:rgba(255,255,255,.72);border-color:var(--light-line);}
html[data-theme="light"] .cli-busca svg{color:#6a8399;}
html[data-theme="light"] .cli-busca-inp::placeholder{color:#8297aa;}
html[data-theme="light"] .cli-btn{background:#fff;border-color:var(--light-line);color:#3f607c;box-shadow:0 1px 3px rgba(35,78,118,.04);}
html[data-theme="light"] .cli-btn:hover{background:#e8f3fc;border-color:rgba(8,127,140,.28);color:#163d5f;}
html[data-theme="light"] .cli-btn-forte{color:#fff;background:linear-gradient(135deg,#0891b2,#059669);box-shadow:0 5px 14px rgba(8,145,178,.16);}
html[data-theme="light"] .cli-btn-forte:hover{color:#fff;}
html[data-theme="light"] .cli-kpi{
  background:linear-gradient(160deg,#fff,#f3f9ff);border-color:var(--light-line);box-shadow:0 7px 20px rgba(35,78,118,.09);
}
html[data-theme="light"] .cli-kpi:hover{background:#fff;border-color:rgba(32,91,145,.24);}
html[data-theme="light"] :is(.cli-kpi-rot,.cli-kpi-sub){color:#59728a;}
html[data-theme="light"] .cli-kpi-num{color:#132d48;}
html[data-theme="light"] .cli-kpi-de{color:#607991;}
html[data-theme="light"] .cli-painel{background:#fff;border-color:var(--light-line);box-shadow:0 9px 26px rgba(35,78,118,.08);}
html[data-theme="light"] .cli-tabela th{color:#607991;border-color:var(--light-line);}
html[data-theme="light"] .cli-tabela td{color:#365571;border-color:rgba(32,91,145,.1);}
html[data-theme="light"] .cli-linha:hover{background:#f0f9fb;}
html[data-theme="light"] .cli-linha:hover .cli-acoes-btn{background:#e4f0f8;}
html[data-theme="light"] .cli-chk{border-color:rgba(32,91,145,.35);background:#fff;}
html[data-theme="light"] .cli-nome-sub{color:#607a92;}
html[data-theme="light"] .cli-vazio{color:#8ba0b2;}
html[data-theme="light"] .cli-data-sub{color:#71879b;}
html[data-theme="light"] .cli-resp{color:#496781;}
html[data-theme="light"] .cli-chip{background:#edf3f8;color:#3d5c77;}
html[data-theme="light"] .cli-chip-seg{background:#def5f7;color:#0e6974;}
html[data-theme="light"] .cli-chip-tipo{background:#eee9ff;color:#6941b3;}
html[data-theme="light"] .cli-chip-mais{background:#f3f7fa;color:#70869a;}
html[data-theme="light"] .cli-acoes-btn{color:#617b92;}
html[data-theme="light"] .cli-acoes-btn:hover{background:#e8f2f9;color:#173c5e;}
html[data-theme="light"] :is(.cli-rodape-txt,.crm-rodape-txt,.cli-porpag-rot,.cli-vazio-txt,.cli-lado-vazio,.cli-resumo-rot,.cli-acao-tipo){color:#607991;}
html[data-theme="light"] :is(.cli-pag-btn,.crm-pag-btn,.cli-porpag){background:#fff;border-color:var(--light-line);color:#4d6a84;}
html[data-theme="light"] :is(.cli-pag-btn,.crm-pag-btn):hover:not(:disabled){background:#e9f3fb;color:#173b5d;}
html[data-theme="light"] .cli-acao:hover{background:#f0f6fb;}
html[data-theme="light"] .cli-acao-cli{color:#496781;}
html[data-theme="light"] .cli-acao-quando{color:#71879b;}
html[data-theme="light"] .cli-acao.atrasada .cli-acao-quando{color:#c24141;}
html[data-theme="light"] .cli-carteira-help{color:#607991;}
html[data-theme="light"] .cli-foco,
html[data-theme="light"] .cli-det-kpi,
html[data-theme="light"] .cli-acomp{background:rgba(255,255,255,.9);border-color:var(--light-line);box-shadow:0 8px 24px rgba(35,78,118,.08);}
html[data-theme="light"] :is(.cli-foco-desc,.cli-foco-dado,.cli-det-kpi .cli-kpi-rot,.cli-acomp-hora,.cli-acomp-nome,.cli-foco-desde){color:#58718a;}
html[data-theme="light"] .cli-fav-btn{color:#7890a5;}
html[data-theme="light"] .cli-rapida{background:#f6faff;border-color:var(--light-line);color:#4d6983;}
html[data-theme="light"] .cli-acomp-item:hover{background:#f6faff;}
html[data-theme="light"] :is(.cli-acomp-mes,.cli-acomp-ano,.cli-acomp-cli,.cli-aba,.cli-pilula,.cli-tempo-quando,.cli-tempo-autor,.cli-dado-rot){color:#607991;}
html[data-theme="light"] .cli-aba:hover{color:#234b70;}
html[data-theme="light"] .cli-pilula:hover{border-color:rgba(32,91,145,.28);}
html[data-theme="light"] :is(.cli-tempo-corpo,.cli-obs,.cli-check-linha,.cli-acoes-resumo){color:#48657f;}
html[data-theme="light"] :is(.cli-ativ:hover,.cli-doc:hover){background:#f3f8fc;}
html[data-theme="light"] :is(.cli-ativ-sub,.cli-doc-sub,.cli-dado-val.vazio){color:#71879a;}
html[data-theme="light"] :is(.cli-filtros-ativos,.cli-rapida){background:#f7fbff;}

/* ── Financeiro e painéis tradicionais ──────────────────────────────── */
html[data-theme="light"] #crm-view:not(.cli-modelo){background:#edf6ff;}
html[data-theme="light"] .cdash-hero{
  background:radial-gradient(850px 300px at 12% 0%,rgba(37,99,235,.14),transparent 60%),linear-gradient(180deg,#e8f2ff,#edf6ff);
}
html[data-theme="light"] :is(.cdash-hero-title,.cdash-kpi-num,.cdash-panel-title,.crm-toolbar-title){color:#132d48;}
html[data-theme="light"] .cdash-search{background:#fff;border-color:var(--light-line);}
html[data-theme="light"] .cdash-search input{color:#244764;}
html[data-theme="light"] :is(.cdash-kpi,.cdash-panel){background:#fff;border-color:var(--light-line);box-shadow:0 10px 30px rgba(35,78,118,.09);}
html[data-theme="light"] :is(.cdash-kpi-lbl,.cdash-vs,.cdash-range,.cdash-axis,.cdash-bars-axis,.crm-bar-lbl){color:#5d7690;fill:#5d7690;}
html[data-theme="light"] .cdash-seg{color:#58718a;}
html[data-theme="light"] .cdash-seg:hover{color:#173b5d;}
html[data-theme="light"] .cdash-seg.active{background:#e7f1f9;color:#173b5d;}
html[data-theme="light"] .cdash-range{background:#eef5fa;border-color:var(--light-line);}
html[data-theme="light"] .cdash-pill-btn{background:#edf5fa;border-color:var(--light-line);color:#46637d;}
html[data-theme="light"] .cdash-pill-btn:hover{background:#dfedf7;color:#173b5d;}
html[data-theme="light"] .crm-table thead tr{border-color:var(--light-line)!important;}
html[data-theme="light"] .crm-table th{color:#607991!important;}
html[data-theme="light"] .crm-table td{border-color:rgba(32,91,145,.1)!important;color:#35536f;}
html[data-theme="light"] .crm-table tbody tr:hover{background:#f4f9fd!important;}
html[data-theme="light"] .crm-value-cell{color:#132d48!important;}
html[data-theme="light"] .crm-date-cell{color:#4f6c86;}
html[data-theme="light"] .cdash-id{color:#5e7790;}
html[data-theme="light"] .cdash-kebab{color:#607991;}
html[data-theme="light"] .cdash-kebab:hover{background:#e6f0f7;color:#173b5d;}
html[data-theme="light"] .cdash-menu-item{color:#3f5d77;}
html[data-theme="light"] .cdash-menu-item:hover{background:#edf5fa;color:#173b5d;}

/* ── Calendário, eventos e utilitários ───────────────────────────────── */
html[data-theme="light"] :is(#events-panel,#social-panel){background:#fff;border-color:var(--light-line);box-shadow:var(--light-shadow);}
html[data-theme="light"] :is(.events-panel-title,.cal-mes,.cal-dia-tit){color:#173653;}
html[data-theme="light"] :is(.events-panel-sub,.cal-cab,.cal-legenda,.cal-dica,.cal-item-sub,.cal-aviso-nota,.ev-lembrete-txt span){color:#607991;}
html[data-theme="light"] :is(.events-tab,.sp-tab){color:#58718a;}
html[data-theme="light"] :is(.events-tab.active,.sp-tab.active){color:#1d55aa;border-color:#2563eb;}
html[data-theme="light"] .ev-lembrete{background:#f5f9fd;border-color:var(--light-line);}
html[data-theme="light"] .ev-lembrete-txt b{color:#173653;}
html[data-theme="light"] .ev-switch{background:#dfeaf2;border-color:rgba(32,91,145,.18);}
html[data-theme="light"] .ev-switch i{background:#fff;box-shadow:0 1px 4px rgba(35,78,118,.2);}
html[data-theme="light"] .cal-nav{background:#edf4fa;border-color:var(--light-line);color:#48647e;}
html[data-theme="light"] .cal-nav:hover{background:#e0edf7;}
html[data-theme="light"] .cal-dia{color:#6d8499;}
html[data-theme="light"] .cal-dia:hover{background:#edf5fb;}
html[data-theme="light"] .cal-dia.tem-item{color:#173653;}
html[data-theme="light"] .cal-dia.e-sel{background:#dcecff;color:#173f7e;}
html[data-theme="light"] .cal-item{background:#f6faff;border-color:rgba(32,91,145,.1);}
html[data-theme="light"] .cal-item:hover{background:#eaf3fb;}
html[data-theme="light"] .cal-item-tit{color:#294b69;}
html[data-theme="light"] .cal-add-menu .cal-add-op:hover{background:#eaf2ff;}

/* ── Social ──────────────────────────────────────────────────────────── */
html[data-theme="light"] .sg-bg{background:rgba(35,69,103,.32);}
html[data-theme="light"] .sg-principal{background:#fff;border-color:var(--light-line);box-shadow:0 30px 80px rgba(25,59,91,.23);}
html[data-theme="light"] .sg-lado{background:#f3f8fd;border-color:var(--light-line);}
html[data-theme="light"] :is(.sg-nav-item,.sg-sub-item,.sg-eu-arroba,.sg-eu-est,.sg-sub-titulo,.sg-secao-lbl){color:#607991;}
html[data-theme="light"] :is(.sg-nav-item,.sg-sub-item):hover{background:#e6f0f8;color:#173b5d;}
html[data-theme="light"] :is(.sg-nav-item.ativo,.sg-sub-item.ativo){background:#dcecff;color:#1d55aa;}
html[data-theme="light"] :is(.sg-eu,.sg-nav-sep){border-color:var(--light-line);}
html[data-theme="light"] :is(.sg-eu-nome,.sg-titulo){color:#173653;}
html[data-theme="light"] .sg-pills{background:#edf4fa;}
html[data-theme="light"] .sg-pill{color:#58718a;}
html[data-theme="light"] .sg-busca{background:#f6faff;border-color:var(--light-line);}
html[data-theme="light"] .sg-busca input{color:#294b69;}
html[data-theme="light"] .sg-busca input::placeholder{color:#8499ac;}
html[data-theme="light"] :is(.sg-filtro-btn,.sg-fechar){background:#f0f6fb;border-color:var(--light-line);color:#557089;}

/* Conversas ganham superfície clara, mantendo azul forte na mensagem enviada
   para a direção da conversa continuar óbvia. Chamadas de vídeo permanecem
   escuras: imagem e controles de mídia pedem esse contraste. */
html[data-theme="light"] .chat-win{background:#fff;border-color:var(--light-line);box-shadow:0 -10px 38px rgba(25,59,91,.18);}
html[data-theme="light"] .chat-header{background:#f1f7fc;border-color:var(--light-line);}
html[data-theme="light"] .chat-online-dot{border-color:#f1f7fc;}
html[data-theme="light"] .chat-title{color:#173653;}
html[data-theme="light"] :is(.chat-close-btn,.chat-clear-btn,.chat-minimize-btn){color:#607991;}
html[data-theme="light"] .chat-minimize-btn{background:#e5eef7;}
html[data-theme="light"] .chat-msg.mine .chat-bubble{background:linear-gradient(135deg,#2563eb,#1d55b5);color:#fff;}
html[data-theme="light"] .chat-msg.theirs .chat-bubble{background:#eaf2f9;color:#294b69;}
html[data-theme="light"] .chat-time{color:#71879b;}
html[data-theme="light"] .chat-msg.mine .chat-time{color:#5276a0;}
html[data-theme="light"] .chat-input-row{background:#f8fbff;border-color:var(--light-line);}
html[data-theme="light"] :is(.chat-inp,.chat-file-btn){background:#fff;border-color:var(--light-line);color:#294b69;}
html[data-theme="light"] .chat-inp::placeholder{color:#879bad;}
html[data-theme="light"] .chat-file-btn:hover{background:#e8f2fa;color:#173b5d;}
html[data-theme="light"] :is(.sp-row:hover,.sp-group-row){background:#f5f9fd;border-color:var(--light-line);}
html[data-theme="light"] :is(.sp-name,.sp-group-name,.profile-name-label){color:#173653;}
html[data-theme="light"] :is(.sp-meta,.sp-group-meta,.profile-role-label,.sp-empty,.sp-section-lbl,.status-menu-nota){color:#607991;}
html[data-theme="light"] :is(.sp-add-inp,.sp-new-group-inp,#my-status-btn){background:#f7fbff;border-color:var(--light-line);color:#294b69;}
html[data-theme="light"] .sp-online-dot{border-color:#fff;}
html[data-theme="light"] :is(.chat-notif,.group-invite-notif){
  background:radial-gradient(130% 100% at 0 0,rgba(56,189,248,.12),transparent 60%),rgba(255,255,255,.98);
  border-color:rgba(37,99,235,.2);box-shadow:0 18px 42px rgba(25,59,91,.18),inset 0 1px #fff;
}
html[data-theme="light"] .chat-notif-name{color:#173653;}
html[data-theme="light"] .chat-notif-text{color:#496781;}
html[data-theme="light"] :is(.chat-notif-arroba,.chat-notif-time,.chat-notif-close){color:#607991;}
html[data-theme="light"] .chat-notif-online{border-color:#fff;}

/* A troca de workspace cobre o quadro inteiro por poucos instantes. No modo
   claro ela funciona como uma folha translúcida, sem clarão nem tela preta. */
/* AZUL CLARO, E NÃO BRANCO. A folha translúcida quase branca fazia a troca de
   workspace parecer a tela travando: some o quadro, aparece o nada. Um azul
   com cor é o mesmo material da barra, e a transição passa a ser reconhecida
   como parte do produto. */
/* O MESMO AZUL DOS PAINÉIS, e não uma folha translúcida. A cortina quase
   branca fazia a troca de workspace parecer a tela travando: some o quadro,
   aparece o nada. Vestindo o gradiente que a barra e o cabeçalho de todo
   painel já usam, a transição passa a ser reconhecida como parte do produto —
   é a mesma cor que estava na tela um instante antes.

   Sobre azul cheio, a tinta do texto inverte: branco no nome, branco lavado
   no rótulo, e as peças da grade em vidro claro. */
html[data-theme="light"] #ws-cortina{
  background:
    radial-gradient(720px 220px at 78% -10%,rgba(159,220,255,.42),transparent 70%),
    linear-gradient(105deg,#155ab7 0%,var(--light-brand) 66%,#58a7f6 100%);
}
html[data-theme="light"] .wsc-peca{
  border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.14);
}
html[data-theme="light"] .wsc-acao{color:rgba(255,255,255,.78);}
html[data-theme="light"] .wsc-nome{color:#fff;}
html[data-theme="light"] .wsc-fio{background:rgba(255,255,255,.34);}

/* ── Estoque e Contratos: mesmos materiais, identidade preservada ───── */
html[data-theme="light"] #est-view{--est-cartao:#fff;color:var(--light-ink);}
html[data-theme="light"] :is(.est-faixa,.ctr-faixa){
  background:radial-gradient(900px 380px at 14% 0%,rgba(37,99,235,.12),transparent 58%),radial-gradient(760px 320px at 82% -10%,rgba(56,189,248,.1),transparent 60%),linear-gradient(180deg,#e8f2ff 0%,#edf6ff 65%,#edf6ff 100%);
  border-color:rgba(32,91,145,.11);
}
html[data-theme="light"] :is(.est-titulo,.ctr-cab h1,.est-kpi-num,.ctr-kpi-val,.ctr-sec,.ctr-td-fim b,.ctr-tab td.num b){color:#132d48;}
html[data-theme="light"] :is(.est-sub,.ctr-cab p,.est-kpi-lbl,.est-kpi-pe,.ctr-kpi-rot,.ctr-ajuda,.ctr-conta,.ctr-mini-dias){color:#5c7590;}
html[data-theme="light"] :is(.est-kpi,.est-bloco,.est-card,.ctr-kpi,.ctr-painel,.ctr-card,.ctr-faixa-corpo){background:#fff;border-color:var(--light-line);box-shadow:0 8px 24px rgba(35,78,118,.08);}
html[data-theme="light"] :is(.est-kpi,.ctr-kpi):hover{background:#fff;border-color:rgba(32,91,145,.25);box-shadow:0 12px 30px rgba(35,78,118,.12);}
html[data-theme="light"] :is(.est-btn,.est-nav-item,.ctr-btn,.ctr-aba-topo){color:#46647f;border-color:var(--light-line);}
html[data-theme="light"] :is(.est-btn,.ctr-btn){background:#fff;}
html[data-theme="light"] :is(.est-nav,.ctr-abas-topo){background:#e7f0f8;border-color:var(--light-line);}
html[data-theme="light"] :is(.est-nav-item:hover,.ctr-aba-topo:hover){background:#f7fbff;color:#173b5d;}
html[data-theme="light"] :is(.est-nav-item.ativo,.ctr-aba-topo.on){background:#fff;color:#1d55aa;box-shadow:0 2px 8px rgba(35,78,118,.1);}
html[data-theme="light"] :is(.est-busca,.est-select,.ctr-busca,.ctr-select){background:#fff;border-color:var(--light-line);color:#294b69;}
html[data-theme="light"] :is(.est-busca input,.ctr-busca input){color:#294b69;}
html[data-theme="light"] :is(.est-tabela th,.ctr-tab th){background:#f4f8fc;color:#607991;border-color:var(--light-line);}
html[data-theme="light"] :is(.est-tabela td,.ctr-tab td){color:#3f5e78;border-color:rgba(32,91,145,.1);}
html[data-theme="light"] :is(.est-tabela tbody tr:hover,.ctr-tab tbody tr:hover){background:#f5faff;}
html[data-theme="light"] :is(.ctr-detalhe,.ctr-info,.ctr-etapa,.ctr-adt,.ctr-historico,.est-modal,.ctr-modal){background:#fff;border-color:var(--light-line);color:var(--light-ink);}
html[data-theme="light"] :is(.ctr-texto p,.ctr-etapa p,.ctr-feed,.ctr-historico,.est-card-sub,.est-dl dd){color:#3f5e78;}

/* ── Projetos: em vez de apagar a galáxia, vira um blueprint luminoso ── */
/* O tema claro do mapa de projetos mora mais abaixo, no bloco "blueprint".
   Escrever as regras aqui não adiantava: aquele bloco vem depois no arquivo e
   ganha por ordem de cascata, com a mesma especificidade. Foi o que me fez
   "corrigir" a tela duas vezes sem que nada mudasse na tela. */
html[data-theme="light"] .prj-busca .prj-ico{color:#607991;}
html[data-theme="light"] :is(.prj-busca,.prj-ws,.prj-quad,.prj-vert,.prj-mini,.prj-ctrl-g,.prj-menu,.prj-paleta,.prj-modal){background:rgba(255,255,255,.88);border-color:var(--light-line);box-shadow:0 8px 24px rgba(35,78,118,.09);}
html[data-theme="light"] :is(.prj-busca input,.prj-ws,.prj-quad,.prj-menu button,.prj-modal){color:#294b69;}
html[data-theme="light"] .prj-busca input::placeholder{color:#8499ac;}
html[data-theme="light"] :is(.prj-busca-pop,.prj-modal-bg){background:rgba(255,255,255,.97);border-color:var(--light-line);}
html[data-theme="light"] :is(.prj-busca-pop button,.prj-paleta-g button){color:#405f7b;}
html[data-theme="light"] :is(.prj-busca-pop button,.prj-paleta-g button):hover{background:#e9f2ff;color:#173653;}
html[data-theme="light"] .prj-no-inp{background:#fff;color:#173653;}
html[data-theme="light"] .prj-modal-overlay{background:rgba(35,69,103,.32);}
html[data-theme="light"] .prj-modal p{color:#58718a;}
html[data-theme="light"] .prj-modal-lab{color:#58718a;}
html[data-theme="light"] .prj-modal-lab input{background:#f7fbff;border-color:var(--light-line);color:#173653;}

/* ── Roadmaps: o wallpaper continua presente, agora como vidro leitoso ─ */
html[data-theme="light"] #rd-view{
  background:radial-gradient(80% 55% at 50% 0%,rgba(124,58,237,.11),transparent 70%),rgba(223,239,253,.66);
}
html[data-theme="light"] .rd-painel{color:#294b69;}
html[data-theme="light"] :is(.rd-lado,.rd-corpo,.rd-modal,.rd-pop){background:rgba(255,255,255,.88);border-color:var(--light-line);box-shadow:0 12px 34px rgba(35,78,118,.1);}
html[data-theme="light"] :is(.rd-grupo-nome,.rd-lado-cab h3,.rd-item-nome,.rd-titulo,.rd-card-tit){color:#173653;}
html[data-theme="light"] :is(.rd-grupo-papel,.rd-item-sub,.rd-sub,.rd-card-sub){color:#607991;}
html[data-theme="light"] .rd-item{background:#f6faff;}
html[data-theme="light"] .rd-item:hover{background:#eaf3fb;}
html[data-theme="light"] .rd-av{border-color:#fff;}

/* ═══════════════════════════════════════════════════════════════════════
   REVISÃO VISUAL — branco + azul com hierarquia real
   ═══════════════════════════════════════════════════════════════════════
   O azul não é um detalhe decorativo: identifica o começo de cada módulo.
   O branco fica reservado a cartões; entre os dois há uma página azul-cinza.
   Esta proporção evita a folha inteiramente branca e mantém a referência do
   painel corporativo sem acoplar o tema aos arquivos daquele painel. */

/* ── Clientes: faixa azul, cartões brancos, tabela azulada ───────────── */
html[data-theme="light"] #crm-view.cli-modelo,
html[data-theme="light"] #cli-view{background:var(--light-page);}
html[data-theme="light"] .cli-faixa{
  background:
    radial-gradient(850px 280px at 82% -30%,rgba(147,213,255,.38),transparent 62%),
    linear-gradient(110deg,#1d66ce 0%,var(--light-brand) 58%,#55a4f7 100%);
  border-color:rgba(15,68,140,.2);box-shadow:0 10px 30px rgba(23,89,176,.17);
}
html[data-theme="light"] .cli-faixa :is(.cli-titulo,.cli-sub){color:#fff;}
html[data-theme="light"] .cli-faixa .cli-sub{color:rgba(255,255,255,.78);}
html[data-theme="light"] .cli-faixa .cli-carteira-help{color:rgba(255,255,255,.78);}
html[data-theme="light"] .cli-btn-forte{
  background:linear-gradient(135deg,var(--light-brand-deep),var(--light-brand));
  border-color:var(--light-brand-deep);color:#fff;
}
html[data-theme="light"] .cli-faixa .cli-busca{
  background:rgba(255,255,255,.96);border-color:rgba(255,255,255,.72);
  box-shadow:0 4px 14px rgba(9,55,119,.12);
}
html[data-theme="light"] .cli-faixa .cli-busca-inp{color:var(--light-ink);}
html[data-theme="light"] .cli-faixa .cli-btn:not(.cli-btn-forte){
  background:rgba(255,255,255,.94);border-color:rgba(255,255,255,.72);color:#23517f;
}
html[data-theme="light"] .cli-faixa .cli-btn-forte{
  background:#0c5dbe;border-color:rgba(255,255,255,.22);color:#fff;
  box-shadow:0 6px 18px rgba(7,54,118,.22);
}
html[data-theme="light"] .cli-faixa .cli-kpi{border-top:3px solid rgba(47,127,242,.78);}
html[data-theme="light"] #cli-painel-tabela{border-top:3px solid var(--light-brand);}
html[data-theme="light"] .cli-tabela thead{background:#edf4fe;}
html[data-theme="light"] .cli-tabela th{color:#41617f;border-color:#cfddec;}
html[data-theme="light"] .cli-lado .cli-painel{background:#f7faff;}
html[data-theme="light"] .cli-lado .cli-painel-cab{padding-bottom:9px;border-bottom:1px solid var(--light-line);}

/* ── Ficha do cliente e jurídico: nenhuma ilha escura no tema claro ─── */
html[data-theme="light"] .cli-det{background:var(--light-page);}
html[data-theme="light"] .cli-det-cab{
  padding-bottom:24px;
  background:
    radial-gradient(760px 220px at 75% -20%,rgba(151,216,255,.34),transparent 62%),
    linear-gradient(110deg,#1d66ce 0%,var(--light-brand) 62%,#54a3f5 100%);
  box-shadow:0 10px 28px rgba(23,89,176,.16);
}
html[data-theme="light"] .cli-det-cab :is(.cli-titulo,.cli-sub){color:#fff;}
html[data-theme="light"] .cli-det-cab .cli-sub{color:rgba(255,255,255,.76);}
html[data-theme="light"] .cli-det-cab .cli-voltar{
  background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.32);color:#fff;
}
html[data-theme="light"] .cli-det-cab .cli-voltar:hover{background:rgba(255,255,255,.23);color:#fff;}
html[data-theme="light"] .cli-det-cab .cli-btn:not(.cli-btn-forte){
  background:#fff;border-color:rgba(255,255,255,.78);color:#24517e;
}
html[data-theme="light"] .cli-det-cab .cli-btn-forte{
  background:#0c5dbe;border-color:rgba(255,255,255,.22);color:#fff;
}
html[data-theme="light"] .cli-fundo{background:var(--light-page);}
html[data-theme="light"] .cli-fundo-base{
  background:
    radial-gradient(65% 38% at 86% 8%,rgba(47,127,242,.13),transparent 66%),
    radial-gradient(60% 34% at 12% 74%,rgba(56,189,248,.08),transparent 68%),
    linear-gradient(180deg,#edf4fc 0%,#f6f8fb 54%,#eef3f9 100%);
}
html[data-theme="light"] :is(.cli-onda-cena,.cli-brilho,.cli-part){opacity:.14;}
html[data-theme="light"] :is(.cli-foco,.cli-det-kpi,.cli-acomp){
  background:#fff;border-color:var(--light-line);backdrop-filter:none;-webkit-backdrop-filter:none;
}
html[data-theme="light"] .cli-det-kpi{border-top:3px solid color-mix(in srgb,var(--kpi-cor) 65%,#fff);}

html[data-theme="light"] .cli-det-juridico{
  --jur-ouro:#1f68d5;--jur-ouro-claro:#1f68d5;--jur-azul:#2f7ff2;
  --jur-tinta:var(--light-page);--jur-papel:#fff;--jur-papel-2:#f7faff;
  --jur-linha:var(--light-line);--jur-linha-forte:rgba(47,127,242,.36);
  --jur-texto:var(--light-ink);--jur-texto-fraco:#60758b;--jur-superficie:#fff;
  color:var(--light-ink);
}
html[data-theme="light"] .cli-det-juridico :is(.cli-jur-lado,.cli-acomp,.cli-proc,.cli-jur-resumo-card,.cli-jur-fontes,.cli-jur-auditoria,.cli-cofre){
  background:#fff;border-color:var(--light-line);box-shadow:var(--light-shadow);
}
html[data-theme="light"] .cli-det-juridico .cli-jur-fontes{
  background:linear-gradient(135deg,#eaf3ff,#f8fbff 64%);border-color:#bfd5f3;
}
html[data-theme="light"] .cli-det-juridico .cli-jur-fonte{
  background:#fff;border-color:#d4e1ef;color:#405d79;
}
html[data-theme="light"] .cli-det-juridico .cli-jur-fontes-aviso{color:#75622a;}
html[data-theme="light"] .cli-det-juridico .cli-jur-processos{border-color:var(--light-line);background:#f8fbff;}
html[data-theme="light"] .cli-det-juridico .cli-jur-coluna-rot,
html[data-theme="light"] .cli-det-juridico .cli-jur-resumo-rotulo{color:#55708b;}
html[data-theme="light"] .cli-det-juridico .cli-jur-coluna-cont{background:#e7f0fc;color:#31597f;}
html[data-theme="light"] .cli-det-juridico :is(.cli-jur-coluna-vazio,.cli-jur-outro-meta,.cli-jur-atual-meta,.cli-jur-atual-prazo,.cli-jur-cliente-sub,.cli-proc-resumido,.cli-jur-resumo-detalhe,.cli-jur-prazo-preparo,.cli-and-glos){color:#647b92;}
html[data-theme="light"] .cli-det-juridico .cli-jur-outro{
  background:#f2f7fd;border-color:#dce7f2;
}
html[data-theme="light"] .cli-det-juridico .cli-jur-outro:hover{background:#e7f2ff;border-color:#9fc1eb;}
html[data-theme="light"] .cli-det-juridico :is(.cli-jur-outro-num,.cli-jur-atual-num,.cli-jur-cliente-rot,.cli-jur-resumo-numero){color:var(--light-ink);}
html[data-theme="light"] .cli-det-juridico .cli-jur-atual{
  background:#eaf4ff;border-color:#9fc5f4;
}
html[data-theme="light"] .cli-det-juridico .cli-jur-cliente-linha{
  background:#f5f9fe;border-color:#d6e3f0;
}
html[data-theme="light"] .cli-det-juridico .cli-jur-cliente-seta{color:#59738d;}
html[data-theme="light"] .cli-det-juridico .cli-proc-recolher{
  background:#fff;border-color:#cbdbea;color:#41617f;
}
html[data-theme="light"] .cli-det-juridico .cli-jur-resumo-card{border-top:3px solid #8bb8ee;}
html[data-theme="light"] .cli-det-juridico .cli-jur-resumo-card.zerado .cli-jur-resumo-ico{
  background:#e9f0f7;color:#6b8196;
}
html[data-theme="light"] .cli-det-juridico .cli-jur-resumo-card.zerado .cli-jur-resumo-numero{color:#6b8196;}
html[data-theme="light"] .cli-det-juridico .cli-acomp.vazio .cli-lado-vazio{color:#5f768d;}
html[data-theme="light"] .cli-det-juridico :is(.cli-proc,.cli-proc-data,.cli-proc-resumo-item,.cli-and-sinc,.cli-and-corpo){
  background:#f8fbff;border-color:#d8e3f0;box-shadow:none;
}
html[data-theme="light"] .cli-det-juridico .cli-proc:hover{background:#f2f7fd;border-color:#b9cfe6;}
html[data-theme="light"] .cli-det-juridico :is(.cli-proc-rot,.cli-proc-notas,.cli-proc-data-rot,.cli-proc-data-quando,.cli-and-sub,.cli-and-vazio,.cli-and-chip-meta,.cli-and-data,.cli-and-quando,.cli-and-texto){color:#536d86;}
html[data-theme="light"] .cli-det-juridico :is(.cli-proc-num,.cli-proc-val,.cli-and-tit,.cli-and-sinc-tit,.cli-and-tipo,.cli-and-titulo){color:var(--light-ink);}
html[data-theme="light"] .cli-det-juridico .cli-and-item:hover .cli-and-corpo{background:#edf5ff;box-shadow:inset 0 0 0 1px #c9dced;}
html[data-theme="light"] .cli-det-juridico .cli-and-item.atual .cli-and-corpo{
  background:linear-gradient(100deg,rgba(47,127,242,.12),rgba(47,127,242,.025));
}
html[data-theme="light"] .cli-det-juridico .cli-and-sinc-acoes{background:#edf4fc;border-color:#d8e3f0;}
html[data-theme="light"] .cli-det-juridico .cli-and-filtro{background-color:#fff;color:#405e79;border-color:#cfddea;}
html[data-theme="light"] .cli-det-juridico .cli-and-filtro option{background:#fff;color:var(--light-ink);}

/* ── Financeiro e Recrutamento: uma família azul, sem faixa preta/roxa ─ */
html[data-theme="light"] #crm-view:not(.cli-modelo){background:var(--light-page);}
html[data-theme="light"] .cdash-hero,
html[data-theme="light"] #crm-view.rh-modelo .cdash-hero{
  background:
    radial-gradient(820px 260px at 84% -30%,rgba(155,220,255,.35),transparent 62%),
    linear-gradient(108deg,#1d66ce 0%,var(--light-brand) 58%,#56a5f6 100%);
  box-shadow:0 10px 30px rgba(23,89,176,.17);
}
html[data-theme="light"] .cdash-hero-title{color:#fff;}
html[data-theme="light"] .cdash-search{background:rgba(255,255,255,.96);border-color:rgba(255,255,255,.68);box-shadow:0 4px 14px rgba(8,54,118,.14);}
html[data-theme="light"] .cdash-search svg{color:#67809a;}
html[data-theme="light"] .cdash-search input{background:transparent;color:var(--light-ink);}
html[data-theme="light"] .cdash-search input::placeholder{color:#71869b;}
html[data-theme="light"] .cdash-hero-btn{
  background:rgba(255,255,255,.95);border-color:rgba(255,255,255,.68);color:#23527f;
  box-shadow:0 4px 14px rgba(8,54,118,.13);
}
html[data-theme="light"] .cdash-hero-btn:hover{background:#fff;color:#123d6b;}
html[data-theme="light"] .cdash-hero-btn-destaque{
  background:#0c5dbe;border-color:rgba(255,255,255,.22);color:#fff;
}
html[data-theme="light"] .cdash-hero-btn-destaque svg{stroke:#fff;}
html[data-theme="light"] #crm-view.rh-modelo .cdash-hero-btn-larga.rh-ligado{
  background:rgba(255,255,255,.95);border-color:rgba(255,255,255,.68);color:#23527f;
}
html[data-theme="light"] :is(.cdash-kpi,.cdash-panel){border-top:3px solid var(--light-brand);}
html[data-theme="light"] .cdash-panel{background:linear-gradient(180deg,#fff,#fbfdff);}
html[data-theme="light"] .cdash-chart-empty{
  margin:14px 0;background:#eef5ff;border:1px dashed #bfd3eb;border-radius:12px;color:#5b7188;
}
html[data-theme="light"] .crm-table thead tr{background:#edf4fe!important;border-color:#cfdeed!important;}
html[data-theme="light"] .crm-empty{
  margin:18px;padding:54px 20px;border:1px dashed #b9cee6;border-radius:14px;background:#eef5ff;
}
html[data-theme="light"] .crm-empty-title{color:var(--light-ink);}
html[data-theme="light"] .crm-empty-desc{color:#5a7188;}
html[data-theme="light"] .crm-empty-btn{background:var(--light-brand);border-color:var(--light-brand);color:#fff;}
html[data-theme="light"] .rh-fb-rot{color:#49647e;}
html[data-theme="light"] .rh-fb-trilho{background:#dce8f5;}
html[data-theme="light"] .rh-fb-num{color:var(--light-ink);}
html[data-theme="light"] :is(.rh-col,.rh-card){background:#fff;border-color:var(--light-line);}
html[data-theme="light"] .rh-col-nome,
html[data-theme="light"] .rh-card-nome{color:var(--light-ink);}
html[data-theme="light"] :is(.rh-col-vazia,.rh-card-cargo,.rh-card-meta span){color:#60788f;}

/* ── Estoque: o cabeçalho é a faixa; o vazio é um cartão, não a página ─ */
html[data-theme="light"] #crm-view.est-modelo,
html[data-theme="light"] #est-view{background:var(--light-page);}
html[data-theme="light"] #est-view .est-topo{
  margin:-22px -26px 18px;padding:25px 26px 22px;
  background:
    radial-gradient(760px 220px at 80% -25%,rgba(151,216,255,.34),transparent 62%),
    linear-gradient(108deg,#1d66ce 0%,var(--light-brand) 62%,#54a3f5 100%);
  box-shadow:0 10px 28px rgba(23,89,176,.16);
}
html[data-theme="light"] #est-view .est-topo :is(.est-titulo,.est-sub){color:#fff;}
html[data-theme="light"] #est-view .est-topo .est-sub{color:rgba(255,255,255,.76);}
html[data-theme="light"] #est-view .est-topo .est-btn{
  background:rgba(255,255,255,.95);border-color:rgba(255,255,255,.7);color:#244f7a;
}
html[data-theme="light"] #est-view .est-topo .est-btn.primario{background:#0c5dbe;color:#fff;border-color:rgba(255,255,255,.22);}
html[data-theme="light"] .est-nav{background:#dfeaf7;border:1px solid #ccdceb;}
html[data-theme="light"] .est-nav-item.ativo{background:#fff;color:#1d5fbf;box-shadow:0 2px 7px rgba(23,73,124,.09);}
html[data-theme="light"] :is(.est-kpi,.est-bloco,.est-card){background:#fff;border-color:var(--light-line);box-shadow:var(--light-shadow);}
html[data-theme="light"] .est-vazio{
  max-width:600px;margin:68px auto 0;padding:46px 32px;border:1px solid var(--light-line);
  border-top:4px solid var(--light-brand);border-radius:18px;background:#fff;box-shadow:var(--light-shadow);
}
html[data-theme="light"] .est-vazio-ico{color:var(--light-brand);opacity:1;}
html[data-theme="light"] .est-vazio h3{color:var(--light-ink);}
html[data-theme="light"] :is(.est-vazio p,.est-vazio-min,.est-td-vazio){color:#5a7189;}
html[data-theme="light"] :is(.est-bloco-topo h3,.est-card h4,.est-nome){color:var(--light-ink);}

/* ── Contratos: faixa azul reconhecível e estado vazio legível ──────── */
html[data-theme="light"] #crm-view.ctr-modelo,
html[data-theme="light"] #ctr-view{background:var(--light-page);}
html[data-theme="light"] .ctr-faixa{
  background:
    radial-gradient(820px 250px at 82% -30%,rgba(151,216,255,.34),transparent 62%),
    linear-gradient(108deg,#1d66ce 0%,var(--light-brand) 62%,#54a3f5 100%);
  border-color:rgba(15,68,140,.2);box-shadow:0 10px 28px rgba(23,89,176,.16);
}
html[data-theme="light"] #ctr-view .ctr-faixa .ctr-cab :is(h1,p){color:#fff;}
html[data-theme="light"] .ctr-faixa .ctr-cab p{color:rgba(255,255,255,.76);}
html[data-theme="light"] .ctr-faixa .ctr-btn{
  background:rgba(255,255,255,.95);border-color:rgba(255,255,255,.7);color:#244f7a;
}
html[data-theme="light"] .ctr-faixa .ctr-btn-forte{background:#0c5dbe;color:#fff;border-color:rgba(255,255,255,.22);}
html[data-theme="light"] .ctr-faixa .ctr-abas-topo{background:rgba(8,63,134,.24);border-color:rgba(255,255,255,.23);}
html[data-theme="light"] .ctr-faixa .ctr-aba-topo{color:rgba(255,255,255,.74);}
html[data-theme="light"] .ctr-faixa .ctr-aba-topo.on{background:#fff;color:#1d5fbf;}
html[data-theme="light"] .ctr-vazio{
  max-width:650px;margin:58px auto 0;padding:46px 34px;border:1px solid var(--light-line);
  border-top:4px solid var(--light-brand);border-radius:18px;background:#fff;box-shadow:var(--light-shadow);
}
html[data-theme="light"] .ctr-vazio-ico{background:#e8f1fe;border-color:#b8cff0;}
html[data-theme="light"] .ctr-vazio h2{color:var(--light-ink);}
html[data-theme="light"] :is(.ctr-vazio p,.ctr-vazio-min){color:#5a7189;}

/* ── Projetos: a MESA é escura, e é a única exceção do tema claro ────
   O motivo está nos NÓS: eles são cartões escuros com fio colorido entre si.
   Sobre a mesa clara que havia aqui, o fio pastel sumia e cada nó virava um
   retângulo preto solto no branco — o desenho brigava com o próprio conteúdo.

   Editor de fluxo é escuro em toda ferramenta que tem um, e não por moda: o
   assunto da tela é a LIGAÇÃO entre os nós, e linha fina colorida só se
   destaca sobre fundo escuro. O cinza-chumbo é neutro para o azul, o verde e
   o roxo das conexões aparecerem sem competir com a mesa.

   A grade fica — ela é o que dá noção de escala ao arrastar —, só troca de
   lado: era azul sobre claro, vira clara sobre escuro. E a moldura continua
   clara: busca, minimapa, menus e modais seguem sendo vidro branco. Quem está
   no tema claro continua no tema claro; o que escurece é a mesa, não as
   janelas. */
html[data-theme="light"] #prj-view{background:#14171d;}
html[data-theme="light"] #prj-view::before{
  content:"";position:absolute;z-index:5;left:0;right:0;top:0;height:76px;pointer-events:none;
  background:linear-gradient(108deg,#1d66ce 0%,var(--light-brand) 62%,#54a3f5 100%);
  box-shadow:0 8px 24px rgba(23,89,176,.16);
}
html[data-theme="light"] .prj-fundo{
  background-color:#1a1e26;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),radial-gradient(circle at 70% 62%,rgba(64,112,196,.16),transparent 40%);
  background-size:28px 28px,28px 28px,auto;
}
/* A vinheta empurra o olho para o centro, como no tema escuro. */
html[data-theme="light"] .prj-fundo::after{background:radial-gradient(120% 100% at 60% 45%,transparent 45%,rgba(5,7,11,.5) 100%);}
html[data-theme="light"] :is(.prj-galaxia,.prj-poeira,.prj-estrelas,.prj-estrelas2,.prj-brilho,.prj-meteoro){display:none;}
html[data-theme="light"] .prj-marca h1{color:#fff;}
html[data-theme="light"] .prj-marca p{color:rgba(255,255,255,.73);}
html[data-theme="light"] .prj-marca .prj-ico{color:#fff;}
html[data-theme="light"] .prj-topo :is(.prj-busca,.prj-ws,.prj-quad,.prj-ferr,.prj-modelo){
  background:rgba(255,255,255,.94);border-color:rgba(255,255,255,.7);color:#244f7a;
  box-shadow:0 4px 14px rgba(8,54,118,.13);
}
html[data-theme="light"] .prj-topo .prj-novo-b,
html[data-theme="light"] .prj-topo .prj-novo-s{background:#0c5dbe;color:#fff;}
html[data-theme="light"] .prj-vazio .prj-novo-b{
  background:linear-gradient(135deg,var(--light-brand-deep),var(--light-brand));
  color:#fff;box-shadow:0 8px 22px rgba(31,104,213,.28);
}
html[data-theme="light"] :is(.prj-vert,.prj-mini,.prj-ctrl-g){background:#fff;border-color:#cfdeec;color:#355979;opacity:1;}
html[data-theme="light"] :is(.prj-vert-b,.prj-ctrl-g button,.prj-zoom,.prj-mini-cfg){color:#365b7c;opacity:1;}
html[data-theme="light"] .prj-lema{bottom:58px;}
/* Sobre a mesa escura, o lema e o vazio voltam à tinta clara. Deixá-los
   escuros foi o que os fez sumir quando a mesa mudou de lado. */
html[data-theme="light"] :is(.prj-lema p,.prj-vazio b){color:rgba(240,243,248,.94);}
html[data-theme="light"] :is(.prj-lema span,.prj-vazio,.prj-vazio p){color:rgba(226,232,240,.58);}

/* ── Painel pessoal: cabeçalho azul e estados vazios com contraste ──── */
html[data-theme="light"] #events-panel{background:#fff;border-color:#cbdbea;box-shadow:0 22px 54px rgba(20,55,91,.2);}
html[data-theme="light"] #events-panel>.events-panel-title{
  margin:-14px -16px 12px;padding:14px 16px 13px;border-radius:13px 13px 0 0;
  background:linear-gradient(108deg,#1d66ce,var(--light-brand) 68%,#54a3f5);color:#fff;
}
html[data-theme="light"] #events-panel>.events-panel-title .events-panel-sub{color:rgba(255,255,255,.76);}
html[data-theme="light"] .events-tabs{background:#e7eff9;border:1px solid #d4e1ee;}
html[data-theme="light"] .events-tab.active{background:var(--light-brand);color:#fff;border-color:transparent;box-shadow:0 2px 7px rgba(47,127,242,.22);}
html[data-theme="light"] .ev-lembrete{background:#eef5ff;border-color:#c6d9ef;}
html[data-theme="light"] :is(.events-empty,.cal-dica){color:#566f88;}
html[data-theme="light"] .events-ics-upload,
html[data-theme="light"] .events-mtask-add{background:#f2f7fd;border-color:#b8cee5;color:#486680;}
html[data-theme="light"] .events-item{user-select:none;}
html[data-theme="light"] .events-item:hover{background:#edf5ff;}
html[data-theme="light"] .events-item-title{color:#173653;}
html[data-theme="light"] .events-item-sub{color:#5d7690;}

/* O Opera pode conservar a tinta do preenchimento automático ao abrir a
   escolha de @ já preenchida. Cor e text-fill explícitos mantêm prefixo e
   valor legíveis no tema claro. */
html[data-theme="light"] #md-ident-ov .md-ident-campo span{
  color:#294d6c!important;-webkit-text-fill-color:#294d6c!important;opacity:1;
}
html[data-theme="light"] #md-ident-ov input{
  color:#173653!important;-webkit-text-fill-color:#173653!important;opacity:1;
}

/* ── Social: azul organiza cabeçalho e navegação; cartões são legíveis ─ */
html[data-theme="light"] .sg-principal{background:#f5f8fc;border-color:#cbdbea;}
html[data-theme="light"] .sg-lado{background:#eaf2fc;border-color:#cfdeed;}
html[data-theme="light"] .sg-main{background:#f8fafd;}
html[data-theme="light"] .sg-topo{
  margin:-20px -22px 16px;padding:18px 22px 16px;
  background:linear-gradient(108deg,#1d66ce,var(--light-brand) 68%,#54a3f5);
}
html[data-theme="light"] .sg-topo :is(.sg-titulo,.sg-sub-titulo){color:#fff;}
html[data-theme="light"] .sg-topo .sg-sub-titulo{color:rgba(255,255,255,.76);}
html[data-theme="light"] .sg-topo .sg-pills{background:rgba(8,61,129,.22);}
html[data-theme="light"] .sg-topo .sg-pill{color:rgba(255,255,255,.76);}
html[data-theme="light"] .sg-topo .sg-pill.ativo{background:#fff;color:#1d5fbf;box-shadow:0 3px 10px rgba(8,54,118,.17);}
html[data-theme="light"] .sg-topo .sg-fechar{background:rgba(255,255,255,.18);color:#fff;}
html[data-theme="light"] .sg-nav-item.ativo{background:var(--light-brand);color:#fff;box-shadow:0 3px 10px rgba(47,127,242,.2);}
html[data-theme="light"] .sg-sub-item.ativo{background:#d9e9fc;color:#1d5fbf;}
html[data-theme="light"] .sg-card,
html[data-theme="light"] .sg-conversa{background:#fff;border-color:#d9e4ef;}
html[data-theme="light"] .sg-card:hover,
html[data-theme="light"] .sg-conversa:hover{background:#edf5ff;border-color:#aac8e9;box-shadow:0 7px 18px rgba(25,64,103,.10);}
html[data-theme="light"] :is(.sg-card-nome,.sg-conversa-nome,.sg-eu-nome,.sg-gv-nome){color:var(--light-ink);}
html[data-theme="light"] :is(.sg-card-est,.sg-conversa-previa,.sg-conversa-hora,.sg-eu-arroba,.sg-eu-est,.sg-vazio,.sg-procura,.sg-sub-lbl){color:#5d748b;}
html[data-theme="light"] .sg-card-mais{color:#5b7690;}
html[data-theme="light"] .sg-card-mais:hover{background:#dceafb;color:#173d65;}
html[data-theme="light"] .sg-ponto{border-color:#fff;}
html[data-theme="light"] .sg-add{
  background:linear-gradient(135deg,var(--light-brand-deep),var(--light-brand));
  color:#fff;box-shadow:0 5px 15px rgba(31,104,213,.24);
}
html[data-theme="light"] .sg-add:hover{background:var(--light-brand-deep);box-shadow:0 7px 19px rgba(31,104,213,.3);}
html[data-theme="light"] .sg-gaveta{background:#fff;border-color:var(--light-line);box-shadow:var(--light-shadow);}

/* ═══════════════════════════════════════════════════════════════════════
   CONTRASTE DE COMPONENTES — nenhuma cor escura pode vazar para o claro
   ═══════════════════════════════════════════════════════════════════════
   Estes componentes têm estilos próprios e, em alguns casos, `!important`.
   Trocar só os tokens da página não os alcança: fundo claro + texto branco
   produz exatamente as áreas apagadas corrigidas abaixo. */

/* ── A barra é a âncora azul permanente do aplicativo ───────────────── */
html[data-theme="light"] #toolbar{
  background:
    radial-gradient(620px 95px at 82% -40%,rgba(159,220,255,.38),transparent 70%),
    linear-gradient(105deg,#155ab7 0%,var(--light-brand) 66%,#58a7f6 100%);
  border-color:rgba(11,69,145,.28);box-shadow:0 7px 24px rgba(18,79,155,.22);
  backdrop-filter:none;
}
html[data-theme="light"] #toolbar .t-sep{background:rgba(255,255,255,.25);}
html[data-theme="light"] #toolbar .t-pill{
  background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28);
  color:rgba(255,255,255,.94);box-shadow:inset 0 1px rgba(255,255,255,.08);
}
html[data-theme="light"] #toolbar .t-dot{background:#fff;box-shadow:0 0 7px rgba(255,255,255,.75);}
html[data-theme="light"] #toolbar .t-count{color:rgba(255,255,255,.78);}
html[data-theme="light"] #toolbar .t-btn{
  background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.27);
  color:rgba(255,255,255,.9);box-shadow:none;
}
html[data-theme="light"] #toolbar .t-btn:hover,
html[data-theme="light"] #toolbar #btn-atalhos.aberto{
  background:rgba(255,255,255,.24);border-color:rgba(255,255,255,.43);color:#fff;
}
html[data-theme="light"] #toolbar .t-btn.primary{
  background:#fff;border-color:#fff;color:#195cb9;box-shadow:0 4px 13px rgba(8,55,118,.18);
}
html[data-theme="light"] #toolbar .t-btn.primary:hover{background:#eaf3ff;color:#104c9f;}
html[data-theme="light"] #toolbar .t-kbd{
  background:rgba(9,58,126,.25);border-color:rgba(255,255,255,.3);color:#fff;
}
html[data-theme="light"] #toolbar #t-plan-badge{
  background:#fff!important;border-color:rgba(255,255,255,.95)!important;
  color:#244f94!important;box-shadow:0 4px 13px rgba(8,55,118,.18);
}
html[data-theme="light"] #toolbar .ws-active-badge{
  background:#0c5dbe;border-color:rgba(255,255,255,.42);color:#fff;
  box-shadow:0 4px 13px rgba(8,55,118,.2);
}
html[data-theme="light"] #toolbar .ws-active-badge:hover{background:#084f9f;color:#fff;}

/* Lista e card preservam sem transformação o fundo inline da paleta. */

/* ── Contexto do grupo e botão de reuniões ──────────────────────────── */
html[data-theme="light"] #grupo-barra{
  background:linear-gradient(90deg,#e4effe,#f4f8fe 58%,#e9f5ff);
  border-color:#c5d8ef;box-shadow:0 5px 16px rgba(24,74,126,.1);
}
html[data-theme="light"] #grupo-barra .gb-nome{color:var(--light-ink);}
html[data-theme="light"] #grupo-barra :is(.gb-sub,.gb-conta){color:#526c86;}
html[data-theme="light"] #grupo-barra .gb-av{box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--gc-ring,transparent);}
html[data-theme="light"] #grupo-barra .gb-av-mais{background:#d9e7f7;color:#365978;}
html[data-theme="light"] #grupo-barra .gb-reunioes{
  background:linear-gradient(135deg,var(--light-brand-deep),var(--light-brand));
  border-color:var(--light-brand-deep);color:#fff;box-shadow:0 4px 13px rgba(31,104,213,.22);
}
html[data-theme="light"] #grupo-barra .gb-reunioes:hover{background:#155ebf;border-color:#155ebf;color:#fff;}

/* ── Seletor de workspaces: item aberto continua claro e legível ────── */
html[data-theme="light"] .ws-lista-pop{
  background:#fff;border-color:var(--light-line);color:var(--light-ink);box-shadow:var(--light-shadow);
}
html[data-theme="light"] .ws-lista-tit{color:#526c86;}
html[data-theme="light"] .ws-lista-vazio{color:#617991;}
html[data-theme="light"] .ws-lista-item{color:var(--light-ink);}
html[data-theme="light"] .ws-lista-item:hover{background:#edf5ff;}
html[data-theme="light"] .ws-lista-item.is-aberto{background:#dfeeff;border-color:#8eb8eb;}
html[data-theme="light"] .ws-lista-sub{color:#5e7690;}
html[data-theme="light"] .ws-lista-agora{background:var(--light-brand-deep);color:#fff;}
html[data-theme="light"] .ws-lista-ren{color:#4f6b87;}
html[data-theme="light"] .ws-lista-ren:hover{background:#d5e6f8;color:#173d65;}

/* ── Gaveta do grupo: todo texto escuro foi declarado, não herdado ──── */
html[data-theme="light"] .sg-gaveta :is(.sg-gv-ico,.sg-gv-bio-btn){background:#eaf2fc;color:#486681;}
html[data-theme="light"] .sg-gaveta :is(.sg-gv-ico,.sg-gv-bio-btn):hover{background:#dceafa;color:#173d65;}
html[data-theme="light"] .sg-gaveta :is(.sg-gv-arroba,.sg-gv-bio,.sg-gv-bio-conta,.sg-gv-membro-arroba,.sg-gv-membro-mais,.sg-gv-carregando){color:#607890;}
html[data-theme="light"] .sg-gaveta :is(.sg-gv-lbl,.sg-gv-membro-nome){color:var(--light-ink);}
html[data-theme="light"] .sg-gaveta .sg-gv-est{background:#e4f8f1;border-color:#99ddc6;color:#176c54;}
html[data-theme="light"] .sg-gaveta .sg-gv-membro:hover{background:#edf5ff;}
html[data-theme="light"] .sg-gaveta :is(.sg-gv-mini,.sg-gv-mais-n){border-color:#fff;}
html[data-theme="light"] .sg-gaveta .sg-gv-mais-n{background:#dceafb;color:#245787;}
html[data-theme="light"] .sg-gaveta .sg-gv-sec{
  background:var(--light-brand-deep)!important;color:#fff!important;
}
html[data-theme="light"] .sg-gaveta .sg-gv-sec:hover{background:var(--light-brand-dark)!important;}
html[data-theme="light"] .sg-gaveta .sg-gv-remover:not(.sg-gv-sair){
  background:var(--light-brand)!important;color:#fff!important;
}

/* ── Chat: datas, autores e balões nunca somem no branco ──────────
   Isto vale para as DUAS janelas, e não só para a do grupo. Enquanto valia
   só para ela, a conversa 1:1 ficava escura no tema claro: `main.css` pinta
   os balões com `!important`, e as regras claras genéricas lá de cima não
   têm o `!important` para vencê-las — só estas têm. Duas janelas do mesmo
   aplicativo, abertas lado a lado, com paletas diferentes.

   O cabeçalho e o autor continuam sob `.chat-win-grupo`: eles são markup que
   só a janela de grupo tem. */
html[data-theme="light"] .chat-win .chat-msgs{background:#f5f8fc;}
html[data-theme="light"] .chat-win-grupo .gcw-hdr{
  background:linear-gradient(100deg,#e1edfc,#f6f9fd);border-color:#cfdeed;
}
html[data-theme="light"] .chat-win-grupo .gcw-hdr-sub{color:#5d7690;}
html[data-theme="light"] .chat-win .gcw-dia{color:#657d94;}
html[data-theme="light"] .chat-win .gcw-dia::before,
html[data-theme="light"] .chat-win .gcw-dia::after{background:#cfddea;}
html[data-theme="light"] .chat-win-grupo .gcw-autor-nome{color:var(--light-ink);}
html[data-theme="light"] .chat-win-grupo .gcw-autor-arroba{color:#617991;}
html[data-theme="light"] .chat-win .chat-msg.mine .chat-bubble{
  background:linear-gradient(135deg,var(--light-brand-deep),var(--light-brand))!important;
  color:#fff!important;border-color:transparent!important;
}
html[data-theme="light"] .chat-win .chat-msg.theirs .chat-bubble{
  background:#e4edf8!important;color:#183b5f!important;border-color:#cbdbea!important;
}
html[data-theme="light"] .chat-win .chat-time{color:#58718a;}
html[data-theme="light"] .chat-win .chat-input-row{background:#edf4fc;border-color:#cfddea;}
html[data-theme="light"] .chat-win .chat-inp{background:#fff;border-color:#c8d9e9;color:var(--light-ink);}
html[data-theme="light"] .chat-win .chat-inp:focus{background:#fff;border-color:var(--light-brand);box-shadow:0 0 0 3px rgba(47,127,242,.13);}
html[data-theme="light"] .chat-win .chat-send{background:linear-gradient(135deg,var(--light-brand-deep),var(--light-brand));}

/* ── Jurídico: ações têm peso de botão, e fatos têm borda visível ────── */
html[data-theme="light"] .cli-det-juridico .cli-and-add{
  background:linear-gradient(135deg,var(--light-brand-deep),var(--light-brand));
  border-color:var(--light-brand-deep);color:#fff;box-shadow:0 4px 12px rgba(31,104,213,.18);
}
html[data-theme="light"] .cli-det-juridico .cli-and-add:hover{background:var(--light-brand-dark);border-color:var(--light-brand-dark);color:#fff;}
html[data-theme="light"] .cli-det-juridico .cli-and-corpo{
  background:#fff;border-color:#cfddeb;box-shadow:0 2px 9px rgba(22,65,106,.06);
}
html[data-theme="light"] .cli-det-juridico .cli-and-item.atual .cli-and-corpo{
  background:linear-gradient(100deg,#dcecff,#eff6ff 65%,#fff);
}
html[data-theme="light"] .cli-det-juridico .cli-and-sinc :is(.cli-cnj-att,.cli-djen-atualizar){
  background:#e7f1fd;border-color:#a9c5e6;color:#28577f;
}
html[data-theme="light"] .cli-det-juridico .cli-and-sinc :is(.cli-cnj-att,.cli-djen-atualizar):hover:not(:disabled){
  background:#d7e9fc;border-color:#77a9df;color:#164f88;
}
html[data-theme="light"] .cli-det-juridico .cli-and-sinc :is(.cli-cnj-att,.cli-djen-atualizar):disabled{
  opacity:.72;color:#56708a;
}

/* ── Nota ampliada: cabeçalho azul, editor branco, atividade azul-clara ─ */
html[data-theme="light"] .kb-modal-detalhe{
  background:#fff;border-color:#9fbfe2;box-shadow:0 28px 80px rgba(13,52,96,.3);
}
html[data-theme="light"] .kb-modal-detalhe .kb-modal-cabecalho{
  background:
    radial-gradient(460px 80px at 78% -35%,rgba(170,224,255,.38),transparent 72%),
    linear-gradient(105deg,#155ab7 0%,var(--light-brand) 68%,#58a7f6 100%);
  border-color:rgba(11,69,145,.38);box-shadow:0 5px 16px rgba(16,73,145,.18);
}
html[data-theme="light"] .kb-modal-detalhe .kb-modal-lista-select{
  background:#fff;border-color:rgba(255,255,255,.9);color:#174d88;color-scheme:light;
  box-shadow:0 3px 10px rgba(8,54,118,.15);
}
html[data-theme="light"] .kb-modal-detalhe :is(.kb-modal-icon-btn,.kb-modal-fechar){
  background:rgba(255,255,255,.12);color:#fff;
}
html[data-theme="light"] .kb-modal-detalhe :is(.kb-modal-icon-btn,.kb-modal-fechar):hover{
  background:rgba(255,255,255,.25);color:#fff;
}
html[data-theme="light"] .kb-modal-detalhe .kb-modal-principal{
  background:#fff;color:var(--light-ink);
}
html[data-theme="light"] .kb-modal-detalhe .kb-modal-lateral{
  background:linear-gradient(180deg,#eaf3ff,#f4f8fd);border-color:#b7cee7;color:var(--light-ink);
}
html[data-theme="light"] .kb-modal-detalhe .kb-modal-titulo-linha{
  padding-bottom:13px;border-bottom:1px solid #d7e4f0;
}
html[data-theme="light"] .kb-modal-detalhe .kb-modal-concluir{
  border-color:#5f83a6;background:#f2f7fc;
}
html[data-theme="light"] .kb-modal-detalhe .kb-modal-concluir:hover{
  border-color:var(--light-brand);background:#dcecff;
}
html[data-theme="light"] .kb-modal-detalhe .n-title{
  color:#102f50!important;-webkit-text-fill-color:#102f50!important;
}
html[data-theme="light"] .kb-modal-detalhe .kb-modal-etapa-rot{color:#496a89;}
html[data-theme="light"] .kb-modal-detalhe .kb-modal-etapa-sel{
  background:#edf5ff;border-color:#8db8eb;color:#164d87;box-shadow:inset 3px 0 var(--light-brand);
}
html[data-theme="light"] .kb-modal-detalhe .kb-modal-acoes{
  margin-top:14px;padding:11px;border-radius:12px;background:#f0f6fd;border:1px solid #d3e2f0;
}
html[data-theme="light"] .kb-modal-detalhe .kb-modal-acao{
  background:#fff;border-color:#a9c6e4;color:#244f78;box-shadow:0 2px 5px rgba(22,63,103,.05);
}
html[data-theme="light"] .kb-modal-detalhe .kb-modal-acao:hover{
  background:#dcecff;border-color:#73a6df;color:#103f70;
}
html[data-theme="light"] .kb-modal-detalhe .kb-modal-acao-ico{color:#1e67bb;}
html[data-theme="light"] .kb-modal-detalhe .kb-modal-collab{
  background:#dfeeff;border-color:#83afe1;
}
html[data-theme="light"] .kb-modal-detalhe .kb-modal-collab .note-collab-avatar,
html[data-theme="light"] .kb-modal-detalhe .kb-modal-collab .note-collab-more{border-color:#fff;}
html[data-theme="light"] .kb-modal-detalhe :is(.kb-modal-secao-titulo h3,.kb-modal-arquivos-cab h3,.kb-modal-lateral-cab h3){
  color:#12395f;
}
html[data-theme="light"] .kb-modal-detalhe .kb-modal-secao-ico{color:#1f6abe;}
html[data-theme="light"] .kb-modal-detalhe .n-text{
  background:#f8fbff;border-color:#adc6de;color:#294d6c!important;
  -webkit-text-fill-color:#294d6c!important;box-shadow:inset 0 1px 3px rgba(29,68,105,.04);
}
html[data-theme="light"] .kb-modal-detalhe .n-text:focus{
  background:#fff;border-color:var(--light-brand);box-shadow:0 0 0 3px rgba(47,127,242,.13);
}
html[data-theme="light"] .kb-modal-detalhe :is(.kb-modal-checklist,.kb-modal-arquivos,.kb-atividade-lista){
  border-color:#cdddeb;
}
html[data-theme="light"] .kb-modal-detalhe .n-checklist-head{color:#355b7d;}
html[data-theme="light"] .kb-modal-detalhe .n-prog{background:#cfdeec;box-shadow:inset 0 1px 2px rgba(16,55,92,.1);}
html[data-theme="light"] .kb-modal-detalhe .n-prog>span{
  background:linear-gradient(90deg,#168eea,#33b7ed);box-shadow:0 0 8px rgba(30,142,234,.28);
}
html[data-theme="light"] .kb-modal-detalhe .n-ficha-cab>span,
html[data-theme="light"] .kb-modal-detalhe .n-ficha-lbl{color:#496984;}
html[data-theme="light"] .kb-modal-detalhe :is(.n-ficha-sel,.n-ficha-selo,.n-ficha-inp){
  background:#f5f9fe;border-color:#b7cde2;color:#234b6e;color-scheme:light;
}
html[data-theme="light"] .kb-modal-detalhe :is(.n-ficha-sel,.n-ficha-selo,.n-ficha-inp):focus{
  border-color:var(--light-brand);box-shadow:0 0 0 3px rgba(47,127,242,.12);
}
html[data-theme="light"] .kb-modal-detalhe .n-cl-selo{
  background:#e7f0fa;border-color:#bfd2e5;color:#355b7c;
}
html[data-theme="light"] .kb-modal-detalhe .n-cl-selo.para{
  background:#dceaff;border-color:#9fbee5;color:#174f88;
}
html[data-theme="light"] .kb-modal-detalhe .n-cl-opt{color:#537493;}
html[data-theme="light"] :is(.n-cl-pop){background:#fff;border-color:#a9c4df;color:#173b5d;box-shadow:0 20px 52px rgba(17,54,91,.24);}
html[data-theme="light"] :is(.n-cl-pop-tit,.n-cl-pop-vazio){color:#5a738b;}
html[data-theme="light"] .n-cl-pop-data{background:#f5f9fe;border-color:#b7cde2;color:#234b6e;color-scheme:light;}
html[data-theme="light"] .n-cl-pop-pessoa{color:#294e70;}
html[data-theme="light"] .n-cl-pop-pessoa:hover{background:#e5f0fc;}
html[data-theme="light"] .n-cl-pop-pessoa.sel{background:#d9eaff;color:#164f87;}
html[data-theme="light"] .n-cl-pop-limpar{background:#f2f7fc;border-color:#b7cde2;color:#496984;}
html[data-theme="light"] .kb-modal-detalhe :is(.f-item,.n-coment-item){
  background:#fff;border-color:#c9daea;color:#294d6c;box-shadow:0 2px 7px rgba(20,60,99,.05);
}
html[data-theme="light"] .kb-modal-detalhe .f-drop{
  background:#edf5ff;border-color:#8fb6de;color:#315b80;
}
html[data-theme="light"] .kb-modal-detalhe .f-drop:hover{background:#dcecff;color:#154f87;}
html[data-theme="light"] .kb-modal-detalhe .kb-modal-arquivos-qtd{
  background:#dcecff;color:#195691;
}
html[data-theme="light"] .kb-modal-detalhe .kb-modal-detalhes{
  background:#fff;border-color:#9ebddd;color:#21527e;
}
html[data-theme="light"] .kb-modal-detalhe .kb-modal-detalhes:hover{
  background:#dcecff;border-color:#73a6df;color:#103f70;
}
html[data-theme="light"] .kb-modal-detalhe .n-coment-inp{
  background:#fff;border-color:#a8c3df;color:#173f64!important;-webkit-text-fill-color:#173f64!important;
}
html[data-theme="light"] .kb-modal-detalhe .n-coment-enviar{
  background:var(--light-brand)!important;color:#fff!important;border-color:var(--light-brand-deep)!important;
}
html[data-theme="light"] .kb-modal-detalhe .kb-atividade-texto p{color:#294d6c;}
html[data-theme="light"] .kb-modal-detalhe .kb-atividade-texto time{color:#1763b5;}
html[data-theme="light"] .kb-modal-detalhe .kb-atividade-vazia{color:#5a7188;}

/* ── Roadmap: painel inteiro redesenhado em azul e branco ───────────── */
html[data-theme="light"] #rd-view{
  background:
    radial-gradient(70% 65% at 78% 4%,rgba(54,145,238,.22),transparent 68%),
    rgba(30,65,104,.34);
}
html[data-theme="light"] #rd-view .rd-painel{color:#1b3b5b;}
html[data-theme="light"] #rd-view .rd-lado{
  background:linear-gradient(180deg,#edf5ff,#f9fbfe 46%,#eaf3fd);
  border-color:#b8cfe7;box-shadow:0 18px 45px rgba(16,55,94,.2);backdrop-filter:blur(20px) saturate(120%);
}
html[data-theme="light"] #rd-view .rd-lado-topo{border-color:#bfd4e8;}
html[data-theme="light"] #rd-view :is(.rd-grupo-nome,.rd-lado-cab h3,.rd-item-nome,.rd-sobre-tit){color:#12395f;}
html[data-theme="light"] #rd-view :is(.rd-grupo-papel,.rd-item-sub,.rd-sobre p,.rd-equipe-txt){color:#57728c;}
html[data-theme="light"] #rd-view .rd-av{border-color:#fff;box-shadow:0 0 0 1px #aac4dd;}
html[data-theme="light"] #rd-view .rd-av.on{border-color:#10b981;box-shadow:0 0 0 1px #10b981;}
html[data-theme="light"] #rd-view .rd-av-mais{background:#d7e7f8;color:#2c567d;}
html[data-theme="light"] #rd-view .rd-item{background:#fff;border-color:#d3e1ee;}
html[data-theme="light"] #rd-view .rd-item:hover{background:#e4f0fd;border-color:#9fc0e2;}
html[data-theme="light"] #rd-view .rd-item.ativo{
  background:linear-gradient(100deg,#d8eaff,#eef6ff);border-color:#5998dd;
  box-shadow:inset 4px 0 var(--light-brand),0 4px 12px rgba(27,90,156,.08);
}
html[data-theme="light"] #rd-view .rd-selo{
  background:color-mix(in srgb,var(--c) 16%,#fff);color:color-mix(in srgb,var(--c) 72%,#102f50);
  border-color:color-mix(in srgb,var(--c) 48%,#a6bed7);
}
html[data-theme="light"] #rd-view .rd-sobre{background:#dfeeff;border-color:#a8c6e5;}
html[data-theme="light"] #rd-view .rd-corpo{
  background:#f5f8fc;border-color:#b5cde5;box-shadow:0 18px 45px rgba(16,55,94,.2);
  backdrop-filter:blur(18px) saturate(110%);overflow-x:hidden;
}
html[data-theme="light"] #rd-view .rd-topo{
  margin:-16px -18px 0;padding:17px 18px 16px;
  background:
    radial-gradient(560px 110px at 82% -35%,rgba(172,226,255,.34),transparent 72%),
    linear-gradient(105deg,#155ab7,var(--light-brand) 68%,#58a7f6);
  border-radius:15px 15px 0 0;box-shadow:0 6px 18px rgba(17,77,151,.18);
}
html[data-theme="light"] #rd-view .rd-topo h2{color:#fff;}
html[data-theme="light"] #rd-view .rd-topo p{color:rgba(255,255,255,.78);}
html[data-theme="light"] #rd-view .rd-topo .rd-estrela{color:rgba(255,255,255,.65);}
html[data-theme="light"] #rd-view .rd-topo .rd-estrela.on{color:#ffe36e;}
html[data-theme="light"] #rd-view .rd-topo .rd-btn{
  background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.35);color:#fff;
}
html[data-theme="light"] #rd-view .rd-topo .rd-btn:hover{background:rgba(255,255,255,.27);color:#fff;}
html[data-theme="light"] #rd-view .rd-topo .rd-btn.perigo{
  background:#fff;border-color:#fff;color:#b42331;
}
html[data-theme="light"] #rd-view .rd-barra{
  padding:9px 10px;background:#e6f0fb;border:1px solid #c5d8ea;border-radius:11px;
}
html[data-theme="light"] #rd-view .rd-vistas{background:#ccdef1;border:1px solid #b9cfe5;}
html[data-theme="light"] #rd-view .rd-vista{color:#3e607f;}
html[data-theme="light"] #rd-view .rd-vista:hover{background:#edf6ff;color:#16456f;}
html[data-theme="light"] #rd-view .rd-vista.ativo{
  background:var(--light-brand);color:#fff;box-shadow:0 3px 10px rgba(31,104,213,.25);
}
html[data-theme="light"] #rd-view .rd-btn{
  background:#fff;border-color:#9dbddd;color:#24527c;
}
html[data-theme="light"] #rd-view .rd-btn:hover{background:#dcecff;border-color:#6fa5dd;color:#103f70;}
html[data-theme="light"] #rd-view .rd-btn.primario{
  background:var(--light-brand);border-color:var(--light-brand-deep);color:#fff;
}
html[data-theme="light"] #rd-view .rd-btn.primario:hover{background:var(--light-brand-dark);color:#fff;}
html[data-theme="light"] #rd-view .rd-btn.perigo{background:#fff3f4;border-color:#f2a7ae;color:#a52732;}
html[data-theme="light"] #rd-view .rd-linha-cab{
  margin:0 -2px;padding:7px 2px 9px;
  background:linear-gradient(180deg,#16395e,#102d4d);border-radius:11px 11px 0 0;
  box-shadow:0 5px 14px rgba(13,45,78,.2);
}
html[data-theme="light"] #rd-view .rd-zoom{padding-left:8px;}
html[data-theme="light"] #rd-view .rd-zoom-esc{color:#d7e9fb;}
html[data-theme="light"] #rd-view .rd-zoom-bt{
  background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.24);color:#e8f3ff;
}
html[data-theme="light"] #rd-view .rd-zoom-bt:hover:not(:disabled){background:#2f7ff2;border-color:#78b3f5;color:#fff;}
html[data-theme="light"] #rd-view .rd-zoom-bt:disabled{opacity:.5;}
html[data-theme="light"] #rd-view .rd-regua{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.24);}
html[data-theme="light"] #rd-view .rd-regua-topo{border-color:rgba(255,255,255,.18);}
html[data-theme="light"] #rd-view .rd-col{border-color:rgba(255,255,255,.14);color:#c7def4;}
html[data-theme="light"] #rd-view .rd-regua-topo .rd-col{color:#f4f8ff;}
html[data-theme="light"] #rd-view .rd-col.fds{background:rgba(255,255,255,.08);}
html[data-theme="light"] #rd-view .rd-col.hoje{background:#2f7ff2;color:#fff;}
html[data-theme="light"] #rd-view .rd-linha-corpo{
  padding:12px 7px 8px;background:#eef4fb;border:1px solid #cbdbea;border-top:0;border-radius:0 0 12px 12px;
}
html[data-theme="light"] #rd-view .rd-grade i{border-color:rgba(43,94,143,.13);}
html[data-theme="light"] #rd-view .rd-raia-nome b{color:#173d61;}
html[data-theme="light"] #rd-view .rd-raia-nome small{color:#617b93;}
html[data-theme="light"] #rd-view .rd-pista{background:rgba(255,255,255,.78);border:1px solid rgba(181,205,229,.65);}
html[data-theme="light"] #rd-view .rd-hoje{border-color:#2f7ff2;}
html[data-theme="light"] #rd-view .rd-ini{
  background:linear-gradient(180deg,color-mix(in srgb,var(--c) 24%,#fff),color-mix(in srgb,var(--c) 15%,#f0f6fd));
  border-color:color-mix(in srgb,var(--c) 64%,#7f9ab5);box-shadow:0 3px 8px rgba(20,60,98,.1);
}
html[data-theme="light"] #rd-view .rd-ini:hover{filter:saturate(1.12);box-shadow:0 7px 18px rgba(20,60,98,.2);}
html[data-theme="light"] #rd-view .rd-ini-fill{background:color-mix(in srgb,var(--c) 24%,transparent);}
html[data-theme="light"] #rd-view .rd-ini-txt{color:#102f50;text-shadow:none;}
html[data-theme="light"] #rd-view .rd-ini-pct{color:#234b70;}
html[data-theme="light"] #rd-view .rd-ini-cl{background:rgba(19,62,101,.12);color:#173e62;}
html[data-theme="light"] #rd-view .rd-ini-cl.completo{background:#d7f5e9;color:#087652;}
html[data-theme="light"] #rd-view .rd-marcos{border-color:#c5d7e8;}
html[data-theme="light"] #rd-view .rd-marco{color:#294e70;}
html[data-theme="light"] #rd-view .rd-marco:hover{color:#0e4e8f;}
html[data-theme="light"] #rd-view .rd-marco-txt small{color:#617a91;}
html[data-theme="light"] #rd-view .rd-tabela th{color:#52708d;border-color:#bfd3e6;background:#e7f0fa;}
html[data-theme="light"] #rd-view .rd-tabela td{color:#284b69;border-color:#d3e1ed;}
html[data-theme="light"] #rd-view .rd-tabela tbody tr:hover{background:#e4f0fd;}
html[data-theme="light"] #rd-view .rd-rodape{border-color:#c5d7e8;}
html[data-theme="light"] #rd-view .rd-kpi{
  background:#fff;border-color:#c8d9e9;box-shadow:0 3px 10px rgba(22,65,106,.06);
}
html[data-theme="light"] #rd-view .rd-kpi span{color:#5a748c;}
html[data-theme="light"] #rd-view .rd-kpi b{color:#12395f;}
html[data-theme="light"] #rd-view .rd-kpi small{color:#6c8399;}
html[data-theme="light"] #rd-view .rd-prog{background:#ceddec;}
html[data-theme="light"] #rd-view .rd-prog i{background:linear-gradient(90deg,#1766c5,#45a4f3);}
html[data-theme="light"] #rd-view .rd-dica{background:#dfeeff;border-color:#a4c4e5;}
html[data-theme="light"] #rd-view .rd-dica-tit{color:#174d80;}
html[data-theme="light"] #rd-view .rd-dica p{color:#4f6c87;}
html[data-theme="light"] #rd-view .rd-vazio h3,
html[data-theme="light"] .rd-modal-topo h3{color:#12395f;}
html[data-theme="light"] #rd-view :is(.rd-vazio p,.rd-vazio-min){color:#5b748c;}
html[data-theme="light"] #rd-view .rd-sem-ini{border-color:#a9c4de;background:#edf5ff;}
html[data-theme="light"] :is(.rd-modal,.rd-pop,.rd-cl-pop){background:#fff;border-color:#a9c4df;color:#173b5d;box-shadow:0 22px 58px rgba(17,54,91,.25);}
html[data-theme="light"] :is(.rd-modal-topo,.rd-modal-pe){border-color:#d1dfec;}
html[data-theme="light"] .rd-modal-topo{background:#e3effd;border-radius:12px 12px 0 0;}
html[data-theme="light"] .rd-modal-x{background:#cfe0f2;color:#315a7e;}
html[data-theme="light"] .rd-modal-x:hover{background:#bad3ed;color:#103f70;}
html[data-theme="light"] .rd-modal .rd-btn{
  background:#fff;border-color:#9dbddd;color:#24527c;
}
html[data-theme="light"] .rd-modal .rd-btn:hover{background:#dcecff;border-color:#6fa5dd;color:#103f70;}
html[data-theme="light"] .rd-modal .rd-btn.primario{
  background:var(--light-brand);border-color:var(--light-brand-deep);color:#fff;
}
html[data-theme="light"] .rd-modal .rd-btn.primario:hover{background:var(--light-brand-dark);color:#fff;}
html[data-theme="light"] .rd-campo>span{color:#4e6c87;}
html[data-theme="light"] :is(.rd-campo input,.rd-campo select,.rd-cl-item .rd-cl-txt){background:#f7fbff;border-color:#b9cfe3;color:#173b5d;color-scheme:light;}
html[data-theme="light"] .rd-campo :is(input,select):focus{border-color:var(--light-brand);box-shadow:0 0 0 3px rgba(47,127,242,.12);}
html[data-theme="light"] .rd-nota{color:#5a738b;}
html[data-theme="light"] .rd-gente{background:#f3f8fd;border-color:#c4d7e8;}
html[data-theme="light"] .rd-gente-op{color:#365877;}
html[data-theme="light"] .rd-gente-op:hover{background:#e4f0fc;}
html[data-theme="light"] .rd-gente-op.on{background:#d9eaff;border-color:#77a8df;color:#123f6a;}
html[data-theme="light"] .rd-gente-tag{background:#dfeaf5;color:#456680;}
html[data-theme="light"] .rd-gente-check{color:#1766c5;}
html[data-theme="light"] .rd-cl-cab b{color:#496984;}
html[data-theme="light"] .rd-cl-box{background:#fff;border-color:#89a9c8;}
html[data-theme="light"] .rd-cl-item.feito .rd-cl-box{background:var(--light-brand);border-color:var(--light-brand);}
html[data-theme="light"] .rd-cl-item.feito .rd-cl-txt{color:#71879a;}
html[data-theme="light"] .rd-cl-x{color:#607d96;}
html[data-theme="light"] .rd-cl-quem{background:#eef5fc;border-color:#89a9c8;color:#456781;}
html[data-theme="light"] .rd-cl-quem:hover,
html[data-theme="light"] .rd-cl-quem.on{background:#d9eaff;border-color:#5c98da;color:#164f87;}
html[data-theme="light"] .rd-cl-pop button{color:#294e70;}
html[data-theme="light"] .rd-cl-pop button:hover{background:#e5f0fc;}
html[data-theme="light"] .rd-cl-pop button.on{background:var(--light-brand);color:#fff;}
html[data-theme="light"] .rd-cl-pop i{color:#617a91;}

/* ═══════════════════════════════════════════════════════════════════════
   CONTRASTE LOCAL — componentes que no escuro escrevem branco diretamente
   ═══════════════════════════════════════════════════════════════════════ */

/* Escolha "preencher agora" / "pedir para preencher". */
html[data-theme="light"] .pm-modal{background:#fff;border-color:#cbdced;color:var(--light-ink);}
html[data-theme="light"] .pm-modal .pm-h1{color:#102b49;}
html[data-theme="light"] .pm-modal .pm-sub{color:#5a728a;}
html[data-theme="light"] .pm-modal .pm-opt{
  background:#f4f8fd;border-color:#c9daeb;color:#173b5d;
}
html[data-theme="light"] .pm-modal .pm-opt:hover:not(:disabled){
  background:#e5f0ff;border-color:#79a8df;box-shadow:0 5px 15px rgba(24,84,145,.1);
}
html[data-theme="light"] .pm-modal .pm-opt-txt b{color:#173653;}
html[data-theme="light"] .pm-modal .pm-opt-txt i{color:#607991;}
html[data-theme="light"] .pm-modal .pm-cancelar{color:#607991;}
html[data-theme="light"] .pm-modal .pm-cancelar:hover{background:#edf5fc;color:#173653;}

/* A gaveta tem regras escuras muito específicas; cada nível recebe tinta.

   O `:not(.plano-cartao)` é o cartão do plano escapando do cobertor. Este
   bloco apaga o fundo de TODO botão da gaveta com `!important`, e
   `!important` não se resolve por especificidade: o cartão saía transparente
   por mais `#toolbar` que a regra dele carregasse. Ele é a única linha da
   gaveta que é cartão e não atalho, e é a única que precisa de fundo. */
html[data-theme="light"] .atalhos-pop>.t-btn:not(.plano-cartao){
  color:#294d70!important;background:transparent!important;border-color:transparent!important;opacity:1;
}
html[data-theme="light"] .atalhos-pop>.t-btn:not(.plano-cartao):hover{background:#e8f2fc!important;color:#102f50!important;}
html[data-theme="light"] .atalhos-pop>.t-btn svg{opacity:1;}
html[data-theme="light"] #toolbar .atalhos-pop .atalhos-linha .t-btn{
  background:#eef5fb!important;border-color:#cbddeb!important;color:#405f7d!important;
}
html[data-theme="light"] #toolbar .atalhos-pop .atalhos-linha .t-btn:hover{
  background:#dfeefa!important;color:#173653!important;
}
html[data-theme="light"] #toolbar .atalhos-pop .atalhos-linha .t-btn[aria-pressed="true"]{
  background:#d7e7ff!important;border-color:#8eb5e9!important;color:#174e9a!important;
}
html[data-theme="light"] .atalhos-pop :is(.gav-cab,.dnd-cab){color:#496883!important;}
html[data-theme="light"] .atalhos-pop :is(.gav-escopo,.dnd-estado,.barra-dica){color:#617b93!important;}
html[data-theme="light"] .atalhos-pop :is(.gav-linha,.gav-vazio,.gav-sub,.gav-limpar){color:#4b6881!important;}
html[data-theme="light"] .atalhos-pop :is(.gav-resumo,.dnd-bloco){
  background:#f5f9fd;border-color:#dce7f1;
}
html[data-theme="light"] .atalhos-pop .gav-nota{background:#eaf2fb;color:#294d70!important;}
html[data-theme="light"] .atalhos-pop .gav-nota:hover{background:#dcecff;color:#123d6b!important;}
html[data-theme="light"] .atalhos-pop .dnd-botoes{background:#e6eef7;border-color:#ceddea;}
html[data-theme="light"] .atalhos-pop .dnd-btn{background:transparent;color:#405f7b!important;}
html[data-theme="light"] .atalhos-pop .dnd-btn:hover{background:#fff;color:#173653!important;}
html[data-theme="light"] .atalhos-pop .dnd-btn.ativo{
  background:#d7e7ff;color:#174e9a!important;box-shadow:inset 0 0 0 1px #8eb5e9;
}
html[data-theme="light"] .atalhos-pop .barra-restaurar{color:#405f7b!important;}

/* Segunda linha do menu de modelos e datas vazias do Financeiro. */
html[data-theme="light"] .cdash-menu-item.sel{background:#e5f1ff;color:#125db3;}
html[data-theme="light"] .cdash-menu-item .cdash-menu-txt small{color:#637c94;}
html[data-theme="light"] .cdash-menu-item:hover .cdash-menu-txt small{color:#405f7b;}
html[data-theme="light"] .crm-date-cell{color:#496a89!important;}
html[data-theme="light"] .crm-date-empty{color:#6b8298!important;}
html[data-theme="light"] .crm-date-inp-edit{background:#f7fbff;border-color:#a9c5e0;color:#173653;color-scheme:light;}

/* Contratos: o arquivo do módulo fixa branco nos filtros e no título da linha. */
html[data-theme="light"] .ctr-busca svg{color:#587792;}
html[data-theme="light"] .ctr-busca input::placeholder{color:#8297aa;}
html[data-theme="light"] .ctr-sel{
  background-color:#fff;border-color:#bdd1e5;color:#294b69;color-scheme:light;
  background-image:linear-gradient(45deg,transparent 50%,#597792 50%),
    linear-gradient(135deg,#597792 50%,transparent 50%);
}
html[data-theme="light"] .ctr-ord{border-color:#cbdbea;color:#526e88;}
html[data-theme="light"] .ctr-ord:hover{background:#e8f2fd;border-color:#9ebdde;color:#173b5d;}
html[data-theme="light"] .ctr-ord.on{background:#dceaff;border-color:#7da9dc;color:#174f91;}
html[data-theme="light"] .ctr-tab-wrap{background:#fff;border-color:#cbdbea;}
html[data-theme="light"] .ctr-tab tbody tr+tr{border-color:#dce6ef;}
html[data-theme="light"] .ctr-td-nome b{color:#173653;}
html[data-theme="light"] .ctr-td-nome small{color:#6a8198;}
html[data-theme="light"] .ctr-selo{font-weight:800;}

/* Reuniões do grupo: no claro a hierarquia continua azul, sem meia opacidade. */
html[data-theme="light"] .reu-modal{background:#fff;border-color:#c6d9eb;color:var(--light-ink);}
html[data-theme="light"] .reu-cab{border-color:#d4e1ed;}
html[data-theme="light"] .reu-cab .m-h1{color:#102b49;}
html[data-theme="light"] .reu-sub{color:#58718a;}
html[data-theme="light"] .reu-cab-ico{
  background:linear-gradient(145deg,#e5efff,#dce8ff);border-color:#a7c2ee;color:#2865bd;
  box-shadow:0 8px 20px rgba(37,99,235,.14),inset 0 1px #fff;
}
html[data-theme="light"] .reu-x{background:#f4f8fd;border-color:#ceddea;color:#547089;}
html[data-theme="light"] .reu-x:hover{background:#e7f1fc;color:#173653;}
html[data-theme="light"] :is(.reu-secao,.reu-carregando,.reu-vazio-sub){color:#5d7690;}
html[data-theme="light"] .reu-vazio-tit{color:#173653;}
html[data-theme="light"] .reu-cartao{
  background:linear-gradient(155deg,#f5f9fe,#edf4fb);border-color:#c8daea;
  box-shadow:0 5px 15px rgba(25,66,105,.1),inset 0 1px #fff;
}
html[data-theme="light"] .reu-cartao:hover{
  border-color:#95b7d7;box-shadow:0 9px 22px rgba(25,66,105,.14),inset 0 1px #fff;
}
html[data-theme="light"] .reu-cartao.encerrada{opacity:1;background:#f1f4f8;}
html[data-theme="light"] .reu-data{background:#e6eef8;border-color:#cbdbea;}
html[data-theme="light"] :is(.reu-data-dia,.reu-data-prazo){color:#4f6c87;}
html[data-theme="light"] .reu-data-hora{color:#12395f;}
html[data-theme="light"] .reu-tit{color:#173653;}
html[data-theme="light"] :is(.reu-pauta,.reu-conta-ico,.reu-n,.reu-n.sem,.reu-gente-rot,.reu-gente-nomes,.reu-av-mais,.reu-autor,.reu-onde-ico,.reu-onde-txt){color:#5c7590;}
html[data-theme="light"] .reu-cad{background:#eee8ff;border-color:#c9b8f0;color:#6842a5;}
html[data-theme="light"] .reu-modo{background:#ddf6ef;border-color:#8bcfbc;color:#176c54;}
html[data-theme="light"] .reu-modo.presencial{background:#fff1d8;border-color:#e6bf70;color:#925d08;}
html[data-theme="light"] .reu-menu{color:#58718a;}
html[data-theme="light"] .reu-menu:hover{background:#e5eff9;border-color:#b8cee2;color:#173653;}
html[data-theme="light"] .reu-menu-pop{background:#fff;border-color:#bfd3e5;box-shadow:var(--light-shadow);}
html[data-theme="light"] .reu-menu-item{color:#3d5d79;}
html[data-theme="light"] .reu-menu-item:hover{background:#e8f2fc;color:#173653;}
html[data-theme="light"] .reu-resp-btn{background:#fff;border-color:#bfd3e5;color:#496781;}
html[data-theme="light"] .reu-resp-btn:hover{background:#edf5fc;color:#173653;}
html[data-theme="light"] .reu-resp-btn.r-vou{background:#e8f8f2;color:#087652;}
html[data-theme="light"] .reu-av{box-shadow:0 0 0 2px #f3f7fb;}

/* ── Contraste residual: atalhos, Contratos, nota aberta e reuniões ────
   Estes componentes têm superfícies próprias. Herdar apenas os tokens gerais
   fazia ícone claro cair sobre papel branco e texto branco cair sobre painel
   azul-claro. As regras ficam locais para não recolorir cartões nem listas. */
html[data-theme="light"] #toolbar .atalhos-pop>.t-btn svg{
  background:#e4effb;color:#315f88;opacity:1;
}
html[data-theme="light"] #toolbar .atalhos-pop>.t-btn:hover svg{
  background:#d2e5f8;color:#164f87;
}

/* Contratos — a visão geral usa nomes diferentes dos da listagem. */
html[data-theme="light"] #ctr-view .ctr-kpi{
  background:#fff;border-color:#cbdceb;box-shadow:0 8px 22px rgba(25,70,112,.08);
}
html[data-theme="light"] #ctr-view .ctr-kpi:hover{
  background:#f8fbff;border-color:#9fbddd;box-shadow:0 12px 28px rgba(25,70,112,.13);
}
html[data-theme="light"] #ctr-view :is(.ctr-kpi-rot,.ctr-kpi-sub){color:#54718d;}
html[data-theme="light"] #ctr-view .ctr-kpi-num{color:#173653;}
html[data-theme="light"] #ctr-view .ctr-kpi.k-verde .ctr-kpi-num{color:#07966d;}
html[data-theme="light"] #ctr-view .ctr-kpi.k-ambar .ctr-kpi-num{color:#b66b00;}
html[data-theme="light"] #ctr-view .ctr-kpi.k-vermelho .ctr-kpi-num{color:#cf3f4f;}
html[data-theme="light"] #ctr-view .ctr-kpi.k-azul .ctr-kpi-num{color:#1686c9;}
html[data-theme="light"] #ctr-view .ctr-kpi.k-indigo .ctr-kpi-num{color:#6558df;}
html[data-theme="light"] #ctr-view .ctr-kpi.k-teal .ctr-kpi-num{color:#0d9e8c;}
html[data-theme="light"] #ctr-view .ctr-kpi.k-roxo .ctr-kpi-num{color:#7b58db;}
html[data-theme="light"] #ctr-view .ctr-heroi{
  background:
    radial-gradient(620px 220px at 8% 0%,rgba(156,217,255,.38),transparent 62%),
    linear-gradient(108deg,#1d66ce 0%,#2f7ff2 62%,#56a6f5 100%);
  border-color:#1d66ce;box-shadow:0 15px 34px rgba(29,102,206,.22);
}
html[data-theme="light"] #ctr-view :is(.ctr-heroi-rot,.ctr-heroi-sub){color:rgba(255,255,255,.82);}
html[data-theme="light"] #ctr-view .ctr-heroi-val{color:#fff;text-shadow:0 2px 10px rgba(10,55,120,.18);}
html[data-theme="light"] #ctr-view .ctr-anel-n{fill:#fff;}
html[data-theme="light"] #ctr-view .ctr-anel-txt b{color:#fff;}
html[data-theme="light"] #ctr-view .ctr-anel-txt span{color:rgba(255,255,255,.78);}
html[data-theme="light"] #ctr-view .ctr-bloco{
  background:#fff;border-color:#cbdceb;box-shadow:0 8px 24px rgba(25,70,112,.07);
}
html[data-theme="light"] #ctr-view :is(.ctr-sec,.ctr-graf-topo b){color:#173653;}
html[data-theme="light"] #ctr-view :is(.ctr-sec-sub,.ctr-graf-topo span){color:#637d96;}
html[data-theme="light"] #ctr-view .ctr-gbar.vazia i{background:#dce7f2;}
html[data-theme="light"] #ctr-view .ctr-gbar-v{color:#355d80;}
html[data-theme="light"] #ctr-view .ctr-gbar-m{color:#6a8298;}
html[data-theme="light"] #ctr-view .ctr-rosca-leg li{color:#365a79;}
html[data-theme="light"] #ctr-view .ctr-rosca-leg em{color:#6a8298;}
html[data-theme="light"] #ctr-view .ctr-rosca-leg b{color:#173653;}
html[data-theme="light"] #ctr-view .ctr-funil-et:hover{background:#edf5fd;border-color:#c5d8e9;}
html[data-theme="light"] #ctr-view .ctr-funil-rot{color:#365a79;}
html[data-theme="light"] #ctr-view .ctr-funil-tr b{color:#173653;}
html[data-theme="light"] #ctr-view .ctr-funil-val{color:#5e7891;}
html[data-theme="light"] #ctr-view .ctr-feed li{color:#284f72;}
html[data-theme="light"] #ctr-view .ctr-feed time{color:#667f96;}
html[data-theme="light"] #ctr-view :is(.ctr-mini-nome,.ctr-proximo b){color:#173653;}
html[data-theme="light"] #ctr-view :is(.ctr-sem,.ctr-vazio-min){color:#617b93;}

/* A nota aberta é um editor: estados concluído/encerrado não podem reduzir
   a opacidade a ponto de esconder título, descrição e datas. */
html[data-theme="light"] .kb-modal-detalhe .note.n-em-modal :is(.n-title,.n-body-inline,.n-text,.n-dates){opacity:1!important;}
html[data-theme="light"] .kb-modal-detalhe .note.n-em-modal .n-title{
  color:#102f50!important;-webkit-text-fill-color:#102f50!important;
  text-decoration-color:#557694!important;
}
html[data-theme="light"] .kb-modal-detalhe .note.n-em-modal .n-title::placeholder,
html[data-theme="light"] .kb-modal-detalhe .note.n-em-modal .n-text::placeholder{
  color:#7890a7!important;-webkit-text-fill-color:#7890a7!important;
}
html[data-theme="light"] .kb-modal-detalhe :is(.n-date-tag,.n-dates-lbl){color:#526f8a!important;}
html[data-theme="light"] .kb-modal-detalhe .n-date-row svg{color:#557793!important;opacity:1;}
html[data-theme="light"] .kb-modal-detalhe .n-dinput{
  background:#f5f9fe!important;border-color:#b4cbe1!important;color:#244d70!important;
  -webkit-text-fill-color:#244d70!important;color-scheme:light;opacity:1!important;
}
html[data-theme="light"] .kb-modal-detalhe .n-color-btn{
  background:#e8f1fa;color:#355c7e;border:1px solid #bfd3e6;
}
html[data-theme="light"] .kb-modal-detalhe :is(.n-cl-text,.n-cl-item.done .n-cl-text){
  color:#234b6e!important;-webkit-text-fill-color:#234b6e!important;opacity:1;
}
html[data-theme="light"] .kb-modal-detalhe .n-cl-item.done .n-cl-text{color:#657f97!important;}
html[data-theme="light"] .kb-modal-detalhe .n-checklist-add{
  background:#e4effa;border-color:#adc7df;color:#1f65a8;
}
html[data-theme="light"] .kb-modal-detalhe .n-cl-del{color:#536b84;opacity:.7;}
html[data-theme="light"] .kb-modal-detalhe .kb-modal-etiquetas-pop{
  background:#fff;border-color:#b9cee2;box-shadow:0 16px 38px rgba(18,58,96,.2);
}

/* Formulário de reunião: todos os rótulos e os dois estados da escolha. */
html[data-theme="light"] .reu-form{background:#fff;border-color:#b9cee2;color:#173653;}
html[data-theme="light"] .reu-form .m-h1{color:#102f50;}
html[data-theme="light"] .reu-form .reu-lbl{color:#496984;}
html[data-theme="light"] .reu-form .m-inp{
  background:#f5f9fe;border-color:#b7cde2;color:#173f64;-webkit-text-fill-color:#173f64;color-scheme:light;
}
html[data-theme="light"] .reu-form .m-inp::placeholder{color:#7890a7;-webkit-text-fill-color:#7890a7;}
html[data-theme="light"] .reu-form .reu-modo-btn{
  background:#f2f7fc;border-color:#b8cee2;color:#426583;
}
html[data-theme="light"] .reu-form .reu-modo-btn:hover{background:#e5f0fc;color:#173653;}
html[data-theme="light"] .reu-form .reu-modo-btn.escolhido{
  background:#dceaff;border-color:#77a8e0;color:#1559a1;box-shadow:inset 0 0 0 1px rgba(47,127,242,.12);
}
html[data-theme="light"] .reu-form .reu-explica{color:#526f8b;}
html[data-theme="light"] .reu-form .m-cancel{background:#e9f0f7;color:#466681;}
html[data-theme="light"] .reu-form .m-cancel:hover{background:#dbe8f4;color:#173653;}

/* O construtor permanece deliberadamente escuro também no tema claro. Ele
   precisa, portanto, de tokens próprios; herdar --clr-text claro (escuro)
   tornava etapas e valores invisíveis. A prévia continua sendo papel branco. */
html[data-theme="light"] .fm-card{
  --clr-text:#f2f5fa;--clr-border:rgba(255,255,255,.13);
  background:#12121a;border-color:rgba(255,255,255,.14);color:#f2f5fa;
}
html[data-theme="light"] .fm-card :is(.fm-h1,.fm-passo-txt b,.fm-opt-txt b){color:#eef3fa;}
html[data-theme="light"] .fm-card :is(.fm-passo-txt i,.fm-opc,.fm-sub2,.fm-cont){color:#9aa7b7;}
html[data-theme="light"] .fm-card .fm-lbl{color:#d8e0ea;}
html[data-theme="light"] .fm-card :is(.fm-inp,.fm-campo-rot,.fm-opcoes-inp){
  color:#edf2f8!important;-webkit-text-fill-color:#edf2f8!important;
}
html[data-theme="light"] .fm-card :is(.fm-inp,.fm-opcoes-inp)::placeholder{
  color:#8795a7!important;-webkit-text-fill-color:#8795a7!important;
}
html[data-theme="light"] .fm-card .fm-campo-tipo{color:#dce4ee;color-scheme:dark;}
html[data-theme="light"] .fm-card .fm-destino{color:#f2f5fa;}
html[data-theme="light"] .fm-card .fm-destino-txt b{color:#edf2f8;}
html[data-theme="light"] .fm-card .fm-destino-txt i{color:#a1adbc;}
html[data-theme="light"] .fm-card .fm-destino-cab b{color:#edf2f8;}
html[data-theme="light"] .fm-card .fm-destino-cab span{color:#9eabba;}
html[data-theme="light"] .fm-card .fm-previa-tela{color:#16161a;}

/* Barra larga: um ganho discreto de alvo e leitura, sem mudar sua altura nem
   forçar quebra nas larguras em que a versão compacta já é necessária. */
@media (min-width:1281px){
  html[data-theme="light"] #toolbar>.t-btn{
    padding:7px 12px;font-size:.76rem;gap:6px;
  }
  html[data-theme="light"] #toolbar>.t-pill{
    padding:5px 13px 5px 9px;font-size:.76rem;
  }
  html[data-theme="light"] #toolbar #ws-toolbar-btn .ws-active-badge{
    padding:4px 11px;font-size:.72rem;
  }
}

/* O aviso pertence à lista e deve respeitar a tinta dela. A regra clara
   genérica criava uma faixa branca dentro das listas coloridas. */
html[data-theme="light"] .kb-lista .kb-ajuda{
  background:transparent;border:0;color:rgba(255,255,255,.72);
}
html[data-theme="light"] .kb-lista.claro .kb-ajuda{
  color:rgba(15,23,42,.55);
}

/* Contratos — detalhe completo. O módulo foi desenhado originalmente sobre
   superfícies escuras e várias camadas usavam branco translúcido diretamente.
   No tema claro cada aba recebe papel, tinta e borda próprios. */
html[data-theme="light"] #ctr-view .ctr-det-cab{border-color:#cbdceb;}
html[data-theme="light"] #ctr-view .ctr-det-cab h2{color:#102f50;}
html[data-theme="light"] #ctr-view .ctr-det-cab p{color:#58738d;}
html[data-theme="light"] #ctr-view .ctr-abas{border-color:#cbdbea;}
html[data-theme="light"] #ctr-view .ctr-aba{color:#526f89;}
html[data-theme="light"] #ctr-view .ctr-aba:hover{color:#173653;background:#eaf3fd;}
html[data-theme="light"] #ctr-view .ctr-aba.on{color:#145fbd;border-bottom-color:#2f7ff2;background:#fff;}
html[data-theme="light"] #ctr-view .ctr-aba i{background:#dceaff;color:#1d5eaa;opacity:1;}

html[data-theme="light"] #ctr-view .ctr-proximo{
  background:linear-gradient(105deg,#e3ecff,#f4f8ff);border-color:#aebfff;
}
html[data-theme="light"] #ctr-view .ctr-proximo span{color:#3565aa;}
html[data-theme="light"] #ctr-view .ctr-proximo b{color:#173653;}
html[data-theme="light"] #ctr-view .ctr-proximo i{color:#5d7690;}
html[data-theme="light"] #ctr-view .ctr-grade{background:#d9e5f0;border-color:#c5d7e7;}
html[data-theme="light"] #ctr-view .ctr-info{background:#fff;}
html[data-theme="light"] #ctr-view .ctr-info span{color:#5a7590;}
html[data-theme="light"] #ctr-view .ctr-info b{color:#173653;}
html[data-theme="light"] #ctr-view .ctr-info b.verde{color:#078662;}
html[data-theme="light"] #ctr-view .ctr-info b.ambar{color:#a96200;}
html[data-theme="light"] #ctr-view .ctr-texto h3{color:#173653;}
html[data-theme="light"] #ctr-view .ctr-texto p{color:#365b7a;}
html[data-theme="light"] #ctr-view .ctr-tags span{background:#e5eef8;color:#315a7d;border-color:#bfd3e5;}
html[data-theme="light"] #ctr-view .ctr-acoes-fim{border-color:#cbdceb;}
html[data-theme="light"] #ctr-view .ctr-aviso{background:#fff7e1;border-color:#e7c168;color:#6f4b08;}
html[data-theme="light"] #ctr-view .ctr-aviso b{color:#8a5700;}

html[data-theme="light"] #ctr-view .ctr-progresso{background:#fff;border:1px solid #cbdceb;}
html[data-theme="light"] #ctr-view .ctr-prog-topo span{color:#526f89;}
html[data-theme="light"] #ctr-view .ctr-prog-topo b{color:#07966d;}
html[data-theme="light"] #ctr-view .ctr-prog-barra{background:#c7d4e1;}
html[data-theme="light"] #ctr-view .ctr-prog-nums{background:#d9e5f0;}
html[data-theme="light"] #ctr-view .ctr-parcela{background:#fff;border-color:#c8d9e9;}
html[data-theme="light"] #ctr-view .ctr-parcela.tem{background:#effaf6;border-color:#8bcfba;}
html[data-theme="light"] #ctr-view .ctr-pc-n{color:#58738d;}
html[data-theme="light"] #ctr-view .ctr-pc-data{color:#234d70;}
html[data-theme="light"] #ctr-view .ctr-pc-val{color:#173653;}
html[data-theme="light"] #ctr-view .ctr-pc-st{color:#59748e;}

html[data-theme="light"] #ctr-view .ctr-etapa,
html[data-theme="light"] #ctr-view .ctr-assina,
html[data-theme="light"] #ctr-view .ctr-aditivo,
html[data-theme="light"] #ctr-view .ctr-arq{
  background:#fff;border-color:#c8d9e9;box-shadow:0 5px 15px rgba(25,70,112,.05);
}
html[data-theme="light"] #ctr-view .ctr-etapa.agora{background:#f3f7ff;}
html[data-theme="light"] #ctr-view .ctr-etapa-cab b{color:#173653;}
html[data-theme="light"] #ctr-view .ctr-etapa-cab span{color:#58738d;}
html[data-theme="light"] #ctr-view .ctr-etapa p{color:#456985;}
html[data-theme="light"] #ctr-view .ctr-assina-quem b{color:#173653;}
html[data-theme="light"] #ctr-view .ctr-assina-quem span{color:#506e89;}
html[data-theme="light"] #ctr-view .ctr-assina-quem em{color:#6a8299;}
html[data-theme="light"] #ctr-view .ctr-assina-data{color:#5c7590;}
html[data-theme="light"] #ctr-view .ctr-adt-cab b{color:#173653;}
html[data-theme="light"] #ctr-view .ctr-adt-cab time{color:#617b93;}
html[data-theme="light"] #ctr-view .ctr-aditivo p{color:#3f6380;}
html[data-theme="light"] #ctr-view .ctr-adt-mudou{color:#5b7590;}
html[data-theme="light"] #ctr-view .ctr-adt-mudou b{color:#173653;}
html[data-theme="light"] #ctr-view .ctr-adt-por{color:#617b93;}
html[data-theme="light"] #ctr-view .ctr-arq span,
html[data-theme="light"] #ctr-view .ctr-arq>a{color:#214f76;}
html[data-theme="light"] #ctr-view .ctr-arq>a:hover{color:#145fbd;}
html[data-theme="light"] #ctr-view .ctr-arq em,
html[data-theme="light"] #ctr-view .ctr-arq time{color:#607a92;}

html[data-theme="light"] #ctr-view .ctr-historico{gap:7px;}
html[data-theme="light"] #ctr-view .ctr-historico li{
  background:#fff;border:1px solid #cbdceb;border-radius:10px;padding:11px 13px;
}
html[data-theme="light"] #ctr-view .ctr-historico b{color:#284f72;}
html[data-theme="light"] #ctr-view .ctr-historico time{color:#617b93;}
html[data-theme="light"] #ctr-view :is(.ctr-ajuda,.ctr-conta,.ctr-vazio-min,.ctr-sem){color:#58738d;}

/* Formulários, importação e análise de desempenho fazem parte do mesmo fluxo. */
html[data-theme="light"] :is(.ctr-form,.ctr-form-min) .ctr-grupo{color:#173653;}
html[data-theme="light"] :is(.ctr-form,.ctr-form-min) .ctr-grupo::after{background:#c7d8e8;}
html[data-theme="light"] :is(.ctr-form,.ctr-form-min) .ctr-check{color:#365b7a;}
html[data-theme="light"] :is(.ctr-form,.ctr-form-min) .ctr-bloco-dobra{background:#fff;border-color:#c2d5e6;}
html[data-theme="light"] :is(.ctr-form,.ctr-form-min) .ctr-bloco-dobra:hover{border-color:#8fb2d2;}
html[data-theme="light"] :is(.ctr-form,.ctr-form-min) .ctr-bloco-dobra[open]{background:#f5f9fd;}
html[data-theme="light"] :is(.ctr-form,.ctr-form-min) .ctr-bloco-dobra summary{color:#284f72;}
html[data-theme="light"] :is(.ctr-form,.ctr-form-min) .ctr-bloco-dobra summary i{color:#617b93;}
html[data-theme="light"] .ctr-lido{background:#f3f7fb;border:1px solid #c7d8e8;}
html[data-theme="light"] .ctr-lido-rot{color:#5b7590;}
html[data-theme="light"] .ctr-lido-val{color:#173653;}
html[data-theme="light"] .ctr-lido-org{color:#58738d;border-color:#b8cde0;}
html[data-theme="light"] .ctr-lido-parte{background:#fff;border-color:#c7d8e8;}
html[data-theme="light"] .ctr-lido-parte:hover{background:#edf4ff;border-color:#9dbce0;}
html[data-theme="light"] .ctr-lido-parte b{color:#173653;}
html[data-theme="light"] .ctr-lido-parte em{color:#5b7590;}
html[data-theme="light"] .ctr-lendo{color:#365b7a;}
html[data-theme="light"] .ctr-ia-nota{background:#fff;border-color:#c7d8e8;}
html[data-theme="light"] .ctr-ia-de{color:#617b93;}
html[data-theme="light"] .ctr-ia-barra{background:#cbd8e5;}
html[data-theme="light"] .ctr-ia-vered{color:#365b7a;}
html[data-theme="light"] .ctr-ia-lista li{background:#f4f8fc;color:#284f72;}
html[data-theme="light"] .ctr-ia-lista.falta li::before{color:#617b93;}
html[data-theme="light"] .ctr-x{color:#617b93;}
html[data-theme="light"] .ctr-x:hover{background:#feecef;color:#b42335;}

/* Estoque — cobertura integral das oito seções. A folha original usa branco
   translúcido como tinta em quase todos os componentes; sobre o papel claro
   isso apagava relatórios, tabelas, fichas e formulários inteiros. */
html[data-theme="light"] #est-view .est-nav-item{color:#486985;}
html[data-theme="light"] #est-view .est-nav-item:hover{background:#f5f9fd;color:#173653;}
html[data-theme="light"] #est-view .est-nav-item.ativo{color:#145fbd;}
html[data-theme="light"] #est-view .est-nav-item.ativo::after{background:#2f7ff2;}
html[data-theme="light"] #est-view .est-analises{border-bottom:1px solid #ccdceb;}
html[data-theme="light"] #est-view .est-an-item{color:#526f89;}
html[data-theme="light"] #est-view .est-an-item:hover{background:#eaf3fd;color:#173653;}
html[data-theme="light"] #est-view .est-an-item.ativo{background:#fff;border-color:#bdd1e4;color:#145fbd;}
html[data-theme="light"] #est-view .est-btn{background:#fff;border-color:#bfd3e5;color:#315a7d;}
html[data-theme="light"] #est-view .est-btn:hover{background:#eaf3fd;border-color:#91b2d1;color:#173653;}
html[data-theme="light"] #est-view .est-btn.primario{background:#1668cf;border-color:#1668cf;color:#fff;}
html[data-theme="light"] #est-view .est-btn-ia{background:#f1eaff;border-color:#cbb8ed;color:#6842a5;}
html[data-theme="light"] #est-view .est-btn-modelo{background:#e5efff;border-color:#aac7e8;color:#1f5fa4;}
html[data-theme="light"] #est-view .est-btn-perigo{background:#fff0f2;border-color:#e9a7b0;color:#a92d3e;}

html[data-theme="light"] #est-view :is(.est-kpi,.est-bloco,.est-card,.est-res-num){
  background:#fff;background-image:none;border-color:#c8d9e9;box-shadow:0 8px 24px rgba(25,70,112,.07);
}
html[data-theme="light"] #est-view :is(.est-kpi,.est-bloco,.est-card):hover{border-color:#9dbbd6;background:#fff;}
html[data-theme="light"] #est-view .est-kpi-num{color:#132d48;}
html[data-theme="light"] #est-view :is(.est-kpi-lbl,.est-kpi-pe,.est-kpi-dica){color:#58738d;}
html[data-theme="light"] #est-view .est-kpi-pe.atencao{color:#a96200;}
html[data-theme="light"] #est-view .est-kpi-pe.ruim{color:#b72f42;}
html[data-theme="light"] #est-view .est-cont{background:#e5eef8;color:#3f6280;}
html[data-theme="light"] #est-view .est-bloco-topo h3{color:#173653;}
html[data-theme="light"] #est-view .est-bloco-topo h3>.est-janela{background:#e8f0f8;color:#516f8b;}
html[data-theme="light"] #est-view .est-card h4{color:#173653;}
html[data-theme="light"] #est-view .est-card-sub{color:#5b7590;}

html[data-theme="light"] #est-view .est-periodos{background:#e5edf6;}
html[data-theme="light"] #est-view .est-per{color:#466681;}
html[data-theme="light"] #est-view .est-per.ativo{background:#cfdcff;color:#174f96;}
html[data-theme="light"] #est-view .est-gr-legenda{color:#4f6e89;}
html[data-theme="light"] #est-view .est-alerta:hover,
html[data-theme="light"] #est-view :is(.est-barra-l,.est-linha-m,.est-linha-v,.est-hist li):hover{background:#edf5fc;}
html[data-theme="light"] #est-view .est-alerta-txt b{color:#173653;}
html[data-theme="light"] #est-view .est-alerta-txt em{color:#58738d;}
html[data-theme="light"] #est-view .est-barra-nome{color:#284f72;}
html[data-theme="light"] #est-view .est-barra-tr{background:#d6e2ed;}
html[data-theme="light"] #est-view :is(.est-barra-n,.est-barra-cob){color:#58738d;}
html[data-theme="light"] #est-view .est-lm-nome{color:#284f72;}
html[data-theme="light"] #est-view .est-lm-n{color:#173653;}
html[data-theme="light"] #est-view .est-lv-txt b{color:#173653;}
html[data-theme="light"] #est-view .est-lv-txt em{color:#607a92;}
html[data-theme="light"] #est-view .est-lv-qtd{color:#4f6e89;}
html[data-theme="light"] #est-view .est-abc-txt{color:#456985;}
html[data-theme="light"] #est-view :is(.est-col-n,.est-col-r){color:#58738d;}
html[data-theme="light"] #est-view .est-rosca-n{fill:#173653;}
html[data-theme="light"] #est-view .est-rosca-l{fill:#607a92;}
html[data-theme="light"] #est-view .est-rosca-leg span{color:#284f72;}
html[data-theme="light"] #est-view .est-rosca-leg em{color:#607a92;}
html[data-theme="light"] #est-view .est-rosca-leg b{color:#173653;}

html[data-theme="light"] #est-view .est-busca{background:#fff;border-color:#bfd3e5;}
html[data-theme="light"] #est-view .est-busca span{color:#58738d;}
html[data-theme="light"] #est-view .est-busca input{color:#173653;-webkit-text-fill-color:#173653;}
html[data-theme="light"] #est-view .est-busca input::placeholder{color:#7890a7;-webkit-text-fill-color:#7890a7;}
html[data-theme="light"] #est-view :is(.est-sel,.est-map-sel){
  background-color:#fff;border-color:#bfd3e5;color:#284f72;color-scheme:light;
  background-image:linear-gradient(45deg,transparent 50%,#58738d 50%),linear-gradient(135deg,#58738d 50%,transparent 50%);
}
html[data-theme="light"] #est-view select option,
html[data-theme="light"] .est-modal select option{background:#fff;color:#173653;}
html[data-theme="light"] #est-view .est-tabela-wrap{background:#fff;border-color:#c8d9e9;}
html[data-theme="light"] #est-view .est-tabela thead th{background:#eaf2fa;color:#496984;border-color:#c8d9e9;}
html[data-theme="light"] #est-view .est-tabela td{color:#365b7a;border-color:#dce6ef;}
html[data-theme="light"] #est-view .est-tabela tbody tr:hover{background:#edf5fc;}
html[data-theme="light"] #est-view :is(.est-nome,.est-cel-txt b){color:#173653;}
html[data-theme="light"] #est-view :is(.est-marca,.est-cel-txt em,.est-tabela .num em){color:#607a92;}
html[data-theme="light"] #est-view .est-td-vazio{color:#58738d;}
html[data-theme="light"] #est-view .est-nivel-t{background:#d3e0eb;}

html[data-theme="light"] #est-view .est-dl dt{color:#496984;}
html[data-theme="light"] #est-view .est-dl dd{color:#173653;}
html[data-theme="light"] #est-view .est-voltar{color:#315f88;}
html[data-theme="light"] #est-view .est-voltar:hover{color:#145fbd;}
html[data-theme="light"] #est-view .est-prod-nome{color:#102f50;}
html[data-theme="light"] #est-view .est-prod-meta{color:#58738d;}
html[data-theme="light"] #est-view .est-prod-meta .est-mono{color:#58738d;}
html[data-theme="light"] #est-view .est-desc{color:#456985;}
html[data-theme="light"] #est-view .est-info-l+.est-info-l{border-color:#d7e3ed;}
html[data-theme="light"] #est-view .est-info-l dt{color:#496984;}
html[data-theme="light"] #est-view .est-info-l .est-fio{border-color:#b9cddd;}
html[data-theme="light"] #est-view .est-info-l dd{color:#173653;}
html[data-theme="light"] #est-view .est-info-l dd.vazio{color:#70869b;}
html[data-theme="light"] #est-view .est-hist li{color:#456985;}
html[data-theme="light"] #est-view :is(.est-hist-data,.est-hist-obs,.est-hist-fim,.est-hist-mot){color:#607a92;}
html[data-theme="light"] #est-view .est-hist-tipo{color:#284f72;}
html[data-theme="light"] #est-view .est-venc:hover{background:#edf5fc;border-color:#c6d8e8;}
html[data-theme="light"] #est-view .est-venc-n{background:#e5eef8;color:#456985;}
html[data-theme="light"] #est-view .est-venc-txt b{color:#173653;}
html[data-theme="light"] #est-view .est-venc-txt em{color:#58738d;}
html[data-theme="light"] #est-view .est-venc-qtd{color:#496984;}
html[data-theme="light"] #est-view .est-venc-dias{background:#e8f0f8;border-color:#bfd3e5;color:#456985;}

html[data-theme="light"] #est-view .est-id-linha,
html[data-theme="light"] #est-view .est-id-extras{border-color:#d7e3ed;}
html[data-theme="light"] #est-view .est-id-rot{color:#496984;}
html[data-theme="light"] #est-view .est-id-val{color:#173653;}
html[data-theme="light"] #est-view .est-id-linha.vazio .est-id-val{color:#70869b;}
html[data-theme="light"] #est-view .est-id-btn{color:#58738d;}
html[data-theme="light"] #est-view .est-id-btn:hover{background:#eaf3fd;color:#173653;}
html[data-theme="light"] #est-view .est-id-chip{background:#e5eef8;color:#365b7a;}
html[data-theme="light"] #est-view .est-dup-alvo{background:#f5f9fd;border-color:#c8d9e9;}
html[data-theme="light"] #est-view .est-dup-qtd{color:#496984;}

html[data-theme="light"] :is(.est-modal,.est-perg-modal){background:#fff;border-color:#bfd3e5;color:#173653;}
html[data-theme="light"] .est-modal-topo h3{color:#102f50;}
html[data-theme="light"] .est-modal-x{background:#e8f0f8;color:#496984;}
html[data-theme="light"] .est-modal-x:hover{background:#dbe8f4;color:#173653;}
html[data-theme="light"] .est-modal-pe{border-color:#d4e1ec;}
html[data-theme="light"] .est-form-secao{color:#496984;}
html[data-theme="light"] .est-campo>span{color:#496984;}
html[data-theme="light"] .est-campo :is(input,select,textarea),
html[data-theme="light"] .est-item-linha :is(input,select),
html[data-theme="light"] .est-inv-inp,
html[data-theme="light"] .est-cat-criar input,
html[data-theme="light"] :is(.est-calc-modo,.est-calc-valor),
html[data-theme="light"] .est-perg-campo{
  background:#f5f9fd;border-color:#b9cee2;color:#173653;-webkit-text-fill-color:#173653;color-scheme:light;
}
html[data-theme="light"] .est-perg-campo::placeholder{color:#7890a7;-webkit-text-fill-color:#7890a7;}
html[data-theme="light"] .est-nota{color:#58738d;}
html[data-theme="light"] .est-item-x{background:#e8f0f8;color:#58738d;}
html[data-theme="light"] .est-calc{background:#f0f4ff;border-color:#b9c8f1;}
html[data-theme="light"] .est-calc-tit{color:#365b7a;}
html[data-theme="light"] .est-calc-previa{color:#315fa8;}
html[data-theme="light"] .est-calc-previa.fraca{color:#607a92;}
html[data-theme="light"] .est-calc-auto{color:#365b7a;}
html[data-theme="light"] .est-conta{background:#f5f9fd;border-color:#c8d9e9;}
html[data-theme="light"] .est-conta-txt{color:#496984;}
html[data-theme="light"] :is(.est-conta-n,.est-conta-op,.est-conta-un){color:#58738d;}
html[data-theme="light"] .est-conta-n.destaque{color:#315fa8;}
html[data-theme="light"] .est-conta-n.forte{color:#173653;}
html[data-theme="light"] .est-link{color:#145fbd;}
html[data-theme="light"] .est-lote-chip{background:#e9e8ff;border-color:#b8b5eb;color:#4b48a5;}
html[data-theme="light"] .est-lote-chip i{color:#69679e;}

html[data-theme="light"] .est-arquivo{background:#f7fbff;border-color:#aebfd0;}
html[data-theme="light"] .est-arquivo:hover{background:#edf9f5;border-color:#52aa8e;}
html[data-theme="light"] .est-arquivo-ico{color:#496984;}
html[data-theme="light"] .est-arquivo b{color:#173653;}
html[data-theme="light"] .est-arquivo em{color:#58738d;}
html[data-theme="light"] .est-map-col b{color:#173653;}
html[data-theme="light"] .est-map-col em{color:#58738d;}
html[data-theme="light"] .est-map-seta{color:#6b8298;}
html[data-theme="light"] .est-radio{background:#f5f9fd;border-color:#c8d9e9;color:#365b7a;}
html[data-theme="light"] .est-radio.ativo{background:#e7f7f1;border-color:#79bea9;color:#08765a;}
html[data-theme="light"] .est-imp-num{background:#f5f9fd;border-color:#c8d9e9;}
html[data-theme="light"] .est-imp-num b{color:#173653;}
html[data-theme="light"] .est-imp-num span{color:#58738d;}
html[data-theme="light"] .est-imp-erros b{color:#496984;}
html[data-theme="light"] .est-imp-erros span{color:#173653;}
html[data-theme="light"] .est-imp-erros em{color:#58738d;}
html[data-theme="light"] .est-imp-resumo li{border-color:#d7e3ed;}
html[data-theme="light"] .est-imp-resumo span{color:#496984;}
html[data-theme="light"] .est-imp-resumo b{color:#173653;}
html[data-theme="light"] .est-perg-chip{background:#f5f9fd;border-color:#c8d9e9;color:#456985;}
html[data-theme="light"] .est-perg-chip:hover{background:#f1eaff;border-color:#cbb8ed;color:#6842a5;}
html[data-theme="light"] .est-perg-saida{background:#f6f1ff;border-color:#d7c7ef;}
html[data-theme="light"] .est-perg-saida p{color:#365b7a;}
html[data-theme="light"] .est-perg-eco{color:#58738d!important;border-color:#9a77c5;}
html[data-theme="light"] .est-perg-espera{color:#58738d!important;}
html[data-theme="light"] .est-perg-fontes{color:#607a92!important;border-color:#d7c7e9;}
html[data-theme="light"] .est-perg-saldo{color:#58738d;}
html[data-theme="light"] .est-ia-saida p{color:#365b7a;}
html[data-theme="light"] .est-ia-saida p:first-child{color:#173653;}
html[data-theme="light"] #est-view .est-res-num b{color:#173653;}
html[data-theme="light"] #est-view .est-res-num span{color:#58738d;}
html[data-theme="light"] #est-view .est-fa-txt em{color:#6f4b55;}
html[data-theme="light"] #est-view :is(.est-esq-cartao,.est-esq-bloco){border-color:#d3e0eb;background:linear-gradient(90deg,#e7eef5,#f5f9fd,#e7eef5);}
html[data-theme="light"] #est-view :is(.est-esq-txt,.est-sub-vazio){color:#607a92;}

/* Leads — carteira e integração com Google Ads. O conteúdo vive em modal
   claro, portanto textos e controles que eram brancos no tema escuro precisam
   de tinta própria em cada etapa do procedimento. */
html[data-theme="light"] .cli-carteira-modal{background:#fff;border-color:#bfd3e5;color:#173653;}
html[data-theme="light"] .cli-carteira-modal :is(.m-h1,.m-lbl){color:#173653;}
html[data-theme="light"] .cli-carteira-modal .m-sub{color:#58738d;}
html[data-theme="light"] .cli-carteira-field{color:#284f72;}
html[data-theme="light"] .cli-carteira-modal .m-inp{
  background:#f5f9fd;border-color:#b9cee2;color:#173653;-webkit-text-fill-color:#173653;color-scheme:light;
}
html[data-theme="light"] .cli-carteira-modal .m-inp::placeholder{color:#7890a7;-webkit-text-fill-color:#7890a7;}
html[data-theme="light"] .cli-carteira-item{border-color:#d4e1ec;color:#365b7a;}
html[data-theme="light"] .cli-carteira-check{color:#365b7a;}
html[data-theme="light"] .cli-carteira-check input{background:#e5eef8;border-color:#7896b0;}
html[data-theme="light"] .cli-carteira-inline{color:#145fbd;}

html[data-theme="light"] .cli-gads-intro{background:#eaf9fc;border-color:#9edce6;}
html[data-theme="light"] .cli-gads-intro-ico{background:#cceff5;color:#087f8c;}
html[data-theme="light"] .cli-gads-intro strong{color:#173653;}
html[data-theme="light"] .cli-gads-intro .cli-carteira-help{color:#456985;}
html[data-theme="light"] .cli-gads-step{background:#fff;border-color:#c8d9e9;box-shadow:0 5px 16px rgba(25,70,112,.04);}
html[data-theme="light"] .cli-gads-step-number{background:#e4f8fb;border-color:#83d9e5;color:#087f8c;}
html[data-theme="light"] .cli-gads-step h3{color:#173653;}
html[data-theme="light"] .cli-gads-step .cli-carteira-help{color:#526f89;}
html[data-theme="light"] .cli-gads-badge.ativo{color:#08765a;background:#e1f6ef;}
html[data-theme="light"] .cli-gads-badge.pausado{color:#925d08;background:#fff1d8;}
html[data-theme="light"] .cli-gads-warning{color:#805000!important;background:#fff5dc;border-color:#e4c173;}
html[data-theme="light"] .cli-gads-muted{background:#eef4fa;color:#526f89!important;}
html[data-theme="light"] .cli-gads-instruction{background:#eaf2fa;color:#365b7a!important;border:1px solid #c8d9e9;}
html[data-theme="light"] .cli-gads-success{color:#08765a!important;background:#e8f8f2;border-color:#9bd4c1;}
html[data-theme="light"] .cli-gads-guia{background:#e4f8fb;border-color:#83d9e5;color:#087684;}
html[data-theme="light"] .cli-gads-guia:hover{background:#d3f1f6;color:#075d68;}
html[data-theme="light"] .cli-gads-fig{background:#edf4fa;border-color:#bfd3e5;}
html[data-theme="light"] .cli-gads-fig figcaption{color:#526f89;}
html[data-theme="light"] .cli-gads-video{border-color:#9fb4c8;}
html[data-theme="light"] .cli-gads-video-legenda{color:#526f89;}
html[data-theme="light"] .cli-gads-passo-btn{background:#e7eef6;border-color:#bdcede;color:#496984;}
html[data-theme="light"] .cli-gads-passo-btn:hover{background:#d9e7f3;color:#173653;}
html[data-theme="light"] .cli-gads-passo-btn.ativo{background:#dff8fc;border-color:#13a8bb;color:#087684;}
html[data-theme="light"] .cli-gads-manage{background:#f7fbff;border-color:#c8d9e9;}
html[data-theme="light"] .cli-gads-manage summary{color:#365b7a;}
html[data-theme="light"] .cli-gads-manage summary:hover{color:#173653;}
html[data-theme="light"] .cli-gads-status{color:#526f89;}
html[data-theme="light"] .cli-gads-danger{background:#fff0f2;border-color:#e6a5ae;color:#a92d3e;}

/* Vencimentos de Contratos reutiliza o nome `.ctr-faixa` do cabeçalho. Dentro
   de `.ctr-faixas` ela é um agrupador de prazo, não outra faixa azul. */
html[data-theme="light"] #ctr-view .ctr-faixas .ctr-faixa{
  margin:0;padding:16px 18px;background:#fff;border:1px solid #c8d9e9;
  border-radius:14px;box-shadow:0 8px 24px rgba(25,70,112,.07);
}
html[data-theme="light"] #ctr-view .ctr-faixas .ctr-sec{color:#315a7d;}
html[data-theme="light"] #ctr-view .ctr-faixas .ctr-sec::after{background:linear-gradient(90deg,#c8d9e9,transparent);}
html[data-theme="light"] #ctr-view .ctr-faixas .ctr-sec i{background:#e5eef8;color:#365b7a;}
html[data-theme="light"] #ctr-view .ctr-faixas .ctr-mini{background:#f7fbff;border-color:#c8d9e9;}
html[data-theme="light"] #ctr-view .ctr-faixas .ctr-mini:hover{background:#eaf3fd;border-color:#9dbbd6;}
html[data-theme="light"] #ctr-view .ctr-faixas .ctr-mini-nome{color:#173653;}
html[data-theme="light"] #ctr-view .ctr-faixas .ctr-mini-dias{color:#58738d;}
html[data-theme="light"] #ctr-view .ctr-faixas .f-vencidos .ctr-sec{color:#b72f42;}
html[data-theme="light"] #ctr-view .ctr-faixas .f-hoje .ctr-sec{color:#9a6100;}

/* Contratos — acabamento da carteira e dos vencimentos. Mais hierarquia e
   menos linhas soltas: períodos viram painéis compactos e a tabela ganha a
   mesma profundidade visual dos demais painéis do produto. */
html[data-theme="light"] #ctr-view .ctr-faixas{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;
}
html[data-theme="light"] #ctr-view .ctr-faixas .ctr-faixa{
  --ctr-prazo:#4f7fc1;border-top:4px solid var(--ctr-prazo);padding:18px 18px 16px;
  box-shadow:0 12px 30px rgba(25,70,112,.09);
}
html[data-theme="light"] #ctr-view .ctr-faixas .f-vencidos{--ctr-prazo:#d24a5d;}
html[data-theme="light"] #ctr-view .ctr-faixas .f-hoje{--ctr-prazo:#e07a24;}
html[data-theme="light"] #ctr-view .ctr-faixas .f-d7{--ctr-prazo:#e59a20;}
html[data-theme="light"] #ctr-view .ctr-faixas .f-d15{--ctr-prazo:#c8a12b;}
html[data-theme="light"] #ctr-view .ctr-faixas .f-d30{--ctr-prazo:#4f7fc1;}
html[data-theme="light"] #ctr-view .ctr-faixas .f-d60{--ctr-prazo:#249b8d;}
html[data-theme="light"] #ctr-view .ctr-faixas .ctr-sec{
  margin-bottom:14px;font-size:.68rem;letter-spacing:1.45px;color:#315a7d;
}
html[data-theme="light"] #ctr-view .ctr-faixas .ctr-sec i{
  min-width:20px;text-align:center;padding:3px 7px;background:color-mix(in srgb,var(--ctr-prazo) 12%,#fff);
  border:1px solid color-mix(in srgb,var(--ctr-prazo) 28%,#fff);color:var(--ctr-prazo);
}
html[data-theme="light"] #ctr-view .ctr-faixas .ctr-mini-lista{gap:9px;}
html[data-theme="light"] #ctr-view .ctr-faixas .ctr-mini{
  min-height:58px;padding:10px 12px;background:linear-gradient(105deg,#fff,#f4f8fc);
  border-color:#d2e0eb;box-shadow:0 3px 10px rgba(25,70,112,.045);
  transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;
}
html[data-theme="light"] #ctr-view .ctr-faixas .ctr-mini:hover{
  transform:translateY(-1px);background:#fff;border-color:#9dbbd6;
  box-shadow:0 8px 18px rgba(25,70,112,.1);
}
html[data-theme="light"] #ctr-view .ctr-faixas .ctr-mini-nome{font-size:.82rem;font-weight:600;line-height:1.35;}
html[data-theme="light"] #ctr-view .ctr-faixas .ctr-mini-dias{
  padding:4px 9px;border-radius:20px;background:#e9f0f7;color:#456985;font-weight:600;
}

html[data-theme="light"] #ctr-view .ctr-tab-wrap{
  border-radius:16px;border-color:#bfd2e4;background:#fff;
  box-shadow:0 12px 32px rgba(25,70,112,.1);overflow-x:auto;
}
html[data-theme="light"] #ctr-view .ctr-tab{border-collapse:separate;border-spacing:0;}
html[data-theme="light"] #ctr-view .ctr-tab thead th{
  padding:13px 16px;background:linear-gradient(180deg,#edf4fb,#e5eef8);
  color:#3c5f7e;border-bottom:1px solid #bfd2e4;font-size:.62rem;letter-spacing:1.25px;
}
html[data-theme="light"] #ctr-view .ctr-tab thead th:first-child{padding-left:20px;}
html[data-theme="light"] #ctr-view .ctr-tab tbody tr{background:#fff;}
html[data-theme="light"] #ctr-view .ctr-tab tbody tr:nth-child(even){background:#f8fbfe;}
html[data-theme="light"] #ctr-view .ctr-tab tbody tr+tr{border:0;}
html[data-theme="light"] #ctr-view .ctr-tab tbody tr:hover{
  background:#edf5fd;box-shadow:inset 4px 0 #4f82c5;
}
html[data-theme="light"] #ctr-view .ctr-tab td{
  padding:14px 16px;border-bottom:1px solid #d9e5ef;color:#365b7a;line-height:1.35;
}
html[data-theme="light"] #ctr-view .ctr-tab tbody tr:last-child td{border-bottom:0;}
html[data-theme="light"] #ctr-view .ctr-tab td:first-child{padding-left:20px;}
html[data-theme="light"] #ctr-view .ctr-td-nome b{font-size:.86rem;font-weight:700;color:#123655;}
html[data-theme="light"] #ctr-view .ctr-num{
  margin-top:4px;padding:2px 7px;background:#e8f0f8;border:1px solid #c9d9e7;color:#58738d;
}
html[data-theme="light"] #ctr-view .ctr-td-sub{margin-top:3px;color:#607a92;}
html[data-theme="light"] #ctr-view .ctr-td-sub.atrasado{color:#c43b4e;font-weight:600;}
html[data-theme="light"] #ctr-view :is(.ctr-td-parte,.ctr-td-tipo,.ctr-td-resp){color:#315a7d;}
html[data-theme="light"] #ctr-view .ctr-td-fim b,
html[data-theme="light"] #ctr-view .ctr-tab td.num b{color:#123655;font-weight:800;}
html[data-theme="light"] #ctr-view .ctr-tab .ctr-x{opacity:.72;}
html[data-theme="light"] #ctr-view .ctr-tab tr:hover .ctr-x{opacity:1;}

@media (max-width:1100px){
  html[data-theme="light"] #ctr-view .ctr-faixas{grid-template-columns:1fr;}
}

/* ── Foco, rolagem e movimento ──────────────────────────────────────── */
html[data-theme="light"] :focus-visible{outline-color:#2563eb;}
html[data-theme="light"] *{scrollbar-color:#b6c9da transparent;}
html[data-theme="light"] *::-webkit-scrollbar-thumb{background:#b6c9da;background-clip:content-box;}
html[data-theme="light"] *::-webkit-scrollbar-thumb:hover{background:#92adc4;background-clip:content-box;}

@media (prefers-reduced-motion:reduce){
  html[data-theme="light"] *,html[data-theme="light"] *::before,html[data-theme="light"] *::after{scroll-behavior:auto;}
}

/* ═══════════════════════════════════════════════════════════════════════
   CONTRASTE — o que nasceu para fundo preto e ficou pálido no branco
   ═══════════════════════════════════════════════════════════════════════
   Três lugares apontados na tela, todos com a mesma origem: cinza-claro sobre
   quase-branco. No escuro cada um deles é um tom discreto; no claro é texto
   que não se lê. */

/* ── O cartão do perfil, no painel Amigos ─────────────────────────────
   "Trocar foto", "Ver perfil" e "Mais" ficavam com `rgba(240,240,240,.6)`
   sobre `rgba(255,255,255,.05)`: duas quase-brancas, uma sobre a outra. */
html[data-theme="light"] .sg-gv-acao{
  background:#eef4fb;color:#3f6079;
}
html[data-theme="light"] .sg-gv-acao:hover{background:#e0ecfa;color:#12509f;}
html[data-theme="light"] .sg-gv-acao span{color:inherit;}

/* ── O Financeiro: o status é um selo, e selo precisa ser lido ─────────
   `--st` é a cor do estado (âmbar para pendente, verde para pago). Ela foi
   escolhida para brilhar no preto; no branco, texto âmbar sobre 13% de âmbar
   fica na faixa em que a pessoa "vê que tem algo escrito" sem conseguir ler o
   quê. A cor do estado continua mandando — ela só desce até uma tinta que o
   branco aguenta, e o fundo sobe um pouco para o selo continuar sendo selo. */
html[data-theme="light"] .cli-status,
html[data-theme="light"] .cli-status-btn{
  background:color-mix(in srgb,var(--st) 17%,#fff);
  color:color-mix(in srgb,var(--st) 62%,#123);
  border:1px solid color-mix(in srgb,var(--st) 34%,#fff);
}

/* ── E a segunda linha do cliente: e-mail e telefone ──────────────────
   É a informação que faz a linha valer — sem ela, "Santa Rita" é só um nome.
   Ela é secundária, e não invisível. */
html[data-theme="light"] #cli-view .cli-nome-sub,
html[data-theme="light"] .cli-tabela .cli-nome-sub,
html[data-theme="light"] .cli-nome-sub{color:#5b7590;}
html[data-theme="light"] .cli-nome-sub a{color:#2b6fe0;}

/* ═══════════════════════════════════════════════════════════════════════
   MAIS DUAS ILHAS ESCURAS — o menu da lista e a escolha de pasta
   ═══════════════════════════════════════════════════════════════════════ */

/* AÇÕES DA LISTA. O painel já era claro aqui, e três textos dele não: o
   rótulo da seção ("Automação"), a linha de ajuda embaixo dela e o aviso do
   rodapé nasceram com cinza-claro para fundo preto. No branco eles somem — e
   somem justamente as frases que explicam o que a automação faz. */
html[data-theme="light"] :is(.kb-acoes-secao,.kb-acoes-ajuda){color:#5b7590;}
html[data-theme="light"] .kb-acoes-secao{font-weight:700;}
html[data-theme="light"] .kb-acoes-perigo{color:#c2334a;}
html[data-theme="light"] .kb-acoes-perigo:hover{background:#fdeced;color:#a3162c;}

/* "QUE TIPO DE PASTA É ESTA?" A janela inteira continuava preta no tema
   claro, e o pior: o título e o nome de cada opção usam `var(--clr-text)`,
   que no claro é tinta ESCURA. Escuro sobre escuro — a pessoa via as
   descrições e não via de qual opção elas eram. */
html[data-theme="light"] .tipo-pasta-bg{background:rgba(35,69,103,.32);}
html[data-theme="light"] .tipo-pasta-card{
  background:#fff;border-color:var(--light-line);box-shadow:0 26px 64px rgba(16,58,110,.22);
}
html[data-theme="light"] .tipo-pasta-tit{color:var(--light-ink);}
html[data-theme="light"] .tipo-pasta-sub{color:var(--light-muted);}
html[data-theme="light"] .tipo-pasta-op{
  background:#f7fbff;border-color:var(--light-line);color:var(--light-ink);
}
html[data-theme="light"] .tipo-pasta-op:hover{background:#eef5fd;border-color:#bcd6f5;}
html[data-theme="light"] .tipo-pasta-txt b{color:var(--light-ink);}
html[data-theme="light"] .tipo-pasta-txt span{color:#6b8099;}
html[data-theme="light"] .tipo-pasta-inp{
  background:#f7fbff;border-color:var(--light-line);color:var(--light-ink);
}
html[data-theme="light"] .tipo-pasta-inp::placeholder{color:#8ba0b4;}

/* ═══════════════════════════════════════════════════════════════════════
   O QUADRADINHO DO CHECKLIST, E A ÁREA DE COMENTÁRIOS
   ═══════════════════════════════════════════════════════════════════════ */

/* A CAIXA DE MARCAR É DESENHADA À MÃO (`appearance:none`), e o desenho dela é
   uma borda branca de 28%. No fundo preto isso é um quadrado discreto; no
   branco é nada — o item aparecia como texto solto, sem nada para clicar. A
   marca verde do concluído já tinha cor própria e continuava aparecendo, o
   que tornava o defeito ainda mais confuso: o vazio some, o marcado não. */
html[data-theme="light"] .n-cl-check{
  border-color:#9db6cd;background:#fff;
}
html[data-theme="light"] .n-cl-check:hover{border-color:#0f9d6e;}
html[data-theme="light"] .n-cl-check:checked{background:#0f9d6e;border-color:#0f9d6e;}
html[data-theme="light"] .n-cl-check:checked::after{border-color:#fff;}
html[data-theme="light"] .n-cl-text{color:#274a6b;-webkit-text-fill-color:#274a6b;}
html[data-theme="light"] .n-cl-text::placeholder{color:#8ba0b4;-webkit-text-fill-color:#8ba0b4;}
html[data-theme="light"] .n-cl-item:hover{background:#f1f7fd;}
html[data-theme="light"] .n-cl-badge{background:#eef4fb;color:#5b7590;}
html[data-theme="light"] .n-cl-badge.complete{background:#e4f7ef;color:#0f9d6e;}

/* OS COMENTÁRIOS DA NOTA. O cartão de cada comentário é branco a 4% — some
   sobre branco —, e o texto, a hora e os botões de reação são tinta clara.
   Sobrava só o @ do autor, que já tinha cor própria: a conversa aparecia como
   uma lista de nomes sem falas. */
html[data-theme="light"] .n-coment-item{background:#f4f8fd;border:1px solid #e4edf7;}
html[data-theme="light"] .n-coment-item.meu{background:#e9f2fe;border-color:#cfe0f7;}
html[data-theme="light"] .n-coment-txt{color:#274a6b;}
html[data-theme="light"] .n-coment-hora{color:#8299ae;}
html[data-theme="light"] .n-reacao{background:#eef4fb;color:#4a6b86;border-color:#dbe7f7;}
html[data-theme="light"] .n-reacao:hover{background:#dfeafa;color:#12509f;}
html[data-theme="light"] .n-reacao.tem,
html[data-theme="light"] .n-reacao.minha{background:#e0edff;color:#1d5fd0;border-color:#bcd6f5;}
/* A FILEIRA DE REAGIR fica discreta até o ponteiro chegar — no escuro, 45% de
   opacidade ainda deixa o emoji legível sobre preto. No branco, não: a fileira
   parecia um resto de renderização. Ela continua discreta, com um degrau a
   mais de presença e um chip que separa um emoji do outro. */
html[data-theme="light"] .n-coment-item:hover .n-reacao.vazia,
html[data-theme="light"] .n-reacao.vazia:focus-visible{opacity:.72;}
html[data-theme="light"] .n-reacao.vazia{background:#f2f7fc;border-color:#e4edf7;}

/* O RÓTULO QUE SEPARA "hoje" de "depois" nas Próximas ações. Ele é cinza a
   32% — discreto sobre preto, ausente sobre branco. O print que mostrou o
   defeito só tinha a palavra visível porque estava SELECIONADA: era a
   seleção do texto desenhando o que o CSS não desenhava. */
html[data-theme="light"] .cli-dist-rot{color:#7c92a8;font-weight:600;}
html[data-theme="light"] .cli-lado-vazio{color:#6b8099;}

/* ── O TEMA CLARO NÃO TROCA O `color-scheme` DA RAIZ ────────────────────
   E a tentação de trocar é forte, então fica escrito: `:root{color-scheme:
   dark}` mora em main.css e vale nos DOIS temas de propósito.

   A inversão automática do navegador se desliga quando a página declara que
   sabe se virar no ESCURO. Declarar `light` aqui diria o contrário — "só sei
   claro" —, que é exatamente o convite para o Opera pintar tudo por conta
   própria. Foi o que aconteceu na primeira tentativa desta correção
   (03/09/2026): a meta opt-out estava certa, esta linha a desfazia, e o tema
   claro continuou preto no Opera.

   Os controles nativos já são tratados por elemento lá em cima
   (`:is(input,textarea,select){color-scheme:light}`), que é o alcance certo:
   a página inteira não precisa mentir sobre o que sabe fazer para um
   `<input>` ficar branco. */

/* ═══════════════════════════════════════════════════════════════════════
   O MODAL DE PLANO NO TEMA CLARO
   ═══════════════════════════════════════════════════════════════════════
   Ele era o último painel do produto que continuava preto no tema claro — e
   preto pela metade, que é pior: o fundo ficava `#111` e os títulos, que
   pedem a cor do texto do tema (`var(--clr-text)`), viravam azul-escuro em
   cima dele. "Desbloqueie o poder total" e os dois preços simplesmente não
   apareciam. Foi o relato de 03/09/2026.

   O painel vira branco como os outros; o que NÃO muda é o acento de cada
   plano — âmbar no Premium, roxo no Empresarial. É por ele que a pessoa
   reconhece o degrau, e ele lê nos dois fundos desde que escureça o
   suficiente para o branco (daí `#b45309` no lugar de `#fbbf24`).
   ═══════════════════════════════════════════════════════════════════════ */
html[data-theme="light"] .premium-modal-bg{background:rgba(16,44,77,.5);}
html[data-theme="light"] .premium-modal{
  background:#fff;border-color:#cfe0f7;box-shadow:0 40px 100px rgba(16,58,110,.3);
}
html[data-theme="light"] .pm-close{color:#93a8bc;}
html[data-theme="light"] .pm-close:hover{color:#12263f;}
html[data-theme="light"] .pm-badge{background:#fff5e0;border-color:#eecb8a;color:#a35d06;}
html[data-theme="light"] .pm-title{color:#12263f;}
html[data-theme="light"] .pm-title .hl{
  background:linear-gradient(135deg,#d97706,#b45309);-webkit-background-clip:text;background-clip:text;
}
html[data-theme="light"] .pm-desc{color:#5b7590;}
html[data-theme="light"] .pm-renovar-titulo{color:#12263f;}

/* A porta para o Empresarial, que é roxa nos dois temas. */
html[data-theme="light"] .pm-porta-ent{background:#f7f1fe;border-color:#ddc7f8;}
html[data-theme="light"] .pm-link-ent{color:#7c3aed;}
html[data-theme="light"] .pm-link-ent:hover{color:#5b21b6;}
html[data-theme="light"] .pm-porta-ent span{color:#6b7f94;}

html[data-theme="light"] .pm-aviso-ok{background:#e4f7ef;border-color:#b6e6d3;color:#0b7f59;}
html[data-theme="light"] .pm-aviso-teste{background:#efeaff;border-color:#cfc2f7;color:#5b3ec7;}

html[data-theme="light"] .pm-limit-bar{background:#f4f8fd;border-color:#e2ebf7;}
html[data-theme="light"] .pm-limit-label{color:#5b7590;}
html[data-theme="light"] .pm-limit-label b{color:#12263f;}
html[data-theme="light"] .pm-limit-track{background:#dbe7f7;}

html[data-theme="light"] .pm-feat{color:#2f4d6b;}
html[data-theme="light"] .pm-feat-icon{background:#fff5e0;border-color:#f0d093;}

html[data-theme="light"] .pm-plano{background:#f7fbff;border-color:#dbe7f7;}
html[data-theme="light"] .pm-plano:hover{background:#eef5fd;}
html[data-theme="light"] .pm-plano.ativo{border-color:#5b58e8;background:#eef0ff;}
html[data-theme="light"] .pm-plano b{color:#12263f;}
html[data-theme="light"] .pm-plano span{color:#6b8099;}
html[data-theme="light"] .pm-plano.ativo span{color:#48627c;}

html[data-theme="light"] .pm-price-val{color:#12263f;}
html[data-theme="light"] .pm-price-period{color:#6b8099;}
html[data-theme="light"] .pm-pix-box{background:#f7fbff;border-color:#e2ebf7;}
html[data-theme="light"] .pm-pix-label{color:#5b7590;}
html[data-theme="light"] .pm-pix-key{background:#fff;border-color:#dbe7f7;color:#274a6b;}
html[data-theme="light"] .pm-pix-key:hover{background:#eef5fd;color:#12263f;}
html[data-theme="light"] .pm-note{color:#7c92a8;}

/* ── O Empresarial: mesmo painel branco, acento roxo ─────────────────── */
html[data-theme="light"] .pm-enterprise{border-color:#ddc7f8;}
html[data-theme="light"] .pm-enterprise .pm-badge{background:#f6eeff;border-color:#ddc4f8;color:#6d28d9;}
html[data-theme="light"] .pm-enterprise .pm-title .hl{
  background:linear-gradient(135deg,#7c3aed,#6d28d9);-webkit-background-clip:text;background-clip:text;
}
html[data-theme="light"] .pm-enterprise .pm-feat-icon{background:#f6eeff;border-color:#ddc4f8;color:#6d28d9;}
html[data-theme="light"] .pm-ent-preco{color:#6d28d9;}
html[data-theme="light"] .pm-ent-preco span{color:#6b7f94;}
html[data-theme="light"] .pm-ent-passo{background:#f6eeff;border-color:#ddc4f8;color:#6d28d9;}
html[data-theme="light"] .pm-ent-passo:hover{background:#ecdcfd;}
html[data-theme="light"] .pm-ent-qtd{background:#fff;border-color:#ddc4f8;color:#12263f;}
html[data-theme="light"] .pm-ent-conta{color:#5b7590;}
html[data-theme="light"] .pm-ent-conta b{color:#6d28d9;}
html[data-theme="light"] .pm-ent-conta span{color:#8299ae;}
html[data-theme="light"] .pm-ent-arroba{color:#8299ae;}
html[data-theme="light"] .pm-ent-inp{background:#fff;border-color:#dbe7f7;color:#12263f;}
html[data-theme="light"] .pm-ent-linha{background:#faf7ff;border-color:#e8dcfb;}
html[data-theme="light"] .pm-ent-quem{color:#5b21b6;}
html[data-theme="light"] .pm-ent-tirar{border-color:#f3c2c8;color:#c2334a;}
html[data-theme="light"] .pm-ent-tirar:hover{background:#fdeced;}

/* ═══════════════════════════════════════════════════════════════════════
   AS ILHAS QUE FALTAVAM — Recrutamento, ficha do cliente e modal de nota
   ═══════════════════════════════════════════════════════════════════════
   O tema claro tinha nove regras para o módulo de RH inteiro, e por isso o
   módulo inteiro estava errado nele: modal de IA com texto invisível, o
   relatório de triagem preto sobre a página branca, o kebab do cartão sumido,
   a tabela de talentos com cabeçalho preto. O mesmo valia para a ficha do
   cliente e para a seção "Prazos" do modal de nota nova.

   A COR DO PRODUTO É BRANCO E AZUL CLARO, e clarear tudo não é o mesmo que
   ter tema claro: um painel branco com texto cinza-claro e borda branca é
   exatamente o defeito de novo, do outro lado. Cada superfície aqui ganha um
   fundo branco ou azul-gelo COM tinta escura o suficiente para ser lida, e
   os acentos (roxo da IA, verde da nota alta, âmbar do aviso) escurecem até
   contrastarem com o branco em vez de desbotarem nele.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── 1. Modal "Analisar currículos" ──────────────────────────────────── */
html[data-theme="light"] .rh-ia-aviso{
  background:#f4f0ff;border-color:#ddcffa;color:#4c3a80;
}
html[data-theme="light"] .rh-ia-aviso b{color:#5b21b6;}
html[data-theme="light"] .rh-ia-formatos{color:#63798f;}
html[data-theme="light"] .rh-ia-dica{color:#63798f;}

/* ── 2. O relatório de triagem ───────────────────────────────────────── */
/* Ele era uma folha PRETA no meio da página branca. Vira folha mesmo — é o
   nome que o CSS já lhe dava — e o roxo do cabeçalho fica como acento. */
html[data-theme="light"] .rh-tri-bg{background:rgba(16,44,77,.5);}
html[data-theme="light"] .rh-tri-folha{
  background:#fff;border-color:#cfe0f7;box-shadow:0 28px 70px rgba(16,58,110,.28);
}
html[data-theme="light"] .rh-tri-cab{
  border-bottom-color:#e8eef7;
  background:linear-gradient(120deg,#f3eeff,transparent 62%);
}
html[data-theme="light"] .rh-tri-eyebrow{color:#6d28d9;}
html[data-theme="light"] .rh-tri-cab h1{color:#12263f;}
html[data-theme="light"] .rh-tri-x{background:#f1f6fb;color:#4a6b86;}
html[data-theme="light"] .rh-tri-x:hover{background:#e3edf7;color:#0f2744;}
html[data-theme="light"] .rh-tri-intro{background:#f4f0ff;border-color:#ddcffa;}
html[data-theme="light"] .rh-tri-intro p{color:#3f5772;}
html[data-theme="light"] .rh-tri-intro b{color:#5b21b6;}
html[data-theme="light"] .rh-tri-card{background:#f7fbff;border-color:#e2ebf7;}
html[data-theme="light"] .rh-tri-pos{background:#eaf3ff;color:#2b6fe0;}
html[data-theme="light"] .rh-tri-nome{color:#12263f;}
html[data-theme="light"] .rh-tri-porque{color:#31506e;}
html[data-theme="light"] .rh-tri-lista li{color:#3f5772;}
html[data-theme="light"] .rh-tri-lista.mais  li::before{color:#0f9d6e;}
html[data-theme="light"] .rh-tri-lista.menos li::before{color:#c2610a;}
html[data-theme="light"] .rh-tri-falta{color:#63798f;}
html[data-theme="light"] .rh-tri-falta b{color:#6d28d9;}
html[data-theme="light"] .rh-tri-solto{color:#3f5772;}
/* As faixas de nota: as mesmas cinco cores, escurecidas até lerem no branco. */
html[data-theme="light"] .rh-tri-nota.n-alta {background:#e4f7ef;color:#0b7f59;}
html[data-theme="light"] .rh-tri-nota.n-boa  {background:#e0f7f4;color:#0d7f74;}
html[data-theme="light"] .rh-tri-nota.n-media{background:#fdf5d9;color:#8a6410;}
html[data-theme="light"] .rh-tri-nota.n-baixa{background:#feefe0;color:#a35213;}
html[data-theme="light"] .rh-tri-nota.n-fora {background:#fdeced;color:#c2334a;}
html[data-theme="light"] .rh-tri-nota.n-sem  {background:#f1f6fb;color:#63798f;}
html[data-theme="light"] .rh-tri-avisos{background:#fff7e6;border-color:#eecb8a;}
html[data-theme="light"] .rh-tri-avisos-tit{color:#8a6410;}
html[data-theme="light"] .rh-tri-aviso-item{color:#7a5a12;}
html[data-theme="light"] .rh-tri-aviso-item b{color:#12263f;}
html[data-theme="light"] .rh-tri-aviso-item span{color:#63798f;}
html[data-theme="light"] .rh-tri-comousar{color:#63798f;}
html[data-theme="light"] .rh-tri-pe{border-top-color:#e8eef7;background:#fbfdff;}
html[data-theme="light"] .rh-tri-nota-pe{color:#7c92a8;}
html[data-theme="light"] .rh-tri-copiar{background:#f2f7fc;border-color:#dbe7f7;color:#3f6079;}
html[data-theme="light"] .rh-tri-copiar:hover{background:#e5eefa;color:#12509f;}

/* ── 3. "Avisar o candidato" ─────────────────────────────────────────── */
html[data-theme="light"] .rh-aviso-lembrar{color:#3f5772;}

/* ── 4. O kebab do cartão de candidato ───────────────────────────────── */
/* Ele é `rgba(255,255,255,.05)` sobre um cartão que virou branco: existia,
   respondia ao clique e não aparecia em lugar nenhum. */
html[data-theme="light"] .rh-mv{background:#eef4fb;color:#4a6b86;}
html[data-theme="light"] .rh-mv:hover{background:#e6ddfb;color:#5b21b6;}
html[data-theme="light"] .rh-kebab{background:#eef4fb;color:#3f6079;}
html[data-theme="light"] .rh-kebab:hover{background:#dfe9f5;color:#12263f;}

/* ── 5. Banco de talentos ────────────────────────────────────────────── */
html[data-theme="light"] .tb-lista-topo{border-bottom-color:var(--light-line);color:#12263f;}
html[data-theme="light"] .tb-cont{background:#e0f7f4;color:#0d7f74;}
html[data-theme="light"] .tb-tabela th{
  background:#eef4fb;color:#4a6b86;border-bottom-color:#dbe7f7;
}
html[data-theme="light"] .tb-tabela td{color:#3f5772;border-bottom-color:#eef3f9;}
html[data-theme="light"] .tb-tabela tbody tr:hover{background:#f4f9ff;}
html[data-theme="light"] .tb-tabela tr.sel{background:#e9f0ff;}
html[data-theme="light"] .tb-nome{color:#12263f;}
html[data-theme="light"] .tb-cargo{color:#7c92a8;}
html[data-theme="light"] .tb-tag{background:#e9edff;color:#3b4cc4;}
html[data-theme="light"] .tb-nota{color:#12263f;}
html[data-theme="light"] .tb-nota-bar{background:#dce8f5;}
html[data-theme="light"] .tb-pag{border-top-color:var(--light-line);}
html[data-theme="light"] .tb-pag-info{color:#7c92a8;}
html[data-theme="light"] .tb-pag-btn{border-color:#dbe7f7;color:#4a6b86;}
html[data-theme="light"] .tb-vazio{color:#63798f;}

/* ── 6. A ficha do cliente ───────────────────────────────────────────── */
html[data-theme="light"] .crm-client-modal{
  background:
    radial-gradient(620px 250px at 8% -5%,rgba(43,111,224,.09),transparent 62%),
    linear-gradient(180deg,#ffffff 0%,#f7fbff 38%);
}
html[data-theme="light"] .crm-client-head{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,251,255,.94));
  border-bottom-color:#e2ebf7;
}
html[data-theme="light"] .crm-client-section-title{color:#4a6b86;}
html[data-theme="light"] .crm-client-section-title::after{
  background:linear-gradient(90deg,#dbe7f7,transparent);
}
html[data-theme="light"] .crm-client-section-title span{background:#e4ecff;color:#2b52d4;}
html[data-theme="light"] .crm-client-private{
  background:#e4f7ef;border-color:#b6e6d3;color:#0b7f59;
}
html[data-theme="light"] .crm-client-modal :is(.m-inp,.crm-modal-inp){
  background:#fff;border-color:#dbe7f7;
}
html[data-theme="light"] .crm-client-modal :is(.m-inp,.crm-modal-inp):focus{
  background:#f4f9ff;border-color:#2b6fe0;
}

/* ── 7. A seção "Prazos" do modal de nota ────────────────────────────── */
html[data-theme="light"] .m-sec{color:#4a6b86;}
html[data-theme="light"] .m-dlbl{color:#63798f;}
html[data-theme="light"] .m-rem-box{background:#f4f9ff;border-color:#dbe7f7;}
html[data-theme="light"] .m-rem-lbl{color:#31506e;}
html[data-theme="light"] .m-rem-unit{color:#63798f;}
html[data-theme="light"] .m-rem-days{background:#fff;border-color:#dbe7f7;color:#12263f;}
html[data-theme="light"] .m-slider{background:#cfdcea;}
html[data-theme="light"] .m-slider::before{background:#fff;opacity:1;}

/* ── 8. O ✕ de apagar item do checklist ──────────────────────────────── */
/* Ele já tinha cor no claro, mas SÓ dentro do modal de detalhe. No cartão
   solto continuava branco a 25% sobre branco: existia, funcionava e era
   invisível, e a pergunta que chegou foi "onde apaga os checklists?".

   O `@media (hover:none)` é a outra metade da mesma resposta. O botão só
   ganha opacidade ao passar o mouse, e no celular não há mouse para passar:
   ali ele nunca aparecia, em nenhum dos dois temas. */
/* ── O × QUE APAGA O ITEM DA CHECKLIST ───────────────────────────────
   Ele era `#8ba0b4`, que sobre a superfície clara dá 2,7:1 — abaixo do piso
   de 4,5 —, e ainda nascia com `opacity:0`, aparecendo só quando o ponteiro
   parava em cima da linha certa. Somadas, as duas coisas faziam um controle
   que não existe para quem procura por ele: nem se vê onde está, nem se lê
   quando aparece.

   `#536b84` dá 5,3:1, e o repouso em .55 deixa o × à vista sem competir com
   o texto do item. É a mesma correção que o × das fotos do odontograma já
   levou hoje, pelo mesmo motivo — e o modal do kanban já tinha chegado
   sozinho na metade dela (`opacity:.7`, logo acima). */
html[data-theme="light"] .n-cl-del{color:#536b84;opacity:.55;}
html[data-theme="light"] .n-cl-item:hover .n-cl-del{opacity:1;}
html[data-theme="light"] .n-cl-del:hover{color:#c2334a;opacity:1;}
@media (hover:none){
  .n-cl-del{opacity:.6;}
}

/* ═══════════════════════════════════════════════════════════════════════
   O PAINEL DO RH — branco e o azul da barra
   ═══════════════════════════════════════════════════════════════════════
   Ver CORES.md: as duas cores, e a tinta nunca é branca.

   Este módulo inteiro tinha nove regras de tema claro, e por isso o módulo
   inteiro estava errado nele. A auditoria achou 67 classes pintando texto
   claro sem par no claro — a Visão geral (`rhv-`), as Propostas (`pa-`), as
   Vagas (`vg-`) e o resto do funil. Na tela: cabeçalho branco sobre gradiente
   branco, KPI com o número branco no cartão branco, nome de candidato
   invisível. Só aparecia selecionando com o cursor.

   O CONSERTO NÃO É CLAREAR. Clarear foi o erro anterior: painel branco com
   texto branco continua invisível, e ainda perde a identidade. Aqui as
   superfícies são brancas, os cartões que precisam se destacar usam o
   AZUL CLARO (`--light-surface-blue`), e todo texto cai na escala de tinta.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Cabeçalhos: o azul é o fundo, o branco é a letra ────────────────── */
/* Estes dois são a exceção da regra "texto nunca é branco": eles caem em
   cima do azul cheio, que é onde branco é a única cor que lê. */
html[data-theme="light"] :is(.rhv-hero,.pa-hero,.rhv-topo,.pa-topo){
  background:linear-gradient(105deg,#155ab7 0%,var(--light-brand) 66%,#58a7f6 100%);
}
html[data-theme="light"] :is(.rhv-h1,.pa-h1){color:#fff;}
html[data-theme="light"] :is(.rhv-hero,.pa-hero) :is(.rhv-sub,.pa-sub){color:rgba(255,255,255,.88);}

/* ── Visão geral do RH ───────────────────────────────────────────────── */
html[data-theme="light"] .rhv-bloco-cab{color:var(--light-ink);}
html[data-theme="light"] .rhv-kpi-num{color:var(--light-ink);}
html[data-theme="light"] .rhv-kpi-lbl{color:var(--light-muted);}
html[data-theme="light"] :is(.rhv-kpi-delta,.rhv-kpi-pe){color:var(--light-faint);}
html[data-theme="light"] .rhv-duas{color:var(--light-ink);}
html[data-theme="light"] .rhv-donut-centro{color:var(--light-ink);}
html[data-theme="light"] .rhv-leg-n{color:var(--light-ink);}
html[data-theme="light"] .rhv-leg-nome{color:var(--light-muted);}
html[data-theme="light"] .rhv-leg-pct{color:var(--light-faint);}
html[data-theme="light"] :is(.rhv-area-eixo,.rhv-area-max,.rhv-area-min){color:var(--light-faint);}
html[data-theme="light"] .rhv-periodos{color:var(--light-faint);}
html[data-theme="light"] .rhv-vazio{color:var(--light-muted);}
html[data-theme="light"] .rhv-tabela{color:var(--light-muted);}
html[data-theme="light"] .rhv-tabela th{background:var(--light-surface-blue);color:var(--light-muted);}
html[data-theme="light"] .rhv-tabela td{color:var(--light-muted);border-bottom-color:var(--light-line);}
html[data-theme="light"] :is(.rhv-linha-n,.rhv-linha-nome){color:var(--light-ink);}
html[data-theme="light"] :is(.rhv-linha-sub,.rhv-linha-area,.rhv-linha-cargo,.rhv-linha-ico){color:var(--light-faint);}
html[data-theme="light"] :is(.rhv-linha-cols,.rhv-linha-data){color:var(--light-muted);}
/* A busca do cabeçalho fica SOBRE o azul: vidro branco, letra branca. */
html[data-theme="light"] .rhv-busca{
  background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.3);color:#fff;
}
html[data-theme="light"] .rhv-busca::placeholder{color:rgba(255,255,255,.7);}
html[data-theme="light"] .rhv-busca-wrap{color:rgba(255,255,255,.72);}
html[data-theme="light"] .rhv-kebab{color:var(--light-faint);}
html[data-theme="light"] .rhv-kebab:hover{background:var(--light-surface-blue);color:var(--light-brand-deep);}

/* ── Propostas ───────────────────────────────────────────────────────── */
html[data-theme="light"] .pa-card-cab{color:var(--light-ink);}
html[data-theme="light"] :is(.pa-nome,.pa-item-nome,.pa-passo){color:var(--light-ink);}
html[data-theme="light"] .pa-vaga{color:var(--light-muted);}
html[data-theme="light"] .pa-resp{color:var(--light-muted);}
html[data-theme="light"] .pa-linha-val{color:var(--light-ink);}
html[data-theme="light"] .pa-linha-rot{color:var(--light-muted);}
html[data-theme="light"] :is(.pa-item-sub,.pa-rot,.pa-pill,.pa-check,.pa-passo-sub){color:var(--light-faint);}
html[data-theme="light"] .pa-obs{color:var(--light-muted);}
html[data-theme="light"] .pa-vinculo{color:var(--light-muted);}
html[data-theme="light"] .pa-passo-nome{color:var(--light-muted);}
html[data-theme="light"] .pa-passo-btn{color:var(--light-muted);}
html[data-theme="light"] .pa-passo-btn:hover{background:var(--light-surface-blue);color:var(--light-brand-deep);}
/* O avatar e os botões cheios continuam com letra branca: o fundo deles é
   colorido, e é o único lugar onde branco lê. */
html[data-theme="light"] .pa-av{color:#fff;}
html[data-theme="light"] .pa-btn{background:var(--light-brand);border-color:var(--light-brand);color:#fff;}
html[data-theme="light"] .pa-btn:hover{background:var(--light-brand-deep);border-color:var(--light-brand-deep);}
html[data-theme="light"] .pa-voltar{background:var(--light-surface-blue);color:var(--light-brand-deep);}

/* ── Vagas ───────────────────────────────────────────────────────────── */
html[data-theme="light"] :is(.vg-item-nome,.vg-auto){color:var(--light-ink);}
html[data-theme="light"] :is(.vg-item-meta,.vg-prazo,.vg-resumo,.vg-check,.vg-auto-linha){color:var(--light-muted);}
html[data-theme="light"] :is(.vg-vazio,.vg-auto-aviso){color:var(--light-faint);}
html[data-theme="light"] .vg-fechar{color:var(--light-muted);}
html[data-theme="light"] .vg-fechar:hover{background:var(--light-surface-blue);color:var(--light-brand-deep);}

/* ── O que sobrou do funil ───────────────────────────────────────────── */
html[data-theme="light"] :is(.rh-aviso-dica,.rh-ia-conta,.rh-ocultos,.rh-col-add){color:var(--light-faint);}
html[data-theme="light"] .rh-col-add:hover{background:var(--light-surface-blue);color:var(--light-brand-deep);}
html[data-theme="light"] .rh-ia-btn{background:var(--light-brand);border-color:var(--light-brand);color:#fff;}
html[data-theme="light"] .rh-ia-btn:hover{background:var(--light-brand-deep);border-color:var(--light-brand-deep);}
html[data-theme="light"] .rh-rep-guardar{color:var(--light-ink);}
html[data-theme="light"] .cdash-delta{color:var(--light-faint);}
html[data-theme="light"] .cdash-menu-tit{color:var(--light-muted);}

/* ── E o "+ Adicionar outra lista", que some sobre papel de parede escuro ── */
/* Ele é branco a 88% com letra azul-acinzentada: sobre um fundo claro lê, e
   sobre um papel de parede escuro vira um retângulo pálido sem contorno. A
   borda azul o separa dos dois. */
/* ═══════════════════════════════════════════════════════════════════════
   A TINTA NEON — a outra metade do problema do tema claro
   ═══════════════════════════════════════════════════════════════════════
   A varredura anterior caçou texto BRANCO, que no branco simplesmente some.
   Estas são as outras: verde-menta, âmbar, lavanda, celeste — as cores
   escolhidas para BRILHAR sobre preto. Sobre branco elas não somem, lavam. É
   o que o relato chamou de "neon fraco": o selo de Pendente, o "0/5
   concluído(s)", os ícones de e-mail e telefone, os números dos cartões.

   Medidas contra o branco, quase todas ficavam entre 1,2:1 e 2:1 — abaixo do
   3:1 que a norma já reprova até para texto grande.

   O conserto NÃO é trocar por cinza: cor de estado é informação. Cada uma
   escurece até a versão que lê no branco, e o fundo vira o tom claro dela —
   o par que o CORES.md fixa para os quatro estados.

   E as cores dos GRÁFICOS junto: linha e área do quadro de pessoal eram
   turquesa clara sobre branco, o que deixava a curva quase invisível
   exatamente na tela que existe para mostrar a curva.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Propostas (pr-) ─────────────────────────────────────────────────── */
/* O título do cartão e o nome do candidato eram BRANCOS: a tela abria com os
   quatro blocos sem título e o candidato sem nome. */
html[data-theme="light"] .pr-tela{background:var(--light-surface);}
html[data-theme="light"] .pr-bloco{background:var(--light-surface-blue);border-color:#d6e4fb;}
html[data-theme="light"] .pr-bloco-cab{color:var(--light-ink);}
html[data-theme="light"] .pr-bloco-sub{color:var(--light-muted);}
html[data-theme="light"] .pr-card{background:var(--light-surface);border-color:var(--light-line);}
html[data-theme="light"] .pr-nome{color:var(--light-ink);}
html[data-theme="light"] .pr-sub{color:var(--light-muted);}
html[data-theme="light"] .pr-valor{color:var(--light-ink);}
html[data-theme="light"] .pr-pill{background:var(--light-surface-blue);color:var(--light-brand-deep);}
html[data-theme="light"] .pr-quando{color:#c2334a;}
html[data-theme="light"] .pr-remover{color:#93a8bc;}
html[data-theme="light"] .pr-remover:hover{background:#fdeced;color:#c2334a;}

/* ── Visão geral do RH (rhv-) ────────────────────────────────────────── */
html[data-theme="light"] :is(.rhv-bloco-n,.rhv-tag,.rhv-clique){
  background:var(--light-surface-blue);color:var(--light-brand-deep);
}
html[data-theme="light"] .rhv-ver{color:var(--light-brand-deep);}
html[data-theme="light"] :is(.rhv-pill,.rhv-quadrado){
  background:#eef3f9;color:var(--light-muted);
}
html[data-theme="light"] .rhv-sair{color:#c2334a;}
/* Os quatro estados de situação, no par claro do CORES.md. */
html[data-theme="light"] .rhv-sit-ativo{background:#e4f7ef;color:#0b7f59;}
html[data-theme="light"] .rhv-sit-ferias{background:#e6f4fe;color:#0369a1;}
html[data-theme="light"] .rhv-sit-afastado{background:#fff7e6;color:#a35d06;}
html[data-theme="light"] .rhv-sit-desligado{background:#eef3f9;color:#5b7590;}
html[data-theme="light"] .rhv-linha-alerta{color:#a35d06;}

/* ── Os gráficos ─────────────────────────────────────────────────────── */
/* Turquesa clara sobre branco desenha uma curva que quase não existe. O azul
   da marca é a mesma linha, visível. */
/* Os dois desenham com `currentColor`: basta trocar a cor do container. */
html[data-theme="light"] .rhv-kpi-spark{color:var(--light-brand);}
html[data-theme="light"] .rhv-kpi-spark.desce{color:#c2334a;}
html[data-theme="light"] .rhv-area{color:var(--light-brand);}

/* ── Recrutamento (rh-) ──────────────────────────────────────────────── */
html[data-theme="light"] .rh-card-estrela{color:#c2610a;}
html[data-theme="light"] .rh-card-selo{color:#c2334a;}
html[data-theme="light"] .rh-col-num{background:var(--light-surface-blue);color:var(--light-brand-deep);}

/* ── Admissão e contatos (pa-) ───────────────────────────────────────── */
/* O "0/5 concluído(s)" e os ícones de e-mail e telefone: os dois casos que o
   relato apontou como "quase invisíveis". */
html[data-theme="light"] .pa-chip{background:#e0f7f4;color:#0d7f74;}
html[data-theme="light"] .pa-contato{background:var(--light-surface-blue);color:var(--light-brand-deep);}
html[data-theme="light"] .pa-contato:hover{background:#d8e7fd;color:var(--light-brand-dark);}
html[data-theme="light"] .pa-link{color:var(--light-brand-deep);}
html[data-theme="light"] .pa-link-perigo{color:#c2334a;}
html[data-theme="light"] .pa-st.ok{background:#e4f7ef;color:#0b7f59;}
html[data-theme="light"] .pa-st.pend{background:#fff7e6;color:#a35d06;}

/* ═══════════════════════════════════════════════════════════════════════
   OS DEMAIS PAINÉIS — a mesma conversão, feita de uma vez
   ═══════════════════════════════════════════════════════════════════════
   Clientes, CRM, Financeiro, Estoque, Notas fiscais, Formulários, Permissões,
   Segmentos, Reuniões e o resto. O defeito é o mesmo dos outros: tinta clara
   escolhida para brilhar sobre preto, sobre uma superfície que virou branca.

   ── POR QUE ESTE BLOCO É GERADO, E NÃO ESCRITO À MÃO ────────────────────
   Porque o problema é mecânico e a conversão também: cada matiz da paleta
   escura tem UM equivalente que lê no branco, e é a tabela do CORES.md —
   verde vira #0b7f59, âmbar vira #a35d06, vermelho vira #c2334a, índigo vira
   o azul da marca, e cinza vira a escala de tinta conforme a opacidade que
   ele já tinha. Escrever estas linhas à mão só acrescentaria a chance de
   escolher tons ligeiramente diferentes para o mesmo caso.

   ── O QUE FICOU DE FORA, DE PROPÓSITO ───────────────────────────────────
   Duas coisas. As superfícies que continuam escuras no tema claro — a barra,
   o cartão de nota (que guarda a cor escolhida pela pessoa), a landing e as
   telas de entrada —, porque ali a tinta clara está certa. E toda regra que
   pinta um fundo escuro OPACO junto com o texto: escurecer o texto desses
   seria trocar um defeito por outro, e a decisão sobre a superfície é
   humana, não mecânica.
   ═══════════════════════════════════════════════════════════════════════ */

html[data-theme="light"] .am-arroba{color:var(--light-faint);}
html[data-theme="light"] .am-av-vazio{color:var(--light-ink);}
html[data-theme="light"] .am-aviso{color:var(--light-faint);}
html[data-theme="light"] .am-btn{color:var(--light-muted);}
html[data-theme="light"] .am-inp{color:var(--light-ink);}
html[data-theme="light"] .am-lbl{color:var(--light-muted);}
html[data-theme="light"] .am-nome{color:var(--light-ink);}
html[data-theme="light"] .am-sub{color:var(--light-faint);}
html[data-theme="light"] .am-tit{color:var(--light-ink);}
html[data-theme="light"] .am-user{color:var(--light-faint);}
html[data-theme="light"] .am-x{color:var(--light-muted);}
html[data-theme="light"] .ativ-av{color:var(--light-ink);}
html[data-theme="light"] .ativ-close{color:var(--light-faint);}
html[data-theme="light"] .ativ-linha{color:var(--light-muted);}
html[data-theme="light"] .ativ-meta{color:var(--light-faint);}
html[data-theme="light"] .budget-cat-row{color:var(--light-muted);}
html[data-theme="light"] .budget-cat-title{color:var(--light-faint);}
html[data-theme="light"] .budget-cat-val{color:var(--light-faint);}
html[data-theme="light"] .budget-row{color:var(--light-muted);}
html[data-theme="light"] .budget-set-row{color:var(--light-muted);}
html[data-theme="light"] .cli-acao-prazo{color:#c2334a;}
html[data-theme="light"] .cli-acomp-av{color:var(--light-muted);}
html[data-theme="light"] .cli-acomp-dia{color:#c2334a;}
html[data-theme="light"] .cli-acomp-item{color:#c2334a;}
html[data-theme="light"] .cli-and-chip{color:#0d7f74;}
html[data-theme="light"] .cli-and-dica{color:var(--light-faint);}
html[data-theme="light"] .cli-and-envio{color:var(--light-muted);}
html[data-theme="light"] .cli-and-item{color:var(--light-faint);}
html[data-theme="light"] .cli-and-ponto{color:var(--light-faint);}
html[data-theme="light"] .cli-ap-confere-alerta{color:#c2610a;}
html[data-theme="light"] .cli-ap-confere-tit{color:var(--light-muted);}
html[data-theme="light"] .cli-ap-confere-txt{color:var(--light-ink);}
html[data-theme="light"] .cli-ap-faltou-tit{color:var(--light-faint);}
html[data-theme="light"] .cli-ap-faltou-txt{color:var(--light-muted);}
html[data-theme="light"] .cli-ap-fonte{color:var(--light-faint);}
html[data-theme="light"] .cli-ap-lido-rot{color:var(--light-faint);}
html[data-theme="light"] .cli-ap-lido-val{color:var(--light-ink);}
html[data-theme="light"] .cli-ap-num{color:var(--light-ink);}
html[data-theme="light"] .cli-ap-sin-desc{color:var(--light-faint);}
html[data-theme="light"] .cli-ap-sin-tit{color:var(--light-faint);}
html[data-theme="light"] .cli-ap-sin-txt{color:var(--light-muted);}
html[data-theme="light"] .cli-ap-troca{color:#c2610a;}
html[data-theme="light"] .cli-ap-usar{color:var(--light-muted);}
html[data-theme="light"] .cli-ativ-concluida{color:var(--light-muted);}
html[data-theme="light"] .cli-ativ-tit{color:var(--light-muted);}
html[data-theme="light"] .cli-avatar{color:var(--light-ink);}
html[data-theme="light"] .cli-btn-modelo{color:#0d7f74;}
html[data-theme="light"] .cli-cnj-aviso{color:var(--light-faint);}
html[data-theme="light"] .cli-cnj-btn{color:#a35d06;}
html[data-theme="light"] .cli-cnj-dica{color:var(--light-faint);}
html[data-theme="light"] .cli-cnj-grau{color:var(--light-muted);}
html[data-theme="light"] .cli-cnj-movs{color:#0b7f59;}
html[data-theme="light"] .cli-cnj-rot{color:var(--light-faint);}
html[data-theme="light"] .cli-cnj-selo{color:#a35d06;}
html[data-theme="light"] .cli-cnj-trib{color:#a35d06;}
html[data-theme="light"] .cli-cnj-val{color:var(--light-ink);}
html[data-theme="light"] .cli-cofre-selo{color:#0b7f59;}
html[data-theme="light"] .cli-conflito-caso{color:var(--light-muted);}
html[data-theme="light"] .cli-conflito-grave{color:#a35d06;}
html[data-theme="light"] .cli-conflito-nota{color:var(--light-muted);}
html[data-theme="light"] .cli-conflito-rodape{color:var(--light-faint);}
html[data-theme="light"] .cli-contrato-fim{color:var(--light-faint);}
html[data-theme="light"] .cli-contrato-nome{color:var(--light-ink);}
html[data-theme="light"] .cli-contratos-tit{color:var(--light-faint);}
html[data-theme="light"] .cli-data{color:#c2334a;}
html[data-theme="light"] .cli-delta{color:#0b7f59;}
html[data-theme="light"] .cli-djen-selo{color:#a35d06;}
html[data-theme="light"] .cli-doc-ico{color:#0d7f74;}
html[data-theme="light"] .cli-fav{color:#c2610a;}
html[data-theme="light"] .cli-filtro-ficha{color:#0369a1;}
html[data-theme="light"] .cli-filtro-ficha-x{color:#0369a1;}
html[data-theme="light"] .cli-filtros-ativos-conta{color:var(--light-faint);}
html[data-theme="light"] .cli-filtros-ativos-limpar{color:var(--light-muted);}
html[data-theme="light"] .cli-filtros-ativos-rot{color:var(--light-faint);}
html[data-theme="light"] .cli-foco-av{color:var(--light-ink);}
html[data-theme="light"] .cli-foco-ico{color:#0d7f74;}
html[data-theme="light"] .cli-form-dica{color:var(--light-faint);}
html[data-theme="light"] .cli-imp-alvo{color:var(--light-ink);}
html[data-theme="light"] .cli-imp-aviso{color:#a35d06;}
html[data-theme="light"] .cli-imp-barra{color:var(--light-faint);}
html[data-theme="light"] .cli-imp-cab-opt{color:var(--light-muted);}
html[data-theme="light"] .cli-imp-explica{color:#0369a1;}
html[data-theme="light"] .cli-imp-grupo{color:var(--light-faint);}
html[data-theme="light"] .cli-imp-ico{color:#0369a1;}
html[data-theme="light"] .cli-imp-item{color:var(--light-ink);}
html[data-theme="light"] .cli-imp-mais{color:var(--light-faint);}
html[data-theme="light"] .cli-imp-num{color:var(--light-ink);}
html[data-theme="light"] .cli-imp-radio{color:var(--light-muted);}
html[data-theme="light"] .cli-imp-rot{color:var(--light-muted);}
html[data-theme="light"] .cli-imp-status{color:var(--light-muted);}
html[data-theme="light"] .cli-imp-status-nomes{color:var(--light-faint);}
html[data-theme="light"] .cli-imp-sub{color:var(--light-faint);}
html[data-theme="light"] .cli-imv-alugado{color:#0369a1;}
html[data-theme="light"] .cli-imv-disponivel{color:#0d7f74;}
html[data-theme="light"] .cli-imv-proposta{color:#0d7f74;}
html[data-theme="light"] .cli-imv-reservado{color:#c2610a;}
html[data-theme="light"] .cli-imv-vendido{color:#0369a1;}
html[data-theme="light"] .cli-jur-comprovante{color:#0b7f59;}
html[data-theme="light"] .cli-jur-conflito{color:var(--light-faint);}
html[data-theme="light"] .cli-jur-prazo-prova{color:#0b7f59;}
html[data-theme="light"] .cli-jur-providencia-vazia{color:#0b7f59;}
html[data-theme="light"] .cli-jur-status{color:#a35d06;}
html[data-theme="light"] .cli-mesa-aba{color:var(--light-faint);}
html[data-theme="light"] .cli-mesa-atrasado{color:#c2334a;}
html[data-theme="light"] .cli-mesa-conta-linha{color:var(--light-muted);}
html[data-theme="light"] .cli-mesa-grupo{color:var(--light-muted);}
html[data-theme="light"] .cli-mesa-grupo-cont{color:var(--light-muted);}
html[data-theme="light"] .cli-mesa-hoje{color:#a35d06;}
html[data-theme="light"] .cli-mesa-item{color:#c2334a;}
html[data-theme="light"] .cli-mesa-item-ico{color:var(--light-faint);}
html[data-theme="light"] .cli-mesa-item-quando{color:var(--light-muted);}
html[data-theme="light"] .cli-mesa-item-sub{color:var(--light-faint);}
html[data-theme="light"] .cli-mesa-item-tit{color:var(--light-ink);}
html[data-theme="light"] .cli-mesa-item-vence{color:var(--light-faint);}
html[data-theme="light"] .cli-mesa-janela{color:var(--light-muted);}
html[data-theme="light"] .cli-mesa-oab-aviso{color:var(--light-faint);}
html[data-theme="light"] .cli-mesa-oab-cont{color:var(--light-muted);}
html[data-theme="light"] .cli-mesa-oab-erro{color:#c2334a;}
html[data-theme="light"] .cli-mesa-oab-espera{color:var(--light-faint);}
html[data-theme="light"] .cli-mesa-pub-cab{color:var(--light-faint);}
html[data-theme="light"] .cli-mesa-pub-fora{color:#a35d06;}
html[data-theme="light"] .cli-mesa-pub-orgao{color:var(--light-faint);}
html[data-theme="light"] .cli-mesa-pub-texto{color:var(--light-muted);}
html[data-theme="light"] .cli-mesa-vazio{color:var(--light-faint);}
html[data-theme="light"] .cli-nicho-etapas{color:var(--light-faint);}
html[data-theme="light"] .cli-nicho-tit{color:#0369a1;}
html[data-theme="light"] .cli-obs-autor{color:var(--light-faint);}
html[data-theme="light"] .cli-obs-editar{color:var(--light-faint);}
html[data-theme="light"] .cli-obs-fixa{color:var(--light-faint);}
html[data-theme="light"] .cli-obs-fixa-txt{color:var(--light-muted);}
html[data-theme="light"] .cli-obs-txt{color:var(--light-muted);}
html[data-theme="light"] .cli-ocr-aviso{color:#c2610a;}
html[data-theme="light"] .cli-ocr-nota{color:var(--light-faint);}
html[data-theme="light"] .cli-ocr-passo{color:var(--light-muted);}
html[data-theme="light"] .cli-prazo-dia{color:var(--light-faint);}
html[data-theme="light"] .cli-prazo-oque{color:var(--light-faint);}
html[data-theme="light"] .cli-prazo-quando{color:var(--light-faint);}
html[data-theme="light"] .cli-prazo-quem{color:var(--light-ink);}
html[data-theme="light"] .cli-prazos-conta{color:var(--light-muted);}
html[data-theme="light"] .cli-prazos-mais{color:var(--light-faint);}
html[data-theme="light"] .cli-proc{color:var(--light-faint);}
html[data-theme="light"] .cli-proc-agenda{color:#0d7f74;}
html[data-theme="light"] .cli-proc-copiar{color:var(--light-faint);}
html[data-theme="light"] .cli-proc-data{color:#c2334a;}
html[data-theme="light"] .cli-proc-resumo-item{color:var(--light-faint);}
html[data-theme="light"] .cli-pz-add{color:var(--light-muted);}
html[data-theme="light"] .cli-pz-calc-aviso{color:#a35d06;}
html[data-theme="light"] .cli-pz-calc-nota{color:var(--light-muted);}
html[data-theme="light"] .cli-pz-calc-rel{color:var(--light-muted);}
html[data-theme="light"] .cli-pz-calc-tit{color:#0d7f74;}
html[data-theme="light"] .cli-pz-chip{color:var(--light-muted);}
html[data-theme="light"] .cli-pz-origem{color:var(--light-faint);}
html[data-theme="light"] .cli-pz-tirar{color:var(--light-faint);}
html[data-theme="light"] .cli-pz-tit{color:var(--light-faint);}
html[data-theme="light"] .cli-pz-vazio{color:var(--light-faint);}
html[data-theme="light"] .cli-resumo-val{color:#c2610a;}
html[data-theme="light"] .cli-seg-objetivo{color:var(--light-ink);}
html[data-theme="light"] .cli-seg-sub{color:var(--light-ink);}
html[data-theme="light"] .cli-selecao{color:#c2334a;}
html[data-theme="light"] .cli-selecao-limpar{color:var(--light-faint);}
html[data-theme="light"] .cli-taxa-nota{color:var(--light-faint);}
html[data-theme="light"] .cli-tempo-x{color:var(--light-faint);}
html[data-theme="light"] .cli-vazio-ico{color:#0d7f74;}
html[data-theme="light"] .crm-act-btn{color:var(--light-faint);}
html[data-theme="light"] .crm-add-row-txt{color:var(--light-faint);}
html[data-theme="light"] .crm-avatar{color:var(--light-ink);}
html[data-theme="light"] .crm-bar-lbl-current{color:var(--light-ink);}
html[data-theme="light"] .crm-client-desc{color:var(--light-faint);}
html[data-theme="light"] .crm-client-head-icon{color:var(--light-ink);}
/* ── "0 DE 5 PAGAS" SUMIA NO BRANCO ──────────────────────────────────
   A regra clara pintava o CONTÊINER, e o `main.css` pinta o `span` de
   dentro: regra direta no filho vence herança do pai, então esta correção
   nunca chegava ao texto. O que ficava na tela era
   `rgba(94,234,212,.54)` sobre branco — **1,25:1**, contra um piso de 4,5.

   Pintar o span resolve, e é por isso que a linha de baixo existe mesmo
   parecendo repetição da de cima: as duas alcançam elementos diferentes.
   #0d7f74 dá 4,88 sobre branco e 4,54 sobre a faixa da linha. */
html[data-theme="light"] .crm-client-meta{color:#0d7f74;}
html[data-theme="light"] .crm-client-meta span{color:#0d7f74;}
html[data-theme="light"] .crm-count-badge{color:var(--light-faint);}
html[data-theme="light"] .crm-dash-label{color:var(--light-faint);}
html[data-theme="light"] .crm-date-inp{color:var(--light-muted);}
html[data-theme="light"] .crm-doc-add{color:var(--light-muted);}
html[data-theme="light"] .crm-doc-count{color:var(--light-faint);}
html[data-theme="light"] .crm-doc-del{color:var(--light-faint);}
html[data-theme="light"] .crm-doc-size{color:var(--light-faint);}
html[data-theme="light"] .crm-doc-viewer-loading{color:var(--light-faint);}
html[data-theme="light"] .crm-donut-center{color:var(--light-faint);}
html[data-theme="light"] .crm-lookup-btn{color:#0369a1;}
html[data-theme="light"] .crm-lookup-feedback{color:var(--light-faint);}
html[data-theme="light"] .crm-mais-btn{color:#0369a1;}
html[data-theme="light"] .crm-parcela-marca{color:var(--light-muted);}
html[data-theme="light"] .crm-parcial-ok{color:var(--light-ink);}
html[data-theme="light"] .crm-partial-hint{color:#0d7f74;}
html[data-theme="light"] .crm-report-btn{color:#0369a1;}
html[data-theme="light"] .crm-search-inp{color:var(--light-faint);}
html[data-theme="light"] .crm-search-wrap{color:var(--light-faint);}
html[data-theme="light"] .crm-serie-atraso{color:#c2334a;}
html[data-theme="light"] .crm-serie-chip{color:#0369a1;}
html[data-theme="light"] .crm-serie-nota{color:#0369a1;}
html[data-theme="light"] .crm-serie-quitada{color:#0b7f59;}
html[data-theme="light"] .crm-serie-seta{color:#0369a1;}
html[data-theme="light"] .crm-split-in{color:#0d7f74;}
html[data-theme="light"] .crm-status-pill{color:#0b7f59;}
html[data-theme="light"] .crm-tpl-chk-add{color:#0369a1;}
html[data-theme="light"] .crm-tpl-chk-box{color:var(--light-ink);}
html[data-theme="light"] .crm-tpl-chk-del{color:var(--light-faint);}
html[data-theme="light"] .crm-tpl-chk-item{color:var(--light-muted);}
html[data-theme="light"] .crm-tpl-chk-txt{color:var(--light-muted);}
html[data-theme="light"] .crm-value-split{color:#0d7f74;}
html[data-theme="light"] .dsp-cat-val{color:var(--light-ink);}
html[data-theme="light"] .dsp-item-desc{color:var(--light-ink);}
html[data-theme="light"] .dsp-item-val{color:var(--light-ink);}
html[data-theme="light"] .dsp-mes{color:var(--light-ink);}
html[data-theme="light"] .dsp-nav{color:var(--light-ink);}
html[data-theme="light"] .dsp-verde{color:#0b7f59;}
html[data-theme="light"] .dsp-x{color:var(--light-faint);}
html[data-theme="light"] .est-cat-acao{color:var(--light-faint);}
html[data-theme="light"] .est-cat-item{color:var(--light-muted);}
html[data-theme="light"] .est-cat-nova{color:var(--light-muted);}
html[data-theme="light"] .est-cat-qtd{color:var(--light-faint);}
html[data-theme="light"] .est-cod-fmt{color:var(--light-faint);}
html[data-theme="light"] .est-conta{color:#c2334a;}
html[data-theme="light"] .est-erro{color:#c2334a;}
html[data-theme="light"] .est-fa-btn{color:#c2334a;}
html[data-theme="light"] .est-fa-chip{color:#c2334a;}
html[data-theme="light"] .est-fa-ico{color:#c2334a;}
html[data-theme="light"] .est-id-acao{color:#0b7f59;}
html[data-theme="light"] .est-kpi-tend{color:#0b7f59;}
html[data-theme="light"] .est-lm-var{color:#0b7f59;}
html[data-theme="light"] .est-lv-dias{color:#c2610a;}
html[data-theme="light"] .est-mov-conta{color:var(--light-faint);}
html[data-theme="light"] .est-ok{color:#0b7f59;}
html[data-theme="light"] .est-perigo-txt{color:#c2334a;}
html[data-theme="light"] .est-selo-aviso{color:#c2610a;}
html[data-theme="light"] .est-selo-modulo{color:#0b7f59;}
html[data-theme="light"] .est-selo-ok{color:#0b7f59;}
html[data-theme="light"] .est-sub-esg{color:#c2334a;}
html[data-theme="light"] .est-sug-item{color:var(--light-muted);}
html[data-theme="light"] .est-sug-mais{color:var(--light-faint);}
html[data-theme="light"] .est-sug-topo{color:var(--light-ink);}
html[data-theme="light"] .est-un{color:var(--light-muted);}
html[data-theme="light"] .est-venc{color:#c2610a;}
html[data-theme="light"] .expense-item-del{color:var(--light-faint);}
html[data-theme="light"] .expense-item-desc{color:var(--light-muted);}
html[data-theme="light"] .expense-month-nav{color:var(--light-muted);}
html[data-theme="light"] .fin-imp-alvo{color:var(--light-faint);}
html[data-theme="light"] .fin-imp-aviso-linha{color:#a35d06;}
html[data-theme="light"] .fin-imp-aviso-quem{color:#a35d06;}
html[data-theme="light"] .fin-imp-avisos{color:#a35d06;}
html[data-theme="light"] .fin-imp-barra{color:var(--light-faint);}
html[data-theme="light"] .fin-imp-cab-opt{color:var(--light-muted);}
html[data-theme="light"] .fin-imp-conta-linha{color:var(--light-muted);}
html[data-theme="light"] .fin-imp-grupo{color:var(--light-faint);}
html[data-theme="light"] .fin-imp-grupo-sub{color:var(--light-faint);}
html[data-theme="light"] .fin-imp-ico{color:#0b7f59;}
html[data-theme="light"] .fin-imp-item{color:#0b7f59;}
html[data-theme="light"] .fin-imp-mais{color:var(--light-faint);}
html[data-theme="light"] .fin-imp-nota{color:var(--light-faint);}
html[data-theme="light"] .fin-imp-num{color:var(--light-faint);}
html[data-theme="light"] .fin-imp-radio{color:var(--light-muted);}
html[data-theme="light"] .fin-imp-rot{color:var(--light-muted);}
html[data-theme="light"] .fin-imp-soma{color:var(--light-muted);}
html[data-theme="light"] .fin-imp-sub{color:var(--light-faint);}
html[data-theme="light"] .flx-kpis{color:var(--light-ink);}
html[data-theme="light"] .flx-passos{color:var(--light-ink);}
html[data-theme="light"] .flx-rot{color:#0369a1;}
html[data-theme="light"] .flx-vermelho{color:#c2334a;}
html[data-theme="light"] .fm-add{color:#0369a1;}
html[data-theme="light"] .fm-aviso-btn{color:#a35d06;}
html[data-theme="light"] .fm-aviso-link{color:var(--light-muted);}
html[data-theme="light"] .fm-aviso-manut{color:var(--light-ink);}
html[data-theme="light"] .fm-aviso-topo{color:#a35d06;}
html[data-theme="light"] .fm-aviso-txt{color:var(--light-muted);}
html[data-theme="light"] .fm-btn-pri{color:var(--light-ink);}
html[data-theme="light"] .fm-btn-sec{color:var(--light-muted);}
html[data-theme="light"] .fm-campo-del{color:var(--light-faint);}
html[data-theme="light"] .fm-campo-obr{color:var(--light-faint);}
html[data-theme="light"] .fm-destino-ico{color:#0369a1;}
html[data-theme="light"] .fm-destino-marca{color:var(--light-ink);}
html[data-theme="light"] .fm-mover-b{color:var(--light-faint);}
html[data-theme="light"] .fm-ok{color:#0b7f59;}
html[data-theme="light"] .fm-passo{color:var(--light-ink);}
html[data-theme="light"] .fm-passo-n{color:var(--light-muted);}
html[data-theme="light"] .fm-previa-cab{color:var(--light-faint);}
html[data-theme="light"] .fm-sub{color:var(--light-faint);}
html[data-theme="light"] .fm-voltar{color:var(--light-muted);}
html[data-theme="light"] .fm-x{color:var(--light-muted);}
html[data-theme="light"] .fr-anexo{color:#0369a1;}
html[data-theme="light"] .fr-b{color:var(--light-muted);}
html[data-theme="light"] .fr-b-del{color:#c2334a;}
html[data-theme="light"] .fr-item-cab{color:var(--light-faint);}
html[data-theme="light"] .fr-k{color:var(--light-faint);}
html[data-theme="light"] .fr-sel{color:var(--light-muted);}
html[data-theme="light"] .fr-v{color:var(--light-ink);}
html[data-theme="light"] .fr-vazio{color:var(--light-faint);}
html[data-theme="light"] .fr-x{color:var(--light-faint);}
html[data-theme="light"] .gc-av{color:var(--light-ink);}
html[data-theme="light"] .gc-av-mais{color:var(--light-muted);}
html[data-theme="light"] .gc-btn{color:var(--light-muted);}
html[data-theme="light"] .gc-btn-forte{color:#0369a1;}
html[data-theme="light"] .gc-chip{color:#0b7f59;}
html[data-theme="light"] .gc-conta{color:var(--light-faint);}
html[data-theme="light"] .gc-foto-letra{color:var(--light-ink);}
html[data-theme="light"] .gc-menu{color:var(--light-faint);}
html[data-theme="light"] .gc-online{color:#0b7f59;}
html[data-theme="light"] .gc-selo-lider{color:#a35d06;}
html[data-theme="light"] .gc-selo-membro{color:var(--light-faint);}
html[data-theme="light"] .ia-resumo-corpo{color:var(--light-ink);}
html[data-theme="light"] .ia-resumo-nota{color:var(--light-faint);}
html[data-theme="light"] .ia-resumo-x{color:var(--light-faint);}
html[data-theme="light"] .nf-aba{color:var(--light-muted);}
html[data-theme="light"] .nf-ajuda{color:var(--light-faint);}
html[data-theme="light"] .nf-anel{color:var(--light-ink);}
html[data-theme="light"] .nf-aviso{color:var(--light-muted);}
html[data-theme="light"] .nf-bloco{color:var(--light-muted);}
html[data-theme="light"] .nf-btn-prep{color:var(--light-muted);}
html[data-theme="light"] .nf-check{color:var(--light-muted);}
html[data-theme="light"] .nf-heroi-txt{color:var(--light-ink);}
html[data-theme="light"] .nf-item-nome{color:var(--light-ink);}
html[data-theme="light"] .nf-item-val{color:var(--light-ink);}
html[data-theme="light"] .nf-liquido{color:#0b7f59;}
html[data-theme="light"] .nf-mes{color:var(--light-ink);}
html[data-theme="light"] .nf-mini{color:var(--light-muted);}
html[data-theme="light"] .nf-nav{color:var(--light-muted);}
html[data-theme="light"] .nf-obr-nome{color:var(--light-ink);}
html[data-theme="light"] .nf-obr-val{color:var(--light-ink);}
html[data-theme="light"] .nf-outros{color:var(--light-faint);}
html[data-theme="light"] .nf-pend-nome{color:var(--light-ink);}
html[data-theme="light"] .nf-pend-val{color:var(--light-ink);}
html[data-theme="light"] .nf-sec{color:var(--light-faint);}
html[data-theme="light"] .nf-vazio-guia{color:var(--light-muted);}
html[data-theme="light"] .nf-vazio-porque{color:var(--light-faint);}
html[data-theme="light"] .nf-x{color:var(--light-faint);}
/* ══════════════════════════════════════════════════════════════
   A PORTA DE CONFIRMAÇÃO DE E-MAIL
   ══════════════════════════════════════════════════════════════
   Este bloco repintava os TEXTOS e nenhuma SUPERFÍCIE. No tema claro a caixa
   continuava com o `#111114` do tema escuro e recebia a tinta escura por cima:
   título em #0f2744 sobre quase-preto dá 1,3:1 — ilegível, e não só o título,
   a caixa inteira. É a primeira tela de quem acabou de criar conta.

   Duas coisas estavam erradas além disso, e vinham daqui:

     · `.pe-ok` é o botão roxo, com gradiente próprio nos dois temas. Pintar o
       texto dele de `--light-ink` punha azul-marinho sobre índigo.
     · `.pe-btn` recebia tinta escura sem que o fundo dele mudasse.

   Regra para quem mexer aqui depois: superfície e texto andam JUNTOS. Repintar
   só um dos dois é o jeito de produzir contraste ruim sem erro nenhum. */

html[data-theme="light"] #porta-email{background:rgba(20,44,74,.42);}
html[data-theme="light"] .pe-caixa{
  background:var(--light-surface);border-color:var(--light-line);
  box-shadow:0 24px 60px rgba(15,39,68,.22);
}
html[data-theme="light"] .pe-ico{background:#e6ecff;border-color:#c0cdf8;color:#312e81;}
html[data-theme="light"] .pe-ico-bloq{background:#fdeaea;border-color:#f3bcbc;color:#a4192b;}

html[data-theme="light"] .pe-titulo{color:var(--light-ink);}
html[data-theme="light"] .pe-txt{color:#3d576f;}
html[data-theme="light"] .pe-txt b{color:#1d4ed8;}
html[data-theme="light"] .pe-porque{color:var(--light-muted);}

html[data-theme="light"] .pe-prazo{
  background:#fff6e6;border-color:#eed7a4;border-left-color:#d19412;color:#7a4a05;
}
html[data-theme="light"] .pe-prazo b{color:#7a4a05;}
html[data-theme="light"] .pe-prazo-ok{
  background:#e7f8ef;border-color:#a5dbc1;border-left-color:#0f9a66;color:#0a5b40;
}
html[data-theme="light"] .pe-prazo-ok b{color:#0a5b40;}
html[data-theme="light"] .pe-bloqueio{
  background:#fdeaea;border-color:#f2bcbc;border-left-color:#d92d20;color:#96202f;
}

html[data-theme="light"] .pe-btn{
  background:#fff;border-color:var(--light-line);color:var(--light-ink);
}
html[data-theme="light"] .pe-btn:hover:not(:disabled){background:var(--light-surface-soft);}
/* O botão principal guarda o gradiente índigo — texto branco, como no escuro. */
html[data-theme="light"] .pe-ok{
  background:linear-gradient(135deg,#4f46e5,#4338ca);border-color:transparent;color:#fff;
}
html[data-theme="light"] .pe-rodape{border-top-color:var(--light-line);color:var(--light-muted);}
html[data-theme="light"] .pe-sair{color:#3d576f;}
html[data-theme="light"] .pe-sair:hover{color:var(--light-ink);}
html[data-theme="light"] .perm-avatar{color:var(--light-ink);}
html[data-theme="light"] .perm-cab-ico{color:var(--light-brand-deep);}
html[data-theme="light"] .perm-canto{color:var(--light-faint);}
html[data-theme="light"] .perm-chave{color:var(--light-faint);}
/* A matriz acompanha o tema; fundos e filhos tinham cores escuras fixas. */
html[data-theme="light"] .perm-modal :is(.perm-canto,.perm-col,.perm-membro,.perm-cel){background:#fff;color:#193450;}
html[data-theme="light"] .perm-modal :is(.perm-canto,.perm-col){background:#f1f6fc;}
html[data-theme="light"] .perm-modal .perm-grade{background:#d4dfec;}
html[data-theme="light"] .perm-modal :is(.perm-faixa-txt,.perm-rodape-txt) b{color:#193450;}
html[data-theme="light"] .perm-modal :is(.perm-faixa-txt,.perm-rodape-txt) span{color:#526b85;}
html[data-theme="light"] .perm-modal .perm-chave{background:#f1f5f9;color:#526479;border-color:#cbd8e6;}
html[data-theme="light"] .perm-modal .perm-chave.on{background:#e0f7ec;color:#076444;border-color:#94d9bb;}
html[data-theme="light"] .perm-modal .perm-chave.fixo{opacity:1;}
html[data-theme="light"] .perm-modal .perm-avatar{color:#fff;}
html[data-theme="light"] .perm-modal .perm-papel.lider{color:#6542b0;background:#f0eaff;}
html[data-theme="light"] .perm-col-sub{color:var(--light-faint);}
html[data-theme="light"] .perm-dica{color:var(--light-faint);}
html[data-theme="light"] .perm-faixa-ico{color:#0369a1;}
html[data-theme="light"] .perm-faixa-txt{color:var(--light-ink);}
html[data-theme="light"] .perm-limite{color:var(--light-faint);}
html[data-theme="light"] .perm-papel{color:var(--light-faint);}
html[data-theme="light"] .perm-rodape-ico{color:#0369a1;}
html[data-theme="light"] .perm-rodape-txt{color:var(--light-ink);}
html[data-theme="light"] .perm-saiba{color:#0369a1;}
html[data-theme="light"] .perm-salvar{color:var(--light-ink);}
html[data-theme="light"] .perm-sub{color:var(--light-faint);}
html[data-theme="light"] .perm-vazio{color:var(--light-faint);}
html[data-theme="light"] .perm-x{color:var(--light-muted);}
html[data-theme="light"] .reu-agora{color:#0d7f74;}
html[data-theme="light"] .reu-av{color:var(--light-ink);}
/* ════════════════════════════════════════════════════════════════
   O CARTÃO DE CONVITE PERDEU O TÍTULO NO TEMA CLARO
   ════════════════════════════════════════════════════════════════
   Cinco partes deste cartão ganharam par no tema claro; o TÍTULO e o TEXTO,
   não. Eles ficaram em `#f0f0f0` e `rgba(240,240,240,.45)`, que sobre o `#fff`
   do modal claro dão 1,14:1 — branco no branco. O aviso de reunião aparecia
   com um borrão no lugar do nome, e o mesmo vale para todo cartão
   `convite-*`: convite de grupo, de workspace, de amizade.

   É o par que faltou, e não um caso especial do aviso de reunião — por isso a
   regra é da classe base, e não de `.reu-aviso-tit`. */
html[data-theme="light"] .convite-nome{color:var(--light-ink);}
html[data-theme="light"] .convite-de{color:var(--light-muted);}
html[data-theme="light"] .reu-aviso-av{color:var(--light-ink);}
html[data-theme="light"] .reu-aviso-data{color:#0369a1;}
html[data-theme="light"] .reu-aviso-grupo{color:var(--light-faint);}
html[data-theme="light"] .reu-aviso-ver{color:var(--light-muted);}
html[data-theme="light"] .reu-aviso-vou{color:var(--light-ink);}
html[data-theme="light"] .reu-cartao{color:#0d7f74;}
html[data-theme="light"] .reu-data-ico{color:var(--light-brand-deep);}
html[data-theme="light"] .reu-marcar{color:var(--light-ink);}
html[data-theme="light"] .reu-onde-link{color:#0d7f74;}
html[data-theme="light"] .sg-add-travado{color:var(--light-brand-deep);}
html[data-theme="light"] .sg-av-vazio{color:#0369a1;}
html[data-theme="light"] .sg-card-add{color:#0369a1;}
html[data-theme="light"] .sg-card-cancelar{color:#0369a1;}
html[data-theme="light"] .sg-conversa{color:var(--light-muted);}
html[data-theme="light"] .sg-conversa-eu{color:var(--light-faint);}
html[data-theme="light"] .sg-gv-bio-campo{color:var(--light-ink);}
html[data-theme="light"] .sg-gv-editar{color:#0369a1;}
html[data-theme="light"] .sg-gv-lapis{color:var(--light-faint);}
html[data-theme="light"] .sg-gv-membro-tirar{color:#c2334a;}
html[data-theme="light"] .sg-gv-nome-campo{color:var(--light-ink);}
html[data-theme="light"] .sg-limpar{color:var(--light-faint);}
html[data-theme="light"] .sg-pedido-nao{color:var(--light-muted);}
html[data-theme="light"] .sg-pedido-ok{color:#0b7f59;}

/* Segunda leva da mesma conversão: contratos, admin, roadmap, chat,
   relatórios, recibos, histórico, calendário e o que mais ficou. */
html[data-theme="light"] .admin-account-avatar{color:var(--light-ink);}
html[data-theme="light"] .admin-close-btn{color:var(--light-ink);}
html[data-theme="light"] .admin-footer{color:var(--light-faint);}
html[data-theme="light"] .admin-loading{color:var(--light-faint);}
html[data-theme="light"] .admin-plan-badge{color:#c2610a;}
html[data-theme="light"] .admin-refresh-btn{color:var(--light-ink);}
html[data-theme="light"] .admin-search{color:var(--light-ink);}
html[data-theme="light"] .admin-stat-l{color:var(--light-faint);}
html[data-theme="light"] .admin-stat-n{color:#0369a1;}
html[data-theme="light"] .admin-table{color:var(--light-ink);}
html[data-theme="light"] .admin-title{color:var(--light-ink);}
html[data-theme="light"] .cal-add{color:var(--light-ink);}
html[data-theme="light"] .cal-add-txt{color:var(--light-faint);}
html[data-theme="light"] .cal-item-del{color:var(--light-faint);}
html[data-theme="light"] .cal-mais{color:var(--light-faint);}
html[data-theme="light"] .chat-call-btn{color:#0d7f74;}
html[data-theme="light"] .chat-call-invite{color:#0d7f74;}
html[data-theme="light"] .chat-header-avatar{color:var(--light-ink);}
html[data-theme="light"] .chat-lb-toolbar{color:var(--light-ink);}
html[data-theme="light"] .chat-notif{color:#a35d06;}
html[data-theme="light"] .chat-notif-avatar{color:var(--light-ink);}
html[data-theme="light"] .chat-notif-cnj{color:#a35d06;}
html[data-theme="light"] .chat-notif-etiqueta{color:#a35d06;}
html[data-theme="light"] .chat-send{color:var(--light-ink);}
html[data-theme="light"] .chat-unread{color:var(--light-ink);}
html[data-theme="light"] .ctr-btn-ia{color:var(--light-brand-deep);}
html[data-theme="light"] .ctr-btn-modelo{color:#0369a1;}
html[data-theme="light"] .ctr-cab-alerta{color:#c2610a;}
html[data-theme="light"] .ctr-cab-vazio{color:var(--light-faint);}
html[data-theme="light"] .ctr-faltou{color:#c2610a;}
html[data-theme="light"] .ctr-ia-nota{color:#0b7f59;}
html[data-theme="light"] .ctr-ia-num{color:#0b7f59;}
html[data-theme="light"] .ctr-ok{color:#0b7f59;}
html[data-theme="light"] .ctr-perigo{color:#c2334a;}
html[data-theme="light"] .ctr-suspeito{color:#c2610a;}
html[data-theme="light"] .ctr-vazio-ico{color:#0369a1;}
html[data-theme="light"] .dnd-ligado{color:var(--light-brand-deep);}
html[data-theme="light"] .gb-av{color:var(--light-ink);}
html[data-theme="light"] .gb-btn{color:var(--light-muted);}
html[data-theme="light"] .gb-chip{color:#0b7f59;}
html[data-theme="light"] .gb-foto{color:var(--light-ink);}
html[data-theme="light"] .gb-sair{color:#c2334a;}
html[data-theme="light"] .hist-cab{color:var(--light-faint);}
html[data-theme="light"] .hist-hora{color:var(--light-faint);}
html[data-theme="light"] .hist-txt{color:var(--light-muted);}
html[data-theme="light"] .hist-vazio{color:var(--light-faint);}
html[data-theme="light"] .hist-voltar{color:var(--light-muted);}
html[data-theme="light"] .mb-arrastando{color:var(--light-ink);}
html[data-theme="light"] .mb-close{color:var(--light-ink);}
html[data-theme="light"] .mb-nav-btn{color:var(--light-muted);}
html[data-theme="light"] .mb-primary{color:var(--light-ink);}
html[data-theme="light"] .mb-sheet-item{color:var(--light-muted);}
html[data-theme="light"] .mb-sheet-larg-reset{color:var(--light-muted);}
html[data-theme="light"] .mb-sheet-larg-top{color:var(--light-muted);}
html[data-theme="light"] .mb-sheet-larg-val{color:#0369a1;}
html[data-theme="light"] .pf-inp{color:var(--light-ink);}
html[data-theme="light"] .pm-bloqueio{color:#c2334a;}
html[data-theme="light"] .pm-ent-btn{color:var(--light-ink);}
html[data-theme="light"] .pm-ent-link{color:var(--light-brand-deep);}
html[data-theme="light"] .pm-ent-ocupacao{color:var(--light-faint);}
html[data-theme="light"] .pm-ent-vazio{color:var(--light-faint);}
html[data-theme="light"] .pm-opt-ico{color:#0369a1;}
html[data-theme="light"] .pm-stripe-button{color:var(--light-ink);}
html[data-theme="light"] .prj-modal-cancel{color:var(--light-ink);}
html[data-theme="light"] .prj-modal-go{color:var(--light-muted);}
html[data-theme="light"] .prj-modal-ok{color:#0b7f59;}
html[data-theme="light"] .prj-no{color:var(--light-ink);}
html[data-theme="light"] .prj-nome-inp{color:var(--light-ink);}
html[data-theme="light"] .prj-quad-perigo{color:#c2334a;}
html[data-theme="light"] .pw-item-btn{color:var(--light-faint);}
html[data-theme="light"] .rd-atraso{color:#c2334a;}
html[data-theme="light"] .rd-av{color:var(--light-ink);}
html[data-theme="light"] .rd-cl-selo{color:var(--light-ink);}
html[data-theme="light"] .rd-desfazer-btn{color:var(--light-brand-deep);}
html[data-theme="light"] .rd-desfazer-txt{color:var(--light-muted);}
html[data-theme="light"] .rd-destino{color:var(--light-ink);}
html[data-theme="light"] .rd-ini-atraso{color:#c2334a;}
html[data-theme="light"] .rd-ini-gente{color:var(--light-ink);}
html[data-theme="light"] .rd-perigo{color:#c2334a;}
html[data-theme="light"] .recibo-assin-dica{color:var(--light-faint);}
html[data-theme="light"] .recibo-assin-limpar{color:var(--light-muted);}
html[data-theme="light"] .recibo-assin-previa{color:var(--light-faint);}
html[data-theme="light"] .recibo-check{color:var(--light-muted);}
html[data-theme="light"] .recibo-secao{color:var(--light-faint);}
html[data-theme="light"] .report-cancel{color:var(--light-muted);}
html[data-theme="light"] .report-category{color:var(--light-ink);}
html[data-theme="light"] .report-form{color:var(--light-muted);}
html[data-theme="light"] .report-form-meta{color:var(--light-faint);}
html[data-theme="light"] .report-modal-card{color:var(--light-ink);}
html[data-theme="light"] .report-modal-close{color:var(--light-muted);}
html[data-theme="light"] .report-modal-head{color:var(--light-muted);}
html[data-theme="light"] .report-modal-symbol{color:var(--light-brand-deep);}
html[data-theme="light"] .report-status{color:#c2334a;}
html[data-theme="light"] .shp-badge{color:#0d7f74;}
html[data-theme="light"] .sort-active-badge{color:var(--light-faint);}
html[data-theme="light"] .sort-reset{color:var(--light-faint);}
html[data-theme="light"] .sp-avatar{color:var(--light-ink);}
html[data-theme="light"] .sp-btn{color:#0d7f74;}
html[data-theme="light"] .sp-new-group-btn{color:var(--light-brand-deep);}
html[data-theme="light"] .sp-new-group-travada{color:var(--light-brand-deep);}
html[data-theme="light"] .sp-row{color:#a35d06;}
html[data-theme="light"] .stack-card-row-apagar{color:var(--light-faint);}
html[data-theme="light"] .stack-collab-host{color:var(--light-muted);}
html[data-theme="light"] .stack-del-btn{color:var(--light-faint);}
html[data-theme="light"] .stack-header-title{color:var(--light-faint);}
html[data-theme="light"] .stack-note-collab{color:var(--light-muted);}
html[data-theme="light"] .stack-target{color:#0369a1;}
html[data-theme="light"] .stack-wrap{color:#0369a1;}
html[data-theme="light"] .tb-avatar{color:var(--light-ink);}
html[data-theme="light"] .tb-btn-primario{color:var(--light-ink);}
html[data-theme="light"] .tb-busca{color:var(--light-ink);}
html[data-theme="light"] .tb-compat-nota{color:#0d7f74;}
html[data-theme="light"] .tb-convidar{color:var(--light-ink);}
html[data-theme="light"] .tb-motivo{color:#0d7f74;}
html[data-theme="light"] .tb-sub{color:var(--light-muted);}
html[data-theme="light"] .wp-gallery-free{color:var(--light-ink);}
html[data-theme="light"] .wp-gallery-play{color:var(--light-ink);}
html[data-theme="light"] .wp-pixel-label{color:var(--light-ink);}
html[data-theme="light"] .wp-pixel-swatch{color:var(--light-ink);}
html[data-theme="light"] .ws{color:#0d7f74;}
html[data-theme="light"] .ws-invite-reject{color:var(--light-faint);}

/* ═══════════════════════════════════════════════════════════════════════
   OS FORMULÁRIOS DE SEGMENTO — branco E azul, não só branco
   ═══════════════════════════════════════════════════════════════════════
   Matrícula, Contrato, Apólice, Pedido: cada segmento de cliente tem o seu, e
   todos abriam brancos de ponta a ponta — campo branco, borda quase branca,
   caixa de conferência branca, e o único azul era o botão de salvar. Uma tela
   de vinte campos sem hierarquia nenhuma.

   O CORES.md diz onde o azul entra, e é aqui: o campo recebe o azul-gelo de
   superfície, o rótulo recebe a tinta média, e a caixa de conferência —
   que é um bloco dentro do formulário — recebe o azul-gelo com borda azul
   para se separar dos campos soltos. O foco fica no azul da marca, porque
   "onde estou digitando" é a única pergunta que um formulário longo precisa
   responder o tempo todo.
   ═══════════════════════════════════════════════════════════════════════ */
html[data-theme="light"] .cli-seg-modal{
  background:var(--light-surface);border:1px solid var(--light-line);
  box-shadow:0 28px 70px rgba(16,58,110,.22);
}
html[data-theme="light"] .cli-seg-modal .m-h1,
html[data-theme="light"] .cli-seg-modal h2,
html[data-theme="light"] .cli-seg-modal h3{color:var(--light-ink);}
html[data-theme="light"] .cli-seg-modal .m-sub,
html[data-theme="light"] .cli-seg-help{color:var(--light-muted);}

/* O rótulo acima do campo. */
html[data-theme="light"] .cli-seg-field>span{color:var(--light-muted);font-weight:600;}

/* O CAMPO: azul-gelo, e não branco no branco. É o que dá a linha entre um
   campo e o outro sem precisar de borda escura. */
html[data-theme="light"] .cli-seg-field :is(.m-inp,input,select,textarea){
  background:var(--light-surface-blue);
  border:1px solid #cfe0f7;
  color:var(--light-ink);
  color-scheme:light;
}
html[data-theme="light"] .cli-seg-field :is(.m-inp,input,select,textarea):focus{
  background:var(--light-surface);
  border-color:var(--light-brand);
  box-shadow:0 0 0 3px rgba(47,127,242,.16);
  outline:none;
}
html[data-theme="light"] .cli-seg-field :is(.m-inp,input,textarea)::placeholder{color:#8ba0b4;}
/* A setinha do select vinha desenhada em cinza-escuro para fundo escuro. */
html[data-theme="light"] .cli-seg-field select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%232f7ff2'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");
}

/* A CAIXA DE CONFERÊNCIA é um bloco, e precisa parecer um. */
html[data-theme="light"] .cli-seg-checks{
  background:var(--light-surface-blue);border-color:#cfe0f7;
}
html[data-theme="light"] .cli-seg-checks legend{color:var(--light-brand-deep);font-weight:700;}
html[data-theme="light"] .cli-seg-check{color:var(--light-ink);}
html[data-theme="light"] .cli-seg-check input{
  background:var(--light-surface);border-color:#b9cfe8;
}
html[data-theme="light"] .cli-seg-check input:checked{
  background:var(--light-brand);border-color:var(--light-brand);
}
html[data-theme="light"] .cli-seg-check input:checked::after{color:#fff;}
html[data-theme="light"] .cli-seg-check input:focus-visible{outline-color:var(--light-brand);}

html[data-theme="light"] .cli-seg-error{color:#c2334a;}
html[data-theme="light"] .cli-seg-agendado{color:var(--light-brand-deep);}
html[data-theme="light"] .cli-seg-vazio p{color:var(--light-muted);}

/* ═══════════════════════════════════════════════════════════════════════
   O QUE PERTENCE À MESA ESCURA DO MAPA
   ═══════════════════════════════════════════════════════════════════════
   Com a mesa escura, duas coisas ficaram do lado errado da divisa.

   O NÓ, que a conversão automática escureceu junto com o resto do produto —
   e ele é um cartão ESCURO, então ganhou texto escuro sobre fundo escuro. É o
   caso que a geração não tinha como adivinhar: a regra do nó não declara o
   próprio fundo, ele vem de uma variável de paleta.

   E o MINIMAPA, que eu tinha deixado branco junto com a moldura. Errado: ele
   não é uma janela, é um RETRATO DA MESA. Branco ali, mostrando um mapa que
   é escuro, é a única peça da tela que contradiz o que representa.
   ═══════════════════════════════════════════════════════════════════════ */
html[data-theme="light"] .prj-no{color:rgba(240,243,248,.94);}
html[data-theme="light"] .prj-no-txt{color:inherit;}
html[data-theme="light"] .prj-no-inp{
  background:rgba(0,0,0,.42);color:rgba(240,243,248,.96);
}
html[data-theme="light"] .prj-mini{
  background:#1a1e26;border-color:rgba(255,255,255,.12);color:rgba(226,232,240,.7);
}
html[data-theme="light"] .prj-mini-cfg{color:rgba(226,232,240,.7);}

/* ═══════════════════════════════════════════════════════════════════════
   AS ABAS DE SEGMENTO DO PAINEL DE CLIENTES
   ═══════════════════════════════════════════════════════════════════════
   Matrícula, Contrato, Apólice, Pedido, Processo: cada segmento tem a sua
   aba, com os campos e os números que só fazem sentido ali. Todas abriam
   brancas de ponta a ponta — cartão branco sobre fundo branco, borda quase
   branca, e o único traço de cor era o botão de salvar.

   O CSS delas é escrito em cima de variáveis com valor de emergência escuro
   (`var(--cli-borda, rgba(255,255,255,.08))`). No tema claro essas emergências
   nunca eram trocadas, então a borda saía branca sobre branco e o cartão
   perdia o contorno: a lista virava um bloco só, sem onde um registro termina
   e o outro começa.

   Aqui o azul entra onde o CORES.md manda: o CARTÃO recebe a borda azul e o
   fundo branco (é o objeto), o CABEÇALHO dele recebe o azul-gelo (é a faixa
   que separa um do outro), o rótulo recebe a tinta média e o número recebe o
   azul da marca. O teal continua existindo, mas como SINAL — prazo, situação
   —, não como cor de tudo.
   ═══════════════════════════════════════════════════════════════════════ */

/* O cartão de registro: branco com contorno azul, para a lista ter linhas. */
html[data-theme="light"] .cli-seg-card{
  background:var(--light-surface);
  border-color:#cfe0f7;
  box-shadow:0 1px 2px rgba(15,39,68,.04),0 6px 18px rgba(15,39,68,.06);
}
html[data-theme="light"] .cli-seg-card:hover{border-color:#b9d2f4;}
html[data-theme="light"] .cli-seg-card-late{border-left-color:#c2334a;}
html[data-theme="light"] .cli-seg-head h3{color:var(--light-ink);}
html[data-theme="light"] .cli-seg-title{color:var(--light-ink);}

/* Rótulo e valor da ficha, dentro do cartão. */
html[data-theme="light"] .cli-seg-data dt{color:var(--light-muted);font-weight:600;}
html[data-theme="light"] .cli-seg-data dd{color:var(--light-ink);}
html[data-theme="light"] .cli-seg-notes{color:var(--light-muted);}
html[data-theme="light"] .cli-seg-history{color:var(--light-muted);}
html[data-theme="light"] .cli-seg-history summary{color:var(--light-brand-deep);font-weight:600;}

/* O número que resume o segmento: azul da marca, que é a cor do produto. */
html[data-theme="light"] .cli-seg-metric{color:var(--light-brand-deep);font-weight:600;}
html[data-theme="light"] .cli-seg-status{color:#0d7f74;}
html[data-theme="light"] .cli-seg-agendado{color:var(--light-brand-deep);}
html[data-theme="light"] :is(.cli-seg-error,.cli-seg-atraso,.cli-seg-danger){color:#c2334a;}

/* A barra de progresso desenhava com branco a 8% — invisível no branco. */
html[data-theme="light"] .cli-seg-card progress,
html[data-theme="light"] .cli-seg-card progress::-webkit-progress-bar{
  background:#dfe9f5;
}
html[data-theme="light"] .cli-seg-card progress{accent-color:var(--light-brand);}
html[data-theme="light"] .cli-seg-card progress::-webkit-progress-value{background:var(--light-brand);}
html[data-theme="light"] .cli-seg-card progress::-moz-progress-bar{background:var(--light-brand);}

/* O resumo do topo da aba e os filtros. */
html[data-theme="light"] .cli-seg-summary{color:var(--light-ink);}
html[data-theme="light"] .cli-seg-objetivo{
  color:var(--light-ink);border-left-color:var(--light-brand);
  background:var(--light-surface-blue);padding:10px 12px;border-radius:0 10px 10px 0;
}
html[data-theme="light"] .cli-seg-help{color:var(--light-muted);}
html[data-theme="light"] .cli-seg-filters :is(.m-inp,input,select){
  background:var(--light-surface-blue);border:1px solid #cfe0f7;color:var(--light-ink);
  color-scheme:light;
}
html[data-theme="light"] .cli-seg-filters :is(.m-inp,input,select):focus{
  background:var(--light-surface);border-color:var(--light-brand);
  box-shadow:0 0 0 3px rgba(47,127,242,.16);outline:none;
}
html[data-theme="light"] .cli-seg-filters select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%232f7ff2'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");
}

/* Os anexos e o estado vazio. */
html[data-theme="light"] .cli-seg-doc{
  background:var(--light-surface-blue);border-color:#cfe0f7;color:var(--light-brand-deep);
}
html[data-theme="light"] .cli-seg-vazio{
  background:var(--light-surface-blue);border-color:#cfe0f7;
}
html[data-theme="light"] .cli-seg-vazio p{color:var(--light-muted);}

/* A última consulta e a idade da base, no tema claro. Azul e branco: o cinza
   da data sai da escala de tinta de CORES.md, e o aviso da base velha usa o
   par âmbar já definido lá para "atenção". */
html[data-theme="light"] .cli-det-juridico .cli-cnj-consulta{color:var(--light-muted);}
html[data-theme="light"] .cli-det-juridico .cli-cnj-selo.antiga{color:#a35d06;}

/* O selo da consulta ao vivo, no tema claro: o verde de "bom" de CORES.md. */
html[data-theme="light"] .cli-det-juridico .cli-cnj-selo.aovivo{color:#0b7f59;}

/* ══════════════════════════════════════════════════════════════════════
   A LINHA DO TEMPO DO PROCESSO, NO TEMA CLARO
   ══════════════════════════════════════════════════════════════════════
   Ela nasceu para o fundo escuro e é dirigida por DUAS variáveis: `--and-cor`,
   o acento de cada fato, e `--and-fio`, o trilho. Ambas são neon — ciano
   #22d3ee e âmbar #fcd34d —, cores que existem para brilhar contra preto. No
   branco elas somem: o selo "CNJ" ficava com 1,39 de contraste, e o trilho
   virava um risco fluorescente atravessando a página.

   Corrigir selo por selo seria remendo. Redefinir as duas variáveis re-tinge a
   trilha inteira de uma vez — ponto, ramo, anel, selo e régua de mês leem
   todas a mesma fonte — e é por isso que a correção cabe neste bloco em vez de
   espalhar-se por vinte regras.

   As cores são as de CORES.md: o azul da barra e o branco. A ORIGEM continua
   sendo dita pela cor, que é a regra do desenho original — só que agora com
   azul para o que veio de fora, cinza-azulado para o que o app escreveu, e o
   verde de "bom" para o que veio ao vivo do tribunal.
   ══════════════════════════════════════════════════════════════════════ */

/* O TRILHO. Azul da linha de borda, não ciano aceso: ele organiza a leitura,
   não disputa com o texto. */
html[data-theme="light"] .cli-det-juridico .cli-and-trilha,
html[data-theme="light"] .cli-and-trilha{
  --and-fio:#9dc0ea;
}
/* O brilho do fio existe para o fundo preto. No branco ele vira borrão. */
html[data-theme="light"] .cli-and-item::before,
html[data-theme="light"] .cli-and-mes::after{filter:none;}

/* A COR DA ORIGEM.
   Azul = veio de fora (CNJ, DJEN, PJe). Cinza-azulado = o app escreveu.
   Verde = consulta ao vivo no tribunal, que é a novidade deste recurso e
   merece se distinguir do retrato em lote. */
html[data-theme="light"] .cli-and-item{--and-cor:var(--light-brand);}
html[data-theme="light"] .cli-and-item.auto{--and-cor:#8fa6bd;}
html[data-theme="light"] .cli-and-item.fase{--and-cor:var(--light-brand-deep);}
html[data-theme="light"] .cli-and-item.cnj,
html[data-theme="light"] .cli-and-item.djen{--and-cor:var(--light-brand);}
/* A consulta ao vivo tem cor própria — verde de "bom" de CORES.md — porque
   ela é a diferença entre o retrato de hoje e o de vinte dias atrás. A classe
   vive no SELO, e não no item: é o selo que diz a origem. */

/* O PONTO. Miolo branco com anel de cor: no claro, disco cheio de tinta come
   o ícone que está dentro dele. */
html[data-theme="light"] .cli-and-ponto{
  background:var(--light-surface);
  border-color:color-mix(in srgb,var(--and-cor) 55%,transparent);
  color:var(--and-cor);
  box-shadow:0 1px 2px rgba(15,39,68,.06);
}
html[data-theme="light"] .cli-and-item.auto .cli-and-ponto{
  background:var(--light-surface);border-color:var(--light-line);color:#8fa6bd;
}
html[data-theme="light"] .cli-and-item.fase .cli-and-ponto{
  background:var(--light-surface-blue);
  border-color:var(--light-brand);color:var(--light-brand-deep);
}
/* O ponto da FASE ATUAL tinha miolo quase preto — deliberado no tema escuro,
   onde o disco escuro faz a borda acesa brilhar. Sobre branco ele vira uma
   bola preta no meio da página. */
html[data-theme="light"] .cli-and-item.atual .cli-and-ponto{
  background:radial-gradient(circle at 50% 38%,#fff,var(--light-surface-blue));
  border-color:var(--light-brand);
  color:var(--light-brand-deep);
  box-shadow:0 2px 10px rgba(47,127,242,.18);
}
html[data-theme="light"] .cli-and-item.atual .cli-and-ponto svg{color:var(--light-brand-deep);}

/* OS SELOS. Pílula azul clara com texto azul escuro — o par de CORES.md para
   "chip". O âmbar sobre branco era ilegível. */
html[data-theme="light"] .cli-and-fonte{
  background:var(--light-surface-blue);
  border-color:color-mix(in srgb,var(--and-cor) 30%,transparent);
  color:var(--light-brand-deep);
}
html[data-theme="light"] .cli-and-item.auto .cli-and-fonte{
  background:var(--light-surface-soft);border-color:var(--light-line);color:var(--light-muted);
}
html[data-theme="light"] .cli-and-fonte.pje{
  background:#e4f7ef;border-color:#9ad9bf;color:#0b7f59;
}
html[data-theme="light"] .cli-and-agora{
  background:var(--light-surface-blue);
  border-color:color-mix(in srgb,var(--light-brand) 34%,transparent);
  color:var(--light-brand-deep);
}

/* A RÉGUA DE MESES e as ações do cartão. As duas foram escritas quando a mesa
   era branca; com a mesa azul elas caíram para 2,2 e 3,1 de contraste — abaixo
   do piso de CORES.md, que é o que "--light-faint" marca como o limite do
   legível. Escurecer o fundo obriga a escurecer a tinta junto. */
html[data-theme="light"] .cli-det-juridico .cli-and-mes-rot{color:var(--light-brand-deep);}
html[data-theme="light"] .cli-det-juridico .cli-proc .cli-obs-editar{color:var(--light-muted);}
html[data-theme="light"] .cli-det-juridico .cli-proc .cli-obs-editar:hover{color:var(--light-brand-deep);}
html[data-theme="light"] .cli-det-juridico .cli-proc .cli-obs-editar.perigo:hover{color:#c2334a;}

/* ── A MESA É AZUL, OS CARTÕES SÃO BRANCOS ──────────────────────────────
   A mesa era #f8fbff — branco quase puro — atrás de cartões brancos. Sem
   contraste entre a mesa e o que está sobre ela, dezesseis movimentos viravam
   uma folha só.

   ── POR QUE NÃO O AZUL CHEIO DA BARRA ───────────────────────────────────
   Foi tentado, e saiu pior. Pintar a mesa com o gradiente da barra obriga a
   inverter a tinta de tudo que fica sobre ela — número do processo, Área,
   Vara, LINHA DO TEMPO, régua de mês, Editar/Excluir — e essas peças estão
   espalhadas por regras antigas que continuam pintando fundo claro em algumas
   delas. O resultado foi texto branco sobre fundo claro: palavras sumindo.

   Este azul é o mais fundo que ainda aceita a MESMA tinta escura de sempre.
   Nenhuma regra de texto precisa mudar, e é isso que o torna seguro — a mesa
   fica azul de verdade e nada mais se move. */
/* ── O AZUL É O DA BARRA, E ELE PRECISA VENCER A CASCATA ────────────────
   A primeira tentativa usou `.cli-det-juridico .cli-proc`, que EMPATA em
   especificidade com a regra de `#f8fbff` mais acima neste mesmo arquivo. Em
   empate ganha quem vem depois, e vinha — mas só às vezes, porque o `:hover`
   daquela regra tem um seletor a mais e ganhava sempre. O resultado era a mesa
   trocando de cor ao passar o mouse.

   Um seletor a mais resolve para valer: `.cli-jur-obra` é o pai real da mesa
   no painel jurídico, e com ele esta regra passa a 4 classes contra 3. E o
   `:hover` entra na MESMA declaração, para não haver estado em que a mesa
   volte ao branco. */
html[data-theme="light"] .cli-det-juridico .cli-jur-obra .cli-proc,
html[data-theme="light"] .cli-det-juridico .cli-jur-obra .cli-proc:hover,
html[data-theme="light"] .cli-det-juridico .cli-mesa-obra .cli-proc,
html[data-theme="light"] .cli-det-juridico .cli-mesa-obra .cli-proc:hover{
  /* ── A FAIXA DO GRADIENTE É CURTA DE PROPÓSITO ────────────────────
     A primeira versão terminava em #58a7f6, o azul claro do fim do gradiente
     da barra. Sobre ele, texto branco pequeno — o subtítulo da linha do tempo,
     a régua de meses — fica em 2,3 de contraste e some. Numa barra de 56px de
     altura o claro do fim nunca recebe texto; numa mesa de 900px, recebe.

     De #1454b5 a #2570de o branco fica sempre acima de 5,5, e o azul continua
     sendo o mesmo da marca — só não vai até a ponta clara dele. */
  background:linear-gradient(168deg,var(--light-brand-dark) 0%,#1c60c9 52%,#2570de 100%);
  border-color:var(--light-brand-dark);
  box-shadow:0 10px 30px rgba(20,84,181,.20);
}

/* OS CARTÕES, brancos sobre a mesa azul. */
html[data-theme="light"] .cli-det-juridico .cli-and-corpo,
html[data-theme="light"] .cli-and-corpo{
  background:var(--light-surface);
  border:1px solid #c2d7f2;
  box-shadow:0 1px 3px rgba(15,39,68,.07);
}
/* O FATO MAIS RECENTE é a resposta a "em que pé está", e precisa ser achado
   sem procurar. Sobre a mesa azul ele não pode ser mais azul — então é branco
   com a borda do azul da marca e um filete à esquerda. */
html[data-theme="light"] .cli-det-juridico .cli-and-item.atual .cli-and-corpo,
html[data-theme="light"] .cli-and-item.atual .cli-and-corpo{
  background:var(--light-surface);
  border-color:var(--light-brand);
  border-left:3px solid var(--light-brand);
  box-shadow:0 3px 14px rgba(47,127,242,.18);
}
html[data-theme="light"] .cli-det-juridico .cli-and-item:hover .cli-and-corpo,
html[data-theme="light"] .cli-and-item:hover .cli-and-corpo{
  background:var(--light-surface);
  border-color:var(--light-brand);
  box-shadow:0 2px 10px rgba(47,127,242,.16);
}

/* A ficha das fontes e a faixa da auditoria sobem para o branco: na mesa azul,
   o que ficar sem fundo próprio some dentro dela. */
html[data-theme="light"] .cli-det-juridico :is(.cli-and-sinc,.cli-proc-data,.cli-proc-resumo-item){
  background:var(--light-surface);
  border:1px solid #c2d7f2;
  box-shadow:0 1px 3px rgba(15,39,68,.06);
}

/* A TINTA. Título forte, glosa legível — a glosa estava em 4,2 de contraste,
   abaixo do piso, e é ela que explica o movimento para quem não é advogado. */
html[data-theme="light"] .cli-and-tipo,
html[data-theme="light"] .cli-and-titulo{color:var(--light-ink);}
html[data-theme="light"] .cli-and-glos{color:var(--light-muted);}
html[data-theme="light"] .cli-and-data,
html[data-theme="light"] .cli-and-quando,
html[data-theme="light"] .cli-and-chip-meta,
html[data-theme="light"] .cli-and-chip-ico{color:var(--light-faint);}
html[data-theme="light"] .cli-and-texto{color:var(--light-muted);}

/* ══════════════════════════════════════════════════════════════════════
   A TINTA SOBRE A MESA AZUL
   ══════════════════════════════════════════════════════════════════════
   Esta lista não foi deduzida: foi MEDIDA na página, percorrendo os nós de
   texto do cartão e calculando o contraste de cada um contra o azul da mesa.
   A tentativa anterior pintou de branco o que eu achava que estava sobre o
   azul, e errou nos dois sentidos — pintou texto que estava dentro de cartão
   branco (sumiu) e deixou preto o que estava sobre o azul (sumiu também).

   Medido antes: "Consulta" 1,23 · "+ Definir próxima providência" 1,30 ·
   "setembro 2026" 1,36 · "Área" 1,39 · o subtítulo 1,39 · "Editar" 1,43 ·
   "Responsável" 1,68 · o número do processo 3,90 · "LINHA DO TEMPO" 3,90.
   O piso é 4,5.
   ══════════════════════════════════════════════════════════════════════ */

/* ── O CABEÇALHO VIRA BARRA BRANCA ─────────────────────────────────────
   Pintar o texto do cabeçalho de branco sobre o azul funciona, mas deixa a
   metade de cima do cartão sem estrutura: número, partes, área e vara ficam
   soltos no azul, e o olho não acha onde um bloco acaba.

   A barra branca já existe neste mesmo cartão — é a da auditoria, com
   `#fff`, borda `#d8e3f0` e raio de 12px. Reusá-la resolve as duas coisas de
   uma vez: dá estrutura e devolve a tinta escura de sempre, sem inventar um
   segundo jeito de desenhar uma faixa. */
/* UM PAINEL, e não cinco tiras. A primeira versão deu a cada faixa a sua
   própria borda, o seu raio e a sua sombra: cinco retângulos brancos com vãos
   azuis entre eles, que é o que se lê como listrado. Elas são partes da MESMA
   ficha — número, partes, área, vara, auditoria — e uma ficha é um bloco.

   Coladas, com uma divisória de 1px entre elas, viram uma tabela; o raio fica
   só nas pontas de cima e de baixo, que é onde o bloco de fato começa e
   termina. */
html[data-theme="light"] .cli-det-juridico .cli-jur-obra .cli-proc :is(
  .cli-proc-cab,.cli-proc-resumido,.cli-jur-operacao,.cli-proc-linha,.cli-jur-auditoria){
  background:#fff;
  margin:0;
  border-radius:0;
  border:0;
  border-left:1px solid var(--light-line);
  border-right:1px solid var(--light-line);
  border-bottom:1px solid var(--light-line);
  padding:11px 14px;
  box-shadow:none;
}
html[data-theme="light"] .cli-det-juridico .cli-jur-obra .cli-proc .cli-proc-cab{
  border-top:1px solid var(--light-line);
  border-radius:12px 12px 0 0;
}
html[data-theme="light"] .cli-det-juridico .cli-jur-obra .cli-proc .cli-jur-auditoria{
  border-radius:0 0 12px 12px;
  /* A sombra é do BLOCO, e por isso mora só no rodapé dele: repetida em cada
     faixa, ela desenharia uma linha de sombra entre irmãs coladas. */
  box-shadow:0 6px 18px rgba(10,45,100,.18);
}

/* Dentro das barras, a tinta de sempre. */
html[data-theme="light"] .cli-det-juridico .cli-jur-obra .cli-proc :is(
  .cli-proc-cab,.cli-proc-resumido,.cli-jur-operacao,.cli-proc-linha) :is(
  .cli-proc-num,.cli-proc-val){color:var(--light-ink);}
html[data-theme="light"] .cli-det-juridico .cli-jur-obra .cli-proc :is(
  .cli-proc-cab,.cli-proc-resumido,.cli-jur-operacao,.cli-proc-linha) :is(
  .cli-proc-rot,.cli-proc-notas,.cli-proc-resumido,.cli-obs-editar){color:var(--light-muted);}
html[data-theme="light"] .cli-det-juridico .cli-jur-obra .cli-proc .cli-obs-editar:hover{color:var(--light-brand-deep);}
html[data-theme="light"] .cli-det-juridico .cli-jur-obra .cli-proc .cli-obs-editar.perigo:hover{color:#c2334a;}

/* O QUE FICA MESMO SOBRE O AZUL: só o cabeçalho da linha do tempo e a régua
   de meses. Esses dois são da trilha, e a trilha é que vive na mesa. */
html[data-theme="light"] .cli-det-juridico .cli-jur-obra .cli-proc .cli-and-tit{color:#fff;}
html[data-theme="light"] .cli-det-juridico .cli-jur-obra .cli-proc :is(
  .cli-and-sub,.cli-and-mes-rot){color:rgba(255,255,255,.94);}

/* AS PÍLULAS dentro das barras brancas voltam ao par azul de CORES.md. */
html[data-theme="light"] .cli-det-juridico .cli-jur-obra .cli-proc :is(
  .cli-proc-fase,.cli-jur-papel){
  background:var(--light-surface-blue);
  border-color:#c3d8f2;
  color:var(--light-brand-dark);
}
html[data-theme="light"] .cli-det-juridico .cli-jur-obra .cli-proc .cli-jur-providencia-vazia{
  background:var(--light-surface-soft);
  border-color:var(--light-line);
  color:var(--light-brand-deep);
}

/* Os cartões precisam ser OPACOS sobre a mesa: com fundo translúcido o azul
   atravessa e o texto escuro de dentro perde o contraste que ele tinha. */
html[data-theme="light"] .cli-det-juridico .cli-jur-obra .cli-proc :is(
  .cli-and-corpo,.cli-and-sinc,.cli-proc-data,.cli-proc-resumo-item){
  background:#fff;
  border:1px solid rgba(255,255,255,.65);
  box-shadow:0 2px 10px rgba(10,45,100,.16);
}
html[data-theme="light"] .cli-det-juridico .cli-jur-obra .cli-proc .cli-and-item.atual .cli-and-corpo{
  border-color:#fff;border-left:3px solid #fff;
  box-shadow:0 4px 18px rgba(10,45,100,.28);
}
html[data-theme="light"] .cli-det-juridico .cli-jur-obra .cli-proc .cli-and-item:hover .cli-and-corpo{
  background:#fff;border-color:#fff;box-shadow:0 4px 16px rgba(10,45,100,.24);
}

/* E DENTRO do cartão branco a tinta volta a ser escura. Esta regra vem depois
   das de cima e tem um seletor a mais: é o cartão que manda no texto que está
   dentro dele, nunca a mesa. */
html[data-theme="light"] .cli-det-juridico .cli-jur-obra .cli-proc :is(.cli-and-corpo,.cli-and-sinc) :is(
  .cli-and-tipo,.cli-and-titulo,.cli-and-sinc-tit,.cli-proc-num,.cli-proc-val){color:var(--light-ink);}
html[data-theme="light"] .cli-det-juridico .cli-jur-obra .cli-proc :is(.cli-and-corpo,.cli-and-sinc) :is(
  .cli-and-glos,.cli-and-texto,.cli-cnj-consulta,.cli-proc-rot){color:var(--light-muted);}
html[data-theme="light"] .cli-det-juridico .cli-jur-obra .cli-proc :is(.cli-and-corpo,.cli-and-sinc) :is(
  .cli-and-data,.cli-and-quando,.cli-and-chip-meta,.cli-and-chip-ico){color:var(--light-faint);}

/* O trilho e os pontos, sobre azul. */
html[data-theme="light"] .cli-det-juridico .cli-jur-obra .cli-proc .cli-and-trilha{--and-fio:rgba(255,255,255,.78);}
html[data-theme="light"] .cli-det-juridico .cli-jur-obra .cli-proc .cli-and-item{--and-cor:#fff;}
html[data-theme="light"] .cli-det-juridico .cli-jur-obra .cli-proc .cli-and-ponto{
  background:#fff;border-color:rgba(255,255,255,.92);
  color:var(--light-brand-dark);box-shadow:0 2px 8px rgba(10,45,100,.3);
}
html[data-theme="light"] .cli-det-juridico .cli-jur-obra .cli-proc .cli-and-item.atual .cli-and-ponto{
  background:radial-gradient(circle at 50% 38%,#fff,#e2edfe);
  border-color:#fff;color:var(--light-brand-dark);
  box-shadow:0 4px 18px rgba(10,45,100,.4);
}

/* ══════════════════════════════════════════════════════════════════════
   O SELETOR DE STATUS DO PAGAMENTO
   ══════════════════════════════════════════════════════════════════════
   Havia uma regra clara para ele — `.crm-status-opt{color:#0b7f59}` — e ela
   perdia. A regra do tema escuro para o não-selecionado usa três `:not()`:

       .crm-status-opt:not(.sel-paid):not(.sel-pending):not(.sel-partial)

   Cada `:not()` conta a especificidade do que está dentro, então aquilo vale
   (0,4,0) contra os (0,2,0) da regra clara. O resultado era
   `color:rgba(240,240,240,.4)` — branco a 40% — sobre um fundo cinza claro:
   "Parcial" e "Pago" viravam duas caixas vazias.

   E a única regra clara que existia pintava TODAS as opções de verde, inclusive
   a pendente: verde sobre âmbar, que é a cor de "pago" na de "aguardando".

   Cada estado tem o seu par de CORES.md, e a especificidade daqui acompanha a
   de lá — `.crm-status-select` na frente resolve sem precisar de `!important`.
   ══════════════════════════════════════════════════════════════════════ */

/* O NÃO SELECIONADO é uma opção que se pode escolher, e não um texto apagado:
   ele precisa ser legível o bastante para se ler antes de clicar. */
html[data-theme="light"] .crm-status-select
  .crm-status-opt:not(.sel-paid):not(.sel-pending):not(.sel-partial){
  background:var(--light-surface-soft);
  border-color:var(--light-line);
  color:var(--light-muted);
}
html[data-theme="light"] .crm-status-select
  .crm-status-opt:not(.sel-paid):not(.sel-pending):not(.sel-partial):hover{
  background:var(--light-surface-blue);
  border-color:#c3d8f2;
  color:var(--light-brand-deep);
}

/* Cada estado com o seu par. Âmbar é "esperando", azul é "no meio do
   caminho", verde é "resolvido" — e trocar isso faz a cor mentir. */
html[data-theme="light"] .crm-status-select .crm-status-opt.sel-pending{
  background:#fff7e6;border-color:#e8c684;color:#a35d06;
}
html[data-theme="light"] .crm-status-select .crm-status-opt.sel-partial{
  background:var(--light-surface-blue);border-color:#9dc0ea;color:var(--light-brand-deep);
}
html[data-theme="light"] .crm-status-select .crm-status-opt.sel-paid{
  /* Um tom abaixo do verde de CORES.md: sobre o fundo verde-claro do par, o
     #0b7f59 dá 4,49 — a casa decimal errada do piso de 4,5. */
  background:#e4f7ef;border-color:#9ad9bf;color:#0a7351;
}

/* ══════════════════════════════════════════════════════════════════════
   OS NÚMEROS DO FLUXO DE CAIXA E DAS DESPESAS
   ══════════════════════════════════════════════════════════════════════
   Medido no modal aberto: os valores são `<b>` com `color:#fff` vindo de
   `.flx-kpis b`, e a regra clara que existia pintava o CONTÊINER
   (`.flx-kpis{color:...}`). Cor no pai não alcança um filho que declara a
   sua: "NO PERÍODO R$ 0,00", "SEM VENCIMENTO" e "DEPOIS" ficavam brancos
   sobre cartão branco, e só o "JÁ VENCIDO" — que é vermelho — aparecia.

   O mesmo bloco é reusado pelas Despesas ("ENTROU", "SOBROU", "MARGEM"), e
   por isso a correção aqui conserta as duas telas.

   `!important` é necessário e não é preguiça: `.flx-vermelho` tem
   `!important` no tema escuro, e sem ele a regra clara perde para o vermelho
   neon #f87171 — 3,0 de contraste no branco. */
html[data-theme="light"] .flx-kpis b{color:var(--light-ink);}
html[data-theme="light"] .flx-kpis span{color:var(--light-muted);}
html[data-theme="light"] .flx-vermelho{color:#c2334a !important;}
html[data-theme="light"] .dsp-verde{color:#0b7f59 !important;}

/* ══════════════════════════════════════════════════════════════════════
   O CARTÃO DE RESPOSTAS DO FORMULÁRIO
   ══════════════════════════════════════════════════════════════════════
   `.fr-card` tem `background:#14141d` escrito à mão, sem par claro. As nove
   regras de tinta dos FILHOS foram convertidas; a do cartão, não — e um
   cartão preto no meio de uma tela branca, com título azul-escuro por cima,
   era o que aparecia. É o caso que o CORES.md chama de "ilha de tinta
   escura": a conversão pegou o conteúdo e esqueceu a moldura. */
html[data-theme="light"] .fr-card{
  background:var(--light-surface);
  border-color:var(--light-line);
  box-shadow:0 26px 66px rgba(15,39,68,.18);
}
html[data-theme="light"] .fr-cab{border-bottom-color:var(--light-line);}
html[data-theme="light"] .fr-tit{color:var(--light-ink);}

/* Os apagados do painel financeiro, medidos abaixo do piso de 4,5 na tela:
   "4 registros" 3,43 · "Sem data" 3,64 · o traço do delta 3,75 · os
   cabeçalhos da tabela 4,09 · o id e o período 4,25. */
html[data-theme="light"] :is(.crm-count-badge,.cdash-delta,.crm-date-empty){color:var(--light-muted);}
html[data-theme="light"] :is(.crm-th-sort,.cdash-id,.cdash-range,.gcw-autor-arroba){color:var(--light-muted);}
html[data-theme="light"] .crm-table th{color:var(--light-muted);}

/* ══════════════════════════════════════════════════════════════════════
   TRÊS ILHAS DE TINTA DO TEMA ESCURO
   ══════════════════════════════════════════════════════════════════════
   As três apareceram com o texto SELECIONADO nas capturas — foi assim que
   ficou provado que o texto estava lá e invisível, e não ausente.

   1. O herói das Notas fiscais: `h3` e `p` com `color:#fff` e
      `rgba(240,240,240,.45)` sobre um cartão de fundo verde-claro. O título
      "Nada recebido em Setembro" e o parágrafo que explica de onde vem a
      lista sumiam inteiros.

   2. O aviso de privacidade do Google Sheets: `b` em `rgba(240,240,240,.78)`
      e `span` em `.42`. A frase que diz QUAIS DADOS SAEM do MyDesk para a
      conta Google era a invisível — a única do modal que ninguém pode deixar
      de ler antes de autorizar.

   3. A pílula de período selecionada: `#c7d2fe` sobre `--clr-indigo-20`.
      Índigo claro sobre índigo claro. "Mensal" estava marcado e não dava para
      saber qual estava marcado.
   ══════════════════════════════════════════════════════════════════════ */
html[data-theme="light"] .nf-heroi-txt h3{color:var(--light-ink);}
html[data-theme="light"] .nf-heroi-txt p{color:var(--light-muted);}

html[data-theme="light"] .google-export-privacy b{color:var(--light-ink);}
html[data-theme="light"] .google-export-privacy span{color:var(--light-muted);}

html[data-theme="light"] .flx-passos button{color:var(--light-muted);border-color:var(--light-line);}
html[data-theme="light"] .flx-passos button:hover{
  color:var(--light-brand-deep);border-color:var(--light-brand);
}
html[data-theme="light"] .flx-passos button.sel{
  background:var(--light-surface-blue);
  border-color:#9dc0ea;
  color:var(--light-brand-dark);
}

/* E o modal das Notas fiscais em si. `.nf-modal` tem
   `linear-gradient(168deg,#141419,#0e0e12,#0b0b0e)` e `.nf-cab` tem `#16161c`
   escritos à mão — a faixa preta com o título azul-escuro por cima, que é o
   que a captura mostrou. Mesma história do `.fr-card`: converteram a tinta
   dos filhos e esqueceram a moldura. */
html[data-theme="light"] .nf-modal{
  background:linear-gradient(168deg,var(--light-surface) 0%,var(--light-surface-soft) 100%);
  border-color:var(--light-line);
  box-shadow:0 26px 66px rgba(15,39,68,.18);
}
html[data-theme="light"] .nf-cab{
  background:linear-gradient(180deg,var(--light-surface) 72%,rgba(255,255,255,0));
}
html[data-theme="light"] .nf-cab .m-h1{color:var(--light-ink);}
html[data-theme="light"] .nf-cab .m-sub{color:var(--light-muted);}

/* ══════════════════════════════════════════════════════════════════════
   O ANEL DE PROGRESSO E O NEON
   ══════════════════════════════════════════════════════════════════════
   Havia aqui uma regra para `.nf-anel-num` — uma classe que NÃO EXISTE. Ela
   passou porque CSS não reclama de seletor que não casa: escrevi, publiquei,
   e o "0%" continuou branco sobre branco. Os nomes reais são `.nf-anel span`
   e `.nf-mes b`.

   ── O BRILHO É DO FUNDO PRETO ───────────────────────────────────────────
   `drop-shadow(0 0 6px rgba(16,185,129,.5))` faz o traço parecer aceso
   quando há escuro atrás dele. Sobre branco não há o que acender: o halo vira
   uma borda desfocada e suja, e o verde #34d399 — escolhido para brilhar —
   cai para 1,9 de contraste.

   O anel não precisa de brilho para dizer 0% ou 100%. Precisa de um traço que
   se veja contra o trilho, e o trilho estava em branco a 7% sobre branco:
   invisível dos dois lados. */
html[data-theme="light"] .nf-mes b{color:var(--light-ink);}
html[data-theme="light"] .nf-anel span{color:var(--light-ink);}
html[data-theme="light"] .nf-anel-fundo{stroke:#dce6f2;}
html[data-theme="light"] .nf-anel-traco{
  stroke:#0b7f59;
  filter:none;
}
html[data-theme="light"] .nf-heroi.pendente .nf-anel-traco{
  stroke:#a35d06;
  filter:none;
}
/* O cartão do herói também perde o halo: o gradiente translúcido dele foi
   feito para clarear um fundo escuro, e sobre branco ele só suja a borda. */
html[data-theme="light"] .nf-heroi{
  background:var(--light-surface-soft);
  border-color:var(--light-line);
}
html[data-theme="light"] .nf-heroi.pendente{
  background:#fff9ee;
  border-color:#e8c684;
}

/* ═══════════════════════════════════════════════════════════════════════
   AS FICHAS DENTRO DO CARTÃO, NO TEMA CLARO
   ═══════════════════════════════════════════════════════════════════════
   A ficha de cliente nasceu só com cores de tema escuro: `#e8ecf3` de texto
   sobre o `#fff` do modal claro dá 1,1:1 — a ficha existia e não se lia.
   Ninguém tinha reclamado porque o defeito só aparece em quem usa tema claro
   E abre o cartão de um cliente.

   Superfície e texto andam JUNTOS: repintar só a letra deixaria a caixa
   escura com letra escura, que é o mesmo problema de outro lado. */
html[data-theme="light"] .kb-cli-ficha{background:#f5f9fd;border-color:var(--light-line);}
html[data-theme="light"] .kb-cli-tit{color:#173653;}
html[data-theme="light"] .kb-cli-rot{color:#526a83;}
html[data-theme="light"] .kb-cli-val{color:#1d3d5c;}
html[data-theme="light"] .kb-cli-abrir{background:#e4f5fa;border-color:#7cc4d8;color:#0e6b83;}
html[data-theme="light"] .kb-cli-abrir:hover{background:#d3edf5;color:#0a5568;}

/* O verde do WhatsApp é o mesmo; o do TEXTO não pode ser: `#25d366` sobre
   claro dá 1,8:1. Ver o mesmo par em `whatsapp.css`. */
html[data-theme="light"] .kb-wa-ficha{background:#f1faf4;border-color:#a5dfbd;}
html[data-theme="light"] .kb-wa-tit{color:#173653;}
html[data-theme="light"] .kb-wa-ico{color:#0a7a3e;}
html[data-theme="light"] .kb-wa-abrir{background:#dcf4e6;border-color:#67c68f;color:#0a6a37;}
html[data-theme="light"] .kb-wa-abrir:hover{background:#c9ecd8;color:#08552c;}
html[data-theme="light"] .kb-wa-jur{background:#fff;border-color:var(--light-line);}
html[data-theme="light"] .kb-wa-jtit{color:#173653;}
html[data-theme="light"] .kb-wa-jdica{color:#5c7690;}
html[data-theme="light"] .kb-wa-jrot{color:#526a83;}
html[data-theme="light"] .kb-wa-jtirar{border-color:#c3d4e3;color:#5c7690;}
html[data-theme="light"] .kb-wa-jtirar:hover{color:#173653;border-color:#8fa9c0;}
html[data-theme="light"] .kb-wa-jval{background:#fff;border-color:var(--light-line);color:#1d3d5c;}
html[data-theme="light"] .kb-wa-jval:focus{border-color:#12b45b;box-shadow:0 0 0 2px rgba(18,180,91,.2);}

html[data-theme="light"] .fv-carregando{color:#607991;}
