/* ============================================================================
   LINHA · Escolher unidade (#view-units): diretório agrupado por categoria
   ============================================================================ */
.uni{ min-height:100dvh; background:var(--l-fundo) }
.uni-topo{ display:flex; align-items:center; gap:var(--l-e3); padding:var(--l-e4) var(--l-e8); border-bottom:1px solid var(--l-fio); background:var(--l-sup) }
.uni-topo img{ width:32px; height:32px; object-fit:contain }
.uni-marca{ font-weight:600 }
.uni-meio{ width:min(1080px,100%); margin:0 auto; padding:var(--l-e10) var(--l-e6) var(--l-e16) }
.uni-quem{ color:var(--l-texto-3) }
.uni-cab h1{ margin-top:4px; font-size:32px; font-weight:600; letter-spacing:-.03em }
.uni-busca{ margin-top:var(--l-e6); height:48px; max-width:none }
.uni-busca input{ font-size:var(--l-t-med) }
.uni-filtros{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:var(--l-e4); margin:var(--l-e4) 0 var(--l-e8) }
.uni-alerta b{ color:var(--l-erro) }

.uni-lista{ display:flex; flex-direction:column; gap:var(--l-e8) }
.uni-grupo h2{ display:flex; align-items:baseline; gap:var(--l-e2); margin-bottom:var(--l-e3); font-size:var(--l-t-peq); font-weight:600; color:var(--l-texto-2) }
.uni-grupo h2 span{ font-weight:400; color:var(--l-texto-3) }
.uni-item{
  display:grid; grid-template-columns:36px minmax(0,1fr) auto auto 110px 18px; align-items:center; gap:var(--l-e4);
  width:100%; padding:14px var(--l-e5); border:0; border-bottom:1px solid var(--l-fio); background:none; text-align:left; color:var(--l-texto);
  transition:background var(--l-rapido);
}
.uni-item:last-child{ border-bottom:0 }
.uni-item:hover{ background:var(--l-sup-2) }
.uni-item:hover .uni-seta{ color:var(--l-marca); transform:translateX(2px) }
.uni-item:disabled{ opacity:.45; cursor:not-allowed }
.uni-ico{ display:grid; place-items:center; width:36px; height:36px; border-radius:var(--l-raio-2); background:var(--l-sup-3); color:var(--l-texto-2) }
.uni-ico svg{ width:18px; height:18px }
.uni-ico[data-cat="movel"]{ background:var(--l-erro-fundo); color:var(--l-erro) }
.uni-ico[data-cat="especializada"], .uni-ico[data-cat="hospital"]{ background:var(--l-info-fundo); color:var(--l-info) }
.uni-ico[data-cat="regulacao"]{ background:var(--l-marca); color:var(--l-sobre-marca) }
.uni-ico[data-cat="caps"]{ background:var(--l-atencao-fundo); color:var(--l-atencao) }
.uni-ico[data-cat="basica"], .uni-ico[data-cat="ubs"]{ background:var(--l-marca-suave); color:var(--l-marca-tinta) }
.uni-nome{ display:flex; flex-direction:column; min-width:0 }
.uni-nome b{ font-weight:500 }
.uni-nome small{ font-size:var(--l-t-peq); color:var(--l-texto-3); white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.uni-atual{ background:var(--l-marca-suave); color:var(--l-marca-tinta) }
.uni-item.is-current{ background:var(--l-sup-2) }
.uni-cnes{ font-size:var(--l-t-peq); color:var(--l-texto-3); text-align:right; font-variant-numeric:tabular-nums }
.uni-seta{ width:18px; height:18px; color:var(--l-texto-3); transition:transform var(--l-rapido), color var(--l-rapido) }

@media (max-width:760px){
  .uni-topo{ padding:var(--l-e3) var(--l-e4) }
  .uni-meio{ padding:var(--l-e6) var(--l-e4) var(--l-e10) }
  .uni-cab h1{ font-size:26px }
  .uni-item{ grid-template-columns:36px minmax(0,1fr) 18px; gap:var(--l-e3) }
  .uni-item > :is(.uni-cnes, .st, .l-etq, span:empty){ display:none }
}

/* ================================================================ reorganização (01/10): destaque + cartões */
.uni-meio{ width:min(1180px,100%) }
.uni-cab h1{ font-size:30px }
.uni-barra{ display:flex; align-items:center; gap:var(--l-e3); flex-wrap:wrap; margin-top:var(--l-e5) }
.uni-barra .uni-busca{ flex:1 1 320px; margin-top:0; height:44px; background:var(--l-sup); box-shadow:var(--l-sombra-bloco); border-color:transparent }
.uni-barra .l-seg{ flex:none }
.uni-resumo{ display:flex; gap:var(--l-e5); margin:var(--l-e3) 0 var(--l-e6); font-size:var(--l-t-peq); color:var(--l-texto-3) }
.uni-resumo b{ color:var(--l-texto-2); font-weight:600 }
.uni-resumo .uni-alerta b{ color:var(--l-atencao) }
.uni-lista{ gap:var(--l-e6) }

/* unidade atual em destaque */
.uni-continuar{ display:flex; align-items:center; gap:var(--l-e5); padding:var(--l-e5) var(--l-e6); border-radius:var(--l-raio-bloco, 14px); background:var(--l-verde); color:var(--l-verde-texto); box-shadow:var(--l-sombra-bloco) }
.uni-continuar .uni-ico{ width:48px; height:48px; border-radius:12px; background:rgba(255,255,255,.14) !important; color:var(--l-verde-texto) !important }
.uni-continuar .uni-ico svg{ width:24px; height:24px }
.uni-continuar-txt{ display:flex; flex-direction:column; gap:2px; flex:1; min-width:0 }
.uni-continuar-txt span{ font-size:var(--l-t-peq); color:var(--l-verde-texto-2) }
.uni-continuar-txt b{ font-size:20px; font-weight:600; letter-spacing:-.01em }
.uni-continuar-txt small{ font-size:var(--l-t-peq); color:var(--l-verde-texto-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.uni-continuar-btn{ flex:none; display:inline-flex; align-items:center; gap:var(--l-e2); height:44px; padding:0 22px; border:0; border-radius:var(--l-raio-2); background:var(--l-verde-ativo); color:var(--l-verde-ativo-texto); font:inherit; font-weight:600; cursor:pointer }
.uni-continuar-btn svg{ width:18px; height:18px; transition:transform var(--l-rapido) }
.uni-continuar-btn:hover svg{ transform:translateX(3px) }

/* grupos em cartões */
.uni-grupo h2{ font-size:var(--l-t-corpo); color:var(--l-texto) }
.uni-grade{ display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:var(--l-e3) }
.uni-cartao{
  display:flex; flex-direction:column; align-items:stretch; gap:6px; min-width:0; padding:var(--l-e4) var(--l-e4) var(--l-e3);
  border:1px solid transparent; border-radius:var(--l-raio-bloco, 14px); background:var(--l-sup); box-shadow:var(--l-sombra-bloco);
  text-align:left; color:var(--l-texto); font:inherit; cursor:pointer;
  transition:transform var(--l-rapido), box-shadow var(--l-rapido), border-color var(--l-rapido);
}
.uni-cartao:hover{ transform:translateY(-2px); box-shadow:var(--l-sombra-bloco-alto); border-color:var(--l-aba-ativa, var(--l-marca)) }
.uni-cartao:focus-visible{ outline:2px solid var(--l-aba-ativa, var(--l-marca)); outline-offset:2px }
.uni-cartao:disabled{ opacity:.45; cursor:not-allowed; transform:none }
.uni-cartao.is-current{ border-color:var(--l-aba-ativa, var(--l-marca)) }
.uni-cartao-topo{ display:flex; align-items:center; gap:var(--l-e3); margin-bottom:4px }
.uni-tipo{ min-width:0; font-size:11px; font-weight:500; color:var(--l-texto-3); white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.uni-cartao-nome{ font-size:var(--l-t-med); font-weight:600; line-height:1.3; letter-spacing:-.005em; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden }
.uni-end{ min-height:1.4em; font-size:var(--l-t-peq); color:var(--l-texto-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.uni-cartao-pe{ display:flex; align-items:center; justify-content:space-between; gap:var(--l-e2); margin-top:auto; padding-top:var(--l-e3); border-top:1px solid var(--l-fio) }
.uni-cartao .uni-cnes{ text-align:left }
.uni-sit{ display:inline-flex; align-items:center; gap:5px; font-size:11px; color:var(--l-texto-3); white-space:nowrap }
.uni-sit::before{ content:""; width:6px; height:6px; border-radius:50%; background:currentColor; opacity:.7 }
.uni-sit.is-ok{ color:var(--l-ok) }
.uni-sit.is-alerta{ color:var(--l-atencao) }
.uni-sit.is-atual{ padding:2px 8px; border-radius:999px; background:var(--l-marca-suave); color:var(--l-aba-ativa, var(--l-marca-tinta)); font-weight:600 }
.uni-sit.is-atual::before{ display:none }

@media (max-width:760px){
  .uni-continuar{ flex-wrap:wrap; padding:var(--l-e4) }
  .uni-continuar-btn{ width:100%; justify-content:center }
  .uni-barra .l-seg{ overflow-x:auto; max-width:100% }
  .uni-grade{ grid-template-columns:1fr }
}
/* largura: usa a tela (até 1680px) com margem lateral fixa, em vez de uma coluna estreita */
.uni-meio{ width:100%; max-width:1680px; padding-left:40px; padding-right:40px }
.uni-grade{ grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)) }
@media (max-width:760px){ .uni-meio{ padding-left:var(--l-e4); padding-right:var(--l-e4) } }

/* ================================================================ escolha de unidade, 3ª rodada (01/10)
   Fundo com dois brilhos da cor do portal atrás do título, barra do topo com o
   mesmo toque dos cabeçalhos, e cada cartão com a cor do seu tipo de unidade
   (fio no topo, ícone e borda no hover). O destaque "Continuar em" ganha círculos. */
.uni{ background:
  radial-gradient(900px 420px at 85% -120px, color-mix(in srgb, var(--l-aba-ativa, var(--l-marca)) 12%, transparent), transparent 70%),
  radial-gradient(700px 360px at -10% 120px, color-mix(in srgb, var(--l-aba-ativa, var(--l-marca)) 7%, transparent), transparent 70%),
  var(--l-fundo) }
.uni-topo{ position:sticky; top:0; z-index:20; background:color-mix(in srgb, var(--l-sup) 82%, transparent); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px) }
.uni-cab h1{ font-size:34px; letter-spacing:-.035em }
.uni-quem{ font-weight:500; color:var(--l-aba-ativa, var(--l-marca-tinta)) }

.uni-continuar{ position:relative; overflow:hidden }
.uni-continuar::before, .uni-continuar::after{ content:""; position:absolute; border-radius:50%; pointer-events:none; background:rgba(255,255,255,.07) }
.uni-continuar::before{ width:260px; height:260px; right:120px; top:-150px }
.uni-continuar::after{ width:180px; height:180px; right:-40px; bottom:-110px; background:rgba(255,255,255,.05) }
.uni-continuar > *{ position:relative; z-index:1 }

.uni-grupo h2::before{ content:""; align-self:center; width:8px; height:8px; border-radius:50%; background:var(--l-aba-ativa, var(--l-marca)) }

.uni-cartao{ --cat:var(--l-aba-ativa, var(--l-marca)); position:relative; overflow:hidden }
.uni-cartao::before{ content:""; position:absolute; left:0; right:0; top:0; height:3px; background:var(--cat); opacity:.85 }
.uni-cartao:has(.uni-ico[data-cat="movel"]){ --cat:var(--l-erro) }
.uni-cartao:has(.uni-ico:is([data-cat="especializada"], [data-cat="hospital"])){ --cat:var(--l-info) }
.uni-cartao:has(.uni-ico[data-cat="caps"]){ --cat:var(--l-atencao) }
.uni-cartao:has(.uni-ico:is([data-cat="basica"], [data-cat="ubs"])){ --cat:var(--l-ok) }
.uni-cartao:hover{ border-color:var(--cat) }
.uni-cartao .uni-ico{ transition:transform var(--l-rapido) }
.uni-cartao:hover .uni-ico{ transform:scale(1.06) }
.uni-cartao:has(.uni-ico:is([data-cat="basica"], [data-cat="ubs"])) .uni-ico{ background:var(--l-ok-fundo); color:var(--l-ok) }
