@font-face{font-family:'Cormorant';src:url(fonts/cormorant-garamond-latin-500-normal.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Cormorant';src:url(fonts/cormorant-garamond-latin-600-normal.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Cormorant';src:url(fonts/cormorant-garamond-latin-500-italic.woff2) format('woff2');font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:'Inter';src:url(fonts/inter-latin-400-normal.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Inter';src:url(fonts/inter-latin-500-normal.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Inter';src:url(fonts/inter-latin-600-normal.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Inter';src:url(fonts/inter-latin-700-normal.woff2) format('woff2');font-weight:700;font-display:swap}

:root{
  --fundo:#f7f4f9; --cartao:#ffffff; --tinta:#251f2b; --suave:#6e6577; --linha:#e7e0ec; --linha-2:#d6cbdd;
  --lilas:#7d5f8f; --lilas-forte:#654a76; --lilas-claro:#efe8f3; --lilas-medio:#b9a3c6;
  --ouro:#a8915a; --ouro-claro:#faf6ec; --ok:#2f7d5b; --ok-claro:#e7f4ee; --erro:#b4434c; --erro-claro:#fbecee;
  --sombra:0 1px 2px rgba(40,20,50,.05),0 6px 20px rgba(40,20,50,.05);
  --raio:16px; --serif:'Cormorant',Georgia,serif; --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{--fundo:#16121a;--cartao:#211b26;--tinta:#efe9f3;--suave:#a89db1;--linha:#332a3a;--linha-2:#443950;
    --lilas:#b99ccb;--lilas-forte:#cdb5dc;--lilas-claro:#2c2333;--lilas-medio:#6e5480;--ouro-claro:#2a2519;--ok-claro:#16291f;--erro-claro:#2e1a1d;
    --sombra:0 1px 2px rgba(0,0,0,.3);color-scheme:dark}
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fundo);color:var(--tinta);font:15px/1.5 var(--sans);padding-bottom:calc(84px + env(safe-area-inset-bottom))}
a{color:var(--lilas)}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;margin:0 0 .4em}
h1{font-size:30px} h2{font-size:23px} h3{font-size:19px}
h1 em,h2 em{color:var(--lilas);font-weight:500}
.ic{width:22px;height:22px;flex:none}

/* topo */
.topo{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:color-mix(in srgb,var(--fundo) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--linha)}
.topo-marca{text-decoration:none;color:var(--tinta);margin-right:auto}
.topo-voltar{display:flex;color:var(--tinta);margin-left:-6px;padding:4px}
.marca-app{display:inline-flex;align-items:baseline;gap:5px}
.marca-app b{font-family:var(--serif);font-size:24px;font-weight:600;letter-spacing:.02em}
.marca-app i{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.2em;color:#fff;background:var(--lilas);padding:2px 6px 2px 7px;border-radius:20px;transform:translateY(-3px)}
.menu-pc{display:none;align-items:center;gap:4px}
.menu-pc a{text-decoration:none;color:var(--suave);padding:7px 12px;border-radius:10px;font-weight:500}
.menu-pc a.ativo{color:var(--tinta);background:var(--lilas-claro)}
.menu-pc a.botao{color:#fff}

main{max-width:760px;margin:0 auto;padding:18px 16px}

/* abas inferiores */
.abas{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;background:var(--cartao);border-top:1px solid var(--linha);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
.abas a{display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;color:var(--suave);font-size:11px;font-weight:500;padding:4px 0}
.abas a.ativo{color:var(--lilas)}
.abas .mais-botao{width:52px;height:52px;margin:-22px auto 0;border-radius:50%;background:linear-gradient(145deg,var(--lilas),var(--lilas-forte));color:#fff;justify-content:center;box-shadow:0 6px 16px rgba(101,74,118,.35)}
.abas .mais-botao .ic{width:26px;height:26px}
@media (min-width:860px){
  body{padding-bottom:30px}
  .abas{display:none}
  .menu-pc{display:flex}
  .topo{padding-left:max(16px,calc(50vw - 480px));padding-right:max(16px,calc(50vw - 480px))}
  main{max-width:960px}
}

/* blocos */
.cartao{background:var(--cartao);border:1px solid var(--linha);border-radius:var(--raio);padding:18px;box-shadow:var(--sombra);margin-bottom:14px}
.cartao>h2:first-child,.cartao>h3:first-child{margin-top:0}
.rotulo{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--suave)}
.sobretitulo{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--lilas);margin-bottom:4px}
.suave{color:var(--suave)} .pequeno{font-size:13px} .centro{text-align:center}
.linha-acoes{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.entre{display:flex;justify-content:space-between;align-items:center;gap:10px}
.grade-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grade-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media (max-width:520px){.grade-2.quebra{grid-template-columns:1fr}}

/* botões */
.botao{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:12px 18px;font:600 15px var(--sans);text-decoration:none;cursor:pointer;background:var(--lilas);color:#fff;transition:filter .15s,transform .1s}
.botao:active{transform:scale(.98)}
.botao:hover{filter:brightness(1.06)}
.botao.secundario{background:var(--lilas-claro);color:var(--lilas-forte)}
.botao.contorno{background:transparent;color:var(--tinta);border:1px solid var(--linha-2)}
.botao.perigo{background:var(--erro-claro);color:var(--erro)}
.botao.ok{background:var(--ok)}
.botao.pequeno{padding:8px 13px;font-size:14px;border-radius:10px}
.botao.pequeno .ic{width:18px;height:18px}
.botao.largo{width:100%}
.botao[disabled]{opacity:.5;pointer-events:none}
button.link{background:none;border:0;color:var(--lilas);font:inherit;cursor:pointer;padding:0;text-decoration:underline}

/* formulários */
.campo{display:block;margin-bottom:14px}
.campo>span{display:block;font-size:13px;font-weight:600;color:var(--suave);margin-bottom:5px}
.campo small{display:block;color:var(--suave);font-size:12.5px;margin-top:4px}
input,select,textarea{width:100%;font:16px var(--sans);color:var(--tinta);background:var(--cartao);border:1px solid var(--linha-2);border-radius:12px;padding:12px 13px;outline:none;transition:border-color .15s,box-shadow .15s}
textarea{resize:vertical;line-height:1.5}
input:focus,select:focus,textarea:focus{border-color:var(--lilas);box-shadow:0 0 0 3px color-mix(in srgb,var(--lilas) 18%,transparent)}
input[type=checkbox],input[type=radio]{width:20px;height:20px;accent-color:var(--lilas);margin:0;flex:none}
.check{display:flex;gap:10px;align-items:flex-start;margin:10px 0;cursor:pointer}
.check span{line-height:1.4}

.aviso{padding:12px 15px;border-radius:12px;margin-bottom:14px;font-weight:500;background:var(--ok-claro);color:var(--ok)}
.aviso.erro{background:var(--erro-claro);color:var(--erro)}
.aviso.info{background:var(--lilas-claro);color:var(--lilas-forte)}
.aviso.premium{background:var(--ouro-claro);color:#7a6532}

.selo-premium{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7a6532;background:var(--ouro-claro);border:1px solid #e3d6b0;padding:2px 7px;border-radius:20px;vertical-align:middle}
.etiqueta{display:inline-block;font-size:12px;font-weight:600;padding:3px 9px;border-radius:20px;background:var(--lilas-claro);color:var(--lilas-forte)}
.etiqueta.ok{background:var(--ok-claro);color:var(--ok)} .etiqueta.erro{background:var(--erro-claro);color:var(--erro)} .etiqueta.ouro{background:var(--ouro-claro);color:#7a6532}

/* listas */
.lista{list-style:none;margin:0;padding:0;background:var(--cartao);border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra);margin-bottom:14px}
.lista>li+li{border-top:1px solid var(--linha)}
.lista a.item,.lista .item{display:flex;align-items:center;gap:12px;padding:13px 16px;text-decoration:none;color:var(--tinta)}
.lista a.item:active{background:var(--lilas-claro)}
.item .tit{font-weight:600}
.item .sub{font-size:13px;color:var(--suave)}
.item .corpo{flex:1;min-width:0}
.item .corpo>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.item>.ic:last-child{color:var(--linha-2)}
.avatar{width:42px;height:42px;border-radius:50%;background:var(--lilas-claro);color:var(--lilas-forte);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:600;font-size:18px;flex:none}
.vazio{text-align:center;color:var(--suave);padding:28px 16px}

/* início */
.saudacao{margin:4px 0 18px}
.saudacao h1{margin:0}
.numeros{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.numeros div{background:var(--cartao);border:1px solid var(--linha);border-radius:14px;padding:12px 14px}
.numeros b{display:block;font-size:24px;font-weight:600;line-height:1.1;letter-spacing:-.02em}
.numeros span{font-size:12px;color:var(--suave)}
.secao-tit{display:flex;justify-content:space-between;align-items:baseline;margin:20px 2px 8px}
.secao-tit h2{font-size:20px;margin:0}
.secao-tit a{font-size:14px;text-decoration:none;font-weight:500}

/* busca */
.busca{position:relative;margin-bottom:14px}
.busca .ic{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--suave)}
.busca input{padding-left:42px}

/* paciente */
.ficha-topo{display:flex;gap:14px;align-items:center;margin-bottom:14px}
.ficha-topo .avatar{width:58px;height:58px;font-size:24px}
.ficha-topo h1{font-size:27px;margin:0}
.alertas{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 14px}
.alertas span{font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:20px;background:var(--erro-claro);color:var(--erro)}
.dados-lista{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:14px;margin:0}
.dados-lista dt{color:var(--suave)} .dados-lista dd{margin:0;font-weight:500}
.linha-tempo{position:relative;margin:0;padding:0 0 0 22px;list-style:none}
.linha-tempo::before{content:'';position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:var(--linha)}
.linha-tempo li{position:relative;margin-bottom:12px}
.linha-tempo li::before{content:'';position:absolute;left:-21px;top:18px;width:12px;height:12px;border-radius:50%;background:var(--cartao);border:2px solid var(--lilas)}
.linha-tempo .cartao{margin:0}
.doc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.doc-chips a{font-size:12.5px;text-decoration:none;padding:4px 10px;border-radius:20px;background:var(--lilas-claro);color:var(--lilas-forte);font-weight:500}

/* passo a passo (anamnese) */
.passos{position:sticky;top:57px;z-index:5;background:var(--fundo);padding:6px 0 10px;margin:-6px 0 6px}
.passos .barra{height:5px;border-radius:5px;background:var(--linha);overflow:hidden}
.passos .barra i{display:block;height:100%;background:linear-gradient(90deg,var(--lilas-medio),var(--lilas));transition:width .3s}
.passos .rot{display:flex;justify-content:space-between;font-size:12.5px;color:var(--suave);margin-top:6px}
.passo{display:none;animation:entra .25s ease}
.passo.ativo{display:block}
@keyframes entra{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.passo-nav{position:sticky;bottom:calc(76px + env(safe-area-inset-bottom));display:flex;gap:10px;padding:12px 0;background:linear-gradient(transparent,var(--fundo) 30%)}
.passo-nav .botao{flex:1}
@media (min-width:860px){.passo-nav{bottom:0}}
.pergunta{display:flex;flex-direction:column;gap:8px;padding:13px 0;border-bottom:1px solid var(--linha)}
.pergunta:last-child{border-bottom:0}
.pergunta .q{display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:500}
.sn{display:inline-flex;background:var(--lilas-claro);border-radius:10px;padding:3px;flex:none}
.sn label{position:relative}
.sn input{position:absolute;opacity:0;pointer-events:none}
.sn span{display:block;padding:6px 14px;border-radius:8px;font-size:14px;font-weight:600;color:var(--suave);cursor:pointer}
.sn input:checked+span{background:var(--cartao);color:var(--tinta);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.sn input[value=S]:checked+span{color:var(--erro)}
.pergunta .detalhe{display:none}
.pergunta.sim .detalhe{display:block}
.pergunta .detalhe input{padding:10px 12px}
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chips label{position:relative}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:block;padding:7px 13px;border-radius:20px;border:1px solid var(--linha-2);font-size:14px;cursor:pointer;user-select:none}
.chips input:checked+span{background:var(--lilas);border-color:var(--lilas);color:#fff}
.grupo{margin-bottom:16px}
.grupo>.rotulo{display:block;margin-bottom:8px}
.revisao dl{display:grid;grid-template-columns:1fr;gap:2px;margin:0 0 12px}
.revisao dt{font-size:12.5px;color:var(--suave)} .revisao dd{margin:0 0 6px;font-weight:500}

/* assinatura */
.assinatura-caixa{position:relative;background:#fff;border:1.5px dashed var(--linha-2);border-radius:14px;touch-action:none;overflow:hidden}
.assinatura-caixa canvas{display:block;width:100%;height:210px}
.assinatura-caixa .guia{position:absolute;left:24px;right:24px;bottom:46px;border-top:1px solid #d9d0df;pointer-events:none}
.assinatura-caixa .dica{position:absolute;left:0;right:0;bottom:14px;text-align:center;font-size:12.5px;color:#9a8fa3;pointer-events:none}
.assinatura-caixa.feita .dica{display:none}
.assinatura-acoes{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
.assinatura-salva{background:#fff;border:1px solid var(--linha);border-radius:12px;padding:10px;text-align:center}
.assinatura-salva img{max-height:90px;max-width:100%}

/* leitura do documento antes de assinar */
.leitura{background:var(--cartao);border:1px solid var(--linha);border-radius:var(--raio);padding:20px;max-height:52vh;overflow:auto;font-size:14.5px}
.leitura h3{color:var(--lilas);font-size:18px;margin:16px 0 4px}
.leitura h3:first-child{margin-top:0}
.leitura p{margin:0 0 10px}
.leitura .destaque{border-left:3px solid var(--ouro);background:var(--ouro-claro);padding:8px 12px;border-radius:0 8px 8px 0;margin:10px 0}

/* mapa da face */
.mapa-wrap{display:grid;grid-template-columns:1fr;gap:14px}
@media (min-width:760px){.mapa-wrap{grid-template-columns:1fr 1fr}}
.mapa-svg{width:100%;max-width:380px;margin:0 auto;display:block;touch-action:manipulation}
.mapa-svg .ponto{cursor:pointer}
.mapa-svg .ponto circle.alvo{fill:var(--cartao);stroke:var(--lilas-medio);stroke-width:1.6;transition:all .15s}
.mapa-svg .ponto.tem circle.alvo{fill:var(--lilas);stroke:var(--lilas-forte)}
.mapa-svg .ponto text{font:700 9px var(--sans);fill:#fff;pointer-events:none;text-anchor:middle;dominant-baseline:central}
.mapa-svg .ponto.sel circle.alvo{stroke:var(--ouro);stroke-width:3}
.tabela-mapa{width:100%;border-collapse:collapse;font-size:14px}
.tabela-mapa th{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--suave);text-align:left;font-weight:600;padding:6px 4px;border-bottom:1px solid var(--linha)}
.tabela-mapa td{padding:5px 4px;border-bottom:1px solid var(--linha)}
.tabela-mapa tr.sel td{background:var(--lilas-claro)}
.tabela-mapa input{width:64px;padding:6px 8px;text-align:center;font-size:15px;border-radius:8px}
.tabela-mapa tfoot td{font-weight:700;border-bottom:0;padding-top:10px}
.stepper{display:inline-flex;align-items:center;gap:4px}
.stepper button{width:32px;height:32px;border-radius:8px;border:1px solid var(--linha-2);background:var(--cartao);color:var(--tinta);font-size:18px;line-height:1;cursor:pointer}

/* fotos */
.fotos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.fotos figure{margin:0;position:relative;border-radius:12px;overflow:hidden;aspect-ratio:3/4;background:var(--lilas-claro)}
.fotos img{width:100%;height:100%;object-fit:cover;display:block}
.fotos figcaption{position:absolute;left:6px;top:6px;font-size:11px;font-weight:700;background:rgba(0,0,0,.55);color:#fff;padding:2px 7px;border-radius:10px;text-transform:uppercase;letter-spacing:.06em}
.fotos .add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1.5px dashed var(--linha-2);background:transparent;color:var(--suave);font-size:13px;cursor:pointer;border-radius:12px;aspect-ratio:3/4}
.comparar{display:grid;grid-template-columns:1fr 1fr;gap:6px;border-radius:14px;overflow:hidden}
.comparar figure{margin:0;position:relative}
.comparar img{width:100%;display:block;aspect-ratio:3/4;object-fit:cover}
.comparar figcaption{position:absolute;bottom:8px;left:8px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;font-weight:600;padding:3px 9px;border-radius:12px}

/* documentos a gerar */
.docs-grade{display:grid;grid-template-columns:1fr;gap:8px}
@media (min-width:600px){.docs-grade{grid-template-columns:1fr 1fr}}
.doc-acao{display:flex;gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--linha);border-radius:14px;background:var(--cartao);text-decoration:none;color:var(--tinta)}
.doc-acao .ic{color:var(--lilas)}
.doc-acao .corpo{flex:1}
.doc-acao .tit{font-weight:600;font-size:14.5px}
.doc-acao .sub{font-size:12.5px;color:var(--suave)}
.doc-acao.feito{background:var(--ok-claro);border-color:transparent}
.doc-acao.feito .ic{color:var(--ok)}

/* entrar / cadastro */
.tela-entrada{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;max-width:420px;margin:0 auto;padding:30px 20px}
.tela-entrada .marca-grande{text-align:center;margin-bottom:26px}
.tela-entrada .marca-grande .marca-app b{font-size:46px}
.tela-entrada .marca-grande .marca-app i{font-size:12px;transform:translateY(-8px)}
.tela-entrada .marca-grande p{color:var(--suave);margin:6px 0 0}
body.entrada{padding-bottom:0}
body.entrada .topo{display:none}

/* tabela admin */
.tabela{width:100%;border-collapse:collapse;font-size:14px}
.tabela th{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--suave);text-align:left;padding:8px;border-bottom:1px solid var(--linha)}
.tabela td{padding:10px 8px;border-bottom:1px solid var(--linha);vertical-align:top}
.rolar{overflow-x:auto}

/* folha inferior (bottom sheet) */
.folha-fundo{position:fixed;inset:0;background:rgba(20,10,25,.4);z-index:50;display:none}
.folha{position:fixed;left:0;right:0;bottom:0;z-index:51;background:var(--cartao);border-radius:22px 22px 0 0;padding:10px 18px calc(20px + env(safe-area-inset-bottom));transform:translateY(105%);transition:transform .25s ease;max-width:560px;margin:0 auto}
.folha::before{content:'';display:block;width:42px;height:5px;border-radius:5px;background:var(--linha-2);margin:0 auto 14px}
.folha.aberta{transform:none}
.folha.aberta+.folha-fundo,.folha-fundo.aberto{display:block}

details.sanfona{background:var(--cartao);border:1px solid var(--linha);border-radius:var(--raio);margin-bottom:10px}
details.sanfona summary{padding:14px 16px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between}
details.sanfona summary::after{content:'+';color:var(--suave);font-size:20px;line-height:1}
details.sanfona[open] summary::after{content:'–'}
details.sanfona .dentro{padding:0 16px 16px}

.planos{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:640px){.planos{grid-template-columns:1fr 1fr}}
.plano{border:1px solid var(--linha);border-radius:var(--raio);padding:18px;background:var(--cartao)}
.plano.destaque{border:2px solid var(--ouro);background:linear-gradient(180deg,var(--ouro-claro),var(--cartao) 60%)}
.plano ul{padding-left:0;list-style:none;margin:10px 0 0}
.plano li{padding:5px 0 5px 24px;position:relative;font-size:14px}
.plano li::before{content:'✓';position:absolute;left:2px;color:var(--ok);font-weight:700}
.plano li.nao::before{content:'–';color:var(--suave)}
.plano .preco{font-family:var(--serif);font-size:32px;font-weight:600}
.sn.neutro input[value=S]:checked+span{color:var(--tinta)}
.grade-2>*,.grade-3>*{min-width:0}
input[type=date]{min-width:0;-webkit-appearance:none;appearance:none;min-height:48px}

.fotos figure form{position:absolute;right:5px;top:5px;margin:0}
.fotos figure form button{width:26px;height:26px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;font-size:15px;line-height:1;cursor:pointer}

/* ---------- tablet e computador ---------- */
@media (hover:hover){
  .lista a.item:hover,.doc-acao:hover{background:var(--lilas-claro)}
  .botao.contorno:hover{background:var(--lilas-claro)}
}
@media (min-width:700px){
  .assinatura-caixa canvas{height:260px}
  .leitura{font-size:15.5px;padding:24px 28px}
  .duas-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
  .duas-col .secao-tit{margin-top:4px}
  form.passo-a-passo,.passos,.passo-a-passo+*{max-width:720px;margin-left:auto;margin-right:auto}
  .fotos{grid-template-columns:repeat(4,1fr)}
}
@media (min-width:1000px){
  main{max-width:1180px}
  .numeros{grid-template-columns:repeat(3,minmax(0,220px))}
  .ficha-grade{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
  .ficha-lado{position:sticky;top:76px}
  .ficha-lado .linha-acoes{margin-top:44px!important}
  .at-grade:has(#bloco-mapa:not([hidden])){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px;align-items:start}
  .at-grade:has(#bloco-mapa:not([hidden])) .at-mapa{position:sticky;top:76px}
  .at-grade:has(#bloco-mapa:not([hidden])) .mapa-wrap{grid-template-columns:1fr 1fr}
  .doc-grade:has(.doc-assinar .assinatura-caixa){display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px;align-items:start}
  .doc-grade:has(.doc-assinar .assinatura-caixa) .leitura{max-height:calc(100vh - 230px)}
  .doc-grade:has(.doc-assinar .assinatura-caixa) .doc-assinar{position:sticky;top:76px}
  .doc-grade .doc-assinar>.cartao:first-child{margin-top:0!important}
  .docs-grade{grid-template-columns:1fr 1fr 1fr}
  .lista-larga{columns:2;column-gap:14px}
}

/* ---------- modo paciente: tela limpa para entregar o tablet/celular ---------- */
.modo-pac-bt{display:block;margin:14px auto 0}
body.modo-paciente .topo,body.modo-paciente .abas,body.modo-paciente .aviso.info,body.modo-paciente main>.sobretitulo{display:none}
body.modo-paciente{padding-bottom:20px}
body.modo-paciente .modo-pac-bt{position:fixed;top:calc(8px + env(safe-area-inset-top));right:10px;z-index:40;margin:0;background:var(--cartao)}
body.modo-paciente main{padding-top:calc(54px + env(safe-area-inset-top))}
@media (min-width:1000px){.topo{padding-left:max(16px,calc(50vw - 574px));padding-right:max(16px,calc(50vw - 574px))}}
