/* =====================================================================
   Modo escuro do portal (ativado por data-bs-theme="dark" no <html>, ver js/00-tema.js)
   Carregado depois de todos os outros estilos. O modo claro não muda nada.
   Paleta igual à do modo TV do monitor. Cor nova fixa em outro CSS precisa da versão escura aqui.
   ===================================================================== */

[data-bs-theme="dark"] {
  color-scheme: dark;
  --c7-azul: #60a5fa;           /* como texto/realce; fundo de botão usa --c7-azul-forte */
  --c7-azul-2: #93c5fd;
  --c7-azul-forte: #2563eb;
  --c7-azul-claro: rgba(96, 165, 250, .14);
  --c7-fundo: #0a1220;
  --c7-superficie: #111b2e;
  --c7-superficie-2: #0d1626;
  --c7-neutro: #1c2a42;
  --c7-borda: #1f2c44;
  --c7-borda-forte: #2c3b56;
  --c7-texto: #e2e8f0;
  --c7-texto-2: #cbd5e1;
  --c7-suave: #94a3b8;
  --c7-sombra: 0 1px 2px rgba(0, 0, 0, .3), 0 2px 8px rgba(0, 0, 0, .2);
  --c7-sombra-alta: 0 8px 24px rgba(0, 0, 0, .45);
  --c7-foco: 0 0 0 3px rgba(56, 189, 248, .35);

  --bs-body-bg: var(--c7-superficie);
  --bs-body-bg-rgb: 17, 27, 46;
  --bs-secondary-bg: #1a2740;
  --bs-tertiary-bg: #152238;
  --bs-primary: #3b82f6;
  --bs-primary-rgb: 59, 130, 246;
  --bs-link-color: #60a5fa;
  --bs-link-color-rgb: 96, 165, 250;
  --bs-link-hover-color: #93c5fd;
  --bs-link-hover-color-rgb: 147, 197, 253;
}

/* ---------- cores de status (monitor, frota): fundo translúcido e texto claro, como no modo TV ---------- */
[data-bs-theme="dark"] .fr-st-DISPONIVEL   { --mc-cor-fundo: rgba(25, 135, 84, .18);  --mc-cor-texto: #86efac; }
[data-bs-theme="dark"] .fr-st-CARREGAMENTO,
[data-bs-theme="dark"] .mc-st-CARREGAMENTO { --mc-cor-fundo: rgba(245, 184, 0, .16);  --mc-cor-texto: #fcd34d; }
[data-bs-theme="dark"] .fr-st-EM_ROTA,
[data-bs-theme="dark"] .mc-st-EM_ROTA      { --mc-cor-fundo: rgba(14, 165, 233, .16); --mc-cor-texto: #7dd3fc; }
[data-bs-theme="dark"] .fr-st-RETORNANDO,
[data-bs-theme="dark"] .mc-st-RETORNANDO   { --mc-cor-fundo: rgba(13, 202, 240, .14); --mc-cor-texto: #67e8f9; }
[data-bs-theme="dark"] .fr-st-MANUTENCAO   { --mc-cor-fundo: rgba(239, 68, 68, .16);  --mc-cor-texto: #fca5a5; }
[data-bs-theme="dark"] .fr-st-INDISPONIVEL { --mc-cor-fundo: rgba(148, 163, 184, .16); --mc-cor-texto: #cbd5e1; }
[data-bs-theme="dark"] .fr-st-INDISPONIVEL .fr-manut { color: #cbd5e1; background: rgba(148, 163, 184, .14); }
[data-bs-theme="dark"] .mc-st-ENCERRADA    { --mc-cor-fundo: rgba(25, 135, 84, .18);  --mc-cor-texto: #86efac; }

/* ---------- botão de tema na barra superior ---------- */
.topo-tema { color: #fff; border: 1px solid rgba(255, 255, 255, .25); border-radius: 999px; padding: .28rem .6rem; line-height: 1; }
.topo-tema:hover, .topo-tema:focus-visible { background: rgba(255, 255, 255, .12); color: #fff; }

/* ---------- base e componentes do Bootstrap ---------- */
[data-bs-theme="dark"] .form-control::placeholder { color: #64748b; }
[data-bs-theme="dark"] .btn-primary { --bs-btn-bg: var(--c7-azul-forte); --bs-btn-border-color: var(--c7-azul-forte); --bs-btn-hover-bg: #1d4ed8;
  --bs-btn-hover-border-color: #1d4ed8; --bs-btn-active-bg: #1e40af; --bs-btn-active-border-color: #1e40af;
  --bs-btn-disabled-bg: var(--c7-azul-forte); --bs-btn-disabled-border-color: var(--c7-azul-forte); }
[data-bs-theme="dark"] .btn-outline-primary { --bs-btn-active-bg: var(--c7-azul-forte); --bs-btn-active-border-color: var(--c7-azul-forte); --bs-btn-active-color: #fff; }
[data-bs-theme="dark"] .btn-outline-secondary { --bs-btn-bg: transparent; --bs-btn-hover-border-color: #475569; }
[data-bs-theme="dark"] .btn-light { --bs-btn-bg: var(--c7-neutro); --bs-btn-color: var(--c7-texto); --bs-btn-border-color: var(--c7-borda-forte);
  --bs-btn-hover-bg: #26375a; --bs-btn-hover-color: #fff; --bs-btn-hover-border-color: #3b4d6e; --bs-btn-active-bg: #26375a; --bs-btn-active-color: #fff; }
[data-bs-theme="dark"] .btn-dark { --bs-btn-bg: #334155; --bs-btn-border-color: #334155; --bs-btn-hover-bg: #475569; --bs-btn-hover-border-color: #475569; }
[data-bs-theme="dark"] .form-check-input:checked { background-color: var(--c7-azul-forte); border-color: var(--c7-azul-forte); }

/* ---------- barra superior ---------- */
[data-bs-theme="dark"] .navbar.topo { background: linear-gradient(100deg, #07101e 0%, #0c1d36 45%, #12294a 100%); box-shadow: 0 1px 0 var(--c7-borda), 0 2px 12px rgba(0, 0, 0, .35); }

/* ---------- cabeçalho de página, filtros, tela inicial ---------- */
[data-bs-theme="dark"] .pg-contador { background: var(--c7-neutro); }
[data-bs-theme="dark"] .mc-atalho.active-filter { background: var(--c7-azul-forte); border-color: var(--c7-azul-forte); }
[data-bs-theme="dark"] .atalho-icone { background: color-mix(in srgb, var(--at-cor) 18%, var(--c7-superficie)); }
[data-bs-theme="dark"] .atalho-seta { color: #475569; }

/* ---------- monitor: visão detalhada ---------- */
[data-bs-theme="dark"] .rd-acao,
[data-bs-theme="dark"] .rd-chip-btn,
[data-bs-theme="dark"] .rd-entrega { background: var(--c7-superficie); }
[data-bs-theme="dark"] .rd-acao-perigo:hover { border-color: #f87171; color: #f87171; background: rgba(239, 68, 68, .14); }
[data-bs-theme="dark"] .rd-info,
[data-bs-theme="dark"] .rd-expandir,
[data-bs-theme="dark"] .fr-gps { border-color: var(--c7-borda); }
[data-bs-theme="dark"] .rd-proxima { background: rgba(59, 130, 246, .12); border-color: rgba(59, 130, 246, .3); }
[data-bs-theme="dark"] .rd-proxima > i { color: #f87171; }
[data-bs-theme="dark"] .rd-proxima-ok { background: rgba(34, 197, 94, .1); border-color: rgba(34, 197, 94, .28); }
[data-bs-theme="dark"] .rd-proxima-ok > i { color: #4ade80; }
[data-bs-theme="dark"] .mapa-rota { background: var(--c7-neutro); }
[data-bs-theme="dark"] .rd-entrega.feita { background: rgba(34, 197, 94, .07); border-color: rgba(34, 197, 94, .22); }
[data-bs-theme="dark"] .rd-entrega.proxima { border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59, 130, 246, .18); }
[data-bs-theme="dark"] .rd-num { background: var(--c7-neutro); }
[data-bs-theme="dark"] .rd-chip-btn.ok { background: rgba(34, 211, 238, .12); border-color: rgba(34, 211, 238, .35); color: #67e8f9; }
[data-bs-theme="dark"] .rd-baixa { background: transparent; }
[data-bs-theme="dark"] button.rd-baixa:hover { background: var(--c7-azul-forte); border-color: var(--c7-azul-forte); color: #fff; }
[data-bs-theme="dark"] .rd-baixa.feita { background: #198754; border-color: #198754; color: #fff; }

/* ---------- frota ---------- */
[data-bs-theme="dark"] .fr-manut { color: #fca5a5; background: rgba(239, 68, 68, .14); }
[data-bs-theme="dark"] .detail-row { border-bottom-color: var(--c7-borda); }

/* ---------- cadastros (tabelas) ---------- */
[data-bs-theme="dark"] .tabela tbody td { border-color: var(--c7-borda); }
[data-bs-theme="dark"] .tabela .badge.bg-secondary { background: var(--c7-neutro) !important; }
[data-bs-theme="dark"] .tabela .badge.bg-success { background: rgba(34, 197, 94, .16) !important; color: #86efac; }
[data-bs-theme="dark"] .tabela .badge.bg-info { background: rgba(14, 165, 233, .16) !important; color: #7dd3fc !important; }

/* ---------- gavetas, listas, modais, login ---------- */
[data-bs-theme="dark"] .gaveta { box-shadow: -12px 0 40px rgba(0, 0, 0, .5); }
[data-bs-theme="dark"] .gaveta-rodape,
[data-bs-theme="dark"] .gaveta-secao,
[data-bs-theme="dark"] .lista-sugestoes-funcionarios,
[data-bs-theme="dark"] .item-sugestao-funcionario,
[data-bs-theme="dark"] .login-card { background: var(--c7-superficie); }
[data-bs-theme="dark"] .item-sugestao-funcionario { border-bottom-color: var(--c7-borda); }
[data-bs-theme="dark"] .item-sugestao-funcionario:hover,
[data-bs-theme="dark"] .item-sugestao-funcionario:focus { background: var(--c7-azul-claro); }
[data-bs-theme="dark"] .import-zone { border-color: rgba(96, 165, 250, .45); background: rgba(59, 130, 246, .08); }
[data-bs-theme="dark"] .import-zone:hover { background: rgba(59, 130, 246, .15); border-color: var(--c7-azul); }
[data-bs-theme="dark"] .import-zone > i { color: #4ade80; }
[data-bs-theme="dark"] .modal-content { box-shadow: 0 20px 60px rgba(0, 0, 0, .6); }

/* ---------- usuários e avisos ---------- */
[data-bs-theme="dark"] .us-voce { color: #7dd3fc; background: rgba(14, 165, 233, .18); }
[data-bs-theme="dark"] .us-tag-consulta { background: var(--c7-neutro); color: var(--c7-texto-2); }
[data-bs-theme="dark"] .us-situacao.ok,
[data-bs-theme="dark"] .ts-regras li.ok { color: #4ade80; }
[data-bs-theme="dark"] .us-situacao:not(.ok)::before { background: #475569; }
[data-bs-theme="dark"] .ts-regras li:not(.ok)::before { color: #475569; }
[data-bs-theme="dark"] .us-ch-admin { --mc-cor: #60a5fa; }
[data-bs-theme="dark"] .us-ch-inativo { --mc-cor: #475569; }
[data-bs-theme="dark"] .us-perfil:hover .us-perfil-cartao { border-color: #475569; }
[data-bs-theme="dark"] .us-perfil input:checked + .us-perfil-cartao { background: rgba(59, 130, 246, .1); box-shadow: 0 0 0 3px rgba(59, 130, 246, .2); }
[data-bs-theme="dark"] .us-aviso { color: #fcd34d; background: rgba(245, 184, 0, .12); }
[data-bs-theme="dark"] .us-pendente { color: #fcd34d; background: rgba(245, 158, 11, .14); }
[data-bs-theme="dark"] .aviso-rapido { background: #1e293b; border: 1px solid #334155; box-shadow: 0 10px 30px rgba(0, 0, 0, .5); }

/* ---------- monitor compacto (cards) ---------- */
[data-bs-theme="dark"] .seletor-visao-rotas .btn { --bs-btn-color: var(--c7-azul); --bs-btn-border-color: var(--c7-borda-forte); --bs-btn-hover-bg: var(--c7-azul-claro);
  --bs-btn-hover-color: var(--c7-azul-2); --bs-btn-hover-border-color: var(--c7-azul); --bs-btn-active-bg: var(--c7-azul-forte);
  --bs-btn-active-border-color: var(--c7-azul-forte); --bs-btn-active-color: #fff; }
[data-bs-theme="dark"] .mc-atalhos { border-top-color: var(--c7-borda); }
[data-bs-theme="dark"] .mc-atalho { background: var(--c7-superficie); border-color: var(--c7-borda-forte); color: var(--c7-texto-2); }
[data-bs-theme="dark"] .mc-atalho b { color: var(--c7-texto); }
[data-bs-theme="dark"] .mc-atalho:hover { border-color: #475569; }
[data-bs-theme="dark"] .mc-atalho.ativo { background: var(--c7-azul-forte); border-color: var(--c7-azul-forte); color: #fff; }
[data-bs-theme="dark"] .mc-atalho.ativo b { color: #fff; }
[data-bs-theme="dark"] .mc-card { background: var(--c7-superficie); border-color: var(--c7-borda); box-shadow: var(--c7-sombra); }
[data-bs-theme="dark"] .mc-card:hover { box-shadow: var(--c7-sombra-alta); }
[data-bs-theme="dark"] .mc-rota,
[data-bs-theme="dark"] .mc-cidade,
[data-bs-theme="dark"] .mc-progresso-txt b,
[data-bs-theme="dark"] .mc-pct,
[data-bs-theme="dark"] .mc-pessoa,
[data-bs-theme="dark"] .mc-carga b { color: var(--c7-texto); }
[data-bs-theme="dark"] .mc-sub,
[data-bs-theme="dark"] .mc-rotulo,
[data-bs-theme="dark"] .mc-cidade small,
[data-bs-theme="dark"] .mc-quando,
[data-bs-theme="dark"] .mc-vazio { color: var(--c7-suave); }
[data-bs-theme="dark"] .mc-sub b,
[data-bs-theme="dark"] .mc-progresso-txt,
[data-bs-theme="dark"] .mc-carga { color: var(--c7-texto-2); }
[data-bs-theme="dark"] .mc-sep,
[data-bs-theme="dark"] .mc-seta,
[data-bs-theme="dark"] .mc-vazio i { color: #475569; }
[data-bs-theme="dark"] .mc-cidade-vazia { color: #64748b; }
[data-bs-theme="dark"] .mc-gps        { background: rgba(148, 163, 184, .14); color: #cbd5e1; }
[data-bs-theme="dark"] .mc-gps-mov    { background: rgba(34, 197, 94, .16); color: #86efac; }
[data-bs-theme="dark"] .mc-gps-parado { background: rgba(245, 158, 11, .16); color: #fcd34d; }
[data-bs-theme="dark"] .mc-gps-off    { background: rgba(239, 68, 68, .16); color: #fca5a5; }
[data-bs-theme="dark"] .mc-trajeto { background: var(--c7-superficie-2); border-color: var(--c7-borda); }
[data-bs-theme="dark"] .mc-destaque { color: #7dd3fc; }
[data-bs-theme="dark"] .mc-ok { color: #86efac; }
[data-bs-theme="dark"] .mc-tag-ultima { background: rgba(14, 165, 233, .18); color: #7dd3fc; }
[data-bs-theme="dark"] .mc-barra { background: var(--c7-neutro); }
[data-bs-theme="dark"] .mc-rodape { border-top-color: var(--c7-borda); }
[data-bs-theme="dark"] .mc-ver { color: var(--c7-azul); }
[data-bs-theme="dark"] .mc-ver:hover { background: var(--c7-azul-claro); }
[data-bs-theme="dark"] .mc-vazio { background: var(--c7-superficie); }
/* a placa continua branca, como a de verdade */

/* ---------- disponibilidade de pessoas (já usa as variáveis do Bootstrap) ---------- */
[data-bs-theme="dark"] .dp-bg-afastado { background: #4b5563; }
[data-bs-theme="dark"] .dp-borda-afastado { --dp-aus: #6b7280; }

/* ---------- relatórios de pessoas ---------- */
[data-bs-theme="dark"] .rp { --rp-off: #1c2a42; --rp-linha: var(--c7-borda); --rp-suave: #94a3b8; --rp-rota: #5b9be0; }
[data-bs-theme="dark"] .rp-menu-itens,
[data-bs-theme="dark"] .rp-cal thead th,
[data-bs-theme="dark"] .rp-cal .rp-nome,
[data-bs-theme="dark"] .rp-d-cab { background: var(--c7-superficie); }
[data-bs-theme="dark"] .rp-menu-itens { box-shadow: var(--c7-sombra-alta); }
[data-bs-theme="dark"] .rp-menu-itens button { color: var(--c7-texto); }
[data-bs-theme="dark"] .rp-menu-itens button:hover,
[data-bs-theme="dark"] .rp-menu-itens button:focus-visible { background: var(--c7-neutro); }
[data-bs-theme="dark"] .rp-aviso { color: #fcd34d; background: rgba(212, 167, 44, .14); }
[data-bs-theme="dark"] .rp-delta-bom,
[data-bs-theme="dark"] .rp-conferida { color: #4ade80; }
[data-bs-theme="dark"] .rp-delta-ruim,
[data-bs-theme="dark"] .rp-batidas .rp-incluida { color: #f87171; }
[data-bs-theme="dark"] .rp-cel.rp-ponto-extra { outline-color: #f87171; }
[data-bs-theme="dark"] .rp-s-feriado { background: repeating-linear-gradient(135deg, var(--rp-off) 0 4px, #2c3b56 4px 6px); }
[data-bs-theme="dark"] .rp-s-seminfo { background: var(--c7-superficie); color: #64748b; box-shadow: inset 0 0 0 1px var(--c7-borda-forte); }
[data-bs-theme="dark"] .rp-linha-sel .rp-nome { background: #16263f; }
[data-bs-theme="dark"] .rp-legenda { color: var(--c7-texto-2); }
[data-bs-theme="dark"] .rp-dialogo { background: var(--c7-superficie); color: var(--c7-texto); box-shadow: 0 1rem 3rem rgba(0, 0, 0, .6); }
[data-bs-theme="dark"] .rp-dialogo::backdrop { background: rgba(0, 0, 0, .55); }
[data-bs-theme="dark"] .rp-d-cab,
[data-bs-theme="dark"] .rp-feriados { border-color: var(--c7-borda); }
[data-bs-theme="dark"] .rp-feriados li { border-bottom-color: var(--c7-borda); }
[data-bs-theme="dark"] .rp-dialogo .form-label,
[data-bs-theme="dark"] .rp-feriados li span { color: var(--c7-suave); }
[data-bs-theme="dark"] .rp-tag-falha { background: rgba(255, 193, 7, .16); color: #fcd34d; }
[data-bs-theme="dark"] .rp-tag-extra { background: rgba(220, 53, 69, .18); color: #fca5a5; }

/* ---------- mapas (Leaflet): escurece só o desenho do mapa; marcadores e rotas mantêm as cores ---------- */
[data-bs-theme="dark"] .leaflet-tile-pane { filter: invert(1) hue-rotate(180deg) brightness(.92) contrast(.9) saturate(.7); }
[data-bs-theme="dark"] .leaflet-container { background: #0d1626; }
[data-bs-theme="dark"] .leaflet-popup-content-wrapper,
[data-bs-theme="dark"] .leaflet-popup-tip { background: var(--c7-superficie); color: var(--c7-texto); box-shadow: var(--c7-sombra-alta); }
[data-bs-theme="dark"] .leaflet-container a.leaflet-popup-close-button { color: var(--c7-suave); }
[data-bs-theme="dark"] .leaflet-bar a { background: var(--c7-superficie); color: var(--c7-texto); border-bottom-color: var(--c7-borda); }
[data-bs-theme="dark"] .leaflet-bar a:hover { background: var(--c7-neutro); }
[data-bs-theme="dark"] .leaflet-control-attribution { background: rgba(13, 22, 38, .8) !important; color: var(--c7-suave); }
[data-bs-theme="dark"] .leaflet-control-attribution a { color: var(--c7-azul); }
