/* Cliup: pacientes (lista, ficha, visão geral) */
.pa-filtros{display:flex;align-items:center;gap:16px;margin-bottom:14px;flex-wrap:wrap}
.pa-busca{flex:1;min-width:260px;flex-direction:row!important;align-items:center;gap:8px;background:#fff;border:1px solid var(--linha-2);border-radius:8px;padding:0 10px}
.pa-busca input{border:0!important;outline:0!important;padding:8px 0!important;min-height:36px}
.pa-busca svg.ic{color:var(--cinza)}
.pa-av{width:30px;height:30px;border-radius:50%;background:#EEF0F3;color:var(--tinta-2);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex:none}
.pa-pag{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:12px 4px;font-size:14px}
.pa-idade{display:inline-block;background:#EEF0F3;border-radius:6px;font-size:11px;padding:1px 6px;margin-left:4px;color:var(--tinta-2)}
.pa-blocos{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:1000px){.pa-blocos{grid-column:auto;grid-template-columns:1fr}}
.pa-bloco{display:flex;flex-direction:column;gap:12px}
.pa-bloco h3{margin:0}
.pa-bloco-c{flex:1}
.pa-bloco .bloco-vazio{height:100%}
.pa-alertas,.pa-orcs{display:flex;flex-direction:column;gap:8px}
.pa-alerta{display:flex;gap:10px;align-items:center;background:#F7F8FA;border-radius:8px;padding:8px}
.pa-alerta p{margin:2px 0 0;font-size:14px;color:var(--tinta-2)}
.pa-orc{display:flex;gap:10px;align-items:center;background:#F7F8FA;border-radius:8px;padding:10px;cursor:pointer}
.pa-orc:hover{background:var(--azul-suave-2)}
.pa-orc b{flex:1;font-size:14px;color:var(--titulo)}
.pa-nota{border-top:1px solid var(--linha);padding:10px 0;font-size:14px}
.pa-resumo{display:flex;gap:22px;margin-bottom:12px;font-size:14px;color:var(--tinta-2)}
.pa-resumo b{color:var(--titulo);font-size:16px}
.pa-cor{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.pa-form select{min-width:0}
.ficha-cab .tel svg.ic{width:16px;height:16px}
@media(min-width:761px){table.tab.resp td.cel-titulo b+*{display:none}}
@media(max-width:760px){
  .pa-filtros{gap:10px}
  .pa-busca{min-width:0;width:100%}
  .pa-blocos{grid-template-columns:1fr}
  .pa-resumo{gap:14px;flex-wrap:wrap}
  .pa-pag{justify-content:center;flex-wrap:wrap}
}
@media(max-width:760px){table.tab.resp td.so-pc{display:none}}
.pa-rede{display:flex;align-items:center;gap:8px;margin-top:6px}
.pa-rede select{flex:0 0 150px}
.pa-rede input{flex:1}
.kv a{color:var(--azul)}
@media(max-width:760px){.pa-rede select{flex:0 0 120px}}
.avatar-g.com-foto,.pa-av.com-foto{overflow:hidden;padding:0}
.avatar-g.com-foto img,.pa-av.com-foto img{width:100%;height:100%;object-fit:cover;display:block}

/* Em carteira (a receber) na Visão geral */
.pa-cart-tot{font-size:20px;font-weight:700;color:var(--tinta);margin-bottom:8px}.pa-cart-tot .mudo{font-size:13px;font-weight:400}
.pa-cart{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--linha)}
.pa-cart-sub{font-size:12.5px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* o texto que não quebra (ex.: a linha da parcela em carteira) não pode alargar a coluna no celular */
@media(max-width:1000px){.visao{grid-template-columns:minmax(0,1fr)}.pa-blocos{grid-template-columns:minmax(0,1fr)}.pa-blocos>.cartao{min-width:0}}

/* Ficha de evolução: linha do tempo por dia */
.evo-linha{display:grid;gap:14px}
.evo-dia{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px}
.evo-data{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:6px;color:var(--navy)}
.evo-data b{font-size:26px;line-height:1}.evo-data span{font-size:12px;color:var(--tinta-2);text-transform:uppercase}
.evo-itens{display:grid;gap:8px;border-left:2px solid var(--linha);padding-left:12px}
.evo-card{background:#fff;border:1px solid var(--linha);border-radius:8px;padding:10px 12px}
.evo-card.leve{background:var(--fundo);padding:8px 12px}
.evo-card.excluido{opacity:.55}
.evo-cab{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.evo-cab .espaco{flex:1}
.evo-dados{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:8px}
.evo-dados span{display:flex;flex-direction:column;font-size:14px}.evo-dados small{color:var(--cinza);font-size:12px}
.evo-rel{margin:8px 0 4px;line-height:1.5}
/* linha do tempo completa (Dr., 26/10: "tudo o que for registrado deve passar pela evolução") */
.evo-card.leve.forte{background:#fff}
.evo-card.atencao{border-color:#F2C46D;background:#FFF8EA}
.evo-card.clicavel{cursor:pointer}.evo-card.clicavel:hover{border-color:var(--azul)}
.evo-h{margin-left:auto;font-size:12.5px}
.evo-sub{font-size:13.5px;margin-top:4px;line-height:1.4}
.evo-lista{margin:6px 0 2px;padding-left:18px;font-size:14px;line-height:1.5}
.evo-filtros{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 14px}
.evo-f{border:1px solid var(--linha-2);background:#fff;border-radius:16px;padding:5px 12px;font:inherit;font-size:13.5px;color:var(--tinta);cursor:pointer}
.evo-f span{color:var(--tinta-2);font-size:12px;margin-left:2px}
.evo-f.ativo{background:var(--azul);border-color:var(--azul);color:#fff}.evo-f.ativo span{color:#fff}
.evo-exc{margin-left:auto}
.evo-prox{margin-bottom:14px}.evo-prox h3{margin:0 0 8px}
.evo-prox-it{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 0;border-top:1px solid var(--linha)}
.evo-prox-it:first-of-type{border-top:0}.evo-prox-it.clicavel{cursor:pointer}.evo-prox-it .chip:last-child{margin-left:auto}
.pos-sit{display:flex;flex-wrap:wrap}.pos-sit button{flex:1 1 auto}
/* etiqueta "Atenção" ao lado de Ativo (regiões bloqueadas e o importante da anamnese); abre o detalhe */
.chip-atencao{display:inline-flex;align-items:center;gap:5px;margin-left:6px;padding:2px 10px;border:1px solid #F2A7A7;border-radius:14px;background:#FDECEC;color:#A12626;font:inherit;font-size:13px;font-weight:500;line-height:20px;cursor:pointer;vertical-align:middle}
.chip-atencao:hover{border-color:#D64545}
.chip-atencao.peq{display:flex;width:max-content;margin:3px 0 2px;padding:0 8px;font-size:12px;line-height:19px;white-space:nowrap}
.chip-atencao.peq svg.ic{width:13px;height:13px}
.chip-atencao svg.ic{width:15px;height:15px;flex:none}
.chip-atencao .n{display:none;min-width:18px;padding:0 5px;border-radius:9px;background:#D64545;color:#fff;font-size:11.5px;line-height:18px;text-align:center}
.at-tit{font-size:14px;margin:4px 0 6px}.at-tit:not(:first-child){margin-top:16px}
.at-it{padding:6px 0;border-top:1px solid var(--linha);line-height:1.45}.at-tit+.at-it{border-top:0}
@media(max-width:760px){.chip-atencao .rot{display:none}.chip-atencao .n{display:inline-block}}
/* aviso da anamnese dentro do "Registrar evolução" (alergia, medicamento, PMMA...) */
.an-alerta{display:flex;align-items:flex-start;gap:6px;margin-top:8px;padding:6px 10px;border-radius:8px;background:#FFF4E0;color:#7A4A00;font-size:13.5px;line-height:1.4;max-width:720px}
.an-alerta svg.ic{width:16px;height:16px;flex:none;margin-top:1px}
.an-alerta .btn.link{padding:0;font-size:13.5px;vertical-align:baseline}
.an-alerta.no-modal{margin:0 0 14px;max-width:none}
@media(max-width:760px){.evo-dia{grid-template-columns:52px minmax(0,1fr);gap:8px}.evo-data b{font-size:20px}
  .evo-cab.com-exc{position:relative;padding-right:34px}.evo-cab.com-exc .espaco{display:none}.evo-cab.com-exc .icone-btn{position:absolute;top:-4px;right:-6px}
  .evo-filtros{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.evo-f{flex:none}.evo-exc{flex:none}
  .evo-cab .evo-h{order:1}.evo-cab b{order:2;flex-basis:100%}}
/* Controle de Indicação (menu) */
.ind-nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.ind-num{display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:#fff;border:1px solid transparent;border-radius:10px;box-shadow:var(--sombra);padding:12px 14px;font:inherit;text-align:left;cursor:pointer;color:var(--tinta)}
.ind-num b{font-size:24px;font-weight:500;line-height:1.1}.ind-num b.amarelo{color:#9A6700}.ind-num b.azul{color:var(--azul)}.ind-num b.cinza{color:var(--tinta-2)}
.ind-num span{font-size:13px;color:var(--tinta-2)}.ind-num.ativo{border-color:var(--azul)}
.ind-filtros{display:grid;grid-template-columns:160px 160px 230px minmax(0,1fr);gap:12px;align-items:end}
.ind-grade{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
.ind-top{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:8px 0;border-top:1px solid var(--linha)}.ind-top:first-of-type{border-top:0}
.ind-top .mudo{font-size:13px;width:100%;padding-left:30px}.ind-top .btn.link{margin-left:auto}
.ind-pos{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--fundo);font-size:12px;font-weight:500}
@media(max-width:1100px){.ind-grade{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.ind-nums{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ind-filtros{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ind-busca{grid-column:1/-1}}
/* Painel do Cliup (clínicas que usam o Cliup) */
.pc-mods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 16px}
.pc-base{display:grid;gap:8px}.pc-base label{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.pc-base small{flex-basis:100%;padding-left:24px;color:var(--tinta-2);font-size:12.5px}
@media(max-width:760px){.pc-mods{grid-template-columns:minmax(0,1fr)}}
/* painel.html: o sistema de quem vende o Cliup (login e topo próprios) */
.pn-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--fundo)}
.pn-caixa{width:100%;max-width:380px;background:#fff;border-radius:12px;box-shadow:var(--sombra);padding:24px}
.pn-marca{display:flex;align-items:center;gap:10px}.pn-marca b{font-size:18px;color:var(--navy)}
.pn-topo{display:flex;align-items:center;gap:12px;padding:10px 20px;background:var(--navy);color:#fff}
.pn-topo .pn-marca b{color:#fff}.pn-quem{display:flex;flex-direction:column;align-items:flex-end;font-size:13.5px;line-height:1.2}.pn-quem small{opacity:.75;font-size:11.5px}
.pn-topo .btn.contorno{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
@media(max-width:560px){.pn-quem{display:none}.pn-topo{padding:10px 14px}}
/* Contrato e nota fiscal do profissional */
.ct-grade{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;align-items:start}
.ct-formas{display:grid;gap:8px}
.ct-forma{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--linha-2);border-radius:10px;padding:10px 12px;cursor:pointer}
.ct-forma.ativo{border-color:var(--azul);background:#F3F8FF}.ct-forma input{margin-top:3px}
.ct-forma span{display:flex;flex-direction:column;gap:2px}.ct-forma small{color:var(--tinta-2);font-size:13px;line-height:1.4}
.ct-lista{display:grid}.ct-it{display:flex;align-items:center;gap:8px;padding:10px 0;border-top:1px solid var(--linha)}.ct-it:first-child{border-top:0}
.ct-texto{font-size:14px;line-height:1.55;max-height:60vh;overflow:auto;padding-right:6px}
.ct-texto h1{font-size:18px;text-align:center;margin:0 0 12px}.ct-texto h2{font-size:15px;margin:14px 0 4px}
.ct-texto ul{margin:4px 0 6px 18px;padding:0}.ct-texto li{margin-bottom:3px}
.ct-texto table{width:100%;border-collapse:collapse;margin:6px 0;font-size:13px}.ct-texto td,.ct-texto th{border:1px solid var(--linha);padding:4px 6px;text-align:left;vertical-align:top}
.ct-ass{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}.ct-ass>div{border-top:1px solid #333;padding-top:6px;text-align:center;font-size:13px}
@media(max-width:1000px){.ct-grade{grid-template-columns:minmax(0,1fr)}}
.ct-texto.ct-pre{white-space:pre-wrap;font-family:inherit}
/* Vigilância sanitária */
.vs-grade{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;align-items:start}
.vs-secoes{display:flex;flex-direction:column;padding:8px}
.vs-secoes button{display:flex;justify-content:space-between;gap:8px;border:0;background:transparent;font:inherit;font-size:14px;text-align:left;padding:8px 10px;border-radius:8px;cursor:pointer;color:var(--tinta)}
.vs-secoes button span{color:var(--tinta-2);font-size:12.5px}.vs-secoes button.ativo{background:#EAF2FF;color:var(--azul);font-weight:500}
.vs-barra{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}.vs-barra input[type=text],.vs-barra #vs-q{flex:1;min-width:180px;border:1px solid var(--linha-2);border-radius:8px;padding:8px 10px;font:inherit}
.ind-num b.vermelho-t{color:#C62828}
.vs-fiscal{position:fixed;inset:0;z-index:300;background:#fff;overflow:auto}
.vs-f-topo{position:sticky;top:0;display:flex;align-items:center;gap:12px;justify-content:space-between;padding:14px 20px;background:var(--navy);color:#fff}
.vs-f-topo div{display:flex;flex-direction:column;gap:2px}.vs-f-topo b{font-size:18px}.vs-f-topo span{font-size:13px;opacity:.85}
.vs-f-topo .btn.contorno{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.vs-f-corpo{max-width:860px;margin:0 auto;padding:16px 20px 40px}.vs-f-corpo h2{font-size:16px;margin:22px 0 8px;color:var(--navy)}
.vs-f-doc{display:flex;width:100%;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--linha);border-radius:10px;background:#fff;padding:12px 14px;margin-bottom:8px;font:inherit;font-size:15px;text-align:left;cursor:pointer}
.vs-f-doc span{display:flex;align-items:center;gap:8px}.vs-f-doc small{color:var(--tinta-2);white-space:nowrap}
@media(max-width:900px){.vs-grade{grid-template-columns:minmax(0,1fr)}.vs-secoes{flex-direction:row;overflow-x:auto}.vs-secoes button{flex:none}}
@media(max-width:760px){.vs-pag table.tab.resp td.cel-titulo{flex-direction:column;align-items:flex-start;gap:2px}}

/* relatório Faturamento por especialidade: os três números no alto (27/10) */
.rl-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.rl-card { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; }
.rl-card span { font-size: 13px; color: var(--tinta-2); }
.rl-card b { font-size: 22px; color: var(--titulo, var(--tinta)); }
.rl-card small { font-size: 12.5px; color: var(--tinta-2); }
@media (max-width: 760px) { .rl-cards { grid-template-columns: 1fr; } }
/* Acompanhamento do pós (27/10) */
.ac-linha{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.ac-it{border:1px solid var(--linha);border-radius:10px;padding:10px 12px;background:#fff;max-width:640px}
.ac-it.pac{border-left:3px solid #7cc79a}
.ac-it.eq{border-left:3px solid var(--azul);margin-left:auto}
.ac-it.nota{border-left:3px solid #c9ced6;background:#f7f8fa;margin-left:auto}
.ac-cab{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12.5px;color:var(--tinta-2);margin-bottom:4px}
.ac-cab b{color:var(--tinta);font-weight:600}
.ac-tx{font-size:14px;line-height:1.45}
.ac-fotos{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.ac-fotos img{width:90px;height:110px;object-fit:cover;border-radius:6px;border:1px solid var(--linha)}
.ac-novo{border:1px solid var(--linha);border-radius:10px;padding:12px;background:#fafbfc}
.ac-2{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-top:8px}
.ac-previa{font-size:13.5px;color:var(--tinta);background:#fff;border:1px dashed var(--linha-2);border-radius:8px;padding:8px 10px;margin-top:6px;min-height:20px}
.ac-previa:empty{display:none}
.ac-anexo{margin-top:6px}
.ac-rod{display:flex;justify-content:flex-end;margin-top:10px}
.ac-onde{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:8px}.ac-onde select{height:32px;border:1px solid var(--linha-2);border-radius:6px;padding:0 8px;font:inherit}
.ac-foto{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.ac-foto.apagada img{opacity:.35}
/* Conhecer o paciente (27/10) */
.cp{border:1px solid var(--linha);border-radius:10px;background:#fff;padding:10px 12px;margin-bottom:12px}
.cp summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none}
.cp summary::-webkit-details-marker{display:none}
.cp summary .mudo{font-size:12px;flex:1}
.cp-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin-top:10px}
.cp-it{display:flex;flex-direction:column;gap:2px;border:1px solid var(--linha);border-radius:8px;padding:8px 10px;background:#fafbfc}
.cp-it small{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--tinta-2)}
.cp-it b{font-size:13.5px;font-weight:600;overflow-wrap:anywhere}
.cp-it span{font-size:11.5px}
.cp-it.vazio b{color:var(--cinza);font-weight:400}
.cp-it.escrito{background:#f3f8ff;border-color:#cfe3fa}
.cp-it.evitar{background:#fff6e6;border-color:#f3d79a}
.cp-rod{font-size:12px;margin-top:8px}
.ac-sem-foto{width:90px;height:110px;border:1px dashed var(--linha-2);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--tinta-2);text-align:center}
/* celular com país (28/10) */
.pa-tel{display:flex;gap:6px}
.pa-tel select{max-width:150px;flex:none}
.pa-tel .pa-ddi{width:70px;flex:none}
.pa-tel input[name=celular]{flex:1;min-width:0}
/* Painel: gratuito ou pago (01/11) */
.pc-cob{display:grid;gap:8px}.pc-cob label{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.pc-cob small{flex-basis:100%;padding-left:24px;color:var(--tinta-2);font-size:12.5px}
.pc-so-pago[hidden],.pc-so-gratis[hidden]{display:none!important}
.pc-so-pj[hidden]{display:none!important}
.pc-larga2{grid-column:span 2}
@media(max-width:760px){.pc-larga2{grid-column:auto}}

/* App do paciente: o código gerado em destaque no alto (Dr., 03/11) */
.ap-cod{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px;border:1px solid var(--linha-2);border-radius:10px;background:#F7F8FA;text-align:center}
.ap-cod span{font-size:12px;color:var(--cinza);text-transform:uppercase;letter-spacing:.08em}
.ap-cod b{font-size:34px;letter-spacing:.18em;line-height:1.1}
.ap-cod small{font-size:12.5px;color:var(--cinza)}
#ap-msg{display:block;width:100%;box-sizing:border-box}
.ap-env{display:flex;align-items:center;gap:6px}
.ap-cod .btn.link{font-size:12.5px;padding:0;height:auto}
@media(max-width:760px){.modal .m-rodape .btn.so-ico-cel{flex:none;min-width:0}}

/* Indicações (Dr., 03/11) */
.in-lista{display:flex;flex-direction:column;border:1px solid var(--linha);border-radius:10px;margin-top:8px}
.in-it{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-bottom:1px solid var(--linha);flex-wrap:wrap}
.in-it:last-child{border-bottom:0}
.ind-chip{display:inline-flex;align-items:center;gap:4px;text-decoration:none}
.ind-chip svg.ic{width:13px;height:13px}
/* 04/11 (Dr.: "essa parte precisa estar mais organizada"): cartões da linha do tempo todos na mesma largura; no celular a data
 * vira uma linha de cabeçalho em cima dos cartões do dia, e os cartões usam a largura toda */
.evo-itens{display:flex;flex-direction:column;gap:8px;min-width:0}
.evo-itens > .evo-card{width:100%;box-sizing:border-box}
@media(max-width:760px){
  .evo-dia{grid-template-columns:minmax(0,1fr);gap:6px}
  .evo-data{flex-direction:row;align-items:baseline;gap:6px;padding:0 2px;justify-content:flex-start}
  .evo-data b{font-size:16px}
  .evo-data span{font-size:12px}
  .evo-linha{gap:16px}
}
/* 04/11: Ficha de evolução em abas */
.evo-subs{display:flex;gap:6px;overflow-x:auto;padding:2px 0 10px;margin-bottom:6px;scrollbar-width:none}
.evo-subs::-webkit-scrollbar{display:none}
.evo-sub-b{flex:none;border:1px solid var(--linha);background:#fff;border-radius:999px;padding:7px 14px;font:inherit;font-size:14px;color:var(--tinta-2);cursor:pointer;white-space:nowrap}
.evo-sub-b.ativo{background:var(--azul,#1d6fd1);border-color:var(--azul,#1d6fd1);color:#fff;font-weight:600}
.evo-acoes{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.evo-acoes .btn.primario{margin-left:auto}
.evo-lst{display:flex;flex-direction:column;gap:6px}
.evo-dt{background:#fff;border:1px solid var(--linha);border-radius:10px}
.evo-dt > summary{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:10px 12px;cursor:pointer;list-style:none}
.evo-dt > summary::-webkit-details-marker{display:none}
.evo-dt > summary::after{content:'';margin-left:auto;width:8px;height:8px;border-right:2px solid var(--cinza);border-bottom:2px solid var(--cinza);transform:rotate(45deg);align-self:center}
.evo-dt[open] > summary::after{transform:rotate(-135deg)}
.evo-dt[open] > summary{border-bottom:1px solid var(--linha)}
.evo-dt > .evo-card{border:0;border-radius:0 0 10px 10px}
.evo-dt.excluido{opacity:.55}
.evo-dt-d{font-weight:700;color:var(--navy);font-size:13.5px;min-width:84px}
.evo-mini{padding:0 12px 10px}
.evo-prox-it.feito{opacity:.6}
.evo-prox h3 + .pr-peq{margin:-4px 0 8px}
@media (max-width:760px){.evo-dt > summary{gap:4px 8px}.evo-dt > summary .mudo{width:100%;order:3;font-size:12.5px}.evo-acoes .btn.primario{width:100%;justify-content:center;margin-left:0}}

/* cartão do paciente no celular: prontuário e situação no alto (Dr., 08/11: "tá muito grande") */
.pa-mob{display:none}
.pa-nome{display:inline-flex;align-items:center;gap:8px;min-width:0}
@media(max-width:760px){
  .pa-cab{width:100%;align-items:center}
  .pa-nome{flex:1;flex-direction:column;align-items:flex-start;gap:1px}
  .pa-nome small.pa-mob{display:block;color:var(--cinza);font-size:12px;font-weight:400}
  .pa-cab > .chip.pa-mob{display:inline-flex;flex:none}
  #pa-linhas td{font-size:13px}
}
/* 08/11 (Dr.: "deixar os dados já do lado... o nascimento já vem o número"): no celular o dado fica logo depois do rótulo,
   numa coluna alinhada, e não empurrado para a direita */
@media(max-width:760px){
  #pa-linhas td[data-label]{justify-content:flex-start;text-align:left;column-gap:10px}
  #pa-linhas td[data-label]:before{width:84px;margin-right:0}
  #pa-linhas td[data-label]{word-break:break-word}
}

/* botão de copiar os dados (08/11): pequeno, ao lado do nome no computador e no canto do cartão no celular */
.pa-copiar{width:30px;height:30px;color:var(--cinza);flex:none}
.pa-copiar svg{width:17px;height:17px}
@media(max-width:760px){.pa-cab > .pa-copiar{margin-left:-4px;margin-right:-6px}}
/* 08/11 (Dr.: "nascimento, dois pontos, espaço, já vem a data"): na mesma linha, sem coluna */
@media(max-width:760px){
  #pa-linhas td[data-label]{column-gap:4px}
  #pa-linhas td[data-label]:before{content:attr(data-label) ":";width:auto}
}

/* 08/11 (Dr., no computador): "o prontuário vai lá para baixo do ativo, para otimizar espaço. Esse copiar fica... bem
   discretamente no cantinho superior" */
.pa-pront{display:block;margin-top:4px;color:var(--cinza);font-size:12px;white-space:nowrap}
@media(min-width:761px){
  #pa-linhas tr{position:relative}
  #pa-linhas .pa-copiar{position:absolute;top:4px;right:6px;width:26px;height:26px;opacity:.55}
  #pa-linhas .pa-copiar svg{width:15px;height:15px}
  #pa-linhas tr:hover .pa-copiar,#pa-linhas .pa-copiar:focus-visible{opacity:1}
}
/* 08/11 (Dr.: "a fonte do prontuário... um pouco menor para caber... numa linha tudo e não ficar esmagado") */
@media(min-width:761px){
  #pa-linhas td:first-child{white-space:nowrap;width:1%}
  #pa-linhas .pa-pront{font-size:10.5px;margin-top:3px;letter-spacing:0}
}
/* 08/11 (Dr.: "junta mais as colunas, dá um jeito aí"): no computador cada coluna tem o tamanho do conteúdo, sem quebrar
   linha; o nome fica com o que sobra; e-mail comprido corta com reticências; espaço para o copiar no canto */
@media(min-width:761px){
  #pa-linhas td{padding:8px 10px;white-space:nowrap;width:1%}
  #pa-linhas td.cel-titulo{width:auto;white-space:normal}
  #pa-linhas td[data-label="Email"]{max-width:240px;overflow:hidden;text-overflow:ellipsis}
  #pa-linhas td:last-child{padding-right:34px}
  #pa-linhas td.cel-titulo b{font-size:14px}
}
@media(min-width:761px){
  #pa-linhas td.cel-titulo{width:100%;max-width:1px;white-space:nowrap}
  #pa-linhas .pa-cab{min-width:0}
  #pa-linhas .pa-nome{min-width:0;overflow:hidden}
  #pa-linhas .pa-nome b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
}

/* 08/11 (Dr.: o ativo "bem pequenininho, pode ficar junto lá com copiar"; "o prontuário... embaixo do nome"): no computador
   a coluna Ativo saiu; o prontuário vai embaixo do nome e a situação, pequena, no canto junto do copiar */
@media(min-width:761px){
  #pa-linhas .pa-nome{flex-direction:column;align-items:flex-start;gap:0}
  #pa-linhas .pa-nome small.pa-mob{display:block;color:var(--cinza);font-size:11px;font-weight:400;line-height:1.3}
  #pa-linhas .pa-cab > .chip.pa-mob{display:inline-flex;position:absolute;top:8px;right:34px;font-size:10px;line-height:1;padding:3px 6px;border-radius:4px}
  #pa-linhas td:last-child{padding-right:96px}
}
/* 08/11: o selo só aparece para Inativo (Dr.: "nem precisa mostrar ativo"); fica embaixo do copiar */
@media(min-width:761px){
  #pa-linhas td:last-child{padding-right:40px}
  #pa-linhas .pa-cab > .chip.pa-mob{top:30px;right:6px}
}
/* 08/11 (Dr., tela larga: "ajusta melhor essa coluna, para quando tiver estendido"): o nome não fica com toda a sobra; o
   espaço extra se divide entre as colunas */
@media(min-width:761px){
  #pa-linhas td{width:auto}
  #pa-linhas td.cel-titulo{width:34%;max-width:0}
}
@media(min-width:761px){
  #pa-linhas .pa-nome{align-items:stretch;flex:1}
  #pa-linhas .pa-nome b{display:block;max-width:100%}
}
/* 08/11 (Dr.: "botão copiar ficou espremido no canto... pode deixar centralizado, bem no meio"): no meio da altura da linha,
   com folga; o Inativo fica dentro da coluna do nome, no fim dela */
@media(min-width:761px){
  #pa-linhas .pa-copiar{top:50%;right:10px;transform:translateY(-50%);width:30px;height:30px;opacity:.6}
  #pa-linhas .pa-copiar svg{width:16px;height:16px}
  #pa-linhas td:last-child{padding-right:52px}
  #pa-linhas .pa-cab > .chip.pa-mob{position:static;transform:none;margin-left:8px}
}
@media(min-width:761px) and (max-width:1100px){ #pa-linhas td.cel-titulo{width:42%} #pa-linhas td{padding-left:8px;padding-right:8px} }
/* 08/11 (Dr.: "um pouco desalinhado esse título"): o título de cada coluna com o mesmo recuo das linhas */
@media(min-width:761px){
  table:has(#pa-linhas) thead th{padding-left:10px;padding-right:10px}
}
@media(min-width:761px) and (max-width:1100px){ table:has(#pa-linhas) thead th{padding-left:8px;padding-right:8px} }

/* 08/11: Filtros e Ordenar ao lado da busca; chips do que está filtrado; desenho quando a lista está vazia */
.pa-btn-f{display:inline-flex;align-items:center;gap:6px;height:38px;position:relative;flex:none}
.pa-btn-f svg{width:17px;height:17px}
.pa-nf:empty{display:none}
.pa-nf{min-width:18px;height:18px;border-radius:9px;background:var(--azul);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}
.pa-ordem{flex:none;margin:0}
.pa-ordem select{height:38px;min-width:190px}
.pa-chips{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 12px}
.pa-chips:empty{display:none}
.pa-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #CFE0FB;background:#EEF4FE;color:#1556B8;border-radius:16px;padding:5px 8px 5px 12px;font:inherit;font-size:13px;cursor:pointer}
.pa-chip svg{width:14px;height:14px;opacity:.7}
.pa-chip:hover{background:#E2ECFD}
.pa-vazio{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 16px 40px;text-align:center}
.pa-vazio[hidden]{display:none}
.pa-ilu{width:220px;max-width:70%;height:auto}
.pa-vazio p{margin:14px 0 0;color:var(--cinza);font-size:15px}
#pa-tabela[hidden]{display:none}
.pa-fx .fx-in{width:auto;max-width:210px}
@media(max-width:760px){
  .pa-filtros{flex-wrap:nowrap}
  .pa-btn-f{width:42px;padding:0;justify-content:center}
  .pa-btn-f .pa-txt{display:none}
  .pa-btn-f .pa-nf{position:absolute;top:-6px;right:-6px}
  .pa-ordem{width:42px;position:relative;overflow:hidden}
  .pa-ordem select{min-width:0;width:42px;color:transparent;padding:0;background-image:none!important;cursor:pointer}
  .pa-ordem::after{content:"";position:absolute;inset:0;pointer-events:none;background:no-repeat center/18px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23334155' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M7 4v16M3 16l4 4 4-4M17 20V4M13 8l4-4 4 4'/%3E%3C/svg%3E")}
  .pa-fx .fx-in{max-width:170px}
}
/* 08/11: no computador as colunas têm largura fixa (o nome nunca é espremido por um e-mail comprido); o que não cabe
   termina em reticências, inclusive a linha de baixo do nome */
@media(min-width:761px){
  table:has(#pa-linhas){table-layout:fixed;width:100%}
  table:has(#pa-linhas) thead th:nth-child(1){width:38%}
  table:has(#pa-linhas) thead th:nth-child(2){width:12%}
  table:has(#pa-linhas) thead th:nth-child(3){width:15%}
  table:has(#pa-linhas) thead th:nth-child(4){width:23%}
  table:has(#pa-linhas) thead th:nth-child(5){width:12%}
  #pa-linhas td{width:auto;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #pa-linhas td.cel-titulo{width:auto;max-width:none}
  #pa-linhas .pa-nome small.pa-mob{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
}
@media(min-width:761px){
  table:has(#pa-linhas) thead th:nth-child(1){width:auto}
  table:has(#pa-linhas) thead th:nth-child(2){width:110px}
  table:has(#pa-linhas) thead th:nth-child(3){width:138px}
  table:has(#pa-linhas) thead th:nth-child(4){width:26%}
  table:has(#pa-linhas) thead th:nth-child(5){width:13%}
  table:has(#pa-linhas) thead th.pa-colcop{width:44px}
  #pa-linhas td:last-child{padding-right:0}
  #pa-linhas td[data-label="Cidade"]{padding-right:10px}
  #pa-linhas td[data-label="Nascimento"],#pa-linhas td[data-label="Celular"]{text-overflow:clip}
}
@media(min-width:761px) and (max-width:1100px){
  #pa-linhas .pa-nome small.pa-mob{white-space:normal;text-overflow:clip}
  #pa-linhas td.cel-titulo{white-space:normal}
  table:has(#pa-linhas) thead th:nth-child(4){width:24%}
  table:has(#pa-linhas) thead th:nth-child(5){width:11%}
}
@media(min-width:761px) and (max-width:1100px){ table:has(#pa-linhas) thead th:nth-child(5){width:13%} table:has(#pa-linhas) thead th:nth-child(4){width:22%} }
/* 08/11: o valor escolhido no filtro não pode cortar */
.pa-fx .fx-li .fx-rot{flex:none}
.pa-fx .fx-dir{flex:1;min-width:0;justify-content:flex-end}
.pa-fx .fx-in{max-width:100%!important;text-overflow:ellipsis}
/* 08/11 (Dr.: "o desenho deixa mais discreto"): menor e em tons claros */
.pa-vazio{padding:48px 16px 32px}
.pa-ilu{width:150px;opacity:.85}
.pa-vazio p{font-size:14px;margin-top:10px;color:#94A3B8}
/* 08/11: no celular, linha 1 = Novo paciente (menor) + Filtros + Ordenar; linha 2 = a busca inteira */
@media(max-width:760px){
  .pa-filtros{flex-wrap:wrap!important;gap:10px}
  .pa-filtros > [data-ac="novo-pac"]{order:1;flex:1;height:42px;min-height:0;font-size:15px}
  .pa-filtros > .pa-btn-f{order:2;height:42px}
  .pa-filtros > .pa-ordem{order:3}
  .pa-filtros > .pa-ordem select{height:42px}
  .pa-filtros > .pa-busca{order:4;flex:1 1 100%;width:100%}
  .titulo-pag .acoes:empty{display:none}
}
@media(max-width:760px){ .pa-filtros > [data-ac="novo-pac"]{justify-content:center} }
/* 08/11 (Dr.: "inverte o botão, coloca o filtro primeiro e o botão depois") */
@media(max-width:760px){
  .pa-filtros > .pa-btn-f{order:1}
  .pa-filtros > .pa-ordem{order:2}
  .pa-filtros > [data-ac="novo-pac"]{order:3}
}
/* 08/11 (Dr.: "só um ícone, nem colocaria novo paciente... só um ícone de mais do lado esquerdo"): no celular o + vem
   primeiro, quadrado como o filtro e o ordenar; a busca segue inteira embaixo */
@media(max-width:760px){
  .pa-filtros > [data-ac="novo-pac"]{order:0;flex:none;width:42px;padding:0;justify-content:center}
  .pa-filtros > [data-ac="novo-pac"] .pa-txt{display:none}
  .pa-filtros > [data-ac="novo-pac"] svg{margin:0;width:20px;height:20px}
}
/* 08/11 (Dr., seta na tela): o + vai para a ponta direita da linha; filtro e ordenar à esquerda */
@media(max-width:760px){ .pa-filtros > [data-ac="novo-pac"]{order:3;margin-left:auto} }
/* 08/11: o botão volta com o texto ("Adicionar paciente"), do lado direito da linha do filtro e do ordenar */
@media(max-width:760px){
  .pa-filtros > [data-ac="novo-pac"]{width:auto;padding:0 14px;gap:6px}
  .pa-filtros > [data-ac="novo-pac"] .pa-txt{display:inline}
  .pa-filtros > [data-ac="novo-pac"] svg{width:18px;height:18px}
}
/* 08/11 (Dr.: "o botão é mais grosso que a linha de procurar... os ícones estão um pouquinho fora da proporcionalidade"):
   busca, filtro, ordenar e Adicionar paciente com a MESMA altura, o mesmo canto e ícones do mesmo tamanho */
.pa-filtros{--pa-h:38px}
.pa-filtros .pa-busca{height:var(--pa-h);min-height:0;border-radius:8px;box-sizing:border-box}
.pa-filtros .pa-busca input{min-height:0!important;height:calc(var(--pa-h) - 2px);padding:0!important}
.pa-filtros .pa-btn-f,.pa-filtros [data-ac="novo-pac"],.pa-filtros .pa-ordem select{height:var(--pa-h)!important;min-height:0;border-radius:8px;box-sizing:border-box}
.pa-filtros .pa-btn-f svg,.pa-filtros [data-ac="novo-pac"] svg{width:16px!important;height:16px!important}
@media(max-width:760px){
  .pa-filtros .pa-btn-f,.pa-filtros .pa-ordem,.pa-filtros .pa-ordem select{width:var(--pa-h)}
  .pa-filtros [data-ac="novo-pac"]{font-size:14px;font-weight:500;padding:0 12px}
}
/* 08/11: na ficha do paciente, "Rótulo: valor" na mesma linha */
.kv.kv-linhas{display:block}
.kv-linhas .kv-l{padding:9px 0;border-bottom:1px solid var(--linha);font-size:14px;line-height:1.45;word-break:break-word}
.kv-linhas .kv-r{font-weight:600;color:var(--tinta)}
.kv-linhas .kv-v{color:var(--tinta-2)}
.kv-linhas .kv-v .pa-idade{margin-left:6px}
.kv-linhas .kv-redes{margin:4px 0 0;color:var(--tinta-2);line-height:1.7}
.kv-linhas .kv-l [data-ac="pa-rede-add"]{padding:2px 0;margin-top:2px}
.kv.kv-linhas>div,.kv.kv-linhas>div:nth-child(odd),.kv.kv-linhas>div:nth-child(even){text-align:left!important;font-weight:400!important;padding-right:0!important;display:block!important;color:var(--tinta-2)}
.kv.kv-linhas>div .kv-r{font-weight:600}
/* 08/11: selo do app no topo da ficha, ao lado do StaffChat */
.tel-app{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 9px 2px 7px;border-radius:12px;font-size:12px;font-weight:600;line-height:1.6;white-space:nowrap;vertical-align:middle}
.tel-app svg{width:13px;height:13px}
.tel-app.ok{background:#E6F4EA;color:#1E7E34}
.tel-app.nav{background:#E8F0FE;color:#1A56B8}
.tel-app.conv{background:#FFF4D6;color:#8A6400}
.tel-app.sem{background:#EEF0F3;color:#6B7280}
.ficha-cab .tel{flex-wrap:wrap;white-space:nowrap;row-gap:6px}
button.tel-app{border:0;font-family:inherit;cursor:pointer}
button.tel-app:hover{filter:brightness(.96)}
.pa-sit .tel-app{margin-left:0;margin-right:6px;padding:3px 10px 3px 8px}

/* 08/11 (Dr.: "essa ficha do paciente está na versão Apple mais clean que você pode fazer?"): o cadastro no celular igual aos
   Ajustes do iPhone: fundo cinza-claro, cada aba num cartão branco; campo simples em linha (rótulo à esquerda, valor à
   direita); campo de várias peças com o rótulo pequeno em cima, no mesmo cartão */
@media(max-width:760px){
  .modal:has(.pa-seg) .m-corpo{background:#F2F3F7}
  .modal:has(.pa-seg) .pa-seg{margin-bottom:14px!important}
  .modal:has(.pa-seg) [data-pane]:not(.oculto){display:block!important;background:#fff;border:1px solid var(--linha);border-radius:12px;padding:0 14px}
  .modal:has(.pa-seg) [data-pane] > .campo{margin:0!important;padding:10px 0;border-bottom:1px solid var(--linha);grid-column:auto!important}
  .modal:has(.pa-seg) [data-pane] > .campo:last-child{border-bottom:0}
  .modal:has(.pa-seg) [data-pane] > .campo > label:first-child{font-size:13px;font-weight:500;color:var(--cinza);margin:0 0 4px}
  /* campo simples: uma linha */
  .modal:has(.pa-seg) [data-pane] > .campo:has(> label:first-child + input:last-child),
  .modal:has(.pa-seg) [data-pane] > .campo:has(> label:first-child + select:last-child){display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:4px 0}
  .modal:has(.pa-seg) [data-pane] > .campo:has(> label:first-child + input:last-child) > label,
  .modal:has(.pa-seg) [data-pane] > .campo:has(> label:first-child + select:last-child) > label{font-size:15px;font-weight:400;color:var(--tinta);margin:0;flex:none;max-width:48%}
  .modal:has(.pa-seg) [data-pane] > .campo > input:last-child,.modal:has(.pa-seg) [data-pane] > .campo > select:last-child{border:0!important;background:transparent!important;box-shadow:none!important;text-align:right;text-align-last:right;font-size:15px;color:var(--tinta-2);padding:8px 0;min-width:0;flex:1}
  .modal:has(.pa-seg) [data-pane] > .campo > input:last-child::placeholder{color:#b0b8c4}
  /* campos de várias peças: sem a linha embaixo de cada peça, mais limpos */
  .modal:has(.pa-seg) [data-pane] > .campo :is(input,select,textarea){border-color:transparent;background:#F6F7FA;border-radius:8px}
  .modal:has(.pa-seg) [data-pane] > .campo textarea{min-height:80px;padding:8px 10px}
  .modal:has(.pa-seg) [data-pane] > .campo .linha-flex select{padding:8px 6px}
  .modal:has(.pa-seg) [data-pane] > .campo .check{font-size:14px;color:var(--tinta-2)}
}
/* o que está escondido continua escondido (documento estrangeiro, indicado por, de quem é o celular) */
@media(max-width:760px){
  .modal:has(.pa-seg) [data-pane] > .campo.oculto,.modal:has(.pa-seg) [data-pane] > .campo[hidden]{display:none!important}
  .modal:has(.pa-seg) [data-pane] > .campo:has(> label:first-child + select:last-child) > label{max-width:52%}
}
@media(max-width:760px){
  .modal:has(.pa-seg) [data-pane] > .campo.oculto:not(#x):not(#y),.modal:has(.pa-seg) [data-pane] > .campo[hidden]:not(#x):not(#y){display:none!important}
}
/* 08/11: aviso do dígito verificador do CPF */
.cpf-aviso{display:block;font-size:12.5px;margin:-6px 0 10px}
.cpf-aviso:empty{display:none}
.cpf-aviso.erro{color:#c62828}
.cpf-aviso.ok{color:#2e7d32}
input.invalido{border-color:#c62828!important}
@media(max-width:760px){
  .modal:has(.pa-seg) [data-pane] > .cpf-aviso{text-align:right;margin:-4px 0 8px;font-size:12.5px}
}
/* 08/11: ver os dois cadastros lado a lado */
.jp-ver{border:1px solid var(--linha,#e3e7ee);border-radius:12px;overflow:hidden;font-size:14px}
.jp-ver-cab,.jp-ver-li{display:grid;grid-template-columns:118px 1fr 1fr;gap:10px;padding:9px 12px;align-items:start}
.jp-ver-cab{background:#f4f6f9;font-size:13px}
.jp-ver-li+.jp-ver-li,.jp-ver-cab+.jp-ver-li{border-top:1px solid var(--linha,#e3e7ee)}
.jp-ver-li span{word-break:break-word;min-width:0}
.jp-ver-r{color:#5f6b7a}
.jp-ver-li.igual{background:#eef8f0}
@media(max-width:760px){.jp-ver-cab,.jp-ver-li{grid-template-columns:92px 1fr 1fr;gap:8px;padding:8px 10px;font-size:13px}}
@media(max-width:760px){
  /* 08/11: o rótulo vazio que alinha a caixinha no computador deixava um vão no celular */
  .modal:has(.pa-seg) [data-pane] > .campo:has(> label.check):not(:has(> input)):not(:has(> select)) > label:first-child:not(.check){display:none!important}
}
/* 08/11: "Como fica" da junção, valor longo quebra linha */
.jp-como .fx-li{align-items:flex-start}
.jp-como .fx-rot{flex:0 0 auto;white-space:nowrap}
.jp-como .fx-dir{flex:1 1 auto;min-width:0;white-space:normal;text-align:right;word-break:break-word}
/* 08/11: signo com a setinha que abre */
.sg-linha{display:block!important}
.sg-abre{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;max-width:100%}
.sg-abre svg{width:16px;height:16px;color:#5f6b7a;transition:transform .2s}
.sg-abre[aria-expanded="true"] svg{transform:rotate(180deg)}
.sg-corpo{margin:10px 0 4px;padding:12px 14px;background:#f6f8fb;border-radius:12px;font-size:14px;line-height:1.5;color:#2b3440}
.sg-corpo p{margin:0 0 8px}
.sg-corpo ul{margin:0 0 8px;padding-left:18px}
.sg-corpo li{margin:2px 0}
.sg-tit{font-weight:600;margin-top:4px!important}
.sg-nota{font-size:12.5px;color:#7a8594;margin:0!important}
.sg-abre{font:inherit;color:inherit;line-height:inherit}
.sg-abre .kv-r{font-weight:600}
