/* Folha da tela: base, posição das telas e o miolo do painel do Sentinela.
   As peças (botão, selo, painel, doca, cartão...) vêm de componentes.css; os valores, de src/tema.js via variáveis.
   Nenhuma cor, canto ou tamanho mora aqui. */
[hidden]{display:none!important}
:root{ --fs:var(--t-corpo); }
html.grande{ --fs:20px; }
*{box-sizing:border-box}
html,body{margin:0;height:100%;overflow:hidden;background:#0A0E13;color:var(--texto);font-family:var(--fonte);font-size:var(--fs)}
#cena{position:fixed;inset:0;width:100vw;height:100vh;display:block;touch-action:none;cursor:grab;outline:none}
#cena:focus-visible{box-shadow:inset 0 0 0 4px var(--acao)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--acao);outline-offset:2px}
kbd{font:600 .75em var(--fonte);padding:1px 6px;border:1px solid var(--borda);border-radius:6px;color:var(--texto-fraco);margin-left:4px}
.num{font-variant-numeric:tabular-nums}

/* ---------- alto: contexto, alerta, sessão ---------- */
.topo{position:fixed;top:max(14px,env(safe-area-inset-top));left:14px;right:14px;display:flex;gap:12px;align-items:flex-start;pointer-events:none;z-index:5}
.topo>*{pointer-events:auto}
.topo__alerta{flex:1;max-width:620px;margin:0 auto;display:flex;justify-content:center}
.acoes{margin-left:auto;display:flex;gap:8px}
/* controle que flutua direto sobre a sala usa o vidro denso: a 55 % sobre a parede branca o texto branco
   caía a 4,4:1; a 70 % dá 6,5:1. O vidro a 55 % fica só nos painéis grandes, que têm o próprio fundo atrás do texto. */
#caso,.acoes .c-botao,#doca{background:var(--vidro-denso);border-color:var(--borda-densa)}

/* ---------- painel do Sentinela (direita) e orbe ---------- */
#sentinela{z-index:4}
html.canhoto #sentinela{right:auto;left:14px}
.orbe-canto{position:fixed;right:18px;top:96px;z-index:4}
html.canhoto .orbe-canto{right:auto;left:18px}
.sen{display:flex;flex-direction:column;gap:12px;container-type:inline-size;container-name:sen}
/* os três índices juntos no topo (Raphael, 14/10): o ISDH, principal, com o anel grande; o IFR e o IDE, que o complementam, em dois
   cartões iguais aos de PAM e Padrão. Painel largo (computador): o ISDH à esquerda e os cartões empilhados à direita, da altura do
   bloco do ISDH. Painel estreito (celular): triângulo, o ISDH centrado em cima e os dois cartões lado a lado embaixo. */
.sen__indices{display:grid;grid-template-columns:var(--anel) minmax(0,1fr);grid-template-areas:"isdh ifr" "isdh ide";gap:8px 12px;align-items:stretch}
.sen__isdh{grid-area:isdh;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.sen__ifr{grid-area:ifr}.sen__ide{grid-area:ide}
.c-indice__curto{display:none}
@container sen (max-width:359px){
  .sen__indices{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"isdh isdh" "ifr ide";gap:8px}
  .sen__isdh .c-anel__tend{white-space:nowrap} /* a linha de cima é larga: a tendência cabe numa linha, o anel é que é estreito */
  .c-indice__nome{display:none} /* cartão de 160 px: só a sigla no rótulo; o nome por extenso fica no rótulo falado */
  .c-indice__longo{display:none}.c-indice__curto{display:contents} /* e a frase curta no selo: a longa do IDE tomava três linhas */
}
.sen__previsao{display:flex;flex-direction:column;gap:6px;min-width:0}
.porque{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.porque li{display:flex;gap:10px;align-items:center;font-weight:var(--p-normal)}
.porque i{width:6px;height:22px;border-radius:3px;flex:none}
.porque li>span:first-of-type{min-width:0}
/* a prova: o número que gerou o motivo, o mesmo do monitor */
.porque__prova{margin-left:auto;padding-left:10px;color:var(--texto-fraco);font-weight:var(--p-forte);font-size:var(--t-auxiliar);white-space:nowrap}
.sen__cartoes{display:grid;grid-template-columns:repeat(2,1fr);gap:8px} /* PAM e Padrão; o IFR subiu para os índices */
.sen__mini{background:var(--interno);border-radius:var(--canto-faixa);padding:calc(var(--recuo-cartao) - 2px) var(--recuo-cartao);display:flex;flex-direction:column;gap:6px;min-width:0;align-items:flex-start}
.sen__mini strong{font-size:1.7rem;font-weight:var(--p-extra);font-variant-numeric:tabular-nums;line-height:1}
.sen__mini .c-selo{white-space:normal;text-align:left}
.sen__forte{font-weight:var(--p-forte);font-size:var(--t-auxiliar)}
.log{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.log li{font-weight:var(--p-normal)}.log .num{color:var(--texto-fraco);margin-right:6px}

/* ---------- doca ---------- */
#doca{position:fixed;left:50%;transform:translateX(-50%);bottom:max(16px,env(safe-area-inset-bottom));z-index:5}

/* ---------- ajustes ---------- */
/* Ajustes é um painel como os outros (achado P): nasce à esquerda, do lado oposto ao Sentinela, com cabeçalho, pegador e Fechar */
#ajustes,#somPop{z-index:8} /* 16/10: o Som fica acima dos marcadores da sala, como os Ajustes */
#ajustes.c-painel--esquerda,#ajustes.c-painel--direita{width:min(520px,calc(100vw - 28px - 424px));max-height:calc(100vh - 92px - var(--reserva-baixo))}
html.sentinela-esquerda #ajustes.c-painel--esquerda{left:auto;right:14px}
.pop__linha{display:flex;gap:8px;flex-wrap:wrap;padding:4px 4px 6px}

/* ---------- condutas ---------- */
/* padrão de abertura (3.12.9 do Raphael: quadro de condutas à esquerda; o Sentinela fica à direita): o painel
   de condutas nasce encaixado à esquerda, largo o bastante para três cartões, e o usuário desloca a partir daí */
#dlgCondutas{z-index:8}
#dlgCondutas.c-painel--esquerda,#dlgCondutas.c-painel--direita{width:min(820px,calc(100vw - 28px - 424px));max-height:calc(100vh - 92px - var(--reserva-baixo))}
#dlgCondutas .condCorpo{grid-template-columns:1fr 280px}
/* o painel pode nascer estreito (janela de 760 a 1100 px: 100vw menos o Sentinela); com menos de 640 px de corpo as duas
   colunas não cabem (cartões de 210 + enfermeira de 280) e empilham. Consulta ao corpo do painel, não à janela. */
#dlgCondutas .c-painel__corpo{container-type:inline-size}
@container (max-width:640px){#dlgCondutas .condCorpo{grid-template-columns:1fr}}
/* com o Sentinela encaixado à esquerda, as condutas nascem à direita, não por cima (achado E) */
html.sentinela-esquerda #dlgCondutas.c-painel--esquerda{left:auto;right:14px}
/* encaixado, o painel vai até perto do fundo: com 100vh - 200px ele rolava por dentro e parecia recolhido */
#sentinela.c-painel--direita,#sentinela.c-painel--esquerda{max-height:calc(100vh - 92px - var(--reserva-baixo))}
.condCorpo{display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:start}
.condEsq{display:flex;flex-direction:column;gap:12px;min-width:0}
.condDir{display:flex;flex-direction:column;gap:12px;min-width:0}
.itens{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:var(--e-gg)}

/* ---------- convite a virar o celular: por cima do início, sem cobrir o botão Começar ---------- */
.convite-canto{position:fixed;left:8px;right:8px;bottom:max(12px,env(safe-area-inset-bottom));z-index:21}
html.convite-aberto .veu{padding-bottom:190px} /* o fim da lista e o "Começar" continuam alcançáveis com a folha aberta */

/* ---------- procedimentos (prancha 3) ---------- */
#dlgProc{z-index:8}
#dlgProc.c-painel--esquerda,#dlgProc.c-painel--direita{width:min(820px,calc(100vw - 28px - 424px));max-height:calc(100vh - 92px - var(--reserva-baixo))}
html.sentinela-esquerda #dlgProc.c-painel--esquerda{left:auto;right:14px}
.proc{display:flex;flex-direction:column;gap:10px}
.proc__lista{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.proc__item{justify-content:flex-start;text-align:left;white-space:normal;min-height:var(--h-botao);padding:10px 18px}
.proc__cab{display:flex;align-items:center;gap:10px}
.proc__titulo{margin:0;flex:1;min-width:0;font-size:var(--t-cartao);font-weight:var(--p-extra)}
.proc__texto{margin:0;font-weight:var(--p-normal)}
.proc__chips{display:flex;flex-wrap:wrap;gap:8px}
.proc__passos,.proc__erros{margin:0;padding-left:22px;display:grid;gap:6px;font-weight:var(--p-normal)}
.proc__erros{list-style:none;padding-left:0}
.proc__acoes{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.proc__marcas{display:flex;gap:6px}
.proc__marcas i{flex:1;height:8px;border-radius:4px;background:var(--trilha)}
.proc__marcas i.feito{background:var(--n0)}.proc__marcas i.erro{background:var(--n1)}.proc__marcas i.atual{background:var(--realce)}
.proc__agora{background:var(--interno);border-radius:var(--canto-cartaoPequeno);padding:var(--recuo-cartao) calc(var(--recuo-cartao) + 2px);display:flex;flex-direction:column;gap:6px}
.proc__agora strong{font-size:var(--t-destaque);font-weight:var(--p-extra)}
.proc__agora p{margin:0;font-weight:var(--p-normal)}.proc__agora p.forte{font-weight:var(--p-forte)}
.proc__opcoes{display:flex;flex-direction:column;gap:8px}
.proc__tocar{white-space:normal;height:auto;min-height:var(--h-toque);padding:8px 16px;text-align:left;max-width:100%} /* o nome do ponto é longo: quebra, não vaza */
.proc__opcao{justify-content:flex-start;text-align:left;white-space:normal;min-height:var(--h-botao);padding:10px 20px}
.proc__opcao[aria-pressed="true"]{outline:2px solid var(--n1);outline-offset:2px}
.proc__us{display:block;width:100%;max-width:420px;height:auto;border-radius:var(--canto-faixa);background:#000}
.proc__zonas summary{list-style:none;display:inline-flex}
.proc__zonas summary::-webkit-details-marker{display:none}
.proc__zonas .proc__chips{margin-top:8px}
.proc__retorno .c-selo{white-space:normal;text-align:left;line-height:1.3;height:auto;padding:6px 12px}
.proc__numeros{margin:0;font-weight:var(--p-extra);font-size:var(--t-destaque)}
/* faixa de mensagens: selo com o estado e o texto corrido ao lado; quebra em linhas sem virar pílula deformada */
.faixa{position:fixed;left:50%;transform:translateX(-50%);bottom:max(106px,calc(env(safe-area-inset-bottom) + 106px));z-index:9;display:flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;border-radius:var(--canto-cartaoPequeno);background:var(--vidro-denso);border-color:var(--borda-densa);font-weight:var(--p-normal);max-width:min(620px,calc(100vw - 28px))}
.faixa .c-selo{flex:none}.faixa>span{min-width:0;line-height:1.3}

/* ---------- cena (prancha 0): pinos e balão ---------- */
.pontos{position:fixed;inset:0;pointer-events:none;z-index:3}
.ponto{position:absolute;transform:translate(-22px,-22px);display:flex;align-items:center;gap:8px;height:44px;padding:0;border:0;background:transparent;color:var(--texto);pointer-events:auto;cursor:pointer}
.ponto--esq{flex-direction:row-reverse;transform:translate(calc(-100% + 22px),-22px)}
.ponto i{width:44px;height:44px;border-radius:50%;background:color-mix(in srgb,var(--acao) 55%,transparent);border:3px solid #fff;box-sizing:border-box;flex:none;animation:pulso 1.8s ease-out infinite}
.ponto--ativo i,.ponto:focus-visible i{background:var(--acao);animation:none}
.ponto span{height:34px;display:inline-flex;align-items:center;padding:0 14px;border-radius:var(--canto-pilula);background:var(--vidro-denso);border:1px solid var(--borda-densa);font-size:var(--t-auxiliar);font-weight:var(--p-forte);white-space:nowrap}
html.parado .ponto i{animation:none}
@keyframes pulso{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--acao) 60%,transparent)}100%{box-shadow:0 0 0 18px transparent}}
.balao{position:fixed;width:320px;z-index:6;padding:var(--recuo-cartao) calc(var(--recuo-cartao) + 2px);border-radius:var(--canto-cartaoPequeno);background:var(--vidro-denso);border-color:var(--borda-densa);display:flex;flex-direction:column;gap:10px}
.balao__cab{display:flex;align-items:center;justify-content:space-between;gap:10px}
.balao__cab strong{font-size:var(--t-destaque);font-weight:var(--p-extra)}
.balao__estado{margin:0;font-weight:var(--p-normal)}

/* ---------- paciente (prancha 5) ---------- */
#dlgPaciente{z-index:8}
#dlgPaciente.c-painel--esquerda,#dlgPaciente.c-painel--direita{width:min(820px,calc(100vw - 28px - 424px));max-height:calc(100vh - 92px - var(--reserva-baixo))}
html.sentinela-esquerda #dlgPaciente.c-painel--esquerda{left:auto;right:14px}
.pac{display:flex;flex-direction:column;gap:10px}
.pac__modos .c-grupo__item{display:inline-flex}
.pac__balao{background:var(--interno);border-radius:var(--canto-cartaoPequeno);padding:var(--recuo-cartao) calc(var(--recuo-cartao) + 2px);display:flex;flex-direction:column;gap:6px}
.pac__balao strong{font-size:var(--t-destaque);font-weight:var(--p-extra)}
.pac__achado{margin:0;font-weight:var(--p-forte)}
.pac__balaoPe{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.pac__cab{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pac__achados,.pac__itens,.pac__ficha{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pac__achados li{display:flex;flex-direction:column;gap:2px;font-weight:var(--p-normal)}
.pac__itens li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--separador);font-weight:var(--p-normal)}
.pac__ficha li{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pac__resumo{flex:1;min-width:160px;color:var(--texto-fraco);font-size:var(--t-auxiliar)}

/* ---------- avaliação parcial (prancha 4) ---------- */
#dlgAval{z-index:8}
#dlgAval.c-painel--esquerda,#dlgAval.c-painel--direita{width:min(720px,calc(100vw - 28px - 424px));max-height:calc(100vh - 92px - var(--reserva-baixo))}
html.sentinela-esquerda #dlgAval.c-painel--esquerda{left:auto;right:14px}
.aval{display:flex;flex-direction:column;gap:10px}
.aval__cab{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.aval__titulo{margin:0;font-size:var(--t-titulo);font-weight:var(--p-extra);line-height:1.15}
.aval__nota{margin:0;font-weight:var(--p-normal)}
.aval__texto{margin:0;font-weight:var(--p-normal)}
.aval__itens{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.aval__item{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:calc(var(--recuo-cartao) - 2px) var(--recuo-cartao);border-radius:var(--canto-cartaoPequeno);background:var(--interno)}
.aval__nome{flex:1;min-width:140px;font-weight:var(--p-forte)}
.aval__grade{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.aval__cartao{display:flex;flex-direction:column;gap:8px;padding:var(--recuo-cartao);border-radius:var(--canto-cartaoPequeno);background:var(--interno);min-width:0}
.aval__cartao>strong{font-size:var(--t-destaque);font-weight:var(--p-extra)}
.aval__cartao p{margin:0}
.aval__linha{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:var(--p-normal)}
.aval__barra,.aval__dom{display:flex;align-items:center;gap:8px;font-size:var(--t-auxiliar)}
.aval__barra>span:first-child,.aval__dom>span:first-child{width:128px;flex:none;color:var(--texto-fraco)} /* "Reconhecimento" mede 123 px */
.aval__trilha{flex:1;height:10px;border-radius:5px;background:var(--trilha);overflow:hidden}
.aval__trilha i{display:block;height:100%;border-radius:5px;background:var(--realce)}
.aval__trilha i.baixo{background:var(--n1)}
.aval__barra strong,.aval__dom strong{width:40px;text-align:right;flex:none}
.aval__dominios{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}
.equipe{display:flex;flex-direction:column;gap:6px}

/* ---------- tela da sala de perto (vista 2D): painel móvel com a mesma textura da tela ---------- */
#dlgPerto{z-index:9}
#dlgPerto.c-painel--esquerda,#dlgPerto.c-painel--direita,#dlgPerto.c-painel--solto{width:min(600px,calc(100vw - 28px - 424px))}
html.sentinela-esquerda #dlgPerto.c-painel--esquerda{left:auto;right:14px} /* nasce do lado oposto ao Sentinela, como as condutas */
#pertoCanvas{display:block;width:100%;height:auto;border-radius:var(--canto-faixa);background:#03070C}

/* ---------- altura dos painéis encaixados: do topo (92) até a doca (74 + 16 de margem + 16 de respiro), nunca por cima dela ---------- */
#sentinela.c-painel--direita,#sentinela.c-painel--esquerda,
#dlgCondutas.c-painel--esquerda,#dlgCondutas.c-painel--direita,
#dlgProc.c-painel--esquerda,#dlgProc.c-painel--direita,
#dlgAval.c-painel--esquerda,#dlgAval.c-painel--direita,
#dlgPaciente.c-painel--esquerda,#dlgPaciente.c-painel--direita,
#dlgPerto.c-painel--esquerda,#dlgPerto.c-painel--direita,
#ajustes.c-painel--esquerda,#ajustes.c-painel--direita{max-height:calc(100vh - 92px - var(--reserva-baixo))}

/* ---------- início ---------- */
.veu{position:fixed;inset:0;display:grid;place-items:center;background:var(--veu);z-index:20;padding:16px;overflow:hidden} /* 19/10: a página não rola; quem rola é a caixa */
.inicio{width:min(960px,100%);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;padding:22px 30px 0;display:flex;flex-direction:column;gap:14px}
.inicio__cab{display:flex;align-items:center;justify-content:space-between;gap:12px}.inicio__cab .c-rotulo{margin:0}
.inicio--pequeno{width:auto;padding:18px 30px}
.inicio__sub{font-size:var(--t-corpo)}
/* escolha em dois níveis (14/10): as salas numa fileira, com quantas situações cada uma tem; embaixo, a lista da sala escolhida */
.inicio__salas{display:grid;grid-template-columns:repeat(4,1fr);gap:10px} /* 19/10: 7 cartões (6 salas e as cirurgias) em 4 + 3 */ /* 6 salas em 2 linhas de 3: com auto-fill a 150 px, "Videolaparoscopia" vazava e a SRPA ficava sozinha */
.inicio__sala{position:relative;display:flex;flex-direction:column;gap:2px;padding:12px 14px;min-height:var(--h-opcao);border:1px solid var(--borda);border-radius:var(--canto-cartaoPequeno);background:var(--interno);cursor:pointer}
.inicio__sala input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.inicio__sala:hover{background:var(--neutro)}
.inicio__sala--ativa{border-color:var(--acao);box-shadow:0 0 0 1px var(--acao)}
.inicio__sala:has(input:focus-visible){outline:3px solid var(--acao);outline-offset:2px}
.inicio__sala-nome{font-size:var(--t-destaque);font-weight:var(--p-forte);line-height:1.2;hyphens:auto;-webkit-hyphens:auto} /* hifenização do pt-BR (lang da página): "Videolaparos-copia", não "Videolaparosc-opia" */
.inicio__sala-local{font-size:var(--t-auxiliar);color:var(--texto-fraco);line-height:1.25}
.inicio__sala-conta{margin-top:auto;padding-top:6px;font-size:var(--t-auxiliar);font-weight:var(--p-forte);line-height:1.2}
.inicio__situacoes{margin:0;min-width:0;border:1px solid var(--borda);border-radius:var(--canto-cartaoPequeno);background:var(--interno);padding:var(--recuo-cartao)}
.inicio__legenda{float:left;width:100%;padding:0 4px 6px;font-size:var(--t-destaque);font-weight:var(--p-forte);line-height:1.2}
.inicio__lista{clear:both;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2px 10px;max-height:min(26vh,260px);overflow:auto;overscroll-behavior:contain}
/* o Começar fica preso ao pé da tela inicial, sempre à vista: com a lista longa ele caía abaixo da dobra (em 1280x800 e no celular) */
.inicio__pe{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:6px;position:sticky;bottom:0;z-index:1;padding:10px 12px;margin-inline:-12px;border-radius:var(--canto-cartaoPequeno);background:var(--vidro-denso);backdrop-filter:var(--desfoque);-webkit-backdrop-filter:var(--desfoque);border:1px solid var(--borda-densa)} /* o desfoque borra a lista que rola por baixo: sem ele, texto sobre texto */
.inicio__pe .c-sub{flex:1;min-width:240px}
.c-botao--grande{min-height:68px;font-size:var(--t-destaque);padding:0 34px}

/* ---------- celular ---------- */
/* a tira de baixo pertence à doca (16 + 74 + 16) e, quando há mensagem, à faixa (mais 56): nenhum painel entra nela */
:root{--reserva-baixo:106px}
html.faixa-aberta{--reserva-baixo:162px}
@media (max-width:760px){
  /* o topo cabe numa linha: a pílula encolhe (nome com reticências, sem o rótulo do relógio) e Salas e Ajustes ficam no chão de toque;
     o alerta, quando há, é a segunda linha. Medido antes: 128 px de topo em 375 px */
  .topo{flex-wrap:wrap;left:8px;right:8px;gap:8px}
  .topo__alerta{order:3;flex-basis:100%}
  #caso{flex:1;min-width:0;padding:6px 10px 6px 10px;gap:8px}
  #caso .c-pilula__sep{padding-left:10px;flex:none} /* o relógio nunca é cortado; quem encolhe é o nome, com reticências */
  #caso .c-pilula__col:last-child small{display:none}
  .topo__alerta{min-width:0}
  .acoes{gap:6px}
  .acoes .c-botao{min-height:var(--h-toque);padding:0 10px;font-size:var(--t-auxiliar)}
  #sentinela{left:8px;right:8px;width:auto;top:auto;bottom:78px;max-height:46vh}
  html.canhoto #sentinela{left:8px}
  .orbe-canto{top:auto;bottom:96px;right:14px}
  .sen__isdh .c-anel__tend{font-size:var(--t-micro);line-height:1.2;align-items:flex-start} /* em 116 px cabe em duas linhas, não três */
  .sen__cartoes{grid-template-columns:1fr 1fr}
  /* no celular a prova vai sempre na linha de baixo, alinhada ao texto: nunca ora ao lado, ora embaixo */
  .porque li{flex-wrap:wrap;row-gap:0}.porque__prova{flex-basis:100%;margin-left:16px;padding-left:0}
  /* cabeçalho de painel com duas ações (Ocultar e Fechar) em 359 px: as ações encolhem para o título caber inteiro */
  .c-painel__cab .c-botao--compacto{padding:0 10px;font-size:var(--t-micro)}
  .c-painel__cab kbd{display:none}
  #doca{left:8px;right:8px;transform:none;max-width:none;padding:6px 10px;bottom:max(10px,env(safe-area-inset-bottom))}
  #doca kbd,#sentinela kbd{display:none}
  /* no celular o painel de condutas é folha de baixo, de borda a borda */
  #dlgCondutas.c-painel--esquerda,#dlgCondutas.c-painel--direita{left:8px;right:8px;top:auto;bottom:82px;width:auto;max-height:calc(100vh - 82px - 128px)}
  html.sentinela-esquerda #dlgCondutas.c-painel--esquerda{left:8px;right:8px}
  #dlgCondutas .condCorpo{grid-template-columns:1fr}
  #dlgPerto.c-painel--esquerda,#dlgPerto.c-painel--direita,#dlgPerto.c-painel--solto{left:8px;right:8px;top:auto;bottom:82px;width:auto}
  html.sentinela-esquerda #dlgPerto.c-painel--esquerda{left:8px;right:8px} /* com o Sentinela à esquerda a regra de "nascer do outro lado" não vale no celular */
  #dlgProc.c-painel--esquerda,#dlgProc.c-painel--direita{left:8px;right:8px;top:auto;bottom:82px;width:auto;max-height:calc(100vh - 82px - 128px)}
  html.sentinela-esquerda #dlgProc.c-painel--esquerda{left:8px;right:8px}
  .proc__lista{grid-template-columns:1fr}
  #dlgAval.c-painel--esquerda,#dlgAval.c-painel--direita{left:8px;right:8px;top:auto;bottom:82px;width:auto;max-height:calc(100vh - 82px - 128px)}
  #dlgPaciente.c-painel--esquerda,#dlgPaciente.c-painel--direita{left:8px;right:8px;top:auto;bottom:82px;width:auto;max-height:calc(100vh - 82px - 128px)}
  html.sentinela-esquerda #dlgPaciente.c-painel--esquerda{left:8px;right:8px}
  html.sentinela-esquerda #dlgAval.c-painel--esquerda{left:8px;right:8px}
  .aval__grade,.aval__dominios{grid-template-columns:1fr}
  .faixa{left:8px;right:8px;transform:none;max-width:none;bottom:max(92px,calc(env(safe-area-inset-bottom) + 92px))}
  .balao{width:calc(100vw - 16px)}
  #sentinela.c-painel--direita,#sentinela.c-painel--esquerda{max-height:46vh}
  .condCorpo{grid-template-columns:1fr;gap:12px}
  .itens{grid-template-columns:1fr 1fr}
  .inicio{padding:20px}
  .inicio__salas{grid-template-columns:1fr 1fr;gap:8px}
  .inicio__sala{padding:10px 12px;min-height:0}
  .inicio__sala-nome{font-size:var(--t-corpo)}
  .inicio__sala-local{display:none}
  .inicio__lista{grid-template-columns:1fr;max-height:30vh}
  .inicio__pe .c-sub{display:none} /* no celular o pé fixo leva só o botão: a lista de comandos de teclado tomava meia tela */
  #ajustes.c-painel--esquerda,#ajustes.c-painel--direita{left:8px;right:8px;top:auto;bottom:82px;width:auto;max-height:calc(100vh - 82px - 128px)}
  html.sentinela-esquerda #ajustes.c-painel--esquerda{left:8px;right:8px}
  /* no celular a folha de trabalho é a única coisa na tela: vai de baixo do topo (108 + 20) até acima da doca (72 + 10), e o
     Sentinela recolhe enquanto ela está aberta (volta ao fechar; o orbe continua para quem o ocultou) */
  #dlgCondutas.c-painel--esquerda,#dlgCondutas.c-painel--direita,#dlgProc.c-painel--esquerda,#dlgProc.c-painel--direita,
  #dlgAval.c-painel--esquerda,#dlgAval.c-painel--direita,#dlgPaciente.c-painel--esquerda,#dlgPaciente.c-painel--direita,
  #dlgPerto.c-painel--esquerda,#dlgPerto.c-painel--direita,#dlgPerto.c-painel--solto,#ajustes.c-painel--esquerda,#ajustes.c-painel--direita{bottom:82px;max-height:calc(100vh - 82px - 128px)}
  html.folha-aberta #sentinela{display:none}
}
@media (max-width:430px){
  .itens{grid-template-columns:1fr}
}

/* na tela inicial só existe a tela inicial: o topo (caso, Salas, Ajustes) não se desenha sobre ela */
.inicio-aberto .topo,.inicio-aberto #doca{display:none}
/* o convite de orientação é a única coisa na tela enquanto está aberto; "Continuar em pé" devolve a tela inicial */
html.convite-aberto #inicio,html.convite-aberto #doca,html.convite-aberto .topo{display:none}
/* o menu de mais ações da doca é uma folha: enquanto está aberto, o Sentinela e o orbe saem da frente (nada sobre nada) */
html.doca-aberta #sentinela,html.doca-aberta #orbe{display:none}

/* celular com a faixa visível: a faixa fica em 82 px (onde as folhas começam) e as folhas, o Sentinela, a tela de perto e os ajustes sobem 56 px */
@media (max-width:760px){
  html.faixa-aberta .faixa{bottom:max(82px,calc(env(safe-area-inset-bottom) + 82px))}
  html.faixa-aberta #sentinela{bottom:134px}
  html.faixa-aberta #dlgCondutas.c-painel--esquerda,html.faixa-aberta #dlgCondutas.c-painel--direita,html.faixa-aberta #dlgProc.c-painel--esquerda,html.faixa-aberta #dlgProc.c-painel--direita,html.faixa-aberta #dlgAval.c-painel--esquerda,html.faixa-aberta #dlgAval.c-painel--direita,html.faixa-aberta #dlgPaciente.c-painel--esquerda,html.faixa-aberta #dlgPaciente.c-painel--direita{bottom:138px;max-height:calc(100vh - 138px - 128px)}
  html.faixa-aberta #dlgPerto.c-painel--esquerda,html.faixa-aberta #dlgPerto.c-painel--direita,html.faixa-aberta #dlgPerto.c-painel--solto,html.faixa-aberta #ajustes.c-painel--esquerda,html.faixa-aberta #ajustes.c-painel--direita{bottom:138px;max-height:calc(100vh - 138px - 128px)}
}

/* ---------- celular deitado (altura até 500 px): a sala no meio, os painéis nas laterais ----------
   Medido em 667 × 375 (13/10, achado do Rodrigo): com as regras do celular em pé, topo, Sentinela de borda a borda e doca de 74 px
   tomavam a tela inteira e os toques pareciam gigantes. Aqui o Sentinela e as folhas viram colunas (o Sentinela à direita, as folhas
   de trabalho à esquerda), com 300 px e 60 % da largura; topo e doca cabem em 40 px; a sala fica visível no meio. Os tokens de
   tamanho vêm do tema (CELULAR_DEITADO). */
@media (max-height:500px) and (orientation:landscape){
  :root{--reserva-baixo:58px}
  html.faixa-aberta{--reserva-baixo:104px}
  .topo{top:max(6px,env(safe-area-inset-top));left:8px;right:8px;gap:6px;flex-wrap:nowrap}
  .topo__alerta{order:0;flex:1;flex-basis:auto;min-width:0}
  .topo__alerta .c-alerta{padding:4px 10px;min-height:40px}
  #caso{flex:0 1 auto;padding:4px 10px;gap:8px;min-height:40px}
  #caso .c-pilula__col:last-child small{display:none}
  .acoes .c-botao{min-height:40px;padding:0 10px}
  #doca{left:50%;right:auto;transform:translateX(-50%);max-width:calc(100vw - 16px);padding:4px 8px;bottom:max(6px,env(safe-area-inset-bottom))}
  #doca .c-botao{min-height:40px;padding:0 12px}
  /* o Sentinela: coluna à direita, do topo à doca */
  #sentinela,#sentinela.c-painel--direita,#sentinela.c-painel--esquerda{left:auto;right:8px;top:54px;bottom:58px;width:min(300px,44vw);max-height:none;transform:none}
  html.sentinela-esquerda #sentinela,html.canhoto #sentinela{left:8px;right:auto}
  html.folha-aberta #sentinela{display:flex} /* na coluna há lugar para os dois: a folha não recolhe o Sentinela */
  .sen__isdh .c-anel .c-selo{padding:4px 8px;font-size:var(--t-micro)}
  /* na coluna de 300 px o triângulo não cabe na altura (230 px para 222 de corpo): volta o arranjo do computador, anel à esquerda e os
     dois cartões empilhados à direita, que ocupa 178 px e deixa os três índices à vista sem rolar */
  .sen__indices{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"isdh ifr" "isdh ide";gap:6px 8px}
  .sen__isdh .c-anel__tend{white-space:normal}
  .sen__cartoes{grid-template-columns:1fr 1fr;gap:6px}
  .sen__mini{padding:calc(var(--recuo-cartao) - 4px) calc(var(--recuo-cartao) - 2px)}
  .sen__mini strong{font-size:1.2rem}
  .c-painel__cab{padding:var(--e-s) var(--recuo-painel);min-height:40px}
  .c-painel__corpo{padding:2px var(--recuo-painel) var(--recuo-painel);gap:8px}
  /* cabeçalho de 294 px com pegador, título e dois botões: botões no mínimo (32 de altura, 8 de recuo) e título em 16, para "Sentinela" caber inteiro */
  .c-painel__cab .c-botao--compacto{min-height:32px;padding:0 8px;font-size:var(--t-micro)}
  .c-painel__cab .c-painel__titulo,.c-painel__cab h2{font-size:16px}
  .c-painel__cab{gap:6px} /* recuo de 12 (>= 40 % do raio de 28): o pegador fica fora da curva do canto */
  /* folhas de trabalho e tela de perto: coluna à esquerda, mesma altura */
  #dlgCondutas.c-painel--esquerda,#dlgCondutas.c-painel--direita,#dlgProc.c-painel--esquerda,#dlgProc.c-painel--direita,
  #dlgAval.c-painel--esquerda,#dlgAval.c-painel--direita,#dlgPaciente.c-painel--esquerda,#dlgPaciente.c-painel--direita,
  #dlgPerto.c-painel--esquerda,#dlgPerto.c-painel--direita,#dlgPerto.c-painel--solto,#ajustes.c-painel--esquerda,#ajustes.c-painel--direita{
    left:8px;right:auto;top:54px;bottom:58px;width:min(440px,calc(100vw - 16px - min(300px,44vw) - 8px));max-height:none}
  html.sentinela-esquerda #dlgCondutas.c-painel--esquerda,html.sentinela-esquerda #dlgProc.c-painel--esquerda,html.sentinela-esquerda #dlgAval.c-painel--esquerda,
  html.sentinela-esquerda #dlgPaciente.c-painel--esquerda,html.sentinela-esquerda #dlgPerto.c-painel--esquerda,html.sentinela-esquerda #ajustes.c-painel--esquerda,
  html.canhoto #dlgCondutas.c-painel--esquerda,html.canhoto #dlgProc.c-painel--esquerda,html.canhoto #dlgAval.c-painel--esquerda,html.canhoto #dlgPaciente.c-painel--esquerda,
  html.canhoto #dlgPerto.c-painel--esquerda,html.canhoto #ajustes.c-painel--esquerda{left:auto;right:8px}
  html.faixa-aberta #sentinela,html.faixa-aberta #dlgCondutas.c-painel--esquerda,html.faixa-aberta #dlgCondutas.c-painel--direita,html.faixa-aberta #dlgProc.c-painel--esquerda,
  html.faixa-aberta #dlgProc.c-painel--direita,html.faixa-aberta #dlgAval.c-painel--esquerda,html.faixa-aberta #dlgAval.c-painel--direita,html.faixa-aberta #dlgPaciente.c-painel--esquerda,
  html.faixa-aberta #dlgPaciente.c-painel--direita,html.faixa-aberta #dlgPerto.c-painel--esquerda,html.faixa-aberta #dlgPerto.c-painel--direita,html.faixa-aberta #dlgPerto.c-painel--solto,
  html.faixa-aberta #ajustes.c-painel--esquerda,html.faixa-aberta #ajustes.c-painel--direita{bottom:104px;max-height:none}
  .faixa{left:8px;right:8px;bottom:max(54px,calc(env(safe-area-inset-bottom) + 54px));padding:4px 10px 4px 6px}
  html.faixa-aberta .faixa{bottom:max(54px,calc(env(safe-area-inset-bottom) + 54px))}
  .orbe-canto{bottom:62px;right:10px}
  .balao{width:min(320px,calc(100vw - 16px))}
  .itens{grid-template-columns:1fr}
  /* a tela inicial: cartões em duas colunas, botão Começar no chão de toque */
  .inicio{padding:12px 16px;gap:8px}
  .inicio__salas{grid-template-columns:repeat(4,1fr);gap:8px}
  .inicio__sala{padding:8px 10px;min-height:0}
  .inicio__sala-local{display:none}
  .inicio__lista{grid-template-columns:1fr 1fr;max-height:30vh}
  .inicio__pe .c-sub{display:none}
  .c-botao--grande{min-height:44px;padding:0 22px;font-size:var(--t-botao)}
  .inicio__pe{gap:12px}
}

/* ---------- primeiros passos e guia do caso (16/10, pedido do Raphael: não se sentir perdido) ---------- */
.passos{position:fixed;left:50%;top:max(72px,calc(env(safe-area-inset-top) + 72px));transform:translateX(-50%);z-index:12;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 200px);display:flex;flex-direction:column;gap:10px;padding:var(--recuo-cartao) calc(var(--recuo-cartao) + 4px);border-radius:var(--canto-cartaoPequeno);background:var(--vidro-denso);border-color:var(--borda-densa)}
.passos .c-rotulo{margin:0}
.passos__titulo{margin:0}
.passos__corpo{overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:8px}
.passos__corpo p{margin:0;line-height:1.45}
.passos__lugares{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.passos__lugares li{display:flex;align-items:center;gap:12px}
.passos__lugares .c-botao{flex:none;min-width:128px;justify-content:flex-start}
.passos__botoes{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-top:4px}
.passos__voz{margin-left:auto}
.guia{position:fixed;left:50%;transform:translateX(-50%);bottom:max(106px,calc(env(safe-area-inset-bottom) + 106px));z-index:9;width:min(720px,calc(100vw - 32px));display:flex;flex-direction:column;gap:8px;padding:12px 16px;border-radius:var(--canto-cartaoPequeno);background:var(--vidro-denso);border-color:var(--borda-densa)}
.guia--recolhido{width:auto;padding:6px}
.guia__passos{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.guia__texto{margin:0;line-height:1.4}
.guia__dica{padding:10px 12px;border-radius:var(--canto-cartaoPequeno);background:var(--interno)}
.guia__dica .c-rotulo{margin:0 0 4px}
.guia__dica p{margin:0 0 4px;line-height:1.4}
.guia__botoes{display:flex;flex-wrap:wrap;gap:8px}
/* a faixa dos procedimentos ocupa o mesmo lugar: enquanto ela aparece, o guia sai */
html:has(#faixa:not([hidden])) .guia{display:none}
/* com um painel de trabalho aberto no celular, o guia recolhe para não cobrir a folha */
@media (max-width:760px){html.folha-aberta .guia{display:none}}
/* 16/10 (achado do Rodrigo: telas se sobrepondo): com o Sentinela encaixado num lado, o guia e os primeiros passos ficam do outro,
   no espaço livre (o painel dele tem até ~440 px com a margem) */
html.sentinela-direita .guia{left:16px;transform:none;width:min(720px,calc(100vw - 488px))}
html.sentinela-esquerda .guia{left:auto;right:16px;transform:none;width:min(720px,calc(100vw - 488px))}
html.sentinela-direita .passos{left:16px;transform:none;width:min(560px,calc(100vw - 488px))}
html.sentinela-esquerda .passos{left:auto;right:16px;transform:none;width:min(560px,calc(100vw - 488px))}
@media (max-width:900px){html.sentinela-direita .guia,html.sentinela-esquerda .guia,html.sentinela-direita .passos,html.sentinela-esquerda .passos{left:50%;right:auto;transform:translateX(-50%);width:min(560px,calc(100vw - 32px))}}
/* ---------- botão Som (16/10): no mudo, o contorno avisa ---------- */
#btSom.is-mudo{box-shadow:inset 0 0 0 2px #FFB547}
.somVol{display:flex;flex-direction:column;align-items:stretch;gap:6px}.somVol input{width:100%;min-height:32px;accent-color:#9CC4FF}

/* ---- 19/10 · painel Som (revisão do Rodrigo: "muito genérica"): interruptor de mudo, a voz em dois cartões, volumes em grade ---- */
.som__mudo{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:var(--canto-cartaoPequeno);background:var(--interno);cursor:pointer}
.som__mudoTexto{display:flex;flex-direction:column;gap:2px}.som__mudoTexto small{color:var(--texto-fraco);font-size:var(--t-micro)}
.c-interruptor{appearance:none;-webkit-appearance:none;width:46px;height:28px;margin:0;border-radius:999px;background:var(--cavidade);border:1px solid var(--borda);position:relative;flex:none;cursor:pointer;transition:background .15s}
.c-interruptor::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--texto);transition:transform .15s}
.c-interruptor:checked{background:var(--acao);border-color:var(--acao)}.c-interruptor:checked::after{transform:translateX(18px)}
.c-interruptor:focus-visible{outline:3px solid var(--acao);outline-offset:2px}
.som__bloco{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.som__cab{display:flex;align-items:center;justify-content:space-between;min-height:32px}
.som__vozes{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.som__voz{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-height:var(--h-opcao);padding:8px 12px;border-radius:var(--canto-cartaoPequeno);background:var(--neutro);cursor:pointer}
.som__voz input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}
.som__voz span{font-weight:var(--p-forte)}.som__voz small{color:var(--texto-fraco);font-size:var(--t-micro)}
.som__voz:has(input:checked){background:var(--inverso);color:var(--inverso-texto)}.som__voz:has(input:checked) small{color:var(--inverso-texto);opacity:.72}
.som__voz:has(input:focus-visible){outline:3px solid var(--acao);outline-offset:2px}
.som__vols{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px 12px}
.som__vol{display:contents}.som__vol>span{font-weight:var(--p-normal);white-space:nowrap}
.som__vol output{min-width:5.5ch;text-align:right;color:var(--texto-fraco);font-variant-numeric:tabular-nums;font-size:var(--t-auxiliar)}
.som__vol input{width:100%;min-height:var(--h-toque);margin:0;accent-color:var(--acao)}
#somPop[hidden]{display:none}

/* ---- 19/10 · guia recolhido (revisão do Rodrigo): uma linha com o passo, o título e a instrução; "Abrir" à direita ---- */
.guia--recolhido{width:auto;max-width:min(600px,calc(100vw - 32px));padding:0}
html.sentinela-direita .guia--recolhido,html.sentinela-esquerda .guia--recolhido{width:auto;max-width:min(600px,calc(100vw - 488px))}
.guia__pilula{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;min-height:var(--h-opcao);padding:8px 10px 8px 12px;border:0;border-radius:inherit;background:transparent;color:var(--texto);text-align:left;cursor:pointer;font:inherit}
.guia__num{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--inverso);color:var(--inverso-texto);font-weight:var(--p-extra);font-size:var(--t-auxiliar)}
.guia__resumo{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.guia__curto{color:var(--texto-fraco);font-size:var(--t-auxiliar);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.guia__abrir{padding:7px 14px;border-radius:999px;background:var(--neutro);font-weight:var(--p-forte);font-size:var(--t-auxiliar);white-space:nowrap}
.guia__pilula:hover .guia__abrir{background:var(--cartao-hover)}
.guia__pilula:focus-visible{outline:3px solid var(--acao);outline-offset:-3px}
/* ---- 19/10 · tela de início refeita (revisão do Rodrigo): cabe na janela, sem rolar a página nem a caixa; lista de salas à esquerda,
   situações à direita; o pé é parte da coluna, não uma faixa por cima ---- */
.inicio{width:min(1060px,100%);height:min(700px,calc(100vh - 32px));height:min(700px,calc(100dvh - 32px));display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;padding:22px 26px 20px;overflow:hidden;max-height:none}
.inicio--pequeno{height:auto;display:block;width:auto;padding:18px 30px}
.inicio__cab{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.inicio__marca{display:flex;flex-direction:column;gap:4px;min-width:0}.inicio__marca .c-rotulo,.inicio__marca .c-titulo,.inicio__marca .c-sub{margin:0}
.inicio__corpo{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;min-height:0}
.inicio__salas{display:flex;flex-direction:column;gap:6px;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 4px 0 0}
.inicio__sala{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"nome conta" "local conta";align-items:center;column-gap:10px;row-gap:1px;padding:10px 14px;min-height:56px;border:1px solid transparent;border-radius:var(--canto-cartaoPequeno);background:var(--interno);cursor:pointer}
.inicio__sala:hover{background:var(--neutro)}
.inicio__sala-nome{grid-area:nome;font-size:var(--t-corpo);font-weight:var(--p-forte);line-height:1.2}
.inicio__sala-local{grid-area:local;font-size:var(--t-micro);color:var(--texto-fraco);line-height:1.2}
.inicio__sala-conta{grid-area:conta;margin:0;padding:4px 10px;border-radius:999px;background:var(--cavidade);font-size:var(--t-micro);font-weight:var(--p-forte);line-height:1.2;white-space:nowrap}
.inicio__sala--ativa,.inicio__sala--ativa:hover{background:var(--inverso);color:var(--inverso-texto);box-shadow:none;border-color:transparent}
.inicio__sala--ativa .inicio__sala-local{color:var(--inverso-texto);opacity:.7}.inicio__sala--ativa .inicio__sala-conta{background:rgba(0,0,0,.14)}
.inicio__direita{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px;min-height:0}
.inicio__situacoes{display:flex;flex-direction:column;min-height:0;margin:0;padding:var(--recuo-cartao);border:1px solid var(--borda);border-radius:var(--canto-cartaoPequeno);background:var(--interno)}
.inicio__legenda{float:none;width:auto;margin:0;padding:0 4px 10px;font-size:var(--t-destaque);font-weight:var(--p-forte);line-height:1.2}
.inicio__lista{clear:none;flex:1;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:2px 10px;align-content:start}
.inicio__pe{position:static;display:flex;align-items:center;gap:16px;flex-wrap:nowrap;margin:0;padding:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;border-radius:0}
.inicio__dica{flex:1;min-width:0;margin:0;font-size:var(--t-micro);line-height:1.35}
@media (max-width:900px){
  .inicio{height:auto;max-height:calc(100dvh - 32px);overflow:auto;padding:16px}
  .inicio__corpo{grid-template-columns:1fr;gap:12px}
  .inicio__salas{flex-direction:row;overflow-x:auto;overflow-y:hidden;gap:8px;padding:0 0 4px}
  .inicio__sala{flex:0 0 auto;min-width:168px;min-height:0;padding:8px 12px}
  .inicio__sala-local{display:none}
  .inicio__lista{grid-template-columns:1fr;max-height:38vh}
  .inicio__dica{display:none}
  .inicio__marca .inicio__sub{display:none}
}
/* ---- 19/10 · painéis de trabalho revistos (revisão do Rodrigo) ---- */
/* Condutas: linhas, não cartões gigantes — nome à esquerda, o risco e a contagem à direita; duas colunas */
#itens{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-content:start}
#itens .c-opcao{flex-direction:row;align-items:center;justify-content:space-between;gap:10px;min-height:56px;padding:8px 10px 8px 14px}
#itens .c-opcao__corpo{flex:1;min-width:0}
#itens .c-opcao__nome{font-size:var(--t-corpo);line-height:1.25}
#itens .c-opcao__topo{order:2;min-height:0;flex:none;gap:6px}
#itens .c-opcao__topo .c-selo--contagem{margin-left:0}
#dlgCondutas .c-fala__texto{font-size:var(--t-destaque)}
#dlgCondutas .condCorpo{grid-template-columns:minmax(0,1fr) 272px}
/* Procedimentos: o modo num segmento com a explicação ao lado; a lista com o nome e onde acontece */
.proc__modo{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.proc__segmentos{display:flex;gap:4px;padding:4px;border-radius:999px;background:var(--cavidade)}
.proc__seg{min-height:40px}
.proc__modoTexto{flex:1;min-width:200px;margin:0}
.proc__item{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:60px;padding:10px 16px;text-align:left;white-space:normal}
.proc__itemNome{font-weight:var(--p-forte);line-height:1.25}
.proc__itemOnde{color:var(--texto-fraco);font-size:var(--t-micro);font-weight:var(--p-normal);line-height:1.2}
/* Avaliação: a nota num anel, o título ao lado; o esperado num cartão */
.aval__topo{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center}
.aval__anel{display:flex;flex-direction:column;align-items:center;gap:2px;width:104px}
.aval__anel svg{width:104px;height:104px;overflow:visible}
.aval__anel circle{fill:none;stroke-width:11;stroke-linecap:round}
.aval__trilho{stroke:var(--trilha)}.aval__arco{transition:stroke-dasharray .6s}
.aval__num{font:var(--p-extra) 38px var(--fonte);text-anchor:middle;fill:var(--texto)}
.aval__resumoTopo{display:flex;flex-direction:column;gap:4px;min-width:0}
.aval__esperado{display:flex;flex-direction:column;gap:4px;padding:var(--recuo-cartao);border-radius:var(--canto-cartaoPequeno);background:var(--interno)}
.aval__esperado .c-rotulo{margin:0}
.aval__esperado--dano{background:color-mix(in srgb,var(--n3) 14%,transparent)}
/* Paciente: duas colunas — exame e ficha */
.pac__cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.pac__col{display:flex;flex-direction:column;gap:10px;min-width:0}
.pac__col--ficha{padding-left:18px;border-left:1px solid var(--separador)}
.pac__fichaCab{display:flex;flex-direction:column;gap:4px}.pac__fichaCab .c-rotulo{margin:0}
.pac__fichaCaso{margin:0;font-size:var(--t-auxiliar);color:var(--texto-fraco);line-height:1.3}
.pac__abas{display:flex;gap:4px;padding:4px;border-radius:999px;background:var(--cavidade)}
.pac__aba{flex:1;min-height:36px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:var(--texto);font:inherit;font-size:var(--t-auxiliar);font-weight:var(--p-forte);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pac__aba[aria-selected=true]{background:var(--inverso);color:var(--inverso-texto)}
.pac__aba:focus-visible{outline:3px solid var(--acao);outline-offset:-3px}
.pac__ficha{gap:0}
.pac__ficha li{display:block}
.pac__secao{display:grid;grid-template-columns:118px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:48px;padding:8px 6px;border:0;border-top:1px solid var(--separador);background:transparent;color:var(--texto);font:inherit;text-align:left;cursor:pointer;border-radius:0}
.pac__ficha li:first-child .pac__secao{border-top:0}
.pac__secao:hover{background:var(--neutro);border-radius:12px}
.pac__secao:focus-visible{outline:3px solid var(--acao);outline-offset:-3px;border-radius:12px}
.pac__secaoNome{font-weight:var(--p-forte);font-size:var(--t-auxiliar)}
.pac__secao .pac__resumo{min-width:0;font-size:var(--t-auxiliar);color:var(--texto-fraco);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pac__seta{color:var(--texto-fraco);font-size:20px;line-height:1}
@media (max-width:760px){.pac__cols{grid-template-columns:1fr}.pac__col--ficha{padding-left:0;border-left:0;padding-top:12px;border-top:1px solid var(--separador)}}

/* ajuste após a primeira captura: selo de risco compacto nas linhas de conduta; cabeçalho da ficha mais leve */
#itens .c-opcao__topo .c-selo{min-height:22px;padding:2px 8px}
.pac__fichaCab .c-rotulo{font-size:var(--t-micro)}

/* Procedimentos por finalidade (19/10, revisão do Rodrigo): grupos com rótulo, cartões em três colunas */
.proc__grupo{display:flex;flex-direction:column;gap:6px}
.proc__grupoNome{margin:0}
.proc__lista{grid-template-columns:repeat(auto-fill,minmax(236px,1fr))}
.proc__item{flex-direction:row;align-items:center;justify-content:space-between;gap:10px;min-height:58px;padding:8px 10px 8px 14px}
.proc__itemTexto{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.proc__itemOnde{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.proc__itemN{flex:none;padding:3px 8px;border-radius:999px;background:var(--cavidade);color:var(--texto-fraco);font-size:var(--t-micro);font-weight:var(--p-forte)}
.proc__modoTexto{min-width:160px}
.proc__item{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:9px 14px}
.proc__itemOnde{max-width:100%}
.proc__lista{grid-template-columns:1fr 1fr}
.proc__itemOnde{white-space:normal;overflow:visible;text-overflow:clip}

/* ---- 19/10 · passagem do caso (briefing) ---- */
.briefing{height:auto;max-height:min(720px,calc(100dvh - 32px));grid-template-rows:auto auto minmax(0,1fr) auto;gap:14px}
.briefing__cab{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.briefing__paciente{font-size:var(--t-auxiliar)}
.briefing__selos{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;flex:none}
.briefing .c-fala__texto{font-size:var(--t-destaque)}
.briefing .c-fala__acoes:empty{display:none}
.briefing__itens{overflow:auto;overscroll-behavior:contain;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;align-content:start;padding:2px;mask-image:linear-gradient(#000 calc(100% - 18px),transparent)}
.briefing__aviso{grid-column:1/-1;margin:0}
.briefing__item{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:var(--canto-cartaoPequeno);background:var(--interno)}
.briefing__item .c-rotulo{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.briefing__item--alerta{box-shadow:inset 0 0 0 1.5px var(--n1)}
.briefing__texto{margin:0;font-size:var(--t-auxiliar);font-weight:var(--p-normal);line-height:1.35}
.briefing__pe{display:flex;align-items:center;justify-content:space-between;gap:16px}
.briefing__dica{flex:1;min-width:200px;margin:0}
@media (max-width:760px){.briefing__cab{flex-direction:column}.briefing__selos{justify-content:flex-start}.briefing__itens{grid-template-columns:1fr}.briefing__pe{flex-direction:column;align-items:stretch}}.briefing__itens{align-items:start}
.briefing__item--largo{grid-column:1/-1}
.briefing__item--largo .briefing__texto{font-size:var(--t-corpo)}

/* passagem do caso, segunda versão: história | fatos, sem barra de rolagem visível */
.briefing__itens{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;scrollbar-width:none}
.briefing__itens::-webkit-scrollbar{display:none}
.briefing__historia{display:flex;flex-direction:column;gap:10px;min-width:0}
.briefing__fatos{display:flex;flex-direction:column;min-width:0}
.briefing__fato{display:flex;flex-direction:column;gap:3px;padding:9px 0;border-top:1px solid var(--separador)}
.briefing__fato:first-child{border-top:0;padding-top:0}
.briefing__fato .c-rotulo{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.briefing__fato--alerta .c-rotulo{color:var(--n1)}
@media (max-width:760px){.briefing__itens{grid-template-columns:1fr}}

.briefing__acoes{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
#inicio{z-index:21} /* as salas abrem por cima da passagem do caso */
@media (max-width:760px){.briefing__acoes{flex-direction:column-reverse;align-items:stretch}}

/* ---- 19/10 · bombas de infusão, soro e hemácias ---- */
#dlgBombas{z-index:8}
#dlgBombas.c-painel--esquerda,#dlgBombas.c-painel--direita{width:min(820px,calc(100vw - 28px - 424px));max-height:calc(100vh - 92px - var(--reserva-baixo))}
html.sentinela-esquerda #dlgBombas.c-painel--esquerda{left:auto;right:14px}
.bomb{display:flex;flex-direction:column;gap:12px}
.bomb__abas{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:4px;border-radius:var(--canto-cartaoPequeno);background:var(--cavidade)}
.bomb__aba{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:52px;padding:6px 10px;border:0;border-radius:calc(var(--canto-cartaoPequeno) - 3px);background:transparent;color:var(--texto);font:inherit;text-align:left;cursor:pointer;min-width:0}
.bomb__aba[aria-selected=true]{background:var(--inverso);color:var(--inverso-texto)}
.bomb__aba:focus-visible{outline:3px solid var(--acao);outline-offset:-3px}
.bomb__abaNome{font-size:var(--t-auxiliar);font-weight:var(--p-forte);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.bomb__abaValor{font-size:var(--t-micro);color:var(--texto-fraco);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.bomb__aba[aria-selected=true] .bomb__abaValor{color:var(--inverso-texto);opacity:.75}
.bomb__abaValor--ligada{color:var(--n0)}.bomb__abaValor--alarme{color:var(--n3)}
.bomb__cab{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.bomb__quem{display:flex;flex-direction:column;gap:2px;min-width:0}.bomb__quem .c-sub{margin:0}
.bomb__nome{margin:0;font-size:var(--t-cartao);font-weight:var(--p-extra);line-height:1.2}
.bomb__valor{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:var(--recuo-cartao);border-radius:var(--canto-cartaoPequeno);background:var(--interno)}
.bomb__valorTexto{display:flex;flex-direction:column;gap:2px;min-width:0}.bomb__valorTexto .c-rotulo,.bomb__valorTexto .c-sub{margin:0}
.bomb__num{font-size:var(--t-titulo);font-weight:var(--p-extra);line-height:1.1}
.bomb__mais{display:flex;gap:8px;flex:none}
.bomb__passo{width:var(--h-botao);min-width:var(--h-botao);height:var(--h-botao);padding:0;font-size:28px;line-height:1}
.bomb__mais--dose .c-botao{min-width:0;padding-inline:14px}
.bomb__segs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.bomb__seg{display:flex;flex-direction:column;gap:6px}.bomb__seg .c-rotulo{margin:0}
.bomb__seg .pac__aba[aria-pressed=true]{background:var(--inverso);color:var(--inverso-texto)}
.bomb__seg .pac__aba:disabled{opacity:.45;cursor:default}
.bomb__bloco{display:flex;flex-direction:column;gap:8px;padding:var(--recuo-cartao);border-radius:var(--canto-cartaoPequeno);background:var(--interno)}
.bomb__bloco>.c-rotulo,.bomb__bloco>.c-sub{margin:0}
.bomb__blocoCab{display:flex;align-items:center;justify-content:space-between;gap:10px}.bomb__blocoCab .c-rotulo{margin:0}
.bomb__dif{margin:0}
.bomb__dados{display:flex;flex-direction:column}
.bomb__dado{display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 0;border-top:1px solid var(--separador)}
.bomb__dado:first-child{border-top:0;padding-top:0}
.bomb__dadoNome{font-size:var(--t-auxiliar);color:var(--texto-fraco);font-weight:var(--p-forte)}
.bomb__dadoValor{font-size:var(--t-corpo)}
.bomb__passos{display:flex;gap:6px}.bomb__passos .c-botao{min-width:52px;padding-inline:10px}
.bomb__avisos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.bomb__avisos li{display:flex;align-items:flex-start;gap:8px;font-size:var(--t-auxiliar);font-weight:var(--p-normal);line-height:1.3}
.bomb__avisos .c-selo{flex:none}
.bomb__acoes{display:flex;flex-wrap:wrap;gap:8px}
.bomb__resposta{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--t-auxiliar);font-weight:var(--p-normal)}
.bomb__tipos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.bomb__tipo{flex-direction:column;gap:0;min-height:56px;padding:6px 10px;white-space:normal}
.bomb__tipo small{font-size:var(--t-micro);font-weight:var(--p-normal);opacity:.8}
.bomb__regimes{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.bomb__regime{white-space:normal;text-align:left;justify-content:flex-start;min-height:52px;padding:8px 14px}
.bomb__checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.bomb__check{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-radius:12px;background:var(--cavidade);cursor:pointer}
.bomb__check span{display:flex;flex-direction:column;gap:1px;min-width:0}.bomb__check small{font-size:var(--t-micro);color:var(--texto-fraco);font-weight:var(--p-normal)}
.bomb__check .c-interruptor{flex:none;order:2}
@media (max-width:760px){.bomb__abas{grid-template-columns:repeat(3,minmax(0,1fr))}.bomb__tipos{grid-template-columns:1fr 1fr}.bomb__dado{grid-template-columns:70px minmax(0,1fr);grid-template-rows:auto auto}.bomb__passos{grid-column:1/-1}}
/* 19/10 (Rodrigo: textos encavalados nas situações): o Chrome media as linhas da grade pela altura mínima do item, não pelo texto; com
   max-content cada linha tem a altura do seu nome; sem barra de rolagem nativa, como as outras listas */
.inicio__lista{grid-auto-rows:max-content;scrollbar-width:none;mask-image:linear-gradient(#000 calc(100% - 16px),transparent)}
.inicio__lista::-webkit-scrollbar{display:none}
.inicio__lista .c-grupo__item{padding:6px 8px;line-height:1.25}

/* ---- 19/10 · transmissão para a TV (Ajustes) e o modo TV ---- */
.tvaj{display:flex;flex-direction:column;gap:10px}
.tvaj__liga{margin:0}
.tvaj__codigo{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.tvaj__codigo .c-rotulo{margin:0}
.tvaj__letras{font-size:34px;font-weight:var(--p-extra);letter-spacing:.08em;color:var(--realce)}
html.modo-tv #hud{display:none}
html.modo-tv body{cursor:none}
.tv{position:fixed;inset:0;z-index:30;color:var(--texto);font-family:var(--fonte)}
.tv[data-fase=parear]{display:grid;place-items:center;background:#0b1020}
.tv__parear{display:flex;flex-direction:column;gap:18px;width:min(900px,92vw);padding:4vh 4vw}
.tv__parear .c-rotulo{margin:0}
.tv__titulo{margin:0;font-size:clamp(28px,4vw,48px);font-weight:var(--p-extra);line-height:1.15}
.tv__codigo{display:flex;gap:12px}
.tv__letra{display:grid;place-items:center;width:clamp(56px,7vw,96px);height:clamp(72px,9vw,120px);border-radius:16px;background:var(--interno);font-size:clamp(36px,5vw,64px);font-weight:var(--p-extra);color:var(--realce)}
.tv__letra--cursor{box-shadow:inset 0 0 0 3px var(--acao)}
.tv__teclado{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
.tv__tecla{min-height:clamp(48px,6vw,72px);border:0;border-radius:14px;background:var(--neutro);color:var(--texto);font:inherit;font-size:clamp(22px,2.6vw,32px);font-weight:var(--p-forte);cursor:pointer}
.tv__tecla--larga{grid-column:span 2}.tv__tecla--ok{background:var(--acao);color:#fff}
.tv__tecla--foco,.tv__tecla:focus-visible{outline:4px solid #fff;outline-offset:2px}
.tv__recentes{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tv__recentes .c-rotulo{margin:0}
.tv[data-fase=aovivo]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;pointer-events:none}
.tv[data-fase=aovivo]>*{pointer-events:auto}
.tv__topo{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 24px;background:linear-gradient(rgba(5,8,16,.85),transparent)}
.tv__status{font-size:var(--t-auxiliar);font-weight:var(--p-forte);color:var(--texto-fraco)}.tv__status--ok{color:var(--n0)}
.tv__layouts{display:flex;gap:6px}
.tv__layout{min-height:40px;padding:0 14px;border:0;border-radius:999px;background:var(--vidro-denso);color:var(--texto);font:inherit;font-size:var(--t-auxiliar);font-weight:var(--p-forte);cursor:pointer}
.tv__layout[aria-selected=true]{background:var(--inverso);color:var(--inverso-texto)}
.tv__monitor{justify-self:end;align-self:center;width:min(46vw,calc((100vh - 220px) * 1.6));aspect-ratio:1024/640;margin-right:24px;border-radius:18px;overflow:hidden;background:#03070C;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.tv__monitor canvas{display:block;width:100%;height:100%}
.tv[data-layout=cena] .tv__monitor{display:none}
.tv[data-layout=monitor]{background:#0b1020}
.tv[data-layout=monitor] .tv__monitor{justify-self:center;width:min(92vw,calc((100vh - 220px) * 1.6))}
.tv__faixa{display:grid;grid-template-columns:minmax(0,1.4fr) auto minmax(0,1.2fr) minmax(0,1.4fr);gap:18px;align-items:center;padding:14px 24px 18px;background:linear-gradient(transparent,rgba(5,8,16,.92) 30%)}
.tv__bloco{display:flex;flex-direction:column;gap:2px;min-width:0}
.tv__bloco strong{font-size:clamp(18px,1.8vw,26px);font-weight:var(--p-extra);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tv__bloco span{font-size:clamp(14px,1.2vw,18px);color:var(--texto-fraco);font-weight:var(--p-forte)}
.tv__bloco--isdh{align-items:center;justify-content:center;min-width:120px;padding:8px 16px;border-radius:999px;background:var(--interno)}
.tv__bloco--isdh strong{font-size:clamp(28px,2.6vw,40px)}
.tv__bloco--isdh[data-nivel="0"] strong{color:var(--n0)}.tv__bloco--isdh[data-nivel="1"] strong{color:var(--n1)}.tv__bloco--isdh[data-nivel="2"] strong{color:var(--n2)}.tv__bloco--isdh[data-nivel="3"] strong{color:var(--n3)}
.tv__bloco--sinais{flex-direction:row;flex-wrap:wrap;gap:6px 16px}.tv__bloco--sinais span{font-size:clamp(16px,1.5vw,22px);color:var(--texto);font-weight:var(--p-extra);white-space:nowrap}
.tv__legenda{grid-column:1/-1;justify-self:center;padding:8px 18px;border-radius:12px;background:rgba(0,0,0,.65);font-size:clamp(18px,1.8vw,26px);font-weight:var(--p-forte)}
.tv__espera{position:absolute;inset:0;display:grid;place-content:center;gap:8px;text-align:center;background:rgba(5,8,16,.7)}
.tv__status{padding:6px 12px;border-radius:999px;background:rgba(5,8,16,.7)}
