/* Praxis Dialyse · classes comuns (dialise-base.js). Cada tela tem o seu dialise-<tela>.css. */
.hd-v { font-variant-numeric: tabular-nums; font-weight: 600; }
.hd-v-ok { color: #157347; } .hd-v-baixo, .hd-v-alto { color: #b42318; } .hd-v-nd { color: var(--aco); font-weight: 400; }
.hd-alertas { display: flex; flex-wrap: wrap; gap: 4px; margin: 4px 0; }
.hd-al { font-size: .78rem; line-height: 1.25; padding: 2px 7px; border-radius: 999px; border: 1px solid; }
.hd-al-mal { color: #8a1c12; background: #fdecea; border-color: #f4b8b0; }
.hd-al-at { color: #7a4b00; background: #fff4dc; border-color: #f1d08a; }
.hd-vazio { text-align: center; }
.hd-ass { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 26px 20px; margin-top: 34px; }
.hd-ass > div { display: flex; flex-direction: column; align-items: center; text-align: center; }
.hd-ass-l { display: block; width: 100%; border-top: 1px solid #222; margin-bottom: 4px; }
.hd-ass small { color: #555; font-size: .72rem; }
.hd-pag { break-after: page; page-break-after: always; }
.hd-pag:last-child { break-after: auto; page-break-after: auto; }
@media print { .hd-al { border-color: #999 !important; background: #fff !important; color: #000 !important; } }
/* Impressos no padrão do SUS (D.documento / D.cabecalhoSUS) */
.pdp-pag.sus-pag { box-sizing: border-box; padding: 9mm 11mm; background: #fff; color: #111; min-height: 0; }
.sus { font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 9.5pt; line-height: 1.3; color: #111; }
.sus-cab { display: flex; align-items: stretch; border: 1.5px solid #111; }
.sus-logos { display: flex; align-items: center; gap: 6px; padding: 5px 8px; border-right: 1.5px solid #111; }
.sus-logos img { max-height: 16mm; max-width: 28mm; object-fit: contain; }
.sus-org { flex: 1; padding: 6px 9px; display: flex; flex-direction: column; gap: 1px; }
.sus-org b { font-size: 9pt; letter-spacing: .02em; }
.sus-org span { font-size: 8pt; }
.sus-org strong { font-size: 10.5pt; margin-top: 3px; }
.sus-org small { font-size: 7.5pt; color: #333; }
.sus-caixa { width: 40mm; border-left: 1.5px solid #111; padding: 5px 8px; display: flex; flex-direction: column; }
.sus-caixa small { font-size: 6.5pt; text-transform: uppercase; letter-spacing: .04em; color: #333; }
.sus-caixa b { font-size: 14pt; min-height: 1.2em; border-bottom: 1px solid #999; margin-bottom: 3px; }
.sus-caixa span { font-size: 10pt; font-weight: 700; min-height: 1.2em; }
.sus-tit { margin: 6px 0 8px; text-align: center; border: 1.5px solid #111; background: #e5e7eb; padding: 5px; font-size: 11.5pt; font-weight: 700; letter-spacing: .06em; }
.sus-corpo { font-family: inherit; }
.sus-corpo h3 { font-size: 10pt; }
.sus-assimg { max-height: 14mm; margin-bottom: -4px; }
.sus-rod { margin-top: 8px; font-size: 7pt; color: #555; text-align: right; }
@media print { .pdp-pag.sus-pag { width: auto !important; } }
.hc-logos { display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0 10px; }
.hc-logo { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 8px; border: 1px solid var(--linha, #e5e7eb); border-radius: 8px; }
.hc-logo img { max-height: 56px; max-width: 140px; object-fit: contain; }
.hd-ass-reg { font-weight: 700; color: #111; font-size: 8.5pt; }
/* Pacientes recentes */
.hd-rec { display: flex; flex-wrap: nowrap; gap: 6px; align-items: center; overflow-x: auto; padding: 2px 0 8px; margin-bottom: 4px; scrollbar-width: thin; }
.hd-rec-t { font-size: .8rem; font-weight: 700; color: var(--mut, #64748b); text-transform: uppercase; letter-spacing: .04em; flex: none; }
.hd-rec-i { flex: none; border: 1px solid var(--linha, #e5e7eb); background: var(--sup, #fff); border-radius: 999px; padding: 6px 12px; min-height: 36px; font: inherit; font-size: .9rem; cursor: pointer; white-space: nowrap; }
.hd-rec-i:hover, .hd-rec-i:focus-visible { border-color: #4338ca; color: #3730a3; }
.hd-rec-i small { background: #dcfce7; color: #166534; border-radius: 6px; padding: 0 5px; font-size: .72rem; margin-left: 2px; }
.hm-doc-dh { margin: 18px 0 -14px; text-align: right; font-size: 10pt; }
/* "Está no Censo? É o mesmo paciente?" ao cadastrar */
.hd-casar:empty { display: none; }
.hd-casar { grid-column: 1 / -1; display: grid; gap: 8px; margin: 2px 0 10px; }
.hd-casar-c { border: 1px solid #c7d2fe; background: #eef2ff; border-radius: 10px; padding: 10px 12px; display: grid; gap: 8px; }
.hd-casar-pac { border-color: #fde68a; background: #fffbeb; }
.hd-casar-c > b { font-size: .92rem; }
.hd-casar-i { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; }
.hd-casar-i small { color: var(--mut, #64748b); }
.hd-casar-bts { display: flex; gap: 6px; }
.hd-casar-ok { border: 1px solid #bbf7d0; background: #f0fdf4; color: #166534; border-radius: 10px; padding: 8px 12px; font-size: .92rem; }
.sus-logos-dir { border-right: 0; border-left: 1.5px solid #111; }
.sus-logos img { max-height: 17mm; }
.sus-logos-dir img { max-width: 52mm; }
.hc-logo-h { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 8px 0; }
.hc-logo-h img { max-height: 44px; max-width: 120px; object-fit: contain; }
/* Modelos de prescrição */
.hm-modelos { display: grid; gap: 6px; margin: 4px 0 12px; padding: 10px; border-radius: 10px; background: #f8fafc; border: 1px dashed #cbd5e1; }
.hm-mod-l { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.hm-mod-l > b { margin-right: 4px; }
.hm-mod { display: inline-flex; align-items: center; border: 1px solid #c7d2fe; background: #fff; border-radius: 999px; overflow: hidden; }
.hm-mod-on { border-color: #4338ca; box-shadow: 0 0 0 2px #e0e7ff; }
.hm-mod-usar { border: 0; background: none; font: inherit; font-weight: 600; color: #3730a3; padding: 6px 10px; min-height: 34px; cursor: pointer; }
.hm-mod-mini { border: 0; border-left: 1px solid #e5e7eb; background: none; color: #64748b; padding: 0 9px; min-height: 34px; cursor: pointer; font-size: .85rem; }
.hm-mod-mini:hover { color: #3730a3; background: #eef2ff; }
.hm-mod-x { padding: 4px 8px; gap: 6px; border-color: #fecaca; background: #fef2f2; color: #991b1b; }
.hm-mod-acoes, .hm-mod-novo { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.hm-mod-novo input { flex: 1 1 200px; min-height: 36px; }
.hm-mod-u { font-size: .7rem; font-weight: 600; color: #166534; background: #dcfce7; border-radius: 6px; padding: 0 5px; margin-left: 3px; }
.hm-ped { color: #3730a3; font-weight: 600; }
/* Celular (Chefe, 03/11/2026: "os médicos e a equipe vão prescrever pelo celular"): texto menor, sem rodapé,
   sem rolar para o lado, menos rolagem para baixo. Vale sobre as regras antigas de "letras grandes" do técnico. */
@media (max-width: 700px) {
  html.dialise body { font-size: 14px; }
  html.dialise #rodape-px, html.dialise footer.rodape { display: none !important; }
  html.dialise .dun-topo { margin: 2px 0 4px; }
  html.dialise .dun-chip { min-height: 32px; padding: 4px 12px; font-size: .86rem; }
  html.dialise .ab-marca em { font-size: 1.05rem; }
  html.dialise #ab-clinica { display: none; }
  html.dialise .ab-avatar { width: 34px; height: 34px; min-height: 0; font-size: .8rem; }
  html.dialise #tela .cab { gap: 6px; padding-bottom: 10px; }
  html.dialise #tela .cab h1 { font-size: 1.15rem !important; margin: 0; line-height: 1.2; }
  html.dialise #tela .cab p { display: none !important; }
  html.dialise #tela .cab .ferr { gap: 6px; flex-wrap: wrap; width: 100%; }
  html.dialise #tela .cab .ferr .btn { min-height: 38px !important; padding: 6px 12px; font-size: .9rem !important; flex: 1 1 auto; }
  html.dialise #tela .sp-abas, html.dialise #tela .hxe-subs, html.dialise #tela .hxe-hosp { flex-wrap: wrap !important; overflow: visible !important; gap: 6px; }
  html.dialise #tela .sp-abas > button, html.dialise #tela .hxe-subs button, html.dialise #tela .hxe-hosp .btn { min-height: 32px !important; padding: 3px 10px !important; font-size: .8rem !important; flex: 0 0 auto; }
  html.dialise #tela .sp-abas .pill { font-size: .72rem; padding: 0 6px; min-width: 0; }
  html.dialise .hd-vazio, html.dialise .sp-vazio { padding: 12px 14px !important; font-size: .88rem; }
  html.dialise #tela .cx { padding: 10px 12px; }
  html.dialise #abas button[data-aba] { flex: 0 0 auto; min-width: 58px; padding: 6px 5px; font-size: .64rem; }
  html.dialise #abas button[data-aba] svg { width: 18px; height: 18px; }
  html.dialise main, html.dialise #tela { overflow-x: hidden; }
  /* cartões dos atendimentos */
  html.dialise #tela .hxe-cartoes { gap: 8px; }
  html.dialise #tela .hxe-card { padding: 8px 10px 8px 11px !important; gap: 3px; }
  html.dialise #tela .hxe-nome { font-size: 15px !important; }
  html.dialise #tela .hxe-onde, html.dialise #tela .hxe-proc, html.dialise #tela .hxe-l { font-size: 13px !important; }
  html.dialise #tela .hxe-onde b { font-size: 13.5px !important; }
  html.dialise #tela .hxe-card .pill, html.dialise #tela .hxe-cl, html.dialise #tela .hxe-al, html.dialise #tela .hxe-pend { font-size: 11.5px !important; padding: 1px 7px !important; }
  html.dialise #tela .hxe-card .btn { min-height: 34px !important; font-size: 13px !important; padding: 3px 8px !important; border-radius: 9px; }
  html.dialise #tela .hxe-med .btn { min-height: 32px !important; font-size: 12px !important; }
  /* prescrição (gaveta): rótulos e títulos menores; as caixas de digitar ficam com 16 px (o iPhone não dá zoom) */
  html.dialise #gaveta { font-size: 14px; }
  html.dialise #gaveta h2 { font-size: 1.1rem; margin: 0 0 4px; }
  html.dialise #gaveta .hm-modelos { padding: 8px; gap: 5px; margin-bottom: 8px; }
  html.dialise #gaveta .hm-modelos small { font-size: .76rem; }
  html.dialise #gaveta .hm-modelos .btn { min-height: 32px; font-size: .8rem; padding: 3px 10px; }
  html.dialise #gaveta .hm-mod-usar, html.dialise #gaveta .hm-mod-mini { min-height: 30px; font-size: .82rem; }
  html.dialise #gaveta .hm-pac { padding: 6px 10px; }
  html.dialise #gaveta .hm-proc-t { font-size: .88rem; }
  html.dialise #gaveta .campo label, html.dialise #gaveta label { font-size: .8rem; }
  html.dialise #gaveta .hm-bloco h3, html.dialise #gaveta h3, html.dialise #gaveta h4 { font-size: .95rem; margin: 8px 0 4px; }
  html.dialise #gaveta .hm-passos button, html.dialise #gaveta .hm-passos li button { font-size: .8rem; padding: 4px 8px; min-height: 34px; }
  html.dialise #gaveta .hm-nav .btn { min-height: 40px; }
  html.dialise #gaveta .hm-info, html.dialise #gaveta .hm-alerta, html.dialise #gaveta .aviso { font-size: .8rem !important; padding: 6px 10px !important; line-height: 1.35; }
  html.dialise #gaveta .hm-bloco { margin-top: 6px; padding-top: 6px; }
}
