/* Praxis Dialyse · exames (dialise-exames.js). Prefixo hx-. */
.hx { min-width: 0; }
.hx-barra { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 14px; margin: 10px 0; }
.hx-barra label { display: flex; flex-direction: column; gap: 2px; font-size: .82rem; font-weight: 600; color: var(--aco); min-width: 0; }
.hx-barra select, .hx-barra input { min-width: 0; max-width: 100%; }
.hx-mes select { min-width: 190px; }
.hx-busca { flex: 1 1 180px; }
.hx-ferr { display: flex; flex-wrap: wrap; gap: 6px; margin-left: auto; }
.hx-kpis { margin: 6px 0 12px; }
.hx-lk { background: none; border: 0; padding: 0; margin: 0; font: inherit; color: var(--tinta); text-align: left; cursor: pointer; }
.hx-lk:hover b, .hx-lk:hover { text-decoration: underline; color: var(--px); }
.hx-nd { color: var(--aco); }
.hx-neutro { color: var(--tinta); font-weight: 500; }

/* mapa: tabela no computador, cartões no celular */
.hx-rolar { overflow-x: auto; max-width: 100%; background: var(--sup); border: 1px solid var(--linha); border-radius: 10px; }
.hx-mapa { width: 100%; border-collapse: collapse; font-size: .86rem; }
.hx-mapa th, .hx-mapa td { padding: 5px 6px; border-bottom: 1px solid var(--linha); text-align: center; white-space: nowrap; }
.hx-mapa thead th { position: sticky; top: 0; background: var(--sup); font-size: .74rem; vertical-align: bottom; line-height: 1.2; }
.hx-mapa thead th small { display: block; font-weight: 400; color: var(--aco); font-size: .68rem; }
.hx-mapa tbody th { text-align: left; font-weight: 600; white-space: normal; min-width: 170px; }
.hx-mapa tbody tr:hover { background: var(--px-suave); }
.hx-cartoes { display: none; }
.hx-cartao { padding: 10px 12px; margin-bottom: 8px; }
.hx-chips { display: flex; flex-wrap: wrap; gap: 4px 6px; margin-top: 6px; }
.hx-chip { display: inline-flex; gap: 4px; align-items: baseline; padding: 2px 8px; border: 1px solid var(--linha); border-radius: 999px; font-size: .84rem; background: var(--bg); }
.hx-chip small { color: var(--aco); font-size: .72rem; }
.hx-legenda { font-size: .82rem; margin-top: 10px; }
.hx-hist { width: 100%; border-collapse: collapse; font-size: .85rem; }
.hx-hist th, .hx-hist td { padding: 4px 6px; border-bottom: 1px solid var(--linha); text-align: center; }
.hx-hist tbody th { text-align: left; font-weight: 500; }
.hx-colsel { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 0 12px; }
.hx-colsel .chk { margin: 4px 0; }

/* lançar */
.hx-seg { display: inline-flex; flex-wrap: wrap; gap: 6px; margin: 10px 0; }
.hx-seg button, .hx-tog { border: 1px solid var(--linha); background: var(--sup); border-radius: 999px; padding: 6px 12px; font-weight: 600; font-size: .86rem; cursor: pointer; color: var(--tinta); }
.hx-seg button[aria-pressed="true"], .hx-tog[aria-pressed="true"] { background: var(--px); border-color: var(--px); color: var(--px-tinta); }
.hx-tog { padding: 3px 10px; font-size: .8rem; }
.hx-chipsel { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; margin: 4px 0; }
.hx-chipsel small { color: var(--aco); min-width: 96px; font-size: .76rem; }
.hx-datas { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.hx-datas .btn[aria-pressed="true"] { background: var(--px-suave); border-color: var(--px); }
.hx-dica { font-size: .8rem; margin: 6px 0 0; }
.hx-erros ul { margin: 4px 0 0 18px; padding: 0; }
.hx-grade { background: var(--sup); border: 1px solid var(--linha); border-radius: 10px; margin-top: 10px; }
.hx-gl { display: grid; grid-template-columns: minmax(150px, 1.6fr) repeat(var(--hx-n), minmax(64px, 1fr)); gap: 6px; align-items: center; padding: 5px 10px; border-bottom: 1px solid var(--linha); }
.hx-gl:last-child { border-bottom: 0; }
.hx-gcab { font-size: .76rem; font-weight: 700; color: var(--aco); position: sticky; top: 0; background: var(--sup); z-index: 1; }
.hx-gcab small { font-weight: 400; display: block; }
.hx-gnome { font-size: .88rem; font-weight: 600; }
.hx-gc { display: block; min-width: 0; }
.hx-gc small { display: none; }
.hx-in { width: 100%; min-width: 0; padding: 5px 6px; border: 1px solid var(--linha); border-radius: 6px; font: inherit; font-variant-numeric: tabular-nums; background: #fff; }
.hx-in:focus { outline: 2px solid var(--px); outline-offset: 0; border-color: var(--px); }
.hx-err { border-color: var(--mal) !important; background: var(--mal-s) !important; }
.hx-gravar { position: sticky; bottom: 0; background: var(--bg); padding: 8px 0; z-index: 2; }
.hx-ind h3 { margin: 0 0 8px; font-size: 1rem; }
.hx-ind { margin-top: 10px; }
.hx-indgrade { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 8px 12px; }
.hx-indgrade .hx-gc small { display: block; font-size: .78rem; color: var(--aco); margin-bottom: 2px; }
.hx-pacsel select { min-width: 220px; }

/* pendências e sugestões */
.hx-coleta { border-top: 1px solid var(--linha); padding-top: 10px; }
.hx-pendlista, .hx-suglista { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 10px; margin-top: 10px; }
.hx-pend, .hx-sug { padding: 10px 12px; }
.hx-pendtop { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.hx-pend .hd-al small { opacity: .8; }
.hx-aviso { margin: 10px 0; }
.hx-sugitem { border-top: 1px dashed var(--linha); padding-top: 6px; margin-top: 6px; }
.hx-sugitem p { margin: 3px 0 0; font-size: .87rem; color: var(--tinta); }
.hx-forte { border: 2px solid var(--mal); background: var(--mal-s); border-radius: 10px; padding: 10px 12px; margin: 10px 0; }
.hx-forte b { color: var(--mal); }
.hx-forte ul { margin: 6px 0 0 18px; padding: 0; }

@media (max-width: 760px) {
  .hx-rolar { display: none; }
  .hx-cartoes { display: block; }
  .hx-mes select, .hx-pacsel select { min-width: 0; width: 100%; }
  .hx-barra label { flex: 1 1 140px; }
  .hx-ferr { margin-left: 0; }
  .hx-gcab { display: none; }
  .hx-gl { grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); }
  .hx-gnome { grid-column: 1 / -1; }
  .hx-gc small { display: block; font-size: .72rem; color: var(--aco); }
  .hx-pendlista, .hx-suglista { grid-template-columns: 1fr; }
  .hx-indgrade { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
  .hx-chipsel small { min-width: 0; width: 100%; }
}
