/* Preços da clínica · Clinello (adaptado do protótipo 13/10/2026). Prefixo tpr- (tabela de preços).
   Reaproveita o que já existe no app: .cx-card/.cx-topo (Conexões), .pz-* (Preparar a Bruna), .aj-* (Ajustes),
   .modal-bg/.modal (janelas), .ajq/.d2-tip (o "?"), .btn-save/.btn-ghost. Só tokens de marca.css.
   Campo: cinza (--nevoa) sobre cartão branco; dentro de bloco cinza o bloco define --campo: var(--cartao). */
[hidden]{display:none!important}
.tpr{display:flex;flex-direction:column;gap:16px;min-width:0}
.tpr .btn-save,.tpr .btn-ghost,.tpr-camada .btn-save,.tpr-camada .btn-ghost{font-size:14px;min-height:44px;padding:0 18px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}
.tpr .btn-ghost .ic,.tpr-camada .btn-ghost .ic{width:18px;height:18px}


/* ---------- as duas partes de Preços, à vista: Procedimentos | Custos que entram junto ---------- */
.tpr-partes{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:18px;background:var(--cartao)}
.tpr-parte{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:6px 16px;border:0;border-radius:14px;background:none;font:600 15px/1.25 var(--fonte);color:var(--tx-2);cursor:pointer;text-align:center}
.tpr-parte:hover{background:var(--nevoa);color:var(--tinta)}
.tpr-parte.on{background:var(--tinta);color:var(--papel)}
.tpr-parte small{font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--tx-4)}
.tpr-parte.on small{color:var(--papel);opacity:.7}

/* ---------- as tabelas da clínica (abas com nome livre) ---------- */
.tpr-rot{display:flex;align-items:center;gap:2px;margin:4px 0 -8px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-3)}
.tpr-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:4px;margin:0;border-radius:16px;background:var(--cartao)}
.tpr-tab{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:12px;border:0;background:none;color:var(--tx-2);font:500 14px/1 var(--fonte);white-space:nowrap;cursor:pointer;flex:none}
.tpr-tab:hover{background:var(--nevoa);color:var(--tinta)}
.tpr-tab.on{background:var(--nevoa);color:var(--tinta);font-weight:600}
.tpr-tab .falta{width:7px;height:7px;border-radius:50%;background:var(--atencao);flex:none}
.tpr-tab .pend{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--tinta);flex:none}
.tpr-tab.on .pend{color:var(--tinta)}
.tpr-tab.nova{color:var(--tx-3);gap:6px}
.tpr-tab.nova .ic{width:16px;height:16px}

/* ---------- cabeçalho da tabela aberta + ações à vista ---------- */
.tpr-cab{display:flex;flex-direction:column;gap:10px}
.tpr-cab h3{margin:0;font-size:22px;font-weight:600;letter-spacing:-.03em;line-height:1.2;min-width:0;overflow-wrap:anywhere}
.tpr-somam{display:flex;flex-wrap:wrap;gap:0 24px}
.tpr-nw{white-space:nowrap}
.tpr-somam .aj-linha-cheque.mud::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--tinta);margin-left:2px}
.tpr-moeda-curta{max-width:220px}
.tpr-quem-linha{display:flex;align-items:center;flex-wrap:wrap;gap:2px 12px;font-size:14px;line-height:1.5;color:var(--tx-2)}
.tpr-quem-linha b{color:var(--tinta);font-weight:600}
.tpr-acoes{display:flex;gap:8px;flex-wrap:wrap}
.tpr-acoes .btn-ghost{min-height:40px;padding:0 14px;border-radius:12px;font-size:13.5px}
.tpr-acoes .tpr-apagar{color:var(--erro)!important}
.tpr-add-grp{display:flex}
.so-mob{display:none}

/* ---------- barra de busca, filtro por tipo e adicionar ---------- */
.tpr-ferr{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding-top:16px;border-top:1px solid var(--linha)}
.tpr-busca{position:relative;flex:1 1 200px;min-width:0}
.tpr-busca > .ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--tx-4);pointer-events:none}
.tpr-busca .pz-inp{padding-left:42px}
.tpr-ferr .btn-ghost{flex:none}
.tpr-ferr.primeiro{padding-top:0;border-top:0}
.tpr-tipos{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-top:2px}
.tpr-tipos::-webkit-scrollbar{display:none}
.tpr-tipo{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 13px;border-radius:999px;border:1.5px solid var(--linha);background:none;font:500 13px/1 var(--fonte);color:var(--tx-2);cursor:pointer;white-space:nowrap;flex:none}
.tpr-tipo:hover{border-color:var(--tx-4);color:var(--tinta)}
.tpr-tipo.on{background:var(--tinta);border-color:var(--tinta);color:var(--papel)}
.tpr-tipo small{font-size:11.5px;font-weight:600;color:var(--tx-4)}
.tpr-tipo.on small{color:var(--papel);opacity:.75}

/* ---------- aviso "faltam preços" (âmbar só porque alguém precisa agir) ---------- */
.tpr-aviso{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px 12px 16px;border-radius:16px;background:var(--atencao-claro);font-size:14px;line-height:1.45;color:var(--tx-2)}
.tpr-aviso > .ic{color:var(--atencao);width:20px;height:20px}
.tpr-aviso .t{flex:1 1 260px;min-width:0}
.tpr-aviso .t b{color:var(--tinta);font-weight:600}
.tpr-aviso .btn-ghost{min-height:40px;padding:0 14px;border-radius:12px;font-size:13.5px}
.tpr-quieto{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13.5px;color:var(--tx-3);padding:2px 0}
.tpr-lnk{background:none;border:0;padding:0;min-height:36px;font:500 13.5px/1.2 var(--fonte);color:var(--tx-2);cursor:pointer;text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;gap:6px}
.tpr-lnk:hover{color:var(--tinta)}
.tpr-lnk .ic{width:16px;height:16px}

/* ---------- a lista (nome · De · Por) ---------- */
.tpr-lista{display:flex;flex-direction:column}
.tpr-cols,.tpr-linha{display:grid;grid-template-columns:minmax(0,1fr) 150px 172px;gap:12px;align-items:center}
.tpr-cols{padding:6px 12px 8px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-4)}
.tpr-cols-c,.tpr-linha-c{grid-template-columns:minmax(0,1fr) 172px}
.tpr-cols span:nth-child(n+2){text-align:right;display:flex;align-items:center;justify-content:flex-end;gap:2px}
.tpr-grupo{display:flex;align-items:baseline;gap:8px;padding:18px 12px 8px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-3)}
.tpr-grupo small{font-weight:600;color:var(--tx-4);letter-spacing:0}
.tpr-linha{padding:8px 12px;border-top:1px solid var(--linha);border-radius:0;min-height:60px;transition:background .2s ease}
.tpr-grupo + .tpr-linha{border-top-color:transparent}
.tpr-linha.mud{background:var(--nevoa);border-radius:14px;border-top-color:transparent;--campo:var(--cartao)}
.tpr-linha.mud + .tpr-linha{border-top-color:transparent}
.tpr-linha.mud + .tpr-linha.mud{margin-top:4px}
.tpr-linha.salvo{background:var(--ok-claro);border-radius:14px;border-top-color:transparent;--campo:var(--cartao)}
.tpr-linha.inativo .tpr-nome b{color:var(--tx-3)}
.tpr-nome{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;background:none;border:0;padding:4px 0;text-align:left;cursor:pointer;font:inherit;color:var(--tinta)}
.tpr-nome b{display:inline-flex;align-items:center;gap:6px;font-size:14.5px;font-weight:600;letter-spacing:-.01em;line-height:1.3;max-width:100%}
.tpr-nome b span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.tpr-nome b .ic{width:14px;height:14px;color:var(--tx-4);flex:none;transition:transform .15s ease}
.tpr-nome:hover b span{text-decoration:underline;text-underline-offset:3px}
.tpr-nome:hover b .ic{transform:translateX(2px);color:var(--tinta)}
.tpr-nome small{font-size:12.5px;color:var(--tx-3);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.tpr-linha.mud .tpr-nome b::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--tinta);flex:none}
.tpr-linha.salvo .tpr-nome b::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok);flex:none}
.tpr-de,.tpr-por{display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:0}
.tpr-por .pz-moeda{width:100%;min-height:44px}
.tpr-por .pz-moeda input,.tpr-de .pz-moeda input{text-align:right;font-variant-numeric:tabular-nums;min-height:40px}
.tpr-por .pz-moeda input{font-weight:600}
.tpr-por .pz-moeda input::placeholder{font-weight:500;color:var(--tx-4)}
.tpr-de .pz-moeda{width:100%;min-height:40px;padding:0 12px}
.tpr-de .pz-moeda span,.tpr-de .pz-moeda input{font-size:13.5px;color:var(--tx-3)}
.tpr-de .pz-moeda input:not(:focus){text-decoration:line-through;text-decoration-color:var(--tx-4)}
.tpr-addde{background:none;border:0;padding:0 2px;min-height:40px;font:500 13px/1 var(--fonte);color:var(--tx-3);cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.tpr-addde:hover{color:var(--tinta);text-decoration:underline;text-underline-offset:3px}
.tpr-era{font-size:12px;color:var(--tx-3);display:flex;gap:6px;align-items:center;white-space:nowrap}
.tpr-era button{background:none;border:0;padding:0;font:500 12px/1 var(--fonte);color:var(--tx-2);text-decoration:underline;text-underline-offset:2px;cursor:pointer;min-height:24px}
.tpr-era.ok{color:var(--ok);font-weight:600}

/* busca sem resultado e lista vazia */
.tpr-vazio{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:32px 16px}
.tpr-vazio .ic-g{width:48px;height:48px;border-radius:16px;background:var(--nevoa);display:grid;place-items:center;color:var(--tx-2)}
.tpr-vazio b{font-size:16px;font-weight:600;letter-spacing:-.02em}
.tpr-vazio p{margin:0;font-size:14px;line-height:1.5;color:var(--tx-3);max-width:46ch}
.tpr-vazio .bts{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:6px}

/* ---------- barra de salvar (flutua: tem sombra) ---------- */
.tpr-barra{position:sticky;bottom:16px;z-index:40;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 18px;border-radius:18px;background:var(--tinta);color:var(--papel);box-shadow:var(--sombra-flutua);animation:tprsobe .22s ease both}
.tpr-barra .t{flex:1;min-width:0;font-size:14.5px;font-weight:600;font-variant-numeric:tabular-nums}
.tpr-barra .t small{display:block;font-size:12.5px;font-weight:500;opacity:.7}
.tpr-barra .tpr-desf{background:none;border:0;color:var(--papel);font:600 14px/1 var(--fonte);min-height:44px;padding:0 14px;border-radius:12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;opacity:.85}
.tpr-barra .tpr-desf:hover{opacity:1;background:color-mix(in srgb,var(--papel) 12%,transparent)}
.tpr-barra .tpr-salvar{min-height:44px;padding:0 22px;border:0;border-radius:12px;background:var(--papel);color:var(--tinta);font:600 14px/1 var(--fonte);cursor:pointer}
.tpr-barra .tpr-salvar:hover{opacity:.92}
.tpr-barra .tpr-salvar[disabled]{opacity:.6;cursor:default}
.tpr-barra.erro{background:var(--erro);color:var(--cartao)}
.tpr-barra.erro .tpr-desf{color:var(--cartao)}
.tpr-barra.erro .tpr-salvar{background:var(--cartao);color:var(--erro);display:inline-flex;align-items:center;gap:6px}
@keyframes tprsobe{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}


/* ---------- clínica nova: o passo a passo ---------- */
.tpr-comeco{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
.tpr-comeco h3{margin:0 0 6px;font-size:22px;font-weight:600;letter-spacing:-.03em;line-height:1.2}
.tpr-comeco > div > p{margin:0 0 18px;font-size:15px;line-height:1.55;color:var(--tx-3);max-width:44ch}
.tpr-comeco .bts{display:flex;gap:8px;flex-wrap:wrap}
.tpr-passos{list-style:none;margin:0;padding:18px;display:flex;flex-direction:column;gap:4px;background:var(--nevoa);border-radius:18px;counter-reset:passo}
.tpr-passos li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;padding:10px 4px;counter-increment:passo}
.tpr-passos li::before{content:counter(passo);width:32px;height:32px;border-radius:50%;background:var(--cartao);display:grid;place-items:center;font-size:14px;font-weight:600;color:var(--tinta)}
.tpr-passos b{display:block;font-size:14.5px;font-weight:600;margin-top:6px}
.tpr-passos small{display:block;font-size:13px;color:var(--tx-3);line-height:1.45;margin-top:2px}

/* ---------- carregando e erro ---------- */
.tpr-esq{display:flex;flex-direction:column;gap:10px}
.tpr-esq i{display:block;height:16px;border-radius:8px;background:var(--nevoa);animation:tprpulsa 1.2s ease-in-out infinite}
.tpr-esq i.g{height:44px;border-radius:14px}
.tpr-esq i.l{height:52px;border-radius:12px}
@keyframes tprpulsa{0%,100%{opacity:1}50%{opacity:.45}}
@media (prefers-reduced-motion:reduce){.tpr-esq i,.tpr-barra{animation:none}}

/* ---------- gaveta do procedimento (abre por cima da lista) ---------- */
.modal-bg.tpr-gav-bg{justify-content:flex-end;align-items:stretch;padding:12px}
.tpr-gav{position:relative;width:min(580px,100%);max-height:100%;overflow:auto;background:var(--cartao);border-radius:24px;box-shadow:var(--sombra-flutua);display:flex;flex-direction:column;animation:tprgav .22s ease both}
@keyframes tprgav{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
.tpr-gav-cab{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;gap:12px;padding:22px 24px 14px;background:var(--cartao)}
.tpr-gav-cab .t{flex:1;min-width:0}
.tpr-gav-cab small{display:block;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-4);margin-bottom:4px}
.tpr-gav-cab h3{margin:0;font-size:22px;font-weight:600;letter-spacing:-.03em;line-height:1.2;overflow-wrap:anywhere}
.tpr-x{width:44px;height:44px;border-radius:12px;border:0;background:var(--nevoa);color:var(--tinta);display:grid;place-items:center;cursor:pointer;flex:none}
.tpr-x:hover{background:var(--hover)}
.tpr-gav-corpo{padding:0 24px 8px}
.tpr-gav .pz-campo{padding:16px 0}
.tpr-gav .pz-campo:first-child{border-top:0;padding-top:4px}
.tpr-gav-pe{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 24px 18px;background:var(--cartao);border-top:1px solid var(--linha)}
.tpr-gav-pe .aj-excluir{margin-left:auto}

/* formas de cobrar (lista da clínica): etiquetas para escolher uma */
.tpr-formas{display:flex;flex-wrap:wrap;gap:8px}
.tpr-forma{min-height:44px;padding:0 16px;border-radius:13px;border:1.5px solid transparent;background:var(--nevoa);font:500 14px/1 var(--fonte);color:var(--tx-2);cursor:pointer}
.tpr-forma:hover{border-color:var(--tx-4);color:var(--tinta)}
.tpr-forma.on{background:var(--tinta);color:var(--papel);font-weight:600}
.tpr-formas-acoes{display:flex;gap:16px;flex-wrap:wrap;margin-top:4px}
.tpr-sub .pz-mini,.tpr-camada .pz-mini{display:block;font-size:13px;font-weight:500;color:var(--tx-3);margin-bottom:6px}
.aj-excluir{display:inline-flex;align-items:center;gap:6px}
.aj-excluir .ic{width:18px;height:18px}
/* o campo já ganha borda tinta no foco: sem a moldura extra do marca.css (senão fica dupla) */
.tpr .pz-inp:focus-visible,.tpr-camada .pz-inp:focus-visible,.tpr .pz-moeda input:focus-visible,.tpr-camada .pz-moeda input:focus-visible{outline:none!important}
.tpr-formas .pz-op{align-items:center}
.tpr-formas .pz-op > span:nth-child(2){flex:1;min-width:0}
.tpr-sub{background:var(--nevoa);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:12px;margin-top:10px;--campo:var(--cartao)}
.tpr-sub .pz-op,.tpr-sub .pz-tags span{background:var(--cartao)}
.tpr-sub-cab{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600}
.tpr-sub .bts{display:flex;gap:8px;flex-wrap:wrap}
.tpr-sub .bts .btn-save,.tpr-sub .bts .btn-ghost{min-height:40px;padding:0 16px;border-radius:12px}
.tpr-exemplo{font-size:13px;color:var(--tx-3);line-height:1.5}
.tpr-exemplo b{color:var(--tinta);font-weight:600;font-variant-numeric:tabular-nums}

/* o que entra junto: busca + etiquetas */
.tpr-junto{position:relative}
.tpr-junto .pz-tags span{height:36px;padding:0 6px 0 12px;gap:6px}
.tpr-junto .pz-tags span em{font-style:normal;color:var(--tx-3);font-variant-numeric:tabular-nums}
.tpr-junto .pz-tags span button{width:28px;height:28px}
.tpr-junto-busca{position:relative;margin-top:10px}
.tpr-junto-busca > .ic{position:absolute;left:14px;top:14px;width:18px;height:18px;color:var(--tx-4);pointer-events:none}
.tpr-junto-busca .pz-inp{padding-left:42px}
.tpr-sug{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:5;background:var(--cartao);border-radius:16px;box-shadow:var(--sombra-flutua);padding:6px;display:flex;flex-direction:column;max-height:300px;overflow:auto}
/* dentro da gaveta a lista empurra o conteúdo (nunca cobre o Salvar) */
.tpr-gav .tpr-sug{position:static;margin-top:6px;box-shadow:none;border:1px solid var(--linha);max-height:none}
.tpr-sug button{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border:0;border-radius:12px;background:none;font:500 14px/1.2 var(--fonte);color:var(--tinta);text-align:left;cursor:pointer}
.tpr-sug button:hover,.tpr-sug button:focus-visible{background:var(--nevoa)}
.tpr-sug button span{flex:1;min-width:0}
.tpr-sug button em{font-style:normal;color:var(--tx-3);font-variant-numeric:tabular-nums}
.tpr-sug button.criar{color:var(--tx-2);border-top:1px solid var(--linha);border-radius:0 0 12px 12px}
.tpr-sug button .ic{width:18px;height:18px;color:var(--tx-3)}

/* preços deste procedimento em todas as tabelas */
.tpr-todas{display:flex;flex-direction:column;gap:0;background:var(--nevoa);border-radius:16px;padding:6px 16px;--campo:var(--cartao)}
.tpr-todas-l{display:grid;grid-template-columns:minmax(0,1fr) 120px 150px;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--linha)}
.tpr-todas-l:first-child{border-top:0}
.tpr-todas-l > b{font-size:14px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tpr-todas-l > b small{display:block;font-size:12px;font-weight:500;color:var(--tx-3);white-space:normal}
.tpr-todas .tpr-de,.tpr-todas .tpr-por{align-items:stretch}
.tpr-todas .tpr-addde{justify-content:flex-end}
.tpr-calc{font-size:13.5px;color:var(--tx-3);line-height:1.5;margin-top:10px}
.tpr-calc b{color:var(--tinta);font-weight:600;font-variant-numeric:tabular-nums}
/* (21/10) Na conversa: o que a assistente sabe para falar do procedimento (Preços é o único lugar dele) */
.tpr-conv{margin-top:8px;padding-top:20px;border-top:1px solid var(--linha)}
.tpr-conv-cab h4{margin:0;font-size:17px;font-weight:600;letter-spacing:-.02em;color:var(--tinta)}
.tpr-conv-cab p{margin:4px 0 0;font-size:13.5px;line-height:1.5;color:var(--tx-3)}
.tpr-gav textarea.tpr-cv-como{height:auto;min-height:132px;padding:12px 14px;line-height:1.5;resize:vertical}
.tpr-regras{display:flex;flex-direction:column;gap:6px}
.tpr-regra{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:8px;align-items:center;padding:6px 6px 6px 14px;border-radius:12px;background:var(--nevoa);font-size:14px;line-height:1.45;color:var(--tinta)}
.tpr-regras + .tpr-junto-busca{margin-top:10px}
.tpr-campo-c > .tpr-junto-busca:first-child{margin-top:0}
.tpr-rm{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:10px;background:none;color:var(--tx-3);cursor:pointer}
.tpr-rm:hover{background:var(--hover);color:var(--tinta)}
.tpr-rsl{display:flex;flex-direction:column;gap:10px}
.tpr-rs{display:grid;grid-template-columns:84px minmax(0,1fr) 36px;gap:12px;align-items:start;padding:10px;border-radius:16px;background:var(--nevoa);--campo:var(--cartao)}
.tpr-rs-mid{width:84px;aspect-ratio:9/16;border-radius:10px;overflow:hidden;background:var(--linha);display:grid;place-items:center;font-size:12px;text-align:center}
.tpr-rs-mid img,.tpr-rs-mid video{width:100%;height:100%;object-fit:cover;display:block}
.tpr-rs-c{display:flex;flex-direction:column;gap:8px;min-width:0}
.tpr-rs .tpr-formas{gap:6px}
.tpr-rs .tpr-forma{background:var(--cartao);min-height:38px;padding:0 12px;font-size:13.5px}
.tpr-rs .tpr-forma.on{background:var(--tinta)}
.tpr-rs-add{margin-top:10px}

/* ---------- janelas (nova tabela, reajustar, copiar, apagar, renomear, colar) ---------- */
.tpr-camada .modal{background:var(--cartao);border:0;border-radius:24px;padding:26px 26px 22px;width:min(560px,100%);box-shadow:var(--sombra-flutua)}
.tpr-camada .modal.largo{width:min(760px,100%)}
.tpr-camada .modal-t{font-size:20px;font-weight:600;letter-spacing:-.03em;margin:0 52px 6px 0;line-height:1.25}
.tpr-camada .modal-x{top:16px;right:16px;width:44px;height:44px;border-radius:12px;background:var(--nevoa);color:var(--tinta);border:0;cursor:pointer}
.tpr-camada .modal-x:hover{background:var(--hover)}
.tpr-mod-sub{margin:0 0 6px;font-size:14px;line-height:1.5;color:var(--tx-3)}
.tpr-mod-pe{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}
.tpr-camada .modal .tpr-mod-pe{position:sticky;bottom:-22px;z-index:3;margin:18px -26px -22px;padding:14px 26px 20px;background:var(--cartao);border-top:1px solid var(--linha)}
.modal-t + .tpr-mod-sub{margin-right:52px}
.tpr-campo-c{margin-top:10px}
.tpr-cheques{margin-top:8px}
.tpr-camada .pz-campo > .aj-linha-cheque{font-weight:500;font-size:14px}
.tpr-previa-l s{text-decoration-color:var(--tx-4)}
.tpr-mod-pe .btn-save{min-width:140px}
.tpr-perigo{background:var(--erro)!important;color:var(--cartao)!important}
.tpr-ajuste{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.tpr-ajuste .dseg{display:inline-flex;gap:4px;padding:4px;border-radius:14px;background:var(--campo,var(--nevoa))!important;margin:0}
.tpr-ajuste .dpill{min-height:38px;height:38px;border:0;padding:0 14px;border-radius:10px!important;background:none}
.tpr-ajuste .dpill.on{background:var(--tinta)!important;color:var(--papel)!important}
.tpr-ajuste .pz-moeda{width:120px;flex:none}
.tpr-ajuste .pz-moeda input{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.tpr-previa{display:flex;flex-direction:column;margin-top:4px}
.tpr-previa-l{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px 0;border-top:1px solid var(--linha);font-size:14px}
.tpr-previa-l:first-child{border-top:0}
.tpr-previa-l span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tx-2)}
.tpr-previa-l b{font-weight:500;font-variant-numeric:tabular-nums;color:var(--tx-3);white-space:nowrap}
.tpr-previa-l b strong{color:var(--tinta);font-weight:600}
.tpr-previa-mais{font-size:13px;color:var(--tx-3);padding-top:8px}
.tpr-camada .pz-campo{padding:14px 0}
.tpr-camada .pz-campo:first-of-type{border-top:0}
.tpr-camada select.pz-inp{appearance:none;background-image:none;cursor:pointer}
.tpr-sel{position:relative}
.tpr-sel .ic{position:absolute;right:14px;top:50%;transform:translateY(-50%) rotate(90deg);width:16px;height:16px;color:var(--tx-3);pointer-events:none}
.tpr-colar textarea.pz-inp{min-height:150px;font-variant-numeric:tabular-nums;white-space:pre;overflow:auto}
.tpr-lidas{display:flex;flex-direction:column;background:var(--nevoa);border-radius:16px;padding:6px 16px;max-height:260px;overflow:auto}
.tpr-lida{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--linha);font-size:13.5px}
.tpr-lida:first-child{border-top:0}
.tpr-lida > span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tpr-lida > b{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.tpr-lida .aj-chip{background:var(--cartao)}
.tpr-lida .aj-chip.amber{background:var(--atencao-claro)}
.tpr-resumo{font-size:14px;color:var(--tx-2);margin:12px 0 8px}
.tpr-resumo b{font-weight:600;color:var(--tinta)}

/* ---------- regras automáticas dos custos ---------- */
.tpr-nome small.tpr-sub2{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.tpr-frase{margin:0 0 12px;font-size:15px;font-weight:600;line-height:1.5;color:var(--tinta)}
/* marcador na frase: a mesma etiqueta do cadastro do procedimento (não confunde com o nome do procedimento) */
.tpr-mk{display:inline-flex;align-items:center;gap:3px;padding:1px 8px 1px 6px;border-radius:999px;background:var(--nevoa);font-size:.92em;font-weight:600;color:var(--tinta);white-space:nowrap;line-height:1.5}
.tpr-mk .ic{width:12px;height:12px;color:var(--tx-3)}
.tpr-todas .tpr-mk,.tpr-foco .tpr-mk{background:var(--cartao)}
.tpr-regra-abrir{flex-direction:column;align-items:flex-start;gap:2px;text-decoration:none;min-height:44px;text-align:left}
.tpr-regra-abrir{display:inline-flex}
.tpr-regra-abrir > .ic{display:none}
.tpr-regra-abrir{font-weight:600;color:var(--tinta);text-decoration:underline;text-underline-offset:3px}
.tpr-regra-abrir small{font-size:12.5px;font-weight:500;color:var(--tx-3);text-decoration:none;display:block}
.tpr-regra-pe{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.tpr-quando .pz-op{padding:10px 14px;min-height:44px}
.tpr-quando .pz-op small{font-size:12.5px}
.tpr-frase-cfg{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:14px;color:var(--tx-2)}
.tpr-sub.tpr-frase-cfg{flex-direction:row}
.tpr-frase-cfg .tpr-sel{flex:0 1 auto;min-width:150px}
.tpr-frase-cfg select.pz-inp{padding-right:38px;min-height:44px}
.tpr-conds{gap:10px}
.tpr-cond > span:first-child{min-width:84px}
.tpr-x-p{width:36px;height:36px;border-radius:10px;background:var(--cartao)}
.tpr-vale{display:flex;flex-direction:column;gap:6px;margin-top:12px;font-size:13.5px;line-height:1.5;color:var(--tx-3)}
.tpr-vale b{color:var(--tinta);font-weight:600}
.tpr-vale .tpr-lnk{align-self:flex-start}
.tpr-ordem-t{margin:10px 0 8px}
.tpr-ordem{list-style:none;margin:0;padding:6px;display:flex;flex-direction:column;gap:4px;background:var(--nevoa);border-radius:16px}
.tpr-ordem li{display:grid;grid-template-columns:24px 24px minmax(0,1fr) 40px 40px;align-items:center;gap:6px;padding:8px 6px;border-radius:12px;background:var(--cartao);cursor:grab}
.tpr-ordem li.eu{box-shadow:inset 0 0 0 1.5px var(--tinta)}
.tpr-ordem li.arrastando{opacity:.4}
.tpr-ordem li.alvo{box-shadow:inset 0 -2px 0 var(--tinta)}
.tpr-alca{display:grid;place-items:center;color:var(--tx-4)}
.tpr-ord-n{font-size:13px;font-weight:600;color:var(--tx-3);text-align:center;font-variant-numeric:tabular-nums}
.tpr-ord-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.tpr-ord-t b{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tpr-ord-t b em{font-style:normal;font-size:11.5px;font-weight:600;color:var(--tx-3);margin-left:4px}
.tpr-ord-t small{font-size:12px;color:var(--tx-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tpr-ord-b{width:40px;height:40px;border:0;border-radius:10px;background:none;color:var(--tx-3);display:grid;place-items:center;cursor:pointer}
.tpr-ord-b:hover:not([disabled]){background:var(--nevoa);color:var(--tinta)}
.tpr-ord-b[disabled]{opacity:.3;cursor:default}
.ic.cima{transform:rotate(-90deg)}
.ic.baixo{transform:rotate(90deg)}
/* resultado do teste */
.tpr-res-cab{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:4px 0 8px;font-size:15px}
.tpr-res-cab b{font-weight:600}
.tpr-res-cab span{font-weight:600;font-variant-numeric:tabular-nums}
.tpr-res-cab.fora{margin-top:16px;font-size:14px;color:var(--tx-3)}
.tpr-res-l{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--linha)}
.tpr-res-l:first-child{border-top:0}
.tpr-res-l > b{font-size:14px;font-weight:600;min-width:0}
.tpr-res-l > b small{display:block;font-size:12.5px;font-weight:500;color:var(--tx-3);margin-top:2px;line-height:1.4}
.tpr-res-l > span{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.tpr-res-l.fora > b,.tpr-res-l.fora > span{color:var(--tx-3)}
.tpr-res-l.foco{margin:0 -10px;padding:10px;border-radius:12px;background:var(--cartao);border-top-color:transparent}
.tpr-total{margin:12px 0 0;font-size:14px;color:var(--tx-2)}
.tpr-total b{font-weight:600;color:var(--tinta);font-variant-numeric:tabular-nums}
.tpr-foco{margin:0 0 12px;padding:12px 14px;border-radius:14px;background:var(--nevoa);font-size:14.5px;line-height:1.45}
.tpr-foco b{font-weight:600}
/* marcadores e grupos (Mais opções da parte de custos) */
.tpr-marc-l > b{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}
.tpr-marc-l > b small{flex-basis:100%;padding-left:24px}
.tpr-marc-l{grid-template-columns:minmax(0,1fr) auto}
.tpr-apagar-lnk{color:var(--erro)}
.tpr-novo-inline{display:flex;gap:8px;margin-top:12px}
.tpr-novo-inline .pz-inp{flex:1;min-width:0}
.tpr-grupo-r{padding:10px 0;border-top:1px solid var(--linha)}
.tpr-grupo-r:first-of-type{border-top:0}
.tpr-grupo-r > b{font-size:14.5px;font-weight:600}
.tpr-grupo-r ol{margin:6px 0 0;padding-left:22px;display:flex;flex-direction:column;gap:2px}
.tpr-grupo-r li{font-size:14px;color:var(--tx-2)}
.tpr-grupo-r li small{display:block;font-size:12.5px;color:var(--tx-3);margin-top:-6px;margin-bottom:4px}

/* toast (mesmo lugar do app) */
.tpr-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:500;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:12px 18px;border-radius:14px;background:var(--tinta);color:var(--papel);font-size:14px;font-weight:600;box-shadow:var(--sombra-flutua);animation:tprsobe .2s ease both}
.tpr-toast .ic{width:18px;height:18px;color:var(--ok)}
body:not(.light) .tpr-toast .ic{color:var(--ok)}

/* ---------- computador médio ---------- */
@media (max-width:1180px) and (min-width:821px){
  .tpr-cols,.tpr-linha{grid-template-columns:minmax(0,1fr) 110px 140px}
  .tpr-comeco{grid-template-columns:1fr}
}

/* ---------- celular ---------- */
@media (max-width:820px){
  .tpr-cab{gap:6px} .tpr-acoes .btn-ghost{font-size:12.5px}
  .tpr-cab h3{font-size:20px}
  .tpr-acoes{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .tpr-acoes .btn-ghost{min-height:44px;justify-content:flex-start;padding:0 12px}
  .tpr-ferr{gap:8px}
  .tpr-busca{flex:1 1 100%}
  .tpr-ferr .btn-ghost{flex:1 1 0;padding:0 10px;font-size:13.5px}
  .tpr-cols{display:none}
  .tpr-linha{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);grid-template-areas:"nome nome" "de por";gap:6px 10px;padding:12px 12px 12px;margin:0 -12px}
  .tpr-linha .tpr-nome{grid-area:nome}
  .tpr-linha .tpr-de{grid-area:de;align-items:flex-start;align-self:start}
  .tpr-linha .tpr-por{align-self:start}
  .tpr-linha .tpr-addde{min-height:44px}
  .tpr-linha .tpr-por{grid-area:por}
  .tpr-linha .tpr-de .pz-moeda input{text-align:left}
  .tpr-linha .tpr-era{white-space:normal}
  .tpr-grupo{padding:18px 0 6px}
  .tpr-lista{margin:0}
  .tpr-barra{position:fixed;left:12px;right:12px;bottom:calc(92px + env(safe-area-inset-bottom));padding:8px 8px 8px 16px}
  .tpr-barra .t small,.so-pc{display:none}
  .tpr-parte{min-height:56px;padding:6px 10px;font-size:14px}
  .tpr-parte small{display:none}
  .tpr-linha-c{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);grid-template-areas:"nome nome" ". por"}
  .tpr-frase-cfg .tpr-sel{flex:1 1 100%;min-width:0}
  .tpr-cond > span:first-child{min-width:0;flex-basis:100%}
  .tpr-cond .tpr-sel{flex:1 1 0}
  .tpr-x-p{width:44px;height:44px}
  .tpr-ordem li{grid-template-columns:20px 18px minmax(0,1fr) 44px 44px;gap:4px}
  .tpr-ord-b{width:44px;height:44px}
  .tpr-novo-inline .btn-ghost{flex:none}
  .tpr-barra.erro{flex-wrap:wrap;padding:12px}
  .tpr-barra.erro .t{flex:1 1 100%;padding:0 4px}
  .tpr-barra.erro .t small{display:block}
  .tpr-barra.erro .tpr-salvar{flex:1;justify-content:center}
  .tpr-tipo,.tpr-lnk,.tpr-aviso .btn-ghost,.tpr-ajuste .dpill,.tpr-rm{min-height:44px}
  .tpr-ajuste .dpill{height:44px}
  .tpr-rm{width:44px;height:44px}
  .tpr-regra{grid-template-columns:minmax(0,1fr) 44px}
  .tpr-rs{grid-template-columns:64px minmax(0,1fr) 44px}
  .tpr-rs-mid{width:64px}
  .tpr-era button{min-height:44px;padding:0 4px}
  .tpr-addde{min-height:44px}
  .tpr-sub .bts .btn-save,.tpr-sub .bts .btn-ghost{min-height:44px}
  .tpr-era{gap:2px}
  .tpr-nome{min-height:44px;justify-content:center}
  .tpr-junto .pz-tags span{min-height:44px;height:auto;padding:0 0 0 12px}
  .tpr-junto .pz-tags span button{width:44px;height:44px}
  .tpr-camada .modal .tpr-mod-pe{margin:18px -18px calc(-18px - env(safe-area-inset-bottom));padding:12px 18px calc(16px + env(safe-area-inset-bottom));bottom:calc(-18px - env(safe-area-inset-bottom))}
  .tpr-toast{bottom:calc(100px + env(safe-area-inset-bottom))}
  .tpr-com-barra .tpr-toast{bottom:calc(168px + env(safe-area-inset-bottom))}
  .tpr-gav-pe .aj-excluir span{display:none}
  .tpr-gav-pe .aj-excluir{width:44px;min-height:44px;justify-content:center;margin-left:0}
  .tpr-barra .tpr-desf{padding:0 10px}
  .tpr-barra .tpr-salvar{padding:0 18px}
  .tpr-com-barra .page{padding-bottom:190px!important}
  .tpr-comeco{grid-template-columns:1fr;gap:18px}
  .tpr-comeco .bts .btn-save,.tpr-comeco .bts .btn-ghost{flex:1 1 100%}
  .modal-bg.tpr-gav-bg{padding:0;align-items:flex-end}
  .tpr-gav{width:100%;max-height:94vh;border-radius:24px 24px 0 0;animation-name:tprgavc}
  @keyframes tprgavc{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
  .tpr-gav-cab{padding:18px 18px 12px}
  .tpr-gav-corpo{padding:0 18px 8px}
  .tpr-gav-pe{padding:12px 18px calc(14px + env(safe-area-inset-bottom))}
  .tpr-gav-pe .btn-save{flex:1}
  .tpr-todas-l{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);grid-template-areas:"nome nome" "de por";gap:6px 10px}
  .tpr-todas-l > b{grid-area:nome}
  .tpr-todas-l .tpr-de{grid-area:de;align-items:flex-start}
  .tpr-todas-l .tpr-por{grid-area:por}
  .tpr-camada .modal{padding:22px 18px calc(18px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0}
  .tpr-mod-pe .btn-save{flex:1}
}
/* ---------- celular compacto: abaixo de 600px ---------- */
/* Meta: no 375x812, o primeiro campo "Por" aparece sem rolar */
@media (max-width:600px){
  /* Descrição da seção Preços: esconde no celular para ganhar espaço vertical */
  .tpr .cx-topo p{display:none}
  /* Label "Tabelas da clínica": desnecessário no compacto */
  .tpr-rot{display:none}
  /* container principal: gap menor elimina espaços entre partes/abas/card */
  .tpr{gap:8px}
  /* Partes (Procedimentos / Custos): altura reduzida */
  .tpr-partes{padding:2px}
  .tpr-parte{min-height:40px;padding:4px 10px;font-size:13.5px}
  /* Abas das tabelas: linha única com scroll lateral, padding menor */
  .tpr-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:2px}
  .tpr-tabs::-webkit-scrollbar{display:none}
  .tpr-tab{min-height:36px;padding:0 12px;font-size:13px}
  /* card: display:grid do caixa.css sobrepõe → volta para flex-column + padding reduzido */
  .cx-card.cx-grande{display:flex!important;flex-direction:column!important;padding-top:8px!important;gap:6px!important}
  /* "Quem paga": linha curta, sem quebra, altura menor */
  .tpr-quem-linha{flex-wrap:nowrap;overflow:hidden;font-size:13px}
  .tpr-quem-linha > span{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .tpr-quem-linha .tpr-lnk,.tpr-quem-linha .ic{flex:none}
  .tpr-quem-linha .tpr-lnk{min-height:32px}
  /* Cabeçalho: gap menor */
  .tpr-cab{gap:4px}
  /* 4 ações: linha única com scroll, ícone + rótulo curto */
  /* display:flex sobrepõe display:grid do breakpoint 820px */
  .tpr-acoes{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:6px;-webkit-overflow-scrolling:touch}
  .tpr-acoes::-webkit-scrollbar{display:none}
  .tpr-acoes .btn-ghost{min-height:36px;padding:0 10px;flex:none;justify-content:center}
  /* Ferr: padding menor + busca + grupo (Adicionar|Colar) na mesma linha */
  .tpr-ferr{padding-top:6px}
  /* botões e input da barra de busca: altura reduzida */
  .tpr-ferr .btn-ghost,.tpr-ferr .dpill{min-height:36px!important;height:36px}
  .tpr-busca{flex:1 1 0!important;min-width:0}
  .tpr-add-grp{flex:none;display:flex}
  .tpr-add-grp [data-a="novo-proc"]{border-radius:12px 0 0 12px;border-right:1px solid var(--linha)}
  .tpr-add-grp .tpr-add-colar{border-radius:0 12px 12px 0;padding:0 10px;white-space:nowrap}
  .so-mob{display:inline}
  /* Tipos de paciente: altura menor e sem margem extra */
  .tpr-tipo{min-height:36px}
  .tpr-tipos{margin-top:0}
  /* Aviso: faixa de 1 linha ("Falta X preço · Ver") */
  .tpr-aviso{flex-wrap:nowrap!important;padding:6px 10px!important;gap:6px;align-items:center;overflow:hidden;min-width:0}
  .tpr-aviso > .ic{flex:none!important;width:16px;height:16px}
  .tpr-aviso .t{flex:1 1 0!important;min-width:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .tpr-av-long{display:none!important}
  /* especificidade igual a .tpr-aviso .btn-ghost do 820px, mas fonte depois → ganha */
  .tpr-aviso .tpr-av-mostrar{min-height:28px!important;padding:0 8px!important;font-size:12px!important;flex:none!important;white-space:nowrap}
  .tpr-av-certo{display:none!important}
  /* Grupo de procedimentos: padding menor */
  .tpr-grupo{padding-top:6px}
}
/* regra avançada: exibição read-only no editor de custo */
.tpr-rg-adv{display:flex;flex-direction:column;gap:6px;padding:4px 0}
.tpr-rg-adv-item{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;color:var(--tx-2)}
.tpr-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:600;background:var(--atencao-claro);color:var(--atencao);border:1px solid color-mix(in srgb,var(--atencao) 30%,transparent);white-space:nowrap}
