  :root{
    /* Cores da marca, tiradas do logo */
    --vinho:#541F29; --vinho-forte:#3E1620; --vinho-suave:rgba(84,31,41,.10);
    --dourado:#E3C390; --grafite:#4D4D4D;
    /* estados do odontograma */
    --inicial:#1F7A4C;   /* verde    — situação que o paciente já trazia */
    --afazer:#C0392B;    /* vermelho — a fazer */
    --feito:#2E6DA4;     /* azul     — feito na nossa clínica */
    --nao-feito:#9B9093; /* discreto — indicado e não realizado */
    --antigo:#B08D93; --parcial:#B7791F;
    --verde:#1F7A4C; --vermelho:#C0392B; --amarelo:#B7791F;
    --fundo:#FAF8F8; --papel:#FFFFFF; --texto:#2B2225; --suave:#7A6B6E; --borda:#EBE3E4;
    --sombra:0 1px 2px rgba(84,31,41,.05), 0 4px 16px rgba(84,31,41,.05);
    /* o cliente não quer modo escuro: a tela é clara em qualquer aparelho */
    color-scheme: light;
    box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
  }
  *,*::before,*::after{box-sizing:inherit}
  body{margin:0;background:var(--fundo);color:var(--texto);
       font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
       line-height:1.55;-webkit-font-smoothing:antialiased}

  header{background:var(--papel);border-bottom:1px solid var(--borda);
         padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;
         display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:20}
  header img{height:34px;width:auto;display:block}
  header .versao{font-size:11px;color:var(--suave);letter-spacing:.04em;flex:1}
  header button{background:transparent;color:var(--vinho);border:1px solid var(--borda);
                padding:8px 14px;font-size:14px}

  main{max-width:900px;margin:0 auto;padding:18px 16px 0}
  .cartao{background:var(--papel);border:1px solid var(--borda);border-radius:14px;
          padding:20px;margin-bottom:16px;box-shadow:var(--sombra)}
  h2{font-size:15px;margin:0 0 14px;font-weight:600;letter-spacing:.01em}
  label{display:block;font-size:13px;color:var(--suave);margin:12px 0 5px}
  input,select{width:100%;padding:11px 13px;border:1px solid var(--borda);border-radius:9px;
               background:var(--papel);color:var(--texto);font-size:16px;transition:border-color .15s}
  input[type=checkbox]{width:auto;accent-color:var(--vinho)}
  input:focus,select:focus{outline:0;border-color:var(--vinho);box-shadow:0 0 0 3px var(--vinho-suave)}
  button{padding:11px 18px;border:0;border-radius:9px;background:var(--vinho);color:#fff;
         font-size:15px;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s}
  button:hover:not(:disabled){background:var(--vinho-forte)}
  button:disabled{opacity:.45;cursor:default}
  button.secundario{background:transparent;color:var(--vinho);border:1px solid var(--borda)}
  button.secundario:hover:not(:disabled){background:var(--vinho-suave)}

  .linha{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
  .aviso{padding:12px 14px;border-radius:9px;font-size:14px;margin-bottom:14px}
  .erro{background:rgba(192,57,43,.10);color:var(--vermelho)}
  .ok{background:rgba(31,122,76,.10);color:var(--verde)}
  .atencao{background:rgba(183,121,31,.12);color:var(--amarelo)}

  .numeros{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
  .numero{background:var(--papel);border:1px solid var(--borda);border-radius:14px;
          padding:16px;box-shadow:var(--sombra)}
  .numero b{display:block;font-size:27px;font-weight:600;color:var(--vinho);letter-spacing:-.02em}
  .numero span{font-size:13px;color:var(--suave)}

  table{width:100%;border-collapse:collapse;font-size:14px}
  th,td{text-align:left;padding:10px 7px;border-bottom:1px solid var(--borda);vertical-align:middle}
  tr:last-child td{border-bottom:0}
  th{color:var(--suave);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
  .rolagem{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .etiqueta{display:inline-block;font-size:12px;padding:3px 10px;border-radius:99px;
            background:var(--vinho-suave);color:var(--vinho);font-weight:500}
  .oculto{display:none}
  .rodape{color:var(--suave);font-size:12px;text-align:center;padding:14px 0 28px}
  .carregando{color:var(--suave);font-size:14px}
  .marca-login{display:block;margin:0 auto 22px;height:92px;width:auto}

/* =================== FICHA DO PACIENTE =================== */
.paciente{background:var(--papel);border:1px solid var(--borda);border-radius:16px;
          padding:18px 20px;box-shadow:var(--sombra);margin-bottom:14px}
.pac-topo{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.foto{width:62px;height:62px;border-radius:50%;background:var(--vinho-suave);color:var(--vinho);
      display:grid;place-items:center;font-size:22px;font-weight:600;flex:none}
.pac-nome{flex:1;min-width:210px}
.pac-nome h1{font-size:21px;margin:0 0 3px;font-weight:600;letter-spacing:-.01em}
.pac-sub{font-size:13.5px;color:var(--suave)}
.pac-alertas{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.selo{font-size:12.5px;padding:5px 12px;border-radius:99px;font-weight:500;white-space:nowrap}
.selo.deve{background:rgba(192,57,43,.10);color:var(--vermelho)}
.selo.atencao{background:rgba(183,121,31,.13);color:var(--amarelo)}
.selo.ok{background:rgba(31,122,76,.10);color:var(--verde)}
.selo.neutro{background:var(--vinho-suave);color:var(--vinho)}
.acoes{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}
button.claro{background:transparent;color:var(--vinho);border:1px solid var(--borda)}

.abas{display:flex;gap:4px;overflow-x:auto;margin-bottom:14px;padding-bottom:2px;
      -webkit-overflow-scrolling:touch;scrollbar-width:none}
.abas::-webkit-scrollbar{display:none}
.aba{padding:9px 15px;border-radius:9px;font-size:14px;white-space:nowrap;cursor:pointer;
     color:var(--suave);border:1px solid transparent;background:transparent;font-weight:500}
.aba.ativa{background:var(--vinho);color:#fff}

.colunas{display:grid;grid-template-columns:1fr 380px;gap:14px;align-items:start}
@media (max-width:1000px){.colunas{grid-template-columns:1fr}}
/* sem isto o odontograma alarga a página inteira no celular
   em vez de rolar dentro do cartão */
.colunas > *{min-width:0}
.cartao{max-width:100%}

/* =================== ODONTOGRAMA =================== */
.legenda{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--suave);margin-bottom:6px}
.legenda span{display:flex;align-items:center;gap:6px}
.bolinha{width:11px;height:11px;border-radius:3px;display:inline-block}
.dica{font-size:12px;color:var(--suave);margin:0 0 16px}
.boca{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}
/* dá para arrastar com o mouse, não só com o dedo */
.arrastavel{cursor:grab}
.arrastavel.arrastando{cursor:grabbing;scroll-behavior:auto;user-select:none}
.arrastavel.arrastando *{pointer-events:none}
.bloco{width:max-content;margin:0 auto}
/* na dentição mista as fileiras de leite são mais curtas: ficam no meio */
.arcada{display:flex;gap:3px;flex-wrap:nowrap;justify-content:center}
.chaves{position:relative;height:17px}
.chaves .rotulo{position:absolute;font-size:11px;white-space:nowrap;top:1px}
.dente{flex:none;text-align:center;cursor:pointer}
.dente svg{display:block}
.dente .num{font-size:10.5px;color:var(--suave);margin-top:2px;font-variant-numeric:tabular-nums}
.dente.sel .num{color:var(--vinho);font-weight:700}
/* Dente escolhido na ficha: a moldura não mexe no tamanho da coluna,
   então a chave do sextante continua alinhada. */
.dente.sel{background:var(--vinho-suave);border-radius:9px;
           box-shadow:0 0 0 2px var(--vinho)}
.meio{height:14px}

/* =================== LISTAS DA FICHA =================== */
.item{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--borda)}
.item:last-child{border-bottom:0}
.barra{width:3px;border-radius:2px;align-self:stretch;flex:none}
.item-txt{flex:1;min-width:0}
.item-txt b{font-weight:600;font-size:14.5px;display:block}
.item-txt small{color:var(--suave);font-size:12.5px}
.item-val{font-size:14px;font-weight:600;white-space:nowrap}

.secao{border-bottom:1px solid var(--borda);padding:13px 0}
.secao:last-child{border-bottom:0}
.secao-topo{display:flex;align-items:center;gap:9px;cursor:pointer}
.secao-topo h3{font-size:13px;margin:0;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.conta{background:var(--vinho-suave);color:var(--vinho);font-size:11.5px;padding:2px 8px;
       border-radius:99px;font-weight:600}
.secao-topo .seta{margin-left:auto;color:var(--suave);font-size:12px}
.secao-sub{font-size:12.5px;color:var(--suave);margin-top:3px}
.secao-corpo{margin-top:10px}
.secao.fechada .secao-corpo{display:none}
.secao-seta{margin-left:auto;color:var(--suave);display:inline-flex;transition:transform .15s;transform:rotate(-90deg)}
.secao.fechada .secao-seta{transform:rotate(90deg)}
.secao-topo button ~ .secao-seta,.secao-topo .mini ~ .secao-seta{margin-left:8px}
#telaFicha .secao-topo{cursor:pointer}
.linha-tempo{font-size:13px}
.linha-tempo > div{display:flex;gap:10px;align-items:stretch;
                   padding:7px 0;border-bottom:1px dashed var(--borda)}
.linha-tempo > div:last-child{border-bottom:0}
.linha-tempo b{font-size:13.5px;font-weight:600;display:block}
.linha-tempo .quando{color:var(--suave);font-size:12px}

/* =================== ORÇAMENTO =================== */
.orc-topo{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start}
.campo{min-width:132px}
.campo span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave)}
.campo b{font-size:14.5px;font-weight:600}
.so-nosso{font-size:11px;color:var(--suave);font-style:italic}

.escolha{display:flex;gap:11px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--borda)}
.escolha:last-child{border-bottom:0}
.escolha input{width:19px;height:19px;flex:none;margin-top:3px;accent-color:var(--vinho)}
.escolha .txt{flex:1;min-width:0}
.escolha .txt b{font-size:14.5px;font-weight:600;display:block}
.escolha .txt small{color:var(--suave);font-size:12.5px}
.escolha .val{font-size:14px;font-weight:600;white-space:nowrap}
.fora{opacity:.62}
.dente-tag{display:inline-block;font-size:11px;font-weight:700;background:var(--vinho-suave);
           color:var(--vinho);border-radius:6px;padding:1px 7px;margin-right:6px;
           font-variant-numeric:tabular-nums}

.soma{border-top:2px solid var(--borda);margin-top:8px;padding-top:12px}
.soma-linha{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:14.5px;gap:12px}
.soma-linha.total{font-size:19px;font-weight:700;padding-top:10px;margin-top:6px;
                  border-top:1px solid var(--borda)}
.soma-linha.total b{color:var(--vinho)}
.cadeado{font-size:11.5px;color:var(--suave);background:var(--vinho-suave);
         border-radius:6px;padding:2px 8px;margin-left:7px;font-style:normal}
.desconto-campo{width:130px;text-align:right;padding:8px 10px;font-size:15px}

.opcoes{display:grid;gap:9px;margin-top:6px}
.opcao{display:flex;gap:10px;align-items:flex-start;cursor:pointer;margin:0;
       padding:10px 12px;border:1px solid var(--borda);border-radius:10px;color:var(--texto)}
.opcao input{width:19px;height:19px;flex:none;margin-top:1px;accent-color:var(--vinho)}
.opcao b{font-size:14px;font-weight:600;display:block}
.opcao small{color:var(--suave);font-size:12.5px}
.opcao input:disabled + span{opacity:.5}

/* =================== O PAPEL DO PACIENTE =================== */
#areaImpressao{display:none}
.papel{background:#fff;padding:34px 38px;max-width:760px;margin:0 auto;color:#2B2225}
.papel img{height:52px;display:block;margin:0 auto 6px}
.papel h1{font-size:16px;text-align:center;margin:0 0 2px;letter-spacing:.02em}
.papel .sub{text-align:center;font-size:12px;color:var(--suave);margin-bottom:22px}
.papel table{font-size:13.5px}
.papel th{font-size:10.5px}
.papel td.v{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.papel .fecho{display:flex;justify-content:space-between;font-size:17px;font-weight:700;
              border-top:2px solid var(--borda);margin-top:12px;padding-top:12px}
.papel .miudo{font-size:11.5px;color:var(--suave);margin-top:18px;line-height:1.6}
.titulo-boca{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--suave);
             margin:24px 0 8px;font-weight:600}
.assinaturas{display:flex;gap:40px;margin-top:40px;font-size:11.5px;color:var(--suave);text-align:center}
.assinaturas div{flex:1;border-top:1px solid #C9BDBF;padding-top:6px}

.guia-papel table th{width:34%;color:var(--suave);font-weight:500}
.guia-obs{font-size:13.5px;line-height:1.55;white-space:pre-wrap;border:1px solid var(--borda);
          border-radius:8px;padding:10px 12px}
.guia-recibo td{letter-spacing:.04em;color:var(--suave)}

@media print{
  .guia-papel + .guia-papel{page-break-before:always;break-before:page}
  body.imprimindo > *{display:none !important}
  body.imprimindo #areaImpressao{display:block !important}
  body.imprimindo .papel{max-width:none;padding:0;box-shadow:none}
  .boca{overflow:visible}
  @page{margin:14mm}
}

/* =================== MODAL DE AVALIAÇÃO =================== */
.modal-caixa{background:var(--papel);border:1px solid var(--borda);border-radius:16px;
             box-shadow:var(--sombra);overflow:hidden;margin-bottom:16px}
.modal-topo{padding:18px 20px 14px;border-bottom:1px solid var(--borda)}
.modal-topo h2{margin:0 0 2px;font-size:17px;text-transform:none;letter-spacing:-.01em;color:var(--texto)}
.modal-sub{font-size:13.5px;color:var(--suave)}
.modal-corpo{padding:4px 20px 8px}
.modal-pe{display:flex;gap:9px;justify-content:flex-end;padding:14px 20px;
          border-top:1px solid var(--borda);background:var(--fundo);flex-wrap:wrap}

.passo{display:flex;gap:13px;padding:16px 0;border-bottom:1px solid var(--borda)}
.passo:last-child{border-bottom:0}
.passo-num{width:25px;height:25px;border-radius:50%;background:var(--vinho);color:#fff;flex:none;
           display:grid;place-items:center;font-size:13px;font-weight:600;margin-top:2px}
.passo-txt{flex:1;min-width:0}
.passo-txt > label:first-child{margin-top:0}

.instrucao{font-size:13px;color:var(--suave);margin-top:9px;line-height:1.6}
.instrucao b{color:var(--texto)}
.instrucao .preco{color:var(--vinho);white-space:nowrap}
.etiqueta-abr{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;
              background:var(--vinho-suave);color:var(--vinho);border-radius:6px;
              padding:2px 8px;margin-right:7px;font-weight:600}

button.mini{padding:7px 13px;font-size:13px}
.escolhinhas{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.selecionado{margin-top:8px;font-size:13px}
.marcado{display:inline-block;background:rgba(192,57,43,.10);color:var(--vermelho);
         border-radius:8px;padding:5px 11px;font-weight:500}
textarea{width:100%;padding:11px 13px;border:1px solid var(--borda);border-radius:9px;
         background:var(--papel);color:var(--texto);font-size:16px;font-family:inherit;resize:vertical}
textarea:focus{outline:0;border-color:var(--vinho);box-shadow:0 0 0 3px var(--vinho-suave)}
.faces polygon,.faces rect{cursor:pointer}

/* =================== TABELAS DE PROCEDIMENTOS =================== */
.barra-tabela{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}
.campo-linha label{margin:0 0 5px}
.campo-linha select,.campo-linha input{min-width:150px}
.botoes-tabela{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}

table.precos{font-size:13.5px}
table.precos th.n,table.precos td.n{text-align:right}
table.precos td{vertical-align:middle}
table.precos td b{font-weight:600}
.sigla{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.04em;
       background:var(--vinho-suave);color:var(--vinho);border-radius:5px;padding:1px 6px;margin-left:5px}
.celula{width:88px;padding:7px 9px;font-size:13.5px;text-align:right;
        font-variant-numeric:tabular-nums}
.celula-sel{width:auto;min-width:140px;padding:7px 9px;font-size:13px}
.par{display:flex;gap:4px;align-items:center;justify-content:flex-end}
button.uni{padding:7px 9px;font-size:12px;background:transparent;color:var(--suave);
           border:1px solid var(--borda);min-width:38px}
td.base{font-weight:700;color:var(--vinho);font-variant-numeric:tabular-nums;white-space:nowrap}
tr.inativa{opacity:.45}
.legenda-base{margin-top:14px;font-size:12.5px;color:var(--suave);line-height:1.7;
              border-top:1px solid var(--borda);padding-top:12px}
.legenda-base b{color:var(--texto)}

/* No telefone a tabela não cabe: cada procedimento vira um cartão. */
@media (max-width:720px){
  .rolagem:has(table.precos){overflow-x:visible}
  table.precos tr:first-child{display:none}
  table.precos,table.precos tbody,table.precos tr,table.precos td{display:block;width:auto}
  table.precos tr{border:1px solid var(--borda);border-radius:12px;padding:12px 14px;margin-bottom:10px}
  table.precos td{border:0;padding:5px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}
  table.precos td.nome{display:block;padding:0 0 8px;border-bottom:1px solid var(--borda);margin-bottom:6px}
  table.precos td::before{content:attr(data-rotulo);font-size:11.5px;text-transform:uppercase;
                          letter-spacing:.05em;color:var(--suave)}
  table.precos td.nome::before{content:none}
  .celula-sel{min-width:0;flex:1;max-width:180px}
  .botoes-tabela{margin-left:0;width:100%}
  .botoes-tabela button{flex:1}
}
.modos{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.explica-modo{font-size:12.5px;color:var(--suave);line-height:1.6;margin-top:9px;
              background:var(--vinho-suave);border-radius:9px;padding:9px 12px}
.explica-modo b{color:var(--vinho)}
.selecionado .marcado{margin:0 6px 6px 0}
.selecionado .marcado b{font-weight:700}
.nota-denticao{font-size:12.5px;color:var(--suave);margin-left:4px}
.secao.clicavel{cursor:pointer;margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:9px}
.secao.clicavel:hover{background:var(--vinho-suave)}
.secao.clicavel .secao-topo h3{color:var(--vinho)}

/* =================== CONTATOS NA FAIXA DO PACIENTE =================== */
.contatos{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px;font-size:13px}
.contatos span{white-space:nowrap;min-width:0;max-width:100%}
/* endereço comprido quebrava a tela do celular para o lado */
.contatos span.longo{white-space:normal;overflow-wrap:anywhere}
.contatos i{font-style:normal;color:var(--suave);font-size:11px;text-transform:uppercase;
            letter-spacing:.05em;margin-right:5px}

/* =================== BANDEIRINHAS DAS AVALIAÇÕES =================== */
/* As datas viram uma fita que corre para o lado, como a boca: com muitas
   avaliações, quebrar em várias linhas empurrava a ficha para baixo. */
.bandeiras-linha{display:flex;align-items:flex-start;gap:8px;margin-top:18px;border-top:1px solid var(--borda);padding-top:16px}
.bandeiras-linha .bandeiras{flex:0 1 auto;min-width:0;margin-top:0;border-top:0;padding-top:0}
.bandeira-mais{flex:none;width:38px;height:38px;border-radius:50%;padding:0;font-size:22px;line-height:1;font-weight:500;
  display:grid;place-items:center}
.bandeiras{display:flex;gap:8px;flex-wrap:nowrap;margin-top:18px;
           border-top:1px solid var(--borda);padding-top:16px;
           overflow-x:auto;-webkit-overflow-scrolling:touch;
           scrollbar-width:thin;padding-bottom:6px}
.bandeiras::-webkit-scrollbar{height:6px}
.bandeiras::-webkit-scrollbar-thumb{background:var(--borda);border-radius:99px}
.bandeira{flex:none}
.bandeira{background:transparent;border:2px solid var(--cor);color:var(--cor);
          border-radius:99px;padding:7px 15px;font-size:13px;font-weight:600;
          font-variant-numeric:tabular-nums}
.bandeira:hover:not(:disabled){background:transparent;opacity:.75}
.bandeira.sel{background:var(--cor);color:#fff;box-shadow:0 0 0 3px var(--vinho-suave)}
.bandeira.sel:hover{background:var(--cor);opacity:1}

/* O tratamento e os procedimentos dele são um bloco só: a faixa é o
   cabeçalho e a lista pendura embaixo, dentro da mesma moldura. Assim se
   lê "deste tratamento saem estes procedimentos", que era o pedido. */
.tratamento{margin-top:16px;border:1px solid var(--borda);
            border-left:4px solid var(--cor);border-radius:12px;overflow:hidden;
            background:var(--papel)}
.aval-faixa{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;
            padding:12px 14px;background:var(--fundo);border-bottom:1px solid var(--borda)}
.aval-itens{padding:2px 14px 8px}
.rotulo-itens{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--suave);
              padding:10px 0 2px}
.grupo-itens{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--feito);
              padding:12px 0 4px;margin-top:4px;border-top:1px dashed var(--borda)}
.aval-itens .item{padding-left:12px;position:relative}
/* o fiozinho que liga cada procedimento ao tratamento de cima */
.aval-itens .item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;
                          background:var(--borda);border-radius:2px}
.aval-itens .item:first-of-type::before{top:8px}
.aval-itens .item:last-child::before{bottom:8px}
/* na coluna estreita o nome do procedimento fica com a linha inteira, e o
   valor e os botões descem — senão o nome quebra em cinco linhas */
@media (max-width:1100px){
  .aval-itens .item{flex-wrap:wrap}
  .aval-itens .item .item-txt{flex:1 1 100%}
  .aval-itens .item .item-val{margin-left:15px}
  .aval-itens .item button.mini{padding:6px 12px;font-size:12.5px}
}
.aval-faixa b{font-size:14.5px;display:block}
.aval-faixa small{color:var(--suave);font-size:12.5px}

/* =================== MENU DA ESQUERDA =================== */
.corpo{display:flex;align-items:flex-start}
#lateral{width:212px;flex:none;position:sticky;top:59px;align-self:flex-start;
         max-height:calc(100vh - 59px);overflow-y:auto;padding:16px 10px 24px;
         border-right:1px solid var(--borda);background:var(--papel)}
.corpo > main{flex:1;min-width:0;max-width:1240px;margin:0 auto}

.grupo-menu{font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--suave);
            font-weight:700;padding:14px 12px 6px}
.grupo-menu:first-child{padding-top:2px}
.item-menu{display:flex;align-items:center;gap:8px;width:100%;text-align:left;
           background:transparent;color:var(--texto);border:0;border-radius:9px;
           padding:9px 12px;font-size:14px;font-weight:500;margin-bottom:1px}
.item-menu span{flex:1}
.item-menu:hover:not(:disabled){background:var(--vinho-suave);color:var(--vinho)}
.item-menu.ativo{background:var(--vinho);color:#fff}
.item-menu.ativo:hover{background:var(--vinho-forte);color:#fff}
.item-menu.embreve{color:var(--suave)}
.tag-breve{font-style:normal;font-size:10px;text-transform:uppercase;letter-spacing:.05em;
           background:var(--fundo);color:var(--suave);border-radius:5px;padding:2px 6px;
           border:1px solid var(--borda)}
.item-menu.ativo .tag-breve{background:rgba(255,255,255,.2);color:#fff;border-color:transparent}

.hamburguer{background:transparent;color:var(--vinho);border:1px solid var(--borda);
            padding:7px 12px;font-size:17px;line-height:1;display:none}
.tapa-menu{display:none}

/* No celular o menu vira gaveta. */
@media (max-width:860px){
  .hamburguer{display:block}
  #lateral{position:fixed;top:0;left:0;bottom:0;z-index:60;width:250px;max-height:none;
           transform:translateX(-100%);transition:transform .2s;
           padding-top:calc(16px + env(safe-area-inset-top,0px));box-shadow:var(--sombra)}
  body.menu-aberto #lateral{transform:none}
  body.menu-aberto .tapa-menu{display:block;position:fixed;inset:0;z-index:50;
                              background:rgba(43,34,37,.35)}
  body.menu-aberto{overflow:hidden}
}
tr.faixa-especialidade td{background:var(--vinho-suave);font-size:11.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.07em;color:var(--vinho);padding:8px 10px;border:0}
tr.faixa-especialidade .conta{margin-left:7px}
.espec-linha{width:auto;max-width:190px;padding:3px 7px;font-size:11.5px;color:var(--suave);
             border-color:transparent;background:transparent;margin-top:2px}
.espec-linha:hover{border-color:var(--borda)}
@media (max-width:720px){
  tr.faixa-especialidade{border:0;padding:0;margin:14px 0 6px}
  tr.faixa-especialidade td{display:block;border-radius:8px}
  tr.faixa-especialidade td::before{content:none}
}
tr.faixa-especialidade td{cursor:pointer;user-select:none}
tr.faixa-especialidade td:hover{background:rgba(84,31,41,.16)}
.seta-grupo{display:inline-block;width:14px;font-size:11px}
tr.salvou td{background:rgba(31,122,76,.09)}
.salvo-marca{display:inline-block;font-style:normal;font-size:10.5px;font-weight:700;
             text-transform:uppercase;letter-spacing:.06em;color:var(--verde);
             background:rgba(31,122,76,.12);border-radius:5px;padding:2px 7px;margin-left:8px}

/* =================== FINANCEIRO DA FICHA =================== */
/* A conta é de cada tratamento: um cartão por tratamento, que abre. */
.trat{border:1px solid var(--borda);border-radius:14px;background:var(--papel);
      margin-bottom:12px;overflow:hidden;box-shadow:var(--sombra)}
.trat-topo{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:14px 16px;cursor:pointer}
.trat-topo:hover{background:var(--fundo)}
.trat-quem{flex:1;min-width:190px}
.trat-quem b{display:block;font-size:15px;font-weight:600}
.trat-quem small{color:var(--suave);font-size:12.5px}
.trat-n{text-align:right;min-width:104px}
.trat-n span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave)}
.trat-n b{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}
.situacao{font-size:12.5px;padding:4px 11px;border-radius:99px;font-weight:600;white-space:nowrap}
.situacao.falta{background:rgba(192,57,43,.10);color:var(--vermelho)}
.situacao.quitado{background:rgba(31,122,76,.10);color:var(--verde)}
.situacao.sobra{background:rgba(46,109,164,.12);color:var(--feito)}
.situacao.convenio{background:rgba(0,0,0,.06);color:var(--suave)}
.trat-corpo{border-top:1px solid var(--borda);padding:14px 16px;background:var(--fundo)}
.trat .seta{color:var(--suave);font-size:13px}

table.itens{width:100%;font-size:14px;border-collapse:collapse}
table.itens th{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave);
               text-align:right;padding:4px 6px}
table.itens th:first-child{text-align:left}
table.itens td{padding:7px 6px;border-bottom:1px solid var(--borda);text-align:right;
               font-variant-numeric:tabular-nums;white-space:nowrap}
table.itens td:first-child{text-align:left;white-space:normal}
table.itens tr:last-child td{border-bottom:0}
.risco{color:var(--suave);text-decoration:line-through;font-size:12.5px}
.feitinho{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:99px;
          background:rgba(46,109,164,.12);color:var(--feito);white-space:nowrap}
.feitinho.afazer{background:rgba(192,57,43,.10);color:var(--vermelho)}
.conta-trat{margin-top:12px;border-top:2px solid var(--borda);padding-top:10px;
            display:grid;gap:4px;max-width:340px;margin-left:auto;font-size:14px}
.conta-trat div{display:flex;justify-content:space-between;gap:16px}
.conta-trat span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.conta-trat .desconto{color:var(--verde)}
.conta-trat .fim{font-size:16px;font-weight:700;border-top:1px solid var(--borda);
                 padding-top:8px;margin-top:4px}
.mov{margin-top:14px;font-size:13px}
.mov > div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;
           border-bottom:1px dashed var(--borda)}
.mov > div:last-child{border-bottom:0}
.mov .quando{color:var(--suave);font-size:12px}
.mov .transf{color:var(--feito)}
.mov span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.acoes-trat{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.desconto-na-bandeja{margin-top:14px;border-color:var(--vinho);box-shadow:0 0 0 3px var(--vinho-suave)}

.total-geral{display:flex;gap:18px;flex-wrap:wrap;align-items:center;border-radius:14px;
             padding:16px 20px;background:var(--papel);border:1px solid var(--borda);
             box-shadow:var(--sombra);margin-bottom:16px}
.total-geral .rot{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--suave)}
.total-geral .grande{font-size:26px;font-weight:700;letter-spacing:-.02em;
                     font-variant-numeric:tabular-nums}
.total-geral .grande.deve{color:var(--vermelho)}
.total-geral .grande.tem{color:var(--verde)}
.total-geral .explica{font-size:13px;color:var(--suave);max-width:440px;line-height:1.5}

/* formas de pagamento */
.formas{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;margin-top:6px}
.forma{border:1px solid var(--borda);border-radius:11px;padding:11px 8px;text-align:center;
       font-size:13.5px;cursor:pointer;background:var(--papel);line-height:1.3}
.forma.on{border-color:var(--vinho);background:var(--vinho-suave);color:var(--vinho);font-weight:600}
.forma i{display:block;font-style:normal;font-size:18px;margin-bottom:3px}
.efeito{margin:14px 0 4px;padding:12px 14px;border-radius:10px;font-size:13.5px;
        background:rgba(31,122,76,.08);color:var(--verde);line-height:1.6}
.efeito b{font-variant-numeric:tabular-nums}

/* transferência de crédito */
.de-para{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin-top:8px}
.lado{border:1px solid var(--borda);border-radius:12px;padding:12px 14px;background:var(--papel)}
.lado span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave)}
.lado b{font-size:14.5px;font-weight:600;display:block;margin:2px 0}
.lado small{color:var(--suave);font-size:12.5px}
.flecha{font-size:22px;color:var(--vinho);text-align:center}
.trava{margin-top:12px;padding:11px 14px;border-radius:10px;font-size:13px;line-height:1.6;
       background:rgba(183,121,31,.10);color:var(--amarelo)}
.trava b{color:var(--amarelo)}

@media (max-width:720px){
  .de-para{grid-template-columns:1fr}
  .flecha{transform:rotate(90deg)}
  .trat-n{text-align:left;min-width:86px}
  .trat-topo{gap:10px}
  .conta-trat{max-width:none}
  .acoes-trat button{flex:1}
  /* a tabela de procedimentos encolhe: a coluna de tabela sai de cena */
  table.itens th:nth-child(2),table.itens td:nth-child(2){display:none}
}

/* =================== MODAL QUE COBRE A TELA =================== */
/* Usado pelo editar cadastro: o resto da ficha fica atrás, e a página
   de baixo não rola junto. */
.modal-superficie{position:fixed;inset:0;background:rgba(43,34,37,.45);z-index:80;
                  overflow-y:auto;-webkit-overflow-scrolling:touch;
                  padding:calc(24px + env(safe-area-inset-top,0px)) 16px calc(24px + env(safe-area-inset-bottom,0px))}
.modal-superficie .modal-caixa{margin:0 auto;box-shadow:0 10px 40px rgba(43,34,37,.25)}
body.travado{overflow:hidden}
/* No celular o quadro desce: no iPhone o topo fica embaixo do relógio e da
   câmera (v7.5, pedido do cliente: "os modais têm que cair um pouco mais
   para baixo no celular"). O env() dá a altura dessa faixa em cada aparelho. */
@media (max-width:720px){
  .modal-superficie{padding:calc(34px + env(safe-area-inset-top,0px)) 10px calc(24px + env(safe-area-inset-bottom,0px))}
  .modal-superficie .campo-linha{flex:1;min-width:130px}
}

/* =================== AGENDA =================== */
/* A agenda precisa de largura: com 9 dentistas lado a lado, 900px não dá. */
body.tela-agenda main{max-width:1500px}

.barra-agenda{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.navega{display:flex;align-items:center;gap:6px}
.navega button{padding:8px 12px;font-size:15px;line-height:1}
.dia-grande{font-size:18px;font-weight:700;letter-spacing:-.01em;min-width:200px}
.dia-grande small{display:block;font-size:12.5px;font-weight:400;color:var(--suave)}
.dia-grande small::first-letter{text-transform:uppercase}
.visoes{display:flex;gap:4px;background:var(--fundo);border:1px solid var(--borda);
        border-radius:10px;padding:3px}
.visoes button{background:transparent;color:var(--texto);padding:7px 14px;font-size:14px;border-radius:8px}
.visoes button.on{background:var(--vinho);color:#fff}
.quem-aparece{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-left:auto}
.chip-prof{display:flex;align-items:center;gap:7px;border:1px solid var(--borda);
           border-radius:99px;padding:5px 12px 5px 7px;font-size:13px;background:var(--papel);
           cursor:pointer;white-space:nowrap}
.chip-prof i{width:11px;height:11px;border-radius:50%;display:inline-block;background:var(--c)}
.chip-prof .x{color:var(--suave);font-size:12px;margin-left:2px}
.chip-prof:hover{border-color:var(--vinho)}
.cab-link{cursor:pointer}
.cab-link:hover b{color:var(--vinho);text-decoration:underline}
.chip-prof.on{border-color:var(--vinho);background:var(--vinho);color:#fff;font-weight:600}
.chip-prof.on .x{color:rgba(255,255,255,.75)}
.fila-profs{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:10px 0 2px}
.fila-profs .chip-prof{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}
.fila-profs .chip-prof.arrastando{cursor:grabbing;box-shadow:0 4px 14px rgba(84,31,41,.22);border-color:var(--vinho);
  position:relative;z-index:2;opacity:.92}
.fila-profs.arrastando .chip-prof:not(.arrastando){transition:transform .12s}
.fila-dica{font-size:12px;color:var(--suave);margin-left:4px}
@media (max-width:620px){.fila-dica{display:none}}

/* ---------- o quadro: horas na esquerda, um profissional por coluna ---------- */
/* A moldura fica congelada (v16.8): os nomes, numa faixa à parte, presos embaixo do topo da tela, e as horas
   presas à esquerda. A faixa dos nomes anda para o lado junto com a grade (ligarGrade() em app/agenda.js). */
.grade-cabecas{position:sticky;top:var(--topo-app,59px);z-index:7;overflow-x:auto;scrollbar-width:none;
               background:var(--papel);border:1px solid var(--borda);border-bottom:0;border-radius:12px 12px 0 0}
.grade-cabecas::-webkit-scrollbar{display:none}
.grade-cabecas .quadro-agenda{align-items:stretch}
.rolagem-grade{overflow-x:auto;-webkit-overflow-scrolling:touch;
               border:1px solid var(--borda);border-top:0;border-radius:0 0 12px 12px;background:var(--papel)}
.quadro-agenda{display:grid;grid-template-columns:58px repeat(var(--colunas), minmax(158px, 1fr));
               align-items:start;min-width:calc(58px + var(--colunas) * 158px)}
.quadro-agenda > .cab{background:var(--papel);
                      border-bottom:1px solid var(--borda);border-left:1px solid var(--borda);
                      padding:9px 8px;text-align:center;min-height:62px}
.quadro-agenda > .cab:first-child{border-left:0}
.quadro-agenda > .cab.canto{position:sticky;left:0;z-index:2;background:var(--fundo);border-right:1px solid var(--borda)}
.cab b{display:block;font-size:13.5px;font-weight:600}
.cab small{display:block;color:var(--suave);font-size:11.5px;line-height:1.35}
.cab .risca{height:3px;border-radius:2px;background:var(--c);margin:0 auto 5px;width:34px}
.cab.hoje{background:var(--vinho-suave)}

.coluna-horas{position:sticky;left:0;z-index:6;background:var(--fundo);border-right:1px solid var(--borda)}
.coluna-horas .hora{position:absolute;left:0;right:0;font-size:11px;color:var(--suave);
                    text-align:right;padding:1px 6px 0 0;font-variant-numeric:tabular-nums}
.coluna-horas .hora.cheia{color:var(--texto);font-weight:500}

.coluna-prof{position:relative;border-left:1px solid var(--borda);cursor:copy}
.coluna-prof.sem-grade{background:var(--fundo);cursor:pointer}
.coluna-prof .faixa{position:absolute;left:0;right:0;border-bottom:1px dashed var(--borda)}
.coluna-prof .faixa.cheia{border-bottom:1px solid var(--borda)}
.coluna-prof .faixa:hover{background:var(--vinho-suave)}
.fora-grade{position:absolute;left:0;right:0;pointer-events:none;
            background:repeating-linear-gradient(45deg,var(--fundo),var(--fundo) 6px,
                                                 #F1ECED 6px,#F1ECED 12px)}
.fora-grade.almoco{display:flex;align-items:center;justify-content:center;overflow:hidden}
.fora-grade.almoco span{font-size:11px;color:var(--suave);background:var(--papel);border-radius:999px;padding:1px 8px;
                        letter-spacing:.04em}
.grade-dia .almoco-dia{margin-top:6px;font-size:12px;color:var(--suave)}
.grade-dia .almoco-dia .linha{gap:6px;margin-top:3px}

/* a linha de agora, para bater o olho e saber onde a clínica está */
.agora{position:absolute;left:0;right:0;height:0;border-top:2px solid var(--vinho);z-index:4;
       pointer-events:none}
.agora i{position:absolute;left:-4px;top:-5px;width:8px;height:8px;border-radius:50%;
         background:var(--vinho);display:block}

/* ---------- o card ---------- */
.marca{position:absolute;border-radius:9px;padding:5px 8px;overflow:hidden;cursor:pointer;z-index:2;
       border-left:4px solid var(--s);background:color-mix(in srgb, var(--s) 12%, #fff);
       box-shadow:0 1px 2px rgba(84,31,41,.06)}
.marca:hover{box-shadow:0 2px 10px rgba(84,31,41,.20);z-index:5}
.marca b{display:block;font-size:13px;font-weight:600;line-height:1.25;
         white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.marca small{display:block;font-size:11.5px;color:var(--suave);line-height:1.3;
             white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.marca .topo{display:flex;align-items:center;gap:5px;justify-content:space-between}
.marca .hora-card{font-size:11px;font-variant-numeric:tabular-nums;color:var(--suave)}
.marca .sit{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--s);flex:none}
.marca .enc{font-style:normal;font-size:10px;text-transform:uppercase;letter-spacing:.04em;
            color:var(--vinho);font-weight:600}
.marca .zap{position:absolute;right:5px;bottom:4px;font-size:12px;opacity:.6}
/* três linhas sempre (25/09/2026): hora e nome · o que vai ser feito · prontuário */
.marca{padding:4px 7px}
.marca b.l1{display:flex;align-items:center;gap:6px;font-size:12.5px;line-height:1.3}
.marca b.l1 .nome{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.marca small.l2,.marca small.l3{font-size:11.5px;line-height:1.3}
.marca small.l2 i{font-style:normal;opacity:.6}
.marca small.l3{font-variant-numeric:tabular-nums}
.marca small.l3.nova{color:var(--vinho);font-weight:600}
.marca small.l3 .tag-lab{margin:0 5px 0 0}
.marca small.l4{white-space:normal;overflow:visible}
.marca small.l4 .tag-lab{margin:2px 4px 0 0}
/* 15 minutos: hora e nome na mesma linha, senão não cabe nada */
.marca.apertada{padding:3px 7px;display:flex;align-items:center}
.marca.apertada b{display:flex;align-items:center;gap:6px;width:100%;font-size:12.5px}
.marca.apertada .hora-card{flex:none}
.marca.apertada .sit{margin-left:auto}
/* faltou, desmarcou: o horário voltou a valer, então o card fica de lado */
.marca .card-ficha{position:absolute;right:3px;top:21px;width:20px;height:22px;padding:0;border:0;border-radius:5px;
  background:transparent;color:var(--vinho);opacity:.45;cursor:pointer;z-index:3;display:flex;align-items:center;justify-content:center}
.marca .card-ficha::before{content:'';width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;
  border-left:7px solid currentColor}
.marca .card-ficha:hover:not(:disabled){opacity:1;background:rgba(84,31,41,.08);color:var(--vinho)}
.marca.com-ficha small.l2,.marca.com-ficha small.l3{padding-right:18px}
.marca.apertada .card-ficha{position:static;width:18px;height:18px;margin-left:4px;flex:none}
.marca.solta{opacity:.62;z-index:1}
.marca.solta b{text-decoration:line-through}
.marca.compromisso{border-left-style:dotted}
.marca.bloqueio{background:repeating-linear-gradient(45deg,#F3EEEF,#F3EEEF 6px,#E9E1E3 6px,#E9E1E3 12px);
                border-left-color:var(--suave);cursor:pointer;z-index:1}
.marca.bloqueio b{color:var(--suave)}

.legenda-sit{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--suave);margin-top:12px}
.legenda-sit span{display:flex;align-items:center;gap:6px}
.legenda-sit i{width:10px;height:10px;border-radius:50%;background:var(--s);display:inline-block}

/* ---------- mês ---------- */
.cab-mes{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:6px;
         font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave)}
.cab-mes span{text-align:center}
.mes{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.dia-mes{border:1px solid var(--borda);border-radius:11px;padding:9px;min-height:94px;
         background:var(--papel);cursor:pointer}
.dia-mes:hover{border-color:var(--vinho)}
.dia-mes.fora{opacity:.45}
.dia-mes .n{font-size:14px;font-weight:600}
.dia-mes .n small{font-weight:400;color:var(--suave);font-size:11.5px}
.dia-mes .barrinha{height:6px;border-radius:3px;background:var(--c);margin-top:5px;min-width:8px}
.dia-mes .quantos{font-size:11.5px;color:var(--suave);margin-top:6px}
.dia-mes.cheio{border-color:var(--vinho);box-shadow:0 0 0 2px var(--vinho-suave)}
.dia-mes .tranca-mes{font-size:11px;color:var(--suave);margin-top:4px;line-height:1.25}

/* ---------- seletor de quem aparece ---------- */
.grupos{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.grupo{background:var(--papel);color:var(--texto);border:1px solid var(--borda);
       border-radius:10px;padding:8px 13px;font-size:13.5px;font-weight:500;text-align:left;
       line-height:1.25}
.grupo small{display:block;color:var(--suave);font-size:11.5px;font-weight:400}
.grupo:hover:not(:disabled){background:var(--vinho-suave);color:var(--vinho)}
.grupo.novo{border-style:dashed;color:var(--suave)}
.grupo .apagar{font-style:normal;margin-left:6px;padding:0 4px;border-radius:4px}
.grupo .apagar:hover{background:rgba(192,57,43,.12);color:var(--vermelho)}
.rotulo-lista{display:flex;align-items:center;gap:8px;font-size:11px;text-transform:uppercase;
              letter-spacing:.06em;color:var(--suave);margin:16px 0 6px}
.rotulo-lista .acoes{margin-left:auto;text-transform:none;letter-spacing:0}
.rotulo-lista button{background:transparent;color:var(--vinho);border:0;padding:0 2px;
                     font-size:12.5px;font-weight:500}
.rotulo-lista button:hover{background:transparent;text-decoration:underline}
.lista-prof{border:1px solid var(--borda);border-radius:11px;overflow:hidden}
.linha-prof{display:flex;align-items:center;gap:11px;padding:9px 12px;cursor:pointer;
            border-bottom:1px solid var(--borda);background:var(--papel)}
.linha-prof:last-child{border-bottom:0}
.linha-prof:hover{background:var(--vinho-suave)}
.linha-prof input{width:18px;height:18px;flex:none;accent-color:var(--vinho)}
.linha-prof .ponto{width:11px;height:11px;border-radius:50%;flex:none;background:var(--c)}
.linha-prof .txt{flex:1;min-width:0}
.linha-prof .txt b{display:block;font-size:14px;font-weight:600}
.linha-prof .txt small{color:var(--suave);font-size:12px}
.linha-prof .so{background:transparent;color:var(--vinho);border:1px solid var(--borda);
                border-radius:8px;padding:4px 10px;font-size:12px;opacity:0;white-space:nowrap}
.linha-prof:hover .so{opacity:1}
.linha-prof.folga{background:var(--fundo)}
.linha-prof.folga .txt b{color:var(--suave);font-weight:500}

/* ---------- marcar horário ---------- */
.abas-modal{display:flex;gap:4px;background:var(--fundo);border:1px solid var(--borda);
            border-radius:10px;padding:3px;margin:12px 0 4px;width:fit-content}
.abas-modal button{background:transparent;color:var(--texto);padding:7px 16px;font-size:14px;border-radius:8px}
.abas-modal button.on{background:var(--vinho);color:#fff}
.achados{margin-top:4px}
.achado{border:1px solid var(--borda);border-top:0;padding:9px 12px;cursor:pointer;background:var(--papel)}
.achado:first-child{border-top:1px solid var(--borda);border-radius:10px 10px 0 0}
.achado:last-child{border-radius:0 0 10px 10px}
.achado:hover{background:var(--vinho-suave)}
.achado b{font-size:14px;font-weight:600}
.achado small{display:block;color:var(--suave);font-size:12px}
.achado.novo{color:var(--vinho)}
.escolhido{display:flex;align-items:center;gap:12px;margin-top:8px;padding:11px 13px;
           border:1px solid var(--vinho);border-radius:11px;background:var(--vinho-suave)}
.escolhido div{flex:1;min-width:0}
.escolhido b{display:block;font-size:14.5px;font-weight:600}
.escolhido small{color:var(--suave);font-size:12.5px}
.campo-texto{width:100%;padding:11px 13px;border:1px solid var(--borda);border-radius:9px;
             background:var(--papel);color:var(--texto);font-size:15px;line-height:1.5;
             font-family:inherit;resize:vertical}
.campo-texto:focus{outline:0;border-color:var(--vinho);box-shadow:0 0 0 3px var(--vinho-suave)}
.modelos{display:grid;gap:8px;margin-top:6px}
.modelo{border:1px solid var(--borda);border-radius:11px;padding:10px 13px;cursor:pointer;background:var(--papel)}
.modelo.on{border-color:var(--vinho);background:var(--vinho-suave)}
.modelo b{display:block;font-size:14px}
.modelo small{color:var(--suave);font-size:12.5px}

@media (max-width:900px){
  .quadro-agenda{grid-template-columns:48px repeat(var(--colunas), minmax(136px, 1fr));
                 min-width:calc(48px + var(--colunas) * 136px)}
  .quem-aparece{margin-left:0;width:100%}
  .dia-grande{min-width:auto;flex:1}
  .cab-mes,.mes{grid-template-columns:repeat(7,minmax(40px,1fr));gap:4px}
  .dia-mes{min-height:60px;padding:5px;border-radius:8px}
  .dia-mes .quantos{font-size:10px}
}

/* =================== CONVÊNIO E FAMÍLIA NO CADASTRO =================== */
.cep-linha{display:flex;gap:7px}
.cep-linha input{flex:1;min-width:0}
.cep-linha button{padding:11px 14px;font-size:14px;white-space:nowrap}
/* o que veio dos Correios pisca esverdeado, para a pessoa ver o que mudou */
.veio-do-cep{background:rgba(31,122,76,.08)}

.carteirinha{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;
             border:1px solid var(--borda);border-radius:12px;padding:12px 14px;
             margin-bottom:8px;background:var(--papel)}
.carteirinha .selo-conv{width:44px;height:44px;border-radius:10px;flex:none;display:flex;
                        align-items:center;justify-content:center;font-weight:700;font-size:13px;
                        background:var(--vinho-suave);color:var(--vinho)}
.carteirinha .dados{flex:1 1 190px;min-width:0}
.carteirinha .dados b{display:block;font-size:14.5px;font-weight:600}
.carteirinha .dados small{display:block;color:var(--suave);font-size:12.5px}
.carteirinha .carteira-num{font-variant-numeric:tabular-nums;font-size:14px;letter-spacing:.02em}
.carteirinha .venceu{color:var(--amarelo)}
.carteirinha .acoes-conv{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.carteirinha .acoes-conv button{padding:6px 11px;font-size:12.5px}
.carteirinha.vencida{border-color:var(--amarelo)}
.carteirinha.desligada{opacity:.55}
.vazio-caixa{border:1px dashed var(--borda);border-radius:12px;padding:16px;text-align:center;
             color:var(--suave);font-size:13.5px}
.caixa-form{border:1px solid var(--vinho);border-radius:12px;padding:6px 14px 14px;
            margin-top:10px;background:var(--vinho-suave)}

.achou-fone{border:1px solid var(--amarelo);background:rgba(183,121,31,.08);border-radius:12px;
            padding:13px 15px;margin-top:10px}
.achou-fone .pergunta{font-size:14px;margin-bottom:4px}
.achou-fone .pergunta b{font-weight:600}
.achou-fone .quem{display:flex;align-items:center;gap:10px;margin:10px 0;font-size:13.5px}
.achou-fone .escolhas{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.achou-fone .escolhas button{padding:8px 13px;font-size:13.5px}
.bolinha{width:34px;height:34px;border-radius:50%;background:var(--vinho-suave);color:var(--vinho);
         display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12.5px;flex:none}
.parentes{display:grid;gap:8px}
.parente{display:flex;align-items:center;gap:11px;flex-wrap:wrap;border:1px solid var(--borda);
         border-radius:12px;padding:10px 13px;background:var(--papel)}
.parente .dados{flex:1 1 180px;min-width:0}
.parente .dados b{display:block;font-size:14px;font-weight:600}
.parente .dados small{color:var(--suave);font-size:12.5px}
.parente select{width:auto;min-width:130px;padding:7px 10px;font-size:13.5px}
.parente button{padding:6px 11px;font-size:12.5px}

@media (max-width:640px){
  .carteirinha,.parente{align-items:flex-start}
  .carteirinha .acoes-conv{margin-left:0;width:100%}
  .carteirinha .acoes-conv button{flex:1}
  .parente select,.parente button{flex:1 1 100%;min-width:0}
  .achou-fone .escolhas button{flex:1 1 100%}
}

/* =================== A TABELA DO TRATAMENTO =================== */
.tab-do-trat{display:flex;align-items:center;gap:9px;margin-left:auto;font-size:13px;
             color:var(--suave);white-space:nowrap;flex-wrap:wrap}
.tab-do-trat b{color:var(--texto);font-weight:600}
.tab-do-trat .sem-tabela{color:var(--suave);font-weight:500;font-style:italic}
.tab-do-trat button{padding:5px 11px;font-size:12.5px}
.tabelas-escolha{display:grid;gap:8px;margin-top:6px}
.tab-opcao{display:flex;align-items:center;gap:12px;border:1px solid var(--borda);
           border-radius:12px;padding:12px 14px;cursor:pointer;background:var(--papel)}
.tab-opcao input{width:19px;height:19px;flex:none;accent-color:var(--vinho)}
.tab-opcao .txt{flex:1;min-width:0}
.tab-opcao .txt b{display:block;font-size:14.5px;font-weight:600}
.tab-opcao .txt small{color:var(--suave);font-size:12.5px}
.tab-opcao:has(input:checked){border-color:var(--vinho);background:var(--vinho-suave)}
.cadeado{font-style:normal;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;
         background:var(--vinho-suave);color:var(--vinho);border-radius:5px;padding:2px 7px;
         margin-left:6px;font-weight:600;vertical-align:middle}
.cadeado.convenio{background:rgba(46,109,164,.12);color:var(--feito)}
@media (max-width:720px){
  .tab-do-trat{margin-left:0;width:100%;justify-content:space-between}
}

/* =================== PROFISSIONAIS =================== */
.prof-lista{display:grid;gap:9px}
.prof-card{display:flex;align-items:center;gap:13px;flex-wrap:wrap;border:1px solid var(--borda);
           border-radius:13px;padding:13px 15px;background:var(--papel);cursor:pointer}
.prof-card:hover{border-color:var(--vinho)}
.prof-card .marca-cor{width:5px;align-self:stretch;border-radius:3px;background:var(--c);flex:none}
.prof-card .ini{width:42px;height:42px;border-radius:50%;flex:none;display:flex;
                align-items:center;justify-content:center;font-weight:600;font-size:14px;
                background:color-mix(in srgb, var(--c) 15%, #fff);color:var(--c)}
.prof-card .dados{flex:1 1 200px;min-width:0}
.prof-card .dados b{display:block;font-size:15px;font-weight:600}
.prof-card .dados small{display:block;color:var(--suave);font-size:12.5px}
.prof-card .tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}
.prof-card .tags i{font-style:normal;font-size:11px;background:var(--fundo);
                   border:1px solid var(--borda);border-radius:99px;padding:2px 9px;color:var(--suave)}
.prof-card .prof-lado{text-align:right;font-size:12.5px;color:var(--suave);
                      white-space:nowrap;margin-left:auto}
.prof-card.inativo{opacity:.55}
.prof-card.inativo .dados b::after{content:' · inativo';font-weight:400;color:var(--suave);font-size:12.5px}
button.ligado{background:var(--vinho);color:#fff;border-color:var(--vinho)}

.cores{display:flex;gap:7px;flex-wrap:wrap;margin-top:6px}
.cores span{width:30px;height:30px;border-radius:50%;background:var(--c);cursor:pointer;
            border:2px solid transparent}
.cores span.on{border-color:var(--texto);box-shadow:0 0 0 2px #fff inset}
.especs{display:flex;gap:7px;flex-wrap:wrap;margin-top:6px}
.espec{border:1px solid var(--borda);border-radius:99px;padding:6px 13px;font-size:13px;
       cursor:pointer;background:var(--papel);user-select:none}
.espec.on{border-color:var(--vinho);background:var(--vinho-suave);color:var(--vinho);font-weight:600}
.grade-dias{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-top:6px}
.grade-dia{border:1px solid var(--borda);border-radius:11px;padding:10px 12px;background:var(--papel)}
.grade-dia b{display:block;font-size:13px;font-weight:600;text-transform:capitalize}
.grade-dia input{padding:7px 9px;font-size:14px;min-width:0}
.grade-dia.folga{background:var(--fundo)}
.grade-dia.folga b{color:var(--suave);font-weight:500}

@media (max-width:640px){
  .prof-card .prof-lado{margin-left:0;text-align:left;white-space:normal;padding-left:60px;margin-top:-4px}
  .cores span{width:34px;height:34px}
}

/* =================== CAIXA COM ROLAGEM =================== */
/* Lista que cresce sem fim empurra a tela inteira para baixo. A caixa
   tem altura máxima e rola por dentro; no celular, um pouco menor. */
.rolagem-caixa{max-height:min(430px, 62vh);overflow-y:auto;overscroll-behavior:contain;
               -webkit-overflow-scrolling:touch;padding-right:6px}
.rolagem-caixa::-webkit-scrollbar{width:9px}
.rolagem-caixa::-webkit-scrollbar-track{background:transparent}
.rolagem-caixa::-webkit-scrollbar-thumb{background:var(--borda);border-radius:99px;
                                        border:2px solid var(--papel)}
.rolagem-caixa::-webkit-scrollbar-thumb:hover{background:var(--suave)}
.rolagem-caixa{scrollbar-width:thin;scrollbar-color:var(--borda) transparent}

/* o esmaecido embaixo só existe enquanto ainda há coisa lá embaixo */
.com-rolagem{position:relative}
.com-rolagem::after{content:'';position:absolute;left:0;right:8px;bottom:0;height:34px;
                    pointer-events:none;opacity:0;transition:opacity .15s;
                    background:linear-gradient(to bottom, rgba(255,255,255,0), var(--papel))}
.com-rolagem.tem-mais::after{opacity:1}
@media (max-width:720px){
  .rolagem-caixa{max-height:min(360px, 55vh)}
}

/* =================== SELETOR QUE BUSCA =================== */
.seletor{position:relative}
.seletor-fechado{display:flex;align-items:center;gap:10px;width:100%;text-align:left;
                 background:var(--papel);color:var(--texto);border:1px solid var(--borda);
                 border-radius:9px;padding:10px 13px;font-size:15px;font-weight:400;
                 min-height:44px}
.seletor-fechado:hover:not(:disabled){background:var(--papel);border-color:var(--vinho)}
.seletor-fechado .txt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.seletor-fechado b{font-weight:600}
.seletor-fechado small{color:var(--suave);font-size:13px}
.seletor-fechado .seta{color:var(--suave);font-style:normal;font-size:12px;flex:none}

.seletor-aberto{position:absolute;left:0;right:0;top:0;z-index:40;background:var(--papel);
                border:1px solid var(--vinho);border-radius:11px;
                box-shadow:0 8px 28px rgba(43,34,37,.18);overflow:hidden}
.seletor-busca{width:100%;border:0;border-bottom:1px solid var(--borda);border-radius:0;
               padding:12px 14px;font-size:16px}
.seletor-busca:focus{outline:0;box-shadow:none;border-color:var(--borda)}
.seletor-conta{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave);
               padding:7px 14px 3px}
.seletor-lista{max-height:min(340px, 48vh);overflow-y:auto;overscroll-behavior:contain;
               -webkit-overflow-scrolling:touch}
.seletor-grupo{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave);
               padding:9px 14px 3px;background:var(--fundo);position:sticky;top:0}
.seletor-item{padding:9px 14px;cursor:pointer;border-bottom:1px solid var(--borda)}
.seletor-item:last-child{border-bottom:0}
.seletor-item b{display:block;font-size:14.5px;font-weight:600;line-height:1.3}
.seletor-item small{color:var(--suave);font-size:12.5px}
.seletor-item .seletor-onde{font-style:normal;font-size:11px;color:var(--suave);
                            background:var(--fundo);border:1px solid var(--borda);
                            border-radius:99px;padding:1px 8px;margin-left:0}
.seletor-item.seletor-marcado{background:var(--vinho-suave)}  /* não .marcado: é a etiqueta vermelha do lugar marcado */
.seletor-item.atual b{color:var(--vinho)}
.seletor-vazio{padding:18px 14px;text-align:center;color:var(--suave);font-size:13.5px}

/* =================== VALOR E DESCONTO NA AVALIAÇÃO =================== */
.escolha .val-edita,.itens .val-edita{background:transparent;color:var(--texto);border:1px dashed var(--borda);
                    border-radius:8px;padding:5px 10px;font-size:14px;font-weight:600;
                    font-variant-numeric:tabular-nums;white-space:nowrap}
.escolha .val-edita:hover:not(:disabled),.itens .val-edita:hover:not(:disabled){background:var(--vinho-suave);color:var(--vinho);
                                         border-color:var(--vinho);border-style:solid}
.soma-linha.desconto{color:var(--verde)}
.soma-linha.desconto b{color:var(--verde)}
.soma-linha.desconto span{display:flex;align-items:center;gap:9px}
.soma-linha.desconto button{padding:3px 9px;font-size:12px}

/* ==================================================================
   Laboratório
   ================================================================== */
:root{--sangue:#8A1E14}   /* vermelho mais forte: passou do prazo */
.filtros-lab{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.filtros-lab .f{border:1px solid var(--borda);border-radius:99px;padding:7px 14px;font-size:13.5px;
                background:var(--papel);cursor:pointer;white-space:nowrap}
.filtros-lab .f.on{border-color:var(--vinho);background:var(--vinho-suave);color:var(--vinho);font-weight:600}
.filtros-lab .f i{font-style:normal;color:var(--suave);font-weight:400;margin-left:5px}
.filtros-lab .f.on i{color:var(--vinho)}
.filtros-lab .busca-lab{flex:1 1 200px;min-width:0;padding:9px 13px;font-size:14px}
.guias{display:grid;gap:9px}
.guia{display:flex;gap:13px;align-items:stretch;border:1px solid var(--borda);border-radius:13px;
      padding:13px 15px;background:var(--papel);cursor:pointer;flex-wrap:wrap}
.guia:hover{border-color:var(--vinho)}
.guia .cor{width:5px;border-radius:3px;background:var(--c);flex:none;align-self:stretch;min-height:44px}
.guia .dados{flex:1 1 230px;min-width:0}
.guia .dados b{display:block;font-size:15px;font-weight:600}
.guia .dados .trab{font-size:13.5px;margin-top:1px}
.guia .dados small{display:block;color:var(--suave);font-size:12.5px;margin-top:2px}
.guia .quando{margin-left:auto;text-align:right;font-size:13px;white-space:nowrap;min-width:150px}
.guia .quando b{display:block;font-weight:600;font-size:13.5px;color:var(--c)}
.guia .quando small{color:var(--suave);font-size:12.5px}
.guia .num{font-variant-numeric:tabular-nums;color:var(--suave);font-size:12.5px;font-weight:400}
.guia .dentes{display:inline-block;font-variant-numeric:tabular-nums;background:var(--fundo);
              border:1px solid var(--borda);border-radius:6px;padding:1px 7px;font-size:12.5px;
              margin-right:6px;color:var(--suave)}
.viagens{border-left:2px solid var(--borda);margin:6px 0 2px 9px;padding-left:15px;display:grid;gap:9px}
.viagem{position:relative;font-size:13.5px}
.viagem::before{content:'';position:absolute;left:-21px;top:6px;width:9px;height:9px;border-radius:50%;
                background:var(--c);border:2px solid var(--papel)}
.viagem b{font-weight:600}
.viagem small{display:block;color:var(--suave);font-size:12.5px}
.labs{display:grid;gap:9px}
.lab{display:flex;align-items:center;gap:13px;flex-wrap:wrap;border:1px solid var(--borda);
     border-radius:13px;padding:13px 15px;background:var(--papel);cursor:pointer}
.lab:hover{border-color:var(--vinho)}
.lab .ini{width:42px;height:42px;border-radius:11px;flex:none;display:flex;align-items:center;
          justify-content:center;font-weight:700;font-size:13px;background:var(--vinho-suave);color:var(--vinho)}
.lab .dados{flex:1 1 200px;min-width:0}
.lab .dados b{display:block;font-size:15px;font-weight:600}
.lab .dados small{display:block;color:var(--suave);font-size:12.5px}
.lab .tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}
.lab .tags i{font-style:normal;font-size:11px;background:var(--fundo);border:1px solid var(--borda);
             border-radius:99px;padding:2px 9px;color:var(--suave)}
.lab .lab-lado{text-align:right;font-size:12.5px;color:var(--suave);white-space:nowrap;margin-left:auto}
.lab .lab-lado b{display:block;font-size:19px;font-weight:600;color:var(--vinho);letter-spacing:-.02em}
.lab.inativo{opacity:.55}
.lab.inativo .dados b::after{content:' · inativo';font-weight:400;color:var(--suave);font-size:12.5px}
.escala{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.escala span{border:1px solid var(--borda);border-radius:8px;padding:7px 12px;font-size:13px;
             cursor:pointer;background:var(--papel);font-variant-numeric:tabular-nums}
.escala span.on{border-color:var(--vinho);background:var(--vinho-suave);color:var(--vinho);font-weight:600}
.proc-escolha{display:grid;gap:8px;margin-top:6px}
.proc-op{display:flex;align-items:center;gap:12px;border:1px solid var(--borda);border-radius:12px;
         padding:11px 14px;cursor:pointer;background:var(--papel)}
.proc-op input{width:19px;height:19px;flex:none;accent-color:var(--vinho)}
.proc-op .txt{flex:1;min-width:0}
.proc-op .txt b{display:block;font-size:14.5px;font-weight:600}
.proc-op .txt small{color:var(--suave);font-size:12.5px}
.proc-op.on{border-color:var(--vinho);background:var(--vinho-suave)}
.forma small{display:block;font-size:11.5px;color:var(--suave);font-weight:400;margin-top:2px}
.tarja-lab{display:flex;gap:8px;align-items:flex-start;margin-top:8px;border-radius:8px;
           padding:8px 10px;font-size:12.5px;line-height:1.45;cursor:pointer}
.tarja-lab .bolota{width:8px;height:8px;border-radius:50%;flex:none;margin-top:5px;background:currentColor}
.tarja-lab.espera{background:rgba(192,57,43,.10);color:var(--afazer)}
.tarja-lab.chegou{background:rgba(31,122,76,.10);color:var(--inicial)}
.tarja-lab.atrasado{background:rgba(138,30,20,.13);color:var(--sangue)}
.tarja-lab b{font-weight:600}
.lab-ponto{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:5px;vertical-align:middle}
.lab-ponto.espera{background:var(--afazer)}
.lab-ponto.atrasado{background:var(--sangue);box-shadow:0 0 0 2px rgba(138,30,20,.25)}
.lab-ponto.chegou{background:var(--inicial)}
.item .no-lab{display:inline-block;font-size:11.5px;border-radius:5px;padding:1px 7px;margin-left:4px;
              font-weight:600;cursor:pointer}
.item .no-lab.espera{background:rgba(192,57,43,.10);color:var(--afazer)}
.item .no-lab.atrasado{background:rgba(138,30,20,.13);color:var(--sangue)}
.item .no-lab.chegou{background:rgba(31,122,76,.10);color:var(--inicial)}
/* v17.3: a guia simples (mockups/guia-laboratorio.html) */
.lab-topo{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.lab-topo h2{margin:0;display:flex;align-items:center;gap:9px}
.lab-topo .esp{flex:1}
.guia{align-items:center}
.guia .quando{min-width:120px}
.guia-acoes{display:flex;gap:6px;flex-wrap:wrap}
.guia-acoes button{padding:6px 11px;font-size:12.5px}
.pilula-guia{display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:4px 11px;font-size:13px;font-weight:600;
             background:color-mix(in srgb, var(--c) 12%, #fff);color:var(--c);margin-top:8px}
.pilula-guia::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--c)}
.info-guia{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.info-guia div{border:1px solid var(--borda);border-radius:10px;padding:8px 10px;background:#fff;min-width:0}
.info-guia small{display:block;color:var(--suave);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em}
.info-guia b{font-size:14px;font-weight:600;overflow-wrap:anywhere}
.obs-guia{font-size:14px;line-height:1.55;white-space:pre-wrap}
.passos-guia{display:flex;margin:16px 0 4px}
.passo-g{flex:1;text-align:center;font-size:12.5px;color:var(--suave);position:relative;padding-top:18px}
.passo-g::before{content:'';position:absolute;top:4px;left:50%;width:12px;height:12px;border-radius:50%;transform:translateX(-50%);
                 background:#fff;border:2px solid var(--borda);z-index:1}
.passo-g::after{content:'';position:absolute;top:9px;left:-50%;width:100%;height:2px;background:var(--borda)}
.passo-g:first-child::after{display:none}
.passo-g.ja{color:var(--texto)}.passo-g.ja::before{background:var(--c);border-color:var(--c)}
.passo-g.ja::after{background:var(--c)}
.passo-g b{display:block;font-weight:600}
.pac-guia{display:flex;gap:10px;align-items:center;border:1px solid var(--borda);border-radius:10px;padding:8px 11px;background:#fff}
.pac-guia b{font-size:14.5px}.pac-guia small{color:var(--suave);font-size:12.5px;display:block}
.pac-guia button{margin-left:auto;padding:5px 10px;font-size:12.5px}
.nuvem-guia{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.nuvem-guia span{border:1px solid var(--borda);border-radius:99px;padding:6px 12px;font-size:13px;background:#fff;cursor:pointer}
.nuvem-guia span.on{border-color:var(--vinho);background:var(--vinho-suave);color:var(--vinho);font-weight:600}
.dica-guia{font-size:12.5px;color:var(--suave);margin-top:4px}
.grade-guia{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.grade-guia.tres{grid-template-columns:1fr 1fr 1fr}
.grade-guia > div{min-width:0}
.grade-guia select,.grade-guia input{width:100%}
@media (max-width:720px){ .info-guia{grid-template-columns:1fr 1fr} }
@media (max-width:560px){
  .grade-guia,.grade-guia.tres{grid-template-columns:1fr}
  .guia-acoes{width:100%;padding-left:18px}
  .lab-topo .esp{display:none}
}
@media (max-width:640px){
  .guia,.lab{align-items:flex-start}
  .guia .quando{margin-left:0;text-align:left;min-width:0;padding-left:18px;margin-top:2px}
  .lab .lab-lado{margin-left:0;text-align:left;white-space:normal;padding-left:55px;margin-top:-4px}
  .lab .lab-lado b{display:inline;font-size:14px}
}

/* ==================================================================
   Facegrama — o rosto da harmonização (app/facegrama.js)
   ================================================================== */
.facegrama-caixa .vista{max-width:430px;margin:0 auto;text-align:center;position:relative}
svg.facegrama{width:100%;height:auto;max-height:66vh;display:block;touch-action:manipulation}
svg.facegrama .pele{fill:none;stroke:#B9A9AC;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
svg.facegrama .tra{fill:none;stroke:#B9A9AC;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
svg.facegrama .tra.fina{stroke-width:1.1;stroke:#CFC3C5}
svg.facegrama .tra.grossa{stroke-width:3.2;stroke:#B9A9AC}
svg.facegrama .iris{fill:#DCD2D3}
svg.facegrama .pupila{fill:#B9A9AC}
svg.facegrama .sombra *{fill:rgba(84,31,41,.045);stroke:none}
svg.facegrama .area{fill:transparent;stroke:none;cursor:pointer}
svg.facegrama .regiao:hover .area{fill:var(--vinho-suave)}
svg.facegrama .regiao.tem .area{fill:color-mix(in srgb, var(--c) 15%, transparent)}
svg.facegrama .regiao.tem:hover .area{fill:color-mix(in srgb, var(--c) 26%, transparent)}
svg.facegrama .regiao.marcada .area{fill:color-mix(in srgb, var(--c, var(--vinho)) 24%, transparent);
                                    stroke:var(--vinho);stroke-width:2;stroke-dasharray:4 3}
svg.facegrama .marca-fg,svg.facegrama .rosto{pointer-events:none}
svg.facegrama .marca-fg path,svg.facegrama .marca-fg rect,
svg.facegrama .marca-fg circle{fill:none;stroke:var(--c);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
svg.facegrama .marca-fg .cheio{fill:var(--c);stroke:none}
.facegrama-caixa .leg-fg{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px;justify-content:center}
.facegrama-caixa .leg-fg span{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--suave)}
.facegrama-caixa .leg-fg svg{width:20px;height:20px}
.facegrama-caixa .leg-fg svg path,.facegrama-caixa .leg-fg svg rect,
.facegrama-caixa .leg-fg svg circle{fill:none;stroke:var(--suave);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.facegrama-caixa .leg-fg svg .cheio{fill:var(--suave);stroke:none}
.qtd-rosto{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.qtd-rosto input{width:110px;padding:9px 12px}
.qtd-rosto .unid{font-size:14px;color:var(--suave)}
.titulo-rosto{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--suave);
              text-align:center;margin:18px 0 4px;border-top:1px solid var(--borda);padding-top:14px}

/* a etiqueta do laboratório no card da agenda */
.marca .tag-lab{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.03em;line-height:1.3;
                border-radius:4px;padding:1px 5px;margin:2px 0 1px;white-space:nowrap;color:#fff;
                vertical-align:middle}
.marca.apertada .tag-lab{margin:0 0 0 4px;padding:0 4px}
.marca .tag-lab.espera{background:var(--afazer)}
.marca .tag-lab.atrasado{background:var(--sangue)}
.marca .tag-lab.chegou{background:var(--inicial)}

/* =================== ANOTAÇÕES E AJUDA DA IA =================== */
:root{--anotacao:#A8741A}   /* ocre: a cor diz "anotação", sem etiqueta escrita */
.tl-topo{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tl-topo h2{margin:0}
.tl-topo button{margin-left:auto;padding:7px 14px;font-size:13.5px}
.linha-tempo .texto-anot{font-size:13.5px;color:var(--texto);margin:1px 0 2px;white-space:pre-line;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.linha-tempo .texto-anot.aberto{-webkit-line-clamp:unset;display:block}
.linha-tempo .mais{font-size:12px;color:var(--vinho);font-weight:600}
.linha-tempo .corrigida{font-size:11.5px;color:var(--suave);font-style:italic}
.linha-tempo .quando a{color:var(--vinho)}
textarea.caixa-anotacao{width:100%;min-height:150px;font:inherit;font-size:15px;padding:11px 13px;
  border:1px solid var(--borda);border-radius:10px;resize:vertical;box-sizing:border-box;margin-top:6px}
.linha-campos{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.linha-campos label{flex:1 1 150px;min-width:0;font-size:12px;color:var(--suave);
  text-transform:uppercase;letter-spacing:.05em}
.linha-campos input,.linha-campos select{width:100%;margin-top:4px;box-sizing:border-box}
.ia-barra{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:8px}
.ia-bt{padding:6px 12px;font-size:13px;border-radius:99px}
.ia-bt.claro{background:var(--papel);color:var(--vinho);border:1px solid var(--borda)}
.ia-barra[hidden]{display:none}
.ia-estado{font-size:12.5px;color:var(--suave)}
.ia-estado a{color:var(--vinho)}
/* painel da IA, no jeito da Clínica Escola (v6.8) — só com as cores da casa */
.ia-painel{border:1px solid var(--borda);border-left:5px solid var(--vinho);background:var(--papel);
  border-radius:12px;padding:11px 13px;margin-top:8px;animation:abreBandeja .18s ease-out}
.ia-painel.gravando{border-left-color:var(--afazer);animation:iaBorda 1.1s ease-in-out infinite}
.ia-painel.ia-pronto{border-left-color:var(--verde)}
.ia-painel.ia-erro{border-left-color:var(--vermelho)}
.ia-topo{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--vinho)}
.ia-topo b{font-weight:600}
.ia-painel.ia-erro .ia-topo{color:var(--vermelho)}
.ia-tempo{margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700;font-size:15px;color:var(--afazer)}
.ia-tempo small{font-weight:500;color:var(--suave)}
.ia-tempo.perto{color:var(--amarelo)}
.ia-selo{margin-left:auto;font-size:11.5px;font-weight:700;border-radius:99px;padding:1px 10px}
.ia-selo.ok{background:rgba(31,122,76,.10);color:var(--verde)}
.ia-selo.ruim{background:rgba(192,57,43,.10);color:var(--vermelho)}
.ia-diz{font-size:13.5px;line-height:1.5;margin:8px 0 0}
.ia-diz.calma{font-size:12.5px;color:var(--suave);margin-top:4px}
.ia-onda{display:flex;align-items:center;gap:3px;margin:10px 0 2px;height:22px}
.ia-onda i{width:3px;height:8px;border-radius:2px;background:var(--afazer);display:block;animation:iaOnda 1s ease-in-out infinite}
.ia-onda i:nth-child(2){animation-delay:.12s}
.ia-onda i:nth-child(3){animation-delay:.24s}
.ia-onda i:nth-child(4){animation-delay:.36s}
.ia-onda i:nth-child(5){animation-delay:.48s}
.ia-onda span{margin-left:8px;font-size:12.5px;font-weight:600;color:var(--afazer)}
.ia-onda.pre span{color:var(--suave)}
i.ia-gira{width:13px;height:13px;border:2px solid var(--borda);border-top-color:var(--vinho);border-radius:50%;
  display:inline-block;animation:iaGira .8s linear infinite;background:none}
.ia-etapas{display:flex;flex-direction:column;gap:5px;margin:10px 0 2px}
.ia-etapas span{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--suave)}
.ia-etapas span i{width:9px;height:9px;border-radius:50%;border:2px solid var(--borda);flex:none}
.ia-etapas span.ia-feita{color:var(--verde)}
.ia-etapas span.ia-feita i{background:var(--verde);border-color:var(--verde)}
.ia-etapas span.ia-agora{color:var(--vinho);font-weight:600}
.ia-etapas span.ia-agora i{border-color:var(--vinho);animation:iaPulsa 1.1s ease-in-out infinite}
.ia-espera{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--vinho);
  font-variant-numeric:tabular-nums}
.ia-texto{background:var(--fundo);border:1px solid var(--borda);border-radius:10px;padding:10px 12px;
  font-size:14px;line-height:1.55;margin-top:9px;white-space:pre-wrap}
.ia-confira{background:rgba(192,57,43,.08);color:var(--vermelho);border-radius:10px;padding:8px 11px;
  margin-top:9px;font-size:13px;line-height:1.45}
.ia-dicas{background:rgba(183,121,31,.10);border-radius:10px;padding:8px 11px;margin-top:8px;font-size:13px;line-height:1.45}
.ia-dicas b{color:var(--amarelo);font-weight:600}
.ia-dicas ul{margin:5px 0 4px;padding-left:18px}
.ia-dicas li{margin:2px 0}
.ia-dicas small{color:var(--suave)}
.ia-aviso{font-size:12.5px;color:var(--suave);margin-top:8px}
.ia-aviso b{color:var(--texto);font-weight:600}
.ia-bruto{margin-top:6px;font-size:12.5px;color:var(--suave)}
.ia-bruto summary{cursor:pointer;color:var(--vinho)}
.ia-bruto p{margin:6px 0 0;font-style:italic}
.ia-acoes{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:11px}
button.ia-parar{background:var(--afazer)}
button.ia-parar:hover:not(:disabled){background:#9E2E22}
button.ia-usar{background:var(--verde)}
button.ia-usar:hover:not(:disabled){background:#17613C}
@keyframes iaOnda{0%,100%{height:6px}50%{height:20px}}
@keyframes iaGira{to{transform:rotate(360deg)}}
@keyframes iaPulsa{0%,100%{opacity:1}50%{opacity:.55}}
@keyframes iaBorda{50%{border-left-color:rgba(192,57,43,.3)}}

/* Clique para copiar o nome e o telefone no quadro de mensagem (24/09/2026) */
button.copiavel{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;
  padding:1px 7px;margin:0 -3px;border-radius:7px;color:var(--texto);font-weight:600}
button.copiavel i{font-style:normal;font-weight:500;font-size:11px;color:var(--suave);
  border:1px solid var(--borda);border-radius:99px;padding:0 7px;background:var(--papel)}
button.copiavel:hover{background:var(--vinho-suave)}
button.copiavel.copiado i{color:#fff;background:var(--verde);border-color:var(--verde)}

/* Cadastro rápido da agenda: bandeja que abre embaixo da busca */
.bandeja-novo{margin-top:8px;padding:12px 14px 14px;border:1px solid var(--vinho);border-radius:12px;
  background:var(--vinho-suave);animation:abreBandeja .18s ease-out}
.bandeja-novo .bandeja-titulo{font-weight:700;color:var(--vinho);font-size:14px}
.bandeja-novo label{margin-top:8px}
@keyframes abreBandeja{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.faixa-pre{margin:12px 0 0}

/* Quadro único do agendamento (25/09/2026, mockups/agendamento.html) */
.achado.novo{display:flex;gap:10px;align-items:center}
.achado.novo .ic{font-size:17px;width:22px;text-align:center;flex:none}
.achado.nada{cursor:default;color:var(--suave);font-size:12.5px;background:var(--fundo)}
.achado.nada:hover{background:var(--fundo)}
.escolhido{flex-wrap:wrap}
.escolhido > div{flex:1 1 220px}
.escolhido .nova{color:var(--vinho);font-weight:600}
.escolhido.compromisso input{margin-top:4px}
label .opcional{color:var(--suave);font-weight:400}
.nuvem-ag{border:1px dashed var(--borda);border-radius:12px;padding:10px 12px 6px;margin-top:8px;background:var(--fundo)}
.nuvem-ag .data{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave);margin:6px 0 5px}
.pilula-ag{display:inline-flex;align-items:center;gap:6px;margin:0 6px 6px 0;padding:5px 11px;border-radius:99px;
  border:1px solid color-mix(in srgb, var(--afazer) 45%, transparent);color:var(--afazer);
  background:#fff;font-size:13px;cursor:pointer;user-select:none}
.pilula-ag b{font-variant-numeric:tabular-nums}
.pilula-ag small{opacity:.75}
.pilula-ag.on{background:var(--afazer);color:#fff;border-color:var(--afazer)}
.pilula-ag.trava{cursor:default}
.divisa-situacao{margin:18px -20px 4px;border-top:1px solid var(--borda);padding:12px 20px 0;
  font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--suave)}
.situacoes-ag{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;margin-top:6px}
.sit-ag{border:1px solid var(--borda);border-radius:11px;padding:10px 8px;text-align:center;font-size:13.5px;
  cursor:pointer;background:var(--papel);position:relative}
.sit-ag i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--s);margin-right:6px}
.sit-ag.on{border-color:var(--s);background:color-mix(in srgb, var(--s) 14%, #fff);font-weight:600}
.sit-ag.trava{cursor:default}
.sit-ag .sino{position:absolute;top:-8px;right:-6px;font-size:13px}
.marcas-ag{font-size:12.5px;color:var(--suave);margin-top:8px}
@media (max-width:560px){ .divisa-situacao{margin:18px -14px 4px;padding:12px 14px 0} }

/* Aviso na sala do dentista: "paciente chegou" (25/09/2026) */
#avisosSala{position:fixed;top:calc(14px + env(safe-area-inset-top,0px));right:14px;z-index:200;display:flex;flex-direction:column;gap:10px;
  width:min(360px, calc(100vw - 28px))}
.aviso-sala{background:var(--papel);border-radius:14px;border-left:6px solid #E0A800;
  box-shadow:0 12px 36px rgba(43,34,37,.28);padding:14px 16px;animation:salaSalta .45s ease-out}
.aviso-sala .t{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#9A7400;font-weight:700}
.aviso-sala b{display:block;font-size:17px;margin:4px 0 2px}
.aviso-sala small{display:block;color:var(--suave);font-size:13px;line-height:1.45}
.aviso-sala .bts{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}
@keyframes salaSalta{from{transform:translateY(-12px);opacity:0}to{transform:none;opacity:1}}

/* Nova avaliação: desconto digitado na própria linha, valores na ponta direita (25/09/2026) */
#avTotal{margin-top:6px}
#avTotal .soma-linha b{margin-left:auto;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.soma-linha.desconto-inline span{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--verde)}
.soma-linha.desconto-inline input{width:110px;padding:7px 10px;font-size:15px;text-align:right}
.soma-linha.desconto-inline select{width:auto;padding:7px 8px;font-size:14px}
.soma-linha.desconto-inline small{color:var(--suave);font-size:12.5px}
.soma-linha.desconto-inline b{color:var(--verde)}

/* Sem "puxar para baixo para atualizar" (pedido do cliente em 25/09/2026):
   arrastar para cima no topo da tela não recarrega mais a página. */
html, body{overscroll-behavior-y:none}

/* ============================================================
   Anamnese (migração 38) — bandeja por pergunta, como na Clínica Escola:
   amarelo = a responder · verde = completa · vermelho = falta algo.
   ============================================================ */
.an-topo{position:sticky;top:-4px;z-index:3;background:var(--papel);padding:10px 0;
  border-bottom:1px solid var(--borda);margin-bottom:8px}
.an-topo select{margin-bottom:8px}
.an-prog{display:flex;align-items:center;gap:10px}
.an-barra{flex:1;height:9px;background:#EEE7E8;border-radius:99px;overflow:hidden}
.an-barra i{display:block;height:100%;background:var(--verde);border-radius:99px;transition:width .2s}
.an-prog small{font-size:12.5px;color:var(--suave);white-space:nowrap}
.an-prog .faltam{color:var(--vermelho);font-weight:700;cursor:pointer}
.an-grupo{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--suave);margin:14px 0 8px}
.an-q{border:1px solid;border-left-width:5px;border-radius:11px;padding:11px 13px;margin-bottom:8px}
.an-q .cab{display:flex;gap:9px;align-items:flex-start}
.an-q .num{flex:none;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font-size:11.5px;font-weight:700}
.an-q .txt{flex:1;font-size:14.5px;font-weight:600;line-height:1.35;padding-top:2px}
.an-q .selo{display:inline-block;background:#FFF6E0;border:1px solid #E8C274;color:#8A5B00;border-radius:99px;
  padding:1px 8px;font-size:10.5px;font-weight:700;margin-left:7px;vertical-align:2px}
.an-resp{display:flex;gap:9px;margin:10px 0 0 33px}
.an-resp button{flex:1;max-width:140px;background:#fff;color:var(--suave);border:1.5px solid var(--borda);
  border-radius:9px;padding:9px 6px;font-size:14px;font-weight:700}
.an-resp button:disabled{opacity:1;cursor:default}
.an-det{margin:9px 0 0 33px}
.an-det label{margin:0 0 4px;font-size:12px}
.an-det input:disabled{background:rgba(255,255,255,.6);color:var(--texto)}
.an-q.pend{background:#FFFAEB;border-color:#F1DFA9;border-left-color:#D69E1F}
.an-q.pend .num{background:#FBEBC0;color:#8A5B00}
.an-q.ok{background:#EEF8F2;border-color:#BFE3CD;border-left-color:var(--verde)}
.an-q.ok .num{background:#CBEBD8;color:#146B40}
.an-q.ok .an-resp button.on{background:var(--verde);border-color:var(--verde);color:#fff}
.an-q.falta{background:#FDEEEC;border-color:#F2C1BC;border-left-color:var(--vermelho)}
.an-q.falta .num{background:#F7D0CB;color:#9C2A1E}
.an-q.falta .an-resp button.on{background:var(--vermelho);border-color:var(--vermelho);color:#fff}
.an-q.falta .an-det input{border-color:var(--vermelho)}
@media (max-width:560px){ .an-resp,.an-det{margin-left:0} .an-resp button{max-width:none} }
.an-assin{border:1.5px dashed var(--borda);border-radius:12px;background:#fff;height:160px;position:relative;touch-action:none}
.an-assin canvas{width:100%;height:100%;display:block;cursor:crosshair}
.an-assin span{position:absolute;left:14px;bottom:10px;font-size:12px;color:var(--suave);pointer-events:none}
.an-assin button{position:absolute;right:8px;top:8px;padding:3px 10px;font-size:12px}
.an-assin-img{display:block;max-width:100%;height:120px;object-fit:contain;border:1px solid var(--borda);border-radius:10px;background:#fff}
/* na ficha */
.an-linha{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--borda);font-size:14px}
.an-linha:first-of-type{border-top:0}
.an-linha .d{flex:1;min-width:0}
.an-linha b{display:block}
.an-linha small{color:var(--suave);font-size:12.5px}
.an-selo{font-size:11.5px;font-weight:700;border-radius:99px;padding:3px 10px;white-space:nowrap}
.an-selo.espera{background:#FFF6E0;color:#8A5B00}
.an-selo.conferir{background:rgba(192,57,43,.10);color:var(--vermelho)}
.an-selo.ok{background:rgba(31,122,76,.10);color:var(--verde)}
.an-selo.vencida{background:var(--fundo);color:var(--suave)}
.an-botoes{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
/* alertas de saúde, em cima, na faixa do paciente */
.an-alertas{background:#FFF6E0;border:1px solid #EBCB7C;border-left:6px solid #D69E1F;border-radius:12px;
  padding:10px 14px;margin:12px 0 0}
.an-alertas.so-aviso{background:transparent;border:0;padding:0}
.an-alertas .t{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#8A5B00}
.an-chip{display:inline-block;background:#fff;border:1px solid #E8C274;color:#6B4A00;border-radius:99px;
  padding:4px 11px;margin:7px 6px 0 0;font-size:13px}
.an-alertas small{display:block;color:var(--suave);font-size:12px;margin-top:8px}
.an-alertas .avisos{margin-top:6px}
.an-alertas.so-aviso .avisos{margin-top:0}
.an-aviso{display:inline-block;font-size:12px;font-weight:700;border-radius:99px;padding:3px 10px;margin:4px 6px 0 0}
.an-aviso.vermelho{background:rgba(192,57,43,.10);color:var(--vermelho)}
.an-aviso.ambar{background:#FFF6E0;color:#8A5B00}
.marca .tag-lab.anam-espera{background:#D69E1F}
/* anamnese no bloco de Prescrições/Anexos (25/09/2026): o botão fica na linha do título */
#secaoAnamnese .secao-topo{cursor:default}
#secaoAnamnese .secao-topo button{padding:5px 12px;font-size:12.5px}
#secaoAnamnese .an-linha{padding:8px 0}
.an-escolha{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
@media (max-width:520px){ .an-escolha{grid-template-columns:1fr} }
.an-opcao{display:block;text-align:left;background:var(--papel);color:var(--texto);border:1.5px solid var(--borda);
  border-radius:14px;padding:16px 16px 14px;cursor:pointer}
.an-opcao:hover:not(:disabled){border-color:var(--vinho);background:var(--vinho-suave)}
.an-opcao b{display:block;font-size:15.5px;color:var(--vinho)}
.an-opcao small{display:block;color:var(--suave);font-size:12.5px;margin-top:4px;font-weight:400}
.tranca-prof{border:1px dashed var(--borda);border-radius:12px;padding:10px 12px;margin-top:8px;background:var(--fundo)}
.bandeja-resp{margin:0 0 14px;border-color:var(--afazer);background:rgba(192,57,43,.05)} .bandeja-resp .bandeja-titulo{color:var(--afazer)} .bandeja-resp-mini{margin-top:10px;padding:10px 12px;border:1px solid var(--afazer);border-radius:10px;background:rgba(192,57,43,.05)} .bandeja-resp-mini .bandeja-titulo{color:var(--afazer);font-weight:700;font-size:13.5px}
/* questionários de anamnese: uma linha por pergunta */
.q-linha{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--borda);border-radius:11px;
  padding:10px 10px 10px 12px;margin-bottom:8px;background:var(--papel)}
.q-num{flex:none;width:24px;height:24px;border-radius:7px;background:var(--vinho-suave);color:var(--vinho);
  font-weight:700;font-size:12px;display:grid;place-items:center;margin-top:8px}
.q-campos{flex:1;min-width:0}
.q-campos select{width:auto}
.q-botoes{display:flex;flex-direction:column;gap:4px}
.q-botoes button{padding:2px 9px}
@media (max-width:560px){ .q-botoes{flex-direction:row} .q-linha{flex-wrap:wrap} }

/* Pacientes: busca que vai mostrando conforme digita (25/09/2026) */
.busca-grande{width:100%;margin-top:14px;padding:13px 16px;font-size:16px;border-radius:12px}
#resultadosPacientes{margin-top:8px}
.achado-pac{padding:11px 12px;border-bottom:1px solid var(--borda);cursor:pointer;border-radius:10px}
.achado-pac:hover{background:var(--vinho-suave)}
.achado-pac .nome b{font-size:15px;font-weight:600}
.achado-pac small{display:block;color:var(--suave);font-size:12.5px;margin-top:2px}
.achado-pac .nova{color:var(--vinho);font-weight:600}
.vazio-busca{padding:14px 4px;color:var(--suave);font-size:14px}

/* Cadastro completo e o link para o paciente preencher (v6.0, migração 42) */
.falta-campo{border-color:var(--afazer)!important;background:#FFF5F4!important}
.opc{font-weight:400;color:var(--suave);font-size:12px;text-transform:none;letter-spacing:0}
.link-cadastro{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between;
  padding:12px 14px;margin-bottom:12px;border:1px solid var(--vinho);border-radius:12px;background:var(--vinho-suave)}
.link-cadastro b{color:var(--vinho)}
.link-cadastro small{display:block;color:var(--suave);font-size:12.5px;margin-top:2px}
.opcao.link-novo{margin-top:10px}

/* Foto do paciente (v6.5, migração 46) */
/* a imagem fica presa no círculo: sem o position:absolute, uma foto em pé esticava a bolinha
   para baixo e ela virava um ovo (defeito achado pelo cliente no tablet, 25/09/2026) */
.foto{overflow:hidden;position:relative;aspect-ratio:1/1}
.foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.foto-grande{position:relative}
.foto-grande img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.foto.clicavel{cursor:pointer}
.foto.clicavel:not(.com-foto)::after{content:"";position:absolute;right:-2px;bottom:-2px;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23541F29' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3z'/%3E%3Ccircle cx='12' cy='13' r='3.2'/%3E%3C/svg%3E") center/13px no-repeat;
  border:1px solid var(--borda);border-radius:50%;width:22px;height:22px}
.foto.clicavel{overflow:visible}
.foto.clicavel img{border-radius:50%}
.foto-cad{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.caixa-foto{z-index:120}
.foto-grande{width:180px;height:180px;border-radius:50%;margin:10px auto 14px;background:var(--vinho-suave);
  color:var(--vinho);display:grid;place-items:center;font-size:54px;font-weight:600;overflow:hidden}
.foto-botoes{display:flex;flex-direction:column;gap:8px}
.foto-botoes button{width:100%;padding:12px}
.foto-camera{border-radius:14px;overflow:hidden;background:#000;margin:8px 0 12px;aspect-ratio:3/4;max-height:56vh}
.foto-camera video{width:100%;height:100%;object-fit:cover;display:block}
.foto-camera video.espelho{transform:scaleX(-1)}

/* Prescrições, documentos e termos (v6.7, migração 47) — só peças que o sistema já tem */
.doc-bloco{margin-top:12px}
.doc-bloco label{margin-top:10px}
.doc-bloco input,.doc-bloco select,.doc-bloco textarea{width:100%}
.doc-bloco .opcao input{width:19px}
.doc-bloco .opcao{margin-top:0}
.doc-bloco .duas{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:560px){ .doc-bloco .duas{grid-template-columns:1fr} }
.doc-sug{border:1px solid var(--borda);border-radius:10px;background:#fff;margin-top:4px;max-height:240px;overflow:auto}
.doc-sug div{padding:8px 11px;border-top:1px solid var(--borda);cursor:pointer;font-size:14px}
.doc-sug div:first-child{border-top:0}
.doc-sug small{color:var(--suave)}
.doc-sug div:hover{background:var(--vinho-suave)}
.doc-itens{border:1px solid var(--borda);border-radius:10px;padding:2px 12px;margin-top:10px;background:var(--papel)}
.doc-item{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px dashed var(--borda)}
.doc-item:first-child{border-top:0}
.doc-item .n{flex:none;width:22px;height:22px;border-radius:50%;background:var(--vinho-suave);color:var(--vinho);
  display:grid;place-items:center;font-size:12px;font-weight:700;margin-top:1px}
.doc-item .t{flex:1;min-width:0;font-size:14px}
.doc-item .t b{display:block;font-weight:600}
.doc-item .t span{color:var(--suave);font-size:13px}
.termo-texto{background:#fff;border:1px solid var(--borda);border-radius:10px;padding:12px 14px;max-height:260px;
  overflow:auto;font-size:13.5px;line-height:1.55;margin-top:8px}
.termo-texto h3,.termo-texto h4{margin:10px 0 4px;font-size:14px;text-transform:none;letter-spacing:0;color:var(--texto)}
.linha-tempo .acoes-doc{display:flex;gap:5px;align-items:center;flex:none}
.linha-tempo .doc-anulado .item-txt b{text-decoration:line-through;color:var(--suave)}
.doc-assinatura{display:block;max-width:320px;width:100%;border:1px solid var(--borda);border-radius:10px;background:#fff;margin-top:6px}
.papel-doc h1{font-size:17px;text-transform:uppercase;letter-spacing:.06em;color:var(--vinho)}
.papel-pac{background:#FAF6F7;border-radius:8px;padding:9px 12px;font-size:13px;margin:6px 0 14px}
.papel-itens{padding-left:22px;font-size:14px;line-height:1.5}
.papel-itens li{margin-bottom:10px}
.papel-texto{font-size:14px;line-height:1.65}
.papel-assin-img{display:flex;align-items:flex-end;gap:14px;margin-top:22px;font-size:12.5px}
.papel-assin-img img{width:220px;border-bottom:1px solid #C9BDBF}
.papel-assin-img small{color:var(--suave)}
.papel-controle{border:1px solid #C9BDBF;border-radius:8px;padding:10px 12px;font-size:12px;line-height:2;margin-top:18px}
@media print{ .papel-doc + .papel-doc{page-break-before:always;break-before:page} }
.rt-barra{display:flex;gap:4px;flex-wrap:wrap;border:1px solid var(--borda);border-bottom:0;border-radius:10px 10px 0 0;padding:6px;background:var(--fundo)}
.rt-area{border:1px solid var(--borda);border-radius:0 0 10px 10px;background:#fff;padding:12px 14px;min-height:200px;
  max-height:50vh;overflow:auto;font-size:14px;line-height:1.55;outline:none}
.rt-area h3,.rt-area h4{margin:10px 0 4px;font-size:14.5px;text-transform:none;letter-spacing:0;color:var(--texto)}
.lacunas{display:flex;gap:6px;flex-wrap:wrap}
.lacunas button{font-family:ui-monospace,Menlo,monospace;font-size:12px}

/* Baixa completa e anexos (v6.9) — miniaturas iguais na baixa, na timeline e nos Anexos */
.bx-proc{display:flex;gap:10px;align-items:stretch;border:1px solid var(--borda);border-radius:12px;
         padding:10px 12px;margin-top:12px;background:var(--fundo)}
.bx-proc .barra{width:4px;border-radius:3px;background:var(--afazer);flex:none}
.bx-outro{margin-top:8px;font-size:13px;line-height:1.45;border-radius:10px;padding:8px 11px;
          background:var(--vinho-suave);color:var(--vinho)}
.bx-outro[hidden]{display:none}
.rotulo-bx{display:block;font-size:12px;color:var(--suave);text-transform:uppercase;letter-spacing:.05em;margin:16px 0 6px}
.rotulo-bx small{text-transform:none;letter-spacing:0;font-size:12px}
.midia-botoes{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:8px}
.midia-botoes label{margin:0;cursor:pointer;display:inline-flex;align-items:center;gap:5px;padding:7px 13px;
  font-size:13px;border-radius:9px;border:1px solid var(--borda);color:var(--vinho);background:transparent;font-weight:500}
.midia-botoes label:hover{background:var(--vinho-suave)}
.nota-midia{font-size:12.5px;color:var(--vermelho);margin:4px 0 0}
.nota-midia:empty{display:none}
.miniaturas{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px}
.ex-grupo{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--vinho);text-transform:uppercase;letter-spacing:.05em;margin:12px 0 6px}
.ex-grupo:first-child{margin-top:0}
.ex-doc{margin-top:10px}
.ex-cab{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;margin-bottom:6px;font-size:14px}
.ex-cab b{color:var(--vinho)}.ex-cab span{color:var(--cinza);font-size:13px}
.miniatura.m-foto{background:#1b1b1b}
.pend-idoc{border:1px solid var(--borda);border-radius:12px;padding:12px 14px;margin-bottom:12px;background:#fff}
.pend-mini{margin:10px 0 4px}
.pend-cab{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}
.pend-sub{color:var(--cinza);font-size:13px;margin-top:2px}
.pend-nuvem{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:10px 0 8px}
.pend-nuvem small{color:var(--cinza);margin-right:2px}
.pend-nuvem .mini i{font-style:normal;opacity:.8;font-weight:400}
.pend-busca input{width:100%;max-width:420px}
/* conferência do iDoc (a bandeja) */
.bola-menu{margin-left:auto;background:var(--vermelho);color:#fff;border-radius:99px;font-size:11px;font-weight:700;padding:1px 7px;font-style:normal}
.item-menu.ativo .bola-menu{background:#fff;color:var(--vinho)}
.filtros-conf{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.filtros-conf .f{border:1px solid var(--borda);border-radius:99px;padding:7px 14px;font-size:13.5px;background:var(--papel);cursor:pointer;white-space:nowrap}
.filtros-conf .f.on{border-color:var(--vinho);background:var(--vinho-suave);color:var(--vinho);font-weight:600}
.filtros-conf .f i{font-style:normal;color:var(--suave);font-weight:400;margin-left:5px}
.filtros-conf .f.on i{color:var(--vinho)}
.conf{border:1px solid var(--borda);border-radius:13px;background:var(--papel);margin-bottom:12px;overflow:hidden}
.conf.feita{opacity:.75}
.conf-topo{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;flex-wrap:wrap}
.conf-topo .ini{width:42px;height:42px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;background:var(--vinho-suave);color:var(--vinho)}
.conf-topo .quem{flex:1 1 240px;min-width:0}
.conf-topo .quem b{display:block;font-size:15.5px;font-weight:600}
.conf-topo .quem b a{color:inherit;text-decoration:none}.conf-topo .quem b a:hover{color:var(--vinho)}
.conf-topo .quem small{display:block;color:var(--suave);font-size:12.5px;margin-top:1px}
.conf-topo .chegou{margin-left:auto;text-align:right;font-size:12.5px;color:var(--suave);white-space:nowrap}
.conf-topo .recado-acoes{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;white-space:normal}
.conf-topo .chegou b{display:block;color:var(--vinho);font-size:13.5px;font-weight:600}
.etq-conf{display:inline-block;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;border-radius:5px;padding:2px 7px;font-weight:600;vertical-align:middle;margin-left:6px}
.etq-conf.nova{background:rgba(192,57,43,.10);color:var(--vermelho)}
.etq-conf.ok{background:rgba(31,122,76,.12);color:var(--verde)}
.etq-conf.enc{background:rgba(46,109,164,.12);color:#2E6DA4}
.conf-corpo{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;padding:0 15px 13px}
@media (max-width:760px){.conf-corpo{grid-template-columns:1fr}}
.conf-corpo h4{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave);font-weight:600}
.agenda-mini{display:grid;gap:6px}
.agenda-mini .lin{display:flex;gap:10px;align-items:baseline;font-size:13.5px;border-left:3px solid var(--borda);padding:3px 0 3px 10px}
.agenda-mini .lin.prox{border-color:#2E6DA4}.agenda-mini .lin.feita{border-color:var(--feito)}
.agenda-mini .lin .q{font-variant-numeric:tabular-nums;color:var(--suave);font-size:12.5px;white-space:nowrap;min-width:86px}
.agenda-mini .lin b{font-weight:600}.agenda-mini .lin small{color:var(--suave)}
.sem-prox{font-size:13px;color:var(--vermelho);font-weight:600}
.conf-pedidos{padding:0 15px 10px;display:grid;gap:8px}
.pedido{font-size:13.5px;border-left:3px solid #2E6DA4;padding:4px 0 4px 10px}
.pedido.resp{border-color:var(--verde)}
.pedido .resposta{color:var(--suave);font-size:13px;margin-top:2px}
.conf-recado{padding:0 15px 10px;font-size:13.5px}
.conf-acoes{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:11px 15px;border-top:1px solid var(--borda);background:var(--fundo)}
.conf-acoes .resp{margin-left:auto;font-size:12.5px;color:var(--suave)}
.conf-acoes .secundario.vinho{border-color:var(--vinho);color:var(--vinho)}
.conf-painel .pedir{border-top:1px dashed var(--borda);padding:13px 15px;background:#fff}
.conf-painel .pedir h4{margin:0 0 8px;font-size:13px;font-weight:600}
.conf-painel .pedir .linha{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.conf-painel .pedir textarea{width:100%;max-width:620px;min-height:64px}
.conf-painel .opcoes{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.conf-painel .opcoes span{border:1px solid var(--borda);border-radius:99px;padding:5px 12px;font-size:13px;background:var(--papel);cursor:pointer}
.conf-painel .opcoes span.on{border-color:var(--vinho);background:var(--vinho);color:#fff;font-weight:600}
.miniaturas:empty{display:none}
.miniatura{position:relative;aspect-ratio:1/1;border-radius:10px;overflow:hidden;border:1px solid var(--borda);
  background:linear-gradient(135deg,#E9DADC,#F6EEEF);display:flex;align-items:center;justify-content:center;
  padding:0;cursor:pointer;color:var(--vinho)}
button.miniatura:hover:not(:disabled){background:linear-gradient(135deg,#E9DADC,#F6EEEF);border-color:var(--vinho)}
.miniatura img,.miniatura video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.miniatura .icone{position:relative;font-size:24px;line-height:1}
.miniatura.m-video .icone{width:34px;height:34px;border-radius:50%;background:rgba(43,34,37,.55);color:#fff;
  font-size:15px;display:flex;align-items:center;justify-content:center}
.miniatura.m-pdf{background:var(--papel)}
.miniatura small{position:absolute;left:0;right:0;bottom:0;font-size:10.5px;padding:3px 6px;text-align:left;
  background:rgba(255,255,255,.9);color:var(--suave);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.miniatura .x{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;padding:0;
  background:rgba(43,34,37,.65);color:#fff;font-size:14px;display:flex;align-items:center;justify-content:center}
.miniaturas.pequenas{grid-template-columns:repeat(auto-fill,52px);gap:6px;margin-top:6px}
.miniaturas.pequenas .miniatura{border-radius:8px}
.miniaturas.pequenas .icone{font-size:16px}
.visor{position:relative;background:#2B2225;border-radius:12px;min-height:240px;display:flex;align-items:center;
  justify-content:center;overflow:hidden}
.visor img,.visor video{max-width:100%;max-height:68vh;display:block}
.visor iframe{width:100%;height:68vh;border:0;background:#fff}
.visor .seta{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;padding:0;
  background:rgba(255,255,255,.2);color:#fff;font-size:22px;display:flex;align-items:center;justify-content:center;z-index:2}
.visor .seta:hover:not(:disabled){background:rgba(255,255,255,.35)}
.visor .seta.e{left:8px} .visor .seta.d{right:8px}
.visor .carimbo{position:absolute;right:10px;bottom:10px;background:rgba(43,34,37,.75);color:#fff;font-size:12px;
  padding:4px 10px;border-radius:8px;pointer-events:none}
.visor.m-video .carimbo{bottom:auto;top:10px}
/* Buscar agendamento (v7.1): desmarcado/faltou fica apagado e riscado, como na grade */
.linha-tempo > div.desmarcado{opacity:.55}
.linha-tempo > div.desmarcado b{text-decoration:line-through}

/* =================== ÍCONES (v7.3) ===================
   Pedido do cliente em 25/09/2026: "mais intuitivo, mais lúdico… com cara
   profissional". Aprovado no mockup mockups/icones.html, estilo B:
   "coloridinho no sistema todo". O desenho está em app/icones.js; ic() é
   só o traço (pega a cor do texto), ladrilho() é o traço num quadradinho
   com a cor do assunto (COR_ASSUNTO). */
.ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;
    stroke-linejoin:round;flex:none;display:inline-block;vertical-align:-3.5px}
.ladrilho{--c:var(--vinho);display:inline-grid;place-items:center;width:32px;height:32px;
          border-radius:10px;flex:none;color:var(--c);background:color-mix(in srgb,var(--c) 11%,#fff);
          box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 14%,transparent)}
.ladrilho .ic{width:18px;height:18px;margin:0}
.ladrilho.grande{width:48px;height:48px;border-radius:14px}
.ladrilho.grande .ic{width:25px;height:25px;stroke-width:1.7}
.ladrilho.pequeno{width:26px;height:26px;border-radius:8px}
.ladrilho.pequeno .ic{width:15px;height:15px}
button .ic, label.mini .ic, label.secundario .ic, .com-ic .ic{margin-right:7px}
button.mini .ic, label.mini .ic{width:15px;height:15px;margin-right:5px}
.so-icone .ic{margin:0}
header .hamburguer{padding:7px 10px}
header .hamburguer .ic{margin:0;width:20px;height:20px}
@media (max-width:520px){ header{gap:8px}
                          header #btSair .rot, header #btInstalar .rot, header #btSenha .rot{display:none}
                          header #btSair, header #btInstalar, header #btSenha{padding:8px 10px}
                          header #btSair .ic, header #btInstalar .ic, header #btSenha .ic{margin:0}
                          header img{height:30px} }
/* celular estreito: a versão fica só no rodapé, e o Instalar só na tela de entrada (senão o topo passa da tela) */
@media (max-width:420px){ header .versao{font-size:0} }
@media (max-width:380px){ header #btInstalar{display:none} }

/* menu da esquerda: um ladrilho por item */
#lateral{width:236px}
.item-menu{gap:10px;padding:6px 10px}
.item-menu span.ladrilho{flex:none;width:28px;height:28px;border-radius:8px}
.item-menu span.ladrilho .ic{width:16px;height:16px}
.item-menu.ativo span.ladrilho{background:rgba(255,255,255,.16);color:#fff;box-shadow:none}
.item-menu.embreve span.ladrilho{filter:grayscale(1);opacity:.55}
.tag-breve{white-space:nowrap;font-size:9.5px;padding:1px 5px}

/* painel: atalhos grandes, como a barra do Easy, e números com ícone */
.atalhos{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:12px;margin-bottom:16px}
.atalhos:empty{display:none}
.atalho{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:16px;text-align:left;
        background:var(--papel);color:var(--texto);border:1px solid var(--borda);border-radius:14px;
        box-shadow:var(--sombra);font-size:14px;font-weight:600;line-height:1.25;
        transition:transform .15s, box-shadow .15s, border-color .15s}
.atalho small{display:block;font-weight:400;font-size:12px;color:var(--suave);margin-top:2px}
.atalho:hover:not(:disabled){background:var(--papel);transform:translateY(-2px);
        border-color:color-mix(in srgb,var(--c,var(--vinho)) 35%,var(--borda));
        box-shadow:0 2px 4px rgba(84,31,41,.06),0 10px 24px rgba(84,31,41,.09)}
.numero{display:flex;gap:14px;align-items:center}
.numero b{font-size:25px;line-height:1.1}

/* ficha: ícone no lugar do rótulo em maiúsculas, abas e blocos com ícone */
.contatos span{display:inline-flex;align-items:center;gap:6px}
.contatos .ic{width:15px;height:15px;color:var(--suave)}
.aba{display:inline-flex;align-items:center}
.aba .ic{width:16px;height:16px;margin-right:7px}
.secao-topo{gap:11px}
.secao-topo.com-ladrilho + .secao-sub{padding-left:37px}
.tl-topo h2, h2.com-icone{display:flex;align-items:center;gap:11px}
.navega button{display:inline-flex;align-items:center}
.quem-aparece button{display:inline-flex;align-items:center}
.quem-aparece button .ic{width:16px;height:16px}
.selo .ic{width:13px;height:13px;margin-right:4px;vertical-align:-2px}
.achado.novo .ic{width:20px;height:20px;color:var(--vinho);margin:0}
.ic.pq{width:13px;height:13px;vertical-align:-2px;margin:0}
.marca .zap .ic{width:12px;height:12px}
.sit-ag .sino{color:var(--vinho);background:var(--papel);border-radius:50%;line-height:0;padding:2px}
.sit-ag .sino .ic{width:13px;height:13px;margin:0}
/* a legenda do odontograma: a .bolinha do parentesco (34px) passava por cima */
.legenda .bolinha{width:11px;height:11px;border-radius:3px;display:inline-block}
/* Botão Atualizar da agenda e da ficha (v7.4): gira enquanto busca, fica verde um instante */
@keyframes girar{to{transform:rotate(360deg)}}
.bt-atualizar.girando .ic{animation:girar .8s linear infinite}
.bt-atualizar.feito{color:var(--verde);border-color:rgba(31,122,76,.35)}

/* =================== PAPEL DOS DOCUMENTOS (v7.6, app/papel.js) ===================
   Receita, atestado, pedido de exames, encaminhamento e termo numa folha A4 só,
   no modelo do Easy que o cliente mandou — "o mínimo; quero muito melhor". */
.pd-folha{--pd-vinho:#541F29;--pd-ouro:#A8834E;--pd-linha:#E9DED6;--pd-suave:#7A6B6E;
  position:relative;width:210mm;max-width:100%;min-height:297mm;margin:0 auto;background:#fff;color:#2B2225;
  padding:15mm 17mm 11mm;display:flex;flex-direction:column;overflow:hidden;
  font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:10.5pt;line-height:1.45;
  -webkit-print-color-adjust:exact;print-color-adjust:exact;box-sizing:border-box}
.pd-folha > *{position:relative}
.pd-dagua{position:absolute !important;width:118mm;left:50%;top:52%;transform:translate(-50%,-50%);opacity:.045;pointer-events:none}
.pd-cab{display:flex;justify-content:space-between;align-items:flex-end;gap:8mm;
  border-bottom:2px solid var(--pd-vinho);padding-bottom:3.5mm}
.pd-logo{height:15mm;width:auto;display:block}
.pd-tipo{text-align:right}
.pd-tipo h1{font-family:"Playfair Display",Georgia,"Times New Roman",serif;font-weight:600;font-size:21pt;
  line-height:1.05;color:var(--pd-vinho);margin:0;letter-spacing:.005em}
.pd-tipo span{display:block;font-size:7.5pt;letter-spacing:.14em;text-transform:uppercase;color:var(--pd-suave);margin-top:1.5mm}
.pd-slogan{font-size:7.2pt;letter-spacing:.34em;text-transform:uppercase;color:var(--pd-ouro);margin-top:2mm;
  padding-bottom:2mm;border-bottom:1px solid var(--pd-linha)}

/* sem fundo (pedido do cliente: na impressora dele o fundo fica estranho); só a linha lateral */
.pd-pac{margin-top:5mm;border-left:3px solid var(--pd-vinho);padding:1.5mm 5mm 1.5mm}
.pd-pac-nome{font-family:"Playfair Display",Georgia,serif;font-size:14pt;font-weight:600;display:flex;align-items:baseline;gap:3mm;flex-wrap:wrap}
.pd-pac-nome > span,.pd-dado span,.pd-caixa-tit,.pd-radio-tit{display:block;font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:6.6pt;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--pd-ouro)}
.pd-pac-nome > span{flex-basis:100%;margin-bottom:.3mm}
.pd-pac-nome em{font-style:normal;font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:8pt;font-weight:500;color:var(--pd-suave);margin-left:auto}
.pd-pac-grade{display:grid;grid-template-columns:1fr 1.35fr 1.1fr;gap:2mm 6mm;margin-top:2.5mm;font-size:9.2pt}
.pd-dado.largo{grid-column:1 / span 2}
.pd-ident{display:grid;grid-template-columns:1fr 1fr;gap:6mm;margin-top:5mm}
.pd-ident-caixa{border-left:3px solid var(--pd-vinho);padding:1mm 0 1mm 4mm;font-size:9pt;line-height:1.35}
.pd-ident-caixa > div:not(.pd-caixa-tit){display:grid;grid-template-columns:22mm minmax(0,1fr);gap:2mm;margin-top:1.2mm}
.pd-ident-caixa > div > span{color:var(--pd-suave);font-weight:600}

.pd-corpo{flex:1;margin-top:7mm;width:100%}
.pd-secao{display:flex;align-items:center;gap:3mm;font-size:7.5pt;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--pd-vinho);margin:1mm 0 2.5mm}
.pd-secao::after{content:"";flex:1;border-top:1px solid var(--pd-linha)}
.pd-meds{list-style:none;margin:0 0 5mm;padding:0}
.pd-meds li{display:flex;gap:3.5mm;margin:0 0 4mm;break-inside:avoid}
.pd-n{flex:none;width:6.2mm;height:6.2mm;border-radius:50%;border:1.2px solid var(--pd-vinho);color:var(--pd-vinho);
  font-size:8pt;font-weight:700;display:grid;place-items:center;margin-top:.4mm}
.pd-med{flex:1;min-width:0}
.pd-linha-med{display:flex;align-items:baseline}
.pd-linha-med b{font-size:11.5pt}
.pd-pontos{flex:1;border-bottom:1.6px dotted #C9BDBF;margin:0 2.5mm;transform:translateY(-1mm);min-width:8mm}
.pd-linha-med span{font-size:10pt;font-weight:600;white-space:nowrap}
.pd-poso{font-size:10pt;color:#4A3D40;margin-top:1mm}
.pd-caixa{border:1px solid var(--pd-linha);border-radius:2mm;padding:3mm 4mm;margin-top:5mm;font-size:9.8pt;break-inside:avoid}
.pd-caixa-tit{margin-bottom:1mm}
.pd-comprador > div:not(.pd-caixa-tit){display:flex;gap:2mm;align-items:flex-end;margin-top:3.2mm;font-size:8.5pt;color:var(--pd-suave)}
.pd-comprador i{flex:1;border-bottom:1px solid #B9ADB0;height:3.5mm}

.pd-texto{font-size:11pt;line-height:1.85;text-align:justify;margin:0 0 3.5mm}
.pd-miudo{font-size:8pt;color:var(--pd-suave)}
.pd-para{font-family:"Playfair Display",Georgia,serif;font-size:13pt;font-weight:600;color:var(--pd-vinho);margin:0 0 3.5mm}
.pd-exames{list-style:none;padding:0;margin:0 0 4mm}
.pd-exames li{position:relative;padding-left:6mm;margin:0 0 2.8mm;font-size:10.5pt;break-inside:avoid}
.pd-exames li::before{content:"";position:absolute;left:0;top:1.9mm;width:2.4mm;height:2.4mm;border-radius:50%;background:var(--pd-vinho)}
.pd-exames li span{color:#4A3D40}
.pd-idoc{display:flex;align-items:center;gap:4mm;margin-top:6mm;border:1.5px solid var(--pd-vinho);border-radius:3mm;
  padding:3.5mm 5mm;background:#fff;font-size:9.8pt;break-inside:avoid}
.pd-idoc svg{flex:none;width:9mm;height:9mm;fill:none;stroke:var(--pd-vinho);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pd-idoc-mail{font-size:12.5pt;color:var(--pd-vinho);letter-spacing:.01em}
.pd-termo{font-size:10pt;line-height:1.7}
.pd-assin-pac{display:flex;align-items:flex-end;gap:5mm;margin-top:6mm;font-size:9.5pt}
.pd-assin-pac img{width:62mm;border-bottom:1px solid #2B2225}
.pd-assin-pac small{display:block;color:var(--pd-suave);font-size:7.5pt}

.pd-fim{display:flex;justify-content:space-between;align-items:flex-end;gap:8mm;margin-top:8mm;break-inside:avoid}
.pd-local{font-size:9.5pt;color:#4A3D40;padding-bottom:1mm}
.pd-assin{width:74mm;text-align:center;display:flex;flex-direction:column;align-items:center}
.pd-assin-linha{align-self:stretch;border-top:1px solid #2B2225;margin:12mm 0 1.8mm}
.pd-assin b{font-size:10.5pt}
.pd-assin span{font-size:9pt;color:#4A3D40}
.pd-assin small{font-size:6.8pt;letter-spacing:.14em;text-transform:uppercase;color:var(--pd-suave);margin-top:.8mm}
/* receita digital (migração 176): o selo do certificado no lugar da linha de assinar */
.pd-assin-digital{width:86mm}
.pd-selo{display:flex;gap:2.6mm;align-items:center;text-align:left;border:1px solid #9CC9AA;border-radius:2mm;background:#F7FCF8;
  padding:2mm 2.4mm;margin-top:2mm;font-size:7.4pt;line-height:1.45;color:#2B2225}
.pd-selo svg{width:19mm;height:19mm;flex:none}
.pd-selo b{display:block;color:#1F6B3A;font-size:7.8pt}
.pd-selo b.pd-selo-url{display:inline;color:inherit;font-size:inherit}

.pd-radio{margin-top:7mm;padding-top:3.5mm;border-top:1px solid var(--pd-linha);break-inside:avoid}
.pd-radio-tit{margin-bottom:2.5mm}
.pd-radio-grade{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5mm}
.pd-radio-item{border:1px solid #EFE6E2;border-radius:2mm;padding:2.3mm 3mm;font-size:7.6pt;line-height:1.45;background:#fff}
.pd-radio-item b{display:block;font-size:8.8pt;color:var(--pd-vinho)}
.pd-radio-item small{display:block;font-size:6.4pt;letter-spacing:.12em;text-transform:uppercase;color:var(--pd-ouro);margin-bottom:.8mm}
.pd-radio-item span{display:block;color:#4A3D40}
.pd-radio-item .pd-site{color:var(--pd-vinho)}

.pd-rodape{margin-top:6mm;padding-top:3mm;border-top:2px solid var(--pd-vinho);text-align:center;font-size:7.8pt;
  color:var(--pd-suave);line-height:1.6}
.pd-rodape i{font-style:normal;color:var(--pd-ouro);margin:0 2mm}
.pd-cnpj{font-size:6.8pt;letter-spacing:.08em}
.pd-folha.anulado .pd-corpo{opacity:.5}
.pd-anulado{position:absolute !important;left:50%;top:45%;transform:translate(-50%,-50%) rotate(-18deg);font-size:54pt;
  font-weight:800;letter-spacing:.2em;color:rgba(192,57,43,.28);border:5px solid rgba(192,57,43,.28);padding:2mm 8mm;border-radius:4mm}

/* o pedido de exames leva as radiologias no pé: aperta um pouco para caber numa folha */
.pd-folha.pd-tipo-exames{padding-top:11mm;padding-bottom:8mm}
.pd-tipo-exames .pd-pac{margin-top:4mm}
.pd-tipo-exames .pd-exames li{margin-bottom:2mm}
.pd-tipo-exames .pd-texto{margin-bottom:2.5mm}
.pd-tipo-exames .pd-radio-item{padding:2mm 2.6mm;font-size:7.3pt}
.pd-tipo-exames .pd-corpo{margin-top:5mm}
.pd-tipo-exames .pd-fim{margin-top:4mm}
.pd-tipo-exames .pd-assin-linha{margin-top:7mm}
.pd-tipo-exames .pd-radio{margin-top:4.5mm;padding-top:3mm}
.pd-tipo-exames .pd-rodape{margin-top:4mm}
.pd-tipo-exames .pd-idoc{margin-top:4mm}
@page doc{size:A4;margin:0}
@media print{
  body.imprimindo .pd-folha{page:doc;width:210mm;min-height:296mm;margin:0;box-shadow:none;break-after:page}
  body.imprimindo .pd-folha:last-child{break-after:auto}
  /* termo e contrato passam de uma folha: a margem vai para a página, senão a 2ª começa colada no topo */
  body.imprimindo .pd-folha.pd-tipo-termo{page:termo;min-height:278mm;padding-top:3mm;padding-bottom:0}
}
@page termo{size:A4;margin:10mm 0 8mm}
/* termos e contratos (v7.7): o texto da guia Termos, com as assinaturas de quem consente e do profissional */
.pd-termo{font-size:9.8pt;line-height:1.52;text-align:justify}
.pd-termo h3{font-family:"Playfair Display",Georgia,serif;font-size:12.5pt;font-weight:600;color:var(--pd-vinho);
  text-align:center;margin:0 0 4mm;line-height:1.35;text-transform:none}
.pd-termo h4{font-size:7.8pt;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pd-vinho);
  margin:4.5mm 0 1.5mm;break-after:avoid}
.pd-termo p{margin:0 0 2.2mm}
.pd-termo ul{margin:0 0 2.5mm;padding-left:6mm}
.pd-termo li{margin:0 0 1mm}
.pd-termo li::marker{color:var(--pd-vinho)}
.pd-fim-termo{flex-direction:column;align-items:stretch;gap:1.5mm}
.pd-assinaturas{display:flex;justify-content:space-between;gap:12mm}
.pd-assinaturas .pd-assin{flex:1;width:auto}
.pd-assin-img{max-height:18mm;max-width:100%;margin-bottom:-2mm;display:block}
.pd-assin-linha.com-img{margin-top:1mm}
.pd-assin .pd-eletronica{text-transform:none;letter-spacing:0;font-size:7pt}
.pd-tipo-termo .pd-corpo{margin-top:4mm}
.pd-tipo-termo .pd-fim{margin-top:3mm}
.pd-tipo-termo .pd-assin-linha{margin-top:8mm}
.pd-tipo-termo .pd-assin-linha.com-img{margin-top:1mm}
.pd-tipo-termo .pd-rodape{margin-top:4mm}
.pd-tipo-termo .pd-rodape{padding-top:2mm;line-height:1.45;break-inside:avoid}
.pd-tipo-termo .pd-pac{margin-top:4mm}
/* registro da assinatura eletrônica (v7.8): selfie, envio, abertura e assinatura */
.pd-registro{display:flex;gap:3.5mm;align-items:center;border-left:2px solid var(--pd-vinho);padding:1.5mm 0 1.5mm 3mm;
  margin-top:2mm;font-size:7.3pt;line-height:1.5;color:#4A3D40;break-inside:avoid}
.pd-registro b{color:#2B2225;font-weight:600}
.pd-registro-tit{font-size:6.6pt;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pd-vinho);margin-bottom:.6mm}
.pd-selfie{width:19mm;height:19mm;border-radius:2mm;object-fit:cover;flex:none}
/* campos do termo (v7.8): a clínica preenche antes de mandar ou assinar */
.tm-campos{margin-top:10px;border:1px solid var(--borda);border-left:3px solid var(--vinho);border-radius:10px;
  padding:10px 12px 12px;background:var(--papel)}
.tm-campos-tit{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--vinho)}
.tm-campos label{margin-top:8px}
.tm-escolha-sobre{font-size:13.5px;color:var(--suave);margin:8px 0 4px}
.tm-falta{background:var(--vinho-suave);color:var(--vinho);border-radius:5px;padding:0 5px;font-weight:600;font-size:.92em}
.tm-valor{color:var(--vinho)}
.tm-registro{display:flex;gap:12px;align-items:center;margin-top:8px;font-size:13px;line-height:1.55;color:var(--suave)}
.tm-registro img{width:74px;height:74px;border-radius:10px;object-fit:cover;flex:none}
.tm-registro b{color:var(--texto);font-weight:600}
/* pedido de exame (v8.2): uma lista só, em duas colunas quando cabe */
@media (min-width:700px){.opcoes.ex-lista{grid-template-columns:1fr 1fr}}
.pd-exames-longo .pd-pac{margin-top:3mm}
.pd-exames-longo .pd-corpo{margin-top:3.5mm}
.pd-exames-longo .pd-para{margin-bottom:1.5mm}
.pd-exames-longo .pd-exames li{margin-bottom:.9mm;font-size:9.4pt;line-height:1.38}
.pd-exames-longo .pd-idoc{margin-top:2.5mm;padding-top:2mm;padding-bottom:2mm}
.pd-exames-longo .pd-fim{margin-top:2mm}
.pd-exames-longo .pd-assin-linha{margin-top:6mm}
.pd-exames-longo .pd-radio{margin-top:3mm;padding-top:2mm}
.pd-exames-longo .pd-radio-grade{gap:1.8mm}
.pd-exames-longo .pd-radio-item{padding:1.5mm 2.2mm;font-size:6.9pt;line-height:1.38}
.pd-exames-longo .pd-rodape{margin-top:3mm;padding-top:2mm}
/* usuários (v8.6): as ações de cada um, lado a lado, quebrando se faltar espaço */
.acoes-usuario{display:flex;gap:6px;flex-wrap:wrap}
/* link do paciente em etapas (v9.1, app/etapas.js): a barrinha e o pé com Voltar/Continuar */
.etapas{background:#fff;border:1px solid var(--borda);border-radius:14px;padding:12px 14px;margin-bottom:4px;
        position:sticky;top:0;z-index:4;box-shadow:0 4px 12px rgba(43,34,37,.05)}
.etapas .onde{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:13px;color:var(--suave)}
.etapas .onde b{color:var(--texto);font-size:15px}
.etapas .trilho{display:flex;gap:6px;margin-top:9px}
.etapas .trilho i{flex:1;height:6px;border-radius:99px;background:var(--borda)}
.etapas .trilho i.et-ja{background:var(--verde)}
.etapas .trilho i.et-aqui{background:var(--vinho)}
.passos-pe{display:flex;gap:10px;margin-top:16px}
.passos-pe button{padding:14px;font-size:16px}
.passos-pe .seguir{flex:1}
.guardado{text-align:center;font-size:12.5px;color:var(--suave);margin-top:10px}
/* plano de tratamento (v9.2): o papel que o paciente leva para casa, na mesma folha da receita.
   Cabe numa folha: a região vai ao lado do nome, o total divide a linha com o "Importante" (ou com o rosto). */
.pp-meta{font-size:9.2pt;color:#4A3D40;margin:-2mm 0 3mm}
.pp-meta b{color:var(--pd-vinho);font-weight:600}
.pp-itens{list-style:none;margin:0;padding:0}
.pp-itens li{display:flex;align-items:center;gap:3.5mm;padding:1.4mm 0;border-bottom:1px solid var(--pd-linha);break-inside:avoid}
.pp-itens li:last-child{border-bottom:0}
.pp-itens .pd-n{margin-top:0}
.pp-item{flex:1;min-width:0;display:flex;align-items:baseline;flex-wrap:wrap;column-gap:2.5mm}
.pp-item b{font-size:10.3pt;font-weight:600}
.pp-item small{font-size:8.6pt;color:var(--pd-suave)}
.pp-valor{font-size:10.3pt;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.pp-linha{display:flex;gap:7mm;align-items:flex-start;margin-top:3mm;break-inside:avoid}
.pp-lado-obs{flex:1;min-width:0}
.pp-lado-obs .pp-obs{margin-top:1mm}
.pp-lado{width:82mm;flex:none}
.pp-rosto{flex:1;min-width:0}
.pp-conta{width:82mm;flex:none;font-size:9.8pt;break-inside:avoid}
.pp-conta > div{display:flex;justify-content:space-between;gap:4mm;padding:1.1mm 0;font-variant-numeric:tabular-nums}
.pp-conta .pp-desc span:last-child{color:#1F7A4C;font-weight:600}
.pp-conta .pp-total{border-top:2px solid var(--pd-vinho);margin-top:1.5mm;padding-top:2.5mm;align-items:baseline}
.pp-conta .pp-total span{font-size:7.5pt;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--pd-vinho)}
.pp-conta .pp-total b{font-family:"Playfair Display",Georgia,serif;font-size:19pt;font-weight:600;color:var(--pd-vinho);line-height:1}
.pp-conta .pp-pag{font-size:9pt;color:#4A3D40;border-top:1px solid var(--pd-linha);margin-top:2mm;padding-top:2mm}
.pp-lado .pp-obs{margin-top:5mm}
.pp-bloco{margin-top:3.5mm;break-inside:avoid}
.pp-bloco .titulo-boca,.pp-rosto .titulo-boca{display:none}
#odontogramaImpresso{zoom:.68}
.pp-rosto .facegrama-caixa .vista{max-width:62mm}
.pp-rosto .facegrama-caixa .leg-fg{display:none}
.pp-legenda{display:flex;justify-content:center;gap:6mm;margin-top:1mm;font-size:7.8pt;color:var(--pd-suave)}
.pp-legenda span{display:flex;align-items:center;gap:1.5mm}
.pp-legenda i{width:3mm;height:3mm;border-radius:50%;display:inline-block}
.pp-afazer{background:var(--afazer)} .pp-feito{background:var(--feito)} .pp-inicial{background:var(--inicial)}
.pp-obs{font-size:8.2pt;color:#4A3D40;line-height:1.5;padding:2.2mm 3.5mm}
.pd-tipo-plano{padding-top:11mm;padding-bottom:8mm}
.pd-tipo-plano .pd-pac{margin-top:4mm}
.pd-tipo-plano .pd-corpo{margin-top:4mm}
.pd-tipo-plano .pd-fim{margin-top:4mm}
.pd-tipo-plano .pd-assin-linha{margin-top:8mm}
.pd-tipo-plano .pd-rodape{margin-top:3.5mm;padding-top:2mm}
@media print{
  body.imprimindo .pd-folha.pd-tipo-plano{page:termo;min-height:278mm;padding-top:3mm;padding-bottom:0}
}
/* nova avaliação: procedimento que não é de dente deixa a boca à vista, apagadinha e sem clique (v9.3) */
#avOdontograma.boca-apagada{opacity:.38;pointer-events:none;filter:grayscale(.4)}

/* =================== MENSAGENS DO WHATSAPP (v10.4, migração 63, app/mensagens.js) ===================
   O quadro "Mensagens" da agenda: Disparos do dia e Configuração. Veio do mockup aprovado
   (mockups/whatsapp-disparos.html). */
.wz-bt-msg{display:flex;align-items:center;gap:7px;background:#fff;color:var(--texto);border:1px solid var(--borda)}
.wz-bt-msg .ponto{width:8px;height:8px;border-radius:50%;background:var(--verde)}
.wz-quadro{max-width:760px}
.wz-geral{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--borda);border-radius:12px;
          background:#fff;margin-top:14px}
.wz-geral .txt{flex:1;min-width:0}
.wz-geral .txt b{display:block;font-size:15px}
.wz-geral .txt small{color:var(--suave);font-size:12.5px}
.wz-liga{position:relative;width:46px;height:26px;border-radius:99px;background:var(--borda);border:0;padding:0;flex:none;
         cursor:pointer;transition:background .2s}
.wz-liga::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;
                box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .2s}
.wz-liga.on{background:var(--verde)}
.wz-liga.on::after{left:23px}
.wz-sec{margin:20px 0 6px;font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--suave)}
.wz-msg{border:1px solid var(--borda);border-radius:12px;background:#fff;padding:12px 14px;margin-top:9px}
.wz-msg.desligada{opacity:.55}
.wz-msg .cab{display:flex;gap:12px;align-items:flex-start}
.wz-msg .cab .txt{flex:1;min-width:0}
.wz-msg .cab b{font-size:14.5px;display:block}
.wz-msg .quando{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.wz-msg .quando span{font-size:12.5px;background:var(--vinho-suave);color:var(--vinho);border-radius:99px;padding:3px 10px}
.wz-msg .quando select{font-size:12.5px;padding:3px 6px;border-radius:99px;min-width:0}
.wz-msg textarea{width:100%;box-sizing:border-box;min-height:92px;margin-top:9px;font-size:13.5px;line-height:1.45}
.wz-msg .lacunas{font-size:11.5px;color:var(--suave);margin-top:4px}
.wz-msg .editar{background:none;border:0;color:var(--vinho);padding:0;font-size:13px;text-decoration:underline;margin-top:8px}
.wz-sits-rot{font-size:12px;color:var(--suave);margin-top:10px}
.wz-sits{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.wz-sits button{display:inline-flex;align-items:center;gap:6px;background:#fff;color:var(--suave);border:1px dashed var(--borda);
                border-radius:99px;padding:4px 10px;font-size:12.5px;font-weight:400}
.wz-sits button i{width:8px;height:8px;border-radius:50%;background:var(--c);opacity:.45}
.wz-sits button.on{border:1px solid var(--c);color:var(--texto);background:#fff;font-weight:600;
                   box-shadow:inset 0 0 0 1px var(--c)}
.wz-sits button.on i{opacity:1}
.wz-sits .nova{font-style:normal;font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:#fff;
               background:var(--c);border-radius:4px;padding:1px 4px;margin-left:2px}
.wz-canais{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px;font-size:12.5px;color:var(--suave)}
.wz-canais .wz-canal{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--borda);border-radius:99px;background:#fff;
  color:var(--suave);padding:5px 11px;font-size:12.5px;font-weight:500;margin:0;box-shadow:none}
.wz-canais .wz-canal .ic{width:15px;height:15px;margin:0}
.wz-canais .wz-canal.on{border-color:#1F7A4C;color:#1F7A4C;background:rgba(31,122,76,.07);font-weight:600}
.wz-canais .wz-canal.on.mail{border-color:var(--vinho);color:var(--vinho);background:var(--vinho-suave)}
.wz-canais small{flex-basis:100%;font-size:11.5px}
.wz-depois{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;font-size:12.5px;color:var(--suave)}
.wz-depois select{font-size:13px;padding:5px 8px;min-width:0;max-width:100%;width:auto}
.fluxo{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap}
.fluxo .etapa{flex:1;min-width:210px;background:#fff;border:1px solid var(--borda);border-radius:12px;padding:10px 12px}
.fluxo .etapa > small{display:block;font-size:11.5px;color:var(--suave);margin-bottom:6px;line-height:1.4}
.fluxo .seta{align-self:center;color:var(--suave);font-size:20px}
.fluxo .ramos{flex:1.2;min-width:230px;display:grid;gap:10px}
.fluxo .wz-card{width:auto}
.sit-nome{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:13px;margin-bottom:6px}
.sit-nome i{width:9px;height:9px;border-radius:50%;background:var(--c)}
@media (max-width:720px){ .fluxo .seta{transform:rotate(90deg);width:100%;text-align:center} }
.wz-sits button:hover{background:#fff;color:var(--texto)}
.wz-canc-campos{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px;margin-top:10px}
.wz-canc-campos label{margin:0 0 4px;font-size:12.5px}
.wz-canc-campos select,.wz-canc-campos input{width:100%;box-sizing:border-box;min-width:0}
.wz-canc-lista{display:grid;gap:7px;margin-top:6px}
.wz-canc-lista .opcao{padding:8px 11px}
.wz-enviar{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;padding:12px;font-size:15px}
.wz-enviar:disabled{opacity:.45}
.wz-feito{background:rgba(31,122,76,.08);border-radius:10px;padding:10px 12px;font-size:13.5px;line-height:1.5;margin:10px 0 4px}
@media (max-width:560px){ .wz-canc-campos{grid-template-columns:1fr} }
.wz-filtros{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.wz-filtros button{background:#fff;color:var(--texto);border:1px solid var(--borda);border-radius:99px;padding:5px 12px;font-size:13px}
.wz-filtros button.on{background:var(--vinho);border-color:var(--vinho);color:#fff}
.wz-canais-dia button{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.wz-canais-dia button small{font-weight:400;opacity:.75}
.wz-canais-dia button:not(.on) .ic{color:var(--vinho)}
.wz-canais-dia{margin:10px 0}
.wz-fila .quem small .ic{margin-right:4px;vertical-align:-2px}
.selo.azul{background:rgba(91,141,239,.14);color:#2E5FB8}
.wz-origem{display:inline-block;margin-top:3px;font-size:11px;border-radius:5px;padding:1px 6px;
           background:var(--vinho-suave);color:var(--vinho)}
.wz-origem.mao{background:#EFEAEA;color:var(--grafite)}
.wz-ritmo{border:1px solid var(--borda);border-radius:12px;background:#fff;padding:12px 14px;margin-top:9px}
.wz-ritmo ul{margin:6px 0 0;padding-left:18px;font-size:13.5px;line-height:1.65}
.wz-ritmo .conta{font-size:12.5px;color:var(--suave);margin-top:8px;line-height:1.5;
                 border-top:1px dashed var(--borda);padding-top:8px}
.wz-numeros{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:9px}
.wz-numeros div{background:#fff;border:1px solid var(--borda);border-radius:10px;padding:8px 10px;text-align:center}
.wz-numeros b{display:block;font-size:20px;font-variant-numeric:tabular-nums}
.wz-numeros small{font-size:11.5px;color:var(--suave)}
.wz-fila{border:1px solid var(--borda);border-radius:12px;background:#fff;margin-top:9px;overflow:hidden}
.wz-fila .lin{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--borda);font-size:13.5px}
.wz-fila .lin:last-child{border-bottom:0}
.wz-fila .hora{font-variant-numeric:tabular-nums;color:var(--suave);width:44px;flex:none}
.wz-fila .quem{flex:1;min-width:0}
.wz-fila .quem b{font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wz-fila .quem small{color:var(--suave);font-size:12px}
.wz-fila .barra-cor{width:4px;align-self:stretch;border-radius:4px;flex:none}
.wz-dia{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}
@media (max-width:560px){ .wz-numeros{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){
  .wz-fila .lin{display:grid;grid-template-columns:4px 40px 1fr;column-gap:10px;row-gap:5px}
  .wz-fila .lin .barra-cor{grid-row:1 / span 2}
  .wz-fila .lin .selo{grid-column:3;justify-self:start}
}

.wz-aviso{margin-top:12px}
.etq-link{font-style:normal;font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;
  padding:0 5px;border-radius:4px;margin-left:5px;background:rgba(31,122,76,.12);color:var(--verde)}
.wz-fila .lin.clica{cursor:pointer}
.wz-fila .lin.clica:hover{background:var(--fundo)}
.link-zap{color:inherit;text-decoration:underline dotted;text-underline-offset:3px}
.link-zap:hover{color:var(--verde)}

/* Receber pagamento: a segunda linha, "em qual Pix / em qual máquina" (v12.6) */
.formas.destinos{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.formas.destinos .forma{padding:9px 8px;font-size:14px}

/* ============ Comissões (v12.8) ============ */
.cm-topo{display:flex;gap:12px;align-items:center;margin-bottom:6px}
.cm-sub{font-size:13px;color:var(--suave);margin-top:2px;line-height:1.45}
.cm-abas{display:flex;gap:6px;border-bottom:1px solid var(--borda);margin:14px 0 16px;flex-wrap:wrap}
.cm-aba{padding:10px 16px;font-size:14px;font-weight:600;color:var(--suave);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px}
.cm-aba.on{color:var(--vinho);border-color:var(--vinho)}
.cm-gerar{border:1px solid var(--borda);border-radius:13px;background:var(--papel);padding:14px 16px;margin-bottom:16px}
.cm-linha{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.cm-gerar label,.cm-cab-dent label,.cm-padrao label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave);margin:0 0 5px;font-weight:600}
.cm-gerar select,.cm-cab-dent select{min-width:190px}
.cm-ate{display:flex;gap:8px;align-items:flex-end}
.cm-ate input{min-width:140px}
.cm-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.cm-chip{border:1px solid var(--borda);border-radius:99px;padding:6px 13px;font-size:13px;background:var(--papel);cursor:pointer;white-space:nowrap}
.cm-chip.on{border-color:var(--vinho);background:var(--vinho-suave);color:var(--vinho);font-weight:600}
.cm-sep{color:var(--borda);align-self:center}
.cm-cab{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;margin:6px 0 12px}
.cm-cab h3,.cm-nome{margin:0;font-size:18px}
.cm-cab small{display:block;color:var(--suave);font-size:13px;margin-top:2px}
.cm-acoes{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.cm-dentista{margin-bottom:26px}
.cm-nome{margin:0 0 10px}
.cm-resumo{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:14px}
.cm-n{border:1px solid var(--borda);border-radius:12px;background:var(--papel);padding:12px 14px}
.cm-n span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave)}
.cm-n b{display:block;font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;margin-top:3px}
.cm-n small{display:block;color:var(--suave);font-size:12.5px;margin-top:2px}
.cm-n.part b{color:var(--vinho)}
.cm-n.conv b{color:#2E6DA4}
.cm-n.fora b{color:var(--suave)}
.cm-bloco{border:1px solid var(--borda);border-radius:13px;background:var(--papel);margin-bottom:14px;overflow:hidden}
.cm-bloco-topo{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 15px;border-bottom:1px solid var(--borda);background:var(--fundo)}
.cm-bloco-topo b{font-size:15px}
.cm-bloco-topo small{color:var(--suave);font-size:12.5px}
.cm-quando{margin-left:auto;font-size:12.5px;padding:4px 11px;border-radius:99px;font-weight:600;white-space:nowrap}
.cm-quando.part{background:var(--vinho-suave);color:var(--vinho)}
.cm-quando.conv{background:rgba(46,109,164,.12);color:#2E6DA4}
table.cm-tab{width:100%;font-size:13.5px;border-collapse:collapse}
table.cm-tab th small{font-weight:500;text-transform:none;letter-spacing:0}
table.cm-tab th{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave);text-align:right;padding:9px 8px;border-bottom:1px solid var(--borda);font-weight:600;white-space:nowrap}
table.cm-tab th:nth-child(-n+3){text-align:left}
table.cm-tab td{padding:8px;border-bottom:1px solid var(--borda);text-align:right;font-variant-numeric:tabular-nums;vertical-align:middle;white-space:nowrap}
table.cm-tab td:nth-child(-n+3){text-align:left;white-space:normal}
table.cm-tab td small{display:block;color:var(--suave);font-size:12px;font-weight:400}
table.cm-tab tr.fora td{color:var(--suave)}
table.cm-tab tr.fora td.v,table.cm-tab tr.fora td.com{text-decoration:line-through;text-decoration-color:rgba(0,0,0,.25)}
table.cm-tab td.pct{color:var(--suave)}
table.cm-tab td.com{font-weight:700}
table.cm-tab tr.total td{border-top:2px solid var(--borda);border-bottom:0;font-weight:700;background:var(--fundo);text-decoration:none;color:var(--texto)}
.cm-sit{display:inline-block;font-size:11px;padding:3px 8px;border-radius:99px;font-weight:600;white-space:nowrap}
.cm-sit.pago{background:rgba(31,122,76,.12);color:var(--verde)}
.cm-sit.falta{background:rgba(192,57,43,.10);color:var(--vermelho)}
.cm-sit.prox{background:rgba(0,0,0,.06);color:var(--suave)}
.cm-falta{color:var(--vermelho)}
.cm-in{width:92px;text-align:right;padding:6px 8px;font-size:13.5px}
.cm-in.cm-pct{width:62px}
table.cm-acerto input[type=checkbox]{width:18px;height:18px;accent-color:var(--vinho)}
.cm-rodape{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:12px 15px;border-top:1px solid var(--borda);background:var(--fundo);font-size:13px;color:var(--suave)}
.cm-cab-dent{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:12px}
.cm-mes{display:inline-flex;align-items:center;border:1px solid var(--borda);border-radius:10px;background:var(--papel);overflow:hidden}
.cm-mes span{padding:9px 12px;cursor:pointer;color:var(--suave);user-select:none}
.cm-mes b{padding:9px 14px;font-size:15px;border-left:1px solid var(--borda);border-right:1px solid var(--borda);white-space:nowrap}
.cm-estado{margin-left:auto;font-size:12.5px;padding:5px 12px;border-radius:99px;font-weight:600;background:rgba(214,139,0,.14);color:#9A5B00}
.cm-estado:empty{display:none}
.cm-estado.fechado{background:rgba(31,122,76,.12);color:var(--verde)}
.cm-ajustes,.cm-obs,.cm-fecho,.cm-passo{border:1px solid var(--borda);border-radius:13px;background:var(--papel);padding:12px 15px;margin-top:14px}
.cm-ajustes h4,.cm-obs h4,.cm-hist h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave)}
.cm-aj-lin{display:flex;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid var(--borda);font-size:14px;flex-wrap:wrap}
.cm-aj-lin:last-child{border-bottom:0}
.cm-aj-lin .v{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:600}
.cm-aj-lin .v.neg{color:var(--vermelho)}
.cm-aj-lin .v.pos{color:var(--verde)}
.cm-x{color:var(--suave);cursor:pointer;padding:0 6px;font-size:18px;line-height:1}
.cm-obs textarea{width:100%;min-height:64px}
.cm-fecho{display:flex;gap:14px;flex-wrap:wrap;align-items:center;padding:14px 16px}
.cm-a-pagar{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave)}
.cm-a-pagar b{display:block;font-size:26px;color:var(--vinho);letter-spacing:-.01em;text-transform:none}
.cm-a-pagar small{text-transform:none;letter-spacing:0}
.cm-hist{margin-top:18px;font-size:13.5px}
.cm-hist-lin{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid var(--borda);align-items:center;flex-wrap:wrap;cursor:pointer}
.cm-hist-lin:hover{background:var(--fundo)}
.cm-hist-lin b{min-width:140px}
.cm-hist-lin small{color:var(--suave)}
.cm-hist-lin .v{margin-left:auto;font-weight:600;font-variant-numeric:tabular-nums}
.cm-passo h4{margin:0 0 4px;font-size:15px}
.cm-passo{max-width:820px}
.cm-padrao{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;margin:12px 0 14px}
.cm-padrao input{width:90px;font-size:19px;font-weight:600;text-align:right}
.cm-padrao .pc{font-size:18px;color:var(--suave);margin-left:4px}
table.cm-exc{width:100%;font-size:13.5px;border-collapse:collapse}
table.cm-exc th{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave);text-align:left;padding:7px 6px;border-bottom:1px solid var(--borda);font-weight:600}
table.cm-exc td{padding:8px 6px;border-bottom:1px solid var(--borda);vertical-align:middle}
table.cm-exc td:last-child,table.cm-exc th:last-child{text-align:right;white-space:nowrap}
table.cm-exc input{width:72px;text-align:right}
.cm-tipo{display:inline-block;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;border-radius:5px;padding:2px 7px;font-weight:600;margin-right:6px;background:rgba(0,0,0,.06);color:var(--suave)}
.cm-tipo.esp{background:rgba(46,109,164,.12);color:#2E6DA4}
.cm-tipo.proc{background:var(--vinho-suave);color:var(--vinho)}
.cm-tipo.tab{background:rgba(31,122,76,.12);color:var(--verde)}
.cm-papel table.cm-tab td,.cm-papel table.cm-tab th{padding:5px 6px;font-size:12px}
@media (max-width:720px){
  table.cm-tab thead{display:none}
  table.cm-tab,table.cm-tab tbody,table.cm-tab tr,table.cm-tab td{display:block;width:100%;box-sizing:border-box}
  table.cm-tab tr{border-bottom:1px solid var(--borda);padding:9px 12px}
  table.cm-tab td{border:0;padding:3px 0;text-align:left;white-space:normal}
  table.cm-tab td[data-r]::before{content:attr(data-r) " ";color:var(--suave);font-size:12px}
  table.cm-tab td.esc{display:none}
  table.cm-tab td.com{font-size:16px}
  table.cm-tab tr.total td{background:transparent;border:0}
  .cm-estado{margin-left:0}
}

/* Caixa de confirmação (perguntar() em comum.js): por cima do quadro aberto. */
.modal-superficie.por-cima{z-index:90}
.modal-caixa.pergunta .modal-corpo p{margin:0;font-size:14.5px;line-height:1.5;color:var(--texto)}
.modal-caixa.pergunta .modal-corpo p b{color:var(--vinho)}
.motivo-era{border:1px solid var(--borda);border-radius:10px;background:var(--fundo);padding:9px 12px;font-size:14px;line-height:1.5;margin-bottom:12px}
.motivo-rot{display:block;font-weight:600;font-size:14px;margin-bottom:5px}
.motivo-rot span{font-weight:400;color:var(--vermelho);font-size:12.5px}
#txMotivo{width:100%;box-sizing:border-box;min-height:78px;border:1px solid var(--vinho);border-radius:10px;padding:9px 11px;font:inherit;font-size:15px}
.modal-caixa.pergunta .modal-corpo p.dica{font-size:13px;color:var(--suave);margin-top:8px}
button.perigo{background:var(--vermelho)}
button.perigo:hover:not(:disabled){background:var(--sangue)}
button.secundario.perigo{background:transparent;color:var(--vermelho);border-color:rgba(192,57,43,.35)}
button.secundario.perigo:hover:not(:disabled){background:rgba(192,57,43,.08)}
.cm-partilha{color:var(--vinho);font-weight:600}
table.cm-tab td.pct small,table.cm-tab td small.frac{color:var(--suave);font-weight:500}
.cm-tipo.dia{background:rgba(183,121,31,.14);color:#8A5A0E}
.cm-tipo.div{background:rgba(84,31,41,.10);color:var(--vinho)}
/* Editar procedimento: as opções de situação, uma por linha */
.ed-opcoes{display:grid;gap:8px;margin-top:6px}
.ed-opcao.on{border-color:var(--vinho);background:var(--vinho-suave)}

/* Relatório de produção (v13.6, 29/09/2026): o modelo que o cliente mandou — cabeçalho com o símbolo, "ODONTOLOGIA
   CARVALHO" espaçado, título em Playfair, o nome do dentista, o resumo por convênio, os excluídos do cálculo e o
   detalhamento por dia com subtotal. Rótulos das colunas em letra de máquina, maiúsculas, vinho. Serve à tela
   (aba Geração) e ao papel (deitado, A4). */
.rp-cab{display:flex;gap:14px;align-items:center;padding-bottom:12px;border-bottom:2px solid var(--vinho);margin:4px 0 18px}
.rp-cab img{height:54px;width:54px;object-fit:contain;flex:none}
.rp-marca{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--suave)}
.rp-titulo{font-family:"Playfair Display",Georgia,serif;font-weight:600;font-size:24px;color:var(--vinho);margin:0;line-height:1.15}
.rp-sub{font-size:13px;color:var(--suave);margin-top:3px}
.rp-dent{margin:0 0 32px}
.rp-nome{font-family:"Playfair Display",Georgia,serif;font-size:21px;font-weight:600;margin:0 0 8px;color:var(--texto)}
.rp-secao{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--vinho);margin:18px 0 4px;font-weight:600}
.rp-rol{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.rp-tab{width:100%;border-collapse:collapse;font-size:13.5px}
table.rp-tab th{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--vinho);
  text-align:right;padding:8px 8px;border-bottom:2px solid var(--vinho);font-weight:600;white-space:nowrap}
table.rp-tab th.e,table.rp-tab td.e{text-align:left}
table.rp-tab td{padding:8px;border-bottom:1px solid #E6DADD;text-align:right;font-variant-numeric:tabular-nums;vertical-align:top;white-space:nowrap}
table.rp-tab td.e{white-space:normal}
table.rp-tab td small{display:block;color:var(--suave);font-size:11.5px;font-weight:400}
table.rp-tab td.com{font-weight:700}
table.rp-tab tr.rp-sub td{font-weight:700;color:var(--vinho);background:#FAF6F7}
table.rp-tab tr.rp-total td{font-weight:700;border-top:2px solid var(--vinho);border-bottom:0}
table.rp-tab td.rp-motivo{color:var(--suave)}
table.rp-tab td.rp-conv{white-space:nowrap}
@media (max-width:600px){ .rp-titulo{font-size:20px} .rp-cab img{height:40px;width:40px} }
table.rp-acerto{margin:18px 0 0 auto;max-width:440px}
.rp-assin{display:flex;gap:40px;margin-top:48px;font-size:12.5px}
.rp-assin div{flex:1;border-top:1px solid #333;padding-top:6px;text-align:center}
@page cm{size:A4 landscape;margin:12mm 12mm 14mm}
@media print{
  body.imprimindo .cm-papel{page:cm;max-width:none;padding:0;font-size:10pt}
  body.imprimindo .cm-papel table.rp-tab{font-size:9.5pt}
  body.imprimindo .cm-papel table.rp-tab td,body.imprimindo .cm-papel table.rp-tab th{padding:5px 6px}
  body.imprimindo .cm-papel .rp-dent + .rp-dent{break-before:page}
  body.imprimindo .cm-papel tr{break-inside:avoid}
  body.imprimindo .cm-papel thead{display:table-header-group}
  body.imprimindo .cm-papel .rp-rol{overflow:visible}
  body.imprimindo,body.imprimindo #areaImpressao{background:#fff}
}

/* Fechamento de comissões (v13.7, 29/09/2026): a guia no jeito do painel antigo — fita de meses, os quatro
   números, avisos em bandeja, um cartão por dentista que abre num clique, e o recibo no papel. */
.fc-meses{display:flex;gap:4px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch}
.fc-mes{flex:none;border:1px solid var(--borda);background:var(--papel);border-radius:99px;padding:8px 15px;font-size:13px;cursor:pointer;white-space:nowrap;text-align:center}
.fc-mes.on{background:var(--vinho);border-color:var(--vinho);color:#fff;font-weight:600}
.fc-mes small{display:block;font-size:10.5px;opacity:.75;font-weight:400}
.fc-compet{font-size:13px;color:var(--suave);margin:8px 0 14px}
.fc-compet b{color:var(--texto)}
/* v13.8: o relatório só é calculado no botão Gerar relatório, no canto de cima à direita (na linha das abas) */
.cm-abas .fc-gerar{margin-left:auto;align-self:center;margin-bottom:6px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.fc-gerar.girando .ic{animation:girar .8s linear infinite}
.fc-convite{border:1px dashed var(--borda);border-radius:14px;padding:26px 18px;text-align:center;color:var(--suave);font-size:14px;display:flex;flex-direction:column;gap:6px;align-items:center}
.fc-convite b{color:var(--texto)}
.fc-prog{width:min(320px,100%);height:6px;border-radius:99px;background:var(--borda);overflow:hidden;margin-top:6px}
.fc-prog i{display:block;height:100%;background:var(--vinho);transition:width .3s}
@media (max-width:640px){.cm-abas .fc-gerar{padding:8px 12px;font-size:13px}}
.fc-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--borda);border:1px solid var(--borda);border-radius:13px;overflow:hidden;margin-bottom:14px}
@media (max-width:1180px){.fc-kpis{grid-template-columns:repeat(2,1fr)}}
.fc-kpi{background:var(--papel);padding:14px 16px;min-width:0}
.fc-kpi .k{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--suave);font-weight:600}
.fc-kpi .v{font-family:ui-monospace,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums;font-size:23px;font-weight:700;margin-top:7px;letter-spacing:-.02em}
.fc-kpi .n{font-size:12px;color:var(--suave);margin-top:3px}
.fc-kpi.pagar{background:var(--vinho);color:#fff}
.fc-kpi.pagar .k,.fc-kpi.pagar .n{color:#E7CDA2}
details.fc-aviso{border:1px solid #E4C9C0;background:#FBF3F0;border-radius:11px;margin-bottom:8px;font-size:13.5px;color:#6E2915}
details.fc-aviso.ok{border-color:#D9DDD6;background:#F6F7F4;color:#4A5245}
details.fc-aviso>summary{list-style:none;cursor:pointer;display:flex;gap:10px;align-items:center;padding:11px 14px}
details.fc-aviso>summary::-webkit-details-marker{display:none}
details.fc-aviso .ic{font-family:ui-monospace,Menlo,monospace;font-weight:700;flex:none;width:18px;text-align:center}
details.fc-aviso .ntxt{flex:1}
details.fc-aviso .ncta{flex:none;font:600 11px/1 ui-monospace,Menlo,monospace;white-space:nowrap;border:1px solid currentColor;border-radius:99px;padding:5px 9px;opacity:.85}
details.fc-aviso[open] .ncta{background:#6E2915;color:#fff;border-color:#6E2915}
details.fc-aviso.ok[open] .ncta{background:#4A5245;border-color:#4A5245}
details.fc-aviso .miolo{margin:0 12px 12px;border:1px solid #EAD5CF;border-radius:9px;background:#fff;max-height:280px;overflow:auto}
table.fc-mini{width:100%;border-collapse:collapse;font-size:12.5px;color:var(--texto)}
table.fc-mini th{position:sticky;top:0;background:#fff;text-align:left;font:600 9.5px/1 ui-monospace,Menlo,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--suave);padding:8px;border-bottom:1px solid var(--borda);white-space:nowrap}
table.fc-mini td{padding:6px 8px;border-bottom:1px solid #F0E9E7;vertical-align:top}
table.fc-mini td.r,table.fc-mini th.r{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.fc-link{background:none;border:1px solid var(--vinho);color:var(--vinho);border-radius:99px;padding:3px 10px;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap}
.fc-faixa{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:0 0 12px}
.fc-chips{display:flex;flex-wrap:wrap;gap:6px}
.fc-exportar{display:flex;flex-wrap:wrap;gap:6px}
.fc-exportar button{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:13px}
.fc-chip{border:1px solid var(--borda);background:#fff;border-radius:99px;padding:5px 11px;cursor:pointer;font-size:12px;font-weight:600;display:flex;gap:6px;align-items:center}
.fc-chip .dot{width:7px;height:7px;border-radius:99px;background:currentColor}
.fc-chip.off{opacity:.4;font-weight:500}
.fc-bandejas{display:flex;flex-direction:column;gap:12px}
.fc-band{background:var(--papel);border:1px solid var(--borda);border-radius:13px;overflow:hidden;min-width:0;max-width:100%}
.fc-band.aberta{border-color:var(--vinho);box-shadow:0 0 0 1px var(--vinho)}
.fc-band .cabe{display:flex;align-items:stretch}
.fc-band .sum{flex:1;display:grid;grid-template-columns:28px 1fr 130px 90px 160px;gap:12px;align-items:center;padding:14px 16px;cursor:pointer;background:none;border:0;border-radius:0;text-align:left;font:inherit;color:inherit;box-shadow:none;min-width:0}
.fc-band .sum:hover{background:#FAF6F7}
.fc-band .sum>span{display:block;min-width:0}
.fc-band .cnt{font:600 11px/1 ui-monospace,Menlo,monospace;color:var(--suave)}
.fc-band .who{font-family:"Playfair Display",Georgia,serif;font-weight:600;font-size:18px;display:inline}
.fc-band .estado{display:inline-block;font-size:10.5px;font-weight:600;border-radius:99px;padding:2px 8px;margin-left:8px;vertical-align:2px;background:#F0E9E7;color:var(--suave)}
.fc-band .estado.rascunho{background:#FBF0DA;color:#9A6A15}
.fc-band .estado.fechado{background:rgba(31,122,76,.12);color:var(--verde)}
.fc-band .barra{display:flex !important;width:100%;height:5px;border-radius:99px;overflow:hidden;background:#F0E9E7;margin-top:7px;max-width:320px}
.fc-band .barra i{display:block !important;height:5px}
.fc-band .num{text-align:right;font-family:ui-monospace,Menlo,monospace;font-variant-numeric:tabular-nums}
.fc-band .num .lb{display:block;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--suave)}
.fc-band .num .vl{display:block;font-size:14px;margin-top:3px;color:var(--suave)}
.fc-band .num.pagar .vl{font-size:21px;font-weight:700;color:var(--vinho);font-family:"Playfair Display",Georgia,serif}
.fc-band .num.pagar .lb2{display:block;font-size:10px;color:var(--vinho)}
.fc-band .imprimir{flex:none;width:52px;border:0;border-left:1px solid var(--borda);border-radius:0;background:none;cursor:pointer;color:var(--suave);display:flex;align-items:center;justify-content:center;box-shadow:none}
.fc-band .imprimir:hover{background:var(--vinho);color:#fff}
.fc-band .imprimir .ic{width:20px;height:20px;margin:0}
.fc-det{border-top:1px solid var(--borda);padding:4px 16px 16px;min-width:0}
.fc-sec{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--vinho);margin:18px 0 4px;font-weight:600;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fc-sec .mais{font-family:inherit;letter-spacing:0;text-transform:none;font-size:11px;border:1px solid var(--vinho);background:#fff;color:var(--vinho);border-radius:99px;padding:3px 11px;cursor:pointer;font-weight:600;box-shadow:none;min-height:0}
.fc-rol{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.fc-tab{width:100%;border-collapse:collapse;font-size:13.5px}
table.fc-tab th{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--vinho);text-align:right;padding:8px;border-bottom:2px solid var(--vinho);font-weight:600;white-space:nowrap}
table.fc-tab th.e,table.fc-tab td.e{text-align:left}
table.fc-tab td{padding:8px;border-bottom:1px solid #E6DADD;text-align:right;font-variant-numeric:tabular-nums;vertical-align:top;white-space:nowrap}
table.fc-tab td.e{white-space:normal}
table.fc-tab td small{display:block;color:var(--suave);font-size:11.5px;font-weight:400}
table.fc-tab td.com{font-weight:700}
table.fc-tab tr.sub td{font-weight:700;color:var(--vinho);background:#FAF6F7}
table.fc-tab tr.tot td{font-weight:700;border-top:2px solid var(--vinho);border-bottom:0}
table.fc-tab tr.fora td{color:var(--suave)}
table.fc-tab tr.fora td.com,table.fc-tab tr.fora td.v{text-decoration:line-through;text-decoration-color:rgba(0,0,0,.3)}
table.fc-tab input[type=checkbox]{width:18px;height:18px;accent-color:var(--vinho)}
table.fc-tab .tag{display:inline-flex;align-items:center;gap:5px;font-size:12px;white-space:nowrap}
table.fc-tab .tag .dot{width:7px;height:7px;border-radius:99px;background:currentColor}
.fc-edit{border:1px solid var(--borda);background:#fff;color:var(--suave);border-radius:6px;width:26px;height:26px;min-height:0;cursor:pointer;font-size:13px;line-height:1;padding:0;box-shadow:none}
.fc-edit:hover{background:var(--vinho);color:#fff;border-color:var(--vinho)}
.fc-ok{font:600 10.5px/1.4 ui-monospace,Menlo,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--verde)}
.fc-nao{font:600 10.5px/1.4 ui-monospace,Menlo,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--sangue)}
.fc-tog{border:1px solid var(--borda);background:#fff;color:var(--suave);border-radius:99px;padding:3px 11px;min-height:0;cursor:pointer;font-size:11px;font-weight:600;white-space:nowrap;box-shadow:none}
.fc-tog:hover{background:var(--vinho);color:#fff;border-color:var(--vinho)}
.fc-nota{font-size:12px;color:var(--suave);margin:6px 0 2px;line-height:1.45}
.fc-mp{font-size:13px;line-height:1.5;background:#F7F2F3;border-radius:9px;padding:10px 12px}
details.fc-proc>summary{cursor:pointer;font-size:13px;color:var(--vinho);font-weight:600;padding:12px 0 4px;list-style:none}
details.fc-proc>summary::before{content:"▸ ";font-family:monospace}
details.fc-proc[open]>summary::before{content:"▾ "}
.fc-pe{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid var(--borda)}
.fc-pe .salvo{font-size:12px;color:var(--verde);font-weight:600}
.fc-pe .acoes{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
/* o recibo no papel */
.fc-rbox{border:1px solid #E6DADD;border-radius:9px;overflow:hidden;margin:10px 0 22px;max-width:560px}
.fc-rbox .rline{display:flex;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid #F0E9E7;font-size:13px;color:var(--suave)}
.fc-rbox .rline b{color:var(--texto);font-variant-numeric:tabular-nums;white-space:nowrap}
.fc-rbox .rline.total{background:var(--vinho);color:#fff;font-size:15px;padding:14px 16px;border:0}
.fc-rbox .rline.total b{color:#fff;font-family:"Playfair Display",Georgia,serif;font-size:20px}
.fc-rtext{font-size:13px;line-height:1.7;color:var(--suave);max-width:640px}
.fc-rsign{width:300px;margin:44px auto 0;text-align:center}
.fc-rsign .sigline{border-top:1px solid #333;margin-bottom:6px}
.fc-rsign .signame{font-size:12.5px;color:var(--suave)}
.fc-rfoot{margin-top:36px;padding-top:12px;border-top:1px solid #E6DADD;font-size:10px;color:var(--suave);text-align:center}
@media (max-width:980px){
  .fc-kpis{grid-template-columns:repeat(2,1fr)}
  .fc-band .sum{grid-template-columns:1fr 140px;gap:8px}
  .fc-band .cnt,.fc-band .num.prod{display:none}
}
@media (max-width:600px){
  .fc-kpi .v{font-size:19px}
  .fc-band .who{font-size:16px}
  .fc-band .num.pagar .vl{font-size:18px}
  .fc-rsign{width:220px}
}
@media print{
  body.imprimindo .cm-papel .rp-quebra{break-before:page}
  body.imprimindo .cm-papel .fc-folha + .fc-folha{break-before:page}
  body.imprimindo .cm-papel .fc-rbox .rline.total{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.imprimindo .cm-papel .fc-rbox .rline{padding:6px 14px;font-size:11.5pt}
  body.imprimindo .cm-papel .fc-rbox,body.imprimindo .cm-papel .fc-rtext,body.imprimindo .cm-papel .fc-rfim{break-inside:avoid}
  body.imprimindo .cm-papel .fc-rbox .rline.total{padding:9px 14px}
  body.imprimindo .cm-papel .fc-rsign{margin-top:22px}
  body.imprimindo .cm-papel .fc-rfoot{margin-top:18px}
}

/* Permissões (v14.5): a folha de conferência virou tela. Uma linha por chave, os perfis nas colunas. */
.pm-tela h2{display:flex;align-items:center;gap:10px}
.pm-intro{color:var(--suave);font-size:14px;line-height:1.5;margin:4px 0 12px}
.pm-legenda{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;color:var(--suave);margin:0 0 14px}
.pm-legenda > span{display:inline-flex;align-items:center;gap:6px}
.pm-casa{display:inline-flex;align-items:center;justify-content:center;width:40px;height:32px;padding:0;border-radius:9px;font-size:16px;font-weight:700;border:1.5px solid transparent;cursor:pointer;user-select:none;box-shadow:none}
.pm-casa.sim{background:#E6F3EA;color:#2F7D4A}
.pm-casa.nao{background:#F3F1EF;color:#B9B2AC}
.pm-casa.mudou{border-color:var(--vinho);box-shadow:0 0 0 2px rgba(84,31,41,.12)}
.pm-casa.travada{cursor:default}
.pm-casa:disabled{opacity:1}
.pm-legenda .pm-casa{width:30px;height:26px;font-size:14px}
.pm-quadro{border:1px solid var(--borda);border-radius:14px;overflow:clip}
.pm-cab,.pm-lin{display:grid;grid-template-columns:1fr repeat(var(--cols,5),86px);align-items:center}
.pm-cab{position:sticky;top:var(--pm-topo,59px);z-index:2;background:var(--papel);border-bottom:1px solid var(--borda)}
.pm-cab div{padding:10px 4px;text-align:center;font-size:12.5px;font-weight:700;color:var(--vinho)}
.pm-cab div:first-child{text-align:left;padding-left:16px;color:var(--suave);font-weight:600}
.pm-grupo{padding:12px 16px 6px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--vinho);font-weight:700;background:#FBF8F6;border-top:1px solid var(--borda)}
.pm-lin{border-top:1px solid #F0EBE7;padding:8px 0}
.pm-acao{padding:0 12px 0 16px;font-size:14px;line-height:1.35}
.pm-nota{display:block;font-size:12.5px;color:var(--suave);margin-top:2px}
.pm-c{text-align:center}
.pm-pe{position:sticky;bottom:0;background:var(--papel);border-top:1px solid var(--borda);margin:14px -4px 0;padding:10px 4px calc(10px + env(safe-area-inset-bottom));display:flex;gap:10px;align-items:center;flex-wrap:wrap;z-index:3}
.pm-conta{font-size:13.5px;color:var(--suave);margin-right:auto}
.pm-conta b{color:var(--vinho)}
.pm-lista{margin:6px 0 0;padding-left:18px;line-height:1.5;font-size:14px}
.pm-perde{color:var(--afazer)}
@media (max-width:720px){
  .pm-cab{grid-template-columns:repeat(var(--cols,5),1fr)}
  .pm-cab div:first-child{display:none}
  .pm-lin{grid-template-columns:repeat(var(--cols,5),1fr);row-gap:6px;padding:10px 0}
  .pm-acao{grid-column:1/-1;padding:0 12px}
  .pm-casa{width:100%;max-width:56px}
  .pm-cab div{font-size:11.5px}
  .pm-pe .pm-conta{width:100%}
  .pm-pe button{flex:1}
}

/* v14.6 — Conferência do iDoc: mensagens rápidas, pendências no painel, cartão em destaque */
.msg-rapidas{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 8px;align-items:center}
.msg-rapidas small{width:100%;font-size:12px;color:var(--suave)}
.msg-rapidas span{border:1px solid var(--borda);background:var(--papel);border-radius:99px;padding:6px 12px;font-size:13px;cursor:pointer}
.msg-rapidas span:hover{border-color:var(--vinho);color:var(--vinho)}
.pendencias{border-left:4px solid var(--afazer)}
.pendencias h2{display:flex;align-items:center;gap:8px}
.pendencias .pend{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--papel);color:var(--texto);
  border:1px solid var(--borda);border-radius:12px;padding:10px 12px;margin-top:8px;box-shadow:none;font-weight:400}
.pendencias .pend:hover{border-color:var(--vinho);background:#FBF6F7}
.pendencias .pend .pend-txt{flex:1;min-width:0}
.pendencias .pend b{display:block;font-size:14px}
.pendencias .pend small{display:block;color:var(--suave);font-size:12.5px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.pendencias .pend i{font-style:normal;font-size:22px;color:var(--vinho)}
/* v22.7: o laboratório no Painel */
.lab-painel{border-left-color:var(--sangue)}
.lab-pn-sec{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--suave);margin:12px 0 4px}
.lab-pn{display:inline-block;border-radius:99px;padding:1px 8px;font-size:11.5px;font-weight:700;vertical-align:1px}
.lab-pn.hoje{background:var(--sangue);color:#fff}
.lab-pn.amanha{background:rgba(192,57,43,.13);color:var(--afazer)}
.lab-pn.atrasado{background:rgba(138,30,20,.13);color:var(--sangue);margin-left:4px}
.lab-pn.espera{background:rgba(192,57,43,.10);color:var(--afazer);margin-left:4px}
.conf.realce{box-shadow:0 0 0 3px rgba(84,31,41,.35);transition:box-shadow .4s}

/* v14.6 — zoom no visualizador (ligarZoom em app/comum.js) */
.visor.com-zoom{touch-action:none;user-select:none;-webkit-user-select:none}
.visor.com-zoom img{max-height:75vh;will-change:transform;-webkit-user-drag:none}
.visor.ampliada{cursor:grab}
.visor.ampliada:active{cursor:grabbing}
.visor .zoom-bot{position:absolute;left:10px;top:10px;z-index:3;display:flex;gap:4px;background:rgba(43,34,37,.75);border-radius:10px;padding:4px}
.visor .zoom-bot button{background:transparent;color:#fff;border:0;box-shadow:none;min-width:34px;height:32px;padding:0 8px;font-size:18px;font-weight:700;border-radius:7px}
.visor .zoom-bot button.z-pct{font-size:12.5px;font-weight:600;min-width:52px}
.visor .zoom-bot button:hover{background:rgba(255,255,255,.18)}

/* ===== Minha produção (v15.0, app/producao.js; folha mockups/minha-producao.html) ===== */
.mp-cartao{border-left:4px solid var(--vinho);cursor:pointer}
.mp-cartao:hover{box-shadow:0 2px 12px rgba(84,31,41,.08)}
.mp-cartao-topo{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.mp-cartao-topo h2{margin:0;display:flex;align-items:center;gap:8px}
.mp-ver{margin-left:auto;color:var(--vinho);font-size:13px;font-weight:600;white-space:nowrap}
.mp-tres{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--borda);border:1px solid var(--borda);border-radius:11px;overflow:hidden}
.mp-tres>div{background:var(--papel);padding:11px 13px;min-width:0}
.mp-k{font:600 10px/1.2 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--suave)}
.mp-v{font-family:ui-monospace,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums;font-size:19px;font-weight:700;margin-top:7px;white-space:nowrap}
.mp-c{font-size:12px;color:var(--vinho);margin-top:3px;white-space:nowrap}
.mp-n{font-size:11.5px;color:var(--suave);margin-top:2px}

.mp-cab{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}
.mp-cab h2{margin:0;display:flex;align-items:center;gap:10px}
.mp-sub{color:var(--suave);font-size:13px;margin-top:5px}
.mp-acoes{margin-left:auto;display:flex;gap:8px}
.mp-acoes button{display:inline-flex;align-items:center;gap:6px}
.mp-barra{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0 14px}
.mp-vis{display:inline-flex;border:1px solid var(--borda);border-radius:99px;padding:3px;background:#FAF6F7}
.mp-vis button,.mp-vis button:hover:not(:disabled){border:0;background:none;padding:7px 16px;border-radius:99px;font-size:13.5px;color:var(--suave);font-weight:600}
.mp-vis button.on,.mp-vis button.on:hover:not(:disabled){background:var(--vinho);color:#fff}
.mp-nav{display:inline-flex;align-items:center;gap:4px}
.mp-nav button,.mp-nav button:hover:not(:disabled){border:1px solid var(--borda);background:var(--papel);width:34px;height:34px;padding:0;border-radius:50%;font-size:17px;color:var(--vinho)}
.mp-nav button:hover:not(:disabled){background:var(--vinho-suave)}
.mp-qual{min-width:190px;text-align:center;font-weight:600;font-size:14.5px}
.mp-hoje,.mp-hoje:hover:not(:disabled){border:1px solid var(--borda);background:var(--papel);color:var(--vinho);font-weight:600;border-radius:99px;padding:7px 14px;font-size:13px}

.mp-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--borda);border:1px solid var(--borda);border-radius:13px;overflow:hidden}
.mp-kpi{background:var(--papel);padding:14px 16px;min-width:0}
.mp-kpi .mp-v{font-size:23px;letter-spacing:-.02em}
.mp-kpi .mp-n{font-size:12px}
.mp-kpi-com{background:var(--vinho);color:#fff}
.mp-kpi-com .mp-k,.mp-kpi-com .mp-n{color:#E7CDA2}
.mp-divide{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.mp-lado{border:1px solid var(--borda);border-radius:11px;padding:10px 13px;display:flex;gap:10px;align-items:center;font-size:13px}
.mp-pt{width:10px;height:10px;border-radius:50%;flex:none}
.mp-tx{flex:1;min-width:0}
.mp-tx b{display:block;font-size:13.5px}
.mp-tx small{color:var(--suave)}
.mp-vl{text-align:right;font-family:ui-monospace,Menlo,monospace;font-variant-numeric:tabular-nums;white-space:nowrap}
.mp-vl small{display:block;color:var(--vinho);font-size:11.5px}
.mp-estado{margin-top:10px;border-radius:11px;padding:10px 13px;font-size:13px;display:flex;gap:10px;align-items:flex-start;line-height:1.45}
.mp-estado .ic{flex:none;margin-top:2px}
.mp-estado-previa{background:#FBF0DA;color:#7A5412;border:1px solid #EBD6A8}
.mp-estado-fechado{background:rgba(31,122,76,.08);color:#1F5C3C;border:1px solid rgba(31,122,76,.25)}

.mp-graf{margin-top:16px;border:1px solid var(--borda);border-radius:13px;padding:14px 14px 8px}
.mp-graf-tit{margin:0 0 10px;font:600 10.5px/1 ui-monospace,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--suave);display:flex;gap:12px;flex-wrap:wrap}
.mp-graf-tit span{display:inline-flex;align-items:center;gap:5px;letter-spacing:.04em;text-transform:none}
.mp-graf-tit i{width:9px;height:9px;border-radius:2px;display:inline-block}
.mp-barras{display:flex;align-items:flex-end;gap:4px;height:150px;overflow-x:auto;padding-bottom:2px}
.mp-col{flex:1 0 22px;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end;cursor:pointer;border-radius:6px;padding:2px 0}
.mp-col:hover{background:#FAF6F7}
.mp-col-vazia{cursor:default}
.mp-col-vazia:hover{background:none}
.mp-pilha{width:70%;max-width:34px;display:flex;flex-direction:column-reverse;border-radius:4px 4px 0 0;overflow:hidden}
.mp-pilha i{display:block}
.mp-col-d{font-size:10.5px;color:var(--suave);font-variant-numeric:tabular-nums;white-space:nowrap}
.mp-col-val{font-size:9.5px;font-family:ui-monospace,Menlo,monospace;white-space:nowrap}
.mp-col-apagada .mp-col-d{color:#C9BDBF}

.mp-lista{margin-top:16px}
.mp-dia{border:1px solid var(--borda);border-radius:13px;margin-bottom:10px;overflow:hidden}
.mp-dia-cab{display:flex;gap:12px;align-items:center;padding:11px 14px;background:#FAF6F7;cursor:pointer}
.mp-data{font-weight:700;font-size:14.5px}
.mp-data small{font-weight:400;color:var(--suave);margin-left:6px}
.mp-tot{margin-left:auto;text-align:right;font-family:ui-monospace,Menlo,monospace;font-variant-numeric:tabular-nums;font-size:13px;white-space:nowrap}
.mp-tot b{color:var(--vinho)}
.mp-seta{color:var(--suave);transition:transform .15s}
.mp-dia.mp-fechado .mp-seta{transform:rotate(-90deg)}
.mp-dia.mp-fechado .mp-tab,.mp-dia.mp-fechado .mp-cards,.mp-dia.mp-fechado .mp-minimo{display:none}
table.mp-tab{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}
table.mp-tab th{text-align:left;font:600 9.5px/1 ui-monospace,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--vinho);padding:9px 12px;border-bottom:1px solid var(--borda);background:none}
table.mp-tab td{padding:8px 12px;border-bottom:1px solid #F3EDEE;vertical-align:top}
table.mp-tab tr:last-child td{border-bottom:0}
table.mp-tab .r{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
table.mp-tab td small{display:block;color:var(--suave);font-size:12px}
.mp-com{font-weight:700;color:var(--vinho)}
tr.mp-fora td,.mp-card.mp-fora{color:var(--suave)}
tr.mp-fora .mp-proc{text-decoration:line-through;text-decoration-color:rgba(122,107,110,.5)}
.mp-etq{display:inline-block;font-size:10.5px;border-radius:5px;padding:1px 7px;font-weight:600;margin:3px 4px 0 0;text-decoration:none}
.mp-etq-conv{background:rgba(46,109,164,.12);color:#2E6DA4}
.mp-etq-part{background:#F1ECEC;color:var(--suave)}
.mp-etq-deve{background:#FBF0DA;color:#9A6A15}
.mp-etq-div{background:rgba(31,122,76,.12);color:var(--verde)}
.mp-etq-fora{background:rgba(192,57,43,.10);color:var(--vermelho)}
.mp-etq-fechado{background:rgba(31,122,76,.08);color:#1F5C3C}
.mp-cards{display:none}
.mp-minimo{padding:8px 14px;font-size:12.5px;background:#FFFBF2;color:#7A5412;border-top:1px solid #F0E3C6}
.mp-vazio{padding:30px;text-align:center;color:var(--suave);border:1px dashed var(--borda);border-radius:13px;margin-top:16px}

@media (max-width:1000px){ .mp-kpis{grid-template-columns:repeat(2,1fr)} }
@media (max-width:640px){
  .mp-acoes{margin-left:0;width:100%}
  .mp-barra{gap:8px}
  .mp-vis{width:100%}
  .mp-vis button{flex:1}
  .mp-nav{width:100%;justify-content:space-between}
  .mp-qual{min-width:0;flex:1}
  .mp-hoje{display:none}
  .mp-kpi{padding:11px 12px}
  .mp-kpi .mp-v{font-size:18px}
  .mp-divide{grid-template-columns:1fr}
  .mp-tres{grid-template-columns:1fr}
  .mp-tres>div{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:10px}
  .mp-tres .mp-v{grid-column:2;grid-row:1/span 3;margin:0;text-align:right;font-size:17px}
  .mp-tres .mp-k,.mp-tres .mp-c,.mp-tres .mp-n{grid-column:1}
  table.mp-tab{display:none}
  .mp-dia:not(.mp-fechado) .mp-cards{display:block}
  .mp-card{padding:10px 13px;border-bottom:1px solid #F3EDEE;font-size:13px}
  .mp-card:last-child{border-bottom:0}
  .mp-l1{display:flex;gap:10px}
  .mp-l1 b{flex:1;min-width:0}
  .mp-l1 .mp-com{white-space:nowrap;font-variant-numeric:tabular-nums}
  .mp-l2{color:var(--suave);font-size:12.5px;margin-top:2px}
  .mp-l3{display:flex;justify-content:space-between;gap:8px;margin-top:4px;font-size:12px;color:var(--suave);font-variant-numeric:tabular-nums;flex-wrap:wrap}
  .mp-dia-cab{flex-wrap:wrap;row-gap:4px}
  .mp-tot{font-size:12px;margin-left:0;width:100%;text-align:left;padding-left:22px;white-space:normal}
}

/* v15.1: senha escondida sem ser campo de senha (o navegador não oferece guardar) */
input.senha-oculta{-webkit-text-security:disc;text-security:disc}
/* v15.1: convite para instalar, na tela de entrada */
/* v16.9: o que o aparelho guarda, na tela de entrada */
.lembrar-entrada{display:grid;gap:7px;margin-top:14px}
.lembrar-entrada .opcao{padding:8px 11px}
.lembrar-entrada .opcao:has(input:checked){border-color:var(--vinho);background:var(--vinho-suave)}
.instalar-login{margin-top:20px;padding-top:16px;border-top:1px solid var(--borda);display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.instalar-login-txt{flex:1 1 200px;min-width:0}
.instalar-login-txt b{display:block;font-size:14.5px}
.instalar-login-txt small{display:block;color:var(--suave);font-size:12.5px;margin-top:2px;line-height:1.4}
.instalar-login button{white-space:nowrap}

/* ===== Ver como (v15.4, app/vercomo.js; folha mockups/ver-como.html) ===== */
.vc-grupo{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--suave);padding:12px 8px 6px}
button.vc-pessoa,button.vc-pessoa:hover:not(:disabled){display:flex;gap:12px;align-items:center;width:100%;text-align:left;background:none;color:var(--texto);border:1px solid transparent;border-radius:11px;padding:9px 10px;font-weight:400}
button.vc-pessoa:hover:not(:disabled){background:var(--vinho-suave);border-color:rgba(84,31,41,.15)}
.vc-ini{width:38px;height:38px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;background:var(--vinho-suave);color:var(--vinho)}
.vc-q{flex:1;min-width:0}
.vc-q b{display:block;font-size:14.5px;font-weight:600}
.vc-q small{display:block;color:var(--suave);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vc-etq{font-size:10.5px;font-weight:700;border-radius:5px;padding:2px 7px;text-transform:uppercase;letter-spacing:.04em;flex:none;background:#F1ECEC;color:var(--suave)}
.vc-seta{color:var(--vinho);font-size:18px;flex:none}
body.vendo-como header{flex-wrap:wrap}
#faixaVerComo{flex-basis:100%;order:-1;background:var(--vinho);color:#fff;display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:8px 12px;border-radius:10px;margin-bottom:4px}
#faixaVerComo .vc-olho{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;flex:none}
#faixaVerComo .vc-olho .ic{width:16px;height:16px}
#faixaVerComo .vc-t{flex:1;min-width:190px;font-size:14px;line-height:1.35}
#faixaVerComo .vc-t small{display:block;color:#E7CDA2;font-size:12px}
#faixaVerComo button,#faixaVerComo button:hover:not(:disabled){background:#fff;color:var(--vinho);border:0;font-weight:600;padding:7px 14px;font-size:13.5px}
#avisoVerComo{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);opacity:0;pointer-events:none;
  z-index:120;max-width:min(560px,calc(100vw - 32px));background:#3E1620;color:#fff;border-radius:12px;padding:12px 16px;font-size:14px;line-height:1.4;
  display:flex;gap:10px;align-items:flex-start;box-shadow:0 10px 30px rgba(43,34,37,.3);transition:opacity .2s,transform .2s}
#avisoVerComo.on{opacity:1;transform:translate(-50%,0)}
#avisoVerComo .ic{flex:none;margin-top:2px}

/* ---- A agenda do dia do dentista no alto da ficha (v15.6, app/agendadia.js) ---- */
.adf{background:var(--papel);border:1px solid var(--borda);border-radius:14px;padding:10px 12px 12px;margin-bottom:12px}
.adf.escondida{padding-bottom:10px}
.adf-topo{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.adf-topo .ttl{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14.5px;flex-wrap:wrap}
.adf-topo .ttl .ic{width:18px;height:18px;color:#2E6DA4}
.adf-topo .ttl small{font-weight:400;color:var(--suave);font-size:13px}
.adf-topo select{margin-left:auto;padding:6px 10px;font-size:13px;border-radius:9px;width:auto}
.adf-fechar,.adf-fechar:hover:not(:disabled){background:none;color:var(--suave);border:0;padding:4px 6px;font-weight:500;font-size:13px}
.adf.escondida .adf-fechar,.adf-topo select + .adf-fechar{margin-left:auto}
.adf-topo .ttl + .adf-fechar{margin-left:auto}
.adf-fita{display:flex;gap:8px;overflow-x:auto;padding:12px 2px 4px;scroll-snap-type:x proximity;scrollbar-width:thin}
.adf-c{flex:0 0 150px;scroll-snap-align:start;border:1px solid var(--borda);border-left:4px solid var(--s);border-radius:10px;
  padding:7px 9px;background:#fff;color:var(--texto);font-weight:400;cursor:pointer;position:relative;text-align:left;
  display:block;min-width:0}
.adf-c:hover:not(:disabled){background:#fff;color:var(--texto);box-shadow:0 2px 10px rgba(84,31,41,.16)}
.adf-c .h{font-size:12px;color:var(--suave);font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:6px}
.adf-c .h i{width:8px;height:8px;border-radius:50%;background:var(--s);margin-left:auto}
.adf-c b{display:block;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.adf-c small{display:block;font-size:12px;color:var(--suave);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adf-c .st{color:var(--s);font-weight:600}
.adf-c.passou{opacity:.55}
.adf-c.comp{cursor:default;border-left-style:dotted}
.adf-c.aqui,.adf-c.aqui:hover:not(:disabled){border-color:var(--vinho);border-left-color:var(--vinho);background:var(--vinho-suave);
  box-shadow:0 0 0 2px var(--vinho);cursor:default}
.adf-c .aqui-etq{position:absolute;top:-9px;left:8px;background:var(--vinho);color:#fff;font-size:10px;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;border-radius:5px;padding:1px 6px}
.adf-c.livre{border-style:dashed;border-left:1px dashed var(--borda);background:transparent;cursor:default}
.adf-c.livre b{color:var(--suave);font-weight:500}
.adf-agora{flex:0 0 auto;align-self:stretch;display:flex;flex-direction:column;align-items:center;gap:3px;color:#C0392B;
  font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.adf-agora::after{content:'';flex:1;width:2px;background:#C0392B;border-radius:2px}
.adf-vazia{margin:4px 0 0;color:var(--suave);font-size:13px}
.adf-resumo{display:none}
@media (max-width: 600px){
  .adf{padding:9px 10px 10px}
  .adf-topo .ttl small{display:none}
  .adf-topo select{margin-left:0;order:3;width:100%}
  .adf-topo .adf-fechar{margin-left:auto}
  .adf-c{flex-basis:128px;padding:6px 8px}
  .adf-resumo{display:block;font-size:12.5px;color:var(--suave);margin-top:6px}
  .adf-resumo b{color:var(--texto)}
}

/* Para quem vai a mensagem do WhatsApp (v16.0) */
.para-quem{margin:4px 0 10px}
.para-quem .para-quem-ops{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.para-quem .para-quem-outro{margin-top:8px;gap:8px}
.para-quem .para-quem-outro[hidden]{display:none}
.para-quem > div[hidden]{display:none}
/* Mandar por [WhatsApp | E-mail] (v21.3): uma chave só, as duas metades do mesmo tamanho */
.canal-envio{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--borda);
  border-radius:12px;background:#FBF8F8;margin:2px 0 10px}
.canal-envio .canal-rot{font-size:13px;color:var(--suave)}
.canal-envio .canal-ops{display:inline-flex;padding:3px;border:1px solid var(--borda);border-radius:999px;background:#fff;gap:2px}
.canal-envio .canal-op{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:124px;height:36px;padding:0;
  margin:0;border:0;border-radius:999px;background:transparent;box-shadow:none;color:var(--suave);font-size:13.5px;
  font-weight:500;line-height:1;cursor:pointer;transition:background .15s,color .15s}
.canal-envio .canal-op .ic{width:18px;height:18px;margin:0}
.canal-envio .canal-op:hover{background:#F6F1F2}
.canal-envio .canal-op.zap.on{background:#1F7A4C;color:#fff;font-weight:600}
.canal-envio .canal-op.mail.on{background:var(--vinho);color:#fff;font-weight:600}
.canal-envio .canal-op.sem{opacity:.45}
.canal-envio .canal-info{margin-left:auto;font-size:12px;color:var(--suave);text-align:right;line-height:1.35}
.canal-envio .canal-info b{color:var(--texto);font-weight:600}
.para-quem{container-type:inline-size}
@container (max-width:560px){ .canal-envio .canal-info{margin-left:0;text-align:left;flex-basis:100%}
  .canal-envio .canal-info br{display:none} .canal-envio .canal-info b{margin-left:4px} }
@container (max-width:360px){ .canal-envio .canal-op{width:112px} }
[data-canal="mail"] .so-zap,[data-canal="zap"] .so-mail{display:none}

/* Convênio com parte do paciente (v16.1): plano e paciente em cada procedimento */
.val-duplo{display:inline-flex;flex-direction:column;align-items:flex-end;line-height:1.25;font-variant-numeric:tabular-nums}
.val-duplo small{font-size:10.5px;color:var(--suave);font-weight:500;margin-right:3px}
.val-duplo .pac{color:#8A5A12;font-weight:600}
.precos th.cv{color:#1E6FA8}
.precos th.pc{color:#8A5A12}
.precos input.tem-parte{color:#8A5A12;font-weight:600;background:#FFFCF6}
.cm-parte{color:#8A5A12}

/* ==================================================================
   Estoque (v17.5, migração 108, mockups/estoque.html)
   ================================================================== */
:root{--ambar:#B7791F}
.nums-est{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}
.num-est{border:1px solid var(--borda);border-radius:12px;padding:10px 12px;background:#fff;border-left:4px solid var(--c);
         text-align:left;color:var(--texto);font-weight:400;display:block}
.num-est:hover{border-color:var(--c)}
.num-est b{display:block;font-size:24px;font-weight:600;color:var(--c);letter-spacing:-.02em;line-height:1.1}
.num-est small{color:var(--suave);font-size:12.5px}
.num-est.on{background:color-mix(in srgb, var(--c) 8%, #fff);box-shadow:0 0 0 1px var(--c)}
.prods-est{display:grid;gap:8px}
.prod-est{display:flex;gap:12px;border:1px solid var(--borda);border-radius:12px;padding:10px 13px;background:var(--papel);
          align-items:center;flex-wrap:wrap;cursor:pointer}
.prod-est:hover{border-color:var(--vinho)}
.prod-est .barra{width:5px;border-radius:3px;background:var(--c);align-self:stretch;flex:none;min-height:38px}
.prod-est .d{flex:1 1 220px;min-width:0}
.prod-est .d b{font-size:15px;font-weight:600}
.prod-est .d .var{color:var(--suave)}
.prod-est .d small{display:block;color:var(--suave);font-size:12.5px;margin-top:1px}
.saldo-est{width:150px;flex:none}
.saldo-est .t{display:flex;justify-content:space-between;font-size:12.5px;color:var(--suave)}
.saldo-est .t b{color:var(--c);font-size:14px}
.saldo-est .trilho{height:6px;border-radius:9px;background:#EFE8EA;margin-top:4px;overflow:hidden}
.saldo-est .trilho i{display:block;height:100%;background:var(--c);border-radius:9px}
.venc-est{width:128px;flex:none;font-size:12.5px;color:var(--suave);text-align:right}
.venc-est b{display:block;font-size:13px;font-weight:600;color:var(--v)}
.prod-est .ac{display:flex;gap:6px}
.prod-est .ac button{padding:6px 11px;font-size:12.5px}
table.lotes-est{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:6px}
table.lotes-est th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--suave);font-weight:600;text-align:left;
                   padding:6px 8px;border-bottom:1px solid var(--borda)}
table.lotes-est td{padding:7px 8px;border-bottom:1px solid var(--borda)}
table.lotes-est .n{text-align:right;font-variant-numeric:tabular-nums}
.tag-est{display:inline-block;color:#fff;border-radius:5px;padding:0 6px;font-size:10.5px;font-weight:700;letter-spacing:.03em;margin-left:6px}
.movs-est{display:grid;gap:6px;margin-top:6px;max-height:260px;overflow:auto}
.mov-est{display:flex;gap:10px;align-items:baseline;font-size:13.5px;border-left:3px solid var(--c);padding:2px 0 2px 10px}
.mov-est .q{font-weight:600;color:var(--c);width:54px;flex:none;font-variant-numeric:tabular-nums}
.mov-est .o{flex:1;min-width:0}
.mov-est small{color:var(--suave);font-size:12.5px;white-space:nowrap}
.tipos-est{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px}
.tipos-est .opcao.on{border-color:var(--vinho);background:var(--vinho-suave)}
.forn-est{margin-top:12px}
.forn-est b{font-size:13.5px}
.forn-est .l{display:flex;gap:10px;align-items:center;font-size:13.5px;padding:5px 0;border-bottom:1px solid var(--borda)}
.forn-est .l span{flex:1;min-width:0}
.forn-est .l small{color:var(--suave);width:120px;text-align:right}
.forn-est .l input{width:70px;padding:5px 8px;text-align:right}
.forn-est .l i{font-style:normal;color:var(--suave);font-size:12.5px;width:22px}
.estoque-painel{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-left:4px solid var(--ambar);cursor:pointer}
.estoque-painel .t{flex:1;min-width:180px}
.estoque-painel b{font-size:15px}
.estoque-painel small{display:block;color:var(--suave);font-size:13px}
.chips-est{display:flex;gap:6px;flex-wrap:wrap}
.chips-est span{border-radius:99px;padding:4px 10px;font-size:12.5px;font-weight:600;background:color-mix(in srgb, var(--c) 12%, #fff);color:var(--c)}
@media (max-width:900px){ .nums-est{grid-template-columns:1fr 1fr} }
@media (max-width:560px){
  .tipos-est{grid-template-columns:1fr}
  .saldo-est{width:auto;flex:1 1 130px}
  .venc-est{text-align:left;width:auto;flex:1 1 100px}
  .prod-est .ac{width:100%;padding-left:17px}
  .prod-est .ac button{flex:1}
  .forn-est .l small{display:none}
}
.foto-est{width:46px;height:46px;border-radius:10px;object-fit:cover;flex:none;border:1px solid var(--borda);background:#fff;cursor:zoom-in}
.foto-est.vazia{display:flex;align-items:center;justify-content:center;color:#C9BDBF;background:var(--fundo);cursor:default}
.foto-est.vazia.grande{width:96px;height:96px}
.foto-est-grande{text-align:center;margin:4px 0 10px}
.foto-est-grande img{max-width:100%;max-height:200px;border-radius:12px;border:1px solid var(--borda);cursor:zoom-in}
.foto-cad-est{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:6px}
#pFotoVer img{width:96px;height:96px;object-fit:cover;border-radius:12px;border:1px solid var(--borda)}
.foto-cad-acoes{flex:1;min-width:220px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.foto-cad-acoes input{flex:1 1 100%}
.foto-bt{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--borda);border-radius:10px;padding:8px 12px;
         font-size:13.5px;cursor:pointer;background:var(--papel);color:var(--texto);margin:0;font-weight:500}

/* ===== Olhinho (v17.7, folha mockups/olhinho.html): o que é sensível nasce borrado ===== */
button.olho-bt{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:30px;height:30px;min-height:0;padding:0;
  border-radius:50%;border:1px solid var(--borda);background:#fff;color:var(--vinho);flex:none;box-shadow:none;cursor:pointer;
  vertical-align:middle;font-size:13px;font-weight:600}
button.olho-bt:hover{background:var(--vinho-suave, #F4E9EB);color:var(--vinho)}
button.olho-bt .ic, button.olho-bt svg{width:17px;height:17px;color:var(--vinho)}
button.olho-bt.com-rotulo{width:auto;height:auto;border-radius:99px;padding:6px 12px}
.olho-fechado .sensivel{filter:blur(6px);user-select:none;pointer-events:none}
.olho-fechado .selo.deve,.olho-fechado .selo.ok{background:var(--fundo);color:var(--suave);border:1px solid var(--borda)}
.selo-fin{display:inline-flex;align-items:center;gap:6px}
.selo-fin .selo{display:inline-flex;gap:5px;align-items:center}
.mp-cartao-dir{margin-left:auto;display:inline-flex;align-items:center;gap:10px}
.mp-cartao-dir .mp-ver{margin-left:0}
.contatos>button.olho-bt{align-self:center}
@media print{ .olho-fechado .sensivel{filter:none} button.olho-bt{display:none} }
.contatos span.longo .sensivel{white-space:normal;display:inline}

/* Desconto em três jeitos (v17.8): reais, % e total final, lado a lado */
.desc-tres{display:grid;grid-template-columns:repeat(3,minmax(0,170px));gap:10px}
.desc-tres input{font-size:18px;font-weight:600;width:100%}
.desc-tres label{white-space:nowrap}
@media (max-width:560px){ .desc-tres{grid-template-columns:1fr 1fr} .desc-tres>div:last-child{grid-column:1/-1} }
#avDescComo{min-width:0}
/* apagar da timeline (v18.0, só a Gestão vê) */
a.apagar-tl{color:var(--vermelho)}

/* Copiar, recortar e colar agendamento com o botão direito (v18.2) */
.menu-ag{position:fixed;z-index:150;min-width:250px;max-width:340px;background:#fff;border:1px solid var(--borda);border-radius:10px;
  box-shadow:0 10px 30px rgba(43,34,37,.18);padding:5px;font-size:13.5px}
.menu-ag-tit{padding:6px 10px 7px;font-size:12px;color:var(--suave);border-bottom:1px solid var(--borda);margin-bottom:4px;line-height:1.4}
.menu-ag-tit b{color:var(--texto);font-size:13px}
.menu-ag button{display:flex;width:100%;align-items:center;gap:9px;background:none;color:var(--texto);border:0;border-radius:7px;
  padding:8px 10px;font-weight:500;text-align:left;box-shadow:none}
.menu-ag button:hover:not(:disabled){background:var(--vinho-suave);color:var(--vinho)}
.menu-ag button:disabled{color:var(--suave);font-weight:400;cursor:default;opacity:1}
.menu-ag button small{margin-left:auto;padding-left:12px;color:var(--suave);font-weight:400;font-size:11.5px}
.menu-ag-sep{height:1px;background:var(--borda);margin:4px 2px}
.marca.recortado{opacity:.45;border-style:dashed}
#faixaCopiaAg{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:40;
  display:none;align-items:center;gap:14px;max-width:min(640px,calc(100vw - 32px));background:#fff;border:1px solid var(--borda);
  border-left:4px solid var(--vinho);border-radius:12px;padding:10px 12px 10px 14px;font-size:13.5px;line-height:1.45;
  box-shadow:0 10px 30px rgba(43,34,37,.18)}
#faixaCopiaAg.on{display:flex}
/* com qualquer quadro aberto a faixa some, para não ficar por cima dos botões dele (cliente, 01/10/2026) */
body.travado #faixaCopiaAg, body:has(.modal-superficie:not(.oculto)) #faixaCopiaAg{display:none!important}
#faixaCopiaAg b{color:var(--vinho)}
#faixaCopiaAg button{flex:none;padding:6px 12px}
#faixaCopiaAg .copia-feito{color:var(--verde);margin-bottom:2px}
#faixaCopiaAg .copia-feito b{color:var(--verde)}

/* Corrigir o pré-cadastro no quadro do agendamento (v18.4) */
.escolhido button.link-editar-pre{background:none;border:0;box-shadow:none;color:var(--vinho);padding:2px 4px;margin-left:4px;
  font-size:12.5px;font-weight:500;text-decoration:underline;display:inline-flex;align-items:center;gap:3px;vertical-align:baseline}
.escolhido button.link-editar-pre:hover{background:var(--vinho-suave)}

/* Guia de laboratório no modelo do CRM (v18.5, foto mandada pelo cliente em 01/10/2026) */
.gp{font-family:Georgia,'Times New Roman',serif;color:#2B2225}
.gp-cab{display:flex;align-items:flex-start;gap:18px;padding-bottom:16px;border-bottom:3px solid #3A2A2E;margin-bottom:22px}
.papel img.gp-logo{width:86px;height:86px;border-radius:16px;flex:none;object-fit:cover;margin:0}
.gp-clinica{flex:1;min-width:0}
.gp-nome{font-family:'Playfair Display',Georgia,serif;font-size:28px;font-weight:700;line-height:1.1}
.gp-tipo{font-size:15px;color:#6B5E61;margin:3px 0 4px}
.gp-end{font-size:12.5px;color:#7A6B6E;line-height:1.45}
.gp-num{text-align:right;flex:none}
.gp-n{font-family:'Playfair Display',Georgia,serif;font-size:24px;font-weight:700;white-space:nowrap}
.gp-em{font-size:12.5px;color:#7A6B6E;margin-top:4px;line-height:1.45}
.gp-via{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#7A6B6E;margin-top:6px}
.papel .gp-tab{width:100%;border-collapse:collapse;font-size:14.5px}
.papel .gp-tab th,.papel .gp-tab td{border:1px solid #D9D2D4;padding:10px 14px;text-align:left;vertical-align:middle;
  font-family:Georgia,'Times New Roman',serif;text-transform:none;letter-spacing:0}
.papel .gp-tab th{width:33%;background:#EEEAEB;color:#3A2A2E;font-weight:700;font-size:14.5px}
.papel .gp-tab td{white-space:pre-wrap;line-height:1.45}
.gp-assin{display:flex;gap:48px;margin-top:70px;font-size:13px;color:#4D4144;text-align:center}
.gp-assin div{flex:1;border-top:1.5px solid #3A2A2E;padding-top:8px}
.gp-rodape{font-size:11.5px;color:#8A7D80;text-align:center;margin-top:34px;line-height:1.6}
@media (max-width:560px){ .gp-cab{flex-wrap:wrap} .gp-num{text-align:left;width:100%} .papel img.gp-logo{width:60px;height:60px} }

/* =================== RELATÓRIOS (v18.9, mockup mockups/relatorios.html) =================== */
.rl-topo{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.rl-topo h2{margin:0;font-size:18px;display:flex;align-items:center;gap:9px;text-transform:none;letter-spacing:-.01em;color:var(--texto)}
.rl-topo h2 small{color:var(--suave);font-size:13px;font-weight:400}
.rl-topo .esp{flex:1}
.rl-acoes{display:flex;gap:8px;flex-wrap:wrap}
.rl-escolha{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.rl-escolha > *{min-width:0}
button.rl-card{border:1px solid var(--borda);border-radius:14px;padding:14px 16px;background:#fff;display:flex;gap:13px;
  align-items:flex-start;text-align:left;color:var(--texto);font-weight:400;box-shadow:none;width:100%}
button.rl-card:hover{border-color:var(--vinho);background:#fff}
.rl-card > div{min-width:0}
.rl-card b{font-size:16px;display:block}
.rl-card small{display:block;color:var(--suave);font-size:13px;line-height:1.5;margin-top:3px}
.rl-mini{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.rl-mini span{font-size:12px;border:1px solid var(--borda);border-radius:99px;padding:3px 9px;color:var(--suave);background:var(--papel)}
.rl-depois{grid-column:1/-1;font-size:13px;color:var(--suave);border:1px dashed var(--borda);border-radius:12px;padding:10px 14px}
.rl-filtros{display:grid;gap:8px;margin-bottom:12px}
.rl-linha{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.rl-linha > em{font-style:normal;font-size:12px;color:var(--suave);width:86px;flex:none}
button.rl-ch{border:1px solid var(--borda);border-radius:99px;padding:6px 12px;font-size:13px;background:var(--papel);color:var(--texto);
  white-space:nowrap;display:inline-flex;align-items:center;gap:6px;font-weight:500;box-shadow:none;min-height:0}
button.rl-ch.on{border-color:var(--vinho);background:var(--vinho-suave);color:var(--vinho);font-weight:600}
.rl-ch i{width:9px;height:9px;border-radius:50%;background:var(--c);display:inline-block}
.rl-datas{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--suave)}
.rl-datas input{width:auto;padding:5px 8px;font-size:13px;margin:0}
.rl-nums{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}
.rl-nums.fin{grid-template-columns:repeat(4,1fr)}
.rl-nums > *{min-width:0}
.rl-num{border:1px solid var(--borda);border-radius:12px;padding:10px 12px;background:#fff;border-left:4px solid var(--c)}
.rl-num b{display:block;font-size:23px;font-weight:600;color:var(--c);letter-spacing:-.02em;line-height:1.15}
.rl-num small{color:var(--suave);font-size:12.5px}
.rl-dia{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--vinho);font-weight:700;margin:16px 0 8px}
.rl-grupo{border:1px solid var(--borda);border-radius:12px;background:#fff;overflow:hidden;margin-bottom:12px}
.rl-gcab{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 14px;background:color-mix(in srgb, var(--c) 7%, #fff);border-bottom:1px solid var(--borda)}
.rl-gcab .bol{width:11px;height:11px;border-radius:50%;background:var(--c)}
.rl-gcab b{font-size:15px}
.rl-gcab small{color:var(--suave);font-size:12.5px}
.rl-gcab .esp{flex:1}
table.rl-t{width:100%;border-collapse:collapse;font-size:13.5px;margin:0}
.rl-t th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--vinho);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--borda);white-space:nowrap;background:none}
.rl-t td{padding:8px 10px;border-bottom:1px solid #F1ECED;vertical-align:top}
.rl-t tr:last-child td{border-bottom:0}
.rl-t td.h{font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.rl-t td.h small{font-weight:400}
.rl-t td.h .d{display:block;font-weight:400;color:var(--suave);font-size:12px}
.rl-t td.dt{white-space:nowrap;font-size:13px}
.rl-t td.dt .bol{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:1px}
.rl-t td.n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.rl-t td small{display:block;color:var(--suave);font-size:12px}
.rl-t td small.nova{color:var(--vinho);font-weight:600}
.rl-t tr.fora td{color:#A59A9D}
.rl-t tr.fora td .nm{text-decoration:line-through}
.rl-t tr.comp td{background:#FBF9FA;color:var(--suave)}
.rl-t tr.sub td{background:var(--fundo);font-weight:600;font-size:12.5px}
.rl-t tr.sub.tot td{font-size:14px}
.rl-t .apagado{color:#C9BFC2}
.rl-pill{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--c);white-space:nowrap}
.rl-pill::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c);flex:none}
.rl-forma{font-weight:600}
.rl-forma small{font-weight:400}
.rl-dois{display:grid;grid-template-columns:1.35fr 1fr;gap:12px;margin-bottom:14px}
.rl-dois > *{min-width:0}
.rl-box{border:1px solid var(--borda);border-radius:12px;background:#fff;padding:10px 12px;overflow-x:auto}
.rl-box h4{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave)}
table.rl-m{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums;margin:0}
.rl-m th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--vinho);text-align:left;padding:5px 6px;font-weight:600;background:none;white-space:nowrap}
.rl-m th.n,.rl-m td.n{text-align:right}
.rl-m td{padding:6px;border-top:1px solid #F1ECED;white-space:nowrap}
.rl-m tr.tot td{font-weight:700;border-top:2px solid var(--borda)}
.rl-m td.z{color:#C9BFC2}
.rl-barras{display:grid;gap:8px}
.rl-barra .t{display:flex;justify-content:space-between;font-size:13px}
.rl-barra .t b{font-variant-numeric:tabular-nums}
.rl-barra .trilho{height:7px;border-radius:9px;background:#EFE8EA;margin-top:3px;overflow:hidden}
.rl-barra .trilho i{display:block;height:100%;background:var(--c);border-radius:9px}
.rl-cancel{border:1px dashed var(--borda);border-radius:12px;padding:8px 12px;font-size:13px;color:var(--suave);margin-top:12px;line-height:1.6}
.rl-op{display:grid;gap:8px}
.rl-t td small.rl-resp-curto{display:none}
@media (max-width:1100px){
  .rl-nums{grid-template-columns:repeat(3,1fr)}
  .rl-nums.fin{grid-template-columns:repeat(2,1fr)}
  .rl-dois{grid-template-columns:1fr}
  .rl-t .so-largo{display:none}
  .rl-t td small.rl-resp-curto{display:block}
}
@media (max-width:620px){
  .rl-escolha{grid-template-columns:1fr}
  .rl-nums,.rl-nums.fin{grid-template-columns:repeat(2,1fr)}
  .rl-linha{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}
  .rl-linha > em{display:none}
  .rl-acoes{width:100%}
  .rl-acoes button{flex:1 1 auto}
  .rl-t thead{display:none}
  .rl-t tr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:2px 10px;padding:9px 12px;border-bottom:1px solid #F1ECED}
  .rl-t td{border:0;padding:0}
  .rl-t td.oq{grid-column:2/4}
  .rl-t td.dt{order:-1;grid-column:1/4;font-size:12px;color:var(--suave)}
  .rl-t tr.sub{display:flex;justify-content:space-between}
  .rl-tf td.rl-forma{grid-column:2/3}
}

/* o papel dos relatórios (agenda e caixa) */
.rlp{font-family:Georgia,'Times New Roman',serif;color:#2B2225;font-size:12px}
.rlp-folha + .rlp-folha{break-before:page;page-break-before:always}
.rlp-cab{display:flex;gap:16px;align-items:flex-start;border-bottom:3px solid #3A2A2E;padding-bottom:12px;margin-bottom:12px}
.papel img.rlp-logo{width:54px;height:54px;border-radius:12px;margin:0;flex:none}
.rlp-c{flex:1}
.rlp-nome{font-family:'Playfair Display',Georgia,serif;font-size:20px;font-weight:700;line-height:1.1}
.rlp-tipo{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#8A7A50;margin-top:3px}
.rlp-q{text-align:right;font-size:11.5px;color:#6B5E62;line-height:1.5}
.rlp-q b{display:block;font-family:'Playfair Display',Georgia,serif;font-size:16px;color:#2B2225}
.rlp-dia{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#541F29;font-weight:700;margin:14px 0 0}
.rlp-tit{font-family:'Playfair Display',Georgia,serif;font-size:15px;font-weight:700;margin:12px 0 6px;display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.rlp-tit small{font-family:Georgia,serif;font-size:11px;font-weight:400;color:#6B5E62}
.papel table.rlp-t{width:100%;border-collapse:collapse;font-size:11px}
.papel .rlp-t th{text-align:left;font-family:ui-monospace,Menlo,monospace;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#541F29;
  border-bottom:1.5px solid #541F29;padding:5px 6px;font-weight:600;background:none}
.papel .rlp-t th.n{text-align:right}
.papel .rlp-t td{padding:5px 6px;border-bottom:1px solid #E9E2E4;vertical-align:top}
.papel .rlp-t td.n{text-align:right;white-space:nowrap}
.papel .rlp-t td.z{color:#C9BFC2}
.papel .rlp-t td small{display:block;color:#7B6E72;font-size:10px}
.papel .rlp-t td.sit{font-weight:700}
.papel .rlp-t tr.fora td{color:#9A8F92}
.papel .rlp-t tr.fora td .nm{text-decoration:line-through}
.papel .rlp-t tr.sub td{font-weight:700;background:#F7F3F4}
.papel .rlp-t thead{display:table-header-group}
.papel .rlp-t tr{break-inside:avoid;page-break-inside:avoid}
.rlp-tot{display:flex;justify-content:space-between;font-size:13px;font-weight:700;border-top:2px solid #3A2A2E;padding-top:6px;margin-top:6px}
.rlp-ass{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:34px;font-size:11px;color:#6B5E62;text-align:center}
.rlp-ass div{border-top:1px solid #6B5E62;padding-top:5px}
.rlp-rod{margin-top:16px;font-size:9.5px;color:#9A8F92;text-align:center;border-top:1px solid #E9E2E4;padding-top:6px}
.rl .vazio{border:1px dashed var(--borda);border-radius:12px;padding:16px;text-align:center;color:var(--suave);font-size:14px}

/* novo / editar procedimento na tabela (v19.2) */
.lapis-proc{border:1px solid var(--borda);background:var(--papel);color:var(--vinho);border-radius:8px;padding:2px 8px;
  font-size:11.5px;font-weight:500;display:inline-flex;gap:4px;align-items:center;margin-left:6px;vertical-align:1px;box-shadow:none}
.lapis-proc:hover{border-color:var(--vinho)}
.lapis-proc .ic{width:13px;height:13px}
.pq-corpo{display:grid;gap:14px;padding:14px 20px}
.pq-g2{display:grid;grid-template-columns:2fr 1fr;gap:12px}
.pq-f{display:grid;gap:5px}
.pq-f label{font-size:12.5px;color:var(--suave);margin:0}
.pq-f label i{font-style:normal;color:#B0A3A7}
.pq-f input,.pq-f select{width:100%}
.pq-chips{display:flex;gap:6px;flex-wrap:wrap}
.pq-chip{border:1px solid var(--borda);border-radius:99px;padding:6px 11px;font-size:13px;background:#fff;color:var(--texto);
  font-weight:400;white-space:nowrap;box-shadow:none}
.pq-chip.on{border-color:var(--vinho);background:var(--vinho-suave);color:var(--vinho);font-weight:600}
.pq-parecido{border:1px solid #E9D4A6;background:#FFF8E8;border-radius:10px;padding:9px 12px;font-size:13px;line-height:1.5}
.pq-parecido b{color:#8A5A00}
.pq-ativo{border:1px solid var(--borda);border-radius:10px;padding:9px 12px;background:#fff}
.pq-sec{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--vinho);font-weight:600;margin:4px 0 -4px}
.pq-tabs{border:1px solid var(--borda);border-radius:12px;overflow:hidden}
.pq-tab{display:grid;grid-template-columns:24px minmax(0,1fr) 110px 110px;gap:10px;align-items:center;padding:8px 12px;
  border-top:1px solid #F1ECED;font-size:13.5px;background:#fff}
.pq-tab:first-child{border-top:0}
.pq-tab.cab{background:#F6F1F2;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave);padding:7px 12px}
.pq-tab.cab span:nth-child(n+3){text-align:right}
.pq-tab input[type=checkbox]{width:18px;height:18px;accent-color:var(--vinho);margin:0}
.pq-tab .pq-val{text-align:right;padding:6px 8px;width:100%;min-width:0}
.pq-tab.fora .pq-nome-tab{color:var(--suave)}
.pq-tab.fora .pq-val{visibility:hidden}
.pq-tab.sai{background:#FBF3F3}
.pq-tab.sai .pq-nome-tab{text-decoration:line-through}
.pq-nm small{display:block;color:var(--suave);font-size:11.5px}
.pq-nm small.pq-muda:empty{display:none}
.pq-nm small.nova{color:#1F7A4D;font-weight:600}
.pq-nm small.some{color:#A33A2B;font-weight:600}
.pq-nota{font-size:12.5px;color:var(--suave);line-height:1.55;border-left:3px solid var(--borda);padding-left:10px}
@media (max-width:620px){
  .pq-corpo{padding:12px 14px}
  .pq-g2{grid-template-columns:1fr}
  .pq-tab{grid-template-columns:22px minmax(0,1fr) 92px}
  .pq-tab .pq-pac{grid-column:3}
  .pq-tab.cab .pq-pac,.pq-tab span.pq-pac:empty{display:none}
}

/* lista curta (duração do agendamento): mostra uns 5 e rola por dentro */
.lista-curta{position:relative}
.lc-bt{width:100%;text-align:left;background:var(--papel);color:var(--texto);border:1px solid var(--borda);
       border-radius:9px;padding:11px 32px 11px 13px;font:inherit;font-size:15px;font-weight:400;cursor:pointer;position:relative}
.lc-bt::after{content:'';position:absolute;right:13px;top:50%;width:7px;height:7px;margin-top:-6px;
              border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
.lista-curta .lc-bt:hover:not(:disabled){background:var(--papel);border-color:var(--vinho)}
.lc-bt:disabled{opacity:.6;cursor:default}
.lc-painel{position:fixed;z-index:120;background:var(--papel);
           border:1px solid var(--borda);border-radius:9px;box-shadow:0 8px 24px rgba(0,0,0,.12);
           max-height:200px;overflow-y:auto;overscroll-behavior:contain}
.lc-op{padding:9px 13px;cursor:pointer;font-size:15px}
.lc-op:hover{background:var(--vinho-suave)}
.lc-op.on{background:var(--vinho);color:#fff}

/* ---------- Conferência dos convênios (v19.9, app/convenios.js) ---------- */
.cv-topo{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.cv-topo h2{margin:0;font-size:18px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.cv-topo h2 small{color:var(--suave);font-size:13px;font-weight:400}
.cv-topo .esp{flex:1}
.cv-anexar-bt{display:inline-flex;align-items:center;gap:7px;background:var(--vinho);color:#fff;border-radius:10px;padding:9px 14px;font-weight:600;cursor:pointer;font-size:14px}
.cv-anexar-bt:hover{background:var(--vinho-forte)}
.cv-linha{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.cv-ch{border:1px solid var(--borda);border-radius:99px;padding:6px 12px;font-size:13px;background:var(--papel);color:var(--texto);font-weight:500;white-space:nowrap}
.cv-ch:hover{background:var(--vinho-suave)}
.cv-ch.on{border-color:var(--vinho);background:var(--vinho-suave);color:var(--vinho);font-weight:600}
.cv-dica{color:var(--suave);font-size:12.5px;margin-left:4px;line-height:1.5}
.cv-sub{margin:22px 0 8px;font-size:16px}
.cv-sub small{color:var(--suave);font-size:12.5px;font-weight:400}
.cv-planos{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}
.cv-plano{border:1px solid var(--borda);border-radius:14px;background:#fff;padding:12px 14px;display:grid;gap:8px;align-content:start}
.cv-plano h3{margin:0;font-size:16px;display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.cv-plano h3 small{font-size:12px;color:var(--suave);font-weight:400}
.cv-barra{height:10px;border-radius:9px;background:#EFE8EA;overflow:hidden;display:flex}
.cv-barra i{display:block;height:100%}
.cv-num{display:flex;justify-content:space-between;font-size:13.5px;gap:8px}
.cv-num span{display:flex;align-items:center;gap:7px;color:var(--suave)}
.cv-num span::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--c);flex:none}
.cv-num span small{font-size:11.5px}
.cv-num b{font-variant-numeric:tabular-nums;white-space:nowrap}
.cv-num.tot{border-top:1px solid var(--borda);padding-top:6px;font-weight:600}
.cv-num.tot span::before{display:none}
.cv-plano .ult{font-size:12.5px;color:var(--suave);line-height:1.45}
.cv-plano .ult b{color:var(--texto)}
.cv-alerta{background:#FDECEA;color:var(--vermelho);border:1px solid #F3C4BE;border-radius:10px;padding:7px 10px;font-size:12.5px;font-weight:600;text-align:left;display:flex;gap:6px;align-items:center}
.cv-alerta:hover{background:#FADBD7}
.cv-fatura{font-size:12.5px;border:1px dashed var(--amarelo);border-radius:10px;padding:7px 10px;display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;color:var(--texto)}
.cv-fatura button{padding:5px 10px;font-size:12.5px}
.cv-lido{border:1px solid var(--borda);border-left:4px solid var(--vinho);border-radius:12px;background:#fff;padding:10px 14px;margin-bottom:12px}
.cv-lido small{color:var(--suave);font-size:13px;line-height:1.55}
.cv-plano-esc{font-size:13px;color:var(--suave);display:flex;gap:6px;align-items:center}
.cv-plano-esc select{width:auto}
.cv-nums{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px}
.cv-n{border:1px solid var(--borda);border-radius:12px;padding:10px 12px;background:#fff;border-left:4px solid var(--c)}
.cv-n b{display:block;font-size:22px;font-weight:600;color:var(--c);letter-spacing:-.02em;line-height:1.15}
.cv-n small{color:var(--suave);font-size:12.5px;line-height:1.35;display:block}
.cv-band{border:1px solid var(--borda);border-radius:12px;background:#fff;overflow:hidden;margin-bottom:10px}
.cv-bcab{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 14px;width:100%;text-align:left;border:0;border-radius:0;
  background:color-mix(in srgb, var(--c) 7%, #fff);border-bottom:1px solid var(--borda);color:var(--texto);font-weight:400}
.cv-bcab:hover{background:color-mix(in srgb, var(--c) 12%, #fff)}
.cv-bcab .bol{width:11px;height:11px;border-radius:50%;background:var(--c);flex:none}
.cv-bcab b{font-size:15px}
.cv-bcab small{color:var(--suave);font-size:12.5px}
.cv-bcab .esp{flex:1}
.cv-bcab .seta{color:var(--suave);font-size:12px}
.cv-band.fechada .cv-bcab{border-bottom:0}
table.cv-t{width:100%;border-collapse:collapse;font-size:13.5px}
.cv-t th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--vinho);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--borda);white-space:nowrap}
.cv-t th.n,.cv-t td.n{text-align:right}
.cv-t td{padding:8px 10px;border-bottom:1px solid #F1ECED;vertical-align:top}
.cv-t tr:last-child td{border-bottom:0}
.cv-t td.n{white-space:nowrap;font-variant-numeric:tabular-nums}
.cv-t td.r{color:var(--vermelho);font-weight:600}
.cv-t td small{display:block;color:var(--suave);font-size:12px;line-height:1.45}
.cv-t .dif{font-weight:600;color:var(--c)}
.cv-t .acoes{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;margin-top:4px}
.cv-t .acoes button{padding:5px 10px;font-size:12.5px}
.cv .eq{display:inline-block;font-size:11.5px;border:1px solid var(--borda);border-radius:99px;padding:1px 8px;color:var(--suave);margin-top:3px;background:var(--fundo)}
.cv-pe{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end;border-top:1px solid var(--borda);padding-top:12px;margin-top:6px}
.cv-pe small,.cv-pe > span{flex:1;color:var(--suave);font-size:13px;min-width:220px}
.cv-guia{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;padding:10px 14px;border-bottom:1px solid #F1ECED;font-size:13.5px}
.cv-guia:last-child{border-bottom:0}
.cv-guia .itens{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}
.cv-guia .itens span{font-size:12px;border:1px solid var(--borda);border-radius:99px;padding:2px 9px;background:var(--fundo)}
.cv-guia small{display:block;color:var(--suave);font-size:12px}
table.cv-m{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums}
.cv-m th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--vinho);text-align:right;padding:7px 8px;font-weight:600;border-bottom:1px solid var(--borda);white-space:nowrap}
.cv-m th:first-child,.cv-m td:first-child{text-align:left}
.cv-m td{padding:7px 8px;text-align:right;border-bottom:1px solid #F1ECED;white-space:nowrap}
.cv-m tr.tot td{font-weight:700;border-top:2px solid var(--borda);border-bottom:0}
.cv-m td.z{color:#C9BFC2}
.cv-m td.v{color:var(--verde)} .cv-m td.r{color:var(--vermelho)} .cv-m td.a{color:var(--amarelo)}
.cv .rolar{overflow-x:auto}
.cv-hist{border:1px solid var(--borda);border-radius:12px;background:#fff;overflow:hidden}
.cv-hl{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:9px 14px;border-bottom:1px solid #F1ECED;font-size:13.5px}
.cv-hl:last-child{border-bottom:0}
.cv-hl small{display:block;color:var(--suave);font-size:12.5px;line-height:1.45}
.cv-hl button{padding:5px 10px;font-size:12.5px;flex:none}
.cv-quadro{background:var(--papel);border:1px solid var(--borda);border-radius:16px;box-shadow:0 10px 40px rgba(43,34,37,.25);padding:18px 20px;max-width:680px;margin:0 auto 16px;box-sizing:border-box}
@media (max-width:560px){.cv-quadro{padding:14px}}
.cv-quadro h3{margin:0 0 6px;font-size:17px}
.cv-quadro .cv-dica{margin:0 0 10px}
.cv-dep{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0}
.cv-dep label{font-size:13px;display:grid;gap:4px}
/* na ficha: o que o plano fez com o procedimento de convênio */
.cv-tag{display:inline-block;font-size:11.5px;border-radius:99px;padding:1px 8px;font-weight:600;color:var(--c);
  background:color-mix(in srgb, var(--c) 10%, #fff);border:1px solid color-mix(in srgb, var(--c) 30%, #fff);margin-left:4px;white-space:nowrap}
@media (max-width: 900px){
  .cv-nums{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cv-t .so-largo{display:none}
}
@media (max-width: 560px){
  .cv-nums{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cv-linha{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}
  .cv-t thead{display:none}
  .cv-t tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:9px 12px;border-bottom:1px solid #F1ECED}
  .cv-t td{border:0;padding:0}
  .cv-t td.larga{grid-column:1/-1}
  .cv-t .acoes{justify-content:flex-start}
  .cv-pe button{flex:1 1 auto}
  .cv-hl{flex-wrap:wrap}
}
/* os relatórios do mês no cartão do plano: ✓ anexado / ○ falta anexar (v19.10) */
.cv-docs{border-top:1px solid var(--borda);padding-top:8px;display:grid;gap:5px}
.cv-docs-tit{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave);font-weight:600}
.cv-docs-tit b{color:var(--amarelo);font-weight:600;text-transform:none;letter-spacing:0;font-size:12px}
.cv-docs-tit b.cv-tudo{color:var(--verde)}
.cv-doc{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.35}
.cv-doc small{display:block;font-size:12px;color:var(--suave)}
.cv-doc-ic{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex:none}
.cv-doc.cv-sim .cv-doc-ic{background:color-mix(in srgb, var(--verde) 14%, #fff);color:var(--verde)}
.cv-doc.cv-nao .cv-doc-ic{background:#FBF1E2;color:var(--amarelo);border:1px dashed var(--amarelo)}
.cv-doc.cv-nao > span:last-child{color:var(--texto)}
.cv-doc.cv-nao small{color:var(--amarelo)}
/* quadro dos meses × convênios: o que já foi anexado (v20.1) */
table.cv-q{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;background:#fff;border:1px solid var(--borda);border-radius:12px;overflow:hidden}
.cv-q thead th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--vinho);font-weight:600;text-align:left;padding:8px 10px;border-bottom:1px solid var(--borda);white-space:nowrap}
.cv-q tbody tr{cursor:pointer}
.cv-q tbody tr:hover{background:var(--vinho-suave)}
.cv-q tbody tr.on{background:var(--vinho-suave);box-shadow:inset 4px 0 0 var(--vinho)}
.cv-q tbody th,.cv-q td{padding:8px 10px;border-bottom:1px solid #F1ECED;vertical-align:top;text-align:left}
.cv-q tbody tr:last-child th,.cv-q tbody tr:last-child td{border-bottom:0}
.cv-q tbody th b{display:block;font-size:14px}
.cv-q tbody th small{display:block;font-size:11.5px;font-weight:600;white-space:nowrap}
.cv-q .cv-q-falta{color:var(--amarelo)}
.cv-q small.cv-tudo{color:var(--verde)}
.cv-q td.cv-q-nada{color:#C9BFC2;font-size:12px}
/* filtros por convênio e os meses de um plano (v20.2) */
.cv-filtros{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.cv-fl{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--borda);border-radius:12px;padding:9px 14px;background:#fff;color:var(--texto);font-weight:600;font-size:14px}
.cv-fl:hover{background:var(--vinho-suave)}
.cv-fl.on{border-color:var(--vinho);background:var(--vinho);color:#fff}
.cv-fl-n{min-width:20px;height:20px;border-radius:99px;background:var(--amarelo);color:#fff;font-size:11.5px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
.cv-fl-ok{color:var(--verde);font-weight:700}
.cv-fl.on .cv-fl-ok{color:#fff}
.cv-q-ir{cursor:pointer}
.cv-q td.cv-q-ir:hover,.cv-q thead th.cv-q-ir:hover{background:var(--vinho-suave)}
.cv-plano-res{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px}
.cv-plano-res b{font-size:18px;display:block}
.cv-plano-res small{color:var(--suave);font-size:13px}
.cv-plano-res + .cv-fatura,.cv-fatura + .cv-fatura{margin-bottom:8px}
.cv-meses{display:grid;gap:10px;margin-top:10px}
.cv-mes{border:1px solid var(--borda);border-left:4px solid var(--verde);border-radius:12px;background:#fff;padding:11px 14px;display:grid;gap:8px}
.cv-mes.cv-mes-falta{border-left-color:var(--amarelo)}
.cv-mes-topo{display:flex;gap:8px 10px;align-items:baseline;flex-wrap:wrap}
.cv-mes-topo b{font-size:15.5px}
.cv-mes-topo small{color:var(--suave);font-size:12.5px}
.cv-mes-topo .esp{flex:1}
.cv-mes-st{font-size:12.5px;font-weight:700;white-space:nowrap}
.cv-mes-st.cv-nao{color:var(--amarelo)} .cv-mes-st.cv-sim{color:var(--verde)}
.cv-mes-nums{display:flex;gap:6px 16px;flex-wrap:wrap;font-size:13px;color:var(--suave)}
.cv-mes-nums span{display:inline-flex;align-items:center;gap:6px}
.cv-mes-nums span[style]::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c)}
.cv-mes-nums b{color:var(--texto);font-variant-numeric:tabular-nums}
.cv-mes-atr{color:var(--vermelho);font-weight:600}
.cv-mes-docs{display:grid;gap:6px;border-top:1px solid #F1ECED;padding-top:8px}
.cv-mes-docs .cv-doc{align-items:center}
.cv-mes-docs .cv-doc > span:nth-child(2){flex:1}
.cv-sub-bt{float:right;padding:5px 11px;font-size:12.5px;margin-top:-3px}
.cv-doc-bt{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--vinho);color:var(--vinho);border-radius:9px;padding:5px 11px;font-size:12.5px;font-weight:600;cursor:pointer;flex:none;background:#fff}
.cv-doc-bt:hover{background:var(--vinho-suave)}
.cv-q tbody th,.cv-q thead th:first-child{position:sticky;left:0;background:#fff;z-index:1}
.cv-q tbody tr:hover th,.cv-q tbody tr.on th{background:var(--vinho-suave)}
.cv-qd{display:block;white-space:nowrap;font-weight:600;line-height:1.6}
.cv-qd.cv-sim{color:var(--verde)}
.cv-qd.cv-nao{color:var(--amarelo)}
.cv-qd.cv-espera,.cv-q .cv-q-espera,.cv-mes-st.cv-espera{color:var(--suave)}
.cv-doc.cv-espera .cv-doc-ic{background:#F3EFF0;color:var(--suave)}
.cv-doc.cv-espera small{color:var(--suave)}
.cv-mes:has(.cv-mes-st.cv-espera){border-left-color:var(--nao-feito)}
@media (max-width:560px){ .cv-q tbody th,.cv-q td,.cv-q thead th{padding:7px 6px} .cv-qd{font-size:12px} }
.cv-linha .cv-dica{white-space:nowrap;flex:none}

/* Movimentação: os depósitos dos convênios à parte (v20.3) */
.rl-dep-tit{margin:0;padding:10px 12px 4px;font-size:14px;color:#1E7F86}
.rl-dep-tit small{color:var(--suave);font-weight:400;font-size:12px}
.cv-mais{margin-top:8px;padding:6px 12px;font-size:12.5px}

/* ------------------------------------------------------------------
   Comunicação (v20.7): e-mail, WhatsApp automático e mensagens prontas.
   Prefixos co- (a tela), cx- (o e-mail) e mp- (mensagens prontas).
------------------------------------------------------------------ */
body.tela-comunicacao main{max-width:1240px}
.co{padding:16px 18px}
.co-topo{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.co-topo h2{margin:0;font-size:18px;display:flex;align-items:center;gap:9px}
.co-topo .esp{flex:1}
.co-abas{display:flex;gap:4px;border-bottom:1px solid var(--borda);margin:0 -18px 14px;padding:0 18px;overflow-x:auto}
.co-aba{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;font-size:14px;color:var(--suave);background:transparent;
        border:0;border-bottom:2px solid transparent;border-radius:0;white-space:nowrap}
.co-aba:hover:not(:disabled){background:var(--vinho-suave)}
.co-aba.on{color:var(--vinho);border-bottom-color:var(--vinho);font-weight:600}
.co-aba .n,.cx-conta .n{background:var(--afazer);color:#fff;border-radius:99px;font-size:11px;font-weight:700;padding:1px 7px;line-height:1.5}
.co-aba .ic{width:17px;height:17px}

.cx-contas{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.cx-conta{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--borda);border-radius:99px;padding:6px 12px 6px 7px;
          font-size:13px;background:var(--papel);color:var(--texto);font-weight:500}
.cx-conta:hover:not(:disabled){background:var(--vinho-suave)}
.cx-conta.on{border-color:var(--vinho);background:var(--vinho-suave);color:var(--vinho);font-weight:600}
.cx-conta.desligada{opacity:.6}
.cx-conta small{color:var(--suave);font-size:11.5px}
.cx-conta .lg,.cx-conta-card .lg{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700;flex:none}
.cx-barra{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.cx-pastas{display:flex;gap:6px;flex-wrap:wrap}
.cx-pasta{border:1px solid var(--borda);border-radius:99px;padding:6px 12px;font-size:13px;background:var(--papel);color:var(--texto);font-weight:500}
.cx-pasta:hover:not(:disabled){background:var(--vinho-suave)}
.cx-pasta.on{border-color:var(--vinho);background:var(--vinho-suave);color:var(--vinho);font-weight:600}
.cx-busca{flex:1 1 220px;display:flex;align-items:center;gap:8px;border:1px solid var(--borda);border-radius:9px;padding:0 11px;
          background:#fff;margin:0;color:var(--suave)}
.cx-busca input{border:0;padding:9px 0;font-size:14px;box-shadow:none !important}
.cx-barra > button{padding:8px 12px;font-size:13.5px}
.cx-corpo{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);border:1px solid var(--borda);border-radius:12px;
          overflow:hidden;background:#fff;min-height:480px}
.cx-lista{border-right:1px solid var(--borda);max-height:72vh;overflow-y:auto}
.cx-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:2px 8px;padding:10px 13px 10px 8px;border-bottom:1px solid #F1ECED;
         cursor:pointer;border-left:3px solid transparent}
/* v21.4: a caixinha de marcar e a barra dos marcados */
.cx-marca{grid-row:1/span 3;align-self:start;display:flex;align-items:center;justify-content:center;width:26px;height:26px;margin:-3px 0 0;cursor:pointer}
.cx-marca input,.cx-sel-todos input{width:17px;height:17px;accent-color:var(--vinho);cursor:pointer;margin:0}
.cx-item.cx-marcado{background:#FBF3F5}
.cx-sel{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:7px 10px 7px 11px;
        background:#FAF7F8;border-bottom:1px solid var(--borda);min-height:42px}
.cx-sel.com{background:var(--vinho-suave)}
.cx-sel-todos{display:inline-flex;align-items:center;gap:9px;font-size:13px;color:var(--suave);cursor:pointer;margin-right:auto}
.cx-sel.com .cx-sel-todos{color:var(--vinho);font-weight:600}
.cx-sel-acoes{display:inline-flex;gap:6px;flex-wrap:wrap}
.cx-sel-acoes .ic{width:14px;height:14px}
.cx-item:hover{background:#FBF8F8}
.cx-item.on{background:var(--vinho-suave);border-left-color:var(--vinho)}
.cx-item .de{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cx-item.nova .de,.cx-item.nova .ass{font-weight:700}
.cx-item .qd{font-size:12px;color:var(--suave);white-space:nowrap}
.cx-item.nova .qd{color:var(--vinho);font-weight:600}
.cx-item .ass{grid-column:2/4;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--texto)}
.cx-item .et{grid-column:2/4;display:flex;gap:6px;flex-wrap:wrap;margin-top:3px}
.et-pac{font-size:11.5px;border-radius:99px;padding:1px 8px;background:rgba(160,68,90,.10);color:#A0445A;font-weight:600;display:inline-flex;gap:4px;align-items:center}
.et-anx{font-size:11.5px;border-radius:99px;padding:1px 8px;background:#F4EFF0;color:var(--suave);display:inline-flex;gap:4px;align-items:center}
.et-pac .ic,.et-anx .ic{width:12px;height:12px}
.cx-pag{display:flex;gap:10px;align-items:center;justify-content:center;padding:10px;font-size:13px;color:var(--suave)}
.cx-vazio{color:var(--suave);font-size:14px;padding:22px 16px;text-align:center;margin:0}

.cx-ler{padding:16px 20px;display:flex;flex-direction:column;gap:12px;min-width:0;max-height:72vh;overflow-y:auto}
.cx-ler h3{margin:0;font-size:18px;line-height:1.35;word-break:break-word}
.cx-cab{display:flex;gap:11px;align-items:flex-start}
.cx-cab .av{width:38px;height:38px;border-radius:50%;background:#A0445A;color:#fff;display:grid;place-items:center;font-weight:700;flex:none;font-size:14px}
.cx-cab .quem{min-width:0;flex:1}
.cx-cab b{font-size:14.5px}
.cx-cab small{display:block;color:var(--suave);font-size:12.5px;word-break:break-word}
.cx-cab .qd{white-space:nowrap}
.cx-pac{border:1px solid var(--borda);border-left:4px solid #A0445A;border-radius:10px;padding:8px 12px;display:flex;gap:10px;
        align-items:center;flex-wrap:wrap;font-size:13.5px;background:#fff}
.cx-pac .esp{flex:1}
.cx-pac small{color:var(--suave)}
.cx-texto{width:100%;border:0;min-height:160px;display:block}
.cx-anexos{display:flex;gap:10px;flex-wrap:wrap}
.cx-anexo{border:1px solid var(--borda);border-radius:10px;padding:9px 11px;display:flex;gap:10px;align-items:flex-start;
          flex:1 1 260px;min-width:0;background:#fff}
.cx-anexo > div{min-width:0}
.cx-anexo .tp{width:38px;height:44px;border-radius:6px;background:#C0392B;color:#fff;font-size:10.5px;font-weight:700;display:grid;place-items:center;flex:none}
.cx-anexo .tp.img{background:#2E6DA4}
.cx-anexo .tp.out{background:#7A6B6E}
.cx-anexo b{font-size:13px;display:block;word-break:break-all}
.cx-anexo small{color:var(--suave);font-size:12px;display:block}
.cx-anexo .acs{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.cx-anexo .aviso{margin:6px 0 0;padding:6px 9px;font-size:12.5px}
.cx-acoes{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--borda);padding-top:12px;align-items:center}
.cx-acoes .esp{flex:1}
.cx-bpac{width:100%}
.cx-bpac input{margin-bottom:4px}
.so-celular{display:none !important}

.cx-escrever{max-width:760px}
.cx-campo{display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px;align-items:center;margin-bottom:8px}
.cx-campo em{font-style:normal;color:var(--suave);font-size:13px}
.cx-campo.oculto{display:none}
.cx-para{display:flex;gap:6px}
.cx-para input{flex:1;min-width:0}
.cx-escrever textarea{width:100%;font-size:15px;line-height:1.55;padding:10px 12px;border:1px solid var(--borda);border-radius:9px;font-family:inherit;resize:vertical}
.cx-cit{margin-top:8px;font-size:13px;color:var(--suave)}
.cx-cit summary{cursor:pointer}
.cx-cit > div{max-height:180px;overflow:auto;border-left:3px solid var(--borda);padding:6px 10px;margin-top:6px}
.cx-anexar{margin-top:12px;display:grid;gap:8px}
.cx-chips{display:flex;gap:6px;flex-wrap:wrap}
.cx-chips:empty{display:none}
.cx-chip{display:inline-flex;gap:5px;align-items:center;border:1px solid var(--borda);border-radius:99px;padding:4px 10px;font-size:12.5px;background:#fff;max-width:100%}
.cx-chip small{color:var(--suave)}
.cx-chip b{cursor:pointer;color:var(--vermelho);padding:0 2px}
.cx-chip.fora{opacity:.45;text-decoration:line-through;cursor:pointer}
.cx-chip .ic{width:13px;height:13px;flex:none}
.botao-arquivo{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border:1px solid var(--borda);border-radius:9px;
               color:var(--vinho);font-size:14px;font-weight:500;cursor:pointer;margin:0;background:transparent}
.botao-arquivo:hover{background:var(--vinho-suave)}
.link-mini{background:transparent;color:var(--vinho);padding:2px 0;font-size:13px;border:0;text-decoration:underline}
.link-mini:hover:not(:disabled){background:transparent;color:var(--vinho-forte)}
.cx-sis{border:1px solid var(--borda);border-radius:10px;padding:10px 12px;background:var(--fundo)}
.cx-sis-g{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave);font-weight:600;margin:10px 0 4px}
.cx-sis-it{display:flex;gap:9px;align-items:flex-start;margin:0;padding:6px 4px;color:var(--texto);font-size:13.5px;cursor:pointer}
.cx-sis-it input{margin-top:3px;flex:none}
.cx-sis-it small{display:block;color:var(--suave);font-size:12px}

.cx-contas-lista{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.cx-conta-card{border:1px solid var(--borda);border-radius:12px;background:#fff;padding:12px 14px;display:grid;gap:8px;align-content:start}
.cx-conta-card .cab{display:flex;gap:10px;align-items:center}
.cx-conta-card .cab small{display:block;color:var(--suave);font-size:12.5px}
.cx-conta-card .esp{flex:1}
.cx-conta-card .dica{margin:0}
.cx-conta-card label{margin:6px 0 4px}
.cx-ligar ol{margin:4px 0 8px;padding-left:20px;font-size:13.5px;line-height:1.6}
.cx-ligar .copiavel{word-break:break-all;text-align:left;white-space:normal}
.cx-ligar .copiavel i{white-space:nowrap}
.selo.cx-off{background:#F1ECED;color:var(--suave)}

.mp-dois{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:start}
.mp-item{border:1px solid var(--borda);border-radius:11px;padding:9px 12px;background:#fff;margin-bottom:7px;cursor:pointer}
.mp-item:hover{border-color:var(--vinho)}
.mp-item.on{border-color:var(--vinho);background:var(--vinho-suave)}
.mp-item.inativa{opacity:.55}
.mp-item b{font-size:14px;display:block}
.mp-item small{color:var(--suave);font-size:12.5px}
.mp-ed{border:1px solid var(--borda);border-radius:12px;background:#fff;padding:12px 14px;display:grid;gap:8px;min-width:0}
.mp-ed textarea{width:100%;font-size:14.5px;line-height:1.55;padding:10px 12px;border:1px solid var(--borda);border-radius:9px;font-family:inherit;resize:vertical}
.mp-lac{display:flex;gap:6px;flex-wrap:wrap;font-size:12.5px;color:var(--suave);align-items:center}
.mp-lac button{padding:3px 9px;font-size:12.5px;border-style:dashed}
.rot-mp{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave);font-weight:600}
.balao{background:#DCF8C6;border-radius:10px 10px 2px 10px;padding:9px 12px;font-size:13.5px;line-height:1.55;white-space:pre-line;
       max-width:440px;justify-self:end;box-shadow:0 1px 1px rgba(0,0,0,.08);word-break:break-word}
.wz-na-tela .wz-aviso{margin-bottom:10px}

@media (max-width: 900px){
  .mp-dois{grid-template-columns:1fr}
  .cx-corpo{grid-template-columns:minmax(240px,300px) minmax(0,1fr)}
}
@media (max-width: 640px){
  .co{padding:12px}
  .co-abas{margin:0 -12px 12px;padding:0 12px}
  .co-aba{padding:8px 7px;font-size:13px;gap:5px}
  .co-aba .ic{display:none}
  .co-topo #coAcoes{width:100%}
  .co-topo #coAcoes button{flex:1}
  .cx-corpo{grid-template-columns:1fr;min-height:0}
  .cx-lista{border-right:0;max-height:none}
  .cx-ler{max-height:none;padding:12px 14px}
  .cx-corpo.lendo .cx-lista{display:none}
  .cx-corpo:not(.lendo) .cx-ler{display:none}
  .so-celular{display:inline-flex !important}
  .cx-voltar{align-self:flex-start}
  .so-largo{display:none}
  .cx-campo{grid-template-columns:1fr;gap:3px}
  .cx-anexo{flex-basis:100%}
}
/* v21.2: "Ver como fica" a agenda do dentista (quadro Mensagens) */
.wz-previa{margin:8px 0 4px}
.wz-previa .linha{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.wz-previa select,.wz-previa input{width:auto;min-width:0;flex:1 1 140px;margin:0}
.wz-previa .balao{margin-top:8px;max-width:420px}

/* ---- baixa parcial (v21.8, migração 144; mockup mockups/baixa-parcial.html) ---- */
.bp-como{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
@media (max-width:480px){.bp-como{grid-template-columns:1fr}}
.bp-como .opcao.on{border-color:var(--vinho);background:var(--vinho-suave)}
.bp-efeito{margin-top:14px;border-radius:10px;padding:9px 12px;font-size:13px;line-height:1.45}
.bp-efeito.parcial{background:#FBEFEF;color:#8A2A2A}
.bp-efeito.final{background:#EAF2FB;color:#1F4F86}
button.etq-andamento{display:inline-block;font-family:inherit;font-size:11px;font-weight:600;line-height:1.5;border:0;
               border-radius:99px;padding:1px 8px;min-height:0;height:auto;box-shadow:none;margin-left:6px;
               background:#FBEFEF;color:#8A2A2A;vertical-align:middle;cursor:pointer}
button.etq-andamento:hover:not(:disabled){background:#F6E0E0}
button.etq-andamento.feito{background:#EAF2FB;color:#1F4F86}
.bp-sessoes{list-style:none;margin:0;padding:0;border:1px solid var(--borda);border-radius:10px;max-height:150px;overflow:auto}
.bp-sessoes li{padding:7px 11px;border-top:1px solid #F1ECED;font-size:13px;line-height:1.4}
.bp-sessoes li:first-child{border-top:0}
.bp-sessoes small{color:var(--suave);font-size:12.5px}
/* v21.8: "Quem é o paciente" — a 1ª etapa do link mandado pelo WhatsApp para um número sem ficha (app/quem.js) */
.quem-pac label{margin-top:12px}
.quem-dois{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:420px){.quem-dois{grid-template-columns:1fr}}
.quem-resp{margin-top:14px;padding:12px 14px;border:1px solid var(--borda);border-left:3px solid var(--vinho);border-radius:10px;background:#fff}
.quem-resp[hidden]{display:none}
.quem-resp p{margin:0;font-size:14px;color:var(--suave);line-height:1.45}
.an-grupo .opc{text-transform:none;letter-spacing:0;font-weight:400;margin-left:6px}
.rd-ordem{display:flex;gap:4px;flex-shrink:0}.rd-ordem .mini{min-width:32px;padding:4px 8px}
/* conciliação do convênio (v23.2) */
.cv-cc-bts{float:right;display:flex;gap:6px;flex-wrap:wrap}
.cv-cc-f{margin:6px 0 8px}
.cv-cc-f .cv-fl i{font-style:normal;opacity:.7;font-weight:400}
.cv-cc-pac{border:1px solid var(--borda);border-radius:12px;background:#fff;margin-bottom:10px;overflow:hidden}
.cv-cc-nome{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;padding:9px 14px;background:var(--fundo);border-bottom:1px solid var(--borda)}
.cv-cc-nome b{font-size:15px}
.cv-cc-nome small{color:var(--suave);font-size:12.5px}
.cv-cc-item{padding:10px 14px 10px 16px;border-bottom:1px solid #F1ECED;box-shadow:inset 4px 0 0 var(--c);display:grid;gap:5px}
.cv-cc-item:last-child{border-bottom:0}
.cv-cc-item.aprovado{background:#F2FAF5}
.cv-cc-item.recusado{opacity:.55}
.cv-cc-cab{font-size:13.5px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.cv-cc-cab small{color:var(--suave);font-size:12px;width:100%}
.cv-cc-prop{font-size:13.5px;line-height:1.5}
.cv-cc-acoes{display:flex;gap:6px;flex-wrap:wrap}
.cv-cc-acoes button{padding:6px 11px;font-size:12.5px}
@media (max-width:600px){.cv-cc-bts{float:none;margin-top:6px}}
.cv .vazio{border:1px dashed var(--borda);border-radius:12px;padding:16px;text-align:center;color:var(--suave);font-size:14px}

/* v23.5 — cuidados depois do procedimento: as famílias no cartão do gatilho (app/mensagens.js) */
.cd-fam{border-top:1px solid var(--borda);margin-top:12px;padding-top:10px}
.cd-fam-rot{font-size:12.5px;color:var(--suave);margin:0 0 6px}
.cd-fam-lista{display:grid;gap:6px}
.cd-fam-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--borda);border-radius:10px;padding:8px 10px;background:#fff}
.cd-fam-item .pt{width:12px;height:12px;border-radius:50%;background:var(--c, var(--vinho));cursor:pointer}
.cd-fam-item b{font-size:13.5px;display:block}
.cd-fam-item small{color:var(--suave);font-size:12px;display:block;line-height:1.4}
.cd-fam-item .ac{display:flex;gap:10px;align-items:center}
.cd-fam-item.off{opacity:.55}
.cd-fam-item .texto,.cd-fam-item .texto-ed,.cd-fam-item .pegos,.cd-fam-item > .editar{grid-column:1/-1}
.cd-fam-item .texto{background:#F8F4F5;border-radius:8px;padding:9px 11px;font-size:13px;line-height:1.5;white-space:pre-line}
.cd-fam-item .texto-ed textarea{width:100%;box-sizing:border-box;min-height:160px;font-size:13.5px;line-height:1.45}
.cd-fam-item .pegos{font-size:12px;color:var(--suave);line-height:1.5}
.cd-fam-item .pegos i{display:inline-block;background:var(--vinho-suave);color:var(--vinho);border-radius:99px;padding:1px 8px;margin:2px 3px 0 0;font-style:normal;font-size:11.5px}
.cd-parcial{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--suave);white-space:nowrap;cursor:pointer}
.cd-parcial input{margin:0}
.wz-liga.pq{width:38px;height:22px}.wz-liga.pq::after{width:16px;height:16px}.wz-liga.pq.on::after{left:19px}
@media (max-width:700px){.cd-fam-item{grid-template-columns:auto minmax(0,1fr)}.cd-fam-item .ac{grid-column:2}}

/* v23.6 — buscar outro paciente em cima da ficha (app/ficha.js); v23.7: mais chamativa ("os dentistas não vão achar") */
.ficha-busca{position:relative;display:flex;align-items:center;gap:12px;background:#F7EEF0;border:2px solid var(--vinho);border-radius:16px;padding:10px 12px 10px 12px;margin-bottom:14px;box-shadow:0 4px 18px rgba(84,31,41,.12)}
.ficha-busca:focus-within{background:#fff;box-shadow:0 0 0 4px rgba(84,31,41,.14),0 4px 18px rgba(84,31,41,.12)}
.ficha-busca .ic-lupa{flex:none;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--vinho);color:#fff}
.ficha-busca .ic-lupa .ic{width:21px;height:21px}
.ficha-busca .fb-campo{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;margin:0;cursor:text}
.ficha-busca .fb-campo b{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--vinho)}
.ficha-busca input{width:100%;min-width:0;border:0;background:transparent;padding:2px 0;font-size:17px;box-shadow:none;color:var(--texto)}
.ficha-busca input::placeholder{color:#8E7B7F}
.ficha-busca input:focus{outline:none;box-shadow:none}
.ficha-busca .mini{white-space:nowrap;flex:none}
.ficha-busca-res{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;background:#fff;border:1px solid var(--borda);border-radius:12px;box-shadow:0 12px 30px rgba(43,34,37,.18);max-height:60vh;overflow:auto;padding:4px}
.ficha-busca-res .achado-pac{border-radius:8px}
@media (max-width:600px){.ficha-busca{gap:9px;padding:9px 10px}.ficha-busca .ic-lupa{width:36px;height:36px}.ficha-busca input{font-size:16px}.ficha-busca .fb-campo b{font-size:11px}.ficha-busca .mini{font-size:12.5px}}

/* ---------- Auditoria (v24.2, migração 163) ---------- */
.au-topo{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.au-topo h2{margin:0;font-size:18px;display:flex;align-items:center;gap:9px}
.au-topo .esp{flex:1}
.au-topo small{color:var(--suave);font-size:13px;font-weight:400}
.au-filtros{display:grid;gap:8px;margin-bottom:12px}
.au-linha{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.au-linha > em{font-style:normal;font-size:12px;color:var(--suave);width:72px;flex:none}
.au-linha input[type=date]{width:auto;padding:5px 8px;font-size:13px}
button.au-ch,span.au-ch{border:1px solid var(--borda);border-radius:99px;padding:6px 12px;font-size:13px;background:var(--papel);color:var(--texto);
  font-weight:500;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;min-height:0;box-shadow:none}
.au-ch.on{border-color:var(--vinho);background:var(--vinho-suave);color:var(--vinho);font-weight:600}
.au-ch i{width:9px;height:9px;border-radius:50%;background:var(--c);display:inline-block}
.au-x{background:none;border:0;color:var(--vinho);font-size:17px;line-height:1;padding:0 0 0 4px;min-height:0;box-shadow:none}
.au-busca-caixa{position:relative;flex:1;min-width:200px}
.au-busca{width:100%;border:1px solid var(--borda);border-radius:99px;padding:7px 14px;font-size:13.5px;box-sizing:border-box}
.au-achados{position:absolute;left:0;right:0;top:100%;z-index:20;background:#fff;border:1px solid var(--borda);border-radius:10px;
  box-shadow:var(--sombra);overflow:hidden}
.au-achados:empty{display:none}
.au-achados button{display:block;width:100%;text-align:left;background:#fff;color:var(--texto);border:0;border-bottom:1px solid #F1ECED;
  border-radius:0;padding:8px 12px;font-weight:500;box-shadow:none;min-height:0}
.au-achados button small{display:block;color:var(--suave);font-weight:400;font-size:12px}
.au-achados button:hover{background:var(--vinho-suave)}
.au-sistema{font-size:13px;color:var(--suave);display:flex;align-items:center;gap:6px;cursor:pointer}
.au-sistema input{width:auto;margin:0}
.au-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.au-num{border:1px solid var(--borda);border-radius:12px;padding:10px 12px;background:#fff;border-left:4px solid var(--c)}
.au-num b{display:block;font-size:23px;font-weight:600;color:var(--c);letter-spacing:-.02em;line-height:1.15}
.au-num small{color:var(--suave);font-size:12.5px}
.au-dia{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--suave);font-weight:600;margin:14px 0 6px}
.au-lista{border:1px solid var(--borda);border-radius:12px;background:#fff;overflow:hidden}
.au-item{display:grid;grid-template-columns:44px 32px minmax(0,1fr) auto;gap:4px 12px;padding:10px 14px;border-bottom:1px solid #F1ECED;
  align-items:start;border-left:4px solid var(--c)}
.au-item:last-child{border-bottom:0}
.au-item .h{font-weight:600;font-variant-numeric:tabular-nums;font-size:13.5px;padding-top:6px}
.au-item .quem{width:32px;height:32px;border-radius:50%;background:var(--vinho-suave);color:var(--vinho);font-weight:700;font-size:12px;display:grid;place-items:center}
.au-item .quem.sis{background:#EEF1F4;color:var(--grafite)}
.au-item .txt{font-size:14px;line-height:1.5;min-width:0;overflow-wrap:anywhere}
.au-item .txt small{display:block;color:var(--suave);font-size:12.5px}
.au-item .txt a{color:var(--vinho);font-weight:600;text-decoration:none}
.au-qual{color:var(--texto);font-weight:500}
.au-acao{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--c);border:1px solid color-mix(in srgb, var(--c) 35%, #fff);
  background:color-mix(in srgb, var(--c) 8%, #fff);border-radius:99px;padding:3px 9px;white-space:nowrap;margin-top:5px}
button.au-mais{grid-column:3/5;justify-self:start;background:none;border:0;padding:0;min-height:0;box-shadow:none;font-size:13px;color:var(--vinho);font-weight:600}
.au-det{grid-column:3/5;border:1px solid var(--borda);border-radius:10px;background:var(--fundo);padding:10px 12px;font-size:13.5px;margin-top:4px;min-width:0}
.au-det h5{margin:0 0 6px;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave)}
table.au-mud{width:100%;border-collapse:collapse;font-size:13.5px}
.au-mud th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--vinho);font-weight:600;padding:5px 8px;border-bottom:1px solid var(--borda)}
.au-mud td{padding:6px 8px;border-bottom:1px solid #F1ECED;vertical-align:top;overflow-wrap:anywhere}
.au-mud tr:last-child td{border-bottom:0}
.au-mud td.de{color:var(--afazer)}
.au-mud td.para{color:var(--inicial);font-weight:600}
.au-texto-rot{font-size:12px;color:var(--suave);margin:4px 0 3px}
.au-texto{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}
.au-texto > div{background:#fff;border:1px solid var(--borda);border-radius:8px;padding:8px 10px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.au-texto b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave);margin-bottom:3px;white-space:normal}
.au-texto del{background:#FBE3E0;color:var(--afazer);text-decoration:line-through}
.au-texto ins{background:#DDF1E5;color:var(--inicial);text-decoration:none;font-weight:600}
.au-motivo{border-left:3px solid var(--afazer);background:#fff;border-radius:6px;padding:7px 10px;margin-top:8px}
.au-motivo b{color:var(--afazer)}
.au-era{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 12px;font-size:13px}
.au-era span{overflow-wrap:anywhere}
.au-era span:nth-child(odd){color:var(--suave)}
.au-vazio{color:var(--suave);font-size:13.5px;margin:6px 0}
.au-cofre{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--suave);margin-top:12px}
.au-mostrar{margin-top:12px}
.au-trilha .au-item{grid-template-columns:32px minmax(0,1fr);padding:8px 10px}
.au-trilha .au-item .h{display:none}
.au-trilha .au-acao{display:none}
.au-trilha button.au-mais,.au-trilha .au-det{grid-column:1/-1}
.au-trilha .au-texto{grid-template-columns:1fr}
.au-ver-tudo{margin-top:8px}
@media (max-width:900px){ .au-nums{grid-template-columns:repeat(2,1fr)} }
.au-h-cel{display:none;font-weight:600;color:var(--texto)}
@media (max-width:600px){
  .au-linha{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}
  .au-linha > em{display:none}
  .au-linha:last-child{flex-wrap:wrap}
  .au-item{grid-template-columns:32px minmax(0,1fr);padding:10px 12px}
  .au-item .h{display:none}
  .au-h-cel{display:inline}
  .au-acao{grid-column:2;justify-self:start;margin-top:0}
  button.au-mais,.au-det{grid-column:1/-1}
  .au-texto{grid-template-columns:1fr}
}


/* ---------- Convênio com conta corrente (v24.3, app/convenios.js; folha mockups/convenios-conta.html) ---------- */
.cc-bt{display:inline-flex;align-items:center;gap:6px;border-radius:10px;padding:8px 13px;font-size:13.5px;font-weight:600;
       background:var(--vinho);color:#fff;border:1px solid var(--vinho);white-space:nowrap;cursor:pointer;line-height:1.2}
.cc-bt.sec{background:var(--papel);color:var(--texto);border-color:var(--borda);font-weight:500}
.cc-bt .ic{width:16px;height:16px}
.cc-link{background:none;border:0;padding:0 2px;color:var(--vinho);font-size:12.5px;font-weight:600;text-decoration:underline;cursor:pointer}
.cc-mais{display:block;margin:8px 14px 0}
/* 1 · lista */
.cc-lista{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:4px 0 18px}
.cc-card{background:#fff;border:1px solid var(--borda);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px;
         border-top:4px solid var(--c);text-align:left;color:var(--texto);font:inherit;cursor:pointer;min-width:0}
.cc-card:hover{box-shadow:0 6px 18px rgba(43,34,37,.08)}
.cc-card h3{margin:0;font-size:16px;display:flex;justify-content:space-between;align-items:baseline;gap:6px}
.cc-card h3 small{font-size:11.5px;color:var(--suave);font-weight:400}
.cc-big{font-size:21px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--vinho)}
.cc-big.zero{color:var(--suave)}
.cc-big small{display:block;font-size:11px;font-weight:500;color:var(--suave);letter-spacing:0;text-transform:uppercase}
.cc-linha{font-size:12.5px;color:var(--suave);display:flex;justify-content:space-between;gap:6px}
.cc-linha b{color:var(--texto);font-weight:600;font-variant-numeric:tabular-nums}
.cc-linha b.r{color:#9B2C1F}
.cc-alerta{font-size:12px;border-radius:8px;padding:5px 8px;background:#FBEDEA;color:#9B2C1F}
.cc-ok{font-size:12px;border-radius:8px;padding:5px 8px;background:#E8F4EC;color:#1F6B3A}
/* 2 · o convênio aberto */
.cc-cab{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.cc-cab .esp{flex:1}
.cc-volta{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;font-size:13px}
.cc-logo{width:46px;height:46px;border-radius:12px;color:#fff;display:grid;place-items:center;font-weight:700;font-size:18px;flex:none}
.cc-quem{min-width:0}
.cc-quem h2{margin:0;font-family:"Playfair Display",Georgia,serif;font-size:24px}
.cc-sub{font-size:12.5px;color:var(--suave)}
.cc-abas{display:flex;gap:4px;border-bottom:1px solid var(--borda);margin:4px 0 14px;overflow-x:auto}
.cc-abas button{background:none;border:0;border-bottom:3px solid transparent;border-radius:0;padding:9px 14px;font-size:14px;color:var(--suave);white-space:nowrap;font-weight:500;cursor:pointer}
.cc-abas button.on{border-color:var(--vinho);color:var(--vinho);font-weight:600}
.cc-nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.cc-num{background:#fff;border:1px solid var(--borda);border-radius:12px;padding:10px 12px;border-left:4px solid var(--c);min-width:0}
.cc-num b{display:block;font-size:20px;font-variant-numeric:tabular-nums;color:var(--c);overflow-wrap:anywhere}
.cc-num span{font-size:12px;color:var(--suave)}
.cc-duas{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:14px;align-items:start;margin-bottom:14px}
.cc-sec{background:#fff;border:1px solid var(--borda);border-radius:12px;overflow:hidden;min-width:0}
.cc-sec h4{margin:0;padding:10px 14px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--vinho);border-bottom:1px solid var(--borda);display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}
.cc-sec h4 small{text-transform:none;letter-spacing:0;color:var(--suave);font-weight:400;font-size:12px}
.cc-sec > .vazio,.cc-sec > .carregando{padding:12px 14px;margin:0}
.cc-aberto{margin-bottom:14px}
/* mês a mês */
.cc-mes{border-bottom:1px solid #F1EAEC}
.cc-mes:last-child{border-bottom:0}
.cc-mes.aberto{background:var(--vinho-suave)}
.cc-mes-cab{display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:4px 10px;padding:10px 14px 4px;align-items:center;width:100%;
            background:none;border:0;border-radius:0;text-align:left;color:var(--texto);font:inherit;cursor:pointer}
.cc-mes-cab:hover{background:rgba(84,31,41,.03)}
.cc-mes .m{font-weight:700}
.cc-mes .m small{display:block;font-weight:400;color:var(--suave);font-size:11.5px}
.cc-mes-meio{min-width:0}
.cc-barra{height:9px;border-radius:99px;background:#F1EAEC;overflow:hidden;display:flex}
.cc-barra i{display:block;height:100%}
.cc-mes .info{font-size:12px;color:var(--suave);margin-top:4px}
.cc-mes .info .r{color:#9B2C1F}
.cc-mes .info .v{color:var(--vinho)}
.cc-lote{font-size:12px;color:var(--suave);padding:0 14px 9px 110px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cc-lote b{color:var(--texto)}
.cc-sit{font-size:11.5px;font-weight:600;border-radius:99px;padding:3px 9px;white-space:nowrap;display:inline-block}
.s-pago{background:#E8F4EC;color:#1F6B3A}
.s-parcial{background:#FFF4E0;color:#9A5B00}
.s-aguard{background:#EEF2F8;color:#33507A}
.s-atraso{background:#FBEDEA;color:#9B2C1F}
.s-nada{background:#F3EFF0;color:var(--suave)}
.cc-proc{margin:2px 14px 12px;background:#fff;border:1px solid var(--borda);border-radius:10px;overflow:hidden}
.cc-proc table{width:100%;border-collapse:collapse;font-size:12.5px}
.cc-proc th{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--suave);text-align:left;padding:6px 9px;border-bottom:1px solid var(--borda)}
.cc-proc td{padding:6px 9px;border-bottom:1px solid #F4EEF0;vertical-align:top}
.cc-proc td small{display:block;color:var(--suave);font-size:11.5px}
.cc-proc td.v,.cc-proc th.v{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.cc-proc .pe{padding:8px 10px;font-size:12px;color:var(--suave);display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;background:var(--papel)}
.cc-proc .pe .r{color:#9B2C1F}
.cc-proc .pe.topo{border-bottom:1px solid var(--borda)}
.cc-proc .vazio,.cc-proc .carregando{padding:10px;margin:0}
.cc-fl{display:flex;gap:5px;flex-wrap:wrap}
.cc-fl .cv-fl{padding:4px 10px;font-size:12px;border-radius:99px;font-weight:500}
.cc-fl .cv-fl i{font-style:normal;opacity:.7}
/* conta corrente (extrato) */
.cc-ext{width:100%;border-collapse:collapse;font-size:13px}
.cc-ext th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--suave);padding:7px 10px;border-bottom:1px solid var(--borda);font-weight:600}
.cc-ext td{padding:8px 10px;border-bottom:1px solid #F1EAEC;vertical-align:top}
.cc-ext td.v{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.cc-ext th.v{text-align:right}
.cc-ext .d{color:var(--suave);white-space:nowrap}
.cc-ext small{display:block;color:var(--suave);font-size:12px;margin-top:2px}
.cc-ext .mais{color:#9B2C1F}
.cc-ext .menos{color:#1F6B3A}
.cc-ext .glosa{color:#9A5B00}
.cc-ext tr.saldo td{background:var(--vinho-suave);font-weight:700;color:var(--vinho)}
.cc-ext tr.saldo small{font-weight:400}
.cc-ext .cc-nota{font-size:12px;color:var(--suave)}
.cc-tag{display:inline-block;font-size:11px;border-radius:99px;padding:1px 8px;margin-left:4px;border:1px solid var(--borda);color:var(--suave);white-space:nowrap}
/* 3 · receber depósito e o "se refere a" */
.cc-rec{display:grid;gap:12px}
.cc-rec h3{margin:0}
.cc-campos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cc-campos label{display:grid;gap:4px;font-size:12px;color:var(--suave);min-width:0}
.cc-campos input,.cc-campos select{width:100%;box-sizing:border-box}
.cc-fixo{border:1px solid var(--borda);border-radius:9px;padding:8px 10px;font-size:14px;background:var(--papel);color:var(--texto)}
.cc-rot{font-size:12px;color:var(--suave);margin-bottom:-4px}
.cc-contas{display:flex;gap:6px;flex-wrap:wrap}
.cc-contas button{background:#fff;border:1px solid var(--borda);border-radius:99px;padding:6px 11px;font-size:13px;color:var(--texto);font-weight:500;cursor:pointer}
.cc-contas button.on{border-color:var(--vinho);background:var(--vinho-suave);color:var(--vinho);font-weight:600}
.cc-ref{border:1px solid var(--borda);border-radius:12px;overflow:hidden;background:#fff}
.cc-ref .h{padding:8px 12px;font-size:12.5px;background:var(--papel);border-bottom:1px solid var(--borda);color:var(--suave)}
.cc-ref .h b{color:var(--texto)}
.cc-ref label{display:grid;grid-template-columns:22px minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:9px 12px;border-bottom:1px solid #F4EEF0;font-size:13.5px}
.cc-ref label:last-child{border-bottom:0}
.cc-ref input[type=checkbox]{width:17px;height:17px;accent-color:var(--vinho);margin:0}
.cc-ref small{color:var(--suave);font-size:12px}
.cc-ref .v{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.cc-ref .vp{font-variant-numeric:tabular-nums;font-weight:700;color:var(--vinho);text-align:right;min-width:86px}
.cc-ref .cv-dica{padding:10px 12px;margin:0}
.cc-refere{margin:0 0 10px}
.cc-conta{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;padding:10px 12px;border-radius:10px;background:#E8F4EC;color:#1F6B3A;margin-bottom:8px}
.cc-conta.amarelo{background:#FFF4E0;color:#7A4A00;display:block}
.cc-conta b{font-variant-numeric:tabular-nums}
.cc-anexo{border:1.5px dashed var(--borda);border-radius:12px;padding:10px 12px;font-size:13px;color:var(--suave);margin-bottom:12px;line-height:1.5}
.cc-anexo.ok{border-style:solid;border-color:#BFE0CB;background:#F2FAF5;color:#1F6B3A}
.cc-anexo .ic{width:17px;height:17px;vertical-align:-4px;margin-right:4px}
/* pacientes do convênio */
.cc-busca{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.cc-busca input{flex:1;min-width:220px}
.cc-busca small{color:var(--suave)}
/* 4 · cadastro */
.cc-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:6px}
.cc-form label{display:grid;gap:4px;font-size:12px;color:var(--suave);min-width:0}
.cc-form input,.cc-form select,.cc-form textarea{width:100%;box-sizing:border-box}
.cc-form .largo{grid-column:span 2}
.cc-form .todo{grid-column:1/-1}
.cc-grupo{font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--vinho);font-weight:700;grid-column:1/-1;margin-top:6px;border-bottom:1px solid var(--borda);padding-bottom:4px}
@media (max-width:1280px){
  .cc-duas{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:1000px){
  .cc-lista{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .cc-lista{grid-template-columns:minmax(0,1fr)}
  .cc-nums{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .cc-num b{font-size:17px}
  .cc-cab .cc-bt{flex:1;justify-content:center}
  .cc-cab .esp{display:none}
  .cc-quem h2{font-size:21px}
  .cc-linha{flex-wrap:wrap}
  .cc-campos{grid-template-columns:1fr 1fr}
  .cc-campos label:first-child{grid-column:1/-1}
  .cc-form{grid-template-columns:minmax(0,1fr)}
  .cc-form .largo{grid-column:auto}
  .cc-ext .esc{display:none}
  .cc-ext td,.cc-ext th{padding:7px 7px}
  .cc-mes-cab{grid-template-columns:64px minmax(0,1fr)}
  .cc-mes-cab .cc-sit{grid-column:2;justify-self:start}
  .cc-lote{padding-left:88px}
  .cc-proc{margin:2px 8px 10px}
  .cc-proc .dent{display:none}
  .cc-ref label{grid-template-columns:22px minmax(0,1fr) auto}
  .cc-ref .v{display:none}
}

/* ---------------------------------------------------------------- Notas fiscais (v24.4, app/nfse.js; mockup mockups/notas-fiscais.html) */
.nf-topo{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.nf-topo h2{margin:0;font-size:18px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;text-transform:none;letter-spacing:-.01em;color:var(--texto)}
.nf-topo .esp,.nf-sel .esp{flex:1}
.nf-abas{display:flex;gap:6px;border-bottom:1px solid var(--borda);margin:0 0 14px;flex-wrap:wrap}
.nf-abas button{background:none;border:0;border-bottom:3px solid transparent;border-radius:0;color:var(--suave);font-weight:600;padding:8px 12px;margin-bottom:-1px}
.nf-abas button.on{color:var(--vinho);border-bottom-color:var(--vinho)}
.nf-fita{display:flex;gap:6px;overflow-x:auto;margin-bottom:10px;padding-bottom:2px}
.nf-fita button,.nf-chips button{border:1px solid var(--borda);border-radius:99px;padding:5px 12px;font-size:13px;background:#fff;color:var(--texto);white-space:nowrap;font-weight:500}
.nf-fita button.on{background:var(--vinho);border-color:var(--vinho);color:#fff;font-weight:600}
.nf-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.nf-chips button{font-size:12.5px;padding:5px 11px}
.nf-chips button.on{border-color:var(--vinho);background:var(--vinho-suave);color:var(--vinho);font-weight:600}
.nf-chips button i{font-style:normal;color:var(--suave);margin-left:3px}
.nf-nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.nf-num{background:#fff;border:1px solid var(--borda);border-radius:12px;padding:10px 12px;border-left:4px solid var(--c);min-width:0}
.nf-num b{display:block;font-size:19px;font-variant-numeric:tabular-nums;color:var(--c);overflow-wrap:anywhere}
.nf-num span{font-size:12px;color:var(--suave)}
.nf-sel{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--vinho-suave);border:1px solid #E6CDD3;border-radius:12px;padding:9px 12px;margin-bottom:10px;font-size:13.5px}
.nf-sel label{display:flex;gap:8px;align-items:center;margin:0;font-size:13.5px;color:var(--texto)}
.nf-tab{width:100%;border-collapse:collapse;font-size:13px;background:#fff;border:1px solid var(--borda);border-radius:12px;overflow:hidden}
.nf-tab th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--suave);padding:8px 10px;border-bottom:1px solid var(--borda);font-weight:600;background:var(--papel)}
.nf-tab td{padding:9px 10px;border-bottom:1px solid #F1EAEC;vertical-align:top}
.nf-tab tbody tr:not(.dia){cursor:pointer}
.nf-tab tbody tr:not(.dia):hover td{background:#FBF7F8}
.nf-tab td.v,.nf-tab th.v{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.nf-tab small,.nf-sit + small{display:block;color:var(--suave);font-size:12px;margin-top:2px}
.nf-tab tr.dia td{background:var(--papel);font-size:12px;color:var(--suave);font-weight:600;padding:6px 10px}
.nf-falta{background:#FFF4E0;color:#9A5B00;border-radius:6px;padding:1px 6px;font-size:12px;display:inline-block}
.nf-sit{font-size:11.5px;font-weight:600;border-radius:99px;padding:3px 9px;white-space:nowrap;display:inline-block}
.nf-sit.s-ok{background:#E8F4EC;color:#1F6B3A}
.nf-sit.s-falta{background:#EEF2F8;color:#33507A}
.nf-sit.s-dado{background:#FFF4E0;color:#9A5B00}
.nf-sit.s-erro{background:#FBEDEA;color:#9B2C1F}
.nf-sit.s-fila{background:#F1EAF6;color:#5B3A7A}
.nf-sit.s-canc{background:#F1EAEC;color:#7A6B70;text-decoration:line-through}
.nf-cod{font-family:ui-monospace,Menlo,monospace;font-size:12px}
.nf-mob{display:none}
.nf-mc{background:#fff;border:1px solid var(--borda);border-radius:12px;padding:10px 12px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:4px 10px;font-size:13.5px;cursor:pointer}
.nf-mc .v{font-weight:700;font-variant-numeric:tabular-nums}
.nf-mc small{color:var(--suave);font-size:12px;display:block}
.nf-mc .baixo{grid-column:2/-1;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.nf-emp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.nf-card{background:#fff;border:1px solid var(--borda);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px;border-top:4px solid var(--c);min-width:0}
.nf-card h3{margin:0;font-size:16px}
.nf-card .sub{font-size:12.5px;color:var(--suave)}
.nf-l{font-size:13px;display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #F4EEF0;padding:5px 0}
.nf-l span{color:var(--suave)}
.nf-l b{font-weight:600;text-align:right;overflow-wrap:anywhere}
.nf-ok,.nf-amb,.nf-ver{font-size:12.5px;border-radius:8px;padding:6px 9px;line-height:1.5}
.nf-ok{background:#E8F4EC;color:#1F6B3A}
.nf-amb{background:#FFF4E0;color:#9A5B00;margin-bottom:10px}
.nf-ver{background:#FBEDEA;color:#9B2C1F;margin-bottom:10px}
.nf-amb a,.nf-ver a{color:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
.nf-card .nf-amb,.nf-card .nf-ver{margin-bottom:0}
.nf-ok .ic,.nf-pronta .ic{width:16px;height:16px;vertical-align:-3px}
.nf-bts{display:flex;gap:8px;flex-wrap:wrap}
.nf-carne{grid-column:1/-1;background:var(--papel);border:1px dashed var(--borda);border-radius:12px;padding:10px 14px;font-size:13px;color:var(--suave)}
.nf-carne b{color:var(--texto)}
.nf-cadeado{font-size:12.5px;color:var(--suave);background:var(--papel);border-radius:10px;padding:9px 11px;line-height:1.5;margin-top:12px}
.nf-cadeado .ic{width:15px;height:15px;vertical-align:-3px}
.nf-check{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--borda);border-radius:12px;padding:10px 12px;font-size:13.5px;background:#fff;margin:0;cursor:pointer;color:var(--texto)}
.nf-check input{margin-top:3px;width:18px;height:18px;flex:none}
.nf-check small{display:block;color:var(--suave);font-size:12.5px;margin-top:2px;font-weight:400}
.nf-zap-check{margin-top:12px}
.nf-zap-check b .ic,.nf-zap .ic,.nf-zap-st .ic{color:#1F8A4C}
.nf-sel label.nf-zap{font-weight:400}
.nf-zap-st{display:flex;gap:6px;align-items:center;color:#1F6B3A;font-size:12.5px;margin-top:4px}
#nfRecPrevia:not(:empty){margin-top:10px;display:grid;gap:8px}
.nf-prev{border:1px solid var(--borda);border-radius:12px;overflow:hidden;background:#fff;margin-bottom:10px}
.nf-prev .h{padding:8px 12px;font-size:12.5px;background:var(--papel);border-bottom:1px solid var(--borda);color:var(--suave)}
.nf-prev .h b{color:var(--texto)}
.nf-prev .l{display:grid;grid-template-columns:130px minmax(0,1fr);gap:8px;padding:8px 12px;border-bottom:1px solid #F4EEF0;font-size:13.5px;align-items:start}
.nf-prev .l:last-child{border-bottom:0}
.nf-prev .l > span{color:var(--suave)}
.nf-prev select,.nf-prev textarea{width:100%;font-size:13.5px}
.nf-passos{display:grid;gap:6px;margin-bottom:10px}
.nf-passo{display:flex;gap:10px;align-items:center;font-size:13.5px}
.nf-passo i{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:12px;flex:none;background:var(--vinho);color:#fff}
.nf-pronta{border:1px solid #BFE0CA;background:#F2FAF5;border-radius:12px;padding:12px;display:grid;gap:6px;font-size:13.5px;margin-bottom:10px}
.nf-pronta .n{font-size:20px;font-weight:700;color:#1F6B3A}
.nf-pg-nota{font-size:12.5px;color:var(--suave);display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:2px 0 6px}
.nf-pg-nota a{color:var(--vinho);font-weight:600;text-decoration:none;cursor:pointer}
.nf .nota-fina{font-size:12.5px;color:var(--suave);margin:10px 0 0;line-height:1.5}
@media (max-width: 1000px){
  .nf-nums{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nf-tab .so-pc{display:none}
}
@media (max-width: 620px){
  .nf-emp{grid-template-columns:minmax(0,1fr)}
  .nf-num b{font-size:16px}
  .nf-tab{display:none}
  .nf-mob{display:grid;gap:8px}
  .nf-prev .l{grid-template-columns:1fr;gap:2px}
  .nf-sel button{width:100%}
}
.nf-alerta{display:block;font-size:12px;margin-top:2px;color:#9A5B00;font-weight:600}
/* Notas fiscais: em nome de quem sai e cancelar e emitir de novo (v24.9) */
.nf-trocar{font-size:12.5px;color:var(--vinho);font-weight:600;cursor:pointer;margin-left:4px}
.nf-quem{display:grid;gap:8px}
.nf-quem .opcao:has(input:checked){border-color:var(--vinho);background:var(--vinho-suave)}
.nf-quem .opcao small{display:block}
.nf-outro{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:8px}
.nf-outro label{font-size:12px;color:var(--suave);display:grid;gap:3px;margin:0}
.nf-outro .inteira{grid-column:1/-1}
.nf-troca{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center;font-size:13px;margin-top:12px}
.nf-troca > div{border:1px solid var(--borda);border-radius:10px;padding:8px 10px;background:#fff}
.nf-troca .velha{text-decoration:line-through;color:var(--suave)}
.nf-troca .nova{border-color:#9CC9AA;background:#F2FAF4}
.nf-troca small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave);text-decoration:none;margin-bottom:2px}
.nf-seta{color:var(--vinho);font-weight:700}
@media (max-width:620px){
  .nf-outro{grid-template-columns:1fr}
  .nf-troca{grid-template-columns:1fr}
  .nf-seta{text-align:center;transform:rotate(90deg)}
}

/* Nota avulsa (migração 180, v25.6) — prefixo nfa */
.nfa-ext{display:flex;gap:10px;align-items:flex-start;background:#F4F1FA;border:1px solid #DCD3EC;color:#4A3A6B;border-radius:10px;padding:9px 12px;font-size:13px;line-height:1.5;margin-bottom:12px}
.nfa-ext b{color:#3A2A5B}
.nfa-ext .ic{width:18px;height:18px;flex:none;margin-top:1px}
.nfa-lista{display:grid;gap:8px}
.nfa-l{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1.4fr) auto minmax(150px,auto);gap:4px 14px;align-items:center;border:1px solid var(--borda);border-radius:12px;padding:10px 12px;background:#fff;font-size:13.5px;cursor:pointer}
.nfa-l:hover{background:#FBF7F8}
.nfa-l b{display:block}
.nfa-l small{display:block;color:var(--suave);font-size:12px;margin-top:1px}
.nfa-l .v{font-weight:700;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.nfa-tipo{display:inline-block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:6px;padding:1px 6px;margin-bottom:3px}
.nfa-tipo.t-conv{background:#EEF2F8;color:#33507A}
.nfa-tipo.t-ext{background:#F1EAF6;color:#5B3A7A}
.nfa-sub{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave);font-weight:600;margin:14px 0 6px}
.nfa-sub:first-child{margin-top:0}
.nfa-pilulas{display:flex;gap:6px;flex-wrap:wrap}
.nfa-pilulas button{border:1px solid var(--borda);border-radius:999px;padding:6px 12px;font-size:13px;background:#fff;color:var(--texto);font-weight:500}
.nfa-pilulas button.on{background:var(--vinho);color:#fff;border-color:var(--vinho);font-weight:600}
.nfa-campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;margin-top:8px}
.nfa-campos label{font-size:12px;color:var(--suave);display:grid;gap:3px;margin:0}
.nfa-campos .inteira{grid-column:1/-1}
.nfa-campos textarea{width:100%}
#nfaCorpo .nf-check{margin-top:12px}
#nfaPrevia:not(:empty){margin-top:12px}
.nfa-cad,.nfa-achado{display:flex;gap:10px;align-items:center;border-radius:10px;padding:9px 12px;font-size:13.5px;margin-top:8px}
.nfa-cad{background:#F2FAF4;border:1px solid #CFE6D6;color:#1F5A33}
.nfa-achado{border:1px solid var(--vinho);background:var(--vinho-suave)}
.nfa-cad .ic,.nfa-achado .ic{width:18px;height:18px;flex:none}
.nfa-cad span,.nfa-achado span{flex:1;min-width:0}
.nfa-cad small,.nfa-achado small{display:block;color:var(--suave);font-size:12px}
.nfa-cad a,.nfa-achado a{color:var(--vinho);font-weight:600;font-size:13px;text-decoration:underline;cursor:pointer}
#nfaCorpo .achados{margin-top:4px}
#nfaBusca{width:100%;margin-top:8px}
.nfa-bate{color:#1F6B3A}
.nfa-sit-linha{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px;margin-bottom:10px;color:var(--suave)}
.nfa-pe-dir{display:flex;justify-content:flex-end;margin-top:8px}
.cc-nota{font-size:12.5px;color:var(--suave);display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:4px}
@media (max-width: 1000px){
  .nfa-l{grid-template-columns:minmax(0,1fr) auto}
  .nfa-l .tom,.nfa-l .sit{grid-column:1/-1}
}
@media (max-width: 620px){
  .nfa-campos{grid-template-columns:1fr}
}

/* receita digital (migração 176, v25.1) */
.rd-opcao{margin-top:10px;border-color:var(--vinho);background:var(--vinho-suave)}
.rd-ok{display:inline-flex;align-items:center;gap:3px;color:#1F6B3A;font-weight:600}
.rd-ok .ic{width:13px;height:13px}
.rd-sem{margin-top:10px;font-size:13px;color:var(--suave);background:var(--papel);border:1px dashed var(--borda);border-radius:10px;
  padding:9px 11px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;line-height:1.5}
.rd-sem .mini{margin-left:auto}
.rd-cert{display:flex;gap:10px;align-items:center;border:1px solid #9CC9AA;background:#F2FAF4;border-radius:10px;padding:9px 11px;flex-wrap:wrap}
.rd-cert > .ic{width:20px;height:20px;color:#1F6B3A;flex:none}
.rd-cert span{flex:1;min-width:200px}
.rd-cert small{display:block;color:var(--suave)}
.rd-cert.vencido{border-color:#E3C48A;background:#FFF8EA}
.rd-cert.vencido > .ic{color:#8A5A10}
.rd-form{margin-top:10px;border:1px solid var(--borda);border-radius:12px;padding:12px;background:#fff}
.so-olha-some{display:none !important}
