/* =====================================================================
   MODO CONFORTO VISUAL — TEMA COMPARTILHADO
   Referência visual: dashboard principal (Index.html).

   Este arquivo é carregado por TemaConforto.js depois do CSS de cada
   página. Os seletores são intencionalmente específicos: isso evita que
   partes internas de cards recebam fundos diferentes e preserva badges,
   estados e cores funcionais de cada módulo.
   ===================================================================== */

html.tema-conforto {
    --tema-fundo: #111827;
    --tema-fundo-profundo: #0f172a;
    --tema-superficie: #1e293b;
    --tema-superficie-elevada: #243147;
    --tema-superficie-hover: #2a3950;
    --tema-campo: #172033;
    --tema-borda: #334155;
    --tema-borda-suave: rgba(148, 163, 184, .20);
    --tema-texto: #f1f5f9;
    --tema-texto-secundario: #cbd5e1;
    --tema-texto-suave: #94a3b8;
    --tema-destaque: #ff7a00;
    --tema-sombra: 0 8px 24px rgba(0, 0, 0, .22);
    --tema-sombra-hover: 0 12px 30px rgba(0, 0, 0, .30);
}

/* Estrutura geral das páginas e das abas. */
html.tema-conforto body,
html.tema-conforto main,
html.tema-conforto .layout-controle,
html.tema-conforto .conteudo-aba,
html.tema-conforto .layout-dashboard,
html.tema-conforto .dashboard-content,
html.tema-conforto .main-content,
html.tema-conforto .page-content {
    color: var(--tema-texto);
    background-color: var(--tema-fundo);
}

html.tema-conforto .layout-controle {
    border-color: var(--tema-borda);
}

/* ---------------------------------------------------------------------
   SUPERFÍCIES COMPARTILHADAS
   --------------------------------------------------------------------- */

html.tema-conforto .status-box,
html.tema-conforto .grafico,
html.tema-conforto .lista-os-card,
html.tema-conforto .lista-os-vazio,
html.tema-conforto .usuarios-card,
html.tema-conforto .usuarios-lista-vazia,
html.tema-conforto .crm-card,
html.tema-conforto .crm-card-vazio,
html.tema-conforto .grafico-crm-card,
html.tema-conforto .card-relatorio,
html.tema-conforto .ranking-veiculos-card,
html.tema-conforto .ranking-veiculo-item,
html.tema-conforto .ranking-vazio,
html.tema-conforto .cv-notif-card,
html.tema-conforto .agenda-status-card,
html.tema-conforto .log-item,
html.tema-conforto .dashboard-card,
html.tema-conforto .dashboard-painel,
html.tema-conforto .nf-card-indicador,
html.tema-conforto .nf-painel,
html.tema-conforto .nfse-resumo-card,
html.tema-conforto .nf-painel,
html.tema-conforto .info-item,
html.tema-conforto .card-custo {
    color: var(--tema-texto);
    background: var(--tema-superficie);
    border-color: var(--tema-borda);
    box-shadow: var(--tema-sombra);
}

html.tema-conforto .lista-os-card:hover,
html.tema-conforto .usuarios-card:hover,
html.tema-conforto .crm-card:hover,
html.tema-conforto .card-relatorio:hover,
html.tema-conforto .ranking-veiculo-item:hover,
html.tema-conforto .dashboard-card:hover {
    background: var(--tema-superficie-elevada);
    border-color: #475569;
    box-shadow: var(--tema-sombra-hover);
}

/* ---------------------------------------------------------------------
   TIPOGRAFIA E HIERARQUIA
   --------------------------------------------------------------------- */

html.tema-conforto h1,
html.tema-conforto h2,
html.tema-conforto h3,
html.tema-conforto h4,
html.tema-conforto h5,
html.tema-conforto .lista-os-card-id,
html.tema-conforto .lista-os-card-nome,
html.tema-conforto .lista-os-card-servico,
html.tema-conforto .lista-os-card-detalhes strong,
html.tema-conforto .usuarios-card strong,
html.tema-conforto .dashboard-card__valor,
html.tema-conforto .dashboard-painel__titulo,
html.tema-conforto .nf-card-indicador__valor,
html.tema-conforto .nf-painel__titulo,
html.tema-conforto .ranking-total {
    color: var(--tema-texto);
}

html.tema-conforto p,
html.tema-conforto small,
html.tema-conforto .lista-os-card-detalhes,
html.tema-conforto .dashboard-card__label,
html.tema-conforto .dashboard-card__apoio,
html.tema-conforto .dashboard-painel__legenda,
html.tema-conforto .nf-card-indicador__label,
html.tema-conforto .nf-card-indicador__apoio,
html.tema-conforto .nf-painel__legenda {
    color: var(--tema-texto-suave);
}

/* ---------------------------------------------------------------------
   FORMULÁRIOS, PESQUISAS E FILTROS
   --------------------------------------------------------------------- */

html.tema-conforto input,
html.tema-conforto select,
html.tema-conforto textarea,
html.tema-conforto .form-control,
html.tema-conforto .select-filtro,
html.tema-conforto .select-filtro-simple,
html.tema-conforto .usuarios-input-filtro,
html.tema-conforto .filtros-relatorio input,
html.tema-conforto .filtros-relatorio select,
html.tema-conforto .select2-container--default .select2-selection--single,
html.tema-conforto .select2-dropdown,
html.tema-conforto .select2-search__field {
    color: var(--tema-texto);
    background: var(--tema-campo);
    border-color: #475569;
}

html.tema-conforto input::placeholder,
html.tema-conforto textarea::placeholder,
html.tema-conforto .select2-selection__placeholder {
    color: #8291a7;
}

html.tema-conforto input:focus,
html.tema-conforto select:focus,
html.tema-conforto textarea:focus,
html.tema-conforto .select2-container--focus .select2-selection--single {
    border-color: #fb923c;
    box-shadow: 0 0 0 3px rgba(251, 146, 60, .14);
    outline: none;
}

html.tema-conforto label,
html.tema-conforto .label-filtro {
    color: var(--tema-texto-secundario);
}

/* Popovers e caixas de sugestão. */
html.tema-conforto .popover,
html.tema-conforto .popover-vaga-livre,
html.tema-conforto .popover-periodo,
html.tema-conforto .usuarios-popover-filtro,
html.tema-conforto [id^="popoverPeriodo"],
html.tema-conforto #sugestoes,
html.tema-conforto #sugestoes_usuario,
html.tema-conforto [id^="sugestoes_"] {
    color: var(--tema-texto);
    background: var(--tema-superficie);
    border-color: var(--tema-borda);
    box-shadow: 0 16px 36px rgba(0, 0, 0, .34);
}

html.tema-conforto #sugestoes li,
html.tema-conforto #sugestoes_usuario li,
html.tema-conforto [id^="sugestoes_"] li,
html.tema-conforto .select2-results__option {
    color: var(--tema-texto-secundario);
    border-color: var(--tema-borda);
}

html.tema-conforto #sugestoes li:hover,
html.tema-conforto #sugestoes_usuario li:hover,
html.tema-conforto [id^="sugestoes_"] li:hover,
html.tema-conforto .select2-results__option--highlighted {
    color: var(--tema-texto);
    background: var(--tema-superficie-hover);
}

/* ---------------------------------------------------------------------
   TABELAS E LISTAGENS
   --------------------------------------------------------------------- */

html.tema-conforto .lista-table,
html.tema-conforto .lista-users,
html.tema-conforto .tabela-fechar-agenda,
html.tema-conforto .tabela-fechamento-personalizado,
html.tema-conforto .lista-agenda,
html.tema-conforto .tabela-reserva,
html.tema-conforto .tabela-vagalivre,
html.tema-conforto .dashboard-tabela-container,
html.tema-conforto .nfse-tabela-container {
    color: var(--tema-texto);
    background: var(--tema-superficie);
    border-color: var(--tema-borda);
    box-shadow: var(--tema-sombra);
}

html.tema-conforto table {
    color: var(--tema-texto-secundario);
    background: var(--tema-superficie);
    border-color: var(--tema-borda);
}

html.tema-conforto table th,
html.tema-conforto .dashboard-tabela th,
html.tema-conforto .nf-tabela th,
html.tema-conforto .nfse-tabela thead {
    color: #aebbd0;
    background: var(--tema-superficie-elevada);
    border-color: var(--tema-borda);
}

html.tema-conforto table td,
html.tema-conforto .dashboard-tabela td,
html.tema-conforto .nf-tabela td {
    color: var(--tema-texto-secundario);
    background: var(--tema-superficie);
    border-color: var(--tema-borda);
}

html.tema-conforto table tbody tr:hover td,
html.tema-conforto .dashboard-tabela tbody tr:hover td,
html.tema-conforto .nf-tabela tbody tr:hover td {
    background: var(--tema-superficie-hover);
}

/* ---------------------------------------------------------------------
   AGENDA — preserva um único fundo por cartão
   --------------------------------------------------------------------- */

html.tema-conforto .lista-os-card-esquerda,
html.tema-conforto .lista-os-card-centro,
html.tema-conforto .lista-os-card-direita,
html.tema-conforto .lista-os-card-status,
html.tema-conforto .lista-os-card-detalhes {
    background: transparent;
    box-shadow: none;
}

html.tema-conforto .lista-os-card-id {
    color: #38bdf8;
}

html.tema-conforto .lista-os-card {
    border-left: 3px solid rgba(255, 122, 0, .72);
}

/* ---------------------------------------------------------------------
   GRÁFICOS E DASHBOARDS
   --------------------------------------------------------------------- */

html.tema-conforto .dashboard-graficos,
html.tema-conforto .nf-graficos-grid {
    background: transparent;
}

html.tema-conforto .dashboard-painel,
html.tema-conforto .nf-painel,
html.tema-conforto .grafico-crm-card {
    background: var(--tema-superficie);
    border: 1px solid var(--tema-borda);
    border-radius: 14px;
}

html.tema-conforto .dashboard-chart,
html.tema-conforto .nf-chart-box {
    background: transparent;
}

/* ---------------------------------------------------------------------
   MODAIS
   --------------------------------------------------------------------- */

html.tema-conforto .modal-content,
html.tema-conforto .modal__dialog,
html.tema-conforto .modal-corpo,
html.tema-conforto .modal-conteudo,
html.tema-conforto .modal-cards .modal-conteudo,
html.tema-conforto .modal-universal .modal-conteudo,
html.tema-conforto .modal-conteudo-grande {
    color: var(--tema-texto);
    background: var(--tema-superficie);
    border-color: var(--tema-borda);
    box-shadow: 0 24px 64px rgba(0, 0, 0, .46);
}

html.tema-conforto .modal-topo,
html.tema-conforto .modal-rodape,
html.tema-conforto .modal-permissoes-topo,
html.tema-conforto .modal-permissoes-rodape,
html.tema-conforto .nfse-modal-rodape {
    background: var(--tema-superficie);
    border-color: var(--tema-borda);
}

html.tema-conforto .modal-fechar,
html.tema-conforto .close-X {
    color: var(--tema-texto-secundario);
    background: var(--tema-superficie-elevada);
    border-color: var(--tema-borda);
}

html.tema-conforto .modal-fechar:hover,
html.tema-conforto .close-X:hover {
    color: var(--tema-texto);
    background: var(--tema-superficie-hover);
}

/* ---------------------------------------------------------------------
   BOTÕES SECUNDÁRIOS
   Os botões laranja e badges de status mantêm suas cores originais.
   --------------------------------------------------------------------- */

html.tema-conforto .btn-atualizar,
html.tema-conforto .usuarios-botao-adicionar,
html.tema-conforto .usuarios-btn-filtro,
html.tema-conforto .crm-btn-atualizar,
html.tema-conforto .btn-filtro,
html.tema-conforto .btn-acoes,
html.tema-conforto .paginacao-div .btn-pag,
html.tema-conforto .usuarios-paginacao .btn-pag {
    color: var(--tema-texto);
    background: var(--tema-superficie-elevada);
    border-color: #475569;
}

html.tema-conforto .btn-atualizar:hover,
html.tema-conforto .usuarios-botao-adicionar:hover,
html.tema-conforto .usuarios-btn-filtro:hover,
html.tema-conforto .crm-btn-atualizar:hover,
html.tema-conforto .btn-filtro:hover,
html.tema-conforto .btn-acoes:hover {
    color: #ffffff;
    background: var(--tema-superficie-hover);
    border-color: #64748b;
}

html.tema-conforto .menu-acoes {
    color: var(--tema-texto-secundario);
    background: var(--tema-superficie);
    border-color: var(--tema-borda);
    box-shadow: 0 14px 30px rgba(0, 0, 0, .34);
}

html.tema-conforto .menu-acoes .item:hover {
    color: var(--tema-texto);
    background: var(--tema-superficie-hover);
}

/* Transição curta e confortável, sem animação excessiva. */
html.tema-conforto .lista-os-card,
html.tema-conforto .usuarios-card,
html.tema-conforto .crm-card,
html.tema-conforto .dashboard-card,
html.tema-conforto .dashboard-painel,
html.tema-conforto input,
html.tema-conforto select,
html.tema-conforto textarea {
    transition:
        color .20s ease,
        background-color .20s ease,
        border-color .20s ease,
        box-shadow .20s ease;
}

@media (prefers-reduced-motion: reduce) {
    html.tema-conforto *,
    html.tema-conforto *::before,
    html.tema-conforto *::after {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
    }
}

/* =====================================================================
   COBERTURA POR MÓDULO
   Regras abaixo neutralizam estilos claros com alta especificidade ou
   !important presentes nos arquivos próprios de cada página.
   ===================================================================== */

/* --- Dashboard, menu e perfil --------------------------------------- */
html.tema-conforto .dashboard-sidebar__submenu,
html.tema-conforto body.sidebar-retraida .dashboard-sidebar__submenu {
    color: var(--tema-texto-secundario) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
    box-shadow: 0 20px 48px rgba(0, 0, 0, .38) !important;
}

html.tema-conforto .dashboard-sidebar__submenu a {
    color: var(--tema-texto-secundario);
}

html.tema-conforto .dashboard-sidebar__submenu a:hover,
html.tema-conforto .dashboard-sidebar__submenu a.ativo {
    color: var(--tema-texto);
    background: var(--tema-superficie-hover);
}

html.tema-conforto .foto-log-usuario,
html.tema-conforto .perfil-miniatura {
    border-color: #475569 !important;
    background: var(--tema-superficie-elevada) !important;
}

/* --- Cadastro, pedidos e relatórios -------------------------------- */
html.tema-conforto .modal-cadastro .modal-corpo,
html.tema-conforto .modal-cadastro .tabela-modal-cadastro,
html.tema-conforto .lista-table,
html.tema-conforto .modal-content,
html.tema-conforto .modal__dialog,
html.tema-conforto .pesquisar input,
html.tema-conforto .pesquisar-2 input,
html.tema-conforto .pesquisar-vaga-livre input,
html.tema-conforto .pesquisar-relatorios input {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto .pesquisar input,
html.tema-conforto .pesquisar-2 input,
html.tema-conforto .pesquisar-vaga-livre input,
html.tema-conforto .pesquisar-relatorios input {
    background: var(--tema-campo) !important;
}

html.tema-conforto .modal-cadastro .tabela-modal-cadastro tr:hover td,
html.tema-conforto .lista-table tr:hover td {
    background: var(--tema-superficie-hover) !important;
}

html.tema-conforto .log-item {
    border-left-color: var(--tema-destaque);
}

/* --- Gestão de usuários e permissões ------------------------------- */
html.tema-conforto .usuarios-pesquisa-wrapper input,
html.tema-conforto .usuarios-popover-filtro,
html.tema-conforto .modal-corpo-permissoes,
html.tema-conforto .modal-permissoes-topo,
html.tema-conforto .modal-permissoes-rodape,
html.tema-conforto .permissoes-tabela-wrap,
html.tema-conforto .lista-users {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto .lista-users td:first-child,
html.tema-conforto .lista-users td.pagina-cell,
html.tema-conforto .lista-users th:first-child {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-elevada) !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto .lista-users tbody tr.permissoes-grupo td {
    color: var(--tema-texto) !important;
    background: #27364b !important;
    border-top-color: var(--tema-fundo) !important;
}

html.tema-conforto .label-permissoes {
    color: var(--tema-texto-secundario) !important;
    background: var(--tema-campo) !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto .label-permissoes:hover {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-hover) !important;
}

html.tema-conforto .modal-permissoes .butao-salvar-alteracoes {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-elevada) !important;
    border-color: #475569 !important;
    box-shadow: none !important;
}

html.tema-conforto .modal-permissoes .butao-salvar-alteracoes:hover {
    color: #fff !important;
    background: var(--tema-superficie-hover) !important;
}

/* --- Agenda, cidades e vagas --------------------------------------- */
html.tema-conforto .Cabecalho,
html.tema-conforto .rodape,
html.tema-conforto .tabela-fechar-agenda,
html.tema-conforto .tabela-fechamento-personalizado,
html.tema-conforto .lista-agenda,
html.tema-conforto .tabela-reserva,
html.tema-conforto .tabela-vagalivre,
html.tema-conforto .Modaldia .tabela-modal-dia,
html.tema-conforto .bairro-titulo .lista {
    color: var(--tema-texto);
    background: var(--tema-superficie);
    border-color: var(--tema-borda);
}

html.tema-conforto .dia:not(.feriado):not(.hoje) {
    color: var(--tema-texto-secundario);
    background: var(--tema-superficie);
    border-color: var(--tema-borda);
}

html.tema-conforto .dia:not(.feriado):not(.hoje):hover {
    color: var(--tema-texto);
    background: var(--tema-superficie-hover);
}

html.tema-conforto .dia .data-dia {
    color: var(--tema-texto-suave) !important;
}

html.tema-conforto .dia.hoje .data-dia,
html.tema-conforto .dia.feriado .data-dia {
    color: #ffffff !important;
}

html.tema-conforto .modal-agendamento .modal-corpo,
html.tema-conforto .modal-reservar .modal-corpo {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto .modal-agendamento .campo-float-agendamento input,
html.tema-conforto .modal-agendamento .campo-float-agendamento textarea,
html.tema-conforto .modal-reservar .campo-float-agendamento input,
html.tema-conforto .modal-reservar .campo-float-agendamento textarea {
    color: var(--tema-texto) !important;
    background: var(--tema-campo) !important;
    border-color: #475569 !important;
}

html.tema-conforto .modal-agendamento .campo-float-agendamento label,
html.tema-conforto .modal-reservar .campo-float-agendamento label {
    color: var(--tema-texto-suave) !important;
    background: var(--tema-superficie) !important;
}

html.tema-conforto .select2-container--default .select2-selection__placeholder {
    color: #8291a7 !important;
}

html.tema-conforto .menu-acoes,
html.tema-conforto .popover,
html.tema-conforto .popover-vaga-livre {
    color: var(--tema-texto-secundario);
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
}

/* --- Controle de veículos ------------------------------------------ */
html.tema-conforto .filtros-relatorio,
html.tema-conforto .ranking-veiculos-card,
html.tema-conforto .ranking-veiculo-item,
html.tema-conforto .cv-notif-card,
html.tema-conforto .modal-cards .filtro-mes,
html.tema-conforto .modal-cards .periodo-texto {
    color: var(--tema-texto);
    background: var(--tema-superficie);
    border-color: var(--tema-borda);
}

html.tema-conforto .filtros-relatorio .input-wrapper:nth-child(1) label,
html.tema-conforto .filtros-relatorio .input-wrapper:nth-child(2) label {
    color: var(--tema-texto-secundario) !important;
}

html.tema-conforto .filtros-relatorio .input-wrapper:nth-child(1) input[type="date"],
html.tema-conforto .filtros-relatorio .input-wrapper:nth-child(2) input[type="date"] {
    color: var(--tema-texto) !important;
    background: var(--tema-campo) !important;
    border-color: #475569 !important;
}

html.tema-conforto .filtros-relatorio .input-wrapper:nth-child(1) input[type="date"]:hover,
html.tema-conforto .filtros-relatorio .input-wrapper:nth-child(2) input[type="date"]:hover,
html.tema-conforto .filtros-relatorio .input-wrapper:nth-child(1) input[type="date"]:focus,
html.tema-conforto .filtros-relatorio .input-wrapper:nth-child(2) input[type="date"]:focus {
    color: var(--tema-texto) !important;
    background: #1b273a !important;
    border-color: #fb923c !important;
}

html.tema-conforto .modal-cards .modal-topo,
html.tema-conforto .modal-cards .modal-rodape,
html.tema-conforto .modal-cards .filtro-mes,
html.tema-conforto .modal-cards .campo-periodo select {
    color: var(--tema-texto);
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
}

/* --- CRM ------------------------------------------------------------ */
html.tema-conforto #popoverPeriodo_crm.crm-popover-vertical,
html.tema-conforto #popoverPeriodo_crm_registro.crm-popover-vertical,
html.tema-conforto #popoverPeriodoRelatorioCrm.crm-popover-vertical {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, .38) !important;
}

html.tema-conforto #formPeriodo_crm .label-filtro,
html.tema-conforto #formPeriodo_crm_registro .label-filtro,
html.tema-conforto #formPeriodoRelatorioCrm .label-filtro {
    color: var(--tema-texto-secundario) !important;
}

html.tema-conforto #formPeriodo_crm .input-filtro,
html.tema-conforto #formPeriodo_crm .select-filtro,
html.tema-conforto #formPeriodo_crm_registro .input-filtro,
html.tema-conforto #formPeriodo_crm_registro .select-filtro,
html.tema-conforto #formPeriodoRelatorioCrm .input-filtro,
html.tema-conforto #formPeriodoRelatorioCrm .select-filtro {
    color: var(--tema-texto) !important;
    background: var(--tema-campo) !important;
    border-color: #475569 !important;
}

html.tema-conforto #formPeriodo_crm_registro .label-filtro[for="tipo_registro_crm"] {
    background: rgba(255, 122, 0, .08) !important;
    border-color: rgba(251, 146, 60, .38) !important;
}

html.tema-conforto #formPeriodo_crm_registro .label-filtro[for="tipo_registro_crm"] .select-filtro {
    color: var(--tema-texto) !important;
    background: var(--tema-campo) !important;
    border-color: #fb923c !important;
}

html.tema-conforto #formPeriodo_crm .select2-selection--single,
html.tema-conforto #formPeriodo_crm_registro .select2-selection--single,
html.tema-conforto #formPeriodoRelatorioCrm .select2-selection--single,
html.tema-conforto .filtros-relatorio .select2-selection--single,
html.tema-conforto #modalEditarProspecto .select2-selection--single {
    color: var(--tema-texto) !important;
    background: var(--tema-campo) !important;
    border-color: #475569 !important;
}

html.tema-conforto #formPeriodo_crm .select2-selection__rendered,
html.tema-conforto #formPeriodo_crm_registro .select2-selection__rendered,
html.tema-conforto #formPeriodoRelatorioCrm .select2-selection__rendered,
html.tema-conforto .filtros-relatorio .select2-selection__rendered,
html.tema-conforto #modalEditarProspecto .select2-selection__rendered {
    color: var(--tema-texto) !important;
}

html.tema-conforto .select2-modal-dropdown,
html.tema-conforto .select2-modal-dropdown .select2-search--dropdown {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto .select2-modal-dropdown .select2-search__field {
    color: var(--tema-texto) !important;
    background: var(--tema-campo) !important;
    border-color: #475569 !important;
}

html.tema-conforto .select2-modal-dropdown .select2-results__option {
    color: var(--tema-texto-secundario) !important;
}

/* --- Nota Fiscal ---------------------------------------------------- */
html.tema-conforto .dashboard-lista,
html.tema-conforto .dashboard-lista-cards,
html.tema-conforto .dashboard-cards-lista,
html.tema-conforto .nfse-lista-acoes,
html.tema-conforto .nfse-lista-conteudo,
html.tema-conforto .nfse-tabela-container,
html.tema-conforto .nfse-estado-lista,
html.tema-conforto .nfse-checkbox-campo {
    color: var(--tema-texto-secundario);
    background: var(--tema-superficie);
    border-color: var(--tema-borda);
}

html.tema-conforto .modal-universal .modal-campo select,
html.tema-conforto .modal-universal .select2-selection--single {
    color: var(--tema-texto) !important;
    background: var(--tema-campo) !important;
    border-color: #475569 !important;
}

html.tema-conforto .modal-universal .select2-selection__rendered,
html.tema-conforto .modal-universal .select2-selection__placeholder {
    color: var(--tema-texto) !important;
}

html.tema-conforto #modalCadastrarCertificado .campo-com-label .label-campo-fixo,
html.tema-conforto #modalSelecionarNotasNfse .nfse-estado-lista,
html.tema-conforto #modalCancelarNFSe #ajudaMotivoCancelarNFSe,
html.tema-conforto #modalCancelarNFSe .cancelar-nfse-contador {
    color: var(--tema-texto-suave) !important;
}

html.tema-conforto #modalCadastrarCertificado input[type="file"],
html.tema-conforto #modalSelecionarNotasNfse .nfse-lista-acoes,
html.tema-conforto #modalSelecionarNotasNfse .nfse-tabela-container,
html.tema-conforto #modalSelecionarNotasNfse .nfse-modal-rodape,
html.tema-conforto #modalAdicionarEmitirNfse .nfse-checkbox-campo {
    color: var(--tema-texto);
    background: var(--tema-superficie-elevada);
    border-color: var(--tema-borda);
}

html.tema-conforto #modalSelecionarNotasNfse .nfse-lista-pesquisa input {
    color: var(--tema-texto);
    background: var(--tema-campo);
    border-color: #475569;
}

/* Estados vazios e desabilitados permanecem visíveis sem parecer ativos. */
html.tema-conforto .dashboard-status--vazio,
html.tema-conforto .nf-status--vazio,
html.tema-conforto .nfse-estado-lista,
html.tema-conforto button:disabled {
    color: #8291a7 !important;
    background: #202c40 !important;
    border-color: var(--tema-borda) !important;
    opacity: .78;
}

/* --- Componentes compartilhados restantes -------------------------- */
html.tema-conforto .pesquisa-wrapper input,
html.tema-conforto .crm-pesquisa-wrapper input,
html.tema-conforto .usuarios-pesquisa-wrapper input {
    color: var(--tema-texto) !important;
    background: var(--tema-campo) !important;
    border-color: #475569 !important;
}

html.tema-conforto .dashboard-topbar__menu-mobile,
html.tema-conforto .dashboard-submenu-modal__fechar,
html.tema-conforto .notificacoes-painel__fechar {
    color: var(--tema-texto-secundario);
    background: var(--tema-superficie-elevada);
    border-color: var(--tema-borda);
}

html.tema-conforto .sync-card,
html.tema-conforto .sync-card-header,
html.tema-conforto .sync-table {
    color: var(--tema-texto);
    background: var(--tema-superficie);
    border-color: var(--tema-borda);
}

html.tema-conforto .sync-table thead,
html.tema-conforto .sync-table th {
    color: var(--tema-texto-secundario);
    background: var(--tema-superficie-elevada);
    border-color: var(--tema-borda);
}

html.tema-conforto .sync-table td {
    color: var(--tema-texto-secundario);
    background: var(--tema-superficie);
    border-color: var(--tema-borda);
}

html.tema-conforto .sync-table tbody tr:hover td {
    background: var(--tema-superficie-hover);
}

html.tema-conforto .section-abas a {
    color: var(--tema-texto-suave);
    border-color: transparent;
}

html.tema-conforto .section-abas a:hover,
html.tema-conforto .section-abas a.active {
    color: var(--tema-texto);
    background: var(--tema-superficie-elevada);
    border-color: var(--tema-borda);
}

html.tema-conforto .filtro-opcao-item {
    color: var(--tema-texto-secundario);
    background: var(--tema-campo);
    border-color: var(--tema-borda);
}

html.tema-conforto .filtro-opcao-item:hover,
html.tema-conforto .filtro-opcao-item:focus-within {
    color: var(--tema-texto);
    background: var(--tema-superficie-hover);
    border-color: #64748b;
}

html.tema-conforto .ui-alert {
    color: var(--tema-texto);
    background: var(--tema-superficie);
    border-color: var(--tema-borda);
    box-shadow: 0 22px 58px rgba(0, 0, 0, .45);
}

html.tema-conforto .ui-alert__btn {
    color: var(--tema-texto);
    background: var(--tema-superficie-elevada);
    border-color: #475569;
}

html.tema-conforto .ui-alert__btn--primary {
    color: #fff;
    background: var(--tema-destaque);
    border-color: var(--tema-destaque);
}

/* Botões neutros originalmente brancos. Ações coloridas permanecem. */
html.tema-conforto .botao-geral,
html.tema-conforto .botao-adicionar-Pedido,
html.tema-conforto .botao-menu-superior,
html.tema-conforto .salvar-quantidade,
html.tema-conforto .Botao-Recusa,
html.tema-conforto .modal-cadastro .botao-geral {
    color: var(--tema-texto);
    background: var(--tema-superficie-elevada);
    border-color: #475569;
}

html.tema-conforto .botao-geral:hover,
html.tema-conforto .botao-adicionar-Pedido:hover,
html.tema-conforto .botao-menu-superior:hover,
html.tema-conforto .salvar-quantidade:hover,
html.tema-conforto .Botao-Recusa:hover,
html.tema-conforto .modal-cadastro .botao-geral:hover {
    color: #fff;
    background: var(--tema-superficie-hover);
    border-color: #64748b;
}

/* Calendário nativo: informa ao navegador que o campo usa fundo escuro. */
html.tema-conforto input[type="date"],
html.tema-conforto input[type="datetime-local"],
html.tema-conforto input[type="time"],
html.tema-conforto input[type="month"] {
    color-scheme: dark;
}

/* =====================================================================
   NOTA FISCAL — ACABAMENTO EXCLUSIVO DO MÓDULO
   A classe pagina-nota-fiscal impede qualquer interferência nas demais
   páginas que reutilizam modal-campo, usuarios-card ou Select2.
   ===================================================================== */

html.tema-conforto body.pagina-nota-fiscal {
    --nf-superficie: #1e293b;
    --nf-superficie-alta: #243147;
    --nf-campo: #172033;
    --nf-borda: #3b4b63;
    --nf-texto: #f1f5f9;
    --nf-suave: #9fb0c7;
}

/* Filtros das abas Empresa e Nota Fiscal. */
html.tema-conforto body.pagina-nota-fiscal :is(
    #popoverPeriodo_empresa,
    #popoverPeriodo_nota_fiscal
) .label-filtro {
    color: #cbd5e1 !important;
}

html.tema-conforto body.pagina-nota-fiscal :is(
    #popoverPeriodo_empresa,
    #popoverPeriodo_nota_fiscal
) :is(.input-filtro, .select-filtro) {
    color: var(--nf-texto) !important;
    background: var(--nf-campo) !important;
    border: 1px solid var(--nf-borda) !important;
    color-scheme: dark;
}

html.tema-conforto body.pagina-nota-fiscal :is(
    #popoverPeriodo_empresa,
    #popoverPeriodo_nota_fiscal
) :is(.input-filtro, .select-filtro):hover {
    border-color: #64748b !important;
}

html.tema-conforto body.pagina-nota-fiscal :is(
    #popoverPeriodo_empresa,
    #popoverPeriodo_nota_fiscal
) :is(.input-filtro, .select-filtro):focus {
    border-color: #fb923c !important;
    box-shadow: 0 0 0 3px rgba(251, 146, 60, .16) !important;
    outline: none !important;
}

html.tema-conforto body.pagina-nota-fiscal :is(
    #popoverPeriodo_empresa,
    #popoverPeriodo_nota_fiscal
) input[type="date"]::-webkit-calendar-picker-indicator {
    cursor: pointer;
    filter: invert(88%) sepia(8%) saturate(418%) hue-rotate(176deg) brightness(94%);
    opacity: .9;
}

html.tema-conforto body.pagina-nota-fiscal :is(
    #popoverPeriodo_empresa,
    #popoverPeriodo_nota_fiscal
) .select-filtro option {
    color: var(--nf-texto);
    background: var(--nf-campo);
}

/* Cards de empresa, certificado e configuração. */
html.tema-conforto body.pagina-nota-fiscal .usuarios-card {
    color: var(--nf-texto) !important;
    background: var(--nf-superficie) !important;
    border: 1px solid var(--nf-borda) !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .22) !important;
}

html.tema-conforto body.pagina-nota-fiscal .usuarios-card:hover {
    background: #223047 !important;
    border-color: #52637b !important;
}

html.tema-conforto body.pagina-nota-fiscal .usuarios-card-nome,
html.tema-conforto body.pagina-nota-fiscal .empresa-nfse-card-nome,
html.tema-conforto body.pagina-nota-fiscal .certificado-nfse-card-nome,
html.tema-conforto body.pagina-nota-fiscal .configuracao-nfse-card-nome,
html.tema-conforto body.pagina-nota-fiscal .usuarios-card-detalhes strong {
    color: var(--nf-texto) !important;
}

html.tema-conforto body.pagina-nota-fiscal .usuarios-card-email,
html.tema-conforto body.pagina-nota-fiscal .usuarios-card-detalhes,
html.tema-conforto body.pagina-nota-fiscal .empresa-nfse-card-observacao,
html.tema-conforto body.pagina-nota-fiscal .certificado-nfse-card-observacao,
html.tema-conforto body.pagina-nota-fiscal .certificado-nfse-card-thumbprint,
html.tema-conforto body.pagina-nota-fiscal .configuracao-nfse-card-url,
html.tema-conforto body.pagina-nota-fiscal .configuracao-nfse-card-observacao {
    color: var(--nf-suave) !important;
}

html.tema-conforto body.pagina-nota-fiscal .certificado-nfse-card-titulo-badge,
html.tema-conforto body.pagina-nota-fiscal .configuracao-nfse-card-titulo-badge {
    color: #fdba74 !important;
    background: rgba(255, 122, 0, .10) !important;
    border-color: rgba(251, 146, 60, .36) !important;
}

/* Resumo, gráficos e lista principal. */
html.tema-conforto body.pagina-nota-fiscal .dashboard-lista {
    background: transparent !important;
    border-color: var(--nf-borda) !important;
}

html.tema-conforto body.pagina-nota-fiscal .nfse-selecao-barra {
    color: var(--nf-texto) !important;
    background: var(--nf-superficie-alta) !important;
    border-color: var(--nf-borda) !important;
}

html.tema-conforto body.pagina-nota-fiscal .nfse-selecao-todas,
html.tema-conforto body.pagina-nota-fiscal .nfse-selecao-contador {
    color: var(--nf-suave) !important;
}

html.tema-conforto body.pagina-nota-fiscal .nfse-btn-acoes-lote {
    color: var(--nf-texto) !important;
    background: #2a3950 !important;
    border-color: #52637b !important;
}

html.tema-conforto body.pagina-nota-fiscal .nfse-menu-lote {
    color: var(--nf-texto) !important;
    background: var(--nf-superficie) !important;
    border-color: var(--nf-borda) !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, .40) !important;
}

html.tema-conforto body.pagina-nota-fiscal .nfse-menu-lote button {
    color: var(--nf-texto) !important;
}

html.tema-conforto body.pagina-nota-fiscal .nfse-menu-lote button:hover {
    background: #2a3950 !important;
}

html.tema-conforto body.pagina-nota-fiscal .nfse-nota-card,
html.tema-conforto body.pagina-nota-fiscal .nfse-nota-card.selecionada {
    background: var(--nf-superficie) !important;
    border-color: var(--nf-borda) !important;
    border-left-color: var(--nfse-status-cor) !important;
    box-shadow: 0 5px 16px rgba(0, 0, 0, .20) !important;
}

html.tema-conforto body.pagina-nota-fiscal .nfse-nota-card:hover {
    background: #223047 !important;
    border-color: #52637b !important;
    border-left-color: var(--nfse-status-cor) !important;
    box-shadow: 0 9px 22px rgba(0, 0, 0, .28) !important;
}

html.tema-conforto body.pagina-nota-fiscal .nfse-nota-titulo,
html.tema-conforto body.pagina-nota-fiscal .nfse-nota-campo strong,
html.tema-conforto body.pagina-nota-fiscal .nfse-nota-campo--valor strong {
    color: var(--nf-texto) !important;
}

html.tema-conforto body.pagina-nota-fiscal .nfse-nota-subtitulo,
html.tema-conforto body.pagina-nota-fiscal .nfse-nota-campo span,
html.tema-conforto body.pagina-nota-fiscal .nfse-status-rotulo {
    color: var(--nf-suave) !important;
}

/* Estrutura de todos os modais fiscais. */
html.tema-conforto body.pagina-nota-fiscal .modal-universal .modal-conteudo,
html.tema-conforto body.pagina-nota-fiscal .modal-universal .modal-conteudo-grande {
    color: var(--nf-texto) !important;
    background: var(--nf-superficie) !important;
    border: 1px solid var(--nf-borda) !important;
    box-shadow: 0 28px 76px rgba(0, 0, 0, .52) !important;
}

html.tema-conforto body.pagina-nota-fiscal .modal-universal .modal-topo,
html.tema-conforto body.pagina-nota-fiscal .modal-universal .modal-rodape,
html.tema-conforto body.pagina-nota-fiscal .modal-universal .nfse-modal-rodape {
    background: var(--nf-superficie) !important;
    border-color: var(--nf-borda) !important;
}

html.tema-conforto body.pagina-nota-fiscal .modal-universal .modal-topo h2,
html.tema-conforto body.pagina-nota-fiscal .modal-universal .modal-topo h3 {
    color: var(--nf-texto) !important;
}

html.tema-conforto body.pagina-nota-fiscal .modal-universal .modal-corpo {
    color: var(--nf-texto) !important;
    background: var(--nf-superficie) !important;
}

/* Campos e rótulos flutuantes: elimina os retângulos brancos das imagens. */
html.tema-conforto body.pagina-nota-fiscal .modal-campo input,
html.tema-conforto body.pagina-nota-fiscal .modal-campo textarea,
html.tema-conforto body.pagina-nota-fiscal .modal-campo select {
    color: var(--nf-texto) !important;
    background: var(--nf-campo) !important;
    border-color: var(--nf-borda) !important;
    caret-color: #fb923c;
}

html.tema-conforto body.pagina-nota-fiscal .modal-campo input:focus,
html.tema-conforto body.pagina-nota-fiscal .modal-campo textarea:focus,
html.tema-conforto body.pagina-nota-fiscal .modal-campo select:focus {
    color: var(--nf-texto) !important;
    background: #19253a !important;
    border-color: #fb923c !important;
    box-shadow: 0 0 0 3px rgba(251, 146, 60, .14) !important;
}

html.tema-conforto body.pagina-nota-fiscal .modal-campo label,
html.tema-conforto body.pagina-nota-fiscal .modal-campo .label-fixa,
html.tema-conforto body.pagina-nota-fiscal .campo-com-label .label-campo-fixo {
    color: var(--nf-suave) !important;
    background: var(--nf-superficie) !important;
}

html.tema-conforto body.pagina-nota-fiscal .modal-campo input:focus + label,
html.tema-conforto body.pagina-nota-fiscal .modal-campo textarea:focus + label,
html.tema-conforto body.pagina-nota-fiscal .modal-campo select:focus + label,
html.tema-conforto body.pagina-nota-fiscal .modal-campo input:not(:placeholder-shown) + label,
html.tema-conforto body.pagina-nota-fiscal .modal-campo textarea:not(:placeholder-shown) + label,
html.tema-conforto body.pagina-nota-fiscal .modal-campo select:not([value=""]) + label {
    color: #fb923c !important;
    background: var(--nf-superficie) !important;
}

/* Select2 deve parecer o mesmo campo nativo. */
html.tema-conforto body.pagina-nota-fiscal .select2-container--default .select2-selection--single {
    color: var(--nf-texto) !important;
    background: var(--nf-campo) !important;
    border-color: var(--nf-borda) !important;
}

html.tema-conforto body.pagina-nota-fiscal .select2-container--default .select2-selection__rendered {
    color: var(--nf-texto) !important;
}

html.tema-conforto body.pagina-nota-fiscal .select2-container--default .select2-selection__placeholder {
    color: var(--nf-suave) !important;
}

html.tema-conforto body.pagina-nota-fiscal .select2-dropdown,
html.tema-conforto body.pagina-nota-fiscal .select2-search--dropdown {
    color: var(--nf-texto) !important;
    background: var(--nf-superficie) !important;
    border-color: var(--nf-borda) !important;
}

html.tema-conforto body.pagina-nota-fiscal .select2-results__option {
    color: var(--nf-texto) !important;
    background: var(--nf-superficie) !important;
}

html.tema-conforto body.pagina-nota-fiscal .select2-results__option--highlighted {
    color: #fff !important;
    background: #33445d !important;
}

/* Arquivo, áreas auxiliares e barras internas dos modais. */
html.tema-conforto body.pagina-nota-fiscal #modalCadastrarCertificado input[type="file"] {
    color: var(--nf-suave) !important;
    background: var(--nf-superficie-alta) !important;
    border-color: var(--nf-borda) !important;
}

html.tema-conforto body.pagina-nota-fiscal #modalCadastrarCertificado input[type="file"]::file-selector-button {
    color: var(--nf-texto) !important;
    background: #2a3950 !important;
    border-color: #52637b !important;
}

html.tema-conforto body.pagina-nota-fiscal .nfse-checkbox-campo,
html.tema-conforto body.pagina-nota-fiscal .nfse-ajuda-encargos,
html.tema-conforto body.pagina-nota-fiscal .cancelar-nfse-aviso,
html.tema-conforto body.pagina-nota-fiscal #resumoCancelarNFSe {
    color: var(--nf-texto) !important;
    background: var(--nf-superficie-alta) !important;
    border-color: var(--nf-borda) !important;
}

/* Scrollbar discreta nos modais longos. */
html.tema-conforto body.pagina-nota-fiscal .modal-corpo::-webkit-scrollbar,
html.tema-conforto body.pagina-nota-fiscal .modal-conteudo::-webkit-scrollbar {
    width: 10px;
}

html.tema-conforto body.pagina-nota-fiscal .modal-corpo::-webkit-scrollbar-track,
html.tema-conforto body.pagina-nota-fiscal .modal-conteudo::-webkit-scrollbar-track {
    background: #162033;
}

html.tema-conforto body.pagina-nota-fiscal .modal-corpo::-webkit-scrollbar-thumb,
html.tema-conforto body.pagina-nota-fiscal .modal-conteudo::-webkit-scrollbar-thumb {
    background: #52637b;
    border: 2px solid #162033;
    border-radius: 999px;
}
/* =====================================================================
   CRM — ACABAMENTO EXCLUSIVO DO MÓDULO
   ===================================================================== */

html.tema-conforto body.pagina-crm {
    --crm-superficie: #1e293b;
    --crm-superficie-alta: #243147;
    --crm-campo: #172033;
    --crm-borda: #3b4b63;
    --crm-texto: #f1f5f9;
    --crm-suave: #9fb0c7;
}

/* Filtros e pesquisa das três abas. */
html.tema-conforto body.pagina-crm .crm-pesquisa-wrapper input {
    color: var(--crm-texto) !important;
    background: var(--crm-campo) !important;
    border-color: var(--crm-borda) !important;
}

html.tema-conforto body.pagina-crm .crm-pesquisa-wrapper i {
    color: #8291a7;
}

html.tema-conforto body.pagina-crm .crm-popover-vertical {
    color: var(--crm-texto) !important;
    background: var(--crm-superficie) !important;
    border-color: var(--crm-borda) !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .42) !important;
}

html.tema-conforto body.pagina-crm .crm-form-filtro-vertical .label-filtro {
    color: var(--crm-suave) !important;
}

html.tema-conforto body.pagina-crm .crm-form-filtro-vertical input,
html.tema-conforto body.pagina-crm .crm-form-filtro-vertical select,
html.tema-conforto body.pagina-crm .crm-form-filtro-vertical .select-filtro {
    color: var(--crm-texto) !important;
    background: var(--crm-campo) !important;
    border-color: var(--crm-borda) !important;
}

html.tema-conforto body.pagina-crm .crm-form-filtro-vertical input:focus,
html.tema-conforto body.pagina-crm .crm-form-filtro-vertical select:focus {
    border-color: #fb923c !important;
    box-shadow: 0 0 0 3px rgba(251, 146, 60, .14) !important;
}

/* Cards de prospectos e registros. */
html.tema-conforto body.pagina-crm .crm-card,
html.tema-conforto body.pagina-crm .crm-card-vazio {
    color: var(--crm-texto) !important;
    background: var(--crm-superficie) !important;
    border: 1px solid var(--crm-borda) !important;
    box-shadow: 0 7px 20px rgba(0, 0, 0, .22) !important;
}

html.tema-conforto body.pagina-crm .crm-card:hover {
    background: #223047 !important;
    border-color: #52637b !important;
    box-shadow: 0 11px 28px rgba(0, 0, 0, .30) !important;
}

html.tema-conforto body.pagina-crm .crm-card-esquerda,
html.tema-conforto body.pagina-crm .crm-card-centro,
html.tema-conforto body.pagina-crm .crm-card-direita,
html.tema-conforto body.pagina-crm .crm-card-status,
html.tema-conforto body.pagina-crm .crm-card-detalhes {
    background: transparent !important;
    box-shadow: none !important;
}

html.tema-conforto body.pagina-crm .crm-card-nome,
html.tema-conforto body.pagina-crm .crm-card-servico,
html.tema-conforto body.pagina-crm .crm-card-detalhes strong,
html.tema-conforto body.pagina-crm .crm-registro-tipo {
    color: var(--crm-texto) !important;
}

html.tema-conforto body.pagina-crm .crm-card-detalhes,
html.tema-conforto body.pagina-crm .crm-card-vazio {
    color: var(--crm-suave) !important;
}

/* Informações destacadas injetadas dinamicamente pelo CRM. */
html.tema-conforto body.pagina-crm .crm-destaque-info,
html.tema-conforto body.pagina-crm .crm-destaque-neutro {
    color: #cbd5e1 !important;
    background: #27364b !important;
    border-color: #475569 !important;
}

html.tema-conforto body.pagina-crm .crm-destaque-info strong {
    color: var(--crm-texto) !important;
}

html.tema-conforto body.pagina-crm .crm-destaque-ok {
    color: #86efac !important;
    background: rgba(34, 197, 94, .10) !important;
    border-color: rgba(74, 222, 128, .30) !important;
}

html.tema-conforto body.pagina-crm .crm-destaque-alerta,
html.tema-conforto body.pagina-crm .crm-destaque-incompleto,
html.tema-conforto body.pagina-crm .crm-texto-nao-informado {
    color: #fdba74 !important;
    background: rgba(245, 158, 11, .10) !important;
    border-color: rgba(251, 191, 36, .30) !important;
}

/* Relatório, ranking e gráfico. */
html.tema-conforto body.pagina-crm .filtros-relatorio,
html.tema-conforto body.pagina-crm .card-relatorio,
html.tema-conforto body.pagina-crm .ranking-vendedores-card,
html.tema-conforto body.pagina-crm .ranking-veiculo-item,
html.tema-conforto body.pagina-crm .ranking-vazio,
html.tema-conforto body.pagina-crm .grafico-crm-card {
    color: var(--crm-texto) !important;
    background: var(--crm-superficie) !important;
    border-color: var(--crm-borda) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .22) !important;
}

html.tema-conforto body.pagina-crm .grafico-crm-topo h3,
html.tema-conforto body.pagina-crm .ranking-veiculos-topo h3,
html.tema-conforto body.pagina-crm .ranking-veiculo-info strong,
html.tema-conforto body.pagina-crm .ranking-total {
    color: var(--crm-texto) !important;
}

html.tema-conforto body.pagina-crm .grafico-crm-topo p,
html.tema-conforto body.pagina-crm .ranking-veiculo-info span,
html.tema-conforto body.pagina-crm .ranking-vazio {
    color: var(--crm-suave) !important;
}

html.tema-conforto body.pagina-crm #tabela_relatorio,
html.tema-conforto body.pagina-crm #tabela_relatorio th,
html.tema-conforto body.pagina-crm #tabela_relatorio td {
    border-color: var(--crm-borda) !important;
}

html.tema-conforto body.pagina-crm #tabela_relatorio thead th {
    color: #b8c5d8 !important;
    background: var(--crm-superficie-alta) !important;
}

html.tema-conforto body.pagina-crm #tabela_relatorio tbody td {
    color: #d5deea !important;
    background: var(--crm-superficie) !important;
}

html.tema-conforto body.pagina-crm #tabela_relatorio tbody tr:nth-child(even) td {
    background: #202d42 !important;
}

html.tema-conforto body.pagina-crm #tabela_relatorio tbody tr:hover td {
    background: #2a3950 !important;
}

/* Todos os modais de prospectos e registros. */
html.tema-conforto body.pagina-crm .modal-geral .modal-conteudo,
html.tema-conforto body.pagina-crm .modal-geral .modal-conteudo.modal-grande {
    color: var(--crm-texto) !important;
    background: var(--crm-superficie) !important;
    border: 1px solid var(--crm-borda) !important;
    box-shadow: 0 28px 76px rgba(0, 0, 0, .52) !important;
}

html.tema-conforto body.pagina-crm .modal-geral .modal-topo,
html.tema-conforto body.pagina-crm .modal-geral .modal-rodape {
    color: var(--crm-texto) !important;
    background: var(--crm-superficie) !important;
    border-color: var(--crm-borda) !important;
}

html.tema-conforto body.pagina-crm .modal-geral .modal-topo h2 {
    color: var(--crm-texto) !important;
}

html.tema-conforto body.pagina-crm .modal-geral .modal-corpo {
    color: var(--crm-texto) !important;
    background: var(--crm-superficie) !important;
}

html.tema-conforto body.pagina-crm .modal-geral .modal-fechar {
    color: #cbd5e1 !important;
    background: var(--crm-superficie-alta) !important;
    border-color: var(--crm-borda) !important;
}

html.tema-conforto body.pagina-crm .modal-geral .modal-fechar:hover {
    color: #fff !important;
    background: #2a3950 !important;
    border-color: #52637b !important;
}

html.tema-conforto body.pagina-crm .modal-campo input,
html.tema-conforto body.pagina-crm .modal-campo select,
html.tema-conforto body.pagina-crm .modal-campo textarea {
    color: var(--crm-texto) !important;
    background: var(--crm-campo) !important;
    border-color: var(--crm-borda) !important;
    caret-color: #fb923c;
}

html.tema-conforto body.pagina-crm .modal-campo input:focus,
html.tema-conforto body.pagina-crm .modal-campo select:focus,
html.tema-conforto body.pagina-crm .modal-campo textarea:focus {
    background: #19253a !important;
    border-color: #fb923c !important;
    box-shadow: 0 0 0 3px rgba(251, 146, 60, .14) !important;
}

html.tema-conforto body.pagina-crm .modal-campo label {
    color: var(--crm-suave) !important;
    background: var(--crm-superficie) !important;
}

html.tema-conforto body.pagina-crm .modal-campo input[type="date"] {
    color-scheme: dark;
}

html.tema-conforto body.pagina-crm .modal-campo input[type="date"]::-webkit-calendar-picker-indicator {
    cursor: pointer;
    opacity: .82;
}

/* Select2 do CRM, incluindo dropdown anexado ao body. */
html.tema-conforto body.pagina-crm .select2-container--default .select2-selection--single {
    color: var(--crm-texto) !important;
    background: var(--crm-campo) !important;
    border-color: var(--crm-borda) !important;
}

html.tema-conforto body.pagina-crm .select2-container--default .select2-selection__rendered {
    color: var(--crm-texto) !important;
}

html.tema-conforto body.pagina-crm .select2-container--default .select2-selection__placeholder {
    color: var(--crm-suave) !important;
}

html.tema-conforto body.pagina-crm .select2-dropdown,
html.tema-conforto body.pagina-crm .select2-modal-dropdown,
html.tema-conforto body.pagina-crm .select2-search--dropdown {
    color: var(--crm-texto) !important;
    background: var(--crm-superficie) !important;
    border-color: var(--crm-borda) !important;
}

html.tema-conforto body.pagina-crm .select2-search__field {
    color: var(--crm-texto) !important;
    background: var(--crm-campo) !important;
    border-color: var(--crm-borda) !important;
}

html.tema-conforto body.pagina-crm .select2-results__option {
    color: var(--crm-texto) !important;
    background: var(--crm-superficie) !important;
}

html.tema-conforto body.pagina-crm .select2-results__option--highlighted,
html.tema-conforto body.pagina-crm .select2-results__option--selected {
    color: #fff !important;
    background: #33445d !important;
}

/* Menus de ações e alertas do CRM. */
html.tema-conforto body.pagina-crm .menu-acoes {
    color: var(--crm-texto) !important;
    background: var(--crm-superficie) !important;
    border-color: var(--crm-borda) !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, .42) !important;
}

html.tema-conforto body.pagina-crm .menu-acoes .item {
    color: var(--crm-texto) !important;
    background: transparent !important;
}

html.tema-conforto body.pagina-crm .menu-acoes .item:hover {
    background: #2a3950 !important;
}

/* Rolagem coerente nos modais longos. */
html.tema-conforto body.pagina-crm .modal-corpo::-webkit-scrollbar,
html.tema-conforto body.pagina-crm .select2-results__options::-webkit-scrollbar {
    width: 10px;
}

html.tema-conforto body.pagina-crm .modal-corpo::-webkit-scrollbar-track,
html.tema-conforto body.pagina-crm .select2-results__options::-webkit-scrollbar-track {
    background: #162033 !important;
}

html.tema-conforto body.pagina-crm .modal-corpo::-webkit-scrollbar-thumb,
html.tema-conforto body.pagina-crm .select2-results__options::-webkit-scrollbar-thumb {
    background: #52637b !important;
    border: 2px solid #162033;
    border-radius: 999px;
}

/* =====================================================================
   OPERACIONAL — LISTA DE PEDIDOS, ENTREGA E PEDIDOS RECUSADOS
   ===================================================================== */

html.tema-conforto body.pagina-operacional-pedidos {
    --op-superficie: #1e293b;
    --op-superficie-alta: #243147;
    --op-campo: #172033;
    --op-borda: #3b4b63;
    --op-texto: #f1f5f9;
    --op-suave: #9fb0c7;
}

html.tema-conforto body.pagina-operacional-pedidos .Conteudo,
html.tema-conforto body.pagina-operacional-pedidos .conteudo-principal {
    color: var(--op-texto);
    background: transparent;
}

html.tema-conforto body.pagina-operacional-pedidos .pesquisar input,
html.tema-conforto body.pagina-operacional-pedidos .input-quantidade,
html.tema-conforto body.pagina-operacional-pedidos .lista-table input[type="number"] {
    color: var(--op-texto) !important;
    background: var(--op-campo) !important;
    border-color: var(--op-borda) !important;
}

html.tema-conforto body.pagina-operacional-pedidos .pesquisar i {
    color: #8291a7;
}

html.tema-conforto body.pagina-operacional-pedidos #sugestoes {
    color: var(--op-texto);
    background: var(--op-superficie);
    border-color: var(--op-borda);
    box-shadow: 0 16px 36px rgba(0, 0, 0, .40);
}

html.tema-conforto body.pagina-operacional-pedidos #sugestoes li {
    color: var(--op-suave);
    border-color: var(--op-borda);
}

html.tema-conforto body.pagina-operacional-pedidos #sugestoes li:hover {
    color: var(--op-texto);
    background: #2a3950;
}

/* Tabelas operacionais. */
html.tema-conforto body.pagina-operacional-pedidos .lista-table {
    color: var(--op-texto) !important;
    background: var(--op-superficie) !important;
    border-color: var(--op-borda) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .22);
}

html.tema-conforto body.pagina-operacional-pedidos .lista-table th {
    color: #b8c5d8 !important;
    background: var(--op-superficie-alta) !important;
    border-color: var(--op-borda) !important;
}

html.tema-conforto body.pagina-operacional-pedidos .lista-table td {
    color: #d5deea !important;
    background: var(--op-superficie) !important;
    border-color: var(--op-borda) !important;
}

html.tema-conforto body.pagina-operacional-pedidos .lista-table tr:hover td {
    background: #2a3950 !important;
}

html.tema-conforto body.pagina-operacional-pedidos .pedidos-toolbar__inicio .botao-geral,
html.tema-conforto body.pagina-operacional-pedidos .pedidos-acoes-gerais__toggle {
    color: var(--op-texto) !important;
    background: var(--op-superficie-alta) !important;
    border-color: var(--op-borda) !important;
}

html.tema-conforto body.pagina-operacional-pedidos .conteudo-principal {
    background: var(--op-superficie) !important;
    border-color: var(--op-borda) !important;
}

html.tema-conforto body.pagina-operacional-pedidos .pedido-quantidade {
    color: #ffb267 !important;
    background: rgba(255, 122, 0, .13) !important;
}

html.tema-conforto body.pagina-operacional-pedidos .pedidos-pagina-info {
    color: var(--op-suave) !important;
}

html.tema-conforto body.pagina-operacional-pedidos .pedidos-selecao-barra {
    color: var(--op-texto) !important;
    background: var(--op-superficie-alta) !important;
    border-color: var(--op-borda) !important;
}

html.tema-conforto body.pagina-operacional-pedidos .pedidos-selecionar-todos,
html.tema-conforto body.pagina-operacional-pedidos .pedidos-selecao-acoes {
    color: var(--op-suave) !important;
}

html.tema-conforto body.pagina-operacional-pedidos .pedidos-menu-geral,
html.tema-conforto body.pagina-operacional-pedidos .pedidos-menu-linha {
    color: #dbe7f5 !important;
    background: #1b273a !important;
    border-color: #40516b !important;
    box-shadow: 0 18px 38px rgba(0, 0, 0, .48) !important;
}

html.tema-conforto body.pagina-operacional-pedidos .pedidos-menu-geral .item,
html.tema-conforto body.pagina-operacional-pedidos .pedidos-menu-linha .item {
    color: #dbe7f5 !important;
    background: transparent !important;
}

html.tema-conforto body.pagina-operacional-pedidos .pedidos-menu-geral .item .ico,
html.tema-conforto body.pagina-operacional-pedidos .pedidos-menu-linha .item .ico {
    color: #9fb5cf !important;
}

html.tema-conforto body.pagina-operacional-pedidos .pedidos-menu-geral .item:hover,
html.tema-conforto body.pagina-operacional-pedidos .pedidos-menu-linha .item:hover,
html.tema-conforto body.pagina-operacional-pedidos .pedidos-menu-geral .item:focus-visible,
html.tema-conforto body.pagina-operacional-pedidos .pedidos-menu-linha .item:focus-visible {
    color: #ffffff !important;
    background: #2b3b52 !important;
    outline: none !important;
}

html.tema-conforto body.pagina-operacional-pedidos .pedidos-menu-geral .item.danger,
html.tema-conforto body.pagina-operacional-pedidos .pedidos-menu-linha .item.danger,
html.tema-conforto body.pagina-operacional-pedidos .pedidos-menu-geral .item.danger .ico,
html.tema-conforto body.pagina-operacional-pedidos .pedidos-menu-linha .item.danger .ico {
    color: #fca5a5 !important;
}

html.tema-conforto body.pagina-operacional-pedidos .pedidos-menu-geral .item.danger:hover,
html.tema-conforto body.pagina-operacional-pedidos .pedidos-menu-linha .item.danger:hover,
html.tema-conforto body.pagina-operacional-pedidos .pedidos-menu-geral .item.danger:focus-visible,
html.tema-conforto body.pagina-operacional-pedidos .pedidos-menu-linha .item.danger:focus-visible {
    color: #fecaca !important;
    background: rgba(239, 68, 68, .16) !important;
}

html.tema-conforto body.pagina-operacional-pedidos .paginacao-lista-Pedidos .btn-pag,
html.tema-conforto body.pagina-operacional-pedidos .paginacao-lista-recusado .btn-pag {
    color: var(--op-texto);
    background: var(--op-superficie-alta);
    border-color: var(--op-borda);
}

/* Modal de novo pedido e recusa. */
html.tema-conforto body.pagina-operacional-pedidos .modal__dialog,
html.tema-conforto body.pagina-operacional-pedidos .modal-content,
html.tema-conforto body.pagina-operacional-pedidos .modal-editar-quantidade .modal-conteudo {
    color: var(--op-texto) !important;
    background: var(--op-superficie) !important;
    border-color: var(--op-borda) !important;
    box-shadow: 0 28px 76px rgba(0, 0, 0, .52) !important;
}

html.tema-conforto body.pagina-operacional-pedidos .modal__head,
html.tema-conforto body.pagina-operacional-pedidos .modal__content,
html.tema-conforto body.pagina-operacional-pedidos .modal__footer {
    color: var(--op-texto);
    background: var(--op-superficie) !important;
    border-color: var(--op-borda) !important;
}

html.tema-conforto body.pagina-operacional-pedidos .modal__title,
html.tema-conforto body.pagina-operacional-pedidos .modal-editar-quantidade h2 {
    color: var(--op-texto) !important;
}

html.tema-conforto body.pagina-operacional-pedidos .form-control,
html.tema-conforto body.pagina-operacional-pedidos .modal-content textarea,
html.tema-conforto body.pagina-operacional-pedidos .modal-editar-quantidade input {
    color: var(--op-texto) !important;
    background: var(--op-campo) !important;
    border-color: var(--op-borda) !important;
}

html.tema-conforto body.pagina-operacional-pedidos .field-float .label {
    color: var(--op-suave) !important;
    background: var(--op-superficie) !important;
}

html.tema-conforto body.pagina-operacional-pedidos .field-float .form-control:focus + .label,
html.tema-conforto body.pagina-operacional-pedidos .field-float .form-control:not(:placeholder-shown) + .label,
html.tema-conforto body.pagina-operacional-pedidos .field-float select:not([value=""]) + .label {
    color: #fb923c !important;
    background: var(--op-superficie) !important;
}

html.tema-conforto body.pagina-operacional-pedidos .form-help {
    color: var(--op-suave);
}

html.tema-conforto body.pagina-operacional-pedidos .close-X,
html.tema-conforto body.pagina-operacional-pedidos .modal-editar-quantidade .fechar {
    color: #cbd5e1 !important;
    background: var(--op-superficie-alta) !important;
    border-color: var(--op-borda) !important;
}

/* =====================================================================
   OPERACIONAL — CONTROLE DE FROTA
   ===================================================================== */

html.tema-conforto body.pagina-operacional-frota {
    --frota-superficie: #1e293b;
    --frota-superficie-alta: #243147;
    --frota-campo: #172033;
    --frota-borda: #3b4b63;
    --frota-texto: #f1f5f9;
    --frota-suave: #9fb0c7;
}

/* Abas, filtros e popovers. */
html.tema-conforto body.pagina-operacional-frota .conteudo-aba {
    color: var(--frota-texto);
    background: var(--tema-fundo);
}

html.tema-conforto body.pagina-operacional-frota .popover,
html.tema-conforto body.pagina-operacional-frota .popover-vaga-livre,
html.tema-conforto body.pagina-operacional-frota .filtro-simple-box {
    color: var(--frota-texto) !important;
    background: var(--frota-superficie) !important;
    border-color: var(--frota-borda) !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .42) !important;
}

html.tema-conforto body.pagina-operacional-frota .input-filtro,
html.tema-conforto body.pagina-operacional-frota .select-filtro,
html.tema-conforto body.pagina-operacional-frota .select-filtro-simple,
html.tema-conforto body.pagina-operacional-frota .filtros-relatorio input,
html.tema-conforto body.pagina-operacional-frota .filtros-relatorio select {
    color: var(--frota-texto) !important;
    background: var(--frota-campo) !important;
    border-color: var(--frota-borda) !important;
}

html.tema-conforto body.pagina-operacional-frota .label-filtro,
html.tema-conforto body.pagina-operacional-frota .label-filtro-simple,
html.tema-conforto body.pagina-operacional-frota .filtros-relatorio label {
    color: var(--frota-suave) !important;
}

/* Tabelas de veículos, motoristas, custos e manutenção. */
html.tema-conforto body.pagina-operacional-frota .tabela {
    color: var(--frota-texto) !important;
    background: var(--frota-superficie) !important;
    border-color: var(--frota-borda) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .22);
}

html.tema-conforto body.pagina-operacional-frota .tabela th {
    color: #b8c5d8 !important;
    background: var(--frota-superficie-alta) !important;
    border-color: var(--frota-borda) !important;
}

html.tema-conforto body.pagina-operacional-frota .tabela td {
    color: #d5deea !important;
    background: var(--frota-superficie) !important;
    border-color: var(--frota-borda) !important;
}

html.tema-conforto body.pagina-operacional-frota .tabela tbody tr:nth-child(even) td {
    background: #202d42 !important;
}

html.tema-conforto body.pagina-operacional-frota .tabela tbody tr:hover td {
    background: #2a3950 !important;
}

/* Notificações da frota. */
html.tema-conforto body.pagina-operacional-frota .cv-notif-card,
html.tema-conforto body.pagina-operacional-frota .cv-notif-empty {
    color: var(--frota-texto) !important;
    background: var(--frota-superficie) !important;
    border-color: var(--frota-borda) !important;
    box-shadow: 0 7px 20px rgba(0, 0, 0, .22) !important;
}

html.tema-conforto body.pagina-operacional-frota .cv-notif-card:hover {
    background: #223047 !important;
    border-color: #52637b !important;
}

html.tema-conforto body.pagina-operacional-frota .cv-notif-card__title,
html.tema-conforto body.pagina-operacional-frota .cv-notif-card__title strong,
html.tema-conforto body.pagina-operacional-frota .cv-notif-card__venc strong,
html.tema-conforto body.pagina-operacional-frota .cv-notif-empty__title {
    color: var(--frota-texto) !important;
}

html.tema-conforto body.pagina-operacional-frota .cv-notif-card__meta,
html.tema-conforto body.pagina-operacional-frota .cv-notif-card__msg,
html.tema-conforto body.pagina-operacional-frota .cv-notif-empty__sub {
    color: var(--frota-suave) !important;
}

/* Relatório e ranking. */
html.tema-conforto body.pagina-operacional-frota .filtros-relatorio,
html.tema-conforto body.pagina-operacional-frota .card-relatorio,
html.tema-conforto body.pagina-operacional-frota .ranking-veiculos-card,
html.tema-conforto body.pagina-operacional-frota .ranking-veiculo-item,
html.tema-conforto body.pagina-operacional-frota .ranking-vazio {
    color: var(--frota-texto) !important;
    background: var(--frota-superficie) !important;
    border-color: var(--frota-borda) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .22) !important;
}

html.tema-conforto body.pagina-operacional-frota .card-relatorio .titulo,
html.tema-conforto body.pagina-operacional-frota .card-relatorio .valor,
html.tema-conforto body.pagina-operacional-frota .ranking-veiculos-topo h3,
html.tema-conforto body.pagina-operacional-frota .ranking-veiculo-nome,
html.tema-conforto body.pagina-operacional-frota .ranking-veiculo-valor,
html.tema-conforto body.pagina-operacional-frota .ranking-total {
    color: var(--frota-texto) !important;
}

/* Modais de cadastro e edição. */
html.tema-conforto body.pagina-operacional-frota .modal-geral .modal-conteudo,
html.tema-conforto body.pagina-operacional-frota .modal-cards .modal-conteudo {
    color: var(--frota-texto) !important;
    background: var(--frota-superficie) !important;
    border-color: var(--frota-borda) !important;
    box-shadow: 0 28px 76px rgba(0, 0, 0, .52) !important;
}

html.tema-conforto body.pagina-operacional-frota .modal-topo,
html.tema-conforto body.pagina-operacional-frota .modal-corpo,
html.tema-conforto body.pagina-operacional-frota .modal-rodape,
html.tema-conforto body.pagina-operacional-frota .modal-cards .filtro-mes {
    color: var(--frota-texto) !important;
    background: var(--frota-superficie) !important;
    border-color: var(--frota-borda) !important;
}

html.tema-conforto body.pagina-operacional-frota .modal-topo h2,
html.tema-conforto body.pagina-operacional-frota .modal-campo strong {
    color: var(--frota-texto) !important;
}

html.tema-conforto body.pagina-operacional-frota .modal-campo input,
html.tema-conforto body.pagina-operacional-frota .modal-campo select,
html.tema-conforto body.pagina-operacional-frota .modal-campo textarea,
html.tema-conforto body.pagina-operacional-frota .modal-cards .campo-periodo select {
    color: var(--frota-texto) !important;
    background: var(--frota-campo) !important;
    border-color: var(--frota-borda) !important;
}

html.tema-conforto body.pagina-operacional-frota .modal-campo label {
    color: var(--frota-suave) !important;
    background: var(--frota-superficie) !important;
}

html.tema-conforto body.pagina-operacional-frota .modal-campo input:focus + label,
html.tema-conforto body.pagina-operacional-frota .modal-campo textarea:focus + label,
html.tema-conforto body.pagina-operacional-frota .modal-campo select:focus + label,
html.tema-conforto body.pagina-operacional-frota .modal-campo input:not(:placeholder-shown) + label,
html.tema-conforto body.pagina-operacional-frota .modal-campo textarea:not(:placeholder-shown) + label,
html.tema-conforto body.pagina-operacional-frota .modal-campo select:not([value=""]) + label {
    color: #fb923c !important;
    background: var(--frota-superficie) !important;
}

/* Cards internos dos modais de visualização. */
/* Select2 usado pelos modais da frota (cadastro, edicao e abastecimento). */
html.tema-conforto body.pagina-operacional-frota .modal-geral .select2-container--default .select2-selection--single,
html.tema-conforto body.pagina-operacional-frota .modal-geral .select2-container--default.select2-container--disabled .select2-selection--single {
    color: var(--frota-texto) !important;
    background: var(--frota-campo) !important;
    border-color: var(--frota-borda) !important;
}

html.tema-conforto body.pagina-operacional-frota .modal-geral .select2-selection__rendered,
html.tema-conforto body.pagina-operacional-frota .modal-geral .select2-selection__placeholder {
    color: var(--frota-texto) !important;
    -webkit-text-fill-color: var(--frota-texto) !important;
}

html.tema-conforto body.pagina-operacional-frota .modal-geral .select2-selection__arrow b {
    border-top-color: var(--frota-suave) !important;
}

html.tema-conforto body.pagina-operacional-frota .select2-modal-dropdown,
html.tema-conforto body.pagina-operacional-frota .select2-modal-dropdown .select2-search--dropdown {
    color: var(--frota-texto) !important;
    background: var(--frota-superficie) !important;
    border-color: var(--frota-borda) !important;
}

html.tema-conforto body.pagina-operacional-frota .select2-modal-dropdown .select2-results__option--highlighted {
    color: #ffffff !important;
    background: #2563eb !important;
}

/* Seletor de usuario dos modais Cadastrar/Editar Motorista. */
html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarMotorista,
    #modalEditarMotorista
) .select2-modal-dropdown {
    overflow: hidden;
    background: var(--frota-superficie) !important;
    border-color: #52637b !important;
    box-shadow: 0 16px 34px rgba(0, 0, 0, .42) !important;
}

html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarMotorista,
    #modalEditarMotorista
) .modal-campo-select-usuario > .select2-container--default .select2-selection--single {
    color: var(--frota-texto) !important;
    background: var(--frota-campo) !important;
    background-color: var(--frota-campo) !important;
    background-image: none !important;
    border-color: var(--frota-borda) !important;
}

html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarMotorista,
    #modalEditarMotorista
) .modal-campo-select-usuario > .select2-container--default .select2-selection__rendered {
    color: var(--frota-texto) !important;
    -webkit-text-fill-color: var(--frota-texto) !important;
}

html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarMotorista,
    #modalEditarMotorista
) .modal-campo-select-usuario > .select2-container--default .select2-selection__placeholder {
    color: var(--frota-suave) !important;
    -webkit-text-fill-color: var(--frota-suave) !important;
}

html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarMotorista,
    #modalEditarMotorista
) .modal-campo-select-usuario > .select2-container--default .select2-selection__clear {
    color: var(--frota-suave) !important;
}

html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarMotorista,
    #modalEditarMotorista
) .modal-campo-select-usuario > .select2-container--default .select2-selection__arrow b {
    border-top-color: var(--frota-suave) !important;
}

html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarMotorista,
    #modalEditarMotorista
) .modal-campo-select-usuario > .select2-container--default:is(
    .select2-container--focus,
    .select2-container--open
) .select2-selection--single {
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, .16) !important;
}

html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarMotorista,
    #modalEditarMotorista
) .select2-search--dropdown {
    padding: 8px !important;
    background: var(--frota-superficie-alta) !important;
    border-bottom: 1px solid var(--frota-borda) !important;
}

html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarMotorista,
    #modalEditarMotorista
) .select2-search__field {
    color: var(--frota-texto) !important;
    -webkit-text-fill-color: var(--frota-texto) !important;
    background: #111c2f !important;
    border: 1px solid #52637b !important;
    caret-color: #60a5fa;
}

html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarMotorista,
    #modalEditarMotorista
) .select2-search__field::placeholder {
    color: #8393aa !important;
    -webkit-text-fill-color: #8393aa !important;
    opacity: 1;
}

html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarMotorista,
    #modalEditarMotorista
) .select2-results__options {
    max-height: min(220px, 36vh) !important;
    scrollbar-color: #64748b var(--frota-campo);
    scrollbar-width: thin;
}

html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarMotorista,
    #modalEditarMotorista
) .select2-results__option {
    color: #d6dfeb !important;
    background: var(--frota-superficie) !important;
    border-bottom: 1px solid rgba(148, 163, 184, .08);
}

html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarMotorista,
    #modalEditarMotorista
) .select2-results__option--highlighted[aria-selected],
html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarMotorista,
    #modalEditarMotorista
) .select2-results__option[aria-selected="true"] {
    color: #ffffff !important;
    background: #2563eb !important;
}

html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarMotorista,
    #modalEditarMotorista
) .select2-results__option[aria-disabled="true"] {
    color: var(--frota-suave) !important;
    background: var(--frota-campo) !important;
    opacity: .7;
}

html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarMotorista,
    #modalEditarMotorista
) .select2-results__options::-webkit-scrollbar {
    width: 9px;
}

html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarMotorista,
    #modalEditarMotorista
) .select2-results__options::-webkit-scrollbar-track {
    background: var(--frota-campo);
}

html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarMotorista,
    #modalEditarMotorista
) .select2-results__options::-webkit-scrollbar-thumb {
    background: #64748b;
    border: 2px solid var(--frota-campo);
    border-radius: 999px;
}

/* Modais novos do fluxo de solicitacao de abastecimento. */
/* Nos modais trabalhados, o foco original do sistema permanece azul. */
html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarMotorista,
    #modalEditarMotorista,
    #modalCadastrarAbastecimento,
    #modalEditarAbastecimento,
    #modalCadastrarAbastecimentoMotorista,
    #modalVisualizarSolicitacaoAbastecimento,
    #modalRejeitarSolicitacaoAbastecimento
) .modal-campo :is(input, select, textarea):focus {
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, .16) !important;
    caret-color: #60a5fa;
}

html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarMotorista,
    #modalEditarMotorista,
    #modalCadastrarAbastecimento,
    #modalEditarAbastecimento,
    #modalCadastrarAbastecimentoMotorista,
    #modalVisualizarSolicitacaoAbastecimento,
    #modalRejeitarSolicitacaoAbastecimento
) .modal-campo :is(
    input:focus,
    textarea:focus,
    select:focus,
    input:not(:placeholder-shown),
    textarea:not(:placeholder-shown),
    select:not([value=""])
) + label {
    color: #60a5fa !important;
    background: var(--frota-superficie) !important;
}

html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarAbastecimentoMotorista,
    #modalVisualizarSolicitacaoAbastecimento,
    #modalRejeitarSolicitacaoAbastecimento
) .modal-conteudo,
html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarAbastecimentoMotorista,
    #modalVisualizarSolicitacaoAbastecimento,
    #modalRejeitarSolicitacaoAbastecimento
) :is(.modal-topo, .modal-corpo, .modal-rodape) {
    color: var(--frota-texto) !important;
    background: var(--frota-superficie) !important;
    border-color: var(--frota-borda) !important;
}

html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarAbastecimentoMotorista,
    #modalVisualizarSolicitacaoAbastecimento,
    #modalRejeitarSolicitacaoAbastecimento
) :is(.modal-topo h2, .modal-campo strong) {
    color: var(--frota-texto) !important;
}

html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarAbastecimentoMotorista,
    #modalVisualizarSolicitacaoAbastecimento,
    #modalRejeitarSolicitacaoAbastecimento
) :is(.modal-subtitulo, .solicitacao-visualizacao-status) {
    color: var(--frota-suave) !important;
}

html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarAbastecimentoMotorista,
    #modalVisualizarSolicitacaoAbastecimento,
    #modalRejeitarSolicitacaoAbastecimento
) .modal-fechar {
    color: var(--frota-texto) !important;
    background: var(--frota-superficie-alta) !important;
    border-color: #475569 !important;
}

html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarAbastecimentoMotorista,
    #modalVisualizarSolicitacaoAbastecimento,
    #modalRejeitarSolicitacaoAbastecimento
) .modal-fechar:hover {
    background: var(--tema-superficie-hover) !important;
    border-color: #64748b !important;
}

html.tema-conforto body.pagina-operacional-frota :is(
    #modalCadastrarAbastecimentoMotorista,
    #modalVisualizarSolicitacaoAbastecimento
) .modal-campo > input[readonly] {
    color: #cbd5e1 !important;
    -webkit-text-fill-color: #cbd5e1 !important;
    background: #1a2639 !important;
    opacity: 1;
}

/* Envio do comprovante pelo motorista. */
html.tema-conforto body.pagina-operacional-frota #modalCadastrarAbastecimentoMotorista :is(
    .abastecimento-motorista-upload,
    #m_preview_comprovante_abastecimento,
    .conferencia-dados
) {
    color: #cbd5e1 !important;
    background: var(--frota-campo) !important;
    border-color: #475569 !important;
}

html.tema-conforto body.pagina-operacional-frota #modalCadastrarAbastecimentoMotorista .abastecimento-motorista-upload:focus-within {
    background: #1b293e !important;
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, .16) !important;
}

html.tema-conforto body.pagina-operacional-frota #modalCadastrarAbastecimentoMotorista .abastecimento-motorista-upload > label {
    color: var(--frota-texto) !important;
    background: transparent !important;
}

html.tema-conforto body.pagina-operacional-frota #modalCadastrarAbastecimentoMotorista :is(.upload-ajuda, #m_nome_arquivo_abastecimento) {
    color: var(--frota-suave) !important;
}

html.tema-conforto body.pagina-operacional-frota #modalCadastrarAbastecimentoMotorista input[type="file"] {
    color: #cbd5e1 !important;
    background: #111c2f !important;
    border-color: var(--frota-borda) !important;
}

html.tema-conforto body.pagina-operacional-frota #modalCadastrarAbastecimentoMotorista input[type="file"]::file-selector-button,
html.tema-conforto body.pagina-operacional-frota #modalCadastrarAbastecimentoMotorista .btn-cancelar-motorista {
    color: var(--frota-texto) !important;
    background: var(--frota-superficie-alta) !important;
    border-color: #475569 !important;
}

html.tema-conforto body.pagina-operacional-frota #modalCadastrarAbastecimentoMotorista :is(.acao-ia, #m_status_contexto_abastecimento) {
    color: #bfdbfe !important;
    background: rgba(30, 64, 175, .16) !important;
    border-color: rgba(96, 165, 250, .32) !important;
}

html.tema-conforto body.pagina-operacional-frota #modalCadastrarAbastecimentoMotorista #m_status_contexto_abastecimento.erro {
    color: #fdba74 !important;
    background: rgba(154, 52, 18, .18) !important;
    border-color: rgba(251, 146, 60, .34) !important;
}

html.tema-conforto body.pagina-operacional-frota #modalCadastrarAbastecimentoMotorista .acao-ia .botao-geral:disabled,
html.tema-conforto body.pagina-operacional-frota #modalCadastrarAbastecimentoMotorista #btnSalvarAbastecimentoMotorista:disabled {
    color: var(--frota-suave) !important;
    background: var(--frota-campo) !important;
    border-color: var(--frota-borda) !important;
}

/* Conferencia da solicitacao e acesso ao comprovante. */
html.tema-conforto body.pagina-operacional-frota #modalVisualizarSolicitacaoAbastecimento .solicitacao-modal-icone {
    color: #fdba74 !important;
    background: rgba(234, 88, 12, .14) !important;
    border-color: rgba(251, 146, 60, .34) !important;
}

html.tema-conforto body.pagina-operacional-frota #modalVisualizarSolicitacaoAbastecimento .solicitacao-comprovante {
    color: var(--frota-texto) !important;
    background: var(--frota-campo) !important;
    border-color: var(--frota-borda) !important;
}

html.tema-conforto body.pagina-operacional-frota #modalVisualizarSolicitacaoAbastecimento .solicitacao-comprovante__topo,
html.tema-conforto body.pagina-operacional-frota #modalVisualizarSolicitacaoAbastecimento .solicitacao-comprovante__link {
    color: var(--frota-texto) !important;
}

html.tema-conforto body.pagina-operacional-frota #modalVisualizarSolicitacaoAbastecimento .solicitacao-comprovante__topo span,
html.tema-conforto body.pagina-operacional-frota #modalVisualizarSolicitacaoAbastecimento .solicitacao-comprovante__link small,
html.tema-conforto body.pagina-operacional-frota #modalVisualizarSolicitacaoAbastecimento .solicitacao-comprovante__mensagem {
    color: var(--frota-suave) !important;
}

html.tema-conforto body.pagina-operacional-frota #modalVisualizarSolicitacaoAbastecimento .solicitacao-comprovante__link {
    background: var(--frota-superficie-alta) !important;
    border-color: #475569 !important;
}

html.tema-conforto body.pagina-operacional-frota #modalVisualizarSolicitacaoAbastecimento .solicitacao-comprovante__link:hover {
    background: var(--tema-superficie-hover) !important;
    border-color: #60a5fa !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .24) !important;
}

html.tema-conforto body.pagina-operacional-frota #modalVisualizarSolicitacaoAbastecimento .solicitacao-comprovante__link-icone {
    color: #93c5fd !important;
    background: rgba(37, 99, 235, .22) !important;
}

/* Rejeicao: mantem o alerta vermelho legivel sem usar superficie clara. */
html.tema-conforto body.pagina-operacional-frota #modalRejeitarSolicitacaoAbastecimento .solicitacao-rejeicao-aviso {
    color: #fecaca !important;
    background: rgba(127, 29, 29, .22) !important;
    border-color: rgba(248, 113, 113, .38) !important;
}

html.tema-conforto body.pagina-operacional-frota #modalRejeitarSolicitacaoAbastecimento .solicitacao-rejeicao-contador {
    color: var(--frota-suave) !important;
}

html.tema-conforto body.pagina-operacional-frota :is(
    #modalVisualizarSolicitacaoAbastecimento,
    #modalRejeitarSolicitacaoAbastecimento
) .modal-rodape > .botao-geral:first-child {
    color: var(--frota-texto) !important;
    background: var(--frota-superficie-alta) !important;
    border: 1px solid #475569 !important;
    box-shadow: none !important;
}

html.tema-conforto body.pagina-operacional-frota :is(
    #modalVisualizarSolicitacaoAbastecimento,
    #modalRejeitarSolicitacaoAbastecimento
) .modal-rodape > .botao-geral:first-child:hover {
    background: var(--tema-superficie-hover) !important;
    border-color: #64748b !important;
}

html.tema-conforto body.pagina-operacional-frota .info-item,
html.tema-conforto body.pagina-operacional-frota .card-custo,
html.tema-conforto body.pagina-operacional-frota .periodo-texto {
    color: var(--frota-texto) !important;
    background: var(--frota-superficie-alta) !important;
    border-color: var(--frota-borda) !important;
}

html.tema-conforto body.pagina-operacional-frota .card-custo strong,
html.tema-conforto body.pagina-operacional-frota .info-item strong {
    color: var(--frota-texto) !important;
}

/* Loading inserido dinamicamente na edição de veículo. */
html.tema-conforto body.pagina-operacional-frota #overlay-loading-veiculo .box {
    color: var(--frota-texto) !important;
    background: var(--frota-superficie) !important;
    border: 1px solid var(--frota-borda);
}

html.tema-conforto body.pagina-operacional-frota #overlay-loading-veiculo .txt {
    color: var(--frota-texto) !important;
}

html.tema-conforto body.pagina-operacional-frota #overlay-loading-veiculo .spinner {
    border-color: #52637b !important;
    border-top-color: #ff7a00 !important;
}

/* =====================================================================
   REFINOS VISUAIS APÓS VALIDAÇÃO EM TELA
   ===================================================================== */

/* Frota: total do ranking com contraste profissional. */
html.tema-conforto body.pagina-operacional-frota .ranking-total {
    color: #fdba74 !important;
    background: rgba(255, 122, 0, .11) !important;
    border: 1px solid rgba(251, 146, 60, .36) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .02);
}

/* Frota: hierarquia completa dos cards de notificação. */
html.tema-conforto body.pagina-operacional-frota .cv-notif-card__ico {
    color: #fdba74 !important;
    background: #27364b !important;
    border-color: #475569 !important;
}

html.tema-conforto body.pagina-operacional-frota .cv-notif-card__veiculo {
    color: var(--frota-texto) !important;
}

html.tema-conforto body.pagina-operacional-frota .cv-notif-card__placa,
html.tema-conforto body.pagina-operacional-frota .cv-notif-card__venc,
html.tema-conforto body.pagina-operacional-frota .cv-notif-card__id {
    color: var(--frota-suave) !important;
}

html.tema-conforto body.pagina-operacional-frota .cv-notif-card__msg {
    color: #cbd5e1 !important;
    background: #172033 !important;
    border-color: #3b4b63 !important;
}

html.tema-conforto body.pagina-operacional-frota .cv-badge-prioridade.is-alta {
    color: #fdba74 !important;
    background: rgba(245, 158, 11, .11) !important;
    border-color: rgba(251, 191, 36, .32) !important;
}

html.tema-conforto body.pagina-operacional-frota .cv-badge-status.is-pendente {
    color: #cbd5e1 !important;
    background: #27364b !important;
    border-color: #475569 !important;
}

/* CRM: totais do ranking e gráfico. */
html.tema-conforto body.pagina-crm .ranking-total {
    color: #fdba74 !important;
    background: rgba(255, 122, 0, .11) !important;
    border: 1px solid rgba(251, 146, 60, .36) !important;
}

/* CRM: ações secundárias do filtro. */
html.tema-conforto body.pagina-crm .crm-popover-vertical .limpar,
html.tema-conforto body.pagina-crm .crm-popover-vertical .cancelar {
    color: #dbe4f0 !important;
    background: #2a3950 !important;
    border: 1px solid #52637b !important;
}

html.tema-conforto body.pagina-crm .crm-popover-vertical .limpar:hover:not(:disabled),
html.tema-conforto body.pagina-crm .crm-popover-vertical .cancelar:hover:not(:disabled) {
    color: #fff !important;
    background: #34445d !important;
    border-color: #64748b !important;
}

html.tema-conforto body.pagina-crm .crm-popover-vertical .limpar:disabled,
html.tema-conforto body.pagina-crm .crm-popover-vertical .cancelar:disabled {
    color: #718096 !important;
    background: #202c40 !important;
    border-color: #334155 !important;
    opacity: .72 !important;
}

/* CRM: Select2 do modal Editar Venda possui regras próprias com ID. */
html.tema-conforto body.pagina-crm #modalEditarProspecto .modal-campo-select .select2-container--default .select2-selection--single {
    color: var(--crm-texto) !important;
    background: var(--crm-campo) !important;
    border-color: var(--crm-borda) !important;
}

html.tema-conforto body.pagina-crm #modalEditarProspecto .modal-campo-select .select2-selection__rendered {
    color: var(--crm-texto) !important;
}

html.tema-conforto body.pagina-crm #modalEditarProspecto .modal-campo-select .select2-selection__placeholder,
html.tema-conforto body.pagina-crm #modalEditarProspecto .modal-campo-select > label {
    color: var(--crm-suave) !important;
    background: var(--crm-superficie) !important;
}

html.tema-conforto body.pagina-crm #modalEditarProspecto .modal-campo-select .select2-selection__clear {
    color: #94a3b8 !important;
}

/* Nota Fiscal: histórico do modal de detalhes técnicos. */
html.tema-conforto body.pagina-nota-fiscal #modalDetalhesTecnicosNfse .nfse-detalhes-historico {
    border-top-color: var(--nf-borda) !important;
}

html.tema-conforto body.pagina-nota-fiscal #modalDetalhesTecnicosNfse .nfse-detalhes-historico h3 {
    color: var(--nf-texto) !important;
}

html.tema-conforto body.pagina-nota-fiscal #modalDetalhesTecnicosNfse .nfse-evento,
html.tema-conforto body.pagina-nota-fiscal #modalDetalhesTecnicosNfse .nfse-evento-vazio {
    color: var(--nf-texto) !important;
    background: #172033 !important;
    border-color: #38bdf8 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .18) !important;
}

html.tema-conforto body.pagina-nota-fiscal #modalDetalhesTecnicosNfse .nfse-evento-status {
    color: var(--nf-texto) !important;
}

html.tema-conforto body.pagina-nota-fiscal #modalDetalhesTecnicosNfse .nfse-evento-data,
html.tema-conforto body.pagina-nota-fiscal #modalDetalhesTecnicosNfse .nfse-evento-descricao {
    color: var(--nf-suave) !important;
}

html.tema-conforto body.pagina-nota-fiscal #modalDetalhesTecnicosNfse .nfse-evento-seta {
    color: #38bdf8 !important;
}

/* Perfil compartilhado: nome e divisor em todas as páginas. */
html.tema-conforto #modalPerfilUsuario .perfil-nome-usuario,
html.tema-conforto #modalPerfilUsuario #nomeUsuarioPerfil {
    color: #f1f5f9 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .20);
}

html.tema-conforto #modalPerfilUsuario .divisor {
    border-top-color: #3b4b63 !important;
}

/* Contorno externo compartilhado das páginas com navegação em abas. */
html.tema-conforto .conteudo-aba {
    border: 1px solid rgba(100, 116, 139, .48) !important;
    box-shadow:
        0 12px 30px rgba(0, 0, 0, .18),
        inset 0 1px 0 rgba(255, 255, 255, .015) !important;
}

html.tema-conforto .conteudo-aba:hover {
    border-color: rgba(100, 116, 139, .58) !important;
}

/* Financeiro / Nota Fiscal: ações secundárias dos filtros. */
html.tema-conforto body.pagina-nota-fiscal .popover .limpar,
html.tema-conforto body.pagina-nota-fiscal .popover .cancelar {
    color: #dbe4f0 !important;
    background: #2a3950 !important;
    border: 1px solid #52637b !important;
}

html.tema-conforto body.pagina-nota-fiscal .popover .limpar:hover:not(:disabled),
html.tema-conforto body.pagina-nota-fiscal .popover .cancelar:hover:not(:disabled) {
    color: #fff !important;
    background: #34445d !important;
    border-color: #64748b !important;
}

html.tema-conforto body.pagina-nota-fiscal .popover .limpar:disabled,
html.tema-conforto body.pagina-nota-fiscal .popover .cancelar:disabled {
    color: #718096 !important;
    background: #202c40 !important;
    border-color: #334155 !important;
    opacity: .72 !important;
}

/* =====================================================================
   AGENDA DE ORDENS DE SERVIÇO — COBERTURA ESCURA COMPLETA
   Escopo da página: body.pagina-agenda-ordem-servico
   ===================================================================== */

html.tema-conforto body.pagina-agenda-ordem-servico {
    --agenda-fundo: #0f172a;
    --agenda-superficie: #1e293b;
    --agenda-superficie-2: #243147;
    --agenda-campo: #172033;
    --agenda-borda: #3b4b63;
    --agenda-texto: #f1f5f9;
    --agenda-texto-secundario: #cbd5e1;
    --agenda-placeholder: #8fa0b8;
    --agenda-laranja: #ff7a00;
    color: var(--agenda-texto);
    background: var(--agenda-fundo) !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico main,
html.tema-conforto body.pagina-agenda-ordem-servico .layout-controle,
html.tema-conforto body.pagina-agenda-ordem-servico .conteudo-aba,
html.tema-conforto body.pagina-agenda-ordem-servico .lista-os-section,
html.tema-conforto body.pagina-agenda-ordem-servico .section-paginacao {
    color: var(--agenda-texto) !important;
    background: var(--agenda-fundo) !important;
}

/* Botão que abre o filtro. */
html.tema-conforto body.pagina-agenda-ordem-servico .btn-filtro {
    min-height: 38px;
    color: var(--agenda-texto) !important;
    background: var(--agenda-superficie-2) !important;
    border: 1px solid #475569 !important;
    border-radius: 9px;
    box-shadow: 0 5px 14px rgba(0, 0, 0, .20);
}

html.tema-conforto body.pagina-agenda-ordem-servico .btn-filtro:hover,
html.tema-conforto body.pagina-agenda-ordem-servico .btn-filtro[aria-expanded="true"] {
    background: #2b3a51 !important;
    border-color: #64748b !important;
}

/* Popovers de período das três abas. */
html.tema-conforto body.pagina-agenda-ordem-servico .section-filtro {
    position: relative;
}

html.tema-conforto body.pagina-agenda-ordem-servico .popover-periodo,
html.tema-conforto body.pagina-agenda-ordem-servico [id^="popoverPeriodo"] {
    box-sizing: border-box;
    width: 420px !important;
    max-width: calc(100vw - 32px) !important;
    padding: 22px 16px 16px !important;
    color: var(--agenda-texto) !important;
    background: var(--agenda-superficie) !important;
    border: 1px solid var(--agenda-borda) !important;
    border-radius: 13px !important;
    box-shadow: 0 18px 48px rgba(0, 0, 0, .42) !important;
    z-index: 1200;
}

html.tema-conforto body.pagina-agenda-ordem-servico .popover-periodo form,
html.tema-conforto body.pagina-agenda-ordem-servico [id^="popoverPeriodo"] form {
    display: grid;
    gap: 18px;
}

html.tema-conforto body.pagina-agenda-ordem-servico .popover-periodo .linha,
html.tema-conforto body.pagina-agenda-ordem-servico [id^="popoverPeriodo"] .linha {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px !important;
    margin: 0 !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico .popover-periodo .label-filtro,
html.tema-conforto body.pagina-agenda-ordem-servico [id^="popoverPeriodo"] .label-filtro {
    display: grid;
    gap: 9px;
    margin: 0 !important;
    color: var(--agenda-texto-secundario) !important;
    font-weight: 700;
}

html.tema-conforto body.pagina-agenda-ordem-servico .popover-periodo .filtro,
html.tema-conforto body.pagina-agenda-ordem-servico [id^="popoverPeriodo"] .filtro {
    width: 100%;
    margin: 0 !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico .input-filtro,
html.tema-conforto body.pagina-agenda-ordem-servico .select-filtro {
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    height: 41px !important;
    padding: 0 12px !important;
    color: var(--agenda-texto) !important;
    background-color: var(--agenda-campo) !important;
    border: 1px solid #475569 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    color-scheme: dark;
}

html.tema-conforto body.pagina-agenda-ordem-servico .input-filtro:focus,
html.tema-conforto body.pagina-agenda-ordem-servico .select-filtro:focus {
    border-color: #fb923c !important;
    box-shadow: 0 0 0 3px rgba(251, 146, 60, .14) !important;
    outline: none !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico input[type="date"]::-webkit-calendar-picker-indicator,
html.tema-conforto body.pagina-agenda-ordem-servico input[type="datetime-local"]::-webkit-calendar-picker-indicator,
html.tema-conforto body.pagina-agenda-ordem-servico input[type="time"]::-webkit-calendar-picker-indicator {
    filter: invert(1) opacity(.75);
    cursor: pointer;
}

html.tema-conforto body.pagina-agenda-ordem-servico .popover-periodo .acoes,
html.tema-conforto body.pagina-agenda-ordem-servico [id^="popoverPeriodo"] .acoes {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center;
    gap: 8px !important;
    margin: 0 !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico .popover-periodo .acoes button,
html.tema-conforto body.pagina-agenda-ordem-servico [id^="popoverPeriodo"] .acoes button {
    min-height: 34px;
    padding: 0 13px;
    border-radius: 8px;
    font-weight: 700;
}

html.tema-conforto body.pagina-agenda-ordem-servico .popover-periodo .ok,
html.tema-conforto body.pagina-agenda-ordem-servico [id^="popoverPeriodo"] .ok {
    color: #fff !important;
    background: var(--agenda-laranja) !important;
    border-color: var(--agenda-laranja) !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico .popover-periodo .limpar,
html.tema-conforto body.pagina-agenda-ordem-servico .popover-periodo .cancelar,
html.tema-conforto body.pagina-agenda-ordem-servico [id^="popoverPeriodo"] .limpar,
html.tema-conforto body.pagina-agenda-ordem-servico [id^="popoverPeriodo"] .cancelar {
    color: var(--agenda-texto-secundario) !important;
    background: var(--agenda-superficie-2) !important;
    border: 1px solid #475569 !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico .popover-periodo button:disabled,
html.tema-conforto body.pagina-agenda-ordem-servico [id^="popoverPeriodo"] button:disabled {
    color: #7f8da2 !important;
    background: #202b3e !important;
    border-color: #334155 !important;
    opacity: .68 !important;
    cursor: not-allowed;
}

/* Fundo e painel dos modais. */
html.tema-conforto body.pagina-agenda-ordem-servico .modal-geral {
    background: rgba(2, 6, 23, .72) !important;
    backdrop-filter: blur(3px);
}

html.tema-conforto body.pagina-agenda-ordem-servico .modal-universal .modal-conteudo {
    width: min(800px, calc(100vw - 32px));
    max-height: calc(100vh - 32px);
    overflow: hidden;
    color: var(--agenda-texto) !important;
    background: var(--agenda-superficie) !important;
    border: 1px solid var(--agenda-borda) !important;
    border-radius: 14px !important;
    box-shadow: 0 26px 70px rgba(0, 0, 0, .55) !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico .modal-topo,
html.tema-conforto body.pagina-agenda-ordem-servico .modal-corpo,
html.tema-conforto body.pagina-agenda-ordem-servico .modal-rodape {
    color: var(--agenda-texto) !important;
    background: var(--agenda-superficie) !important;
    border-color: var(--agenda-borda) !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico .modal-topo {
    min-height: 64px;
    padding: 0 16px !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico .modal-topo h2 {
    color: var(--agenda-texto) !important;
    font-size: 19px;
}

html.tema-conforto body.pagina-agenda-ordem-servico .modal-corpo {
    padding: 34px 16px 26px !important;
    overflow-y: auto;
}

html.tema-conforto body.pagina-agenda-ordem-servico .modal-rodape {
    min-height: 78px;
    padding: 14px 20px !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico .modal-fechar {
    color: var(--agenda-texto-secundario) !important;
    background: var(--agenda-superficie-2) !important;
    border: 1px solid var(--agenda-borda) !important;
}

/* Grade previsível para todos os formulários da página. */
html.tema-conforto body.pagina-agenda-ordem-servico .modal-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 14px !important;
    align-items: start;
}

html.tema-conforto body.pagina-agenda-ordem-servico .modal-campo {
    min-width: 0;
    margin: 0 !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico .modal-campo.linha {
    grid-column: 1 / -1;
}

html.tema-conforto body.pagina-agenda-ordem-servico .modal-campo input,
html.tema-conforto body.pagina-agenda-ordem-servico .modal-campo select,
html.tema-conforto body.pagina-agenda-ordem-servico .modal-campo textarea {
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    color: var(--agenda-texto) !important;
    background: var(--agenda-campo) !important;
    border: 1px solid #475569 !important;
    border-radius: 9px !important;
    box-shadow: none !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico .modal-campo input,
html.tema-conforto body.pagina-agenda-ordem-servico .modal-campo select {
    height: 44px !important;
    padding: 0 12px !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico .modal-campo textarea {
    min-height: 98px !important;
    padding: 13px 12px !important;
    resize: vertical;
}

html.tema-conforto body.pagina-agenda-ordem-servico .modal-campo input::placeholder,
html.tema-conforto body.pagina-agenda-ordem-servico .modal-campo textarea::placeholder {
    color: var(--agenda-placeholder) !important;
    opacity: 1;
}

html.tema-conforto body.pagina-agenda-ordem-servico .modal-campo input:focus,
html.tema-conforto body.pagina-agenda-ordem-servico .modal-campo select:focus,
html.tema-conforto body.pagina-agenda-ordem-servico .modal-campo textarea:focus {
    border-color: #fb923c !important;
    box-shadow: 0 0 0 3px rgba(251, 146, 60, .15) !important;
    outline: none !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico .modal-campo option,
html.tema-conforto body.pagina-agenda-ordem-servico .select-filtro option {
    color: var(--agenda-texto);
    background: var(--agenda-campo);
}

/* Select2 dentro dos modais. */
html.tema-conforto body.pagina-agenda-ordem-servico .modal-universal .select2-container {
    width: 100% !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico .modal-universal .select2-selection--single {
    height: 44px !important;
    color: var(--agenda-texto) !important;
    background: var(--agenda-campo) !important;
    border: 1px solid #475569 !important;
    border-radius: 9px !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico .modal-universal .select2-selection__rendered {
    line-height: 42px !important;
    color: var(--agenda-texto) !important;
    padding-left: 12px !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico .modal-universal .select2-selection__arrow {
    height: 42px !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico .select2-dropdown,
html.tema-conforto body.pagina-agenda-ordem-servico .select2-search--dropdown,
html.tema-conforto body.pagina-agenda-ordem-servico .select2-results {
    color: var(--agenda-texto) !important;
    background: var(--agenda-superficie) !important;
    border-color: var(--agenda-borda) !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico .select2-search__field {
    color: var(--agenda-texto) !important;
    background: var(--agenda-campo) !important;
    border-color: #475569 !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico .select2-results__option {
    color: var(--agenda-texto-secundario) !important;
    background: var(--agenda-superficie) !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico .select2-results__option--highlighted,
html.tema-conforto body.pagina-agenda-ordem-servico .select2-results__option[aria-selected="true"] {
    color: #fff !important;
    background: var(--agenda-superficie-2) !important;
}

/* O textarea fica na primeira coluna nos modais com quatro campos. */
html.tema-conforto body.pagina-agenda-ordem-servico #modalSoliAgendamentoUrbano .modal-campo:last-child,
html.tema-conforto body.pagina-agenda-ordem-servico #modalEditarAgendamentoUrbano .modal-campo:last-child {
    grid-column: 1 / 2;
}

/* Botão Salvar neutro, seguindo o painel. */
html.tema-conforto body.pagina-agenda-ordem-servico .modal-rodape .botao-geral {
    color: #fff !important;
    background: var(--agenda-superficie-2) !important;
    border: 1px solid var(--agenda-borda) !important;
    box-shadow: 0 5px 14px rgba(0, 0, 0, .18) !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico .modal-rodape .botao-geral:hover {
    background: #2d3d55 !important;
    border-color: #64748b !important;
}

@media (max-width: 700px) {
    html.tema-conforto body.pagina-agenda-ordem-servico .popover-periodo,
    html.tema-conforto body.pagina-agenda-ordem-servico [id^="popoverPeriodo"] {
        width: min(420px, calc(100vw - 24px)) !important;
        padding: 18px 14px 14px !important;
    }

    html.tema-conforto body.pagina-agenda-ordem-servico .popover-periodo .linha,
    html.tema-conforto body.pagina-agenda-ordem-servico [id^="popoverPeriodo"] .linha,
    html.tema-conforto body.pagina-agenda-ordem-servico .modal-grid {
        grid-template-columns: 1fr !important;
    }

    html.tema-conforto body.pagina-agenda-ordem-servico .modal-campo,
    html.tema-conforto body.pagina-agenda-ordem-servico .modal-campo.linha,
    html.tema-conforto body.pagina-agenda-ordem-servico #modalSoliAgendamentoUrbano .modal-campo:last-child,
    html.tema-conforto body.pagina-agenda-ordem-servico #modalEditarAgendamentoUrbano .modal-campo:last-child {
        grid-column: 1 / -1;
    }

    html.tema-conforto body.pagina-agenda-ordem-servico .popover-periodo .acoes,
    html.tema-conforto body.pagina-agenda-ordem-servico [id^="popoverPeriodo"] .acoes {
        flex-wrap: wrap;
    }
}

/* =====================================================================
   AGENDA O.S. — MODAL MEU PERFIL
   Corrige campos claros, labels flutuantes, foto e rodapé.
   ===================================================================== */
html.tema-conforto body.pagina-agenda-ordem-servico #modalPerfilUsuario .modal-conteudo {
    width: min(800px, calc(100vw - 32px)) !important;
    max-width: 800px !important;
    color: var(--agenda-texto) !important;
    background: var(--agenda-superficie) !important;
    border: 1px solid var(--agenda-borda) !important;
    border-radius: 15px !important;
    overflow: hidden !important;
    box-shadow: 0 26px 70px rgba(0, 0, 0, .52) !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico #modalPerfilUsuario .modal-topo,
html.tema-conforto body.pagina-agenda-ordem-servico #modalPerfilUsuario .modal-corpo,
html.tema-conforto body.pagina-agenda-ordem-servico #modalPerfilUsuario .modal-rodape {
    color: var(--agenda-texto) !important;
    background: var(--agenda-superficie) !important;
    border-color: var(--agenda-borda) !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico #modalPerfilUsuario .modal-corpo {
    padding: 34px 16px 36px !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico #modalPerfilUsuario .perfil-foto-box {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 10px 0 28px !important;
    color: var(--agenda-texto) !important;
    background: transparent !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico #modalPerfilUsuario .perfil-foto {
    width: 112px !important;
    height: 112px !important;
    object-fit: cover !important;
    border: 3px solid #cbd5e1 !important;
    border-radius: 50% !important;
    background: var(--agenda-campo) !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .30) !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico #modalPerfilUsuario .perfil-nome-usuario,
html.tema-conforto body.pagina-agenda-ordem-servico #modalPerfilUsuario #nomeUsuarioPerfil {
    color: var(--agenda-texto) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: center !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico #modalPerfilUsuario label.botao-geral.pequeno {
    position: static !important;
    transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    width: auto !important;
    height: 38px !important;
    padding: 0 14px !important;
    color: #fff !important;
    background: var(--agenda-superficie-2) !important;
    border: 1px solid var(--agenda-borda) !important;
    border-radius: 9px !important;
    cursor: pointer !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico #modalPerfilUsuario .divisor {
    margin: 10px 0 28px !important;
    border: 0 !important;
    border-top: 1px solid var(--agenda-borda) !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico #modalPerfilUsuario #formAlterarSenha .modal-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 14px !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico #modalPerfilUsuario .modal-campo {
    position: relative !important;
    min-width: 0 !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico #modalPerfilUsuario .modal-campo input {
    width: 100% !important;
    height: 46px !important;
    padding: 16px 13px 5px !important;
    color: var(--agenda-texto) !important;
    caret-color: var(--agenda-destaque) !important;
    background: var(--agenda-campo) !important;
    border: 1px solid #475569 !important;
    border-radius: 10px !important;
    outline: none !important;
    box-shadow: none !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico #modalPerfilUsuario .modal-campo label {
    position: absolute !important;
    top: 50% !important;
    left: 13px !important;
    z-index: 2 !important;
    width: auto !important;
    max-width: calc(100% - 26px) !important;
    padding: 0 !important;
    color: var(--agenda-texto-suave) !important;
    background: transparent !important;
    font-size: 14px !important;
    line-height: 1 !important;
    pointer-events: none !important;
    transform: translateY(-50%) !important;
    transition: top .18s ease, font-size .18s ease, color .18s ease !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico #modalPerfilUsuario .modal-campo input:focus {
    border-color: var(--agenda-destaque) !important;
    box-shadow: 0 0 0 3px rgba(255, 122, 0, .14) !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico #modalPerfilUsuario .modal-campo input:focus + label,
html.tema-conforto body.pagina-agenda-ordem-servico #modalPerfilUsuario .modal-campo input:not(:placeholder-shown) + label {
    top: 9px !important;
    color: #fdba74 !important;
    font-size: 11px !important;
    transform: none !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico #modalPerfilUsuario .modal-rodape {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 12px !important;
    padding: 18px 24px !important;
    border-top: 1px solid var(--agenda-borda) !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico #modalPerfilUsuario .modal-rodape .botao-geral {
    min-height: 40px !important;
    padding: 0 16px !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico #modalPerfilUsuario #btnSalvarNovaSenha {
    color: #fff !important;
    background: var(--agenda-destaque) !important;
    border-color: var(--agenda-destaque) !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico #modalPerfilUsuario #btnSalvarNovaSenha:hover {
    background: #ea6f00 !important;
    border-color: #ea6f00 !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico #modalPerfilUsuario #btnDeslogarSistema {
    color: var(--agenda-texto) !important;
    background: var(--agenda-superficie-2) !important;
    border-color: var(--agenda-borda) !important;
}

@media (max-width: 700px) {
    html.tema-conforto body.pagina-agenda-ordem-servico #modalPerfilUsuario .modal-conteudo {
        width: calc(100vw - 20px) !important;
    }

    html.tema-conforto body.pagina-agenda-ordem-servico #modalPerfilUsuario #formAlterarSenha .modal-grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    html.tema-conforto body.pagina-agenda-ordem-servico #modalPerfilUsuario .modal-rodape {
        flex-wrap: wrap !important;
        padding: 14px !important;
    }
}

/* =====================================================================
   AGENDA / ORDEM DE SERVIÇO — SUGESTÕES DA PESQUISA
   Apenas aparência. Não altera posição, largura ou layout original.
   ===================================================================== */
html.tema-conforto body.pagina-agenda-ordem-servico #sugestoes_urbano,
html.tema-conforto body.pagina-agenda-ordem-servico #sugestoes_rural,
html.tema-conforto body.pagina-agenda-ordem-servico #sugestoes_reservar_agenda {
    color: var(--agenda-texto) !important;
    background-color: var(--agenda-superficie) !important;
    border-color: var(--agenda-borda) !important;
    box-shadow: 0 18px 38px rgba(0, 0, 0, .42) !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico #sugestoes_urbano li,
html.tema-conforto body.pagina-agenda-ordem-servico #sugestoes_rural li,
html.tema-conforto body.pagina-agenda-ordem-servico #sugestoes_reservar_agenda li {
    color: var(--agenda-texto-secundario) !important;
    background-color: var(--agenda-superficie) !important;
    border-color: rgba(148, 163, 184, .10) !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico #sugestoes_urbano li:hover,
html.tema-conforto body.pagina-agenda-ordem-servico #sugestoes_urbano li.ativo,
html.tema-conforto body.pagina-agenda-ordem-servico #sugestoes_rural li:hover,
html.tema-conforto body.pagina-agenda-ordem-servico #sugestoes_rural li.ativo,
html.tema-conforto body.pagina-agenda-ordem-servico #sugestoes_reservar_agenda li:hover,
html.tema-conforto body.pagina-agenda-ordem-servico #sugestoes_reservar_agenda li.ativo {
    color: #ffffff !important;
    background-color: var(--agenda-superficie-hover) !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico #sugestoes_urbano::-webkit-scrollbar-track,
html.tema-conforto body.pagina-agenda-ordem-servico #sugestoes_rural::-webkit-scrollbar-track,
html.tema-conforto body.pagina-agenda-ordem-servico #sugestoes_reservar_agenda::-webkit-scrollbar-track {
    background: var(--agenda-superficie) !important;
}

html.tema-conforto body.pagina-agenda-ordem-servico #sugestoes_urbano::-webkit-scrollbar-thumb,
html.tema-conforto body.pagina-agenda-ordem-servico #sugestoes_rural::-webkit-scrollbar-thumb,
html.tema-conforto body.pagina-agenda-ordem-servico #sugestoes_reservar_agenda::-webkit-scrollbar-thumb {
    background: #475569 !important;
    border-color: var(--agenda-superficie) !important;
}

/* =====================================================================
   AGENDA POR CIDADE — FILTRO SIMPLES E MODAL DOS DIAS
   Cobertura compartilhada para páginas Urbana/Rural no mesmo padrão.
   Somente aparência: não altera posição, largura ou alinhamento original.
   ===================================================================== */

/* Filtro de cidade. */
html.tema-conforto .filtro-cidade-centro .btn-filtro,
html.tema-conforto #btnCidade {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-elevada) !important;
    border-color: #475569 !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .22) !important;
}

html.tema-conforto .filtro-cidade-centro .btn-filtro:hover,
html.tema-conforto .filtro-cidade-centro .btn-filtro[aria-expanded="true"],
html.tema-conforto #btnCidade:hover,
html.tema-conforto #btnCidade[aria-expanded="true"] {
    color: #fff !important;
    background: var(--tema-superficie-hover) !important;
    border-color: #64748b !important;
}

/* Navegação semanal compartilhada pelas agendas Urbana e Rural. */
html.tema-conforto .navegacao-semana .botao-semana,
html.tema-conforto .navegacao-semana .botao-hoje,
html.tema-conforto .navegacao-semana .seletor-data-agenda {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-elevada) !important;
    border-color: #475569 !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .24) !important;
}

html.tema-conforto .navegacao-semana .botao-semana:hover,
html.tema-conforto .navegacao-semana .botao-hoje:hover {
    color: #ffffff !important;
    background: var(--tema-superficie-hover) !important;
    border-color: #64748b !important;
}

html.tema-conforto .navegacao-semana .botao-semana:focus-visible,
html.tema-conforto .navegacao-semana .botao-hoje:focus-visible,
html.tema-conforto .navegacao-semana .seletor-data-agenda:focus-within {
    border-color: var(--tema-destaque) !important;
    box-shadow: 0 0 0 3px rgba(255, 122, 0, .16) !important;
    outline: none !important;
}

html.tema-conforto .navegacao-semana .seletor-data-agenda > span {
    color: var(--tema-texto-secundario) !important;
}

html.tema-conforto .navegacao-semana .seletor-data-agenda input[type="date"] {
    color: var(--tema-texto) !important;
    -webkit-text-fill-color: var(--tema-texto) !important;
    background: var(--tema-campo) !important;
    border: 1px solid var(--tema-borda) !important;
    border-radius: 6px !important;
    padding: 7px 9px !important;
    color-scheme: dark;
}

html.tema-conforto .navegacao-semana .seletor-data-agenda input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1) brightness(.95);
    opacity: .9;
}

html.tema-conforto .navegacao-semana .periodo-semana {
    color: var(--tema-texto-secundario) !important;
}

html.tema-conforto .agenda-status-card .agenda-status-title {
    color: var(--tema-texto-secundario) !important;
}

html.tema-conforto .agenda-status-card .agenda-status-number {
    color: #f87171 !important;
}

html.tema-conforto .popover-simple,
html.tema-conforto #popoverCidade {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .42) !important;
}

html.tema-conforto .popover-simple .label-filtro-simple,
html.tema-conforto #popoverCidade .label-filtro-simple {
    color: var(--tema-texto-secundario) !important;
}

html.tema-conforto .popover-simple .select-filtro-simple,
html.tema-conforto #popoverCidade .select-filtro-simple {
    color: var(--tema-texto) !important;
    background: var(--tema-campo) !important;
    border-color: #475569 !important;
    color-scheme: dark;
}

html.tema-conforto .popover-simple .select-filtro-simple:focus,
html.tema-conforto #popoverCidade .select-filtro-simple:focus {
    border-color: var(--tema-destaque) !important;
    box-shadow: 0 0 0 3px rgba(255, 122, 0, .14) !important;
}

html.tema-conforto .popover-simple .ok,
html.tema-conforto #popoverCidade .ok {
    color: #fff !important;
    background: var(--tema-destaque) !important;
    border-color: var(--tema-destaque) !important;
}

html.tema-conforto .popover-simple .cancelar,
html.tema-conforto #popoverCidade .cancelar {
    color: var(--tema-texto-secundario) !important;
    background: var(--tema-superficie-elevada) !important;
    border-color: #475569 !important;
}

/* Modal aberto ao clicar nos dias da semana. */
html.tema-conforto .Modaldia {
    background: rgba(2, 6, 23, .78) !important;
    backdrop-filter: blur(3px);
}

html.tema-conforto .Modaldia .modal-corpo-dia {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .58) !important;
}

html.tema-conforto .Modaldia #tituloDia,
html.tema-conforto .Modaldia h2 {
    color: var(--tema-texto) !important;
}

html.tema-conforto .Modaldia .close-X {
    color: var(--tema-texto-secundario) !important;
    background: var(--tema-superficie-elevada) !important;
    border: 1px solid var(--tema-borda) !important;
    border-radius: 9px !important;
}

html.tema-conforto .Modaldia .close-X:hover {
    color: #fff !important;
    background: var(--tema-superficie-hover) !important;
    border-color: #64748b !important;
}

/* Botões do modal: remove os cartões brancos mantendo cores funcionais. */
html.tema-conforto .Modaldia .botao-finalizar,
html.tema-conforto .Modaldia .botao-reagendar,
html.tema-conforto .Modaldia .botao-editar-equipe,
html.tema-conforto .Modaldia .botao-marcar-os {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-elevada) !important;
    border: 1px solid #475569 !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .24) !important;
}

html.tema-conforto .Modaldia .botao-finalizar:hover,
html.tema-conforto .Modaldia .botao-reagendar:hover,
html.tema-conforto .Modaldia .botao-editar-equipe:hover,
html.tema-conforto .Modaldia .botao-marcar-os:hover {
    color: #fff !important;
    background: var(--tema-superficie-hover) !important;
    border-color: #64748b !important;
}

/* Pesquisa do modal. Não altera posição nem dimensões. */
html.tema-conforto .Modaldia .pesquisar,
html.tema-conforto .Modaldia .pesquisar .input-wrapper {
    background: transparent !important;
}

html.tema-conforto .Modaldia .pesquisar input,
html.tema-conforto .Modaldia #pesquisar {
    color: var(--tema-texto) !important;
    caret-color: var(--tema-destaque) !important;
    background: var(--tema-campo) !important;
    border-color: #475569 !important;
    box-shadow: none !important;
}

html.tema-conforto .Modaldia .pesquisar input::placeholder,
html.tema-conforto .Modaldia #pesquisar::placeholder {
    color: var(--tema-texto-suave) !important;
}

html.tema-conforto .Modaldia .pesquisar input:focus,
html.tema-conforto .Modaldia #pesquisar:focus {
    border-color: var(--tema-destaque) !important;
    box-shadow: 0 0 0 3px rgba(255, 122, 0, .14) !important;
}

html.tema-conforto .Modaldia .pesquisar i,
html.tema-conforto .Modaldia .input-wrapper > i {
    color: var(--tema-texto-suave) !important;
}

html.tema-conforto .Modaldia #sugestoes {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
    box-shadow: 0 18px 38px rgba(0, 0, 0, .44) !important;
}

html.tema-conforto .Modaldia #sugestoes li {
    color: var(--tema-texto-secundario) !important;
    background: var(--tema-superficie) !important;
    border-color: rgba(148, 163, 184, .12) !important;
}

html.tema-conforto .Modaldia #sugestoes li:hover,
html.tema-conforto .Modaldia #sugestoes li.ativo {
    color: #fff !important;
    background: var(--tema-superficie-hover) !important;
}

/* Legenda e tabela. */
html.tema-conforto .Modaldia .legenda-os-marcada {
    color: var(--tema-texto-secundario) !important;
    background: transparent !important;
}

html.tema-conforto .Modaldia .tabela-modal,
html.tema-conforto .Modaldia .tabela-modal-dia {
    color: var(--tema-texto-secundario) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .30) !important;
}

html.tema-conforto .Modaldia .tabela-modal-dia thead,
html.tema-conforto .Modaldia .tabela-modal-dia th {
    color: var(--tema-texto-secundario) !important;
    background: var(--tema-superficie-elevada) !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto .Modaldia .tabela-modal-dia tbody,
html.tema-conforto .Modaldia .tabela-modal-dia td {
    color: var(--tema-texto-secundario) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto .Modaldia .tabela-modal-dia tbody tr:hover td {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-hover) !important;
}

/* OS já vinculada a um técnico — mantém a marcação visível no tema escuro. */
html.tema-conforto .Modaldia .tabela-modal-dia tbody tr.os-marcada td {
    color: #fff7ed !important;
    background: #b85f08 !important;
    border-color: rgba(255, 190, 92, 0.3) !important;
}

html.tema-conforto .Modaldia .tabela-modal-dia tbody tr.os-marcada:hover td {
    color: #fff !important;
    background: #ca6b0b !important;
}

/* Demais modais antigos que reutilizam modal-corpo-dia/tabela-modal-dia. */
html.tema-conforto .modal-corpo-dia,
html.tema-conforto .modal-corpo-dia .section-Modal-botoes,
html.tema-conforto .modal-corpo-dia .botoes-modal-nav {
    border-color: var(--tema-borda) !important;
}

/* Barra de rolagem das sugestões e do modal. */
html.tema-conforto .Modaldia #sugestoes::-webkit-scrollbar-track,
html.tema-conforto .Modaldia .modal-corpo-dia::-webkit-scrollbar-track {
    background: var(--tema-superficie) !important;
}

html.tema-conforto .Modaldia #sugestoes::-webkit-scrollbar-thumb,
html.tema-conforto .Modaldia .modal-corpo-dia::-webkit-scrollbar-thumb {
    background: #475569 !important;
    border-color: var(--tema-superficie) !important;
}

/* =====================================================================
   PÁGINA CADASTRO — CARDS DE ACESSO E MODAIS DE TABELA
   Cobertura compartilhada para todos os cadastros que reutilizam:
   .menu-botao-cadastro, .modal-cadastro e .tabela-modal-cadastro.
   Somente aparência: não altera grid, posição, largura ou alinhamento.
   ===================================================================== */

/* Cards/botões que abrem os modais. */
html.tema-conforto .section-butoes-menu .menu-botao-cadastro {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, .28) !important;
}

html.tema-conforto .section-butoes-menu .menu-botao-cadastro span {
    color: var(--tema-texto) !important;
}

html.tema-conforto .section-butoes-menu .menu-botao-cadastro i {
    color: var(--tema-destaque) !important;
}

html.tema-conforto .section-butoes-menu .menu-botao-cadastro:hover,
html.tema-conforto .section-butoes-menu .menu-botao-cadastro:focus-visible {
    color: #fff !important;
    background: var(--tema-superficie-elevada) !important;
    border-color: #64748b !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .36) !important;
    outline: none !important;
}

html.tema-conforto .section-butoes-menu .menu-botao-cadastro:focus-visible {
    box-shadow:
        0 0 0 3px rgba(255, 122, 0, .18),
        0 14px 34px rgba(0, 0, 0, .36) !important;
}

/* Camada externa dos modais de cadastro. */
html.tema-conforto .modal-cadastro {
    color: var(--tema-texto) !important;
    background: rgba(2, 6, 23, .80) !important;
    backdrop-filter: blur(3px);
}

html.tema-conforto .modal-cadastro .modal-corpo {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .58) !important;
}

html.tema-conforto .modal-cadastro .modal-corpo > h2,
html.tema-conforto .modal-cadastro h2 {
    color: var(--tema-texto) !important;
}

html.tema-conforto .modal-cadastro .close-X {
    color: var(--tema-texto-secundario) !important;
    background: var(--tema-superficie-elevada) !important;
    border: 1px solid var(--tema-borda) !important;
    border-radius: 9px !important;
}

html.tema-conforto .modal-cadastro .close-X:hover,
html.tema-conforto .modal-cadastro .close-X:focus-visible {
    color: #fff !important;
    background: var(--tema-superficie-hover) !important;
    border-color: #64748b !important;
    outline: none !important;
}

/* Barra superior dos modais: botões e pesquisa. */
html.tema-conforto .modal-cadastro .botoes-modal-cadastro,
html.tema-conforto .modal-cadastro .botoes-modal-nav,
html.tema-conforto .modal-cadastro .pesquisar {
    color: var(--tema-texto) !important;
    background: transparent !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto .modal-cadastro .botoes-modal-nav .botao-geral {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-elevada) !important;
    border: 1px solid #475569 !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .24) !important;
}

html.tema-conforto .modal-cadastro .botoes-modal-nav .botao-geral:hover,
html.tema-conforto .modal-cadastro .botoes-modal-nav .botao-geral:focus-visible {
    color: #fff !important;
    background: var(--tema-superficie-hover) !important;
    border-color: #64748b !important;
    outline: none !important;
}

html.tema-conforto .modal-cadastro .pesquisar i {
    color: var(--tema-texto-suave) !important;
}

html.tema-conforto .modal-cadastro .pesquisar .input-pesquisa,
html.tema-conforto .modal-cadastro .input-pesquisa {
    color: var(--tema-texto) !important;
    caret-color: var(--tema-destaque) !important;
    background: var(--tema-campo) !important;
    border-color: #475569 !important;
    box-shadow: none !important;
}

html.tema-conforto .modal-cadastro .input-pesquisa::placeholder {
    color: var(--tema-texto-suave) !important;
}

html.tema-conforto .modal-cadastro .input-pesquisa:focus {
    border-color: var(--tema-destaque) !important;
    box-shadow: 0 0 0 3px rgba(255, 122, 0, .14) !important;
    outline: none !important;
}

/* Tabelas de todos os modais de cadastro. */
html.tema-conforto .modal-cadastro form,
html.tema-conforto .modal-cadastro .tabela-modal-cadastro {
    color: var(--tema-texto-secundario) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto .modal-cadastro .tabela-modal-cadastro {
    box-shadow: 0 12px 30px rgba(0, 0, 0, .28) !important;
}

/* A primeira linha é usada como cabeçalho mesmo sem thead em alguns modais. */
html.tema-conforto .modal-cadastro .tabela-modal-cadastro > tbody > tr:first-child > th,
html.tema-conforto .modal-cadastro .tabela-modal-cadastro tr:first-child th,
html.tema-conforto .modal-cadastro .tabela-modal-cadastro thead,
html.tema-conforto .modal-cadastro .tabela-modal-cadastro th {
    color: var(--tema-texto-secundario) !important;
    background: var(--tema-superficie-elevada) !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto .modal-cadastro .tabela-modal-cadastro tbody,
html.tema-conforto .modal-cadastro .tabela-modal-cadastro td {
    color: var(--tema-texto-secundario) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto .modal-cadastro .tabela-modal-cadastro tbody tr:hover td {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-hover) !important;
}

html.tema-conforto .modal-cadastro .tabela-modal-cadastro input[type="text"],
html.tema-conforto .modal-cadastro .tabela-modal-cadastro input[type="number"],
html.tema-conforto .modal-cadastro .tabela-modal-cadastro select,
html.tema-conforto .modal-cadastro .tabela-modal-cadastro textarea {
    color: var(--tema-texto) !important;
    background: var(--tema-campo) !important;
    border-color: #475569 !important;
}

html.tema-conforto .modal-cadastro .tabela-modal-cadastro input:focus,
html.tema-conforto .modal-cadastro .tabela-modal-cadastro select:focus,
html.tema-conforto .modal-cadastro .tabela-modal-cadastro textarea:focus {
    border-color: var(--tema-destaque) !important;
    box-shadow: 0 0 0 3px rgba(255, 122, 0, .14) !important;
    outline: none !important;
}

html.tema-conforto .modal-cadastro .tabela-modal-cadastro input[type="checkbox"] {
    accent-color: var(--tema-destaque);
}

/* Links/textos renderizados nas linhas não ficam apagados. */
html.tema-conforto .modal-cadastro .tabela-modal-cadastro a,
html.tema-conforto .modal-cadastro .tabela-modal-cadastro label,
html.tema-conforto .modal-cadastro .tabela-modal-cadastro span {
    color: var(--tema-texto-secundario) !important;
}

html.tema-conforto .modal-cadastro .tabela-modal-cadastro tr:hover a,
html.tema-conforto .modal-cadastro .tabela-modal-cadastro tr:hover label,
html.tema-conforto .modal-cadastro .tabela-modal-cadastro tr:hover span {
    color: var(--tema-texto) !important;
}

/* Rolagem dos modais e tabelas extensas. */
html.tema-conforto .modal-cadastro .modal-corpo::-webkit-scrollbar-track,
html.tema-conforto .modal-cadastro .tabela-modal-cadastro::-webkit-scrollbar-track {
    background: var(--tema-superficie) !important;
}

html.tema-conforto .modal-cadastro .modal-corpo::-webkit-scrollbar-thumb,
html.tema-conforto .modal-cadastro .tabela-modal-cadastro::-webkit-scrollbar-thumb {
    background: #475569 !important;
    border-color: var(--tema-superficie) !important;
}

/* Cadastro por setores e listas dinâmicas renderizadas pelo JavaScript. */
html.tema-conforto .section-butoes-menu .cadastro-setor-grupo {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .28) !important;
}

html.tema-conforto .section-butoes-menu .cadastro-setor-titulo {
    color: var(--tema-texto) !important;
}

html.tema-conforto .modal-cadastro .cadastro-toolbar,
html.tema-conforto .modal-cadastro .cadastro-toolbar__inicio,
html.tema-conforto .modal-cadastro .cadastro-toolbar__pesquisa,
html.tema-conforto .modal-cadastro .cadastro-status-filtro {
    color: var(--tema-texto) !important;
}

html.tema-conforto .modal-cadastro .cadastro-status-filtro select,
html.tema-conforto .modal-cadastro .cadastro-status-filtro option,
html.tema-conforto .modal-cadastro .cadastro-toolbar .pesquisar input {
    color: var(--tema-texto) !important;
    background: var(--tema-campo) !important;
    border-color: #475569 !important;
    color-scheme: dark;
}

html.tema-conforto .modal-cadastro .cadastro-toolbar .pesquisar input::placeholder {
    color: var(--tema-texto-suave) !important;
    opacity: 1;
}

html.tema-conforto .modal-cadastro .cadastro-status-filtro select:focus,
html.tema-conforto .modal-cadastro .cadastro-toolbar .pesquisar input:focus {
    border-color: var(--tema-destaque) !important;
    box-shadow: 0 0 0 3px rgba(255, 122, 0, .14) !important;
    outline: none !important;
}

html.tema-conforto .modal-cadastro .cadastro-lista {
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .28) !important;
}

html.tema-conforto .modal-cadastro .cadastro-grid--cabecalho {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-elevada) !important;
}

html.tema-conforto .modal-cadastro .cadastro-registro {
    color: var(--tema-texto-secundario) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto .modal-cadastro .cadastro-registro:hover {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-hover) !important;
}

html.tema-conforto .modal-cadastro .cadastro-registro--edicao,
html.tema-conforto .modal-cadastro .cadastro-registro--edicao:hover {
    background: var(--tema-superficie-elevada) !important;
    box-shadow: inset 4px 0 0 var(--tema-destaque) !important;
}

html.tema-conforto .modal-cadastro .cadastro-registro--edicao input {
    color: var(--tema-texto) !important;
    caret-color: var(--tema-destaque) !important;
    background: var(--tema-campo) !important;
    border-color: #475569 !important;
}

html.tema-conforto .modal-cadastro .cadastro-registro--edicao input:focus {
    border-color: var(--tema-destaque) !important;
    box-shadow: 0 0 0 3px rgba(255, 122, 0, .14) !important;
}

html.tema-conforto .modal-cadastro .cadastro-acao.cancelar {
    color: var(--tema-texto-secundario) !important;
    background: var(--tema-superficie-elevada) !important;
    border-color: var(--tema-borda) !important;
}

/* =====================================================================
   MODAL PERFIL — CORREÇÃO GLOBAL DO TEMA ESCURO
   Aplicado em todas as páginas que reutilizam #modalPerfilUsuario.
   Apenas aparência: não altera posição, largura, grid ou espaçamentos.
   ===================================================================== */

html.tema-conforto #modalPerfilUsuario,
html.tema-conforto #modalPerfilUsuario .modal-conteudo,
html.tema-conforto #modalPerfilUsuario .modal-topo,
html.tema-conforto #modalPerfilUsuario .modal-corpo,
html.tema-conforto #modalPerfilUsuario .modal-rodape {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto #modalPerfilUsuario .modal-conteudo {
    box-shadow: 0 24px 64px rgba(0, 0, 0, .48) !important;
}

html.tema-conforto #modalPerfilUsuario .modal-topo,
html.tema-conforto #modalPerfilUsuario .modal-rodape,
html.tema-conforto #modalPerfilUsuario .divisor {
    border-color: var(--tema-borda) !important;
}

html.tema-conforto #modalPerfilUsuario h2,
html.tema-conforto #modalPerfilUsuario .perfil-nome-usuario,
html.tema-conforto #modalPerfilUsuario .nome-usuario {
    color: var(--tema-texto) !important;
}

html.tema-conforto #modalPerfilUsuario .perfil-foto {
    background: var(--tema-superficie-elevada) !important;
    border-color: var(--tema-texto-secundario) !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .30) !important;
}

html.tema-conforto #modalPerfilUsuario .modal-fechar {
    color: var(--tema-texto-secundario) !important;
    background: var(--tema-superficie-elevada) !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto #modalPerfilUsuario .modal-fechar:hover,
html.tema-conforto #modalPerfilUsuario .modal-fechar:focus-visible {
    color: #fff !important;
    background: var(--tema-superficie-hover) !important;
    border-color: #64748b !important;
    outline: none !important;
}

/* Campos de senha. */
html.tema-conforto #modalPerfilUsuario .modal-campo {
    background: transparent !important;
}

html.tema-conforto #modalPerfilUsuario .modal-campo input {
    color: var(--tema-texto) !important;
    caret-color: var(--tema-destaque) !important;
    background: var(--tema-campo) !important;
    border-color: #475569 !important;
    box-shadow: none !important;
}

html.tema-conforto #modalPerfilUsuario .modal-campo input:hover {
    border-color: #64748b !important;
}

html.tema-conforto #modalPerfilUsuario .modal-campo input:focus {
    color: var(--tema-texto) !important;
    background: var(--tema-campo) !important;
    border-color: var(--tema-destaque) !important;
    box-shadow: 0 0 0 3px rgba(255, 122, 0, .14) !important;
    outline: none !important;
}

/* Neutraliza o fundo branco herdado das labels flutuantes. */
html.tema-conforto #modalPerfilUsuario .modal-campo label {
    color: var(--tema-texto-suave) !important;
    background: transparent !important;
    box-shadow: none !important;
}

html.tema-conforto #modalPerfilUsuario .modal-campo input:focus + label,
html.tema-conforto #modalPerfilUsuario .modal-campo input:not(:placeholder-shown) + label {
    color: #fb923c !important;
    background: var(--tema-superficie) !important;
}

html.tema-conforto #modalPerfilUsuario .modal-campo input::placeholder {
    color: transparent !important;
}

/* Evita fundo branco do preenchimento automático do navegador. */
html.tema-conforto #modalPerfilUsuario input:-webkit-autofill,
html.tema-conforto #modalPerfilUsuario input:-webkit-autofill:hover,
html.tema-conforto #modalPerfilUsuario input:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--tema-texto) !important;
    -webkit-box-shadow: 0 0 0 1000px var(--tema-campo) inset !important;
    caret-color: var(--tema-texto) !important;
    border-color: #475569 !important;
}

/* Botões do perfil. */
html.tema-conforto #modalPerfilUsuario .perfil-foto-box .botao-geral,
html.tema-conforto #modalPerfilUsuario .modal-rodape .botao-geral {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-elevada) !important;
    border-color: #475569 !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .22) !important;
}

html.tema-conforto #modalPerfilUsuario .perfil-foto-box .botao-geral:hover,
html.tema-conforto #modalPerfilUsuario .modal-rodape .botao-geral:hover,
html.tema-conforto #modalPerfilUsuario .perfil-foto-box .botao-geral:focus-visible,
html.tema-conforto #modalPerfilUsuario .modal-rodape .botao-geral:focus-visible {
    color: #fff !important;
    background: var(--tema-superficie-hover) !important;
    border-color: #64748b !important;
    outline: none !important;
}

html.tema-conforto #modalPerfilUsuario #btnSalvarNovaSenha {
    color: #fff !important;
    background: var(--tema-destaque) !important;
    border-color: var(--tema-destaque) !important;
}

html.tema-conforto #modalPerfilUsuario #btnSalvarNovaSenha:hover,
html.tema-conforto #modalPerfilUsuario #btnSalvarNovaSenha:focus-visible {
    background: #ea6f00 !important;
    border-color: #ea6f00 !important;
}

/* =====================================================================
   GERENCIAR USUÁRIOS — LISTA, MODAIS E MENU DE AÇÕES
   Ajustes exclusivamente visuais para o modo escuro compartilhado.
   Não altera posicionamento, dimensões ou estrutura dos componentes.
   ===================================================================== */

/* Cartões da lista de usuários. */
html.tema-conforto .usuarios-lista,
html.tema-conforto #listaUsuarios {
    color: var(--tema-texto);
    background: transparent;
}

html.tema-conforto .usuarios-card {
    color: var(--tema-texto);
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
    box-shadow: var(--tema-sombra) !important;
}

html.tema-conforto .usuarios-card:hover {
    background: var(--tema-superficie-elevada) !important;
    border-color: #475569 !important;
    box-shadow: var(--tema-sombra-hover) !important;
}

html.tema-conforto .usuarios-card-nome,
html.tema-conforto .usuarios-card-detalhes strong {
    color: var(--tema-texto) !important;
}

html.tema-conforto .usuarios-card-email,
html.tema-conforto .usuarios-card-detalhes,
html.tema-conforto .usuarios-card-detalhes span {
    color: var(--tema-texto-suave) !important;
}

html.tema-conforto .usuarios-card-topo,
html.tema-conforto .usuarios-card-info,
html.tema-conforto .usuarios-card-identidade,
html.tema-conforto .usuarios-card-status,
html.tema-conforto .usuarios-card-acoes {
    background: transparent !important;
}

html.tema-conforto .usuarios-btn-acoes,
html.tema-conforto .toggle-acoes {
    color: #ffffff !important;
    background: var(--tema-destaque) !important;
    border-color: var(--tema-destaque) !important;
    box-shadow: 0 6px 16px rgba(255, 122, 0, .24) !important;
}

html.tema-conforto .usuarios-btn-acoes:hover,
html.tema-conforto .toggle-acoes:hover {
    background: #e96f00 !important;
    border-color: #e96f00 !important;
}

html.tema-conforto .usuarios-badge,
html.tema-conforto .usuarios-badge-perfil {
    color: #d1fae5 !important;
    background: rgba(16, 185, 129, .14) !important;
    border-color: rgba(52, 211, 153, .34) !important;
}

html.tema-conforto .usuarios-badge-status-ativo {
    color: #bbf7d0 !important;
    background: rgba(34, 197, 94, .14) !important;
    border-color: rgba(74, 222, 128, .34) !important;
}

html.tema-conforto .usuarios-badge-status-inativo {
    color: #fecaca !important;
    background: rgba(239, 68, 68, .14) !important;
    border-color: rgba(248, 113, 113, .34) !important;
}

/* Filtro e pesquisa da página de usuários. */
html.tema-conforto .usuarios-topo-filtros,
html.tema-conforto .usuarios-filtros-section,
html.tema-conforto .usuarios-lista-section,
html.tema-conforto .usuarios-paginacao-section {
    background: transparent !important;
}

html.tema-conforto .usuarios-pesquisa-wrapper {
    background: transparent !important;
}

html.tema-conforto .usuarios-pesquisa-wrapper i {
    color: var(--tema-texto-suave) !important;
}

html.tema-conforto .usuarios-popover-filtro {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, .34) !important;
}

html.tema-conforto .usuarios-label-filtro {
    color: var(--tema-texto-secundario) !important;
}

html.tema-conforto .usuarios-input-filtro {
    color: var(--tema-texto) !important;
    background: var(--tema-campo) !important;
    border-color: #475569 !important;
}

html.tema-conforto .usuarios-input-filtro:focus {
    border-color: #fb923c !important;
    box-shadow: 0 0 0 3px rgba(251, 146, 60, .14) !important;
}

html.tema-conforto .usuarios-filtro-ok {
    color: #ffffff !important;
    background: var(--tema-destaque) !important;
    border-color: var(--tema-destaque) !important;
}

html.tema-conforto .usuarios-filtro-limpar,
html.tema-conforto .usuarios-filtro-cancelar {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-elevada) !important;
    border-color: #475569 !important;
}

/* Modais Criar e Editar usuário. */
html.tema-conforto #modalCriarUsuario .modal-conteudo,
html.tema-conforto #editarModal .modal-conteudo {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto #modalCriarUsuario .modal-topo,
html.tema-conforto #modalCriarUsuario .modal-corpo,
html.tema-conforto #modalCriarUsuario .modal-rodape,
html.tema-conforto #editarModal .modal-topo,
html.tema-conforto #editarModal .modal-corpo,
html.tema-conforto #editarModal .modal-rodape {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto #modalCriarUsuario .modal-campo input,
html.tema-conforto #modalCriarUsuario .modal-campo select,
html.tema-conforto #modalCriarUsuario .modal-campo textarea,
html.tema-conforto #editarModal .modal-campo input,
html.tema-conforto #editarModal .modal-campo select,
html.tema-conforto #editarModal .modal-campo textarea {
    color: var(--tema-texto) !important;
    background: var(--tema-campo) !important;
    border-color: #475569 !important;
    -webkit-text-fill-color: var(--tema-texto) !important;
}

html.tema-conforto #modalCriarUsuario .modal-campo input::placeholder,
html.tema-conforto #editarModal .modal-campo input::placeholder {
    color: #8291a7 !important;
    opacity: 1;
}

html.tema-conforto #modalCriarUsuario .modal-campo input:focus,
html.tema-conforto #modalCriarUsuario .modal-campo select:focus,
html.tema-conforto #modalCriarUsuario .modal-campo textarea:focus,
html.tema-conforto #editarModal .modal-campo input:focus,
html.tema-conforto #editarModal .modal-campo select:focus,
html.tema-conforto #editarModal .modal-campo textarea:focus {
    background: var(--tema-campo) !important;
    border-color: #fb923c !important;
    box-shadow: 0 0 0 3px rgba(251, 146, 60, .14) !important;
}

/* O CSS compartilhado usa fundo claro no recorte do rótulo flutuante.
   Nestes dois modais, o recorte acompanha o campo escuro do tema. */
html.tema-conforto #modalCriarUsuario .modal-campo > label,
html.tema-conforto #editarModal .modal-campo > label {
    color: var(--tema-texto-suave) !important;
    background: var(--tema-campo) !important;
}

html.tema-conforto #modalCriarUsuario .modal-campo > :is(input, textarea, select):focus + label,
html.tema-conforto #modalCriarUsuario .modal-campo > :is(input, textarea):not(:placeholder-shown) + label,
html.tema-conforto #editarModal .modal-campo > :is(input, textarea, select):focus + label,
html.tema-conforto #editarModal .modal-campo > :is(input, textarea):not(:placeholder-shown) + label,
html.tema-conforto #modalCriarUsuario .usuario-modal-campo--select > label,
html.tema-conforto #editarModal .usuario-modal-campo--select > label {
    color: #93c5fd !important;
    background: var(--tema-campo) !important;
}

html.tema-conforto :is(#modalCriarUsuario, #editarModal) input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(.78) sepia(.12) saturate(.55) hue-rotate(176deg);
    cursor: pointer;
}

html.tema-conforto :is(#modalCriarUsuario, #editarModal) .select2-selection__clear {
    position: absolute !important;
    top: 50% !important;
    right: 34px !important;
    left: auto !important;
    margin: 0 !important;
    color: #94a3b8 !important;
    font-size: 18px !important;
    line-height: 1 !important;
    transform: translateY(-50%);
}

html.tema-conforto #modalCriarUsuario input:-webkit-autofill,
html.tema-conforto #modalCriarUsuario input:-webkit-autofill:hover,
html.tema-conforto #modalCriarUsuario input:-webkit-autofill:focus,
html.tema-conforto #editarModal input:-webkit-autofill,
html.tema-conforto #editarModal input:-webkit-autofill:hover,
html.tema-conforto #editarModal input:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--tema-texto) !important;
    -webkit-box-shadow: 0 0 0 1000px var(--tema-campo) inset !important;
    box-shadow: 0 0 0 1000px var(--tema-campo) inset !important;
    caret-color: var(--tema-texto) !important;
}

html.tema-conforto #modalCriarUsuario #btnCriarUsuario,
html.tema-conforto #editarModal .botao-salvar-modal-editar {
    color: #ffffff !important;
    background: var(--tema-destaque) !important;
    border-color: var(--tema-destaque) !important;
}

html.tema-conforto #modalCriarUsuario #btnCriarUsuario:hover,
html.tema-conforto #editarModal .botao-salvar-modal-editar:hover {
    background: #e96f00 !important;
    border-color: #e96f00 !important;
}

/* Menu de ações criado pelo JavaScript. */
html.tema-conforto #menuAcoesGlobal,
html.tema-conforto .menu-acoes {
    color: var(--tema-texto-secundario) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, .38) !important;
}

html.tema-conforto #menuAcoesGlobal .item,
html.tema-conforto #menuAcoesGlobal .botao-menu-superior {
    color: var(--tema-texto-secundario) !important;
    background: transparent !important;
    border-color: transparent !important;
}

html.tema-conforto #menuAcoesGlobal .item:hover,
html.tema-conforto #menuAcoesGlobal .botao-menu-superior:hover {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-hover) !important;
}

html.tema-conforto #menuAcoesGlobal .botao-status.danger {
    color: #fecaca !important;
}

html.tema-conforto #menuAcoesGlobal .botao-status.warning {
    color: #fde68a !important;
}

/* Estado vazio e paginação. */
html.tema-conforto .usuarios-lista-vazia {
    color: var(--tema-texto-suave) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto .usuarios-paginacao .btn-pag {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-elevada) !important;
    border-color: #475569 !important;
}

html.tema-conforto .usuarios-paginacao .btn-pag:hover {
    color: #ffffff !important;
    background: var(--tema-superficie-hover) !important;
    border-color: #64748b !important;
}

/* =====================================================================
   GERENCIAR USUÁRIOS — MODAL DE PERMISSÕES
   Corrige apenas cores e estados visuais, preservando medidas e posição.
   ===================================================================== */

html.tema-conforto #modalPermissoes,
html.tema-conforto #modalPermissoes .modal-corpo-permissoes {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto #modalPermissoes .modal-corpo-permissoes {
    box-shadow: 0 24px 64px rgba(0, 0, 0, .48) !important;
}

html.tema-conforto #modalPermissoes .modal-permissoes-topo,
html.tema-conforto #modalPermissoes .modal-permissoes-rodape {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto #modalPermissoes .modal-permissoes-topo h2 {
    color: var(--tema-texto) !important;
}

html.tema-conforto #modalPermissoes .modal-permissoes-topo p {
    color: var(--tema-texto-suave) !important;
}

html.tema-conforto #modalPermissoes #FecharModalPermissoes {
    color: var(--tema-texto-secundario) !important;
    background: var(--tema-superficie-elevada) !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto #modalPermissoes #FecharModalPermissoes:hover {
    color: #ffffff !important;
    background: var(--tema-superficie-hover) !important;
    border-color: #64748b !important;
}

html.tema-conforto #modalPermissoes .permissoes-tabela-wrap,
html.tema-conforto #modalPermissoes .lista-users,
html.tema-conforto #modalPermissoes .lista-users tbody,
html.tema-conforto #modalPermissoes .lista-users tr,
html.tema-conforto #modalPermissoes .lista-users td {
    color: var(--tema-texto-secundario) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto #modalPermissoes .lista-users thead,
html.tema-conforto #modalPermissoes .lista-users thead tr,
html.tema-conforto #modalPermissoes .lista-users th {
    color: var(--tema-texto-secundario) !important;
    background: var(--tema-superficie-elevada) !important;
    border-color: var(--tema-borda) !important;
}

/* Remove a coluna branca de Acesso Total. */
html.tema-conforto #modalPermissoes .lista-users th:nth-child(2),
html.tema-conforto #modalPermissoes .lista-users td:nth-child(2) {
    color: var(--tema-texto-secundario) !important;
    background: var(--tema-campo) !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto #modalPermissoes .lista-users tbody tr:not(.permissoes-grupo):hover td {
    background: var(--tema-superficie-hover) !important;
}

html.tema-conforto #modalPermissoes .lista-users tbody tr:not(.permissoes-grupo):hover td:nth-child(2) {
    background: #1b273a !important;
}

/* Barras de grupos: Dashboard, Operacional, Financeiro, CRM etc. */
html.tema-conforto #modalPermissoes .lista-users tbody tr.permissoes-grupo,
html.tema-conforto #modalPermissoes .lista-users tbody tr.permissoes-grupo td {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-elevada) !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto #modalPermissoes .permissoes-grupo-botao {
    color: var(--tema-texto) !important;
    background: transparent !important;
    border-color: transparent !important;
}

html.tema-conforto #modalPermissoes .permissoes-grupo-botao:hover {
    color: #ffffff !important;
    background: var(--tema-superficie-hover) !important;
}

html.tema-conforto #modalPermissoes .permissoes-grupo-titulo,
html.tema-conforto #modalPermissoes .permissoes-grupo-seta,
html.tema-conforto #modalPermissoes .permissoes-grupo-icone {
    color: var(--tema-texto) !important;
}

html.tema-conforto #modalPermissoes .pagina-cell,
html.tema-conforto #modalPermissoes .lista-users td.pagina-cell,
html.tema-conforto #modalPermissoes .lista-users td:first-child {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-elevada) !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto #modalPermissoes .pagina-icone,
html.tema-conforto #modalPermissoes .pagina-icone svg {
    color: var(--tema-texto-secundario) !important;
    fill: currentColor !important;
}

html.tema-conforto #modalPermissoes .label-permissoes {
    color: var(--tema-texto-secundario) !important;
    background: var(--tema-campo) !important;
    border-color: var(--tema-borda) !important;
    box-shadow: none !important;
}

html.tema-conforto #modalPermissoes .label-permissoes:hover,
html.tema-conforto #modalPermissoes .label-permissoes:focus-within {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-hover) !important;
    border-color: #64748b !important;
}

html.tema-conforto #modalPermissoes input[type="checkbox"] {
    accent-color: var(--tema-destaque);
}

html.tema-conforto #modalPermissoes input[type="checkbox"]:disabled {
    opacity: .55;
}

html.tema-conforto #modalPermissoes .butao-salvar-alteracoes,
html.tema-conforto #modalPermissoes button[type="submit"] {
    color: #ffffff !important;
    background: var(--tema-destaque) !important;
    border-color: var(--tema-destaque) !important;
    box-shadow: 0 8px 18px rgba(255, 122, 0, .20) !important;
}

html.tema-conforto #modalPermissoes .butao-salvar-alteracoes:hover,
html.tema-conforto #modalPermissoes button[type="submit"]:hover {
    color: #ffffff !important;
    background: #e96f00 !important;
    border-color: #e96f00 !important;
}

html.tema-conforto #modalPermissoes .permissoes-tabela-wrap,
html.tema-conforto #modalPermissoes .modal-corpo-permissoes {
    scrollbar-color: #475569 var(--tema-fundo-profundo);
}

html.tema-conforto #modalPermissoes .permissoes-tabela-wrap::-webkit-scrollbar,
html.tema-conforto #modalPermissoes .modal-corpo-permissoes::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

html.tema-conforto #modalPermissoes .permissoes-tabela-wrap::-webkit-scrollbar-track,
html.tema-conforto #modalPermissoes .modal-corpo-permissoes::-webkit-scrollbar-track {
    background: var(--tema-fundo-profundo);
}

html.tema-conforto #modalPermissoes .permissoes-tabela-wrap::-webkit-scrollbar-thumb,
html.tema-conforto #modalPermissoes .modal-corpo-permissoes::-webkit-scrollbar-thumb {
    background: #475569;
    border: 2px solid var(--tema-fundo-profundo);
    border-radius: 999px;
}

/* =====================================================================
   RELATÓRIOS / LOGS — contraste completo no modo escuro
   Ajusta somente aparência; preserva posição, dimensões e estrutura.
   ===================================================================== */

html.tema-conforto #log-container {
    color: var(--tema-texto-secundario) !important;
    background: transparent !important;
}

html.tema-conforto #log-container .log-item {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
    border-left-color: var(--tema-destaque) !important;
    box-shadow: var(--tema-sombra) !important;
}

html.tema-conforto #log-container .log-item:hover {
    background: var(--tema-superficie-elevada) !important;
    border-color: #475569 !important;
    border-left-color: var(--tema-destaque) !important;
    box-shadow: var(--tema-sombra-hover) !important;
}

html.tema-conforto #log-container .log-header,
html.tema-conforto #log-container .log-body,
html.tema-conforto #log-container .log-row,
html.tema-conforto #log-container .log-row-full,
html.tema-conforto #log-container .log-user-info {
    color: inherit !important;
    background: transparent !important;
}

html.tema-conforto #log-container .log-user-name {
    color: var(--tema-texto) !important;
    font-weight: 700 !important;
}

html.tema-conforto #log-container .log-date {
    color: var(--tema-texto-suave) !important;
}

html.tema-conforto #log-container .log-label {
    color: #fb923c !important;
    font-weight: 700 !important;
}

html.tema-conforto #log-container .log-value {
    color: var(--tema-texto-secundario) !important;
    opacity: 1 !important;
}

html.tema-conforto #log-container .log-badge {
    color: #ea580c !important;
    background: #fff7ed !important;
    border-color: #fdba74 !important;
    opacity: 1 !important;
}

html.tema-conforto #log-container .foto-log-usuario {
    background: var(--tema-superficie-elevada) !important;
    border-color: #cbd5e1 !important;
}

html.tema-conforto #log-container > p {
    color: var(--tema-texto-secundario) !important;
}

/* Pesquisa da página de relatórios, sem alterar posicionamento. */
html.tema-conforto .pesquisar-relatorios .input-wrapper,
html.tema-conforto .pesquisar-relatorios {
    background: transparent !important;
}

html.tema-conforto .pesquisar-relatorios input,
html.tema-conforto .pesquisar-relatorios #pesquisar {
    color: var(--tema-texto) !important;
    background: var(--tema-campo) !important;
    border-color: #475569 !important;
}

html.tema-conforto .pesquisar-relatorios input::placeholder,
html.tema-conforto .pesquisar-relatorios #pesquisar::placeholder {
    color: #8291a7 !important;
    opacity: 1 !important;
}

html.tema-conforto .pesquisar-relatorios i {
    color: var(--tema-texto-suave) !important;
}

html.tema-conforto .pesquisar-relatorios input:focus,
html.tema-conforto .pesquisar-relatorios #pesquisar:focus {
    border-color: #fb923c !important;
    box-shadow: 0 0 0 3px rgba(251, 146, 60, .14) !important;
}

html.tema-conforto .pesquisar-relatorios #sugestoes {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, .34) !important;
}

html.tema-conforto .pesquisar-relatorios #sugestoes li {
    color: var(--tema-texto-secundario) !important;
    background: transparent !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto .pesquisar-relatorios #sugestoes li:hover,
html.tema-conforto .pesquisar-relatorios #sugestoes li:focus {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-hover) !important;
}

/* Paginação dos logs. */
html.tema-conforto #paginacao_logs .btn-pag {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-elevada) !important;
    border-color: #475569 !important;
}

html.tema-conforto #paginacao_logs .btn-pag:hover {
    color: #ffffff !important;
    background: var(--tema-superficie-hover) !important;
    border-color: #64748b !important;
}

/* =====================================================================
   DASHBOARD — FILTRO DE PERÍODO DO TOPO
   Corrige somente aparência; não altera posição, largura ou alinhamento.
   ===================================================================== */

html.tema-conforto .dashboard-topbar__filter .btn-filtro {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-elevada) !important;
    border-color: #475569 !important;
}

html.tema-conforto .dashboard-topbar__filter .btn-filtro:hover,
html.tema-conforto .dashboard-topbar__filter .btn-filtro[aria-expanded="true"] {
    color: #ffffff !important;
    background: var(--tema-superficie-hover) !important;
    border-color: #64748b !important;
}

html.tema-conforto .dashboard-topbar__filter .dashboard-topbar__filter-label,
html.tema-conforto .dashboard-topbar__filter .dashboard-topbar__filter-label small,
html.tema-conforto .dashboard-topbar__filter #labelPeriodo,
html.tema-conforto .dashboard-topbar__filter .caret,
html.tema-conforto .dashboard-topbar__filter svg {
    color: var(--tema-texto) !important;
    stroke: currentColor !important;
}

html.tema-conforto #popoverPeriodo.popover,
html.tema-conforto .section-filtro-vaga-livre #popoverPeriodo.popover {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie) !important;
    border: 1px solid var(--tema-borda) !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .42) !important;
}

html.tema-conforto #popoverPeriodo #formPeriodo,
html.tema-conforto #popoverPeriodo .linha,
html.tema-conforto #popoverPeriodo .acoes {
    color: var(--tema-texto) !important;
    background: transparent !important;
}

html.tema-conforto #popoverPeriodo .label-filtro,
html.tema-conforto #popoverPeriodo label {
    color: var(--tema-texto-secundario) !important;
    background: transparent !important;
}

html.tema-conforto #popoverPeriodo input[type="date"],
html.tema-conforto #popoverPeriodo .input-filtro,
html.tema-conforto #formPeriodo #inicio,
html.tema-conforto #formPeriodo #fim {
    color: var(--tema-texto) !important;
    background-color: var(--tema-campo) !important;
    border: 1px solid #475569 !important;
    box-shadow: none !important;
    color-scheme: dark !important;
    -webkit-text-fill-color: var(--tema-texto) !important;
}

html.tema-conforto #popoverPeriodo input[type="date"]:hover,
html.tema-conforto #popoverPeriodo input[type="date"]:focus,
html.tema-conforto #popoverPeriodo .input-filtro:focus,
html.tema-conforto #formPeriodo #inicio:focus,
html.tema-conforto #formPeriodo #fim:focus {
    color: var(--tema-texto) !important;
    background-color: #1b273a !important;
    border-color: #fb923c !important;
    box-shadow: 0 0 0 3px rgba(251, 146, 60, .14) !important;
    outline: none !important;
}

html.tema-conforto #popoverPeriodo input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1) brightness(.85) !important;
    opacity: .9 !important;
    cursor: pointer;
}

html.tema-conforto #popoverPeriodo .acoes .ok,
html.tema-conforto #popoverPeriodo #aplicar_filtro {
    color: #ffffff !important;
    background: var(--tema-destaque) !important;
    border-color: var(--tema-destaque) !important;
}

html.tema-conforto #popoverPeriodo .acoes .ok:hover,
html.tema-conforto #popoverPeriodo #aplicar_filtro:hover {
    background: #e86f00 !important;
    border-color: #e86f00 !important;
}

html.tema-conforto #popoverPeriodo .acoes .limpar,
html.tema-conforto #popoverPeriodo .acoes .cancelar,
html.tema-conforto #popoverPeriodo #limparFiltro,
html.tema-conforto #popoverPeriodo #fecharPopover {
    color: var(--tema-texto-secundario) !important;
    background: var(--tema-superficie-elevada) !important;
    border-color: #475569 !important;
    opacity: 1 !important;
}

html.tema-conforto #popoverPeriodo .acoes .limpar:hover,
html.tema-conforto #popoverPeriodo .acoes .cancelar:hover,
html.tema-conforto #popoverPeriodo #limparFiltro:hover,
html.tema-conforto #popoverPeriodo #fecharPopover:hover {
    color: #ffffff !important;
    background: var(--tema-superficie-hover) !important;
    border-color: #64748b !important;
}

html.tema-conforto #popoverPeriodo button:disabled {
    color: #8291a7 !important;
    background: #202c40 !important;
    border-color: var(--tema-borda) !important;
    opacity: .72 !important;
}

/* =====================================================================
   CRM — ABA RELATÓRIOS: CONTRASTE FINAL DOS CARDS E RANKING
   Corrige somente textos e dados no modo escuro.
   ===================================================================== */

html.tema-conforto body.pagina-crm #relatorio .cards-relatorio .card-relatorio,
html.tema-conforto body.pagina-crm #relatorio .cards-relatorio .card-relatorio * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html.tema-conforto body.pagina-crm #relatorio .cards-relatorio .card-relatorio .titulo,
html.tema-conforto body.pagina-crm #relatorio .cards-relatorio .card-relatorio .titulo *,
html.tema-conforto body.pagina-crm #relatorio .cards-relatorio .card-relatorio .valor,
html.tema-conforto body.pagina-crm #relatorio .cards-relatorio [id^="resumo-crm-"] {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
}

html.tema-conforto body.pagina-crm #relatorio #rankingVendedoresCrm .ranking-veiculo-item,
html.tema-conforto body.pagina-crm #relatorio #rankingVendedoresCrm .ranking-veiculo-item * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html.tema-conforto body.pagina-crm #relatorio #rankingVendedoresCrm .ranking-veiculo-nome,
html.tema-conforto body.pagina-crm #relatorio #rankingVendedoresCrm .ranking-veiculo-valor,
html.tema-conforto body.pagina-crm #relatorio #rankingVendedoresCrm .ranking-veiculo-info,
html.tema-conforto body.pagina-crm #relatorio #rankingVendedoresCrm .ranking-veiculo-info * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
}

html.tema-conforto body.pagina-crm #relatorio #rankingVendedoresCrm .ranking-veiculo-posicao {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html.tema-conforto body.pagina-crm #relatorio .ranking-veiculos-topo h3,
html.tema-conforto body.pagina-crm #relatorio .ranking-veiculos-topo p,
html.tema-conforto body.pagina-crm #relatorio #rankingVendedoresTotal {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
}


/* ==========================================================
   LOGIN — MODO CONFORTO VISUAL
========================================================== */

html.tema-conforto body.pagina-login {
    background-color: #111827 !important;
    color: #f1f5f9 !important;
}

/* Caixa principal do login */
html.tema-conforto .login-container,
html.tema-conforto .login-box,
html.tema-conforto .formulario-login,
html.tema-conforto .container-login {
    background: #1e293b !important;
    color: #f1f5f9 !important;
    border-color: #334155 !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .40) !important;
}

/* Títulos e textos */
html.tema-conforto .login-container h1,
html.tema-conforto .login-container h2,
html.tema-conforto .login-box h1,
html.tema-conforto .login-box h2,
html.tema-conforto .formulario-login h1,
html.tema-conforto .formulario-login h2 {
    color: #f8fafc !important;
}

html.tema-conforto .login-container p,
html.tema-conforto .login-box p,
html.tema-conforto .formulario-login p,
html.tema-conforto .container-login p,
html.tema-conforto body.pagina-login label {
    color: #cbd5e1 !important;
}

/* Campos */
html.tema-conforto body.pagina-login input[type="text"],
html.tema-conforto body.pagina-login input[type="email"],
html.tema-conforto body.pagina-login input[type="password"] {
    color: #f1f5f9 !important;
    background: #172033 !important;
    border-color: #475569 !important;
}

html.tema-conforto body.pagina-login input::placeholder {
    color: #94a3b8 !important;
}

html.tema-conforto body.pagina-login input:focus {
    border-color: #fb923c !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(251, 146, 60, .14) !important;
}

/* Autofill do navegador */
html.tema-conforto body.pagina-login input:-webkit-autofill,
html.tema-conforto body.pagina-login input:-webkit-autofill:hover,
html.tema-conforto body.pagina-login input:-webkit-autofill:focus {
    -webkit-text-fill-color: #f1f5f9 !important;
    -webkit-box-shadow: 0 0 0 1000px #172033 inset !important;
    caret-color: #f1f5f9 !important;
}

/* Links */
html.tema-conforto body.pagina-login a {
    color: #fdba74 !important;
}

/* Botão de entrar */
html.tema-conforto body.pagina-login button[type="submit"] {
    color: #ffffff !important;
}

/* Botão de alternância do tema */
html.tema-conforto .login-theme-button {
    color: #f1f5f9 !important;
    background: #243147 !important;
    border-color: #475569 !important;
}

html.tema-conforto .login-theme-button:hover {
    background: #2a3950 !important;
    border-color: #64748b !important;
}

/* Login: superfícies completas e contraste consistente. */
html.tema-conforto .login-fundo {
    background:
        radial-gradient(circle at 12% 18%, rgba(255, 122, 0, .10), transparent 26%),
        radial-gradient(circle at 88% 82%, rgba(37, 99, 235, .12), transparent 30%),
        linear-gradient(145deg, #07111f 0%, #0b1729 48%, #0e1b31 100%) !important;
}

html.tema-conforto .login-fundo::before {
    opacity: .34 !important;
    background:
        linear-gradient(90deg, transparent 49.85%, rgba(241, 245, 249, .15) 50%, transparent 50.15%),
        linear-gradient(0deg, transparent 49.85%, rgba(241, 245, 249, .12) 50%, transparent 50.15%) !important;
    background-size: 72px 72px !important;
}

html.tema-conforto .login-fundo::after {
    opacity: .58 !important;
    filter: none !important;
    background:
        radial-gradient(circle at 17% 34%,
            rgba(241, 245, 249, .22) 0 5px,
            transparent 6px 35px,
            rgba(241, 245, 249, .17) 36px 37px,
            transparent 38px 53px,
            rgba(241, 245, 249, .12) 54px 55px,
            transparent 56px),
        radial-gradient(circle at 84% 28%,
            rgba(241, 245, 249, .20) 0 6px,
            transparent 7px 42px,
            rgba(241, 245, 249, .15) 43px 44px,
            transparent 45px 62px,
            rgba(241, 245, 249, .10) 63px 64px,
            transparent 65px),
        radial-gradient(circle at 11% 82%,
            rgba(241, 245, 249, .18) 0 5px,
            transparent 6px 31px,
            rgba(241, 245, 249, .14) 32px 33px,
            transparent 34px 47px,
            rgba(241, 245, 249, .09) 48px 49px,
            transparent 50px),
        linear-gradient(145deg,
            transparent 14%,
            rgba(241, 245, 249, .15) 14.08% 14.18%,
            transparent 14.28%),
        linear-gradient(35deg,
            transparent 82%,
            rgba(241, 245, 249, .14) 82.08% 82.18%,
            transparent 82.28%) !important;
}

/* Circuitos brancos discretos no modo confortável. */
html.tema-conforto .login-circuito {
    color: rgba(248, 250, 252, .24) !important;
    border-color: rgba(248, 250, 252, .22) !important;
}

html.tema-conforto .login-circuito::before {
    border-color: rgba(248, 250, 252, .24) !important;
    box-shadow: 0 0 0 18px rgba(248, 250, 252, .09) !important;
}

html.tema-conforto .login {
    background: var(--tema-superficie) !important;
    border-color: #475569 !important;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .48) !important;
}

html.tema-conforto .imagem-left {
    background: linear-gradient(135deg, #0b1220 0%, #172033 55%, #243147 100%) !important;
}

html.tema-conforto .login-dados-right {
    background: linear-gradient(180deg, #1e293b 0%, #172033 100%) !important;
}

html.tema-conforto .login-selo {
    color: #fb923c !important;
}

html.tema-conforto .h2-titulo {
    color: var(--tema-texto) !important;
}

html.tema-conforto .login-subtitulo,
html.tema-conforto .painel-legenda,
html.tema-conforto .login-seguranca {
    color: var(--tema-texto-secundario) !important;
}

html.tema-conforto .login-marca-mobile {
    color: var(--tema-texto) !important;
}

html.tema-conforto .login-marca-mobile small {
    color: #fb923c !important;
}

html.tema-conforto .campo > label {
    color: var(--tema-texto) !important;
}

html.tema-conforto .campo-icone {
    stroke: var(--tema-texto-suave) !important;
}

html.tema-conforto .senha-visibilidade {
    color: var(--tema-texto-suave) !important;
    background: transparent !important;
}

html.tema-conforto .senha-visibilidade:hover {
    color: #fb923c !important;
    background: var(--tema-superficie-hover) !important;
}

html.tema-conforto .login-seguranca {
    border-color: var(--tema-borda) !important;
}

html.tema-conforto .lembrar-container,
html.tema-conforto .lembrar-container label {
    color: var(--tema-texto-secundario) !important;
}

html.tema-conforto .botao-entrar {
    color: #ffffff !important;
    background: linear-gradient(90deg, #ffb400, #ff8a00) !important;
}

html.tema-conforto .login-theme-button .tema-icone--lua {
    display: none;
}

html.tema-conforto .login-theme-button .tema-icone--sol {
    display: block;
}

@media (max-width: 600px) {
    html.tema-conforto .login-dados-right {
        background: linear-gradient(180deg, #1e293b 0%, #172033 100%) !important;
    }
}

/* =====================================================================
   DASHBOARD PRINCIPAL — COBERTURA COMPLETA DOS CARDS
   ===================================================================== */

html.tema-conforto .dashboard-container .dashboard-bloco__cabecalho {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie) !important;
    border-top-color: var(--tema-borda) !important;
    border-right-color: var(--tema-borda) !important;
    border-bottom-color: var(--tema-borda) !important;
    box-shadow: var(--tema-sombra) !important;
}

html.tema-conforto .dashboard-container .dashboard-bloco__cabecalho h2 {
    color: var(--tema-texto) !important;
    -webkit-text-fill-color: var(--tema-texto) !important;
}

html.tema-conforto .dashboard-container .dashboard-bloco__cabecalho p {
    color: var(--tema-texto-suave) !important;
    -webkit-text-fill-color: var(--tema-texto-suave) !important;
}

html.tema-conforto .dashboard-container .status-box,
html.tema-conforto .dashboard-container .grafico,
html.tema-conforto .dashboard-container .dashboard-grafico-fiscal {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
    box-shadow: var(--tema-sombra) !important;
}

html.tema-conforto .dashboard-container .status-box:hover,
html.tema-conforto .dashboard-container .grafico:hover,
html.tema-conforto .dashboard-container .dashboard-grafico-fiscal:hover {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-elevada) !important;
    border-color: #475569 !important;
    box-shadow: var(--tema-sombra-hover) !important;
}

html.tema-conforto .dashboard-container .dashboard-bloco--callcenter .status-box {
    border-top-color: #ff7a00 !important;
}

html.tema-conforto .dashboard-container .status-box--comercial {
    border-top-color: #3b82f6 !important;
}

html.tema-conforto .dashboard-container .status-box--frota {
    border-top-color: #22c55e !important;
}

html.tema-conforto .dashboard-container .status-box--fiscal,
html.tema-conforto .dashboard-container .dashboard-grafico-fiscal {
    border-top-color: #8b5cf6 !important;
}

html.tema-conforto .dashboard-container .status-box--alerta {
    border-top-color: #f59e0b !important;
}

html.tema-conforto .dashboard-container .status-box--agenda-fechada {
    border-top-color: #ef4444 !important;
}

html.tema-conforto .dashboard-container .status-box--proximos-fechamentos {
    border-top-color: #8b5cf6 !important;
}

html.tema-conforto .dashboard-container .status-box--comercial .icon-status {
    color: #60a5fa !important;
}

html.tema-conforto .dashboard-container .status-box--frota .icon-status {
    color: #4ade80 !important;
}

html.tema-conforto .dashboard-container .status-box--fiscal .icon-status,
html.tema-conforto .dashboard-container .status-box--proximos-fechamentos .icon-status,
html.tema-conforto .dashboard-container .dashboard-grafico-fiscal__topo i {
    color: #a78bfa !important;
}

html.tema-conforto .dashboard-container .status-box--alerta .icon-status {
    color: #fbbf24 !important;
}

html.tema-conforto .dashboard-container .status-box--agenda-fechada .icon-status {
    color: #f87171 !important;
}

html.tema-conforto .dashboard-container .texto-grande,
html.tema-conforto .dashboard-container .status-numero,
html.tema-conforto .dashboard-container .grafico__titulo,
html.tema-conforto .dashboard-container .grafico__valor,
html.tema-conforto .dashboard-container .dashboard-grafico-fiscal__topo strong,
html.tema-conforto .dashboard-container .ranking-vendedores__nome,
html.tema-conforto .dashboard-container .ranking-vendedores__valor {
    color: var(--tema-texto) !important;
    -webkit-text-fill-color: var(--tema-texto) !important;
    opacity: 1 !important;
}

html.tema-conforto .dashboard-container .texto-pequeno,
html.tema-conforto .dashboard-container .texto-pequeno-periodo,
html.tema-conforto .dashboard-container .grafico__subtitulo,
html.tema-conforto .dashboard-container .grafico__rotulo,
html.tema-conforto .dashboard-container .dashboard-grafico-fiscal__topo span,
html.tema-conforto .dashboard-container .dashboard-grafico-fiscal__estado,
html.tema-conforto .dashboard-container .ranking-vendedores__dados small,
html.tema-conforto .dashboard-container .ranking-vendedores__vazio,
html.tema-conforto .dashboard-container .status-detalhe {
    color: var(--tema-texto-secundario) !important;
    -webkit-text-fill-color: var(--tema-texto-secundario) !important;
    opacity: 1 !important;
}

html.tema-conforto .dashboard-container .agenda-card__quantidade {
    color: #fecaca !important;
    background: rgba(220, 38, 38, .16) !important;
    border: 1px solid rgba(248, 113, 113, .28) !important;
}

html.tema-conforto .dashboard-container .status-box--proximos-fechamentos .agenda-card__quantidade {
    color: #ddd6fe !important;
    background: rgba(124, 58, 237, .18) !important;
    border-color: rgba(167, 139, 250, .30) !important;
}

html.tema-conforto .dashboard-container .agenda-card__quantidade strong {
    color: var(--tema-texto) !important;
    -webkit-text-fill-color: var(--tema-texto) !important;
}

html.tema-conforto .dashboard-container .agenda-card__quantidade small {
    color: var(--tema-texto-secundario) !important;
    -webkit-text-fill-color: var(--tema-texto-secundario) !important;
}

html.tema-conforto .dashboard-container .ranking-vendedores__posicao {
    color: #bfdbfe !important;
    background: rgba(37, 99, 235, .24) !important;
}

html.tema-conforto .dashboard-container .ranking-vendedores__foto {
    background: var(--tema-superficie-elevada) !important;
    border-color: #475569 !important;
}

html.tema-conforto .dashboard-container .dashboard-grafico-fiscal__preview {
    border-bottom-color: #475569 !important;
    background: repeating-linear-gradient(
        to bottom,
        transparent 0,
        transparent 25px,
        rgba(148, 163, 184, .14) 26px
    ) !important;
}

html.tema-conforto .dashboard-container .grafico__legenda,
html.tema-conforto .dashboard-container .grafico__conteudo,
html.tema-conforto .dashboard-container .status-titulo,
html.tema-conforto .dashboard-container .agenda-card__resumo,
html.tema-conforto .dashboard-container .ranking-vendedores,
html.tema-conforto .dashboard-container .ranking-vendedores__item,
html.tema-conforto .dashboard-container .ranking-vendedores__dados {
    background: transparent !important;
}

/* =====================================================================
   RELATÓRIO DE VEÍCULOS — BOTÕES DO FILTRO SUSPENSO
   ===================================================================== */

html.tema-conforto #popoverFiltroRelatorioVeiculos .relatorio-popover-acoes {
    border-top-color: var(--tema-borda) !important;
}

html.tema-conforto #popoverFiltroRelatorioVeiculos #btnAplicarRelatorio {
    color: #ffffff !important;
    background: var(--tema-destaque) !important;
    border: 1px solid var(--tema-destaque) !important;
}

html.tema-conforto #popoverFiltroRelatorioVeiculos #btnAplicarRelatorio:hover:not(:disabled) {
    background: #e86d00 !important;
    border-color: #fb923c !important;
}

html.tema-conforto #popoverFiltroRelatorioVeiculos #btnLimparRelatorio,
html.tema-conforto #popoverFiltroRelatorioVeiculos #btnCancelarFiltroRelatorio {
    color: var(--tema-texto-secundario) !important;
    background: var(--tema-superficie-elevada) !important;
    border: 1px solid #475569 !important;
}

html.tema-conforto #popoverFiltroRelatorioVeiculos #btnLimparRelatorio:hover:not(:disabled),
html.tema-conforto #popoverFiltroRelatorioVeiculos #btnCancelarFiltroRelatorio:hover:not(:disabled) {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-hover) !important;
    border-color: #64748b !important;
}

html.tema-conforto #popoverFiltroRelatorioVeiculos button:focus-visible {
    outline: 2px solid #fb923c !important;
    outline-offset: 2px;
}

html.tema-conforto #popoverFiltroRelatorioVeiculos button:disabled {
    color: var(--tema-texto-suave) !important;
    background: var(--tema-campo) !important;
    border-color: var(--tema-borda) !important;
    cursor: not-allowed;
    opacity: .72;
}

/* Barra superior das abas do Controle de Veículos no padrão Comercial. */
html.tema-conforto body.pagina-operacional-frota .pesquisar > .input-wrapper i {
    color: var(--tema-texto-suave) !important;
}

html.tema-conforto body.pagina-operacional-frota .pesquisar > .input-wrapper input:focus {
    border-color: #fb923c !important;
    box-shadow: 0 0 0 2px rgba(251, 146, 60, .18) !important;
}

html.tema-conforto body.pagina-operacional-frota .pesquisar > .section-filtro > .btn-filtro {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-elevada) !important;
    border-color: #475569 !important;
}

html.tema-conforto body.pagina-operacional-frota .pesquisar > .section-filtro > .btn-filtro:hover,
html.tema-conforto body.pagina-operacional-frota .pesquisar > .section-filtro > .btn-filtro[aria-expanded="true"] {
    background: var(--tema-superficie-hover) !important;
    border-color: #fb923c !important;
}

/* Cartões da listagem de abastecimentos. */
html.tema-conforto body.pagina-operacional-frota .abastecimentos-lista-section {
    background: transparent !important;
    border-color: var(--tema-borda) !important;
}

html.tema-conforto body.pagina-operacional-frota .abastecimento-card,
html.tema-conforto body.pagina-operacional-frota .abastecimentos-lista-vazia {
    color: var(--tema-texto-secundario) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
    box-shadow: var(--tema-sombra) !important;
}

html.tema-conforto body.pagina-operacional-frota .abastecimento-card:hover {
    background: var(--tema-superficie-elevada) !important;
    border-color: #475569 !important;
    box-shadow: var(--tema-sombra-hover) !important;
}

html.tema-conforto body.pagina-operacional-frota .abastecimento-card__titulo strong,
html.tema-conforto body.pagina-operacional-frota .abastecimento-card__detalhes strong {
    color: var(--tema-texto) !important;
}

html.tema-conforto body.pagina-operacional-frota .abastecimento-card__modelo,
html.tema-conforto body.pagina-operacional-frota .abastecimento-card__detalhes,
html.tema-conforto body.pagina-operacional-frota .abastecimentos-lista-vazia {
    color: var(--tema-texto-suave) !important;
}

html.tema-conforto body.pagina-operacional-frota .abastecimento-badge--tipo {
    color: var(--tema-texto) !important;
    background: transparent !important;
    border-color: transparent !important;
}

html.tema-conforto body.pagina-operacional-frota .abastecimento-card__odometro {
    color: #fdba74 !important;
    background: rgba(249, 115, 22, .14) !important;
    border-color: rgba(251, 146, 60, .46) !important;
}

html.tema-conforto body.pagina-operacional-frota .abastecimento-card__odometro strong {
    color: #fed7aa !important;
}

html.tema-conforto body.pagina-operacional-frota .abastecimento-card__valor {
    color: #86efac !important;
    background: rgba(34, 197, 94, .14) !important;
    border-color: rgba(74, 222, 128, .38) !important;
}

html.tema-conforto body.pagina-operacional-frota .abastecimento-card__valor strong {
    color: #bbf7d0 !important;
}

html.tema-conforto body.pagina-operacional-frota .abastecimento-card__acoes .btn-acoes {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-elevada) !important;
    border-color: #475569 !important;
}

html.tema-conforto body.pagina-operacional-frota .abastecimento-card__acoes .btn-acoes:hover,
html.tema-conforto body.pagina-operacional-frota .abastecimento-card__acoes .btn-acoes[aria-expanded="true"] {
    background: var(--tema-superficie-hover) !important;
    border-color: #64748b !important;
}


/* Ações de todos os filtros das abas do Controle de Veículos. */
html.tema-conforto body.pagina-operacional-frota .section-filtro .popover .acoes,
html.tema-conforto body.pagina-operacional-frota .section-filtro .popover .acoes-simple {
    border-color: var(--tema-borda) !important;
}

html.tema-conforto body.pagina-operacional-frota .section-filtro .popover .ok {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: var(--tema-destaque) !important;
    border: 1px solid var(--tema-destaque) !important;
    opacity: 1;
}

html.tema-conforto body.pagina-operacional-frota .section-filtro .popover .ok:hover:not(:disabled) {
    color: #ffffff !important;
    background: #e86d00 !important;
    border-color: #fb923c !important;
}

html.tema-conforto body.pagina-operacional-frota .section-filtro .popover .limpar,
html.tema-conforto body.pagina-operacional-frota .section-filtro .popover .cancelar {
    color: var(--tema-texto-secundario) !important;
    -webkit-text-fill-color: var(--tema-texto-secundario) !important;
    background: var(--tema-superficie-elevada) !important;
    border: 1px solid #475569 !important;
    opacity: 1;
}

html.tema-conforto body.pagina-operacional-frota .section-filtro .popover .limpar:hover:not(:disabled),
html.tema-conforto body.pagina-operacional-frota .section-filtro .popover .cancelar:hover:not(:disabled) {
    color: var(--tema-texto) !important;
    -webkit-text-fill-color: var(--tema-texto) !important;
    background: var(--tema-superficie-hover) !important;
    border-color: #64748b !important;
}

html.tema-conforto body.pagina-operacional-frota .section-filtro .popover button:focus-visible {
    outline: 2px solid #fb923c !important;
    outline-offset: 2px;
}

html.tema-conforto body.pagina-operacional-frota .section-filtro .popover button:disabled {
    color: var(--tema-texto-suave) !important;
    -webkit-text-fill-color: var(--tema-texto-suave) !important;
    background: var(--tema-campo) !important;
    border-color: var(--tema-borda) !important;
    cursor: not-allowed;
    opacity: .72;
}

/* OS Finalizadas — novo topo, filtro e tabela responsiva. */
html.tema-conforto body.pagina-os-finalizada .os-finalizada-pesquisa i {
    color: var(--tema-texto-suave) !important;
}

html.tema-conforto body.pagina-os-finalizada .os-finalizada-pesquisa input:focus {
    border-color: #fb923c !important;
    box-shadow: 0 0 0 2px rgba(251, 146, 60, .18) !important;
}

html.tema-conforto body.pagina-os-finalizada .os-finalizada-filtro > .btn-filtro {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-elevada) !important;
    border-color: #475569 !important;
}

html.tema-conforto body.pagina-os-finalizada .os-finalizada-filtro > .btn-filtro:hover,
html.tema-conforto body.pagina-os-finalizada .os-finalizada-filtro > .btn-filtro[aria-expanded="true"] {
    background: var(--tema-superficie-hover) !important;
    border-color: #fb923c !important;
}

html.tema-conforto body.pagina-os-finalizada .os-finalizada-popover .ok {
    color: #fff !important;
    background: var(--tema-destaque) !important;
    border-color: var(--tema-destaque) !important;
}

html.tema-conforto body.pagina-os-finalizada .os-finalizada-popover .limpar,
html.tema-conforto body.pagina-os-finalizada .os-finalizada-popover .cancelar {
    color: var(--tema-texto-secundario) !important;
    background: var(--tema-superficie-elevada) !important;
    border: 1px solid #475569 !important;
}

html.tema-conforto body.pagina-os-finalizada .os-finalizada-tabela-wrap {
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
    box-shadow: var(--tema-sombra) !important;
}

html.tema-conforto body.pagina-os-finalizada .os-status-finalizado {
    color: #86efac !important;
    background: rgba(22, 163, 74, .18) !important;
    border: 1px solid rgba(74, 222, 128, .25) !important;
}

/* Vaga Livre — filtro no modo confortável. */
html.tema-conforto body.pagina-vaga-livre #popoverPeriodo.popover-vaga-livre {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie) !important;
    border-color: var(--tema-borda) !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .42) !important;
}

html.tema-conforto body.pagina-vaga-livre #popoverPeriodo .label-filtro {
    color: var(--tema-texto-secundario) !important;
}

html.tema-conforto body.pagina-vaga-livre #popoverPeriodo input[type="date"],
html.tema-conforto body.pagina-vaga-livre #popoverPeriodo .select-filtro {
    color: var(--tema-texto) !important;
    -webkit-text-fill-color: var(--tema-texto) !important;
    background-color: var(--tema-campo) !important;
    border-color: #475569 !important;
    color-scheme: dark !important;
}

html.tema-conforto body.pagina-vaga-livre #popoverPeriodo .select-filtro option {
    color: var(--tema-texto) !important;
    background: var(--tema-campo) !important;
}

html.tema-conforto body.pagina-vaga-livre #popoverPeriodo input[type="date"]:hover,
html.tema-conforto body.pagina-vaga-livre #popoverPeriodo input[type="date"]:focus,
html.tema-conforto body.pagina-vaga-livre #popoverPeriodo .select-filtro:hover,
html.tema-conforto body.pagina-vaga-livre #popoverPeriodo .select-filtro:focus {
    color: var(--tema-texto) !important;
    background-color: #1b273a !important;
    border-color: #fb923c !important;
    box-shadow: 0 0 0 3px rgba(251, 146, 60, .14) !important;
    outline: none !important;
}

html.tema-conforto body.pagina-vaga-livre #popoverPeriodo input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1) brightness(.9) !important;
    opacity: .9 !important;
}

html.tema-conforto body.pagina-vaga-livre #btnPeriodo {
    color: var(--tema-texto) !important;
    background: var(--tema-superficie-elevada) !important;
    border-color: #475569 !important;
}

html.tema-conforto body.pagina-vaga-livre #btnPeriodo:hover,
html.tema-conforto body.pagina-vaga-livre #btnPeriodo[aria-expanded="true"] {
    background: var(--tema-superficie-hover) !important;
    border-color: #fb923c !important;
}

/* =====================================================================
   CONTROLE DE FROTA — CONFIGURAÇÕES DAS NOTIFICAÇÕES
   ===================================================================== */

html.tema-conforto body.pagina-operacional-frota #modalConfigNotificacoes .cfg-whatsapp {
    color: var(--frota-texto) !important;
    background: #182337 !important;
    border-color: var(--frota-borda) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025) !important;
}

html.tema-conforto body.pagina-operacional-frota #modalConfigNotificacoes .cfg-whatsapp__topo strong {
    color: var(--frota-texto) !important;
}

html.tema-conforto body.pagina-operacional-frota #modalConfigNotificacoes .cfg-whatsapp__topo small,
html.tema-conforto body.pagina-operacional-frota #modalConfigNotificacoes .cfg-whatsapp__contador {
    color: var(--frota-suave) !important;
}

html.tema-conforto body.pagina-operacional-frota #modalConfigNotificacoes .cfg-whatsapp__linha {
    background: var(--frota-superficie-alta) !important;
    border-color: var(--frota-borda) !important;
    box-shadow: 0 5px 14px rgba(0, 0, 0, .18) !important;
}

html.tema-conforto body.pagina-operacional-frota #modalConfigNotificacoes .cfg-whatsapp__campo label {
    color: #b8c6d9 !important;
    background: transparent !important;
}

html.tema-conforto body.pagina-operacional-frota #modalConfigNotificacoes .cfg-whatsapp__campo input {
    color: var(--frota-texto) !important;
    -webkit-text-fill-color: var(--frota-texto) !important;
    background: var(--frota-campo) !important;
    border-color: #475569 !important;
    caret-color: #fb923c;
}

html.tema-conforto body.pagina-operacional-frota #modalConfigNotificacoes .cfg-whatsapp__campo input::placeholder {
    color: #72839a !important;
    -webkit-text-fill-color: #72839a !important;
    opacity: 1;
}

html.tema-conforto body.pagina-operacional-frota #modalConfigNotificacoes .cfg-whatsapp__campo input:hover {
    background: #1b273a !important;
    border-color: #64748b !important;
}

html.tema-conforto body.pagina-operacional-frota #modalConfigNotificacoes .cfg-whatsapp__campo input:focus {
    background: #111c2f !important;
    border-color: #fb923c !important;
    box-shadow: 0 0 0 3px rgba(251, 146, 60, .15) !important;
}

html.tema-conforto body.pagina-operacional-frota #modalConfigNotificacoes .cfg-whatsapp__adicionar {
    color: #ffffff !important;
    background: var(--frota-superficie-alta) !important;
    border: 1px solid #475569 !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .24) !important;
}

html.tema-conforto body.pagina-operacional-frota #modalConfigNotificacoes .cfg-whatsapp__adicionar:hover:not(:disabled) {
    background: #2d3c54 !important;
    border-color: #64748b !important;
}

html.tema-conforto body.pagina-operacional-frota #modalConfigNotificacoes .cfg-whatsapp__adicionar:disabled {
    color: var(--frota-suave) !important;
    background: var(--frota-campo) !important;
    border-color: var(--frota-borda) !important;
    box-shadow: none !important;
    opacity: .72;
}

html.tema-conforto body.pagina-operacional-frota #modalConfigNotificacoes .cfg-whatsapp__remover {
    color: #fca5a5 !important;
    background: rgba(127, 29, 29, .18) !important;
    border-color: rgba(248, 113, 113, .42) !important;
}

html.tema-conforto body.pagina-operacional-frota #modalConfigNotificacoes .cfg-whatsapp__remover:hover {
    color: #ffffff !important;
    background: rgba(185, 28, 28, .52) !important;
    border-color: #f87171 !important;
}

html.tema-conforto body.pagina-operacional-frota #modalConfigNotificacoes .cfg-whatsapp__vazio {
    color: var(--frota-suave) !important;
    background: rgba(15, 23, 42, .34) !important;
    border-color: var(--frota-borda) !important;
}

html.tema-conforto body.pagina-operacional-frota #modalConfigNotificacoes :is(
    .cfg-whatsapp__adicionar,
    .cfg-whatsapp__remover
):focus-visible {
    outline: 2px solid #fb923c !important;
    outline-offset: 2px;
}

html.tema-conforto body.pagina-operacional-frota #modalConfigNotificacoes .modal-corpo {
    scrollbar-color: #52637c #172033;
}

html.tema-conforto body.pagina-operacional-frota #modalConfigNotificacoes .modal-corpo::-webkit-scrollbar {
    width: 10px;
}

html.tema-conforto body.pagina-operacional-frota #modalConfigNotificacoes .modal-corpo::-webkit-scrollbar-track {
    background: #172033;
}

html.tema-conforto body.pagina-operacional-frota #modalConfigNotificacoes .modal-corpo::-webkit-scrollbar-thumb {
    background: #52637c;
    border: 2px solid #172033;
    border-radius: 999px;
}

/* Informacoes secundarias dos cards da aba Notificacoes. */
html.tema-conforto body.pagina-operacional-frota .cv-notif-card__motorista {
    color: #aebdd1 !important;
}

html.tema-conforto body.pagina-operacional-frota .cv-notif-card__placa {
    color: #93c5fd !important;
}

html.tema-conforto body.pagina-operacional-frota .cv-notif-card__venc,
html.tema-conforto body.pagina-operacional-frota .cv-notif-card__id {
    color: #b8c6d9 !important;
}

html.tema-conforto body.pagina-operacional-frota .cv-notif-card__detalhes {
    color: #c5d1e1 !important;
    border-top-color: #52637b !important;
}

html.tema-conforto body.pagina-operacional-frota .cv-notif-card__detalhes span {
    color: #c5d1e1 !important;
}

html.tema-conforto body.pagina-operacional-frota .cv-notif-card__detalhes strong {
    color: #f1f5f9 !important;
}
