/* =====================================================================
   ROUPA DO DONO — visual do ERP do dono (release 1eae1c88) por cima das telas espelho do Vissmed
   Lane visual-dono, 04/10/2026. Pedido do dono: "mais moderno e mais vivo que o Vissmed".
   SÓ APARÊNCIA: nenhuma regra, texto, campo ou passo do Vissmed muda. Carrega por último (index.html).
   Base = tokens do app.css do dono (--r 9px, --borda, --sh-sm/--sh/--sh-lg, --vm-header, Roboto).
   Escopo #cont (telas) e .modal-bg (janelas) para vencer o CSS das lanes sem !important.
   Famílias: pacvm (pacientes e cadastros), vm-espelho (Caixa/OS), orcvm (orçamentos), sxvm (sala de exames),
   prvm (telas do médico), finvm (financeiro), usrvm (usuários), rr (restantes), relvm (relatórios), agv (agenda).
   ===================================================================== */

/* ---------- 0a. Cor da marca (topo-maior, pedido do dono 04/10: "volumizar e trazer um ciano mais bonito") ----------
   Uma variável só: --marca (com --marca-claro para o degradê). Entra onde a cor da marca já entrava (--vm-header /
   --brand: topo, aba ativa, paginação, foco, itens ativos do menu, cabeçalhos de cartão azuis). As cores de status da
   Agenda (ST_CORES) e o verde dos botões primários do Vissmed não mudam.
   O dono escolheu a variante A (#0E7490 → #06B6D4). A B (#0891B2 → #22D3EE) foi descartada: só 3,7:1 com branco.
   Contraste (lote-4b r3/r4): nada branco fica sobre o ciano claro. O topo é --marca cheio (5,36:1 com branco) e o
   --marca-claro só aparece no vão vazio do meio (fundo do .esp). */
:root{--altura-topo:68px;--marca:#0E7490;--marca-claro:#06B6D4;--marca-escuro:#155E75;
  --vm-header:var(--marca);--vm-header-dark:var(--marca-escuro);--brand:var(--marca)}

/* ---------- 0b. Header do dono: testeira 68 px, logo 40 px, itens 14 px/600, ícones 20-22 px ---------- */
.vm-header{height:68px;gap:16px;padding:0 20px;background:var(--marca);box-shadow:0 2px 8px rgba(0,0,0,.12)}
/* topo CLARO (escolha do dono, 04/10: degradê A #0E7490 → #06B6D4). O ciano fica SÓ no vão vazio entre o logo e os itens
   da direita: o degradê é o fundo do próprio espaçador (.esp), que cresce e encolhe com a tela. As pontas do vão são
   #0E7490, então logo, hambúrguer e todo o branco da direita ficam sempre sobre #0E7490 (5,36:1). Tela estreita sem vão:
   o espaçador some (largura 0) e o topo fica todo #0E7490. */
.vm-header .esp{align-self:stretch;min-width:0;background:linear-gradient(90deg,var(--marca) 0,var(--marca-claro) 50%,var(--marca) 100%)}
.vm-ham{width:44px;height:44px;font-size:24px;border-radius:8px}
.vm-logoimg{height:40px}
.vm-logo{font-size:20px;background:var(--marca);padding:4px 10px;border-radius:6px}
.vm-header [hidden]{display:none!important}
.vm-htxt{font-size:14px;font-weight:600;gap:8px;letter-spacing:.3px;min-width:0}
.vm-htxt i{font-size:21px;flex-shrink:0}
.vm-htxt-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vm-hicon{width:42px;height:42px;font-size:21px;border-radius:8px;flex-shrink:0}
.vm-hbtn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;border:1.5px solid rgba(255,255,255,.85);border-radius:999px;
  background:rgba(255,255,255,.08);color:#fff;font:600 14px/1 var(--font);text-transform:uppercase;letter-spacing:.4px;cursor:pointer;white-space:nowrap;
  flex-shrink:0;transition:background var(--tr),border-color var(--tr)}
.vm-hbtn i{font-size:20px}
.vm-hbtn:hover,.vm-hbtn:focus-visible{background:var(--marca-escuro);border-color:#fff}
.vm-hbtn:disabled{opacity:.6;cursor:default}
.vm-hcaixa-data{opacity:.95}
/* telas estreitas: nada quebra nem sai da barra — o nome da empresa vira só o ícone (com o nome no title) */
@media (max-width:1500px){.vm-htxt-empresa .vm-htxt-t{display:none}}

/* ---------- 1. Caminho "Início / ..." do Vissmed: o menu do dono já diz onde a pessoa está ---------- */
#cont .pacvm-bc,#cont .orcvm-breadcrumb,#cont .sxvm-breadcrumb,#cont .prvm-breadcrumb,#cont .vm-breadcrumb,#cont ol.breadcrumb,
#cont .finvm-trilha,#cont .relvm-trilha,#cont .rr-trilha,#cont .usrvm-bread{display:none}

/* ---------- 2. Cartões: o card do dono (raio 9, borda fina, sombra em 2 camadas) ---------- */
#cont :is(.pacvm-card,.orcvm-card,.sxvm-card,.prvm-card,.usrvm-card,.rr-card,.cadm-sec),
#cont .vm-espelho>.card{background:#fff;border:var(--borda);border-radius:var(--r);box-shadow:var(--sh-sm);overflow:visible}
#cont :is(.pacvm-card,.orcvm-card,.sxvm-card,.prvm-card,.rr-card){margin-bottom:16px}
#cont .usrvm-card{margin-bottom:24px}
#cont .vm-espelho>.card{padding:20px 22px}
/* cabeçalho do cartão = título do dono: 20 px, peso 500; subtítulo cinza */
#cont :is(.pacvm-card-h,.orcvm-card-h,.sxvm-card-header,.prvm-card-h,.usrvm-card-h,.rr-card-header){padding:20px 22px 12px}
#cont :is(.pacvm-card-h,.orcvm-card-h,.sxvm-card-header,.prvm-card-h,.usrvm-card-h,.rr-card-header) h2,
#cont .vm-espelho>.card>.shead h2,#cont .finvm .finvm-card-h h2{font-size:20px;font-weight:500;letter-spacing:-.2px;color:var(--vm-ink);margin:0}
#cont :is(.pacvm-card-h,.orcvm-card-h,.sxvm-card-header,.prvm-card-h,.usrvm-card-h,.rr-card-header) small,
#cont .vm-espelho>.card>.shead small,#cont .finvm .finvm-card-h small{display:block;margin-top:4px;font-size:12.5px;color:var(--vm-ink-3)}
#cont .vm-espelho>.card>.shead{margin-bottom:16px}
#cont .vm-espelho h2{color:var(--vm-ink)}
#cont :is(.pacvm-card-b,.orcvm-card-b,.prvm-card-b){padding:4px 22px 18px}

/* ---------- 3. Botão "+" flutuante do Vissmed → botão visível no alto do cartão, com o texto do Vissmed ---------- */
#cont :is(.pacvm-float,.orcvm-float,.prvm-flutuante,.usrvm-fab,.rr-flutuante){position:absolute;top:30px;right:22px;bottom:auto;left:auto;z-index:3;width:auto;height:36px;padding:0 16px;
  display:inline-flex;align-items:center;gap:7px;border:0;border-radius:var(--r);background:var(--vm-verde);color:#fff;
  font:500 12.5px/1 var(--font);text-transform:uppercase;letter-spacing:.4px;cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),var(--sh-sm);transition:filter var(--tr),box-shadow var(--tr),transform var(--tr)}
#cont :is(.pacvm-float,.orcvm-float,.prvm-flutuante,.usrvm-fab,.rr-flutuante) i{font-size:17px}
#cont :is(.pacvm-float,.orcvm-float,.prvm-flutuante,.usrvm-fab,.rr-flutuante)::after{content:attr(title)}
#cont :is(.pacvm-float,.orcvm-float,.prvm-flutuante,.usrvm-fab,.rr-flutuante):hover{filter:brightness(.97);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),var(--sh);transform:translateY(-1px)}
#cont .orcvm-float{top:20px}
#cont .finvm-float{width:auto;height:36px;padding:0 15px;border-radius:var(--r);gap:7px;font:500 12.5px/1 var(--font);text-transform:uppercase;letter-spacing:.4px}
#cont .finvm-float::after{content:attr(title)}
#cont .finvm-float i{font-size:17px}
/* a pele precisa do cartão como referência do botão */
#cont :is(.pacvm,.prvm,.rr-tela,.usrvm){position:relative}
/* cadastro com botões no cabeçalho (De-para, Acesso...): abre espaço para o Incluir */
#cont .pacvm:has(> .pacvm-float) .cadvm-topo{margin-right:130px}

/* ---------- 4. Filtros: cartão claro com rótulo legível (o "cartão de filtros" do dono) ---------- */
#cont :is(.pacvm-filtros,.orcvm-filtros,.prvm-filtros,.usrvm-filtros,.rr-filtros,.sxvm-filtros,.relvm-filtros,.finvm-filtros),
#cont .vm-espelho .vm-filtros{background:#F7FBFC;border:1px solid #E3ECEF;border-radius:var(--r-sm);padding:12px 14px 14px;margin:2px 0 16px}
#cont :is(.pacvm-filtros,.orcvm-filtros,.prvm-filtros,.usrvm-filtros,.rr-filtros,.sxvm-filtros,.relvm-filtros,.finvm-filtros) label,
#cont .vm-espelho .vm-filtros label{font-size:11px;font-weight:600;color:var(--vm-ink-3);letter-spacing:.3px;text-transform:none}
#cont .vm-espelho input,#cont .vm-espelho select{font-size:14px}
/* botão de lupa redondo do Vissmed → botão do dono */
#cont .pacvm-btn-busca{height:36px;min-width:42px;padding:0 14px;border-radius:var(--r);background:var(--vm-verde);font-size:17px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),var(--sh-sm)}

/* ---------- 5. Tabelas: cabeçalho e zebra do dono em todas as listas espelho ---------- */
#cont :is(.pacvm-tabela,.vm-espelho,.orcvm-card,.sxvm,.rr-tela,.usrvm,.finvm,.relvm) table.t,
.modal-bg .vm-espelho-modal table.t{font-size:13px}
#cont :is(.pacvm-tabela,.vm-espelho,.orcvm-card,.sxvm,.rr-tela,.usrvm,.finvm,.relvm) table th,
#cont table.prvm-tabela th,.modal-bg :is(.vm-espelho-modal,.prvm-janela) table th{
  font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--vm-ink-2);font-weight:600;padding:12px 14px;text-align:left;
  background:#F2F6F7;border-bottom:1.5px solid var(--vm-line-2);white-space:nowrap}
#cont :is(.pacvm-tabela,.vm-espelho,.orcvm-card,.sxvm,.rr-tela,.usrvm,.finvm,.relvm) table td,
#cont table.prvm-tabela td,.modal-bg :is(.vm-espelho-modal,.prvm-janela) table td{padding:10px 14px;border-bottom:1px solid var(--vm-line);font-size:13px}
#cont :is(.pacvm-tabela,.vm-espelho,.orcvm-card,.sxvm,.rr-tela,.usrvm,.finvm,.relvm) table tbody tr:nth-child(odd),
#cont table.prvm-tabela tbody tr:nth-child(odd){background:var(--vm-zebra)}
#cont :is(.pacvm-tabela,.vm-espelho,.orcvm-card,.sxvm,.rr-tela,.usrvm,.finvm,.relvm) table tbody tr:hover,
#cont table.prvm-tabela tbody tr:hover{background:#EDF8FB}
#cont :is(.pacvm-tabela,.prvm-tabela-wrap,.rr-tela .tw,.usrvm .tw){border:var(--borda);border-radius:var(--r);overflow:auto;background:#fff}
#cont .vm-espelho #osv-lista .tw,#cont .vm-espelho #osv-lista table.t{border-radius:var(--r)}
/* lista vazia: o estado vazio do dono (ícone + frase) no lugar da tabela crua sem linha */
#cont :is(.prvm-tabela-wrap,.prvm-card-b,.pacvm-tabela,.rr-tela .tw):has(> table > tbody:empty)::after{
  content:"Nenhum registro para mostrar";display:block;padding:58px 20px 26px;text-align:center;font-size:13px;color:var(--vm-ink-3);
  background:no-repeat center 18px/30px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239AA4AA' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z'/%3E%3Cpath d='M4 13h3l3 3h4l3-3h3'/%3E%3C/svg%3E")}

/* ---------- 6. Botões das telas espelho → botão do dono (raio 9, caixa alta, sombra leve) ---------- */
#cont .vm-espelho .btn,.modal-bg .vm-espelho-modal .btn{border-radius:var(--r);text-transform:uppercase;letter-spacing:.4px;font-size:12.5px;font-weight:500;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),var(--sh-sm)}
#cont .vm-espelho .btn.primary,.modal-bg .vm-espelho-modal .btn.primary{background:var(--vm-verde)}
#cont .vm-espelho .btn.danger,.modal-bg .vm-espelho-modal .btn.danger{background:var(--vm-vermelho)}
#cont .vm-opcoes .btn.sm{width:32px;height:32px;padding:0;justify-content:center;border-radius:50%;background:#F0F4F5;box-shadow:none;color:var(--vm-ink-2)}
#cont .vm-opcoes .btn.sm:hover{background:#DCEEF3;color:var(--vm-header-dark)}
#cont .vm-opcoes .btn.sm i{font-size:16px}
:is(#cont,.modal-bg) :is(.prvm-btn-verde,.prvm-btn-vermelho,.prvm-btn-azul,.prvm-btn-azul-escuro,.prvm-btn-cinza,.prvm-btn,.btn.orcvm-verde,.btn.orcvm-vermelho,.btn.orcvm-azul,.btn.orcvm-laranja,.btn.orcvm-azul2,.btn.orcvm-verde2,.btn.orcvm-amarelo){
  border-radius:var(--r);padding:9px 15px;font-size:12.5px;font-weight:500;text-transform:uppercase;letter-spacing:.4px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),var(--sh-sm);transition:filter var(--tr),box-shadow var(--tr),transform var(--tr)}
:is(#cont,.modal-bg) :is(.prvm-btn-verde,.prvm-btn-vermelho,.prvm-btn-azul,.prvm-btn-azul-escuro,.prvm-btn-cinza,.prvm-btn):not(:disabled):hover{filter:brightness(.97);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),var(--sh)}
:is(#cont,.modal-bg) .prvm-btn-verde,:is(#cont,.modal-bg) .prvm-btn.prvm-btn-verde{background:var(--vm-verde)}
:is(#cont,.modal-bg) .prvm-btn-vermelho{background:var(--vm-vermelho)}
:is(#cont,.modal-bg) :is(.prvm-btn-azul,.prvm-btn-azul-escuro){background:#2F7E92}
:is(#cont,.modal-bg) .prvm-btn-cinza{background:#78909C}
:is(#cont,.modal-bg) .prvm-btn-link{background:transparent;box-shadow:none;color:var(--vm-ink-2)}
/* ícones redondos de "Opções" */
#cont :is(.pacvm-ico,.orcvm-circ,.prvm-icone){width:32px;height:32px;border-radius:50%;background:#F0F4F5;color:var(--vm-ink-2);transition:background var(--tr),color var(--tr)}
#cont :is(.pacvm-ico,.orcvm-circ,.prvm-icone):hover{background:#DCEEF3;color:var(--vm-header-dark)}
#cont .orcvm-circ-vermelho,#cont .prvm-icone.is-verde{color:#fff}
#cont .orcvm-circ-vermelho{background:var(--vm-vermelho)}
#cont .prvm-icone.is-verde{background:var(--vm-verde)}

/* ---------- 7. Paginação (ngTable do Vissmed) → pílulas do dono ---------- */
#cont :is(.pacvm-pag,.orcvm-pager button,.prvm-pag-paginas button,.prvm-pag-contagens button,.usrvm-pages button,.sxvm-pagination button,.rr-tela .pag button){
  min-width:32px;height:32px;border:1px solid var(--vm-line);border-radius:var(--r-sm);background:#fff;color:var(--vm-ink-2);font-size:12.5px;cursor:pointer;transition:background var(--tr)}
#cont :is(.pacvm-pag,.orcvm-pager button,.prvm-pag-paginas button,.prvm-pag-contagens button):hover:not(:disabled){background:#EDF8FB}
#cont :is(.pacvm-pag.on,.orcvm-pager button.on,.prvm-pag-paginas .active button){background:var(--vm-header);border-color:var(--vm-header);color:#fff;font-weight:600}
#cont .prvm-pag-contagens .active,#cont .prvm-pag-contagens .active button{background:#DCEEF3;color:var(--vm-header-dark)}
#cont .vm-paginacao{gap:8px}

/* ---------- 8. Janelas das telas espelho → janela do dono (raio 6, título em caixa alta cinza) ---------- */
.modal-bg :is(.vm-espelho-modal .modal,.modal.agv,.pacvm-modal .modal,.orcvm-modal-bg .modal){border-radius:6px}
.modal-bg.vm-espelho-modal .modal,.vm-espelho-modal .modal{border-radius:6px}
.vm-espelho-modal .modal-h{border-bottom:1px solid var(--vm-line);padding:16px 22px}
.vm-espelho-modal .modal-h .t,.pacvm-modal .modal-h .t{text-transform:uppercase;font-size:15px;font-weight:500;color:var(--vm-ink-2)}
.vm-espelho-modal .modal-f{border-top:1px solid var(--vm-line);padding:12px 22px}
.prvm-janela{border-radius:6px;box-shadow:var(--sh-lg)}
.prvm-janela-h{padding:18px 24px 12px;border-bottom:1px solid var(--vm-line)}
.prvm-janela-h h2{font-size:15px;font-weight:500;text-transform:uppercase;color:var(--vm-ink-2)}
.prvm-janela-b{padding:16px 24px}
.prvm-janela-f{padding:12px 24px 18px;border-top:1px solid var(--vm-line)}
.prvm-swal .prvm-janela-h,.prvm-swal .prvm-janela-f{border:0}
.prvm-janela-bg{background:rgba(30,42,46,.5)}

/* ---------- 9. Caixa: tiles por forma de pagamento em cima da lista (ERP do dono) ---------- */
.cxf-strip{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.cxf-tile{flex:1;min-width:130px;border-radius:10px;padding:10px 14px;color:#fff;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:transform var(--tr),box-shadow var(--tr)}
.cxf-tile:hover{transform:translateY(-1px);box-shadow:var(--sh)}
.cxf-tile small{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;opacity:.92}
.cxf-tile b{display:block;font-size:17px;margin-top:3px;font-variant-numeric:tabular-nums}
.cxf-tile span{font-size:10.5px;opacity:.85}
#cont .cx-dono-topo{margin:0 0 14px}
#cont .cx-dono-acts{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px}
#cont .cx-dono-hoje{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;color:var(--vm-ink-3);text-transform:uppercase;letter-spacing:.4px}
#cont .cx-dono-acts .btn{text-decoration:none}

/* ---------- 10. Agenda: topo do dono (filtros + BUSCAR PACIENTES na 1ª linha, contadores no alto) ---------- */
#cont .ag-top .ag-buscarpac-top{margin-left:auto;align-self:center}
#cont .ag-atend{gap:8px}
#cont .ag-encerrar,#cont .ag-demanda,#cont .ag-linhatempo{border-radius:var(--r)!important}
#cont .ag-timer,#cont .ag-agendando{border-radius:var(--r)}
#cont .ag-leg-top .ag-legchip{padding:6px 11px;border-radius:5px;font-size:11px;font-weight:700;box-shadow:0 1px 2px rgba(38,50,56,.16)}
/* pedido do dono (04/10): "Não disponível" em cinza SÓLIDO liso, como o Vissmed (sem hachura); texto escuro AA.
   05/10: cores centralizadas nas variáveis da .ag-screen em app.css. */
#cont .ag-indisp{background:var(--ag-indisp-bg);border-top:1px solid var(--ag-indisp-borda);border-bottom:1px solid var(--ag-indisp-borda)}
#cont .ag-indisp span,#cont .ag-indisp .ag-indisp-h{color:#1F2933}
.vm-header{height:var(--altura-topo)}
#cont .cx-embed{height:calc(100vh - var(--altura-topo))}
/* lote-4b: filtro de status ligado — aviso acima da grade e o horário de um card escondido (não é vaga, não clica) */
#cont .ag-filtro-aviso{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#FFF4C2;
  border:1px solid #F2C94C;color:#5C4300;font-size:12px;font-weight:600}
#cont .ag-linha.ag-oculta-linha:hover{background:transparent;cursor:not-allowed}
#cont .ag-filtro-limpar{border:0;background:none;color:#7A5300;text-decoration:underline;cursor:pointer;font-weight:700;font-size:12px}
#cont .ag-oculto{border-radius:4px;cursor:not-allowed;font-size:10px;font-weight:600;color:#4B5563;
  padding:2px 5px;background:repeating-linear-gradient(45deg,#F4F6F7,#F4F6F7 6px,#E9EDEF 6px,#E9EDEF 12px);border:1px dashed #C7D0D5}
/* pedido do dono (04/10): MENSAL/SEMANAL e MAPA mostram os médicos do dia com a quantidade de pacientes e as barrinhas
   Manhã/Tarde do cabeçalho da coluna (mesmo componente .col-vol); visual do dono: ciano da marca e película fosca */
.agv-cal{grid-template-columns:repeat(7,minmax(0,1fr))}
.agv-cal .dia{vertical-align:top;min-width:0}
.agv-cal .vg-med .col-vol{gap:2px}
.agv-cal .vg-med .cv-lbl{width:30px}
.agv-cal .ev.vg-med{display:block;margin-top:4px;padding:4px 6px;border-radius:6px;background:#fff;color:var(--vm-ink);
  border:1px solid #D7E6EA;border-left:3px solid var(--marca);box-shadow:0 1px 2px rgba(38,50,56,.10);cursor:pointer;white-space:normal}
.agv-cal .ev.vg-med:hover,.agv-cal .ev.vg-med:focus-visible{border-color:var(--marca);box-shadow:0 2px 6px rgba(14,116,144,.25);outline:none}
.agv-cal .vg-l1{display:flex;align-items:baseline;gap:4px;justify-content:space-between}
.agv-cal .vg-nm{font-size:10.5px;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.agv-cal .vg-pac{flex-shrink:0;font-size:9.5px;font-weight:700;color:var(--marca-escuro)}
.agv-cal .vg-disp{font-size:9.5px;line-height:1.25;margin-top:2px;color:var(--vm-ink-2)}
.agv-cal .vg-med .col-vol{margin-top:3px}
/* MAPA: a faixa de disponibilidade do Vissmed (verde/amarelo/vermelho) na borda e na película fosca de fundo */
.agv-cal .ev.vg-med.verde{background:#E8F7EF;border-left-color:#00A65A}
.agv-cal .ev.vg-med.amarelo{background:#FFFBE0;border-left-color:#E8C400}
.agv-cal .ev.vg-med.vermelho{background:#FCEBE8;border-left-color:#DD4B39}
/* pedido do dono (04/10): PACOTE guiado — painel ao lado da grade, itens em ordem, aviso amarelo de ordem */
#cont.com-painel-pacote .ag-screen{margin-right:412px}
.pct-painel{position:fixed;top:var(--altura-topo,68px);right:0;bottom:0;width:400px;z-index:25;background:#fff;border-left:1px solid #D7E6EA;
  box-shadow:-6px 0 18px rgba(38,50,56,.12);display:flex;flex-direction:column;overflow:hidden;font-size:13px;color:var(--vm-ink)}
.pct-cab{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;color:#fff;
  background:linear-gradient(90deg,var(--marca-claro),var(--marca) 55%)}
.pct-cab-t{font-weight:700;font-size:15px;margin-right:8px}.pct-cab-p{font-size:12.5px;opacity:.95}
.pct-fechar{border:0;background:rgba(255,255,255,.18);color:#fff;width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:18px}
.pct-corpo{padding:12px 14px;overflow-y:auto;flex:1}
.pct-dica{margin:0 0 10px;color:var(--vm-ink-2)}
.pct-filtro{width:100%;margin-bottom:10px}
.pct-card{border:1px solid #D7E6EA;border-left:3px solid var(--marca);border-radius:8px;padding:8px 10px;margin-bottom:8px;background:#fff}
.pct-card-l1{display:flex;justify-content:space-between;gap:8px}.pct-preco{font-weight:700;color:var(--marca-escuro);white-space:nowrap}
.pct-card-l2{display:flex;justify-content:space-between;align-items:center;margin-top:4px;color:var(--vm-ink-3)}
.pct-card details{margin-top:4px;font-size:12px}.pct-card summary{cursor:pointer;color:var(--marca-escuro)}
.pct-titulo{display:flex;justify-content:space-between;align-items:baseline;font-size:14.5px;margin-bottom:6px}
.pct-os{background:#F2F8FA;border:1px solid #D7E6EA;border-radius:8px;padding:7px 9px;margin-bottom:8px;font-size:12.5px}
.pct-os.pago{background:#E8F7EF;border-color:#B6E2C8}
.pct-prog-t{font-weight:700;font-size:12.5px;margin-bottom:3px}
.pct-prog-b{height:8px;border-radius:5px;background:#E4EBEC;overflow:hidden;margin-bottom:10px}.pct-prog-b i{display:block;height:100%;background:var(--marca)}
.pct-atual{background:#ECFEFF;border:1px solid #A5E9F2;border-left:4px solid var(--marca);border-radius:8px;padding:8px 10px;margin-bottom:10px}
.pct-atual-r{font-size:12px;color:var(--vm-ink-2);margin:3px 0 6px}.pct-atual-a{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px}
.pct-lista{list-style:none;margin:0;padding:0}
.pct-item{display:flex;gap:8px;align-items:flex-start;padding:7px 4px;border-bottom:1px solid #EEF3F4}
.pct-item.atual{background:#F5FDFF}.pct-item.pulado{opacity:.7}
.pct-n{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:#E4EBEC;color:var(--vm-ink-2);font-weight:700;font-size:11px;display:flex;align-items:center;justify-content:center}
.pct-item.st-agendado .pct-n,.pct-item.st-feito .pct-n{background:var(--marca);color:#fff}
.pct-item-c{flex:1;min-width:0}.pct-item-l1{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.pct-item-l2{font-size:11.5px;color:var(--vm-ink-3);margin-top:2px}
.pct-st{font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:9px;background:#E4EBEC;color:var(--vm-ink-2)}
.pct-item.st-agendado .pct-st{background:#D5F5E0;color:#14532D}.pct-item.st-feito .pct-st{background:#0B5F2E;color:#fff}
.pct-item.st-sem_horario .pct-st{background:#F1F3F4}
.pct-selo-fora{font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:9px;background:#FFF4C2;color:#7A5300;border:1px solid #F2C94C}
.pct-agora{font-size:11px;font-weight:700;color:var(--marca-escuro);white-space:nowrap}
.pct-rodape{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}
.pct-link{border:0;background:none;color:var(--marca-escuro);text-decoration:underline;cursor:pointer;font-size:12px;padding:0}
.pct-vazio{color:var(--vm-ink-3)}
#cont #ag-grade.ag-guiado .ag-linha.livre-slot{background:rgba(6,182,212,.13);box-shadow:inset 3px 0 0 rgba(14,116,144,.55)}
#cont #ag-grade.ag-guiado .ag-linha.livre-slot:hover{background:rgba(6,182,212,.28)}
.modal-bg .pct-aviso-ordem .modal-h{background:#FFF4C2}
.pct-aviso{display:flex;gap:10px;background:#FFF8D6;border:1px solid #F2C94C;border-radius:8px;padding:10px 12px;color:#5C4300}
.pct-aviso i{font-size:22px;color:#B7791F}.pct-aviso p{margin:4px 0 0}
.pct-ordem-certa{margin-top:10px;font-size:13px}.pct-ordem-certa ol{margin:4px 0 0 18px;padding:0}
.pct-aviso-nota{font-size:12px;color:var(--vm-ink-3);margin:10px 0 0}
.modal-bg .pct-btn-mesmo-assim{background:#F2C94C;color:#3D2C00;border-color:#E0B43A;font-weight:700}
/* pedido do dono (04/10): os chips filtram de novo — clicáveis e, ligados, com o contorno do ERP do dono (1eae1c88) */
#cont .ag-leg-top .ag-legchip{cursor:pointer}
#cont .ag-leg-top .ag-legchip:hover{filter:brightness(1.06);transform:translateY(-1px)}
#cont .ag-leg-top .ag-legchip.on{border-color:#fff;box-shadow:0 0 0 2px #263238,0 4px 10px rgba(38,50,56,.28);transform:translateY(-1px)}
.modal.agv{border-radius:6px}

/* ---------- 11. Pacientes / cadastros espelho ---------- */
#cont .pacvm-card-b{padding-top:0}
#cont .pacvm-filtros{margin:4px 0 16px}
#cont .pacvm-busca{align-self:end}

/* ---------- 12. Orçamentos espelho ---------- */
#cont .orcvm-card-b{padding:0 22px 20px}
#cont .orcvm-filtros{margin:4px 0 16px}

/* ---------- 13. Telas do MÉDICO (prvm-): hierarquia, respiro e tipografia do ERP do dono ---------- */
#cont .prvm{max-width:1220px}
#cont .prvm-card{padding:0}
#cont .prvm-card-h-azul{background:var(--marca);border-bottom:3px solid var(--marca-claro);padding:13px 20px 10px;border-radius:var(--r) var(--r) 0 0}
#cont .prvm-card-h-azul h2{color:#fff;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}
#cont .prvm-subtitulo{color:var(--vm-header-dark);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin:20px 0 10px;
  padding-bottom:7px;border-bottom:1px solid var(--vm-line)}
#cont .prvm-vazio{padding:34px 20px;color:var(--vm-ink-3);font-size:13px}
#cont .prvm-filtros{gap:10px 16px}
#cont .prvm-fg>label{font-size:12.5px}
#cont .prvm-fg>input:focus+label,#cont .prvm-fg>input:not(:placeholder-shown)+label,#cont .prvm-fg>input[type=date]+label,
#cont .prvm-fg>textarea+label,#cont .prvm-fg-leitura>label,#cont .prvm-fg-select>label{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}
#cont .prvm-campo>label,#cont .prvm-rotulo,.prvm-janela .prvm-campo>label{font-size:11px;font-weight:600;color:var(--vm-ink-3);text-transform:uppercase;letter-spacing:.4px}
:is(#cont,.prvm-janela) .prvm-campo textarea,:is(#cont,.prvm-janela) .prvm-texto-editor textarea{border:1px solid #D5DEE1;border-radius:var(--r-sm);padding:10px 12px;line-height:1.5;
  transition:border-color var(--tr),box-shadow var(--tr)}
:is(#cont,.prvm-janela) .prvm-campo textarea:focus,:is(#cont,.prvm-janela) .prvm-texto-editor textarea:focus{border-color:var(--vm-header);box-shadow:0 0 0 3px rgba(95,179,199,.18)}
/* badges do tipo (Consulta / demais) com o desenho dos selos do dono */
#cont :is(.prvm-badge-consulta,.prvm-badge-outro,.prvm-badge-resumo){border-radius:12px;padding:3px 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}
#cont .prvm-badge-consulta{background:#E2F5EC;color:#0C8A46}
#cont .prvm-badge-outro{background:#FAEADC;color:#A9581A}
#cont .prvm-badge-resumo{background:#E4EBF8;color:#2F55A4}
#cont .prvm-online{border-radius:10px;padding:1px 8px}
#cont .prvm-alerta-aberto{border-radius:var(--r);box-shadow:var(--sh-sm)}
#cont .prvm-aviso-amarelo{border-radius:var(--r-sm);background:#FDF3D0;color:#6B5308;border:1px solid #F2DD8B}
/* cabeçalho do paciente no prontuário: cartão com avatar, nome e dados lado a lado */
#cont .prvm-header{background:#fff;border:var(--borda);border-radius:var(--r);box-shadow:var(--sh-sm);margin:12px 18px;padding:16px 20px;gap:12px 22px}
#cont .prvm-header-foto{background:linear-gradient(160deg,#68BCCE 0%,#4C9FB3 100%);border-radius:var(--r);padding:16px 10px;box-shadow:0 10px 20px -10px rgba(60,133,152,.65)}
#cont .prvm-avatar{width:76px;height:76px;font-size:38px;background:rgba(255,255,255,.22);box-shadow:0 0 0 3px rgba(255,255,255,.35)}
#cont .prvm-header-foto h4{font-size:14.5px;font-weight:600}
#cont .prvm-header-campos{gap:6px 18px}
#cont .prvm-header-estat{font-size:13.5px;font-weight:500}
#cont .prvm-cronometro{gap:10px;flex-wrap:wrap}
#cont .prvm-cronometro li{background:#F2F6F7;border-radius:12px;padding:4px 11px;font-size:12.5px}
#cont .prvm-itens-servico{border:var(--borda);border-radius:var(--r);background:#fff;box-shadow:var(--sh-sm);margin:12px 18px;padding:12px 18px}
#cont .prvm-itens-servico h2{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--vm-header-dark)}
/* abas do prontuário: trilho lateral como as abas do Dashboard (pílula ativa com faixa teal) */
#cont .prvm-abas-v{margin:12px 18px 0;gap:18px;grid-template-columns:220px 1fr}
#cont .prvm-abas-nav{border-right:0;gap:3px;background:#fff;border:var(--borda);border-radius:var(--r);box-shadow:var(--sh-sm);padding:8px;align-self:start;position:sticky;top:8px}
#cont .prvm-aba{border-left:0;border-radius:var(--r-sm);padding:10px 12px;font-size:13px;font-weight:500;color:var(--vm-ink-2);transition:background var(--tr),color var(--tr)}
#cont .prvm-aba:hover{background:#F0F6F8;color:var(--vm-ink)}
#cont .prvm-aba.is-ativa{background:#DCEEF3;color:var(--vm-header-dark);font-weight:600;box-shadow:inset 3px 0 0 var(--vm-header)}
#cont .prvm-abas-conteudo{background:#fff;border:var(--borda);border-radius:var(--r);box-shadow:var(--sh-sm);padding:18px 22px 20px;min-height:420px}
#cont .prvm-abas-h{border-bottom:1px solid var(--vm-line);gap:4px}
#cont .prvm-aba-h{border-radius:var(--r-sm) var(--r-sm) 0 0;font-weight:500;text-transform:uppercase;font-size:11.5px;letter-spacing:.4px;padding:10px 13px}
#cont .prvm-aba-h.is-ativa{border-bottom-color:var(--vm-header);color:var(--vm-header-dark);background:#F4FAFB}
/* linha do tempo / histórico e cartões de itens */
#cont .prvm-tv{border-radius:var(--r-sm);border:var(--borda);border-left-width:4px}
#cont .prvm-tv-tags li{border-radius:10px;padding:2px 9px}
#cont :is(.prvm-cartao-item,.prvm-card-interno,.prvm-card-lateral,.prvm-galeria-item,.prvm-miniatura){border:var(--borda);border-radius:var(--r-sm);box-shadow:var(--sh-sm)}
#cont .prvm-cartao-h h2{color:var(--vm-header-dark);font-size:14.5px;font-weight:600}
#cont .prvm-attrs li{border-radius:10px;background:#F2F6F7}
#cont .prvm-editor{border-radius:var(--r-sm);border-color:#D5DEE1;overflow:hidden}
#cont .prvm-editor-barra{background:#F7FBFC}
#cont .prvm-editor-btn{border-color:#D5DEE1;border-radius:4px;margin-left:2px}
#cont .prvm-documento-leitura{border-radius:var(--r-sm);background:#F7FBFC}
#cont .prvm-sugestoes{border-radius:0 0 var(--r-sm) var(--r-sm)}
#cont .prvm-progresso{border-radius:4px}
#cont .prvm-progresso>div{background:var(--vm-header)}
#cont .prvm-ord-menu,#cont .prvm-btn-grupo .prvm-btn-cinza:first-child{border-radius:var(--r-sm)}
@media (max-width:900px){#cont .prvm-abas-v{grid-template-columns:1fr}#cont .prvm-abas-nav{position:static;flex-direction:row;overflow:auto}}

/* ---------- 14. Componentes de lane com pele própria (chosen do orçamento, sala de exames) ---------- */
#cont .orcvm-chosen-drop,.modal-bg .orcvm-chosen-drop{border-radius:var(--r-sm);border:var(--borda);box-shadow:var(--sh-lg)}
#cont .orcvm-chosen-drop li.on,#cont .orcvm-chosen-drop li:hover,.modal-bg .orcvm-chosen-drop li.on,.modal-bg .orcvm-chosen-drop li:hover{background:#EDF8FB;color:var(--vm-ink)}
#cont .sxvm-card-body{padding:0 22px 16px}

/* ---------- 15. Agenda: barra da grade (volume, Mensal/Semanal, Mapa, setas) sem aperto ---------- */
#cont .ag-grid-tools{align-items:center;gap:8px}
#cont .ag-grid-tools .ag-link{white-space:nowrap;padding:0 4px;height:42px}
#cont .ag-grid-tools .cap-wrap{flex:1 1 auto;min-width:0;align-self:stretch}
#cont .ag-grid-tools #ag-toggle-vazias{white-space:nowrap;font-size:10.5px;padding:7px 10px}
@media (max-width:1700px){#cont .ag-grid-tools .cap-sub{display:none}}
#cont .ag-agenda-filters .ag-filter-field{min-width:190px}
#cont .ag-grid-tools .cap-bars{gap:20px}

/* ---------- 16. Ajustes finos ---------- */
#cont .cxf-tile small{color:inherit}
#cont .vm-filtros .field:has(.vm-data){flex:1.7;min-width:220px}
#cont .vm-data .btn{padding:6px 9px;font-size:11px;box-shadow:none}
#cont .orcvm-float{top:24px}
#cont .usrvm-busca{height:36px;min-width:42px;border:0;border-radius:var(--r);background:var(--vm-verde);color:#fff;font-size:17px;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),var(--sh-sm)}
#cont .usrvm-ic{width:32px;height:32px;border:0;border-radius:50%;background:#F0F4F5;color:var(--vm-ink-2);cursor:pointer;font-size:16px;margin-right:4px}
#cont .usrvm-ic:hover{background:#DCEEF3;color:var(--vm-header-dark)}
#cont .usrvm-count button.on,#cont .usrvm-pages button.on{background:var(--vm-header);border-color:var(--vm-header);color:#fff}
#cont .usrvm-tw{border:var(--borda);border-radius:var(--r);overflow:auto;background:#fff}
#cont .usrvm-t th{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--vm-ink-2);font-weight:600;padding:12px 14px;background:#F2F6F7;border-bottom:1.5px solid var(--vm-line-2);text-align:left}
#cont .usrvm-t td{padding:10px 14px;border-bottom:1px solid var(--vm-line);font-size:13px}
#cont .usrvm-t tbody tr:nth-child(odd){background:var(--vm-zebra)}
#cont .usrvm-t tbody tr:hover{background:#EDF8FB}
#cont .cx-sem-caixa{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px dashed #CFE6ED;border-radius:var(--r-sm);background:#F7FBFC;color:var(--vm-ink-3);font-size:13px}

/* =====================================================================
   17. PRONTUÁRIO E TELAS DO MÉDICO — 2ª passada (visual-dono 04/10)
   Faixa do paciente presa no alto, dados recolhíveis, navegação de abas com contador, editor de leitura
   confortável, linha do tempo visual e Sala de Espera em cartões. Só aparência (ids, textos e passos iguais).
   ===================================================================== */
#cont .prvm-pront{max-width:1320px}
/* ---- faixa do paciente ---- */
#cont .prvm-faixa{position:sticky;top:0;z-index:8;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px 20px;
  padding:14px 20px;margin:0 0 14px;background:linear-gradient(180deg,#fff 0%,#FBFDFD 100%);border:var(--borda);border-left:5px solid var(--vm-header);
  border-radius:var(--r);box-shadow:var(--sh)}
#cont .prvm-faixa.is-atendendo{border-left-color:var(--vm-verde)}
#cont .prvm-faixa.is-fim{border-left-color:#78909C}
#cont .prvm-faixa-avatar{width:58px;height:58px;border-radius:50%;overflow:hidden;display:grid;place-items:center;flex-shrink:0;
  background:linear-gradient(150deg,#68BCCE,#3C8497);color:#fff;font:700 21px/1 var(--font);letter-spacing:.5px;box-shadow:0 0 0 3px #fff,0 0 0 4px #CFE6ED}
#cont .prvm-faixa-avatar img{width:100%;height:100%;object-fit:cover}
#cont .prvm-faixa-id{min-width:0;display:flex;flex-direction:column;gap:5px}
#cont .prvm-faixa-linha1{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#cont .prvm-faixa-nome{margin:0;font:600 20px/1.2 var(--font);letter-spacing:-.2px;color:var(--vm-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
#cont .prvm-faixa-estado{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:12px;font:700 10.5px/1.4 var(--font);
  text-transform:uppercase;letter-spacing:.5px;background:#FDF3D0;color:#8A5A00}
#cont .prvm-faixa.is-atendendo .prvm-faixa-estado{background:#E2F5EC;color:#0C8A46}
#cont .prvm-faixa.is-atendendo .prvm-faixa-estado::before{content:"";width:7px;height:7px;border-radius:50%;background:#16A34A;animation:prvm-pulso 1.8s infinite}
#cont .prvm-faixa.is-fim .prvm-faixa-estado{background:#ECEFF1;color:#546E7A}
@keyframes prvm-pulso{0%{box-shadow:0 0 0 0 rgba(22,163,74,.45)}70%{box-shadow:0 0 0 7px rgba(22,163,74,0)}100%{box-shadow:0 0 0 0 rgba(22,163,74,0)}}
@media (prefers-reduced-motion:reduce){#cont .prvm-faixa.is-atendendo .prvm-faixa-estado::before{animation:none}}
#cont .prvm-faixa-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;font-size:13px;color:var(--vm-ink-3)}
#cont .prvm-faixa-meta>span+span::before{content:"·";margin:0 8px;color:#B8C4C8}
#cont .prvm-faixa-conv{color:var(--vm-header-dark);font-weight:600}
#cont .prvm-faixa-conv .zmdi{width:14px;height:14px}
#cont .prvm-faixa-serv{color:var(--vm-ink-2)}
#cont .prvm-faixa-alertas{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:2px 0 0;padding:0}
#cont .prvm-faixa-alertas li{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:12px;font:600 11.5px/1.5 var(--font);
  border:1px solid #CFE6ED;background:#EDF8FB;color:#2F7E92}
#cont .prvm-faixa-alertas li i{font-size:14px}
#cont .prvm-faixa-alertas li.is-alergia{background:#FBE7E4;color:#B42318;border-color:#F4B8B0;font-weight:700;text-transform:uppercase;letter-spacing:.3px}
#cont .prvm-faixa-alertas li.is-condicao{background:#FDF3D0;color:#7A5200;border-color:#F2DD8B}
#cont .prvm-faixa-alertas li.is-sinal{background:#E4EBF8;color:#2F55A4;border-color:#C9D6F0}
#cont .prvm-faixa-alertas li.is-falta{background:#F2F4F5;color:#546E7A;border-color:#DDE3E6}
#cont .prvm-faixa-tempo{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin:0;padding:6px 14px;border-radius:var(--r-sm);background:#F2F6F7;color:var(--vm-ink-3)}
#cont .prvm-faixa-tempo small{font-size:11px;display:flex;align-items:center;gap:4px}
#cont .prvm-faixa-tempo b{font:700 22px/1.1 var(--font);color:var(--vm-header-dark);font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:6px}
#cont .prvm-faixa-tempo .zmdi{width:15px;height:15px}
#cont .prvm-faixa-acoes{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px}
#cont .prvm-faixa-acoes .prvm-btn-sec{background:#fff!important;color:var(--vm-verde-escuro);box-shadow:inset 0 0 0 1px #BFE3CD,var(--sh-sm)}
#cont .prvm-faixa-acoes .prvm-btn-sec .zmdi{background-color:var(--vm-verde-escuro)}
#cont .prvm-faixa-acoes .prvm-btn-principal{height:42px;padding:0 18px;font-size:13px;letter-spacing:.5px}
@media (max-width:1100px){#cont .prvm-faixa{grid-template-columns:auto minmax(0,1fr)}#cont .prvm-faixa-tempo,#cont .prvm-faixa-acoes{grid-column:1/-1;align-items:flex-start;justify-content:flex-start}}
/* ---- dados cadastrais recolhíveis ---- */
#cont .prvm-dados{padding:0;margin-bottom:14px}
#cont .prvm-dados-toggle{width:100%;display:flex;align-items:center;gap:10px;padding:12px 18px;border:0;background:transparent;cursor:pointer;
  font:700 11.5px/1.3 var(--font);text-transform:uppercase;letter-spacing:.55px;color:var(--vm-ink-2);text-align:left;border-radius:var(--r)}
#cont .prvm-dados-toggle:hover{background:#F7FBFC}
#cont .prvm-dados-toggle>i:first-child{font-size:18px;color:var(--vm-header)}
#cont .prvm-dados-toggle small{flex:1;min-width:0;font:400 13px/1.3 var(--font);text-transform:none;letter-spacing:0;color:var(--vm-ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#cont .prvm-dados-seta{font-size:18px;color:var(--vm-ink-3);transition:transform var(--tr)}
#cont .prvm-dados.is-aberto .prvm-dados-seta{transform:rotate(180deg)}
#cont .prvm-dados #prvm-header-box{border-top:1px solid var(--vm-line)}
#cont .prvm-dados .prvm-header{grid-template-columns:150px 1fr;margin:14px 18px 16px;box-shadow:none;border:0;background:#F7FBFC}
#cont .prvm-dados .prvm-header-estat{grid-column:2}
/* ---- itens de serviço ---- */
#cont .prvm-pront .prvm-itens-servico{margin:0 0 14px}
#cont .prvm-pront .prvm-itens-servico ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px}
/* ---- navegação das abas ---- */
#cont .prvm-pront .prvm-abas-v{margin:0;grid-template-columns:248px 1fr;gap:16px}
#cont .prvm-pront .prvm-abas-nav{padding:8px;gap:2px;top:122px}
#cont .prvm-pront .prvm-aba{display:flex;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;font-weight:500;color:var(--vm-ink-2);box-shadow:none}
#cont .prvm-pront .prvm-aba>.zmdi{flex:0 0 18px;width:18px;height:18px;background-color:var(--vm-ink-3)}
#cont .prvm-pront .prvm-aba-rotulo{flex:1;min-width:0;text-align:left;line-height:1.25}
#cont .prvm-pront .prvm-aba-cont{min-width:22px;height:20px;padding:0 6px;border-radius:10px;background:#DCEEF3;color:var(--vm-header-dark);
  font:700 11px/20px var(--font);text-align:center;font-variant-numeric:tabular-nums}
#cont .prvm-pront .prvm-aba:hover{background:#F0F6F8;color:var(--vm-ink)}
#cont .prvm-pront .prvm-aba.is-ativa{background:var(--marca);color:#fff;font-weight:600;box-shadow:0 6px 14px -8px rgba(60,133,152,.8)}
#cont .prvm-pront .prvm-aba.is-ativa>.zmdi{background-color:#fff}
#cont .prvm-pront .prvm-aba.is-ativa .prvm-aba-cont{background:rgba(255,255,255,.95);color:#2F7E92}
/* ---- painel e editor de leitura confortável ---- */
#cont .prvm-pront .prvm-abas-conteudo{padding:22px 26px 24px}
#cont .prvm-abas-conteudo .prvm-campo{margin:0 0 20px}
#cont .prvm-abas-conteudo .prvm-campo>label{font:700 11.5px/1.3 var(--font);text-transform:uppercase;letter-spacing:.55px;color:var(--vm-ink-2);margin-bottom:8px}
#cont .prvm-abas-conteudo .prvm-campo textarea{font:400 15px/1.65 var(--font);color:var(--vm-ink);padding:14px 16px;min-height:128px;
  background:#FCFDFD;border:1px solid #D5DEE1;border-radius:10px}
#cont .prvm-abas-conteudo .prvm-campo textarea::placeholder{color:#9AA4AA}
#cont .prvm-abas-conteudo .prvm-campo textarea:disabled{background:#F7F9FA;color:var(--vm-ink-2)}
#cont .prvm-anamnese{gap:0 22px}
#cont .prvm-anamnese>.prvm-col{background:#F7FBFC;border:1px solid #E3ECEF;border-radius:var(--r);padding:2px 18px 16px;margin-bottom:20px}
#cont .prvm-anamnese>.prvm-col .prvm-subtitulo{border-bottom-color:#E3ECEF}
#cont .prvm-anamnese>.prvm-col>.prvm-check{display:inline-flex;margin:4px 6px 4px 0;padding:6px 12px;border:1px solid #D5DEE1;border-radius:16px;background:#fff;
  font-size:13px;color:var(--vm-ink-2);transition:background var(--tr),border-color var(--tr)}
#cont .prvm-anamnese>.prvm-col>.prvm-check:has(input:checked){background:#FDF3D0;border-color:#F2DD8B;color:#6B5308;font-weight:600}
#cont .prvm-anamnese>.prvm-col>.prvm-check:has(input[data-anam-pessoal="alergias"]:checked){background:#FBE7E4;border-color:#F4B8B0;color:#B42318}
#cont .prvm-anamnese input[type=checkbox]{accent-color:var(--vm-header-dark);width:16px;height:16px}
#cont .prvm-anamnese .prvm-social{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 10px;padding:8px 0;border-bottom:1px dashed #E3ECEF}
#cont .prvm-anamnese .prvm-social>.prvm-campo{grid-column:1/-1;margin:6px 0 4px}
#cont .prvm-anamnese .prvm-social>.prvm-campo textarea{min-height:72px}
#cont .prvm-rodape-aba{padding-top:14px;border-top:1px solid var(--vm-line)}
/* ---- linha do tempo do paciente ---- */
#cont .prvm-timeline-resumo{margin:-2px 0 14px;font-size:13px;color:var(--vm-ink-3)}
#cont .prvm-timeline-resumo b{color:var(--vm-ink);font-size:15px}
#cont ol.prvm-timeline{list-style:none;margin:0;padding:0;display:block}
#cont .prvm-timeline .prvm-tv{display:grid;grid-template-columns:62px 30px minmax(0,1fr);gap:0;border:0;border-radius:0;background:none;box-shadow:none;padding:0;margin:0}
#cont .prvm-tv-data{text-align:right;padding-top:6px;line-height:1.05}
#cont .prvm-tv-data b{display:block;font:700 22px/1 var(--font);color:var(--vm-ink)}
#cont .prvm-tv-data span{display:block;font:700 11px/1.4 var(--font);color:var(--vm-header-dark);letter-spacing:.5px}
#cont .prvm-tv-data small{display:block;font-size:10.5px;color:var(--vm-ink-3)}
#cont .prvm-tv-marco{position:relative}
#cont .prvm-tv-marco::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:#DDE6E9}
#cont .prvm-timeline .prvm-tv:first-child .prvm-tv-marco::before{top:14px}
#cont .prvm-timeline .prvm-tv:last-child .prvm-tv-marco::before{bottom:calc(100% - 14px)}
#cont .prvm-tv-marco::after{content:"";position:absolute;left:50%;top:10px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:#fff;border:3px solid var(--vm-header);box-shadow:0 0 0 3px #fff}
#cont .prvm-tv.is-retorno .prvm-tv-marco::after{border-color:#6E8FD8}
#cont .prvm-tv-cartao{margin:0 0 14px;padding:12px 16px 14px;background:#fff;border:var(--borda);border-left:3px solid var(--vm-header);border-radius:var(--r);box-shadow:var(--sh-sm);transition:box-shadow var(--tr)}
#cont .prvm-tv.is-retorno .prvm-tv-cartao{border-left-color:#6E8FD8}
#cont .prvm-tv-cartao:hover{box-shadow:var(--sh)}
#cont .prvm-tv-topo{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
#cont .prvm-timeline .prvm-tv-tags{gap:6px}
#cont .prvm-timeline .prvm-tv-tags li{border-radius:10px;padding:2px 9px;font-size:11px;font-weight:600;background:#F2F6F7;color:var(--vm-ink-2)}
#cont .prvm-timeline .prvm-tv-tags .t-consulta{background:#E2F5EC;color:#0C8A46}
#cont .prvm-timeline .prvm-tv-tags .t-retorno{background:#E4EBF8;color:#2F55A4}
#cont .prvm-timeline .prvm-tv-tags .t-cat{background:#EDF8FB;color:#2F7E92}
#cont .prvm-timeline .prvm-tv-tags .t-sala{background:#F3E5FA;color:#7B3FA0}
#cont .prvm-timeline .prvm-tv-tags .t-data{background:transparent;color:var(--vm-ink-3);padding-left:0}
#cont .prvm-tv-prof{margin:8px 0 4px;font-size:13.5px;font-weight:600;color:var(--vm-ink-2);display:flex;align-items:center;gap:6px}
#cont .prvm-tv-prof .zmdi{width:15px;height:15px;background-color:var(--vm-ink-3)}
#cont .prvm-tv-prof small{font-weight:500;color:var(--vm-ink-3)}
#cont .prvm-tv-corpo strong{display:none}
/* texto clínico inteiro (sem corte) — juiz 04/10 */
#cont .prvm-tv-corpo .prvm-pre-line{font-size:14px;line-height:1.55;color:var(--vm-ink)}
/* ---- Sala de Espera em cartões ---- */
#cont .prvm-sala-resumo{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
#cont .prvm-sala-resumo span{display:inline-flex;align-items:baseline;gap:6px;padding:6px 12px;border-radius:var(--r-sm);font-size:12.5px;color:var(--vm-ink-2);background:#F2F6F7}
#cont .prvm-sala-resumo b{font-size:17px;font-variant-numeric:tabular-nums}
#cont .prvm-sala-resumo .is-aguardando b{color:#0C8A46}
#cont .prvm-sala-resumo .is-chamado b{color:#B7791F}
#cont .prvm-sala-resumo .is-atendendo b{color:#2F7E92}
#cont .prvm-proximo{display:grid;gap:4px;width:100%;padding:16px 20px;margin:0 0 14px;border:0;border-radius:var(--r);text-align:left;font:inherit;cursor:pointer;
  background:linear-gradient(135deg,#0C8A46 0%,#2F7E92 100%);color:#fff;box-shadow:var(--sh);transition:transform .15s,box-shadow .15s}
#cont .prvm-proximo:hover{transform:translateY(-1px);box-shadow:var(--sh-lg,var(--sh))}
#cont .prvm-proximo-rotulo{grid-column:1;font:700 11px/1.3 var(--font);text-transform:uppercase;letter-spacing:.6px;opacity:.9;display:flex;align-items:center;gap:6px}
#cont .prvm-proximo-rotulo .zmdi{background-color:#fff}
#cont .prvm-proximo-nome{grid-column:1;font:600 22px/1.2 var(--font);letter-spacing:-.2px}
#cont .prvm-proximo-meta{grid-column:1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:13px;opacity:.95}
#cont .prvm-proximo-meta .prvm-badge-consulta,#cont .prvm-proximo-meta .prvm-badge-outro{width:auto;background:rgba(255,255,255,.2);color:#fff}
#cont .prvm-proximo .prvm-pac-espera{color:rgba(255,255,255,.9)}
#cont .prvm-proximo .prvm-pac-espera b{color:#fff}
#cont .prvm-pac-lista{display:grid;gap:8px}
#cont .prvm-pac{display:grid;grid-template-columns:64px minmax(0,1fr) auto auto;align-items:center;gap:6px 16px;padding:12px 16px;background:#fff;
  border:var(--borda);border-left:5px solid #0C8A46;border-radius:var(--r);box-shadow:var(--sh-sm);transition:box-shadow var(--tr),transform var(--tr)}
#cont .prvm-pac:hover{box-shadow:var(--sh);transform:translateY(-1px)}
#cont .prvm-pac.is-chamado{border-left-color:#E8A400;background:#FFFCF2}
#cont .prvm-pac.is-atendendo{border-left-color:#2F7E92;background:#F4FAFB}
#cont .prvm-pac.is-proximo{box-shadow:0 0 0 2px rgba(12,138,70,.35),var(--sh-sm)}
#cont .prvm-pac-hora{text-align:center;line-height:1.1}
#cont .prvm-pac-hora b{display:block;font:700 18px/1.1 var(--font);color:var(--vm-ink);font-variant-numeric:tabular-nums}
#cont .prvm-pac-hora small{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--vm-ink-3)}
#cont .prvm-pac-nome{font:600 15px/1.3 var(--font);color:var(--vm-ink);overflow:hidden;text-overflow:ellipsis}
#cont .prvm-pac-prio{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:10px;background:#FBE7E4;color:#B42318;font:700 10.5px/1.6 var(--font);text-transform:uppercase;vertical-align:2px}
#cont .prvm-pac-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:4px;font-size:12.5px;color:var(--vm-ink-3)}
#cont .prvm-pac-meta .prvm-badge-consulta,#cont .prvm-pac-meta .prvm-badge-outro{width:auto}
#cont .prvm-pac-meta .zmdi{width:13px;height:13px;background-color:currentColor}
#cont .prvm-pac-status{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}
#cont .prvm-pac-sit{padding:3px 10px;border-radius:12px;font:700 11px/1.5 var(--font);text-transform:uppercase;letter-spacing:.3px;background:#E2F5EC;color:#0C8A46}
#cont .prvm-pac.is-chamado .prvm-pac-sit{background:#FDF3D0;color:#8A5A00}
#cont .prvm-pac.is-atendendo .prvm-pac-sit{background:#DCEEF3;color:#2F7E92}
#cont .prvm-pac-espera{font-size:12px;color:var(--vm-ink-3)}
#cont .prvm-pac-espera b{color:var(--vm-ink);font-variant-numeric:tabular-nums}
#cont .prvm-pac-opcoes{display:flex;gap:4px}
#cont .prvm-vazio-sala{border:1px dashed #CFE6ED;border-radius:var(--r);background:#F7FBFC}
@media (max-width:900px){#cont .prvm-pac{grid-template-columns:56px 1fr}#cont .prvm-pac-status,#cont .prvm-pac-opcoes{grid-column:1/-1;align-items:flex-start;flex-direction:row}}
