/* ════════════════════════════════════════════════════════════
   MODO ESCURO — tema CLÁSSICO (o padrão)
   O clássico usa main.css (tudo claro/hardcoded) e não tinha escuro.
   Este arquivo dá um escuro completo e consistente quando
   <html data-modo="escuro"> E NÃO está num tema skin (moderno/android/
   corporativo, que já têm suas próprias paletas em temas.css).
   Usa !important para vencer as cores fixas do main.css e os estilos
   inline claros espalhados pelo HTML.
   ════════════════════════════════════════════════════════════ */

/* Deixa controles nativos (scrollbar, date picker, caret) escuros */
html[data-modo="escuro"] { color-scheme: dark; }

html[data-modo="escuro"]:not(.tema-skin) {
  --dk-bg:#0e0f12;       /* fundo do app            */
  --dk-chrome:#15171b;   /* menus/barras/sidebars   */
  --dk-panel:#121317;    /* conteúdo/telas/modais   */
  --dk-card:#1d1f25;     /* caixas/campos elevados  */
  --dk-soft:#23262d;     /* inputs                  */
  --dk-line:#2f343d;     /* borda padrão            */
  --dk-line2:#414954;    /* borda forte             */
  --dk-txt:#e6e8ec;      /* texto principal         */
  --dk-txt2:#a6aeb9;     /* texto secundário        */
  --dk-accent:#ff9d3d;   /* laranja CENTERTEC (claro)*/
  --dk-blue:#3b8bff;     /* azul de destaque/seleção */
  --dk-red:#ff6b6b;      /* vermelho de perigo      */

  /* Redefine as variáveis que o main.css usa como var(--x, fallbackClaro):
     assim tudo que depende delas (notas, fiscal, cards) já fica escuro. */
  --line:#373d46; --accent:#ff9d3d; --panel:#1e2127; --panel-txt:#e6e8ec;
  --soft:#2b3038; --soft-txt:#a6aeb9;
  --btn-bg:#272b32; --btn-txt:#e6e8ec; --btn-line:#49515c;
  --input-bg:#2b3038; --input-txt:#e6e8ec;
}

/* ── Base ─────────────────────────────────────────────────── */
html[data-modo="escuro"]:not(.tema-skin) body { background: var(--dk-bg) !important; color: var(--dk-txt) !important; }

/* ── Barras de topo/rodapé ────────────────────────────────── */
html[data-modo="escuro"]:not(.tema-skin) :is(#top-menu, #tab-bar, #bottom-bar) {
  background: var(--dk-chrome) !important; border-color: var(--dk-line) !important; color: var(--dk-txt) !important;
}
html[data-modo="escuro"]:not(.tema-skin) #top-menu .menu-item { color: var(--dk-txt) !important; }
html[data-modo="escuro"]:not(.tema-skin) :is(#top-menu .menu-item:hover) { background: var(--dk-blue) !important; color: #fff !important; }
html[data-modo="escuro"]:not(.tema-skin) .tab-btn { background: var(--dk-chrome) !important; color: var(--dk-txt2) !important; border-color: transparent !important; }
html[data-modo="escuro"]:not(.tema-skin) .tab-btn.active {
  background: var(--dk-panel) !important; color: var(--dk-accent) !important;
  border-color: var(--dk-line) var(--dk-line) var(--dk-panel) var(--dk-line) !important;
}
html[data-modo="escuro"]:not(.tema-skin) #bottom-bar .reg-info { color: var(--dk-blue) !important; }
html[data-modo="escuro"]:not(.tema-skin) .code-info { color: var(--dk-txt2) !important; }
html[data-modo="escuro"]:not(.tema-skin) #bottom-search { background: var(--dk-soft) !important; color: var(--dk-txt) !important; border-color: var(--dk-line2) !important; }
html[data-modo="escuro"]:not(.tema-skin) #tema-toggle:hover { background: rgba(255,255,255,.10) !important; }

/* ── Sidebars ─────────────────────────────────────────────── */
html[data-modo="escuro"]:not(.tema-skin) :is(#left-sidebar, #right-sidebar) { background: var(--dk-chrome) !important; border-color: var(--dk-line) !important; }
html[data-modo="escuro"]:not(.tema-skin) .sidebar-btn { color: var(--dk-txt) !important; }
html[data-modo="escuro"]:not(.tema-skin) :is(.sidebar-btn:hover, .sidebar-btn.active) { background: var(--dk-blue) !important; color: #fff !important; border-color: var(--dk-blue) !important; }
html[data-modo="escuro"]:not(.tema-skin) .sidebar-subitem { background: var(--dk-card) !important; color: var(--dk-txt) !important; }
html[data-modo="escuro"]:not(.tema-skin) .sidebar-section { color: var(--dk-txt2) !important; border-top-color: var(--dk-line) !important; }

/* ── Conteúdo / telas de módulo ───────────────────────────── */
html[data-modo="escuro"]:not(.tema-skin) :is(#main-content, .tela-modulo, .tela-body) { background: var(--dk-panel) !important; color: var(--dk-txt) !important; }
html[data-modo="escuro"]:not(.tema-skin) .tela-header { background: #20242b !important; color: var(--dk-accent) !important; border-bottom-color: var(--dk-line) !important; }
html[data-modo="escuro"]:not(.tema-skin) .logo-sub { color: var(--dk-txt) !important; }

/* ── Modais ───────────────────────────────────────────────── */
html[data-modo="escuro"]:not(.tema-skin) .modal-window {
  background: var(--dk-panel) !important; color: var(--dk-txt) !important;
  border: 1px solid var(--dk-line2) !important; box-shadow: 0 12px 38px rgba(0,0,0,.6) !important;
}
html[data-modo="escuro"]:not(.tema-skin) .modal-titlebar { background: linear-gradient(to right, #1b2a45, #2a4a7a) !important; color: #fff !important; }
html[data-modo="escuro"]:not(.tema-skin) .win-ctrl { background: var(--dk-card) !important; color: var(--dk-txt) !important; border-color: var(--dk-line2) var(--dk-line) var(--dk-line) var(--dk-line2) !important; }
html[data-modo="escuro"]:not(.tema-skin) .win-ctrl.cls:hover { background: #cc0000 !important; color: #fff !important; }

/* ── Botões ───────────────────────────────────────────────── */
html[data-modo="escuro"]:not(.tema-skin) :is(.win-btn, .btn-padrao, .btn-mini, .enc-pg-btn) {
  background: var(--dk-card) !important; color: var(--dk-txt) !important; border: 1px solid var(--dk-line2) !important;
}
html[data-modo="escuro"]:not(.tema-skin) :is(.win-btn:hover, .btn-padrao:hover, .btn-mini:hover, .enc-pg-btn:hover) { background: var(--dk-soft) !important; }
html[data-modo="escuro"]:not(.tema-skin) :is(.win-btn.primary, .enc-pg-btn.active) { background: var(--dk-blue) !important; color: #fff !important; border-color: var(--dk-blue) !important; }
html[data-modo="escuro"]:not(.tema-skin) :is(.win-btn.danger, .btn-mini-danger) { color: var(--dk-red) !important; border-color: var(--dk-red) !important; background: var(--dk-card) !important; }
html[data-modo="escuro"]:not(.tema-skin) .enc-pg-display { background: var(--dk-soft) !important; color: var(--dk-txt) !important; }

/* ── Inputs (inclui os com estilo inline) ─────────────────── */
html[data-modo="escuro"]:not(.tema-skin) :is(
  .win-input, .win-select,
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),
  select, textarea
) {
  background: var(--dk-soft) !important; color: var(--dk-txt) !important; border-color: var(--dk-line2) !important;
}
html[data-modo="escuro"]:not(.tema-skin) :is(.win-input:focus, .win-select:focus, input:focus, select:focus, textarea:focus) {
  border-color: var(--dk-blue) !important; outline: none !important; box-shadow: 0 0 0 2px rgba(59,139,255,.35) !important;
}
html[data-modo="escuro"]:not(.tema-skin) ::placeholder { color: var(--dk-txt2) !important; opacity: 1; }
html[data-modo="escuro"]:not(.tema-skin) :is(input[type=checkbox], input[type=radio]) { accent-color: var(--dk-blue); }

/* ── Tabelas ──────────────────────────────────────────────── */
html[data-modo="escuro"]:not(.tema-skin) .win-table th { background: var(--dk-card) !important; color: var(--dk-txt2) !important; border-color: var(--dk-line) !important; }
html[data-modo="escuro"]:not(.tema-skin) .win-table td { background: var(--dk-panel) !important; color: var(--dk-txt) !important; border-color: var(--dk-line) !important; }
html[data-modo="escuro"]:not(.tema-skin) .win-table tr:nth-child(even) td { background: var(--dk-card) !important; }
html[data-modo="escuro"]:not(.tema-skin) .win-table tr:hover td { background: var(--dk-blue) !important; color: #fff !important; }
html[data-modo="escuro"]:not(.tema-skin) .contas-row-sel td { background: var(--dk-blue) !important; color: #fff !important; }

/* ── OS form ──────────────────────────────────────────────── */
html[data-modo="escuro"]:not(.tema-skin) :is(.os-client-block, .os-footer) { background: var(--dk-card) !important; color: var(--dk-txt) !important; border-color: var(--dk-line) !important; }
html[data-modo="escuro"]:not(.tema-skin) .os-values-block { background: var(--dk-card) !important; border-color: var(--dk-line) !important; color: var(--dk-txt) !important; }
html[data-modo="escuro"]:not(.tema-skin) :is(.os-client-label, .os-client-addr, .os-val-amount, .os-val-total, .os-footer label, .field-label, .os-dates-block table td:first-child) { color: #8ab4ff !important; }
html[data-modo="escuro"]:not(.tema-skin) .os-client-val { color: var(--dk-red) !important; }
html[data-modo="escuro"]:not(.tema-skin) .os-val-label { color: var(--dk-txt) !important; }
html[data-modo="escuro"]:not(.tema-skin) .os-mid-row { border-bottom-color: var(--dk-line) !important; }

/* ── Abas internas (OS / contas) ──────────────────────────── */
html[data-modo="escuro"]:not(.tema-skin) .os-tabs { background: var(--dk-chrome) !important; border-color: var(--dk-line) !important; }
html[data-modo="escuro"]:not(.tema-skin) .os-tab { background: var(--dk-card) !important; color: var(--dk-txt2) !important; border-color: var(--dk-line) !important; }
html[data-modo="escuro"]:not(.tema-skin) .os-tab.active { background: var(--dk-panel) !important; color: var(--dk-accent) !important; }
html[data-modo="escuro"]:not(.tema-skin) .contas-aba { background: var(--dk-card) !important; color: var(--dk-txt2) !important; border-color: var(--dk-line) !important; }
html[data-modo="escuro"]:not(.tema-skin) .contas-aba.aba-ativa { background: var(--dk-panel) !important; color: var(--dk-accent) !important; border-bottom-color: var(--dk-panel) !important; }
html[data-modo="escuro"]:not(.tema-skin) .contas-aba:hover:not(.aba-ativa) { background: var(--dk-soft) !important; }

/* ── Painéis / caixas ─────────────────────────────────────── */
html[data-modo="escuro"] :is(.win-panel-box, .search-form-right) { background: var(--dk-card, var(--soft, #26282c)) !important; border-color: var(--dk-line, var(--line, #394049)) !important; color: var(--dk-txt, var(--panel-txt, #e6e8ec)) !important; }
html[data-modo="escuro"]:not(.tema-skin) :is(.serie-section, .serie-note) { background: #3a361d !important; color: var(--dk-txt) !important; border-color: var(--dk-line) !important; }
html[data-modo="escuro"]:not(.tema-skin) .results-table-wrap { border-color: var(--dk-line2) !important; }

/* ── Linhas de status do Financeiro (contas-financeiro.js pinta inline):
   pago = #f0fff0 (verde claro) · vencida = #fff5f5 (rosa claro).
   No escuro viram tons ESCUROS equivalentes (verde-escuro / vinho),
   e as células (td) ficam transparentes pra faixa aparecer inteira. ── */
html[data-modo="escuro"] tr[style*="background:#f0fff0"] { background: #0f2618 !important; }
html[data-modo="escuro"] tr[style*="background:#fff5f5"] { background: #2b1114 !important; }
html[data-modo="escuro"] :is(tr[style*="background:#f0fff0"], tr[style*="background:#fff5f5"]) td { background: transparent !important; }

/* Login cobrindo a tela: fundo escuro conforme o tema */
html[data-modo="escuro"] #login-overlay { background: var(--dk-bg, var(--bg, #0e0f12)) !important; }

/* Os dropdowns de usuários do login e do modal de senha admin foram removidos
   na segurança v1.0 (vinham do /auth/logins público), e com eles as regras de
   dark mode que existiam só para eles. */

/* ── Modal Localizar OS (tem <style> próprio azul-claro) ──── */
html[data-modo="escuro"] #modal-localizar-os .los-fs { background: var(--dk-card, var(--soft, #26282c)) !important; border-color: var(--dk-line2, var(--line, #49515c)) !important; }
html[data-modo="escuro"] #modal-localizar-os .los-fs > legend { color: #8ab4ff !important; }
html[data-modo="escuro"] :is(#modal-localizar-os .los-mini, #modal-localizar-os .los-lbl) { color: var(--dk-txt, var(--panel-txt, #e6e8ec)) !important; }

/* ── Dropdowns / menus de contexto ────────────────────────── */
html[data-modo="escuro"]:not(.tema-skin) :is(.ct-dropdown-menu, .rel-item, .cfg-item) { background: var(--dk-card) !important; color: var(--dk-txt) !important; }
html[data-modo="escuro"]:not(.tema-skin) .ct-dropdown-menu { border-color: var(--dk-line2) !important; box-shadow: 0 8px 22px rgba(0,0,0,.55) !important; }
html[data-modo="escuro"]:not(.tema-skin) .ct-dropdown-item { color: var(--dk-txt) !important; }
html[data-modo="escuro"]:not(.tema-skin) :is(.ct-dropdown-item:hover, .rel-item:hover, .cfg-item:hover) { background: var(--dk-blue) !important; color: #fff !important; }
html[data-modo="escuro"]:not(.tema-skin) :is(.ct-dropdown-sep, .rel-separator) { border-color: var(--dk-line) !important; background: var(--dk-line) !important; }

/* ── Barra direita: notas, relógio, calendário ────────────── */
html[data-modo="escuro"]:not(.tema-skin) #clock-area { background: var(--dk-chrome) !important; border-bottom-color: var(--dk-line) !important; }
html[data-modo="escuro"]:not(.tema-skin) :is(.notas-titulo, .nota-dest, .cal-title, #clock-digital) { color: var(--dk-accent) !important; }
html[data-modo="escuro"]:not(.tema-skin) .nota-card { background: var(--dk-card) !important; border-color: var(--dk-line) !important; }
html[data-modo="escuro"]:not(.tema-skin) .nota-txt { color: var(--dk-txt) !important; }
html[data-modo="escuro"]:not(.tema-skin) :is(.nota-meta, .notas-vazio, #clock-day, .cal-grid .day-name) { color: var(--dk-txt2) !important; }
html[data-modo="escuro"]:not(.tema-skin) .cal-grid .day { color: var(--dk-txt) !important; }
html[data-modo="escuro"]:not(.tema-skin) .cal-grid .day.today { background: var(--dk-blue) !important; color: #fff !important; }
html[data-modo="escuro"]:not(.tema-skin) .notas-add { background: var(--dk-card) !important; color: var(--dk-accent) !important; border-color: var(--dk-line2) !important; }

/* ── Badges de pagamento (todos os temas escuros) ─────────── */
html[data-modo="escuro"] .pg-pago { color: #4ade80 !important; }
html[data-modo="escuro"] .pg-parcial { color: var(--dk-accent, #ff9d3d) !important; }
html[data-modo="escuro"] .pg-pend { color: #f2a3a3 !important; }
html[data-modo="escuro"] .pg-vencida { color: var(--dk-red, #ff6b6b) !important; }
html[data-modo="escuro"] .loading { color: var(--dk-txt2, var(--soft-txt, #a6aeb9)) !important; }

/* ── Scrollbar ────────────────────────────────────────────── */
html[data-modo="escuro"]:not(.tema-skin) ::-webkit-scrollbar-track { background: var(--dk-bg); }
html[data-modo="escuro"]:not(.tema-skin) ::-webkit-scrollbar-thumb { background: #454b55; border-color: var(--dk-bg); }
html[data-modo="escuro"]:not(.tema-skin) ::-webkit-scrollbar-thumb:hover { background: #576070; }

/* ══════════════════════════════════════════════════════════
   CATCH-ALL de estilos INLINE claros — vale para TODOS os temas
   escuros (clássico E skins moderno/android/corporativo), pois os
   estilos inline claros existem em qualquer tema.
   Valores com fallback: --dk-* (clássico) → var da skin → literal.
   ══════════════════════════════════════════════════════════ */
html[data-modo="escuro"] :is(
  [style*="background:#fff"], [style*="background: #fff"],
  [style*="background:#ffffff"], [style*="background: #ffffff"],
  [style*="background:#FFF"], [style*="background: #FFF"],
  [style*="background-color:#fff"], [style*="background-color: #fff"],
  [style*="background:#f5f5f5"], [style*="background: #f5f5f5"],
  [style*="background:#f7f7f7"], [style*="background:#f9f9f9"],
  [style*="background:#f0f0f0"], [style*="background: #f0f0f0"],
  [style*="background:#fafafa"], [style*="background: #fafafa"],
  [style*="background:#eee"], [style*="background: #eee"],
  [style*="background:#eeeeee"], [style*="background:#e8e8e8"], [style*="background:#ececec"],
  [style*="background:#eef2f8"], [style*="background:#f4f4f4"],
  [style*="background:#f0f4fa"], [style*="background: #f0f4fa"],
  [style*="background:#f0f4ff"], [style*="background:#eef2fb"], [style*="background:#e8f1ff"],
  [style*="background:#eef3fb"], [style*="background: #eef3fb"],
  [style*="background:#e8f0fe"], [style*="background: #e8f0fe"],
  [style*="background:#d6e4f7"], [style*="background:#e3f2fd"],
  [style*="background:#c0d0e8"], [style*="background:#e8f0fb"],
  [style*="background: rgb(255, 255, 255)"], [style*="background-color: rgb(255, 255, 255)"],
  [style*="background: rgb(245, 245, 245)"], [style*="background: rgb(240, 240, 240)"],
  [style*="background: rgb(232, 232, 232)"], [style*="background: rgb(238, 238, 238)"]
) { background-color: var(--dk-card, var(--soft, #26282c)) !important; }

/* Textos "navy" (#1a4a8a / #000080 / #12263f) → azul claro legível */
html[data-modo="escuro"] :is(
  [style*="color:#1a4a8a"], [style*="color: #1a4a8a"],
  [style*="color:#000080"], [style*="color: #000080"],
  [style*="color:#12263f"], [style*="color: #12263f"]
) { color: #8ab4ff !important; }

/* Cores semânticas escuras como TEXTO SOLTO (sem fundo próprio) → brilham.
   Quando o elemento tem fundo próprio (botão/pílula colorida), mantém a cor
   escura para continuar legível sobre o fundo claro. */
html[data-modo="escuro"] :is([style*="color:#155724"], [style*="color: #155724"]):not([style*="background"]) { color: #4ade80 !important; }
html[data-modo="escuro"] :is([style*="color:#721c24"], [style*="color: #721c24"]):not([style*="background"]) { color: #f2a3a3 !important; }
html[data-modo="escuro"] :is([style*="color:#004085"], [style*="color: #004085"]):not([style*="background"]) { color: #8ab4ff !important; }
html[data-modo="escuro"] :is([style*="color:#856404"], [style*="color: #856404"]):not([style*="background"]) { color: #ecc94b !important; }
html[data-modo="escuro"] :is([style*="color:#0f6e56"], [style*="color: #0f6e56"]):not([style*="background"]) { color: #5eddb0 !important; }
html[data-modo="escuro"] :is([style*="color:#cc0000"], [style*="color: #cc0000"], [style*="color:#c00;"], [style*="color:#c00 "], [style*="color: #c00"]):not([style*="background"]) { color: #ff6b6b !important; }
html[data-modo="escuro"] :is([style*="color:#4a235a"], [style*="color: #4a235a"]):not([style*="background"]) { color: #c9b3e6 !important; }

/* Textos cinza escuro → claro */
html[data-modo="escuro"] :is(
  [style*="color:#000"], [style*="color: #000"],
  [style*="color:#111"], [style*="color:#222"],
  [style*="color:#333"], [style*="color: #333"],
  [style*="color:#444"], [style*="color:#555"], [style*="color:#666"]
) { color: var(--dk-txt, var(--panel-txt, #e6e8ec)) !important; }

html[data-modo="escuro"] :is(
  [style*="border:1px solid #aaa"], [style*="border:1px solid #ccc"],
  [style*="border:1px solid #ddd"], [style*="border:1px solid #eee"],
  [style*="border: 1px solid #ccc"], [style*="border: 1px solid #ddd"],
  [style*="1px solid #999"], [style*="1px solid #888"],
  [style*="1px solid rgb(153, 153, 153)"], [style*="1px solid rgb(204, 204, 204)"],
  [style*="1px solid rgb(170, 170, 170)"], [style*="1px solid rgb(221, 221, 221)"]
) { border-color: var(--dk-line, var(--line, #394049)) !important; }

/* ══════════════════════════════════════════════════════════
   Proteção dos elementos de fundo PASTEL de status (linhas/cards do
   dashboard, pílulas, botões coloridos). Esses fundos ficam CLAROS de
   propósito (código de cor por situação), então o texto interno deve
   ser ESCURO e legível. Reverte o "brilho" das cores semânticas nesse
   contexto. Vem por último para vencer no desempate de especificidade.
   ══════════════════════════════════════════════════════════ */
/* Filhos DIRETOS com cor própria dentro de um card/linha pastel: texto escuro
   (reverte o brilho semântico), mantendo legível sobre o fundo pastel claro.
   Usa filho direto (>) para não alcançar elementos que estão em áreas escuras. */
html[data-modo="escuro"] :is(
  [style*="background:#fff3cd"], [style*="background:#ffe5b4"], [style*="background:#ffd6a5"],
  [style*="background:#fde8c8"], [style*="background:#cce5ff"], [style*="background:#d4edda"],
  [style*="background:#c3e6cb"], [style*="background:#e2d9f3"], [style*="background:#f8d7da"],
  [style*="background:#bfe6bf"], [style*="background:#e9eef5"], [style*="background:#fff8e1"]
):not(.win-panel-box) > [style*="color"] { color: #1c1c1c !important; }

/* ── Lacunas dos temas skin no escuro (classes que temas.css não cobre) ── */
html[data-modo="escuro"] .logo-sub { color: var(--dk-txt, var(--panel-txt, #e6e8ec)) !important; }
html[data-modo="escuro"] :is(.serie-section, .serie-note) { background: #3a361d !important; color: var(--dk-txt, var(--panel-txt, #e6e8ec)) !important; border-color: var(--dk-line, var(--line, #394049)) !important; }
html[data-modo="escuro"] .os-footer { background: var(--dk-card, var(--soft, #26282c)) !important; color: var(--dk-txt, var(--panel-txt, #e6e8ec)) !important; }

/* ══════════════════════════════════════════════════════════
   MOTORISTA — agenda semanal (todos os temas escuros)
   Contrapartida escura das classes .mot-* do main.css. Vale para
   skins tambem: as cores desta tela sempre foram as do classico.
   Sem !important e sem [style*=...]: como o motorista.js agora emite
   CLASSE em vez de hex inline, basta especificidade normal.
   NAO voltar a pintar esta tela por style inline nem por JS
   (el.style.background=...) — foi o que a deixou ilegivel.
   ══════════════════════════════════════════════════════════ */
html[data-modo="escuro"] .mot-col        { background:#1a1c22; border-color:#2f343d; }
html[data-modo="escuro"] .mot-col--hoje  { background:#151d2b; border-color:#3b8bff; }

html[data-modo="escuro"] .mot-dia        { background:#272c36; color:#e6e8ec; }
html[data-modo="escuro"] .mot-col--hoje .mot-dia { background:#1a4a8a; color:#fff; }

html[data-modo="escuro"] .mot-faixa--manha { background:#2b2617; border-bottom-color:#3d3722; }
html[data-modo="escuro"] .mot-faixa--manha .mot-faixa-lbl { color:#e8c86a; }
html[data-modo="escuro"] .mot-faixa--tarde { background:#16202e; border-top-color:#2b3a4d; border-bottom-color:#2b3a4d; }
html[data-modo="escuro"] .mot-faixa--tarde .mot-faixa-lbl { color:#8ab4ff; }

html[data-modo="escuro"] .mot-drop--over { background:#1b2b40; outline-color:#3b8bff; }
html[data-modo="escuro"] .mot-vazio      { color:#6b7480; }

html[data-modo="escuro"] .mot-card       { background:#332a12; border-left-color:#e87000; }
html[data-modo="escuro"] .mot-card--ok   { background:#132a1c; border-left-color:#28a745; }
html[data-modo="escuro"] .mot-card--fin  { background:#33161a; border-left-color:#cc0000; }
html[data-modo="escuro"] .mot-card-hora  { color:#e6e8ec; }
html[data-modo="escuro"] .mot-card-nome  { color:#8ab4ff; }
html[data-modo="escuro"] .mot-card--fin .mot-card-nome { color:#ff8a8a; }
html[data-modo="escuro"] .mot-card-os    { color:#a6aeb9; }

html[data-modo="escuro"] .mot-badge      { background:#2f6fd0; }
html[data-modo="escuro"] .mot-badge--ent { background:#1e7a3a; }
html[data-modo="escuro"] .mot-badge--fin { background:#c62828; }
html[data-modo="escuro"] .mot-ret-row:hover { background:#1b2b40; }

/* ── Contas Fixas: gerenciador (#modal-contas-fixas) e cadastro (#modal-cf-edit).
   Os modais nasceram com paleta clara inline (verde #eef3e8 etc.) e IGNORAM o
   tema. IMPORTANTE: usar HEX FIXO, nunca var(--dk-*) — essas variáveis só
   existem no tema clássico (:not(.tema-skin)); numa skin ficam vazias e a cor
   bege inline volta. Mesma abordagem das .mot-* do motorista. Vale em TODA skin. */
html[data-modo="escuro"] :is(#modal-contas-fixas, #modal-cf-edit) > div {
  background: #16181d !important; border-color: #414954 !important; color: #e6e8ec !important;
}
/* barras internas do gerenciador (título, toolbar, rodapé) */
html[data-modo="escuro"] #modal-contas-fixas > div > div {
  background: #15171b !important; border-color: #2f343d !important; color: #e6e8ec !important;
}
/* barra de título dos dois: gradiente azul dos demais modais escuros */
html[data-modo="escuro"] :is(#modal-contas-fixas, #modal-cf-edit) > div > div:first-child {
  background: linear-gradient(to right, #1b2a45, #2a4a7a) !important; color: #fff !important;
}
/* grade do gerenciador */
html[data-modo="escuro"] #cf-tabela { background: #16181d !important; }
html[data-modo="escuro"] #cf-tabela thead tr { background: #23262d !important; }
html[data-modo="escuro"] #cf-tabela :is(th, td) { border-color: #2f343d !important; color: #e6e8ec !important; }
html[data-modo="escuro"] #cf-body tr { border-color: #2f343d !important; }
/* corpo do cadastro + inputs/selects (não depender de var de tema) */
html[data-modo="escuro"] #modal-cf-edit :is(input, select, textarea) {
  background: #23262d !important; color: #e6e8ec !important; border-color: #414954 !important;
}
html[data-modo="escuro"] :is(#modal-contas-fixas, #modal-cf-edit) label { color: #e6e8ec !important; }
/* classes de cor (claras no main.css) */
html[data-modo="escuro"] .cf-instrucao  { color: #a6aeb9 !important; }
html[data-modo="escuro"] .cfe-recorbox  { background: #1d1f25 !important; border-color: #414954 !important; }
html[data-modo="escuro"] .cfe-hint      { color: #a6aeb9 !important; }
html[data-modo="escuro"] .cf-rec-parc   { color: #ffb066 !important; }
html[data-modo="escuro"] .cf-rec-mensal { color: #7ddb99 !important; }
html[data-modo="escuro"] .cf-rec-sub    { color: #a6aeb9 !important; }

/* ══════════════════════════════════════════════════════════════════════
   VARREDURA DARK 19/07/2026 — pontos claros que a varredura de luminância
   no DOM real (modais + telas, temas classico/moderno/android escuros)
   apontou. HEX FIXO (vale em TODA skin, não usa var(--dk-*)); variantes
   rgb(...) p/ os elementos cujo style o JS reserializa. Só data-modo=escuro.
   ══════════════════════════════════════════════════════════════════════ */

/* 1) Botões e campos de pagamento (encerrar OS / venda) — classes .enc-pg-* */
html[data-modo="escuro"] .enc-pg-btn {
  background:#272b32 !important; color:#cfd4db !important; border-color:#49515c !important;
}
html[data-modo="escuro"] .enc-pg-btn.active {
  background:#2f6fd0 !important; color:#fff !important; border-color:#2f6fd0 !important;
}
html[data-modo="escuro"] .enc-pg-display {
  background:#23262d !important; color:#e6e8ec !important;
}

/* 2) Fundos neutros claros (cabeçalhos de tabela, painéis, botões cinza) */
html[data-modo="escuro"] :is(
  [style*="background:#c8d4a8"], [style*="background: rgb(200, 212, 168)"],
  [style*="background:#c8d4e8"], [style*="background: rgb(200, 212, 232)"],
  [style*="background:#d0d8f0"], [style*="background: rgb(208, 216, 240)"]
){ background:#23262d !important; }

html[data-modo="escuro"] :is(
  [style*="background:#e8ecf4"], [style*="background: rgb(232, 236, 244)"],
  [style*="background:#f8f8f8"], [style*="background: rgb(248, 248, 248)"],
  [style*="background:#dcdcdc"], [style*="background: rgb(220, 220, 220)"],
  [style*="background:#e0e0e0"], [style*="background: rgb(224, 224, 224)"],
  [style*="background:#f0f0f0"], [style*="background: rgb(240, 240, 240)"]
){ background:#1b1d22 !important; }

/* 3) Pílulas/botões semânticos: escurece o fundo E clareia o texto (par) */
html[data-modo="escuro"] :is(
  [style*="background:#d4edda"], [style*="background: rgb(212, 237, 218)"],
  [style*="background:#c8e6c9"], [style*="background: rgb(200, 230, 201)"],
  [style*="background:#bfe6bf"], [style*="background: rgb(191, 230, 191)"]
){ background:#12331f !important; color:#7ddb99 !important; border-color:#1e7a3a !important; }

html[data-modo="escuro"] :is(
  [style*="background:#f8d7da"], [style*="background: rgb(248, 215, 218)"]
){ background:#3a1517 !important; color:#ff8a8a !important; border-color:#c62828 !important; }

html[data-modo="escuro"] :is(
  [style*="background:#ffe0b2"], [style*="background: rgb(255, 224, 178)"]
){ background:#33280f !important; color:#e8c86a !important; }

html[data-modo="escuro"] :is(
  [style*="background:#ffccff"], [style*="background: rgb(255, 204, 255)"]
){ background:#33223a !important; color:#e6b0e6 !important; }

/* `--page` (fallback #f0f0f0) é usado inline no dash de técnicos e NÃO é
   definido em lugar nenhum — nas skins caía no fallback claro. Define escuro
   p/ todos os temas dark (as outras var(--soft/--line/--accent,…) usam
   variáveis que as skins já definem). */
html[data-modo="escuro"] { --page:#121317; }

/* ── Hover pintado por JS (onmouseover="this.style.background='#claro'") ──
   O catch-all por hex NÃO alcança isto: o JS re-serializa o style p/ rgb(),
   e o mouseout às vezes volta pra uma cor CLARA (ex.: linha de HOJE do fluxo
   do caixa, base #e8f0fe → fica presa clara no escuro). Uma regra única mira
   quem tem onmouseover mexendo em background e, no hover, força um realce
   escuro — o !important vence o inline do JS. Exclui <button> p/ preservar
   hovers coloridos intencionais (azul/verde). Vale em TODA skin. */
html[data-modo="escuro"] [onmouseover*="background"]:hover:not(button) {
  background: #1b2b40 !important;
}
/* Fundo-base azul claro de destaque (linha de hoje do fluxo, itens marcados) */
html[data-modo="escuro"] :is(
  [style*="background:#e8f0fe"], [style*="background: rgb(232, 240, 254)"],
  [style*="background:#dce8ff"], [style*="background: rgb(220, 232, 255)"]
){ background: #1b2330 !important; }
