/* Estilo do módulo saude: só com o escopo [data-modulo="saude"] e só com var(--token). Primitivos vêm de app.css. */

/* ---------- páginas e seções ---------- */
[data-modulo="saude"] .sau-painel,
[data-modulo="saude"] .sau-loja { display: flex; flex-direction: column; gap: var(--e-4); }
[data-modulo="saude"] .sau-aba { display: flex; flex-direction: column; gap: var(--e-5); }
[data-modulo="saude"] .sau-secao { display: flex; flex-direction: column; gap: var(--e-3); }
[data-modulo="saude"] .sau-sub { font: var(--t-titulo); }
[data-modulo="saude"] .sau-sub-pequeno { font: var(--t-corpo); font-weight: 600; margin-top: var(--e-3); }
[data-modulo="saude"] .sau-idade { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-1) var(--e-4); margin-top: var(--e-1); }
[data-modulo="saude"] .sau-bloco { display: block; }

/* ---------- cartões de número ---------- */
[data-modulo="saude"] .sau-cartoes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(var(--col-lista), 100%), 1fr)); gap: var(--e-4); align-items: stretch; }
[data-modulo="saude"] .sau-cartoes > * { min-width: 0; }
[data-modulo="saude"] .sau-faixas { display: flex; flex-direction: column; gap: var(--e-2); width: 100%; }
[data-modulo="saude"] .sau-faixas li { display: flex; align-items: center; justify-content: space-between; gap: var(--e-3); }
[data-modulo="saude"] .sau-faixas-linha { display: flex; flex-wrap: wrap; gap: var(--e-2); }
[data-modulo="saude"] .sau-dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: var(--e-2) var(--e-4); align-items: baseline; }
[data-modulo="saude"] .sau-dl dd { overflow-wrap: anywhere; }
[data-modulo="saude"] .sau-coleta-resumo { padding: var(--e-3) var(--e-4); background: var(--superficie); border: var(--b) solid var(--borda); border-radius: var(--r-card); }

/* ---------- filtros e tabela do painel ---------- */
[data-modulo="saude"] .sau-filtros { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--e-3) var(--e-4); align-items: end; }
[data-modulo="saude"] .sau-corpo-tabela { min-height: var(--e-7); }
[data-modulo="saude"] .sau-cel,
[data-modulo="saude"] .sau-celula { display: flex; flex-direction: column; align-items: flex-start; gap: var(--e-1); }
[data-modulo="saude"] .sau-celula-linha { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
[data-modulo="saude"] .sau-nome { font-weight: 600; }
[data-modulo="saude"] .sau-forcado { display: inline-flex; align-items: center; gap: var(--e-2); }
[data-modulo="saude"] .tabela td { vertical-align: top; }
[data-modulo="saude"] .tabela .chip,
[data-modulo="saude"] .tabela .badge { text-align: left; max-width: 100%; }
[data-modulo="saude"] .sau-delta { display: inline-flex; align-items: center; gap: var(--e-1); }

/* ---------- alertas ---------- */
[data-modulo="saude"] .sau-fila { display: flex; flex-direction: column; gap: var(--e-3); }
[data-modulo="saude"] .sau-fila-cab { display: flex; flex-direction: column; gap: var(--e-2); }
[data-modulo="saude"] .sau-teto { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-2); }
[data-modulo="saude"] .sau-alerta { display: flex; flex-direction: column; gap: var(--e-3); padding: var(--e-4); background: var(--superficie); border: var(--b) solid var(--borda); border-radius: var(--r-card); border-left: var(--e-1) solid var(--borda); }
[data-modulo="saude"] .sau-alerta[data-prioridade="alta"] { border-left-color: var(--crit); }
[data-modulo="saude"] .sau-alerta[data-estado="tratado"],
[data-modulo="saude"] .sau-alerta[data-estado="dispensado"] { background: var(--superficie-2); border-left-color: var(--dado); }
[data-modulo="saude"] .sau-alerta-cab { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-2) var(--e-3); }
[data-modulo="saude"] .sau-regras { display: flex; flex-direction: column; gap: var(--e-2); }
[data-modulo="saude"] .sau-regras li { display: flex; flex-direction: column; gap: var(--e-1); }
[data-modulo="saude"] .sau-acao { display: block; }
[data-modulo="saude"] .sau-alerta-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-2) var(--e-4); }
[data-modulo="saude"] .sau-destino { font-weight: 600; }
[data-modulo="saude"] .sau-trat { padding: var(--e-3); background: var(--superficie); border: var(--b) solid var(--borda); border-radius: var(--r-chip); display: flex; flex-direction: column; gap: var(--e-1); }
[data-modulo="saude"] .sau-hist { display: flex; flex-direction: column; gap: var(--e-1); }
[data-modulo="saude"] .sau-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-3); }
[data-modulo="saude"] .sau-link { display: inline-flex; align-items: center; min-height: var(--alvo-min); color: var(--marca-texto); font-weight: 600; }
[data-modulo="saude"] .sau-form,
[data-modulo="saude"] .sau-dialogo { display: flex; flex-direction: column; gap: var(--e-3); }

/* ---------- regras vigentes ---------- */
[data-modulo="saude"] .sau-pesos { display: grid; grid-template-columns: repeat(auto-fit, minmax(var(--col-lista), 1fr)); gap: var(--e-3); }
[data-modulo="saude"] .sau-peso { display: flex; flex-direction: column; gap: var(--e-1); padding: var(--e-3); background: var(--superficie); border: var(--b) solid var(--borda); border-radius: var(--r-chip); }
[data-modulo="saude"] .sau-peso strong { font: var(--t-numero); }
[data-modulo="saude"] .sau-lista-regras { display: flex; flex-direction: column; gap: var(--e-1); }

/* ---------- grupos econômicos e coleta ---------- */
[data-modulo="saude"] .sau-grupos { display: grid; grid-template-columns: repeat(auto-fit, minmax(var(--dlg-sm), 1fr)); gap: var(--e-4); align-items: stretch; }
[data-modulo="saude"] .sau-grupos > * { min-width: 0; }
[data-modulo="saude"] .sau-grupo { display: flex; flex-direction: column; gap: var(--e-3); }
[data-modulo="saude"] .sau-grupo-linha { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-2) var(--e-3); }
[data-modulo="saude"] .sau-puxa { padding: var(--e-3); background: var(--superficie-2); border: var(--b) solid var(--borda); border-radius: var(--r-chip); }
[data-modulo="saude"] .sau-eventos { display: flex; flex-wrap: wrap; gap: var(--e-2); }
[data-modulo="saude"] .sau-evento { padding: var(--e-1) var(--e-3); background: var(--superficie-2); border: var(--b) solid var(--borda); border-radius: var(--r-pill); font: var(--t-apoio); }

/* ---------- explicação da loja ---------- */
[data-modulo="saude"] .sau-nota { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--e-4); padding: var(--e-4); background: var(--superficie); border: var(--b) solid var(--borda); border-radius: var(--r-card); }
[data-modulo="saude"] .sau-nota-numero { display: flex; flex-direction: column; gap: var(--e-2); }
[data-modulo="saude"] .sau-nota > .alerta,
[data-modulo="saude"] .sau-nota > .dv { flex: 1; min-width: min(var(--dlg-sm), 100%); }
[data-modulo="saude"] .sau-diag { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-2); }
[data-modulo="saude"] .sau-soma { padding: var(--e-3) var(--e-4); background: var(--superficie-2); border: var(--b) solid var(--borda); border-radius: var(--r-chip); font-weight: 600; }
[data-modulo="saude"] .sau-redistribui { padding: var(--e-3) var(--e-4); background: var(--superficie); border: var(--b) solid var(--borda); border-radius: var(--r-chip); display: flex; flex-direction: column; gap: var(--e-2); }
[data-modulo="saude"] .sau-redistribui ul { display: flex; flex-direction: column; gap: var(--e-1); }
[data-modulo="saude"] .sau-sinal-nome { display: block; font-weight: 600; }
[data-modulo="saude"] .sau-sub-linha th { background: var(--superficie-2); font: var(--t-legenda); color: var(--tinta-2); }
[data-modulo="saude"] .sau-zero,
[data-modulo="saude"] .sau-sem,
[data-modulo="saude"] .sau-falha,
[data-modulo="saude"] .sau-inv { display: flex; flex-direction: column; align-items: flex-start; gap: var(--e-1); }
[data-modulo="saude"] .sau-zero { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: var(--e-2); }
[data-modulo="saude"] tr[data-sinal-forma="falha"] td:nth-child(2) { border-left: var(--e-1) solid var(--crit); }
[data-modulo="saude"] tr[data-sinal-forma="invalido"] td:nth-child(2) { border-left: var(--e-1) solid var(--warn); }
[data-modulo="saude"] tr[data-sinal-forma="semDado"] td:nth-child(2) { border-left: var(--e-1) solid var(--neutro); }
[data-modulo="saude"] tr[data-sinal-forma="zero"] td:nth-child(2) { border-left: var(--e-1) solid var(--info); }

/* ---------- histórico ---------- */
[data-modulo="saude"] .sau-figura { display: flex; flex-direction: column; gap: var(--e-2); padding: var(--e-3); background: var(--superficie); border: var(--b) solid var(--borda); border-radius: var(--r-card); }
[data-modulo="saude"] .sau-tendencia { display: flex; align-items: center; gap: var(--e-2); font-weight: 600; }
[data-modulo="saude"] .sau-marcas { display: flex; flex-direction: column; gap: var(--e-1); padding-left: var(--e-5); list-style: decimal; }
[data-modulo="saude"] .sau-detalhe summary { display: list-item; min-height: var(--alvo-min); cursor: pointer; color: var(--marca-texto); font-weight: 600; padding-block: calc((var(--alvo-min) - 1lh) / 2); }
[data-modulo="saude"] .sau-historia-vazio { display: flex; flex-direction: column; align-items: flex-start; gap: var(--e-2); }

/* ---------- atrito, janela e loja fechada ---------- */
[data-modulo="saude"] .sau-atrito { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--e-4); }
[data-modulo="saude"] .sau-atrito > * { min-width: 0; }
[data-modulo="saude"] .sau-atrito .barra-linha { grid-template-columns: var(--e-8) minmax(0, 1fr) var(--e-7); }
[data-modulo="saude"] .sau-previsao-barras .barra-linha { grid-template-columns: minmax(0, var(--col-lista)) minmax(var(--e-6), 1fr) max-content; }
[data-modulo="saude"] .sau-fechada { display: flex; flex-direction: column; align-items: flex-start; gap: var(--e-2); }

/* ---------- larguras menores ---------- */
@media (max-width: 1199px) {
  [data-modulo="saude"] .sau-filtros { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-modulo="saude"] .sau-atrito { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 639px) {
  [data-modulo="saude"] .sau-filtros { grid-template-columns: minmax(0, 1fr); }
  [data-modulo="saude"] .sau-dl { grid-template-columns: minmax(0, 1fr); }
}

[data-modulo="saude"] .tabela td a:not(.sau-nome) { white-space: nowrap; }
