/* =====================================================================
   Tema escuro — sobrescreve as cores fixas (claras) dos componentes.
   Só vale com <html data-bs-theme="dark"> (tema "escuro", ou "automático"
   quando o sistema operacional está no escuro). Variáveis vêm de
   AparenciaConfiguracao::blocoTemaEscuro().
   ===================================================================== */
html[data-bs-theme="dark"] {
    --bs-body-bg: var(--cor-fundo-pagina);
    --bs-body-color: var(--cor-texto-superficie);
    --bs-secondary-color: var(--cor-texto-secundario);
    --bs-tertiary-bg: var(--cor-superficie-alt);
    --bs-border-color: var(--cor-borda);
    --bs-emphasis-color: #f4f7fb;
    --bs-link-color-rgb: var(--bs-primary-rgb);
    --ds-texto: #e6eaf0;
    --ds-mudo: #94a0b0;
    --ds-brilho: color-mix(in srgb, var(--cor-primaria) 55%, white);
}
html[data-bs-theme="dark"] body { background: var(--cor-fundo-pagina); color: var(--ds-texto); }
html[data-bs-theme="dark"] .text-muted, html[data-bs-theme="dark"] .text-body-secondary { color: var(--ds-mudo) !important; }
html[data-bs-theme="dark"] a { color: var(--ds-brilho); }
html[data-bs-theme="dark"] a:hover { color: #fff; }
html[data-bs-theme="dark"] .text-primary { color: var(--ds-brilho) !important; }
html[data-bs-theme="dark"] hr { border-color: var(--ds-linha); opacity: 1; }
html[data-bs-theme="dark"] ::-webkit-scrollbar { width: 10px; height: 10px; }
html[data-bs-theme="dark"] ::-webkit-scrollbar-thumb { background: #2f3b4b; border-radius: 99px; border: 2px solid transparent; background-clip: padding-box; }
html[data-bs-theme="dark"] ::-webkit-scrollbar-track { background: transparent; }

/* ---- estrutura ---- */
html[data-bs-theme="dark"] .app-nav-row, html[data-bs-theme="dark"] .app-nav-link--sub { color: var(--cor-texto-sidebar); }
html[data-bs-theme="dark"] .app-nav-row:hover, html[data-bs-theme="dark"] .app-nav-link--sub:hover { background: rgba(255, 255, 255, .06); color: #fff; }
html[data-bs-theme="dark"] .app-nav-row.ativo, html[data-bs-theme="dark"] .app-nav-link--sub.ativo { background: var(--cor-ativo-sidebar-bg); color: var(--cor-ativo-sidebar-texto); }
html[data-bs-theme="dark"] .dropdown-menu { background: var(--ds-sup2); border-color: var(--ds-linha); box-shadow: 0 12px 32px rgba(0, 0, 0, .55); }
html[data-bs-theme="dark"] .dropdown-item { color: var(--ds-texto); }
html[data-bs-theme="dark"] .dropdown-item:hover, html[data-bs-theme="dark"] .dropdown-item:focus { background: var(--ds-sup3); color: #fff; }
html[data-bs-theme="dark"] .dropdown-divider { border-color: var(--ds-linha); }

/* ---- cartões, tabelas, formulários ---- */
html[data-bs-theme="dark"] .card-painel, html[data-bs-theme="dark"] .stat-card, html[data-bs-theme="dark"] .card { background: var(--ds-sup); border-color: var(--ds-linha); color: var(--ds-texto); box-shadow: var(--sombra-card); }
html[data-bs-theme="dark"] .stat-card__valor { color: #f4f7fb; }
html[data-bs-theme="dark"] .stat-card__rotulo { color: var(--ds-mudo); }
html[data-bs-theme="dark"] .table { --bs-table-bg: transparent; --bs-table-color: var(--ds-texto); --bs-table-border-color: var(--ds-linha); --bs-table-hover-bg: rgba(255, 255, 255, .04); --bs-table-striped-bg: rgba(255, 255, 255, .03); }
html[data-bs-theme="dark"] .table-active, html[data-bs-theme="dark"] .table-success { --bs-table-bg: rgba(63, 214, 160, .1); --bs-table-color: var(--ds-texto); }
html[data-bs-theme="dark"] .form-control, html[data-bs-theme="dark"] .form-select, html[data-bs-theme="dark"] .input-group-text { background-color: var(--ds-input); border-color: var(--ds-linha); color: var(--ds-texto); }
html[data-bs-theme="dark"] .form-control::placeholder { color: #6b7788; }
html[data-bs-theme="dark"] .form-control:disabled, html[data-bs-theme="dark"] .form-select:disabled, html[data-bs-theme="dark"] .form-control[readonly] { background-color: #121921; color: var(--ds-mudo); }
html[data-bs-theme="dark"] .form-control:focus, html[data-bs-theme="dark"] .form-select:focus { background-color: var(--ds-input); color: #fff; }
html[data-bs-theme="dark"] .form-check-input { background-color: var(--ds-input); border-color: #3a475a; }
html[data-bs-theme="dark"] .form-check-input:checked { background-color: var(--cor-primaria); border-color: var(--cor-primaria); }
html[data-bs-theme="dark"] .form-text { color: var(--ds-mudo); }
html[data-bs-theme="dark"] input[type="date"], html[data-bs-theme="dark"] input[type="month"] { color-scheme: dark; }
html[data-bs-theme="dark"] .btn-outline-secondary { --bs-btn-color: #b4bfce; --bs-btn-border-color: #354154; --bs-btn-hover-bg: var(--ds-sup3); --bs-btn-hover-border-color: #475569; --bs-btn-hover-color: #fff; --bs-btn-active-bg: #2b3646; }
html[data-bs-theme="dark"] .btn-light { --bs-btn-bg: var(--ds-sup3); --bs-btn-border-color: #2f3b4b; --bs-btn-color: #e6eaf0; --bs-btn-hover-bg: #2b3646; --bs-btn-hover-color: #fff; }
html[data-bs-theme="dark"] .btn-outline-primary { --bs-btn-color: var(--ds-brilho); }
html[data-bs-theme="dark"] .btn-close { filter: invert(1) grayscale(1) brightness(1.6); }
html[data-bs-theme="dark"] .alert { border-color: var(--ds-linha); }
html[data-bs-theme="dark"] .alert-info { background: rgba(56, 152, 236, .12); color: #9ccbff; }
html[data-bs-theme="dark"] .alert-warning { background: rgba(240, 161, 44, .13); color: #f5c77e; }
html[data-bs-theme="dark"] .alert-danger { background: rgba(224, 62, 74, .14); color: #ff9ca3; }
html[data-bs-theme="dark"] .alert-success { background: rgba(63, 214, 160, .12); color: #7fe3bd; }
html[data-bs-theme="dark"] .modal-content { background: var(--ds-sup); border-color: var(--ds-linha); color: var(--ds-texto); }
html[data-bs-theme="dark"] .modal-header, html[data-bs-theme="dark"] .modal-footer { border-color: var(--ds-linha); }
html[data-bs-theme="dark"] .nav-tabs { border-color: var(--ds-linha); }
html[data-bs-theme="dark"] .nav-tabs .nav-link { color: var(--ds-mudo); }
html[data-bs-theme="dark"] .nav-tabs .nav-link.active { background: var(--ds-sup); border-color: var(--ds-linha) var(--ds-linha) var(--ds-sup); color: #fff; }
html[data-bs-theme="dark"] .badge.bg-light { background: var(--ds-sup3) !important; color: var(--ds-texto) !important; }
html[data-bs-theme="dark"] .bg-body-tertiary, html[data-bs-theme="dark"] .bg-light { background: var(--ds-sup2) !important; }
html[data-bs-theme="dark"] .border, html[data-bs-theme="dark"] .border-top, html[data-bs-theme="dark"] .border-bottom { border-color: var(--ds-linha) !important; }

/* ---- lista moderna (.ls-*) ---- */
html[data-bs-theme="dark"] .ls-cabecalho h1 { color: #f4f7fb; }
html[data-bs-theme="dark"] .ls-cabecalho p { color: var(--ds-mudo); }
html[data-bs-theme="dark"] .ls-visao { background: var(--ds-sup2); }
html[data-bs-theme="dark"] .ls-visao button { color: var(--ds-mudo); }
html[data-bs-theme="dark"] .ls-visao button.ativo { background: var(--ds-sup3); color: #fff; box-shadow: none; }
html[data-bs-theme="dark"] .ls-kpi { background: linear-gradient(135deg, color-mix(in srgb, var(--c) 17%, var(--ds-sup)), var(--ds-sup) 85%); border-color: color-mix(in srgb, var(--c) 28%, #1e2733); color: var(--ds-texto); }
html[data-bs-theme="dark"] .ls-kpi:hover { box-shadow: 0 10px 28px rgba(0, 0, 0, .45); }
html[data-bs-theme="dark"] .ls-kpi small { color: var(--ds-mudo); }
html[data-bs-theme="dark"] .ls-kpi b { color: color-mix(in srgb, var(--c) 45%, white); }
html[data-bs-theme="dark"] .ls-kpi em { color: var(--ds-mudo); }
html[data-bs-theme="dark"] .ls-kpi-icone { background: color-mix(in srgb, var(--c) 22%, var(--ds-sup)); color: color-mix(in srgb, var(--c) 55%, white); box-shadow: none; }
html[data-bs-theme="dark"] .ls-kpi--vermelho { --c: #ef5b66; } html[data-bs-theme="dark"] .ls-kpi--verde { --c: #36c490; } html[data-bs-theme="dark"] .ls-kpi--ambar { --c: #f0a12c; } html[data-bs-theme="dark"] .ls-kpi--roxo { --c: #a07af0; } html[data-bs-theme="dark"] .ls-kpi--azul { --c: #4a8fe8; }
html[data-bs-theme="dark"] .ls-foco, html[data-bs-theme="dark"] .ls-select, html[data-bs-theme="dark"] .ls-busca { background: var(--ds-sup); border-color: var(--ds-linha); color: #b4bfce; }
html[data-bs-theme="dark"] .ls-foco span { background: var(--ds-sup3); color: #b4bfce; }
html[data-bs-theme="dark"] .ls-foco:hover { border-color: var(--cor-primaria); color: #fff; }
html[data-bs-theme="dark"] .ls-foco.ativo, html[data-bs-theme="dark"] .ls-foco.active { background: var(--cor-primaria); border-color: var(--cor-primaria); color: #fff; }
html[data-bs-theme="dark"] .ls-foco.ativo span, html[data-bs-theme="dark"] .ls-foco.active span { background: rgba(255, 255, 255, .22); color: #fff; }
html[data-bs-theme="dark"] .ls-busca input { background: transparent; color: var(--ds-texto); }
html[data-bs-theme="dark"] .ls-busca i { color: #6b7788; }
html[data-bs-theme="dark"] .ls-select option { background: var(--ds-sup); color: var(--ds-texto); }
html[data-bs-theme="dark"] .ls-select input { color: var(--ds-texto); color-scheme: dark; }
html[data-bs-theme="dark"] .ls-btn-filtros { background: var(--ds-sup); border-color: var(--ds-linha); color: #b4bfce; }
html[data-bs-theme="dark"] .ls-filtros-menu { background: var(--ds-sup2); border-color: var(--ds-linha); box-shadow: 0 16px 40px rgba(0, 0, 0, .6); }
html[data-bs-theme="dark"] .ls-item { background: var(--ds-sup); border-color: var(--ds-linha-suave); color: var(--ds-texto); box-shadow: none; }
html[data-bs-theme="dark"] .ls-item:hover { background: var(--ds-sup2); border-color: #2f3d50; box-shadow: 0 8px 24px rgba(0, 0, 0, .4); }
html[data-bs-theme="dark"] .ls-nome, html[data-bs-theme="dark"] .ls-item a.ls-nome { color: #f1f5f9; }
html[data-bs-theme="dark"] .ls-sub, html[data-bs-theme="dark"] .ls-cel[data-rotulo]::before { color: var(--ds-mudo); }
html[data-bs-theme="dark"] .ls-cel b, html[data-bs-theme="dark"] .ls-valor { color: #f1f5f9; }
html[data-bs-theme="dark"] .ls-avatar--icone { background: color-mix(in srgb, var(--tom, #4a8fe8) 18%, var(--ds-sup2)); color: color-mix(in srgb, var(--tom, #4a8fe8) 60%, white); }
html[data-bs-theme="dark"] .ls-mais { background: var(--ds-sup3); color: #b4bfce; }
html[data-bs-theme="dark"] .ls-acao { background: var(--ds-sup2); border-color: var(--ds-linha); color: #b4bfce; }
html[data-bs-theme="dark"] .ls-acao:hover { background: var(--ds-linha); color: #fff; }
html[data-bs-theme="dark"] .ls-acao--perigo:hover { background: #4a1f26; color: #ff9ca3; border-color: #7a2f38; }
html[data-bs-theme="dark"] .ls-acao--ok:hover { background: #123a2d; color: #7fe3bd; border-color: #1f6a52; }
html[data-bs-theme="dark"] .ls-vazio { background: var(--ds-sup); border-color: var(--ds-linha); color: var(--ds-mudo); }
html[data-bs-theme="dark"] .ls-vazio b { color: #e6eaf0; }
html[data-bs-theme="dark"] .ls-paginacao, html[data-bs-theme="dark"] .ls-secao__titulo, html[data-bs-theme="dark"] .ls-bloco { color: var(--ds-mudo); }
html[data-bs-theme="dark"] .ls-bloco--atraso { color: #ff8a93; }
html[data-bs-theme="dark"] .ls-paginacao a { background: var(--ds-sup); border-color: var(--ds-linha); color: #b4bfce; }
html[data-bs-theme="dark"] .ls-cartao, html[data-bs-theme="dark"] .ls-detalhe, html[data-bs-theme="dark"] .ls-atalho { background: var(--ds-sup); border-color: var(--ds-linha-suave); color: var(--ds-texto); }
html[data-bs-theme="dark"] .ls-cartao > h2 { color: var(--ds-mudo); }
html[data-bs-theme="dark"] .ls-detalhe > summary { color: #b4bfce; }
html[data-bs-theme="dark"] .ls-detalhe[open] > summary { border-color: var(--ds-linha-suave); }
html[data-bs-theme="dark"] .ls-atalho:hover { background: var(--ds-sup2); }
html[data-bs-theme="dark"] .ls-atalho__icone { background: color-mix(in srgb, var(--c) 20%, var(--ds-sup)); color: color-mix(in srgb, var(--c) 55%, white); }
html[data-bs-theme="dark"] .ls-atalho__texto span { color: var(--ds-mudo); }
html[data-bs-theme="dark"] .ls-barra-mini { background: var(--ds-linha); }
html[data-bs-theme="dark"] .ls-prazo.prazo--atraso { color: #ff8a93; } html[data-bs-theme="dark"] .ls-prazo.prazo--hoje { color: #f5c77e; } html[data-bs-theme="dark"] .ls-prazo.prazo--feito { color: #7fe3bd; }
/* selos de sinal */
html[data-bs-theme="dark"] .ls-sinal { background: var(--ds-sup3); color: #b4bfce; }
html[data-bs-theme="dark"] .ls-sinal--g1, html[data-bs-theme="dark"] .ls-sinal--roxo { background: rgba(160, 122, 240, .16); color: #c3a8ff; }
html[data-bs-theme="dark"] .ls-sinal--g2 { background: rgba(240, 161, 44, .16); color: #f5c77e; }
html[data-bs-theme="dark"] .ls-sinal--g3 { background: rgba(239, 91, 102, .17); color: #ff9ca3; }
html[data-bs-theme="dark"] .ls-sinal--ok { background: rgba(54, 196, 144, .16); color: #7fe3bd; }
html[data-bs-theme="dark"] .ls-sinal--azul { background: rgba(74, 143, 232, .17); color: #9ccbff; }
html[data-bs-theme="dark"] .ls-status { background: var(--ds-sup3); color: #b4bfce; }
html[data-bs-theme="dark"] .ls-ok { color: #7fe3bd; }

/* ---- lista moderna (.cl-*) ---- */
html[data-bs-theme="dark"] .cl-cabecalho h1 { color: #f4f7fb; }
html[data-bs-theme="dark"] .cl-cabecalho p { color: var(--ds-mudo); }
html[data-bs-theme="dark"] .cl-visao { background: var(--ds-sup2); }
html[data-bs-theme="dark"] .cl-visao button { color: var(--ds-mudo); }
html[data-bs-theme="dark"] .cl-visao button.ativo { background: var(--ds-sup3); color: #fff; box-shadow: none; }
html[data-bs-theme="dark"] .cl-kpi { background: linear-gradient(135deg, color-mix(in srgb, var(--c) 17%, var(--ds-sup)), var(--ds-sup) 85%); border-color: color-mix(in srgb, var(--c) 28%, #1e2733); color: var(--ds-texto); }
html[data-bs-theme="dark"] .cl-kpi:hover { box-shadow: 0 10px 28px rgba(0, 0, 0, .45); }
html[data-bs-theme="dark"] .cl-kpi small { color: var(--ds-mudo); }
html[data-bs-theme="dark"] .cl-kpi b { color: color-mix(in srgb, var(--c) 45%, white); }
html[data-bs-theme="dark"] .cl-kpi em { color: var(--ds-mudo); }
html[data-bs-theme="dark"] .cl-kpi-icone { background: color-mix(in srgb, var(--c) 22%, var(--ds-sup)); color: color-mix(in srgb, var(--c) 55%, white); box-shadow: none; }
html[data-bs-theme="dark"] .cl-kpi--vermelho { --c: #ef5b66; } html[data-bs-theme="dark"] .cl-kpi--verde { --c: #36c490; } html[data-bs-theme="dark"] .cl-kpi--ambar { --c: #f0a12c; } html[data-bs-theme="dark"] .cl-kpi--roxo { --c: #a07af0; } html[data-bs-theme="dark"] .cl-kpi--azul { --c: #4a8fe8; }
html[data-bs-theme="dark"] .cl-foco, html[data-bs-theme="dark"] .cl-select, html[data-bs-theme="dark"] .cl-busca { background: var(--ds-sup); border-color: var(--ds-linha); color: #b4bfce; }
html[data-bs-theme="dark"] .cl-foco span { background: var(--ds-sup3); color: #b4bfce; }
html[data-bs-theme="dark"] .cl-foco:hover { border-color: var(--cor-primaria); color: #fff; }
html[data-bs-theme="dark"] .cl-foco.ativo, html[data-bs-theme="dark"] .cl-foco.active { background: var(--cor-primaria); border-color: var(--cor-primaria); color: #fff; }
html[data-bs-theme="dark"] .cl-foco.ativo span, html[data-bs-theme="dark"] .cl-foco.active span { background: rgba(255, 255, 255, .22); color: #fff; }
html[data-bs-theme="dark"] .cl-busca input { background: transparent; color: var(--ds-texto); }
html[data-bs-theme="dark"] .cl-busca i { color: #6b7788; }
html[data-bs-theme="dark"] .cl-select option { background: var(--ds-sup); color: var(--ds-texto); }
html[data-bs-theme="dark"] .cl-select input { color: var(--ds-texto); color-scheme: dark; }
html[data-bs-theme="dark"] .cl-btn-filtros { background: var(--ds-sup); border-color: var(--ds-linha); color: #b4bfce; }
html[data-bs-theme="dark"] .cl-filtros-menu { background: var(--ds-sup2); border-color: var(--ds-linha); box-shadow: 0 16px 40px rgba(0, 0, 0, .6); }
html[data-bs-theme="dark"] .cl-item { background: var(--ds-sup); border-color: var(--ds-linha-suave); color: var(--ds-texto); box-shadow: none; }
html[data-bs-theme="dark"] .cl-item:hover { background: var(--ds-sup2); border-color: #2f3d50; box-shadow: 0 8px 24px rgba(0, 0, 0, .4); }
html[data-bs-theme="dark"] .cl-nome, html[data-bs-theme="dark"] .cl-item a.cl-nome { color: #f1f5f9; }
html[data-bs-theme="dark"] .cl-sub, html[data-bs-theme="dark"] .cl-cel[data-rotulo]::before { color: var(--ds-mudo); }
html[data-bs-theme="dark"] .cl-cel b, html[data-bs-theme="dark"] .cl-valor { color: #f1f5f9; }
html[data-bs-theme="dark"] .cl-avatar--icone { background: color-mix(in srgb, var(--tom, #4a8fe8) 18%, var(--ds-sup2)); color: color-mix(in srgb, var(--tom, #4a8fe8) 60%, white); }
html[data-bs-theme="dark"] .cl-mais { background: var(--ds-sup3); color: #b4bfce; }
html[data-bs-theme="dark"] .cl-acao { background: var(--ds-sup2); border-color: var(--ds-linha); color: #b4bfce; }
html[data-bs-theme="dark"] .cl-acao:hover { background: var(--ds-linha); color: #fff; }
html[data-bs-theme="dark"] .cl-acao--perigo:hover { background: #4a1f26; color: #ff9ca3; border-color: #7a2f38; }
html[data-bs-theme="dark"] .cl-acao--ok:hover { background: #123a2d; color: #7fe3bd; border-color: #1f6a52; }
html[data-bs-theme="dark"] .cl-vazio { background: var(--ds-sup); border-color: var(--ds-linha); color: var(--ds-mudo); }
html[data-bs-theme="dark"] .cl-vazio b { color: #e6eaf0; }
html[data-bs-theme="dark"] .cl-paginacao, html[data-bs-theme="dark"] .cl-secao__titulo, html[data-bs-theme="dark"] .cl-bloco { color: var(--ds-mudo); }
html[data-bs-theme="dark"] .cl-bloco--atraso { color: #ff8a93; }
html[data-bs-theme="dark"] .cl-paginacao a { background: var(--ds-sup); border-color: var(--ds-linha); color: #b4bfce; }
html[data-bs-theme="dark"] .cl-cartao, html[data-bs-theme="dark"] .cl-detalhe, html[data-bs-theme="dark"] .cl-atalho { background: var(--ds-sup); border-color: var(--ds-linha-suave); color: var(--ds-texto); }
html[data-bs-theme="dark"] .cl-cartao > h2 { color: var(--ds-mudo); }
html[data-bs-theme="dark"] .cl-detalhe > summary { color: #b4bfce; }
html[data-bs-theme="dark"] .cl-detalhe[open] > summary { border-color: var(--ds-linha-suave); }
html[data-bs-theme="dark"] .cl-atalho:hover { background: var(--ds-sup2); }
html[data-bs-theme="dark"] .cl-atalho__icone { background: color-mix(in srgb, var(--c) 20%, var(--ds-sup)); color: color-mix(in srgb, var(--c) 55%, white); }
html[data-bs-theme="dark"] .cl-atalho__texto span { color: var(--ds-mudo); }
html[data-bs-theme="dark"] .cl-barra-mini { background: var(--ds-linha); }
html[data-bs-theme="dark"] .cl-prazo.prazo--atraso { color: #ff8a93; } html[data-bs-theme="dark"] .cl-prazo.prazo--hoje { color: #f5c77e; } html[data-bs-theme="dark"] .cl-prazo.prazo--feito { color: #7fe3bd; }
/* selos de sinal */
html[data-bs-theme="dark"] .cl-sinal { background: var(--ds-sup3); color: #b4bfce; }
html[data-bs-theme="dark"] .cl-sinal--g1, html[data-bs-theme="dark"] .cl-sinal--roxo { background: rgba(160, 122, 240, .16); color: #c3a8ff; }
html[data-bs-theme="dark"] .cl-sinal--g2 { background: rgba(240, 161, 44, .16); color: #f5c77e; }
html[data-bs-theme="dark"] .cl-sinal--g3 { background: rgba(239, 91, 102, .17); color: #ff9ca3; }
html[data-bs-theme="dark"] .cl-sinal--ok { background: rgba(54, 196, 144, .16); color: #7fe3bd; }
html[data-bs-theme="dark"] .cl-sinal--azul { background: rgba(74, 143, 232, .17); color: #9ccbff; }
html[data-bs-theme="dark"] .cl-status { background: var(--ds-sup3); color: #b4bfce; }
html[data-bs-theme="dark"] .cl-ok { color: #7fe3bd; }

/* ---- janelas (.tm .lm) e módulos antigos ---- */
html[data-bs-theme="dark"] .legal-resumo__item, html[data-bs-theme="dark"] .legal-cartao, html[data-bs-theme="dark"] .kanban-cartao { background: var(--ds-sup); border-color: var(--ds-linha); color: var(--ds-texto); }
html[data-bs-theme="dark"] .kanban-coluna { background: var(--ds-sup); border-color: var(--ds-linha); }
html[data-bs-theme="dark"] .kanban-coluna__nome { color: #f1f5f9; }
html[data-bs-theme="dark"] .legal-chip--neutro { background: var(--ds-sup3); color: #b4bfce; }
html[data-bs-theme="dark"] .legal-chip--ok { background: rgba(54, 196, 144, .16); color: #7fe3bd; }
html[data-bs-theme="dark"] .legal-chip--aviso { background: rgba(240, 161, 44, .16); color: #f5c77e; }
html[data-bs-theme="dark"] .legal-chip--perigo { background: rgba(239, 91, 102, .17); color: #ff9ca3; }
html[data-bs-theme="dark"] .tarefas-filtros, html[data-bs-theme="dark"] .tarefa-item, html[data-bs-theme="dark"] .tarefas-vazio { background: var(--ds-sup); border-color: var(--ds-linha); color: var(--ds-texto); }
html[data-bs-theme="dark"] .tarefas-foco { background: var(--ds-sup); border-color: var(--ds-linha); color: #b4bfce; }
html[data-bs-theme="dark"] .tarefas-foco.ativo { background: var(--cor-primaria); color: #fff; }
html[data-bs-theme="dark"] .tag-pill { background: var(--ds-sup3); color: #b4bfce; }

/* FullCalendar */
html[data-bs-theme="dark"] .fc { --fc-border-color: var(--ds-linha-suave); --fc-page-bg-color: transparent; --fc-neutral-bg-color: var(--ds-sup2); --fc-list-event-hover-bg-color: var(--ds-sup2); --fc-today-bg-color: color-mix(in srgb, var(--cor-primaria) 14%, transparent); --fc-button-text-color: #b4bfce; --fc-button-bg-color: var(--ds-sup); --fc-button-border-color: var(--ds-linha); --fc-button-hover-bg-color: var(--ds-sup3); --fc-button-hover-border-color: #3a475a; --fc-button-active-bg-color: var(--cor-primaria); --fc-button-active-border-color: var(--cor-primaria); }
html[data-bs-theme="dark"] .fc, html[data-bs-theme="dark"] .fc a, html[data-bs-theme="dark"] .ls-calendario .fc a { color: var(--ds-texto); }
html[data-bs-theme="dark"] .ls-calendario .fc .fc-button { background: var(--ds-sup); border-color: var(--ds-linha); color: #b4bfce; }
html[data-bs-theme="dark"] .ls-calendario .fc .fc-button:hover { background: var(--ds-sup3); color: #fff; }
html[data-bs-theme="dark"] .ls-calendario .fc .fc-button-primary:not(:disabled).fc-button-active, html[data-bs-theme="dark"] .ls-calendario .fc .fc-button-primary:not(:disabled):active { background: var(--cor-primaria); border-color: var(--cor-primaria); color: #fff; }
html[data-bs-theme="dark"] .ls-calendario .fc-theme-standard td, html[data-bs-theme="dark"] .ls-calendario .fc-theme-standard th, html[data-bs-theme="dark"] .ls-calendario .fc-theme-standard .fc-scrollgrid { border-color: var(--ds-linha-suave); }
html[data-bs-theme="dark"] .ls-calendario .fc-col-header-cell-cushion { color: var(--ds-mudo); }
html[data-bs-theme="dark"] .ls-calendario .fc-daygrid-day-number { color: #b4bfce; }
html[data-bs-theme="dark"] .fc .fc-day-other .fc-daygrid-day-top { opacity: .4; }
html[data-bs-theme="dark"] .fc-col-header-cell { background: var(--ds-sup2); }
/* logo (escura) numa placa clara para continuar legível */
html[data-bs-theme="dark"] .app-sidebar__brand img { background: #f4f7fb; border-radius: .7rem; padding: .35rem .7rem; box-shadow: 0 2px 10px rgba(0, 0, 0, .35); }

html[data-bs-theme="dark"] .tarefas-alerta { background: rgba(239, 91, 102, .13); border-color: rgba(239, 91, 102, .35); color: #ff9ca3; }
html[data-bs-theme="dark"] .table-success, html[data-bs-theme="dark"] .table-success > td, html[data-bs-theme="dark"] .table-success > th { --bs-table-bg: rgba(54, 196, 144, .13); --bs-table-color: #d5f5e8; --bs-table-border-color: #1f3b33; }
html[data-bs-theme="dark"] .table-warning, html[data-bs-theme="dark"] .table-warning > td, html[data-bs-theme="dark"] .table-warning > th { --bs-table-bg: rgba(240, 161, 44, .14); --bs-table-color: #f8e1b8; --bs-table-border-color: #43341a; }
html[data-bs-theme="dark"] .table-danger, html[data-bs-theme="dark"] .table-danger > td, html[data-bs-theme="dark"] .table-danger > th { --bs-table-bg: rgba(239, 91, 102, .15); --bs-table-color: #ffd3d6; --bs-table-border-color: #47242a; }
html[data-bs-theme="dark"] .table-info, html[data-bs-theme="dark"] .table-info > td, html[data-bs-theme="dark"] .table-info > th { --bs-table-bg: rgba(74, 143, 232, .14); --bs-table-color: #cfe4ff; --bs-table-border-color: #1f3350; }
html[data-bs-theme="dark"] .table-light, html[data-bs-theme="dark"] .table-light > td, html[data-bs-theme="dark"] .table-light > th { --bs-table-bg: var(--ds-sup2); --bs-table-color: var(--ds-texto); --bs-table-border-color: var(--ds-linha); }
html[data-bs-theme="dark"] .list-group-item { background: var(--ds-sup); border-color: var(--ds-linha); color: var(--ds-texto); }
html[data-bs-theme="dark"] .accordion-button, html[data-bs-theme="dark"] .accordion-item { background: var(--ds-sup); color: var(--ds-texto); border-color: var(--ds-linha); }
html[data-bs-theme="dark"] .progress { background: var(--ds-sup3); }
html[data-bs-theme="dark"] .popover, html[data-bs-theme="dark"] .toast { background: var(--ds-sup2); color: var(--ds-texto); border-color: var(--ds-linha); }
html[data-bs-theme="dark"] .pagination .page-link { background: var(--ds-sup); border-color: var(--ds-linha); color: var(--ds-texto); }
html[data-bs-theme="dark"] .pagination .active > .page-link { background: var(--cor-primaria); border-color: var(--cor-primaria); color: #fff; }
/* logos escuras em páginas de login e portal: placa clara */
html[data-bs-theme="dark"] .pagina-login__cartao img, html[data-bs-theme="dark"] .pt-logo { background: #f4f7fb; border-radius: .8rem; padding: .5rem .9rem; box-shadow: 0 2px 12px rgba(0, 0, 0, .35); }
html[data-bs-theme="dark"] .pagina-login { background: radial-gradient(120% 80% at 50% 0%, color-mix(in srgb, var(--cor-primaria) 14%, #0b0f14), #0b0f14 70%); }
html[data-bs-theme="dark"] .pagina-login__cartao { background: var(--ds-sup); border-color: var(--ds-linha); box-shadow: 0 20px 60px rgba(0, 0, 0, .55); }
html[data-bs-theme="dark"] .tb-sino-item, html[data-bs-theme="dark"] .tb-sino-item:hover, html[data-bs-theme="dark"] .tb-item, html[data-bs-theme="dark"] .tb-item:hover { color: var(--cor-texto-superficie); }
html[data-bs-theme="dark"] .tb-item--sair:hover { color: #ff8a90; }
html[data-bs-theme="dark"] .tb-painel__cab a { color: var(--ds-brilho); }
