/* Praxis Dialyse · Gestão da empresa (dialise-gestao.js). Prefixo hg-. */
.hg { min-width: 0; }
.hg .cx { min-width: 0; }
.hg-barra { display: flex; flex-direction: row; flex-wrap: wrap; align-items: flex-end; gap: 10px 14px; }
.hg-barra > .campo { flex: 0 1 220px; min-width: 0; }
.hg-barra > p { flex: 1 1 260px; margin: 0; }
.hg-barra select, .hg-barra input[type="month"] { max-width: 100%; min-width: 0; }
.hg-ferr { display: flex; flex-wrap: wrap; gap: 6px; margin-left: auto; }
.hg-h2 { font-size: 1rem; margin: 0 0 8px; }
.hg-h2 small { font-weight: 400; font-size: .8rem; }
.hg-h3 { font-size: .92rem; margin: 6px 0 4px; }
.hg-kpis { margin: 0; }
.hg-destaque { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; }
.hg-destaque .sp-kpi b { font-size: 2rem; }
.hg-lucro.ok { border-color: var(--ok); background: var(--ok-s); }
.hg-lucro.mal { border-color: var(--mal); background: var(--mal-s); }
.hg-chk { display: inline-flex; align-items: center; gap: 6px; font-weight: 500; cursor: pointer; }
.hg-largo { grid-column: 1 / -1; }

/* tabelas: no computador tabela; no celular cada linha vira cartão */
.hg-tab { width: 100%; border-collapse: collapse; font-size: .88rem; }
.hg-tab th, .hg-tab td { padding: 7px 8px; border-bottom: 1px solid var(--linha); text-align: left; vertical-align: top; }
.hg-tab thead th { font-size: .74rem; color: var(--aco); text-transform: uppercase; letter-spacing: .04em; font-weight: 600; }
.hg-tab .num { text-align: right; font-variant-numeric: tabular-nums; }
.hg-tab td small { display: block; color: var(--aco); font-size: .76rem; }
.hg-tab .hg-acao { text-align: right; white-space: nowrap; }
.hg-tab .hg-acao .btn { margin: 2px 0 2px 4px; }
.hg-rem span { display: block; }
.hg-tab tr.hg-off td { color: var(--aco); }
.hg-tab tr.hg-atr td { background: var(--mal-s); }
.hg-tab tr.hg-tot td { font-weight: 700; border-bottom: 0; }
.hg-num { font-family: var(--f-mono, monospace); white-space: nowrap; }
.hg-rep { color: var(--mal); }

/* gráfico */
.hg-graf { margin: 0; }
.hg-graf figcaption { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; margin-bottom: 6px; }
.hg-graf figcaption small { color: var(--aco); }
.hg-graf svg { width: 100%; height: auto; display: block; font-size: 13px; fill: var(--aco); }
.hg-g-rec { fill: var(--px); }
.hg-g-custo { fill: var(--at); opacity: .8; }
.hg-g-base { stroke: var(--linha); }
.hg-g-pos { fill: var(--ok); font-weight: 700; }
.hg-g-neg { fill: var(--mal); font-weight: 700; }
.hg-g-at { fill: var(--tinta); font-weight: 700; }
.hg-g-nd { font-size: 11px; }
.hg-leg { display: inline-block; width: 10px; height: 10px; border-radius: 2px; vertical-align: -1px; }
.hg-leg.hg-g-rec { background: var(--px); } .hg-leg.hg-g-custo { background: var(--at); }

/* custos */
.hg-bloco summary { cursor: pointer; padding: 12px 14px; display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; }
.hg-bloco summary span { color: var(--aco); font-size: .84rem; }
.hg-corpo { padding: 0 14px 14px; display: flex; flex-direction: column; gap: 8px; }
.hg-fx { display: grid; grid-template-columns: minmax(0, 1fr) 130px auto; gap: 6px; align-items: center; }
.hg-fx input { min-width: 0; width: 100%; }

/* contratos */
.hg-ct { display: flex; flex-direction: column; gap: 10px; }
.hg-ct-al { border-left: 4px solid var(--mal); }
.hg-ct-cab { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.hg-ct-cab > div { min-width: 0; }
.hg-ct-cab small { display: block; overflow-wrap: anywhere; }
.hg-dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 8px 14px; margin: 0; }
.hg-dl dt { font-size: .72rem; color: var(--aco); text-transform: uppercase; letter-spacing: .04em; }
.hg-dl dd { margin: 0; overflow-wrap: anywhere; }
.hg-dl dd small { display: block; color: var(--aco); }
.hg-riscos { display: flex; flex-direction: column; gap: 6px; background: var(--at-s); border-radius: 8px; padding: 8px 10px; }
.hg-risco small { display: block; color: var(--aco); margin-left: 2px; }
.hg-arq { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.hg-file { position: relative; overflow: hidden; cursor: pointer; }
.hg-file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }
.hg-an { margin: 0; }
.hg-cmps { display: flex; flex-direction: column; gap: 0; border: 1px solid var(--linha); border-radius: 8px; }
.hg-cmp { display: grid; grid-template-columns: minmax(110px, 1fr) minmax(0, 1.2fr) minmax(0, 1.2fr) 80px; gap: 6px 10px; padding: 8px 10px; border-bottom: 1px solid var(--linha); align-items: start; }
.hg-cmp:last-child { border-bottom: 0; }
.hg-cmp > div { min-width: 0; overflow-wrap: anywhere; }
.hg-cmp small { display: block; font-size: .7rem; color: var(--aco); text-transform: uppercase; letter-spacing: .03em; }
.hg-cmp-r { font-weight: 600; }
.hg-cmp-nd { opacity: .7; }
.hg-an-mais summary { cursor: pointer; font-weight: 600; margin: 6px 0; }
.hg-an-l { margin: 6px 0; }
.hg-an-l ul { margin: 2px 0 0 18px; padding: 0; }
.hg-an-l p { margin: 2px 0; }

/* plantões */
.hg-dia { padding: 6px 0; border-bottom: 1px solid var(--linha); }
.hg-dia:last-child { border-bottom: 0; }
.hg-pl { display: grid; grid-template-columns: 90px minmax(0, 1fr) 100px auto; grid-template-areas: "t n v a"; gap: 6px 10px; align-items: center; padding: 3px 0; font-size: .9rem; }
.hg-pl-n { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hg-pl .num { text-align: right; font-variant-numeric: tabular-nums; }
.hg-pl-t { grid-area: t; } .hg-pl-n { grid-area: n; } .hg-pl-v { grid-area: v; } .hg-pl-a { grid-area: a; display: flex; gap: 4px; justify-content: flex-end; align-items: center; }
.hg-pago { border: 0; cursor: pointer; font: inherit; font-size: .78rem; }
.hg-hist { margin: 0; padding-left: 18px; font-size: .88rem; }

/* documentos impressos */
.hg-doc { width: 100%; border-collapse: collapse; font-size: 10pt; margin: 6px 0 10px; }
.hg-doc th, .hg-doc td { border: 1px solid #999; padding: 3px 5px; text-align: left; vertical-align: top; }
.hg-doc th { background: #eee; }
.hg-doc tr.t td { font-weight: 700; }
.hg-etq { border: 2px solid #000; padding: 10mm; text-align: center; display: flex; flex-direction: column; gap: 3mm; }
.hg-etq b { font-size: 48pt; letter-spacing: .04em; }
.hg-etq span { font-size: 14pt; }

@media (max-width: 760px) {
  .hg-tab thead { display: none; }
  .hg-tab, .hg-tab tbody, .hg-tab tr, .hg-tab td { display: block; width: 100%; }
  .hg-tab tr { border-bottom: 1px solid var(--linha); padding: 8px 10px; }
  .hg-tab td { border: 0; padding: 2px 0; display: flex; justify-content: space-between; gap: 10px; text-align: right; }
  .hg-tab td > * { min-width: 0; }
  .hg-tab td::before { content: attr(data-r); color: var(--aco); font-size: .78rem; text-align: left; flex: none; }
  .hg-tab td:first-child { display: block; text-align: left; font-size: 1rem; }
  .hg-tab td:first-child::before { content: none; }
  .hg-tab td.num { text-align: right; }
  .hg-tab td small { text-align: right; }
  .hg-tab td:first-child small { text-align: left; }
  .hg-tab td.hg-rem { flex-wrap: wrap; }
  .hg-tab td.hg-rem::before { width: 100%; }
  .hg-tab .hg-acao { justify-content: flex-end; flex-wrap: wrap; white-space: normal; padding-top: 6px; }
  .hg-tab .hg-acao::before { content: none; }
  .hg-tab td > b, .hg-tab td > span { overflow-wrap: anywhere; }
  .hg-cmp { grid-template-columns: 1fr 1fr; }
  .hg-cmp-r { grid-column: 1 / -1; }
  .hg-cmp-k { grid-column: 1 / -1; }
  .hg-pl { grid-template-columns: 64px minmax(0, 1fr) auto; grid-template-areas: "t n n" ". v a"; padding: 5px 0; border-top: 1px dashed var(--linha); }
  .hg-pl .hg-pl-v { text-align: left; }
  .hg-ferr { margin-left: 0; }
  .hg-destaque .sp-kpi b { font-size: 1.6rem; }
  .hg-fx { grid-template-columns: minmax(0, 1fr) 96px auto; }
}
