/* Tema compartilhado. Carregado por Ãºltimo para adaptar componentes existentes. */

html {
  color-scheme: light;
}

.theme-toggle {
  display: inline-flex;
  min-height: 34px;
  padding: 6px 10px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.10);
  color: #FFFFFF;
  font: inherit;
  font-size: 0.76rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.theme-toggle:hover {
  border-color: rgba(255, 255, 255, 0.62);
  background: rgba(255, 255, 255, 0.18);
  transform: translateY(-1px);
}

.theme-toggle:focus-visible {
  outline: 3px solid #8FD0FC;
  outline-offset: 3px;
}

.theme-toggle__icon {
  width: 1em;
  font-size: 1rem;
  line-height: 1;
  text-align: center;
}

.theme-toggle--floating {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 1200;
  border-color: rgba(255, 255, 255, 0.45);
  background: rgba(22, 29, 72, 0.58);
  box-shadow: 0 8px 24px rgba(7, 18, 56, 0.22);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

body.pagina-atividades .theme-toggle {
  border-color: var(--atividade-borda);
  background: #FFFFFF;
  color: var(--marinho);
}

.barra-aplicacao .theme-toggle {
  border-color: #D0D8E4;
  background: #F6F8FB;
  color: var(--marinho);
}

.barra-aplicacao .theme-toggle:hover {
  border-color: #AAB8C9;
  background: #EEF4FA;
}

@media screen {
  html[data-theme="dark"] {
    color-scheme: dark;
    --preto: #E7ECF5;
    --cinza: #D6DEEB;
    --fundo: #141B2E;
    --fundo-suave: #101728;
    --borda: #2B3852;
    --muted: #9AA7BB;
    --verde: #4AD27B;
    --vermelho: #FF746A;
    --amber: #F5C04F;
    --sombra: 0 10px 30px rgba(2, 6, 18, 0.26);
    --theme-page: #0B1020;
    --theme-surface: #141B2E;
    --theme-elevated: #1A2338;
    --theme-control: #11192A;
    --theme-text: #E7ECF5;
    --theme-soft: #A9B5C9;
    --theme-heading: #F4F7FC;
    --theme-border: #2B3852;
    --chart-line: #7CC8FA;
    --chart-grid: #25334B;
    --chart-zero: #52627A;
    --chart-text: #A9B5C9;
    --chart-tooltip: #080D1A;
    --chart-border: #141B2E;
    --theme-action: #7CC8FA;
  }

  html[data-theme="dark"] body {
    background: var(--theme-page);
    color: var(--theme-text);
  }

  html[data-theme="dark"] body.fundo-animado {
    background: linear-gradient(-45deg, #070B18, #101A35, #12345B, #101A35, #070B18);
    background-size: 400% 400%;
  }

  html[data-theme="dark"] h2,
  html[data-theme="dark"] .campo label,
  html[data-theme="dark"] .passivo-titular label,
  html[data-theme="dark"] .resumo-grupo-titulo,
  html[data-theme="dark"] .metrica-valor,
  html[data-theme="dark"] .passivo-subtitulo {
    color: var(--theme-heading);
  }

  html[data-theme="dark"] .rodape-plataforma {
    border-top-color: #202C43;
    background:
      radial-gradient(circle at 50% 160%, rgba(53, 144, 207, 0.18), transparent 48%),
      #090F22;
    color: var(--theme-soft);
  }

  html[data-theme="dark"] .barra-aplicacao {
    border-bottom-color: var(--theme-border);
    background: rgba(17, 24, 42, 0.98);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.025);
  }

  html[data-theme="dark"] .barra-aplicacao .sessao-info {
    color: var(--theme-soft);
  }

  html[data-theme="dark"] .barra-aplicacao .sessao-info strong {
    color: var(--theme-heading);
  }

  html[data-theme="dark"] .barra-aplicacao .barra-titulo {
    color: var(--theme-heading);
  }

  html[data-theme="dark"] .barra-aplicacao .theme-toggle,
  html[data-theme="dark"] .barra-aplicacao .btn-sair {
    border-color: var(--theme-border);
    background: var(--theme-surface);
    color: var(--theme-heading);
  }

  html[data-theme="dark"] .barra-aplicacao .theme-toggle:hover {
    border-color: #465A77;
    background: var(--theme-elevated);
  }

  html[data-theme="dark"] .barra-aplicacao .btn-sair:hover {
    border-color: rgba(255, 116, 106, 0.48);
    background: rgba(255, 116, 106, 0.12);
    color: #FF9A92;
  }

  html[data-theme="dark"] body.pagina-interna {
    --interna-fundo: #0B1020;
    --interna-superficie: #171F32;
    --interna-texto: var(--theme-text);
    --interna-texto-suave: var(--theme-soft);
    --interna-borda: var(--theme-border);
    --interna-acento: #5FD4D3;
    background: var(--interna-fundo);
    color: var(--interna-texto);
  }

  html[data-theme="dark"] .pagina-interna-cabecalho {
    border-bottom-color: var(--interna-borda);
    background:
      radial-gradient(circle at 92% 12%, rgba(53, 144, 207, 0.14), transparent 27%),
      #11182A;
  }

  html[data-theme="dark"] .pagina-interna-cabecalho h1,
  html[data-theme="dark"] .pagina-interna-cabecalho .sessao-info strong,
  html[data-theme="dark"] .pagina-interna .portal-secao-cabecalho h2 {
    color: var(--theme-heading);
  }

  html[data-theme="dark"] .pagina-interna-descricao,
  html[data-theme="dark"] .pagina-interna-cabecalho .atualizacao,
  html[data-theme="dark"] .pagina-interna-cabecalho .sessao-info,
  html[data-theme="dark"] .pagina-interna .portal-secao-cabecalho > p {
    color: var(--theme-soft);
  }

  html[data-theme="dark"] body.pagina-interna .theme-toggle,
  html[data-theme="dark"] .pagina-interna-cabecalho .btn-sair {
    border-color: var(--interna-borda);
    background: var(--interna-superficie);
    color: var(--theme-heading);
  }

  html[data-theme="dark"] .cartao,
  html[data-theme="dark"] .bs-campo,
  html[data-theme="dark"] .busca-select-drop,
  html[data-theme="dark"] .campo-busca input,
  html[data-theme="dark"] .campo select,
  html[data-theme="dark"] .passivo-titular select,
  html[data-theme="dark"] .passivo-reset-zoom {
    border-color: var(--theme-border);
    background: var(--theme-surface);
    color: var(--theme-text);
  }

  html[data-theme="dark"] .cartao,
  html[data-theme="dark"] .busca-select-drop {
    box-shadow: var(--sombra);
  }

  html[data-theme="dark"] .mensagem,
  html[data-theme="dark"] .recente-btn,
  html[data-theme="dark"] .bs-contador,
  html[data-theme="dark"] tbody tr:nth-child(even),
  html[data-theme="dark"] .busca-select-lista li.ativo,
  html[data-theme="dark"] .busca-select-lista li[role="option"]:hover {
    background: var(--theme-elevated);
  }

  html[data-theme="dark"] .recente-btn:hover {
    border-color: var(--azul-claro);
    background: #202B43;
  }

  html[data-theme="dark"] .bs-nome,
  html[data-theme="dark"] .busca-select-lista li.selecionado .bs-nome,
  html[data-theme="dark"] td,
  html[data-theme="dark"] td.col-quando,
  html[data-theme="dark"] .evento-recente,
  html[data-theme="dark"] .metrica-rotulo,
  html[data-theme="dark"] .passivo-dica {
    color: var(--theme-text);
  }

  html[data-theme="dark"] .recente-btn {
    color: var(--theme-text);
  }

  html[data-theme="dark"] .pagina-timeline .recentes:not([hidden]) {
    border-top-color: var(--theme-border);
  }

  html[data-theme="dark"] .btn-exportar {
    border-color: #477EAD;
    background: var(--theme-surface);
    color: #7CC8FA;
  }

  html[data-theme="dark"] .btn-exportar:hover {
    background: var(--azul-medio);
    color: #FFFFFF;
  }

  html[data-theme="dark"] td,
  html[data-theme="dark"] .metrica-linha,
  html[data-theme="dark"] .bs-contador {
    border-color: var(--theme-border);
  }

  html[data-theme="dark"] th {
    background: #0B1228;
  }

  html[data-theme="dark"] .aba-btn:not(.ativo) {
    color: var(--theme-soft);
  }

  html[data-theme="dark"] .aba-btn:hover,
  html[data-theme="dark"] .aba-btn.ativo,
  html[data-theme="dark"] .bs-campo:focus-within .bs-lupa,
  html[data-theme="dark"] .bs-check,
  html[data-theme="dark"] .modulo-chamada,
  html[data-theme="dark"] .relatorio-categoria,
  html[data-theme="dark"] .relatorio-acao {
    color: #7CC8FA;
  }

  /* A barra de abas é componente, não detalhe de uma página. Estas regras
     nasceram presas a `.pagina-timeline` porque a Timeline era a única a usar
     `.abas`; com Compliance usando o mesmo componente, o escopo deixava a barra
     branca de `componentes.css` valendo no tema escuro. Timeline não muda: são
     as mesmas declarações que ela já recebia. */
  html[data-theme="dark"] .abas {
    border-color: var(--theme-border);
    background: var(--theme-control);
    box-shadow: 0 8px 22px rgba(0, 4, 15, 0.22);
  }

  html[data-theme="dark"] .aba-btn:hover {
    background: #202B43;
    color: var(--theme-heading);
  }

  html[data-theme="dark"] .aba-btn.ativo {
    background: #263653;
    color: #FFFFFF;
    box-shadow: 0 5px 15px rgba(0, 4, 15, 0.28);
  }

  html[data-theme="dark"] .passivo-reset-zoom:hover,
  html[data-theme="dark"] .relatorio-acao:hover {
    background: var(--azul-medio);
    color: #FFFFFF;
  }

  html[data-theme="dark"] .portal-pagina::after {
    background: rgba(53, 144, 207, 0.08);
  }

  html[data-theme="dark"] .modulo-card,
  html[data-theme="dark"] .login-cartao {
    border-color: rgba(124, 200, 250, 0.18);
    background: rgba(20, 27, 46, 0.96);
    color: var(--theme-text);
    box-shadow: 0 24px 60px rgba(0, 4, 15, 0.38);
  }

  html[data-theme="dark"] .relatorio-card {
    border-color: var(--interna-borda);
    background: var(--interna-superficie);
    color: var(--theme-text);
    box-shadow: 0 4px 14px rgba(0, 4, 15, 0.28);
  }

  html[data-theme="dark"] .login-logo-light {
    display: none;
  }

  html[data-theme="dark"] .login-logo-dark {
    display: block;
  }

  html[data-theme="dark"] .modulo-conteudo h3,
  html[data-theme="dark"] .relatorio-conteudo h3,
  html[data-theme="dark"] .login-titulo {
    color: var(--theme-heading);
  }

  html[data-theme="dark"] .modulo-conteudo p,
  html[data-theme="dark"] .relatorio-conteudo > p:last-child,
  html[data-theme="dark"] .login-descricao {
    color: var(--theme-soft);
  }

  html[data-theme="dark"] .relatorio-acao {
    border-color: #477EAD;
  }

  html[data-theme="dark"] .relatorio-acao:disabled {
    border-color: var(--theme-border);
    background: #20283A;
    color: #7E899B;
  }

  html[data-theme="dark"] .operacional-aviso {
    border-color: var(--interna-borda);
    background: var(--interna-superficie);
    color: var(--theme-text);
  }

  html[data-theme="dark"] .operacional-aviso.processando {
    border-color: #477EAD;
    color: #7CC8FA;
  }

  html[data-theme="dark"] .operacional-aviso.sucesso {
    border-color: rgba(74, 210, 123, 0.32);
    background: rgba(74, 210, 123, 0.10);
    color: #83E5A7;
  }

  html[data-theme="dark"] .operacional-aviso.aviso {
    border-color: rgba(255, 190, 92, 0.32);
    background: rgba(255, 190, 92, 0.10);
    color: #FFD28A;
  }

  html[data-theme="dark"] .operacional-aviso.erro {
    border-color: rgba(255, 116, 106, 0.36);
    background: rgba(255, 116, 106, 0.10);
    color: #FF9A92;
  }

  html[data-theme="dark"] .revisao-cabecalho h3,
  html[data-theme="dark"] .revisao-visualizador-cabecalho h4,
  html[data-theme="dark"] .revisao-corpo-email h4,
  html[data-theme="dark"] .revisao-download {
    color: #FFFFFF;
  }

  html[data-theme="dark"] .login-microsoft {
    border-color: #46536A;
    background: var(--theme-elevated);
    color: var(--theme-heading);
  }

  html[data-theme="dark"] .login-microsoft:hover {
    border-color: #75849B;
    background: #222D45;
  }

  html[data-theme="dark"] .login-erro {
    border-color: rgba(255, 116, 106, 0.38);
    background: rgba(255, 116, 106, 0.10);
  }

  html[data-theme="dark"] .bs-realce {
    background: rgba(124, 200, 250, 0.22);
  }

  html[data-theme="dark"] body.pagina-atividades {
    --atividade-fundo: #0B1020;
    --atividade-cartao: #171F32;
    --atividade-texto-suave: #A9B5C9;
    --atividade-borda: #2B3852;
    --atividade-turquesa: #5FD4D3;
    background: var(--atividade-fundo);
    color: var(--theme-text);
  }

  html[data-theme="dark"] .atividades-cabecalho {
    border-bottom-color: var(--atividade-borda);
    background: radial-gradient(circle at 92% 12%, rgba(53, 144, 207, 0.14), transparent 27%), #11182A;
  }

  html[data-theme="dark"] .atividades-titulo-linha h1,
  html[data-theme="dark"] .atividades-resumo strong,
  html[data-theme="dark"] .bucket-titulo,
  html[data-theme="dark"] .atividade-card h3,
  html[data-theme="dark"] .painel-cabecalho h2,
  html[data-theme="dark"] .atividade-auditoria h3,
  html[data-theme="dark"] .lista-historico strong {
    color: var(--theme-heading);
  }

  html[data-theme="dark"] body.pagina-atividades .theme-toggle,
  html[data-theme="dark"] .botao-secundario,
  html[data-theme="dark"] .botao-icone,
  html[data-theme="dark"] .atividades-filtros,
  html[data-theme="dark"] .atividades-filtros input[type="search"],
  html[data-theme="dark"] .atividades-filtros select,
  html[data-theme="dark"] dialog,
  html[data-theme="dark"] .campo input,
  html[data-theme="dark"] .campo select,
  html[data-theme="dark"] .campo textarea {
    border-color: var(--atividade-borda);
    background: var(--theme-surface);
    color: var(--theme-text);
  }

  html[data-theme="dark"] .atividades-resumo,
  html[data-theme="dark"] .atividades-feedback {
    border-color: var(--atividade-borda);
    background: rgba(20, 27, 46, 0.82);
  }

  html[data-theme="dark"] .campo-busca svg,
  html[data-theme="dark"] .atividade-prioridade,
  html[data-theme="dark"] .atividade-indicadores,
  html[data-theme="dark"] .campo > span,
  html[data-theme="dark"] .campo legend,
  html[data-theme="dark"] .atividade-auditoria dl div,
  html[data-theme="dark"] .lista-historico li {
    color: var(--theme-soft);
  }

  html[data-theme="dark"] .filtro-meu,
  html[data-theme="dark"] #btn-limpar-filtros {
    color: #FFFFFF;
  }

  html[data-theme="dark"] .atividades-feedback.erro {
    background: rgba(255, 116, 106, 0.08);
    color: #FF9A92;
  }

  html[data-theme="dark"] .bucket-coluna {
    background: #11192A;
    box-shadow: 0 8px 24px rgba(0, 4, 15, 0.28);
  }

  html[data-theme="dark"] .bucket-coluna.bucket-concluidas {
    background: #10231F;
  }

  html[data-theme="dark"] .bucket-contagem,
  html[data-theme="dark"] .bucket-adicionar {
    background: rgba(255, 255, 255, 0.06);
    color: var(--theme-soft);
  }

  html[data-theme="dark"] .bucket-adicionar {
    border-color: #46536A;
    color: #7CC8FA;
  }

  html[data-theme="dark"] .atividade-card {
    border-color: var(--atividade-borda);
    border-left-color: #718096;
    box-shadow: 0 3px 10px rgba(0, 4, 15, 0.30);
  }

  html[data-theme="dark"] .atividade-etiqueta,
  html[data-theme="dark"] .etiqueta-sugestao,
  html[data-theme="dark"] .assignee-chip,
  html[data-theme="dark"] .assignee-option-you {
    border-color: #36506B;
    background: rgba(124, 200, 250, 0.13);
    color: #9DD8FA;
  }

  html[data-theme="dark"] .atividade-prazo {
    background: #222B3E;
  }

  html[data-theme="dark"] .atividade-prazo.atrasada {
    background: rgba(255, 116, 106, 0.14);
    color: #FF9A92;
  }

  html[data-theme="dark"] .atividade-prazo.hoje {
    background: rgba(255, 190, 92, 0.14);
    color: #FFD28A;
  }

  html[data-theme="dark"] .atividade-avatar {
    border-color: var(--atividade-cartao);
  }

  html[data-theme="dark"] .painel-rodape {
    border-color: var(--atividade-borda);
    background: #101728;
  }

  html[data-theme="dark"] .botao-sucesso {
    background: rgba(74, 210, 123, 0.15);
    color: #83E5A7;
  }

  html[data-theme="dark"] .lista-historico li {
    border-color: var(--atividade-borda);
  }

  html[data-theme="dark"] .assignee-picker-field {
    border-color: var(--atividade-borda);
    background: var(--theme-surface);
  }

  html[data-theme="dark"] .assignee-picker-field:hover {
    border-color: #3A4A68;
  }

  html[data-theme="dark"] .assignee-picker-field:focus-within {
    border-color: var(--azul-claro);
    box-shadow: 0 0 0 3px rgba(53, 144, 207, 0.22);
  }

  html[data-theme="dark"] .campo .assignee-picker-search {
    background: transparent;
    color: var(--theme-text);
  }

  html[data-theme="dark"] .assignee-picker-search::placeholder {
    color: #6F7C92;
  }

  html[data-theme="dark"] .assignee-avatar {
    background: #2A5C8F;
  }

  html[data-theme="dark"] .assignee-chip {
    color: #D7ECFB;
  }

  html[data-theme="dark"] .assignee-chip-remove {
    color: var(--theme-soft);
  }

  html[data-theme="dark"] .assignee-chip-remove:hover {
    background: rgba(255, 255, 255, 0.10);
    color: #FFFFFF;
  }

  html[data-theme="dark"] .assignee-picker-options {
    border-color: var(--atividade-borda);
    background: var(--theme-elevated);
    box-shadow: 0 18px 40px rgba(0, 4, 15, 0.55);
  }

  html[data-theme="dark"] .assignee-option {
    color: var(--theme-text);
  }

  html[data-theme="dark"] .assignee-option[aria-selected="true"] {
    background: rgba(124, 200, 250, 0.08);
  }

  html[data-theme="dark"] .assignee-option.active {
    background: #26324C;
  }

  html[data-theme="dark"] .assignee-option-email,
  html[data-theme="dark"] .assignee-option-empty,
  html[data-theme="dark"] .responsaveis-travado small {
    color: var(--theme-soft);
  }

  html[data-theme="dark"] .assignee-option-check {
    border-color: #4A5872;
  }

  html[data-theme="dark"] .assignee-option[aria-selected="true"] .assignee-option-check {
    border-color: var(--azul-claro);
    background: var(--azul-claro);
    color: #0B1020;
  }

  html[data-theme="dark"] .responsaveis-travado {
    color: var(--theme-text);
  }
}

@media (max-width: 600px) {
  .theme-toggle__label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .theme-toggle {
    width: 36px;
    padding: 6px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-toggle {
    transition: none;
  }
}

@media print {
  .theme-toggle {
    display: none !important;
  }
}

/* Planos, alternância de visualização e lista da Gestão de Atividades.
   Mantém o mesmo escalonamento de superfícies já usado pelo quadro. */
@media screen {
  html[data-theme="dark"] .atividades-planos,
  html[data-theme="dark"] .lista-tabela {
    border-color: var(--atividade-borda);
    background: #11192A;
    box-shadow: 0 8px 24px rgba(0, 4, 15, 0.28);
  }

  html[data-theme="dark"] .planos-titulo,
  html[data-theme="dark"] .planos-vazio,
  html[data-theme="dark"] .lista-bucket,
  html[data-theme="dark"] .lista-sem-prazo,
  html[data-theme="dark"] .lista-tabela th {
    color: var(--theme-soft);
  }

  html[data-theme="dark"] .planos-link,
  html[data-theme="dark"] .visualizacao-btn {
    color: var(--theme-soft);
  }

  html[data-theme="dark"] .planos-link:hover,
  html[data-theme="dark"] .visualizacao-btn:hover,
  html[data-theme="dark"] .lista-linha:hover {
    background: #202B43;
    color: var(--theme-heading);
  }

  html[data-theme="dark"] .planos-link.ativo,
  html[data-theme="dark"] .visualizacao-btn.ativo {
    background: #263653;
    color: #FFFFFF;
    box-shadow: 0 5px 15px rgba(0, 4, 15, 0.28);
  }

  html[data-theme="dark"] .planos-contagem {
    background: rgba(255, 255, 255, 0.12);
  }

  html[data-theme="dark"] .planos-editar {
    border-color: transparent;
    background: transparent;
  }

  html[data-theme="dark"] .planos-novo {
    border-color: var(--atividade-borda);
    color: #7CC8FA;
  }

  html[data-theme="dark"] .planos-novo:hover {
    background: #202B43;
  }

  html[data-theme="dark"] .visualizacao-grupo {
    border-color: var(--theme-border);
    background: var(--theme-control);
  }

  html[data-theme="dark"] .lista-tabela th,
  html[data-theme="dark"] .lista-tabela td {
    border-bottom-color: var(--atividade-borda);
  }

  html[data-theme="dark"] .lista-nome,
  html[data-theme="dark"] .lista-secao-titulo {
    color: var(--theme-heading);
  }
}

/* CRM: usa as mesmas camadas escuras da Gestão de Atividades e os seletores
   da SPA v2 carregada por crm.html. */
@media screen {
  html[data-theme="dark"] body.pagina-crm {
    --crm-accent: #4FD3A8;
    --crm-accent-soft: rgba(79, 211, 168, 0.12);
    --crm-bg: #0B1020;
    --crm-surface: #171F32;
    --crm-border: #2B3852;
    --crm-muted: #A9B5C9;
    --crm-ink: #E7EDF7;
    background: var(--crm-bg);
    color: var(--theme-text);
  }

  html[data-theme="dark"] .crm-hero {
    border-bottom-color: var(--azul-claro);
    background: #11182A;
  }

  html[data-theme="dark"] .crm-hero h1,
  html[data-theme="dark"] .crm-section-heading h2,
  html[data-theme="dark"] .crm-metric strong,
  html[data-theme="dark"] .crm-panel h3,
  html[data-theme="dark"] .crm-create > summary,
  html[data-theme="dark"] .crm-table strong,
  html[data-theme="dark"] .crm-stage-head,
  html[data-theme="dark"] .crm-deal-card h4,
  html[data-theme="dark"] .crm-agenda-day h3,
  html[data-theme="dark"] .crm-agenda-item strong,
  html[data-theme="dark"] .crm-agenda-deal strong,
  html[data-theme="dark"] .crm-settings-pipeline h3,
  html[data-theme="dark"] .crm-deal-dialog h2,
  html[data-theme="dark"] .crm-deal-dialog h3 {
    color: var(--theme-heading);
  }

  html[data-theme="dark"] .crm-tabs,
  html[data-theme="dark"] .crm-metric,
  html[data-theme="dark"] .crm-panel,
  html[data-theme="dark"] .crm-create,
  html[data-theme="dark"] .crm-table-wrap,
  html[data-theme="dark"] .crm-agenda-filters,
  html[data-theme="dark"] .crm-agenda-day,
  html[data-theme="dark"] .crm-settings-pipeline,
  html[data-theme="dark"] .crm-deal-dialog {
    border-color: var(--crm-border);
    background: var(--crm-surface);
    box-shadow: 0 8px 24px rgba(0, 4, 15, 0.28);
  }

  html[data-theme="dark"] .crm-tabs button:hover,
  html[data-theme="dark"] .crm-table tbody tr:hover {
    background: #202B43;
    color: var(--theme-heading);
  }

  html[data-theme="dark"] .crm-tabs button[aria-current="page"] {
    background: #263653;
    color: #FFFFFF;
    box-shadow: 0 5px 15px rgba(0, 4, 15, 0.28);
  }

  html[data-theme="dark"] .crm-feedback {
    border-color: rgba(79, 211, 168, 0.3);
    background: rgba(79, 211, 168, 0.10);
    color: #8BE5C8;
  }

  html[data-theme="dark"] .crm-feedback[data-state="error"] {
    border-color: rgba(255, 116, 106, 0.36);
    background: rgba(255, 116, 106, 0.08);
    color: #FF9A92;
  }

  html[data-theme="dark"] .crm-inline-field select,
  html[data-theme="dark"] .crm-toolbar input,
  html[data-theme="dark"] .crm-agenda-filters select,
  html[data-theme="dark"] .crm-activity-toolbar select,
  html[data-theme="dark"] .crm-form-grid input,
  html[data-theme="dark"] .crm-form-grid select,
  html[data-theme="dark"] .crm-form-grid textarea,
  html[data-theme="dark"] .crm-mini-button {
    border-color: var(--crm-border);
    background: #11192A;
    color: var(--theme-text);
  }

  html[data-theme="dark"] .crm-table th {
    background: #11182A;
    color: var(--crm-muted);
  }

  html[data-theme="dark"] .crm-agenda-day > header,
  html[data-theme="dark"] .crm-note-history li {
    border-color: var(--crm-border);
    background: #11182A;
  }

  html[data-theme="dark"] .crm-agenda-item,
  html[data-theme="dark"] .crm-agenda-deal,
  html[data-theme="dark"] .crm-participant-list li,
  html[data-theme="dark"] .crm-activity-action,
  html[data-theme="dark"] .crm-timeline-list {
    border-color: var(--crm-border);
  }

  html[data-theme="dark"] .crm-agenda-item:hover,
  html[data-theme="dark"] .crm-agenda-deal:hover {
    background: var(--crm-accent-soft);
  }

  html[data-theme="dark"] .crm-agenda-alert,
  html[data-theme="dark"] .crm-danger-zone {
    border-color: rgba(255, 116, 106, 0.36);
    background: rgba(255, 116, 106, 0.08);
  }

  html[data-theme="dark"] .crm-danger-zone h3 {
    color: #FF9C93;
  }

  html[data-theme="dark"] .crm-table td,
  html[data-theme="dark"] .crm-value-row,
  html[data-theme="dark"] .crm-upcoming-row,
  html[data-theme="dark"] .crm-deal-dialog-header {
    border-color: var(--crm-border);
  }

  html[data-theme="dark"] .crm-stage {
    border-color: var(--crm-border);
    background: #11192A;
    box-shadow: 0 8px 24px rgba(0, 4, 15, 0.28);
  }

  html[data-theme="dark"] .crm-stage-count {
    background: rgba(255, 255, 255, 0.10);
    color: var(--crm-muted);
  }

  html[data-theme="dark"] .crm-deal-card {
    border-color: var(--crm-border);
    background: var(--crm-surface);
    box-shadow: 0 3px 10px rgba(0, 4, 15, 0.30);
  }

  html[data-theme="dark"] .crm-badge {
    background: #263044;
    color: #C6D0E0;
  }

  html[data-theme="dark"] .crm-badge[data-status="won"],
  html[data-theme="dark"] .crm-badge[data-status="done"],
  html[data-theme="dark"] .crm-badge[data-status="sent"] {
    background: rgba(74, 210, 123, 0.14);
    color: #83E5A7;
  }

  html[data-theme="dark"] .crm-badge[data-status="lost"],
  html[data-theme="dark"] .crm-badge[data-status="failed"] {
    background: rgba(255, 116, 106, 0.14);
    color: #FF9A92;
  }

  html[data-theme="dark"] .crm-badge[data-status="missing_destination"],
  html[data-theme="dark"] .crm-badge[data-status="skipped_opt_out"],
  html[data-theme="dark"] .crm-notice,
  html[data-theme="dark"] .crm-outcome-banner {
    border-color: rgba(255, 190, 92, 0.32);
    background: rgba(255, 190, 92, 0.10);
    color: #FFD28A;
  }

  html[data-theme="dark"] .crm-funnel-bar-track {
    background: rgba(255, 255, 255, 0.08);
  }

  html[data-theme="dark"] .crm-deal-detail-grid {
    background: var(--crm-border);
  }

  html[data-theme="dark"] .crm-deal-detail-grid div,
  html[data-theme="dark"] .crm-deal-related-list li,
  html[data-theme="dark"] .crm-deal-history li {
    border-color: var(--crm-border);
    background: #11192A;
  }

  html[data-theme="dark"] .crm-deal-detail-grid dd {
    color: var(--theme-heading);
  }

  html[data-theme="dark"] .atividade-mover-btn {
    border-color: var(--atividade-borda);
    background: var(--atividade-cartao);
    color: #7CC8FA;
  }
}

/* Compliance: o layout reaproveita as variáveis --interna-* de
   body.pagina-interna, então aqui ficam somente as cores fixas que a página usa
   para estado (erro, confirmação, selo neutro) e que não sobrevivem no escuro. */
@media screen {
  html[data-theme="dark"] body.pagina-compliance {
    background: var(--interna-fundo);
    color: var(--interna-texto);
  }

  html[data-theme="dark"] .compliance-cartao-titulos h3,
  html[data-theme="dark"] .compliance-painel-cabecalho h3,
  html[data-theme="dark"] .compliance-aderencia-grupo h4,
  html[data-theme="dark"] .compliance-historico-rotulo,
  html[data-theme="dark"] .compliance-pessoa-nome,
  html[data-theme="dark"] .compliance-meta dd {
    color: var(--theme-heading);
  }

  html[data-theme="dark"] .compliance-botao-primario {
    color: #071018;
  }

  html[data-theme="dark"] .compliance-botao-primario:hover {
    background: #7FE0DF;
  }

  html[data-theme="dark"] .compliance-botao-perigo {
    border-color: rgba(255, 138, 138, 0.45);
    color: #FF9E9E;
  }

  html[data-theme="dark"] .compliance-botao-perigo:hover {
    border-color: #FF9E9E;
  }

  /* The Risk Reference row actions. `.botao-texto` and `.botao-perigo` of
     `atividades.css` keep their light colors, about 1.8:1 and 2.6:1 on
     `--fundo`. The danger rule comes last: both rules weigh the same and
     Retire carries both classes. */
  html[data-theme="dark"] .pagina-risk-reference .botao-texto {
    color: var(--theme-action);
  }

  html[data-theme="dark"] .pagina-risk-reference .botao-perigo {
    color: var(--vermelho);
  }

  html[data-theme="dark"] .compliance-aviso-erro {
    border-color: rgba(255, 138, 138, 0.45);
    background: rgba(255, 138, 138, 0.10);
    color: #FF9E9E;
  }

  html[data-theme="dark"] .compliance-aviso-ok {
    border-color: rgba(126, 226, 168, 0.45);
    background: rgba(126, 226, 168, 0.10);
    color: #8FE7B6;
  }

  html[data-theme="dark"] .compliance-selo-pendente,
  html[data-theme="dark"] .compliance-selo-arquivada,
  html[data-theme="dark"] .compliance-selo-open-ended {
    border-color: var(--interna-borda);
    color: var(--interna-texto-suave);
  }
}

/* Políticas: o botão da barra superior e o modal de aceite existem em todas as
   páginas autenticadas, então o tema escuro deles não pode depender de nenhuma
   classe de página. */
@media screen {
  html[data-theme="dark"] .barra-politicas {
    border-color: var(--theme-border);
    background: var(--theme-surface);
    color: var(--theme-heading);
  }

  html[data-theme="dark"] .barra-politicas:hover {
    border-color: #5FD4D3;
    background: rgba(95, 212, 211, 0.12);
    color: #7FE0DF;
  }

  html[data-theme="dark"] .barra-politicas.com-pendencia {
    border-color: rgba(255, 190, 92, 0.5);
    background: rgba(255, 190, 92, 0.12);
    color: #FFD28A;
  }

  html[data-theme="dark"] .barra-politicas-contador {
    background: #E0A106;
    color: #201400;
  }

  html[data-theme="dark"] .politicas-modal {
    border-color: var(--theme-border);
    background: #171F32;
    color: var(--theme-text);
  }

  html[data-theme="dark"] .politicas-modal::backdrop {
    background: rgba(4, 8, 18, 0.7);
  }

  html[data-theme="dark"] .politicas-modal-cabecalho {
    border-bottom-color: var(--theme-border);
  }

  html[data-theme="dark"] .politicas-modal-cabecalho h2,
  html[data-theme="dark"] .politicas-cartao-cabecalho h3,
  html[data-theme="dark"] .politicas-resumo {
    color: var(--theme-heading);
  }

  html[data-theme="dark"] .politicas-modal-sobretitulo,
  html[data-theme="dark"] .politicas-selo,
  html[data-theme="dark"] .politicas-arquivo-link {
    color: #5FD4D3;
  }

  html[data-theme="dark"] .politicas-selo {
    border-color: #5FD4D3;
  }

  html[data-theme="dark"] .politicas-modal-fechar,
  html[data-theme="dark"] .politicas-cartao-subtitulo,
  html[data-theme="dark"] .politicas-cartao-descricao,
  html[data-theme="dark"] .politicas-arquivo-ausente,
  html[data-theme="dark"] .politicas-vazio {
    color: var(--theme-soft);
  }

  html[data-theme="dark"] .politicas-modal-fechar:hover {
    border-color: var(--theme-border);
    color: var(--theme-heading);
  }

  html[data-theme="dark"] .politicas-cartao,
  html[data-theme="dark"] .politicas-modal-aviso,
  html[data-theme="dark"] .politicas-vazio {
    border-color: var(--theme-border);
  }

  html[data-theme="dark"] .politicas-cartao {
    background: #11192A;
  }

  html[data-theme="dark"] .politicas-resumo-pendente {
    border-color: rgba(255, 190, 92, 0.5);
    background: rgba(255, 190, 92, 0.10);
    color: #FFD28A;
  }

  html[data-theme="dark"] .politicas-aviso-erro {
    border-color: rgba(255, 138, 138, 0.45);
    color: #FF9E9E;
  }

  html[data-theme="dark"] .politicas-aviso-ok,
  html[data-theme="dark"] .politicas-aceito {
    color: #8FE7B6;
  }

  html[data-theme="dark"] .politicas-botao {
    border-color: #5FD4D3;
    background: #5FD4D3;
    color: #071018;
  }

  html[data-theme="dark"] .politicas-botao:hover:not(:disabled) {
    background: #7FE0DF;
  }

  html[data-theme="dark"] .politicas-botao:disabled {
    border-color: var(--theme-border);
    background: var(--theme-surface);
    color: var(--theme-soft);
  }
}

/* Declaração anual no modal de Compliance: mesma regra do bloco acima — o
   widget existe em todas as páginas, então o tema escuro dele não pode
   depender de classe de página. */
@media screen {
  html[data-theme="dark"] .politicas-abas {
    border-bottom-color: var(--theme-border);
  }

  html[data-theme="dark"] .politicas-aba {
    color: var(--theme-soft);
  }

  html[data-theme="dark"] .politicas-aba:hover {
    color: var(--theme-heading);
  }

  html[data-theme="dark"] .politicas-aba.ativo {
    border-bottom-color: #5FD4D3;
    color: #7FE0DF;
  }

  html[data-theme="dark"] .politicas-aba-marca {
    background: #E0A106;
    color: #201400;
  }

  html[data-theme="dark"] .politicas-campo-linha,
  html[data-theme="dark"] .politicas-campo-curto,
  html[data-theme="dark"] .politicas-botao-secundario {
    border-color: var(--theme-border);
    background: #11192A;
    color: var(--theme-text);
  }

  html[data-theme="dark"] .politicas-botao-secundario:hover {
    border-color: #5FD4D3;
  }

  html[data-theme="dark"] .politicas-declaracao-opcao {
    border-color: var(--theme-border);
  }

  html[data-theme="dark"] .politicas-declaracao-opcao:has(input:checked) {
    border-color: #5FD4D3;
    background: rgba(95, 212, 211, 0.10);
  }

  html[data-theme="dark"] .politicas-tabela-ativos th,
  html[data-theme="dark"] .politicas-tabela-ativos td {
    border-color: var(--theme-border);
  }

  html[data-theme="dark"] .politicas-tabela-ativos thead th {
    background: #11192A;
    color: var(--theme-heading);
  }

  html[data-theme="dark"] .politicas-tabela-ativos input {
    color: var(--theme-text);
  }

  html[data-theme="dark"] .politicas-tabela-ativos input:focus {
    border-color: #5FD4D3;
  }
}
