/* RADAR-APS — Frutiger Aero comum (tokens + peças Bootstrap).
   Carregado por partials/aero_head.html (opt-in por página, antes do CSS próprio da página).
   Só aparência: cores de faixa/semáforo (badges/alerts bg-*, table-success etc.) e gauges
   ficam intocados — a regra de faixa vem do servidor.
   Desempenho: backdrop-filter só em modais (e na barra, em radar_dashboard.css); sem animação contínua.
   Radar de carregamento tem arquivo próprio (radar_aero.css), usado também fora destas páginas. */

:root {
  --aero-ceu: linear-gradient(180deg, #2a95ec 0%, #1479de 50%, #0a63d6 51%, #0b5ed7 100%);
  --aero-brilho: linear-gradient(180deg, rgba(255, 255, 255, 0.34) 0%, rgba(255, 255, 255, 0.1) 49%, rgba(255, 255, 255, 0) 50%);
  --aero-vidro: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(240, 249, 255, 0.92) 100%);
  --aero-aqua-suave: linear-gradient(180deg, #f2fbff 0%, #e1f3ff 49%, #d5eeff 50%, #e6f5ff 100%);
  --aero-lima: linear-gradient(180deg, #c4f77e 0%, #8fe04a 48%, #62c41f 50%, #7fd83a 100%);
  --aero-lima-borda: #3f9a14;
  --aero-lima-tinta: #0d3a06;
  --aero-tinta: #0b3a66;
  --aero-tinta-suave: #3d5a78;
  --aero-azul: #1479de;
  --aero-linha: #cfe6f8;
  --aero-borda: rgba(255, 255, 255, 0.85);
  --aero-foco: 0 0 0 0.2rem rgba(26, 166, 239, 0.35);
  --aero-sombra: 0 2px 10px rgba(0, 60, 130, 0.1);
  --aero-raio: 14px;
}

/* ---------- Cards ---------- */
.card {
  --bs-card-border-color: var(--aero-linha);
  --bs-card-border-radius: var(--aero-raio);
  --bs-card-inner-border-radius: calc(var(--aero-raio) - 1px);
  --bs-card-cap-bg: #eaf6ff;
  --bs-card-cap-color: var(--aero-tinta);
  box-shadow: inset 0 1px 0 #fff, var(--aero-sombra);
}

/* Só cor de fundo (nunca background-image): cartões tingidos por faixa via CSS da página continuam visíveis. */
.card > .card-header,
.card > .card-footer {
  border-color: var(--aero-linha);
}

/* ---------- Botões ---------- */
.btn {
  --bs-btn-border-radius: 10px;
  --bs-btn-focus-box-shadow: var(--aero-foco);
}

/* Primário (comum): azul-aqua glossy */
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #1479de;
  --bs-btn-border-color: #0a5cc4;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #1a86ea;
  --bs-btn-hover-border-color: #0a5cc4;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0a63d6;
  --bs-btn-active-border-color: #08479c;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #7fb6ea;
  --bs-btn-disabled-border-color: #6aa6df;
  background-image: var(--aero-brilho), linear-gradient(180deg, #2a95ec 0%, #1479de 50%, #0a63d6 51%, #1479de 100%);
  font-weight: 600;
  text-shadow: 0 1px 1px rgba(0, 40, 100, 0.45);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6), 0 2px 6px rgba(0, 70, 160, 0.25);
}

/* Destaque (ação principal: Acessar, Salvar, Confirmar, Fechar do Missão 360): verde-limão glossy.
   Opt-in explícito; vence btn-primary quando os dois estão no elemento. */
.btn.btn-aero-destaque {
  --bs-btn-color: var(--aero-lima-tinta);
  --bs-btn-bg: #7fd83a;
  --bs-btn-border-color: var(--aero-lima-borda);
  --bs-btn-hover-color: var(--aero-lima-tinta);
  --bs-btn-hover-bg: #8fe04a;
  --bs-btn-hover-border-color: var(--aero-lima-borda);
  --bs-btn-active-color: var(--aero-lima-tinta);
  --bs-btn-active-bg: #62c41f;
  --bs-btn-active-border-color: #2f7d0c;
  --bs-btn-disabled-color: var(--aero-lima-tinta);
  --bs-btn-disabled-bg: #b9e88f;
  --bs-btn-disabled-border-color: #8cc65c;
  background-image: var(--aero-lima);
  font-weight: 700;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.55);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85), inset 0 -2px 3px rgba(30, 90, 0, 0.2), 0 2px 6px rgba(30, 110, 20, 0.22);
}

.btn-primary:hover,
.btn.btn-aero-destaque:hover {
  filter: brightness(1.05);
}

.btn.btn-aero-destaque:focus-visible {
  outline: 3px solid var(--aero-azul);
  outline-offset: 2px;
}

.btn-primary:active,
.btn-primary.active,
.btn.btn-aero-destaque:active {
  background-image: none;
}

/* Secundário: vidro */
.btn-secondary,
.btn-light,
.btn-outline-primary,
.btn-outline-secondary {
  --bs-btn-color: #0b4f9c;
  --bs-btn-bg: #f4faff;
  --bs-btn-border-color: #a9d2f2;
  --bs-btn-hover-color: #08427f;
  --bs-btn-hover-bg: #e3f3ff;
  --bs-btn-hover-border-color: #6fb6ea;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--aero-azul);
  --bs-btn-active-border-color: #0a63d6;
  --bs-btn-disabled-color: #6f8296;
  --bs-btn-disabled-bg: #f4f8fb;
  --bs-btn-disabled-border-color: #d3e2ee;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0) 51%);
  box-shadow: inset 0 1px 0 #fff, 0 1px 3px rgba(0, 60, 130, 0.12);
}

.btn-secondary:active,
.btn-secondary.active,
.btn-light:active,
.btn-light.active,
.btn-outline-primary:active,
.btn-outline-primary.active,
.btn-outline-secondary:active,
.btn-outline-secondary.active,
.btn-check:checked + .btn-outline-primary,
.btn-check:checked + .btn-outline-secondary {
  background-image: var(--aero-brilho);
  text-shadow: 0 1px 1px rgba(0, 40, 100, 0.4);
}

/* ---------- Tabelas ---------- */
.table {
  --bs-table-hover-bg: rgba(26, 166, 239, 0.07);
  --bs-table-border-color: #dcebf7;
}

.table > thead:not([class*="table-"]) > tr > th,
.table > thead:not([class*="table-"]) > tr > td {
  --bs-table-bg: #e3f3ff;
  --bs-table-color: var(--aero-tinta);
  border-bottom-color: #b9dcf5;
  font-weight: 600;
}

/* ---------- Formulários ---------- */
.form-control,
.form-select {
  border-color: #a9d2f2;
  border-radius: 10px;
  box-shadow: inset 0 1px 2px rgba(0, 60, 130, 0.08);
}

.form-control:focus,
.form-select:focus {
  border-color: #1aa6ef;
  box-shadow: inset 0 1px 2px rgba(0, 60, 130, 0.08), var(--aero-foco);
}

.form-check-input {
  border-color: #8fc3ea;
}

.form-check-input:checked {
  background-color: var(--aero-azul);
  border-color: #0a63d6;
}

.form-check-input:focus {
  border-color: #1aa6ef;
  box-shadow: var(--aero-foco);
}

.input-group-text {
  background-color: #eaf6ff;
  border-color: #a9d2f2;
  color: var(--aero-tinta);
}

/* ---------- Abas ---------- */
.nav-tabs {
  --bs-nav-tabs-border-color: var(--aero-linha);
  --bs-nav-tabs-link-hover-border-color: #e3f3ff #e3f3ff var(--aero-linha);
  --bs-nav-tabs-link-active-color: #fff;
  --bs-nav-tabs-link-active-border-color: #0a63d6;
  --bs-nav-tabs-border-radius: 10px;
}

.nav-tabs .nav-link.active,
.nav-pills .nav-link.active {
  background-image: var(--aero-brilho), var(--aero-ceu);
  color: #fff;
  text-shadow: 0 1px 1px rgba(0, 40, 100, 0.45);
}

.nav-pills {
  --bs-nav-pills-border-radius: 999px;
}

.nav-tabs .nav-link:not(.active),
.nav-pills .nav-link:not(.active) {
  color: #0b4f9c;
}

/* ---------- Modais (vidro com blur) ---------- */
.modal-content {
  --bs-modal-border-radius: 18px;
  --bs-modal-inner-border-radius: 17px;
  border: 1px solid var(--aero-borda);
  box-shadow: inset 0 1px 0 #fff, 0 18px 45px rgba(0, 45, 120, 0.3);
}

@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .modal-content:not([class*="bg-"]) {
    background-color: rgba(255, 255, 255, 0.82);
    -webkit-backdrop-filter: blur(10px) saturate(1.2);
    backdrop-filter: blur(10px) saturate(1.2);
  }
}

.modal-header,
.modal-footer {
  border-color: var(--aero-linha);
}

.modal-backdrop {
  --bs-backdrop-bg: #062a5c;
  --bs-backdrop-opacity: 0.45;
}

/* Opt-in .modal-aero: cabeçalho céu glossy (padrão Missão Saúde 360). Cabeçalhos bg-* ficam como estão. */
.modal-aero .modal-header:not([class*="bg-"]) {
  padding: 0.7rem 1rem;
  color: #fff;
  background: var(--aero-brilho), var(--aero-ceu);
  border-bottom: 1px solid rgba(255, 255, 255, 0.7);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.modal-aero .modal-header:not([class*="bg-"]) .modal-title {
  color: #fff;
  font-weight: 700;
  font-size: 1.1rem;
  text-shadow: 0 1px 2px rgba(0, 40, 100, 0.55);
}

/* Ícone de saúde (sprite Healthicons, currentColor) no título do modal: bolha lima, tinta escura legível sobre o céu. */
.modal-aero .modal-title .aero-icone-saude {
  margin-right: 0.5rem;
  padding: 0.18em;
  border-radius: 50%;
  color: var(--aero-lima-tinta);
  background: var(--aero-lima);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7), 0 1px 2px rgba(0, 40, 100, 0.35);
}

.modal-aero .modal-header:not([class*="bg-"]) .btn-close {
  filter: var(--bs-btn-close-white-filter);
  opacity: 0.9;
}

.modal-aero .modal-header .btn-close:hover {
  opacity: 1;
}

.modal-aero .modal-header .btn-close:focus-visible {
  opacity: 1;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.85);
}

/* Lista de navegação em pílulas de vidro (sem mudança de layout no hover). */
.list-group.lista-aero {
  gap: 0.35rem;
}

.list-group.lista-aero > .list-group-item {
  border: 1px solid var(--aero-linha);
  border-radius: 12px;
  padding: 0.6rem 0.85rem;
  color: var(--aero-tinta);
  font-weight: 500;
  background: var(--aero-vidro);
  box-shadow: inset 0 1px 0 #fff, 0 1px 3px rgba(0, 60, 130, 0.08);
}

.list-group.lista-aero > .list-group-item > .bi:first-child {
  color: #1683e6;
  font-size: 1.05em;
}

.list-group.lista-aero > .list-group-item-action:hover {
  color: #06386b;
  border-color: #9fd2f7;
  background: var(--aero-aqua-suave);
  box-shadow: inset 0 1px 0 #fff, 0 2px 8px rgba(0, 90, 170, 0.18);
}

.list-group.lista-aero > .list-group-item-action:focus-visible {
  z-index: 2;
  outline: 3px solid rgba(20, 121, 222, 0.6);
  outline-offset: 1px;
  box-shadow: none;
}

/* ---------- Badges: só forma (cor de faixa intocada) ---------- */
.badge {
  border-radius: 8px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

/* ---------- Dropdowns ---------- */
.dropdown-menu {
  border-color: var(--aero-linha);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 45, 120, 0.18);
}

.dropdown-item:active,
.dropdown-item.active {
  background-image: var(--aero-brilho), var(--aero-ceu);
}

/* ========== Kit de página (partials/aero_*.html) — docs/guias/KIT_AERO_PAGINAS.md ========== */
body.aero-page {
  margin: 0;
  padding: 15px;
  background: #f6f9fc linear-gradient(180deg, #e6f4ff 0%, #f6f9fc 100%) no-repeat;
  background-size: 100% 280px;
}

@media (min-width: 768px) {
  body.aero-page {
    padding: 20px;
  }
}

@media print {
  body.aero-page {
    padding: 0;
    background: #fff;
  }
}

.aero-page-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  margin-bottom: 1.25rem;
}

.aero-page-header__texto {
  min-width: 0;
  flex: 1 1 20rem;
}

.aero-page-header__titulo {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--aero-tinta);
}

.aero-page-header__titulo .aero-icone-saude {
  flex: none;
  color: #1683e6;
}

.aero-page-header--banner .aero-page-header__titulo .aero-icone-saude {
  color: #fff;
  filter: drop-shadow(0 1px 1px rgba(0, 40, 100, 0.45));
}

.aero-page-header__subtitulo {
  margin: 0.35rem 0 0;
  font-size: 0.95rem;
  color: var(--aero-tinta-suave);
}

.aero-page-header__acoes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.aero-page-header--banner {
  padding: 1.1rem 1.25rem;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: var(--aero-raio);
  background: var(--aero-brilho), var(--aero-ceu);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75), 0 6px 18px rgba(0, 60, 140, 0.22);
}

.aero-page-header--banner .aero-page-header__titulo {
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 40, 100, 0.55);
}

.aero-page-header--banner .aero-page-header__subtitulo {
  color: rgba(255, 255, 255, 0.95);
  text-shadow: 0 1px 1px rgba(0, 40, 100, 0.4);
}

.aero-page-header--linha {
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--aero-linha);
}

/* Barra fixa dos consolidados (nav_*_consolidado): mesma geometria da barra antiga (52px, casada com body p-4) */
.aero-page-header--barra {
  position: sticky;
  top: 0;
  z-index: 100;
  justify-content: flex-end;
  margin: -20px -20px 1rem;
  padding: 10px 20px;
  border-bottom: 1px solid var(--aero-linha);
  background: rgba(246, 251, 255, 0.9);
  box-shadow: 0 2px 8px rgba(0, 60, 140, 0.08);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.aero-page-header--sticky {
  position: sticky;
  top: 0;
  z-index: 100;
}

@media (max-width: 575.98px) {
  .aero-page-header__titulo {
    font-size: 1.25rem;
  }

  .aero-page-header--banner {
    padding: 0.9rem 1rem;
  }
}

/* Contêiner de filtros (row g-3 align-items-end dentro) */
.aero-filtros {
  margin-bottom: 1.25rem;
  padding: 1.1rem 1.25rem;
  border: 1px solid var(--aero-linha);
  border-radius: var(--aero-raio);
  background: var(--aero-vidro);
  box-shadow: inset 0 1px 0 #fff, var(--aero-sombra);
}

.aero-filtro > .form-label {
  font-weight: 600;
  color: var(--aero-tinta);
}

/* Seletor de município dos painéis operacionais: largo no desktop, cabe em 390px */
.aero-filtro-municipio {
  flex: 0 1 320px;
  min-width: min(320px, 100%);
}

.aero-ubs-display {
  cursor: not-allowed;
  background-color: #e9ecef;
}

/* Campo de data: botão de calendário anexado pelo JS na mesma altura do input */
.aero-filtro-data .input-group .form-control.is-invalid {
  z-index: 3;
}

.aero-filtro-data .input-group > .btn.position-relative {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: calc(1.5em + 0.75rem + 2px);
}

/* KPI: vidro + valor grande; cor só via text-* (nunca fundo) */
.aero-kpi {
  height: 100%;
  padding: 0.6rem 0.75rem;
  text-align: center;
  border: 1px solid var(--aero-linha);
  border-radius: var(--aero-raio);
  background: var(--aero-vidro);
  box-shadow: inset 0 1px 0 #fff, var(--aero-sombra);
}

.aero-kpi__valor {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--aero-azul);
}

.aero-kpi__rotulo {
  font-size: 0.875rem;
  color: var(--aero-tinta-suave);
}

.aero-kpi--compacto {
  padding: 0.75rem 1rem;
  text-align: left;
  border-left: 4px solid #1aa6ef;
}

.aero-kpi--compacto .aero-kpi__rotulo {
  font-size: 0.85rem;
}

.aero-kpi--compacto .aero-kpi__valor {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--aero-tinta);
}

/* Utilitários dos painéis operacionais (antes copiados inline em cada página) */
.aero-page .mono {
  font-family: var(--bs-font-monospace);
}

.aero-page .small-muted {
  font-size: 0.85rem;
  color: #6c757d;
}

/* Tabela: card aero-tabela > (card-header) > card-body/table-responsive > table */
.card.aero-tabela {
  margin-bottom: 1.25rem;
}

.aero-tabela .table > thead > tr > th {
  font-weight: 600;
  color: var(--aero-tinta);
  white-space: nowrap;
}

.aero-tabela-carregando > td {
  padding: 1.25rem 0.5rem;
  text-align: center;
  color: var(--aero-tinta-suave);
}

/* Legado com CSS próprio (bucal: .filters, .content-card, .table-container, .stats-card, .summary-card):
   o kit entra por classe, com .aero-page na frente para vencer o <style> da página sem trocar markup. */
.aero-page .filters.aero-filtros,
.aero-page .content-card.aero-filtros {
  padding: 1rem 1.25rem;
  border: 1px solid var(--aero-linha);
  border-radius: var(--aero-raio);
  background: var(--aero-vidro);
  box-shadow: inset 0 1px 0 #fff, var(--aero-sombra);
}

.aero-page .aero-filtros label,
.aero-page .aero-filtros .form-label {
  color: var(--aero-tinta);
}

.aero-page .table-container.aero-tabela {
  border: 1px solid var(--aero-linha);
  border-radius: var(--aero-raio);
  background-color: #fff;
  box-shadow: inset 0 1px 0 #fff, var(--aero-sombra);
}

.aero-page .stats-card.aero-kpi,
.aero-page .summary-card.aero-kpi {
  color: var(--aero-tinta);
  border: 1px solid var(--aero-linha);
  border-radius: var(--aero-raio);
  background: var(--aero-vidro);
  box-shadow: inset 0 1px 0 #fff, var(--aero-sombra);
}

.aero-page .card.aero-kpi {
  padding: 0;
}

.aero-page .stats-card.aero-kpi h6,
.aero-page .stats-card.aero-kpi small,
.aero-page .stats-card.aero-kpi .stats-label,
.aero-page .summary-card.aero-kpi .card-title {
  color: var(--aero-tinta-suave);
}

/* Listas C e Mulher: cartões de paciente montados pelo JS (#resultado.aero-cartoes-paciente) e cartões de prática
   (#cardsIndicadores.aero-cartoes-pratica). Só casca de tela: a impressão segue o CSS da página. Estados ficam com a
   página — .card-alerta (a vencer), .card-selected, .search-highlight, badges, tags e células de validade. */
@media screen {
  .aero-cartoes-paciente > :is(.card-diabetes, .card-hiper, .card-idoso, .card-gestante, .card-infantil, .card-ssr) {
    border-radius: var(--aero-raio);
  }

  .aero-cartoes-paciente > :is(.card-diabetes, .card-hiper, .card-idoso, .card-gestante, .card-infantil, .card-ssr):not(.card-alerta):not(.card-selected):not(.search-highlight) {
    border-color: var(--aero-linha);
    border-top-color: #9fd6f7;
    background: var(--aero-vidro);
    box-shadow: inset 0 1px 0 #fff, var(--aero-sombra);
  }

  .aero-cartoes-paciente > :is(.card-diabetes, .card-hiper, .card-idoso, .card-gestante, .card-infantil, .card-ssr):not(.card-alerta):not(.card-selected):not(.search-highlight):hover {
    box-shadow: inset 0 1px 0 #fff, 0 6px 18px rgba(0, 60, 130, 0.16);
  }

  .aero-cartoes-paciente > :is(.card-diabetes, .card-hiper, .card-idoso, .card-gestante, .card-infantil, .card-ssr) h5 {
    color: var(--aero-tinta);
  }

  .aero-cartoes-paciente :is(.card-diabetes, .card-hiper, .card-idoso, .card-gestante, .card-infantil, .card-ssr) .btn-collapse {
    color: #fff !important;
    border: 1px solid #0a58ca !important;
    border-radius: 10px !important;
    background: var(--aero-brilho), var(--aero-ceu) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), var(--aero-sombra) !important;
  }

  .aero-cartoes-paciente :is(.card-diabetes, .card-hiper, .card-idoso, .card-gestante, .card-infantil, .card-ssr) .btn-collapse:hover {
    background: var(--aero-brilho), var(--aero-ceu) !important;
    filter: brightness(1.06);
  }

  .aero-cartoes-pratica .card {
    background: var(--aero-vidro);
  }

  .aero-cartoes-pratica .card-title {
    color: var(--aero-tinta);
  }

  /* Mais Acesso: cartões por quadrimestre (antes gradientes decorativos) */
  .aero-page .card-quadrimestre.aero-kpi {
    color: var(--aero-tinta);
    text-align: left;
  }

  .aero-page .card-quadrimestre.aero-kpi .stat-item {
    background: var(--aero-aqua-suave);
  }

  .aero-page .card-quadrimestre.aero-kpi .stat-value {
    color: var(--aero-azul);
  }
}

.aero-page .stats-card.aero-kpi .stat-value,
.aero-page .stats-card.aero-kpi .stats-number,
.aero-page .summary-card.aero-kpi h3 {
  color: var(--aero-azul);
}

.aero-estado-vazio {
  padding: 3rem 1rem;
  text-align: center;
  color: var(--aero-tinta-suave);
}

.aero-estado-vazio > .bi {
  display: block;
  font-size: 2.75rem;
  line-height: 1;
  opacity: 0.6;
}

.aero-estado-vazio > p {
  margin: 1rem 0 0;
}

/* Sub-navegação entre páginas irmãs (partials/aero_subnav.html): pílulas de vidro, atual em céu */
.aero-subnav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: -0.25rem 0 1.25rem;
}

.aero-subnav__item {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.85rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #0b4f9c;
  text-decoration: none;
  border: 1px solid #a9d2f2;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0) 51%), #f4faff;
  box-shadow: inset 0 1px 0 #fff, 0 1px 3px rgba(0, 60, 130, 0.12);
}

.aero-subnav__item:hover {
  color: #08427f;
  background-color: #e3f3ff;
  border-color: #6fb6ea;
}

.aero-subnav__item:focus-visible {
  outline: none;
  box-shadow: var(--aero-foco);
}

.aero-subnav__item.is-atual {
  color: #fff;
  border-color: #0a5cc4;
  background: var(--aero-brilho), var(--aero-ceu);
  text-shadow: 0 1px 1px rgba(0, 40, 100, 0.45);
}

/* Cartão de item em grade (ex.: unidades): mesma pele do .aero-kpi */
.aero-cartao {
  height: 100%;
  padding: 0.9rem 1rem;
  border: 1px solid var(--aero-linha);
  border-radius: var(--aero-raio);
  background: var(--aero-vidro);
  box-shadow: inset 0 1px 0 #fff, var(--aero-sombra);
}

.aero-cartao:hover {
  border-color: #9fcff2;
}

/* Contador (ex.: "Total: N") dentro do cartão de filtros */
.aero-contador {
  display: inline-flex;
  align-items: baseline;
  gap: 0.35rem;
  padding: 0.35rem 0.85rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--aero-tinta-suave);
  white-space: nowrap;
  border: 1px solid var(--aero-linha);
  border-radius: 999px;
  background: var(--aero-vidro);
}

.aero-contador strong {
  font-size: 1.05rem;
  color: var(--aero-azul);
  font-variant-numeric: tabular-nums;
}

/* Tela de estado (aviso de bloqueio, acesso negado): um cartão centrado, sem cabeçalho de página */
body.aero-page.aero-estado-pagina {
  font-family: "Segoe UI", system-ui, sans-serif;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.aero-estado-cartao {
  width: 100%;
  max-width: 34rem;
  padding: 2rem 2rem 1.75rem;
  color: var(--aero-tinta);
  border: 1px solid var(--aero-linha);
  border-radius: var(--aero-raio);
  background: var(--aero-vidro);
  box-shadow: inset 0 1px 0 #fff, 0 12px 36px rgba(0, 60, 130, 0.16);
}

.aero-estado-cartao h1 {
  margin: 0 0 0.75rem;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--aero-tinta);
}

.aero-estado-cartao p {
  margin: 0 0 1rem;
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--aero-tinta-suave);
}

.aero-estado-cartao p:last-child {
  margin-bottom: 0;
}

.aero-estado-cartao__icone {
  font-size: 3.5rem;
  line-height: 1;
  margin-bottom: 0.75rem;
}

/* Acordeão de navegação em modal (aplicarAcordeaoAero): grupo = pílula; um aberto por vez (collapse Bootstrap) */
.acordeao-aero {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.acordeao-aero__cab {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  width: 100%;
  padding: 0.55rem 0.85rem;
  font-weight: 700;
  color: #0b4f9c;
  text-align: left;
  border: 1px solid #a9d2f2;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0) 51%), #f4faff;
  box-shadow: inset 0 1px 0 #fff, 0 1px 3px rgba(0, 60, 130, 0.12);
}

.acordeao-aero__cab:hover {
  background-color: #e3f3ff;
  border-color: #6fb6ea;
}

.acordeao-aero__cab:focus-visible {
  outline: none;
  box-shadow: var(--aero-foco);
}

.acordeao-aero__cab:not(.collapsed) {
  color: #fff;
  border-color: #0a5cc4;
  background: var(--aero-brilho), var(--aero-ceu);
  text-shadow: 0 1px 1px rgba(0, 40, 100, 0.45);
}

.acordeao-aero__icone {
  display: inline-flex;
  flex-shrink: 0;
}

.acordeao-aero__cab.collapsed .acordeao-aero__icone {
  color: #1683e6;
}

.acordeao-aero__titulo {
  flex: 1;
  min-width: 0;
}

.acordeao-aero__qtd {
  min-width: 1.6em;
  padding: 0.05rem 0.45rem;
  font-size: 0.8rem;
  text-align: center;
  color: #0b4f9c;
  text-shadow: none;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid #a9d2f2;
}

.acordeao-aero__seta {
  transition: transform 0.15s ease;
}

.acordeao-aero__cab:not(.collapsed) .acordeao-aero__seta {
  transform: rotate(180deg);
}

.acordeao-aero__itens {
  padding: 0.45rem 0 0.15rem 0.9rem;
}

.acordeao-aero .collapsing {
  transition: height 0.15s ease;
}

@media (prefers-reduced-motion: reduce) {
  .acordeao-aero .collapsing,
  .acordeao-aero__seta {
    transition: none;
  }
}
