/* Extensões do padrão existente da Visão Geral. */
.cards-painel { grid-template-columns:repeat(var(--quantidade-cards),minmax(0,1fr)); }
.status-painel { display:flex; align-items:center; gap:16px; margin:8px 0; font-size:13px; color:#475569; }
.status-painel:has(span:empty) { display:none; }
.status-painel.erro { padding:12px 16px; background:#fff3e9; border:1px solid #e8ba89; border-radius:6px; color:#783b12; }
.dados-pendentes .card strong, .dados-pendentes tbody { opacity:.5; }
.nota-periodo { font-size:13px; color:#475569; margin:4px 0 14px; }
.ordenar-coluna { border:0; background:transparent; color:inherit; font:inherit; font-weight:700; cursor:pointer; padding:4px; white-space:nowrap; }
.ordenar-coluna:focus-visible, .multi-select-trigger:focus-visible, .botao-congelar:focus-visible { outline:2px solid #2563eb; outline-offset:2px; }
.tabela-interativa .valor-monetario { text-align:right!important; white-space:nowrap; font-variant-numeric:tabular-nums; }
.tabela-container.tabela-visao-geral .tabela-interativa tbody td { white-space:nowrap; }
.tabela-interativa th { white-space:nowrap; }
.tabela-interativa .botao-congelar { vertical-align:middle; }
.tabela-interativa { min-width:100%; }
.tabela-container { max-height:590px; overflow:auto; }
.filtros-acoes-superiores { gap:10px; }
[hidden] { display:none!important; }
@media(max-width:1250px) { .cards-painel { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:760px) { .cards-painel { grid-template-columns:repeat(2,minmax(0,1fr)); } .status-painel { flex-wrap:wrap; } }
@media(max-width:480px) { .cards-painel { grid-template-columns:1fr; } }


/* ===== PADRÃO INSTITUCIONAL DE ALINHAMENTO DAS TABELAS =====
   Cabeçalhos centralizados; dimensões textuais à esquerda; PTRES centralizado;
   valores monetários à direita. As regras usam a chave real da coluna para não
   depender da posição e continuarem corretas quando a ordem das colunas mudar. */
.tabela-container.tabela-visao-geral .tabela-interativa thead th {
  text-align:center!important;
  vertical-align:middle;
}
.tabela-container.tabela-visao-geral .tabela-interativa tbody td {
  text-align:left!important;
  vertical-align:middle;
}
.tabela-container.tabela-visao-geral .tabela-interativa tbody td.valor-monetario,
.tabela-container.tabela-visao-geral .tabela-interativa tfoot td.valor-monetario {
  text-align:right!important;
}
.tabela-container.tabela-visao-geral .tabela-interativa tbody td[data-coluna="ptres"],
.tabela-container.tabela-visao-geral .tabela-interativa tfoot td[data-coluna="ptres"] {
  text-align:center!important;
}
.tabela-container.tabela-visao-geral .tabela-interativa tbody td.coluna-classificacao {
  text-align:left!important;
}
.tabela-container.tabela-visao-geral .tabela-interativa tfoot .rotulo-total {
  text-align:left!important;
}


/* Ajustes específicos de alinhamento por detalhamento. */
#credito-detalhamento tbody td[data-coluna="elemento_despesa_codigo"],
#receitas-detalhamento tbody td[data-coluna="fonte_recursos_detalhada_codigo"],
#receitas-detalhamento tbody td[data-coluna="natureza_receita_codigo"],
#empenhos-detalhamento tbody td[data-coluna="mes_lancamento"],
#empenhos-detalhamento tbody td[data-coluna="acao_governo_codigo"],
#empenhos-detalhamento tbody td[data-coluna="fonte_sof"],
#empenhos-detalhamento tbody td[data-coluna="natureza_despesa_codigo"] {
  text-align:center!important;
}

/* ===== EXPORTAÇÃO INTEGRAL DO DETALHAMENTO ===== */
.barra-abas-exportacao {
  display:flex;
  align-items:flex-end;
  gap:10px;
  border-bottom:1px solid #dbe3ed;
}
.barra-abas-exportacao .abas {
  flex:1 1 auto;
  min-width:0;
  border-bottom:0;
}
.acoes-exportacao {
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:6px;
  padding:0 4px 4px 0;
}
.botao-exportacao {
  height:34px;
  min-width:46px;
  padding:0 10px;
  border:1px solid #cbd5e1;
  border-radius:4px;
  background:#fff;
  color:#405169;
  font-size:12px;
  font-weight:700;
}
.botao-exportacao:hover:not(:disabled) {
  background:#edf2f8;
  color:var(--azul);
  border-color:#a8bdd7;
}
.botao-exportacao:focus-visible {
  outline:2px solid #2563eb;
  outline-offset:2px;
}
.botao-exportacao:disabled {
  opacity:.45;
  cursor:default;
}
@media(max-width:760px) {
  .barra-abas-exportacao { align-items:stretch; flex-direction:column; gap:4px; }
  .acoes-exportacao { justify-content:flex-end; padding:0 0 4px; }
}

/* Exportação ao lado do controle de classificação. */
.acoes-classificacao {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
  margin-left:auto;
  max-width:100%;
}
.acoes-classificacao .acoes-exportacao { padding:0; }
@media(max-width:760px) {
  .bloco-classificacao .acoes-classificacao .organizar-por {
    flex-wrap:wrap;
    max-width:100%;
  }
  .bloco-classificacao .acoes-classificacao .organizar-por select {
    min-width:0;
    max-width:100%;
  }
}
