/* Praxis Dialyse · módulo hospitalar · Atendimentos (dialise-hosp-execucao.js). Prefixo hxe-. Mobile-first (390 px). */
.hxe { min-width: 0; }
.hxe .cab { flex-wrap: wrap; gap: 10px; }
.hxe-hosp { display: flex; flex-wrap: wrap; gap: 6px; }
.hxe-hosp .btn[aria-pressed="true"] { background: var(--px); border-color: var(--px); color: var(--px-tinta); }
.hxe-subs { flex-wrap: wrap; overflow: visible; }
.hxe-filtro { flex-direction: row; flex-wrap: wrap; align-items: flex-end; }
.hxe-filtro .campo { flex: 1 1 200px; min-width: 0; }
.hxe-filtro input { width: 100%; }

/* cartões */
.hxe-cartoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(330px, 100%), 1fr)); gap: 12px; }
.hxe-card { padding: 12px 14px; display: flex; flex-direction: column; gap: 7px; border-left: 5px solid var(--linha); min-width: 0; }
.hxe-card.hxe-c-emerg { border-left-color: #c0262d; }
.hxe-card.hxe-c-urg { border-left-color: #e8770e; }
.hxe-card.hxe-c-dia { border-left-color: var(--px); }
.hxe-card-c { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.hxe-nome { background: none; border: 0; padding: 0; text-align: left; cursor: pointer; color: var(--tinta); font: inherit; font-size: 1.02rem; min-width: 0; overflow-wrap: anywhere; }
.hxe-nome small, .hxe-g h2 small { color: var(--aco); font-weight: 500; font-size: .82rem; }
.hxe-pills { display: flex; flex-wrap: wrap; gap: 4px; justify-content: flex-end; align-items: center; }
.hxe-cl { display: inline-block; font-size: .74rem; font-weight: 700; padding: 2px 8px; border-radius: 999px; white-space: nowrap; background: var(--bg); color: var(--aco); }
.hxe-cl.hxe-c-emerg { background: #c0262d; color: #fff; }
.hxe-cl.hxe-c-urg { background: #e8770e; color: #fff; }
.hxe-cl.hxe-c-dia { background: var(--px-suave); color: var(--px); }
.hxe-onde { color: var(--aco); font-size: .88rem; overflow-wrap: anywhere; }
.hxe-proc { font-size: .92rem; }
.hxe-proc b:first-child { background: var(--px-suave); color: var(--px); border-radius: 4px; padding: 0 5px; }
.hxe-ls, .hxe-resumo { display: flex; flex-direction: column; gap: 3px; }
.hxe-l { display: flex; gap: 8px; font-size: .86rem; justify-content: space-between; border-bottom: 1px dashed var(--linha); padding: 2px 0; }
.hxe-l:last-child { border-bottom: 0; }
.hxe-l span { color: var(--aco); flex: 0 0 auto; }
.hxe-l b { font-weight: 600; text-align: right; overflow-wrap: anywhere; min-width: 0; }
.hxe-prog { height: 8px; background: var(--bg); border-radius: 999px; overflow: hidden; }
.hxe-prog span { display: block; height: 100%; background: var(--px); border-radius: 999px; transition: width .4s; }
.hxe-prog-passou span { background: #e8770e; }
.hxe-pend { display: inline-block; font-size: .78rem; font-weight: 700; color: #7a4b00; background: #fff4dc; border: 1px solid #f1d08a; border-radius: 6px; padding: 2px 8px; }
.hxe-dev { font-size: .84rem; color: var(--mal); background: var(--mal-s); border-radius: 6px; padding: 4px 8px; }
.hxe-selos { display: flex; gap: 4px; flex-wrap: wrap; }
.hxe-card-a .btn { flex: 1 1 auto; justify-content: center; }
.hxe-med { border-top: 1px solid var(--linha); padding-top: 7px; gap: 6px; }

/* alertas */
.hxe-als { display: flex; flex-wrap: wrap; gap: 4px; }
.hxe-al { font-size: .78rem; line-height: 1.3; padding: 2px 8px; border-radius: 6px; border: 1px solid; }
.hxe-al-mal { color: #8a1c12; background: #fdecea; border-color: #f4b8b0; font-weight: 600; }
.hxe-al-at { color: #7a4b00; background: #fff4dc; border-color: #f1d08a; }

/* gaveta */
.hxe-g { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.hxe-g-c { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; align-items: flex-start; }
.hxe-g h2 { font-size: 1.2rem; margin: 0; overflow-wrap: anywhere; }
.hxe-g-proc { font-size: .9rem; display: flex; flex-wrap: wrap; gap: 4px 6px; align-items: center; }
.hxe-g-corpo { display: flex; flex-direction: column; gap: 12px; }
.hxe-grande { padding: 13px 20px; font-size: 1rem; min-height: 48px; flex: 1 1 220px; justify-content: center; }
.hxe-btn-exc, .btn.btn-exc { color: var(--mal); border-color: var(--mal); }
.hxe-aviso { color: var(--at); background: var(--at-s); border-radius: 6px; padding: 8px 10px; font-size: .88rem; margin: 0; }
.hxe-aviso-mal { color: #8a1c12; background: #fdecea; border: 1px solid #f4b8b0; border-radius: 6px; padding: 8px 10px; font-size: .88rem; margin: 0; display: flex; flex-direction: column; gap: 4px; }
.hxe-falta { background: var(--at-s); color: #6b4300; border-radius: 6px; padding: 8px 12px; font-size: .88rem; }
.hxe-falta ul { margin: 4px 0 0 18px; padding: 0; }
.hxe-falta-forte { background: #fdecea; color: #8a1c12; border: 1px solid #f4b8b0; }
.btn[aria-disabled="true"] { opacity: .55; }

/* máquinas */
.hxe-maqs { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(150px, 100%), 1fr)); gap: 8px; }
.hxe-maq { display: flex; flex-direction: column; gap: 1px; text-align: left; border: 1px solid var(--linha); background: var(--sup); border-radius: 8px; padding: 10px 12px; cursor: pointer; min-height: 56px; font: inherit; color: var(--tinta); }
.hxe-maq b { font-size: 1rem; }
.hxe-maq span, .hxe-maq small { font-size: .8rem; color: var(--aco); }
.hxe-maq[aria-pressed="true"] { border-color: var(--px); background: var(--px-suave); box-shadow: inset 0 0 0 2px var(--px); }
.hxe-maq:disabled { opacity: .55; cursor: not-allowed; background: var(--bg); }
.hxe-maq .hxe-livre { color: var(--ok); font-weight: 600; }
.hxe-maq .hxe-junto { color: var(--at); font-weight: 600; }
.hxe-maq .hxe-bloq { color: var(--mal); font-weight: 600; }
.hxe-pend-bts { display: flex; flex-wrap: wrap; gap: 6px; }
.hxe-pend-bts .btn[aria-pressed="true"] { background: #fff4dc; border-color: #e8a33a; color: #7a4b00; }

/* checklist sim/não */
.hxe-ck { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.hxe-ck li { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--linha); }
.hxe-ck li:last-child { border-bottom: 0; }
.hxe-ck li > span:first-child { min-width: 0; font-size: .92rem; }
.hxe-ck-nao > span:first-child { color: var(--mal); font-weight: 600; }
.hxe-sn { display: inline-flex; flex: 0 0 auto; border: 1px solid var(--linha); border-radius: 8px; overflow: hidden; }
.hxe-sn button { border: 0; background: var(--sup); padding: 9px 14px; min-width: 54px; min-height: 40px; font-weight: 700; cursor: pointer; color: var(--aco); font: inherit; font-weight: 700; }
.hxe-sn button + button { border-left: 1px solid var(--linha); }
.hxe-sn button[aria-pressed="true"] { background: var(--ok); color: #fff; }
.hxe-sn button.hxe-nao[aria-pressed="true"] { background: var(--mal); color: #fff; }

/* formulários */
.hxe-g2 { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr)); gap: 10px; }
.hxe-g3 { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(150px, 100%), 1fr)); gap: 10px; }
.hxe-g3 .hxe-larga { grid-column: 1 / -1; }
.hxe-g input, .hxe-g select, .hxe-g textarea { width: 100%; min-width: 0; box-sizing: border-box; font-size: 1rem; }
.hxe-g input, .hxe-g select { min-height: 42px; }
.hxe-g label small { font-weight: 400; }
.hxe-det summary { cursor: pointer; font-weight: 600; color: var(--px); padding: 6px 0; }
.hxe-det[open] summary { margin-bottom: 8px; }

/* linha do tempo */
.hxe-tl { list-style: none; margin: 0; padding: 0 0 0 14px; border-left: 2px solid var(--px-suave); display: flex; flex-direction: column; gap: 10px; }
.hxe-tl li { position: relative; padding-left: 4px; }
.hxe-tl li::before { content: ""; position: absolute; left: -21px; top: 5px; width: 10px; height: 10px; border-radius: 50%; background: var(--px); border: 2px solid var(--sup); }
.hxe-tl li.hxe-tl-baixo::before { background: var(--mal); }
.hxe-tl li.hxe-tl-velho { opacity: .55; }
.hxe-tl li.hxe-tl-velho .hxe-tl-v { text-decoration: line-through; }
.hxe-tl-h { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.hxe-tl-h small { color: var(--aco); }
.hxe-tl-h .btn { margin-left: auto; }
.hxe-tl-v { display: flex; flex-wrap: wrap; gap: 3px 12px; font-size: .88rem; font-variant-numeric: tabular-nums; }
.hxe-tl-v small { color: var(--aco); }
.hxe-tl-o { font-size: .86rem; background: var(--bg); border-radius: 6px; padding: 4px 8px; margin-top: 3px; }
.hxe-corr { font-size: .8rem; color: var(--at); font-weight: 600; }
.hxe-txts, .hxe-est { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.hxe-txts li { display: flex; flex-direction: column; border-bottom: 1px solid var(--linha); padding-bottom: 5px; }
.hxe-txts small, .hxe-est small { color: var(--aco); }
.hxe-tab { overflow-x: auto; max-width: 100%; }
.hxe-tab table { font-size: .82rem; }

/* gráfico */
.hxe-graf { margin: 0; }
.hxe-graf figcaption { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; }
.hxe-leg { font-size: .76rem; color: var(--aco); display: inline-flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; }
.hxe-leg i { display: inline-block; width: 12px; height: 3px; border-radius: 2px; vertical-align: middle; margin-right: 3px; }
.hxe-lg-s { background: #4338ca; } .hxe-lg-d { background: #8b88e0; } .hxe-lg-u { background: #9fd3cf; height: 8px !important; }
.hxe-graf svg { width: 100%; height: auto; display: block; }
.hxe-g-s { fill: none; stroke: #4338ca; stroke-width: 2.5; }
.hxe-g-d { fill: none; stroke: #8b88e0; stroke-width: 2; stroke-dasharray: 5 3; }
.hxe-g-p { fill: #4338ca; } .hxe-g-p.hxe-g-baixo { fill: #c0262d; }
.hxe-g-uf { fill: #9fd3cf; opacity: .8; }
.hxe-g-90 { stroke: #c0262d; stroke-dasharray: 3 3; stroke-width: 1; }
.hxe-g-t { font-size: 11px; fill: var(--aco); }

/* documento impresso */
.hxe-doc h3 { font-size: 11pt; margin: 12px 0 4px; border-bottom: 1px solid #999; padding-bottom: 2px; }
.hxe-doc-kv { width: 100%; border-collapse: collapse; font-size: 9.5pt; }
.hxe-doc-kv th { text-align: left; font-weight: 600; width: 38%; padding: 2px 6px 2px 0; vertical-align: top; color: #333; }
.hxe-doc-kv td { padding: 2px 0; }
.hxe-doc-t { width: 100%; border-collapse: collapse; font-size: 8pt; }
.hxe-doc-t th, .hxe-doc-t td { border: 1px solid #999; padding: 2px 3px; text-align: center; }
.hxe-doc-t td:nth-last-child(2) { text-align: left; }
.hxe-doc-l { margin: 0; padding-left: 16px; font-size: 9.5pt; }

@media print { .hxe-subs, .hxe-hosp, .hxe-card-a, .hxe-med { display: none !important; } }

/* ===== gaveta: cabeçalho fixo, faixa de passos rolável, barra de ação fixa (01/11/2026, Chefe: técnico no celular) ===== */
.hxe-g-topo { position: sticky; top: calc(-16px - env(safe-area-inset-top, 0px)); z-index: 3; background: var(--sup); margin: -4px 0 0; padding: 4px 0 6px; display: flex; flex-direction: column; gap: 6px; border-bottom: 1px solid var(--linha); }
.hxe-g-c { flex-wrap: nowrap; }
.hxe-g-id { min-width: 0; }
.hxe-g-onde { margin: 2px 0 0; color: var(--aco); font-size: .92rem; overflow-wrap: anywhere; }
.hxe-g-onde b { color: var(--tinta); }
.hxe-g-fechar { display: none; flex: none; }
.hxe-g-st { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.hxe-g-tempo { font-size: .9rem; color: var(--aco); font-variant-numeric: tabular-nums; }
.hxe-g-tempo b { color: var(--tinta); }
.hxe-g-prog { flex: 1 1 100%; height: 6px; }
.hxe-g-ferr { display: flex; flex-wrap: wrap; gap: 6px; }
.hxe-passos { flex-wrap: nowrap !important; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scrollbar-width: none; max-width: 100%; min-width: 0; -webkit-overflow-scrolling: touch; padding: 2px 0; scroll-snap-type: x proximity; }
.hxe-passos::-webkit-scrollbar { display: none; }
.hxe-passos button { flex: none; white-space: nowrap; scroll-snap-align: start; }
.hxe-barra { position: sticky; bottom: calc(var(--hxe-kb, 0px) - 18px - env(safe-area-inset-bottom, 0px)); z-index: 3; margin: 4px -18px calc(-18px - env(safe-area-inset-bottom, 0px)); padding: 10px 18px calc(10px + env(safe-area-inset-bottom, 0px)); background: var(--sup); border-top: 1px solid var(--linha); box-shadow: 0 -6px 16px rgb(30 27 75 / .08); display: flex; gap: 8px; }
.hxe-barra .btn { min-height: 52px; font-size: 1.05rem; justify-content: center; border-radius: 10px; }
.hxe-barra-b { flex: 1 1 auto; }
.hxe-barra-2 { flex: 0 0 auto; }
.hxe-sec-t { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.hxe-cont { font-size: .85rem; font-weight: 700; color: var(--aco); background: var(--bg); border-radius: 999px; padding: 2px 10px; white-space: nowrap; }
.hxe-cont-ok { background: var(--ok-s, #e3f5ea); color: var(--ok); }
.hxe-so-cel { display: none; }

/* escolha em botões (consciência, desfecho, dupla checagem, local) */
.hxe-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.hxe-chips button { border: 1px solid var(--linha); background: var(--sup); color: var(--tinta); border-radius: 8px; padding: 8px 12px; min-height: 44px; font: inherit; font-weight: 600; cursor: pointer; text-align: left; }
.hxe-chips button[aria-pressed="true"] { background: var(--px); border-color: var(--px); color: var(--px-tinta); }
.hxe-todos { justify-content: center; border-style: dashed; border-color: var(--px); color: var(--px); min-height: 44px; }
.hxe-conf { background: var(--px-suave); border: 1px solid var(--px); border-radius: 10px; padding: 10px 12px; display: flex; flex-direction: column; gap: 6px; }
.hxe-conf-b { display: flex; flex-wrap: wrap; gap: 8px; }
.hxe-conf-b .btn { flex: 1 1 140px; justify-content: center; min-height: 48px; }
.hxe-ck li.hxe-ck-sim > span:first-child { color: var(--tinta); }

/* registro de hora */
.hxe-form-t { font-size: 1.05rem; }
.hxe-ult { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; background: var(--px-suave); border-radius: 10px; padding: 8px 12px; }
.hxe-ult > span { flex: 1 1 220px; min-width: 0; }
.hxe-rep { border-color: var(--px); color: var(--px); justify-content: center; min-height: 44px; }
.hxe-pa { display: flex; flex-direction: column; gap: 4px; max-width: 460px; }
.hxe-hora input { max-width: 220px; }
.hxe-pa-t { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.hxe-pa-t label { margin: 0; }
.hxe-pa-l { display: flex; align-items: flex-start; gap: 8px; }
.hxe-pa-l > div { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.hxe-pa-l > span { font-size: 1.6rem; font-weight: 700; color: var(--aco); padding-top: 6px; }
.hxe-g .hxe-pa-l input { font-size: 1.7rem; font-weight: 700; text-align: center; min-height: 58px; font-variant-numeric: tabular-nums; }
.hxe-pa-l small { text-align: center; color: var(--aco); }
.hxe-grupo { border: 0; margin: 0; padding: 0; min-width: 0; }
.hxe-grupo legend { font-weight: 700; font-size: .95rem; color: var(--px); padding: 0; margin-bottom: 6px; }
.hxe-ig { color: var(--aco); font-size: .8rem; min-height: 1em; }
.hxe-ig-mudou { color: var(--px); font-weight: 700; }
.hxe-st { display: flex; align-items: stretch; gap: 6px; }
.hxe-g .hxe-st input { flex: 1 1 auto; width: auto; min-width: 0; text-align: center; font-variant-numeric: tabular-nums; }
.hxe-st-b { flex: none; width: 48px; min-height: 44px; border: 1px solid var(--linha); background: var(--bg); border-radius: 8px; font-size: 1.5rem; font-weight: 700; line-height: 1; color: var(--tinta); cursor: pointer; touch-action: manipulation; }
.hxe-st-b:active { background: var(--px-suave); }
.hxe-st-neg { font-size: 1.15rem; }
.hxe-outros > summary { padding: 10px 0; }
.hxe-outros[open] > summary { margin-bottom: 4px; }
.hxe-outros > summary small { font-weight: 400; color: var(--aco); }
.hxe-ultimo-v { display: flex; flex-wrap: wrap; gap: 6px 16px; font-variant-numeric: tabular-nums; }
.hxe-ultimo-v span { display: flex; flex-direction: column; }
.hxe-ultimo-v small { color: var(--aco); font-size: .8rem; }
.hxe-ultimo-v b { font-size: 1.15rem; }
.hxe-ultimo-v .hxe-baixo b { color: var(--mal); }
.hxe-ultimo-atr { border-color: #f1d08a; background: #fffaf0; }

/* gasometria / anotações / evolução */
.hxe-seg { display: flex; gap: 0; border: 1px solid var(--linha); border-radius: 10px; overflow: hidden; background: var(--sup); }
.hxe-seg button { flex: 1 1 0; min-width: 0; border: 0; background: none; padding: 10px 6px; min-height: 48px; font: inherit; font-weight: 700; color: var(--aco); cursor: pointer; }
.hxe-seg button + button { border-left: 1px solid var(--linha); }
.hxe-seg button[aria-pressed="true"] { background: var(--px); color: var(--px-tinta); }
.hxe-seg button[aria-pressed="true"] .pill { background: rgb(255 255 255 / .25); color: #fff; }
.hxe-gas-cards { display: flex; flex-direction: column; gap: 8px; }
.hxe-gas-c { border: 1px solid var(--linha); border-radius: 8px; padding: 8px 10px; }
.hxe-gas-c > div { display: flex; flex-wrap: wrap; gap: 2px 14px; font-variant-numeric: tabular-nums; }
.hxe-gas-c small { color: var(--aco); }

/* estoque */
.hxe-est li { display: flex; flex-direction: column; gap: 2px; padding: 6px 0; border-bottom: 1px solid var(--linha); }
.hxe-est li:last-child { border-bottom: 0; }
.hxe-bx { font-size: .82rem; font-weight: 600; }
.hxe-est .hxe-bx-ok, .hxe-bx-ok { color: var(--ok); }
.hxe-est .hxe-bx-pend, .hxe-bx-pend { color: #7a4b00; }
.hxe-est .hxe-bx-neg, .hxe-bx-neg { color: var(--mal); }
.hxe-est .hxe-bx-est, .hxe-bx-est { color: var(--aco); }
.hxe-loc { display: flex; flex-direction: column; gap: 6px; }
.hxe-loc-ok { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.hxe-g label small { display: inline; font-weight: 400; color: var(--aco); }
.hxe-g label small::before { content: " · "; }
.hxe-g .hxe-pa-t label small::before, .hxe-g .hxe-c-st label small::before { content: " · "; }

/* ===== celular do técnico (até 600 px): tela cheia, letras grandes, toques de 44 px ou mais, sem zoom do iOS ===== */
@media (max-width: 600px) {
  /* lista */
  .hxe .cab .ferr { width: 100%; }
  .hxe .cab .ferr .btn { flex: 1 1 auto; justify-content: center; min-height: 48px; }
  #tela .hxe .cab p { font-size: 15px !important; }
  .hxe-hosp, .hxe-subs { flex-wrap: nowrap !important; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; max-width: 100%; min-width: 0; padding-bottom: 2px; }
  .hxe-hosp::-webkit-scrollbar, .hxe-subs::-webkit-scrollbar { display: none; }
  .hxe-hosp .btn, .hxe-subs button { flex: none; white-space: nowrap; min-height: 44px; font-size: 15px; }
  .hxe-filtro input { font-size: 16px; min-height: 48px; }
  /* Cartão compacto (Chefe, 01/11/2026: "tá muito grande, tem que rolar a tela"): cabe inteiro numa tela de celular. */
  .hxe-cartoes { gap: 10px; }
  .hxe-card { padding: 10px 12px 10px 13px; gap: 4px; border-left-width: 5px; border-radius: 12px; }
  .hxe-nome { font-size: 17px; line-height: 1.2; }
  .hxe-nome small, .hxe-g h2 small { font-size: 13px; }
  .hxe-cl, .hxe .pill, .hxe-g .pill { font-size: 13px; padding: 2px 8px; }
  .hxe-card .hxe-pills { flex-direction: column; align-items: flex-end; gap: 3px; }
  .hxe-onde { font-size: 14px; color: var(--tinta); line-height: 1.3; }
  .hxe-onde b { font-size: 15px; }
  .hxe-proc { font-size: 14px; }
  .hxe-l { font-size: 14px; }
  .hxe-l-extra { display: none; }
  .hxe-card small { font-size: 13px; }
  .hxe-g small, .hxe-g .mut, .hxe .mut { font-size: 15px; }
  .hxe-card .mut { font-size: 13px; }
  .hxe-prog { height: 10px; }
  .hxe-pend, .hxe-dev, .hxe-al { font-size: 13px; }
  .hxe-al { padding: 2px 8px; }
  .hxe-card-a { flex-direction: row; gap: 6px; margin-top: 2px; }
  .hxe-card-a .btn { flex: 1 1 0; min-height: 44px; font-size: 16px; justify-content: center; border-radius: 10px; }
  .hxe-card-a .btn.pri { font-size: 16px; }
  .hxe-med { flex-wrap: nowrap !important; padding-top: 6px; gap: 5px; }
  .hxe-med .btn { min-height: 38px; font-size: 13px; flex: 1 1 0; min-width: 0; padding: 0 4px; justify-content: center; white-space: nowrap; }

  /* gaveta em tela cheia */
  #gaveta:has(> .hxe-g) { width: 100%; max-width: 100%; border-left: 0; padding: 0 16px calc(env(safe-area-inset-bottom, 0px)) 16px; overflow-x: hidden; gap: 0; animation: none; }
  #gaveta:has(> .hxe-g) > .fechar { display: none; }
  .hxe-g { gap: 14px; font-size: 16px; }
  .hxe-g-topo { top: 0; margin: 0 -16px; padding: calc(10px + env(safe-area-inset-top, 0px)) 16px 8px; box-shadow: 0 4px 12px rgb(30 27 75 / .07); }
  .hxe-g-fechar { display: inline-flex; min-height: 44px; min-width: 76px; justify-content: center; font-size: 16px; }
  .hxe-g h2 { font-size: 20px; line-height: 1.2; }
  .hxe-g-onde { font-size: 16px; }
  .hxe-g-tempo { font-size: 16px; }
  .hxe-passos { margin: 0 -16px; padding: 2px 16px; gap: 6px; scroll-padding-inline: 16px; }
  .hxe-passos button { min-height: 44px; font-size: 16px; padding: 8px 14px; }
  .hxe-g-proc { font-size: 16px; }
  .hxe-g-ferr .btn { min-height: 44px; font-size: 15px; flex: 1 1 auto; justify-content: center; }
  .hxe-barra { bottom: var(--hxe-kb, 0px); margin: 6px -16px 0; padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)); }
  .hxe-barra .btn { min-height: 56px; font-size: 18px; border-radius: 12px; }
  .hxe-g .cx-p { padding: 14px; gap: 12px; border-radius: 14px; }
  .hxe-g .cx-p > b, .hxe-sec-t b { font-size: 17px; }
  .hxe-l { padding: 5px 0; }
  .hxe-card .hxe-l { padding: 2px 0; }
  .hxe-resumo .hxe-l { flex-wrap: wrap; }
  /* campos: 18 px (sem zoom do iOS), 52 px de altura */
  .hxe-g input, .hxe-g select, .hxe-g textarea { font-size: 18px; }
  .hxe-g input, .hxe-g select { min-height: 52px; }
  .hxe-g textarea { min-height: 88px; }
  .hxe-g label { font-size: 16px; color: var(--tinta); }
  .hxe-g label small { font-size: 15px; }
  .hxe-g3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .hxe-g2 { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .hxe-g3 .hxe-c-st, .hxe-g3 .hxe-larga { grid-column: 1 / -1; }
  .hxe-g .hxe-st input { font-size: 22px; font-weight: 700; }
  .hxe-st-b { width: 52px; min-height: 52px; font-size: 1.7rem; }
  .hxe-ig { font-size: 15px; }
  .hxe-pa-l small { font-size: 15px; }
  .hxe-chips button { min-height: 48px; font-size: 16px; padding: 10px 14px; flex: 1 1 auto; }
  .hxe-fim .hxe-chips button { flex: 1 1 100%; }
  .hxe-hora input { max-width: 100%; }
  .hxe-pa { max-width: none; }
  .hxe-ult, .hxe-ult-rap { font-size: 16px; }
  .hxe-rep { width: 100%; min-height: 52px; font-size: 16px; }
  .hxe-todos { width: 100%; min-height: 52px; font-size: 16px; }
  /* checklist: interruptores grandes */
  .hxe-ck li { padding: 10px 0; gap: 12px; }
  .hxe-ck li > span:first-child { font-size: 16px; line-height: 1.35; }
  .hxe-sn { border-radius: 12px; }
  .hxe-sn button { min-width: 62px; min-height: 52px; font-size: 17px; padding: 10px 12px; }
  .hxe-maq { min-height: 64px; }
  .hxe-maq span, .hxe-maq small { font-size: 15px; }
  .hxe-maq b { font-size: 17px; }
  .hxe-pend-bts .btn, .hxe-g .acoes .btn { min-height: 48px; font-size: 16px; flex: 1 1 auto; justify-content: center; }
  .hxe-seg button { font-size: 16px; min-height: 52px; white-space: nowrap; padding: 8px 4px; }
  .hxe-seg button .pill { padding: 1px 7px; }
  /* nos passos de trabalho, as ferramentas (imprimir, SAE…) ficam só no Resumo e na Prescrição: sobra tela para o formulário */
  .hxe-g:not([data-hxe-passo="resumo"]):not([data-hxe-passo="presc"]) > .hxe-g-ferr { display: none; }
  .hxe-tl-v { font-size: 15px; }
  .hxe-tl-v small, .hxe-tl-h small { font-size: 15px; }
  .hxe-tl-h .btn { min-height: 44px; font-size: 15px; }
  .hxe-tl-o, .hxe-corr, .hxe-txts li { font-size: 15px; }
  .hxe-aviso, .hxe-aviso-mal, .hxe-falta { font-size: 16px; }
  .hxe-bx { font-size: 15px; }
  .hxe-est li { font-size: 16px; }
  .hxe-leg { font-size: 15px; }
  .hxe-g-t { font-size: 13px; }
  .hxe-ultimo-v small { font-size: 15px; }
  .hxe-ultimo-v b { font-size: 20px; }
  .hxe-so-pc { display: none !important; }
  .hxe-so-cel { display: flex; }
  .hxe-gas-c, .hxe-gas-c small { font-size: 15px; }
  .hxe-g .btn-peq { min-height: 44px; font-size: 15px; }
}
/* Material previsto pela prescrição: sai sozinho ao finalizar */
.hxe-kit { border-left: 4px solid var(--px); }
.hxe-kit-l { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.hxe-kit-l li { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid var(--linha); }
.hxe-kit-l li > span { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }
.hxe-kit-q { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.hxe-kit-q input { width: 5.5em !important; max-width: 5.5em; flex: 0 0 auto; text-align: right; font-size: 1.05rem; padding: 8px; }
.hxe-kit-tag { display: inline-block; padding: 0 6px; border-radius: 4px; background: var(--px-suave, #eef3fb); color: var(--px); font-weight: 700; font-size: .7rem; }
.hxe-kit-q .sr-only, .hc .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
