/* Montserrat (SIL Open Font License) servida pela própria aplicação — sem depender de internet */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:100 900;font-display:swap;src:url('/fonts/montserrat-latin.woff2') format('woff2')}
  /* ===== Tema — tudo aqui dentro, não depende de nada externo ===== */
  :root{ --navy:#0e2452; --azul:#1f7ae0; --brilho:#4db2ff; --verde:#16a34a; --roxo:#9333ea; --laranja:#ea8a00; --vermelho:#e03131; --lateral:215px; }
  [data-tema="escuro"]{ color-scheme:dark;
    /* Campo mais claro que o painel (pedido do Weliton em 29/09/2026 -- "tá muito apagado"): antes
       --campo era igual a --fundo, então a caixa de digitar sumia dentro da própria página, só a borda
       fina separava. Agora o campo é claramente mais claro que o painel ao redor, com borda mais forte. */
    --fundo:#0b1322; --painel:#131d31; --painel2:#0f1829; --campo:#1c2c4a; --campo-foco:#22335a;
    --borda:#243149; --borda-campo:#4d648f; --texto:#dbe4f3; --texto2:#8c9bb5; --rotulo:#9fb0cc;
    --ro:#162235; --sel:#1b3a66; --lat:#081026; --lat-texto:#b9c7e2; --hover:#18253d; }
  [data-tema="claro"]{ color-scheme:light;
    /* Mesmo ajuste no tema claro: campo com leve tom próprio (não idêntico ao painel branco) e borda
       mais escura, pra continuar se destacando quando o painel de fundo também for branco. */
    --fundo:#f1f4f9; --painel:#fff; --painel2:#f6f8fc; --campo:#fbfcfe; --campo-foco:#fffdf0;
    --borda:#dbe3ef; --borda-campo:#9db0cc; --texto:#1f2d45; --texto2:#6b7a93; --rotulo:#56688a;
    --ro:#eef2f8; --sel:#dcebff; --lat:#0e2452; --lat-texto:#c9d6ef; --hover:#f1f6ff; }
  *{box-sizing:border-box} html,body{margin:0}
  body{font-family:'Montserrat','Segoe UI',system-ui,Arial,sans-serif;background:var(--fundo);color:var(--texto);font-size:13px}
  svg.i{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
  button{font-family:inherit}
  .faixa-teste{background:repeating-linear-gradient(45deg,#f59f00,#f59f00 12px,#f08c00 12px,#f08c00 24px);color:#1a1a1a;text-align:center;font-weight:800;letter-spacing:.12em;font-size:11px;position:fixed;top:0;left:0;right:0;z-index:50;height:18px;line-height:18px}

  /* Menu lateral */
  .lateral{position:fixed;top:18px;bottom:0;left:0;width:var(--lateral);background:var(--lat);color:var(--lat-texto);overflow-y:auto;z-index:40}
  .marca{display:flex;align-items:center;gap:9px;padding:12px 14px 10px;border-bottom:1px solid rgba(255,255,255,.07)}
  .selo{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,var(--azul),var(--brilho));display:grid;place-items:center;color:#fff;font-weight:800;font-size:14px}
  .marca b{color:#fff;font-size:14px;display:block;line-height:1.1} .marca small{font-size:10.5px;color:#7f95c0}
  /* logo da 55 Informática no alto do menu (pedido de 09/10/2026): pequena, com o nome do sistema embaixo */
  .marca:has(.marca-logo){flex-direction:column;align-items:center;gap:3px;padding:10px 14px 9px}
  .marca-logo{width:84px;height:auto;display:block}
  /* Central Pix (pedido do dono, 19/10/2026): ID, data, cliente, valor e situação bem em destaque */
  .cp-grade td{font-size:14px;padding:8px 10px;text-align:center}
  .cp-grade td.cp-id,.cp-grade td.cp-cri{font-size:15px;font-weight:800;color:var(--texto-forte,inherit)}
  .cp-grade td.cp-cli{font-size:16px;font-weight:800;text-align:left}
  .cp-grade td.cp-val{font-size:17px;font-weight:800;text-align:center}
  .cp-grade .pn-etq{font-size:13px;font-weight:800;padding:4px 14px}
  .marca-versao{color:#93c5fd;font-size:11px;font-weight:700;letter-spacing:.06em;text-align:center;margin-top:3px}
  .marca-nome{color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;text-align:center}
  .menu-titulo{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#6479a3;padding:10px 14px 3px;font-weight:700}
  .menu a{display:flex;align-items:center;gap:9px;padding:5px 14px;color:var(--lat-texto);text-decoration:none;font-weight:500;border-left:3px solid transparent;font-size:12.5px}
  .menu a:hover{background:rgba(255,255,255,.05);color:#fff}
  .menu a.ativo{background:rgba(77,178,255,.13);color:#fff;border-left-color:var(--brilho)}
  .menu a.off{opacity:.45}

  /* Topo */
  .principal{margin-left:var(--lateral);padding-top:18px;min-height:100vh}
  .topo{background:var(--painel);border-bottom:1px solid var(--borda);padding:7px 18px;display:flex;align-items:center;gap:12px;position:sticky;top:18px;z-index:30}
  .topo h1{font-size:15.5px;font-weight:700;margin:0} .caminho{font-size:11px;color:var(--texto2)}
  .empresa{margin-left:auto;display:flex;align-items:center;gap:6px;border:1px solid var(--borda);border-radius:8px;padding:4px 8px;background:var(--painel2)}
  .empresa select{border:0;background:transparent;font-weight:600;color:var(--texto);font-size:12.5px;outline:none;font-family:inherit}
  .bt-tema{border:1px solid var(--borda);background:var(--painel2);color:var(--texto);border-radius:8px;padding:5px 7px;cursor:pointer;display:grid;place-items:center}
  .usuario{display:flex;align-items:center;gap:8px;font-size:12.5px}
  .av{width:30px;height:30px;border-radius:50%;background:var(--azul);color:#fff;display:grid;place-items:center;font-weight:700}
  .conteudo{padding:12px 18px 90px}
  .painel{background:var(--painel);border:1px solid var(--borda);border-radius:10px}

  /* Abas */
  .abas{display:flex;gap:3px;padding:7px 7px 0;background:var(--painel2);border-bottom:1px solid var(--borda);border-radius:10px 10px 0 0;flex-wrap:wrap}
  .aba{display:flex;align-items:center;gap:6px;padding:6px 12px;border:0;border-radius:7px 7px 0 0;background:transparent;color:var(--texto2);font-weight:600;font-size:12.5px;cursor:pointer}
  .aba:hover{color:var(--texto);background:var(--hover)}
  .aba.ativa{background:var(--azul);color:#fff}
  .aba .cont{background:var(--borda);border-radius:10px;padding:0 6px;font-size:10.5px}
  .aba.ativa .cont{background:rgba(255,255,255,.2)}
  .aba kbd{font-family:inherit;font-size:9.5px;opacity:.6}
  .painel-aba{padding:10px 14px 12px} .painel-aba[hidden]{display:none}

  /* Seções numeradas */
  .secao{display:flex;align-items:center;gap:8px;margin:2px 0 7px;padding-bottom:5px;border-bottom:1px solid var(--borda)}
  .num{width:19px;height:19px;border-radius:5px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:10.5px}
  .num.azul{background:var(--azul)}.num.verde{background:var(--verde)}.num.roxo{background:var(--roxo)}.num.laranja{background:var(--laranja)}
  .secao h3{margin:0;font-size:13px;font-weight:700} .secao small{color:var(--texto2);font-size:11px}

  /* Campos compactos */
  .grade-campos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px 10px;margin-bottom:12px}
  .painel-aba .grade-campos:last-child{margin-bottom:0}
  .c1{grid-column:span 1}.c2{grid-column:span 2}.c3{grid-column:span 3}.c4{grid-column:span 4}.c5{grid-column:span 5}.c6{grid-column:span 6}
  .campo label.rot{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--rotulo);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .obrig::after{content:" *";color:var(--vermelho)}
  .entrada{width:100%;height:29px;padding:3px 8px;background:var(--campo);color:var(--texto);border:1px solid var(--borda-campo);border-radius:6px;font:inherit;font-size:13px;outline:none}
  textarea.entrada{height:52px;resize:vertical;padding-top:5px}
  .entrada:focus{border-color:var(--azul);box-shadow:0 0 0 2px rgba(31,122,224,.28);background:var(--campo-foco)}
  .entrada[readonly],.entrada:disabled{background:var(--ro);color:var(--texto2);opacity:1}
  .num-dir{text-align:right}
  /* listas de produto (pedido do dono, 29/10/2026): Un e Estoque centralizados e em destaque, Preço em destaque */
  th.ctr,td.ctr{text-align:center}
  td.dest{font-weight:800;font-size:14.5px}
  td.dest-est.zero{color:#dc2626}td.dest-est.ok{color:#15803d}
  .com-bt{display:flex} .com-bt .entrada{border-radius:6px 0 0 6px}
  .com-bt button{border:1px solid var(--borda-campo);border-left:0;background:var(--painel2);color:var(--texto2);border-radius:0 6px 6px 0;padding:0 8px;cursor:pointer;font-weight:600;font-size:12px;display:flex;align-items:center;gap:4px}
  .com-bt button:hover:not(:disabled){color:var(--azul)}
  .dica{font-size:10.5px;color:var(--texto2);margin-top:1px;line-height:1.25}
  .ok{color:#2fb344!important}.erro{color:var(--vermelho)!important}
  .campo[hidden]{display:none}
  .marcadores{display:flex;gap:14px;align-items:center;height:29px}
  .marcadores label{display:flex;align-items:center;gap:5px;cursor:pointer;font-weight:600}
  .sugestao{grid-column:span 6;border:1px solid rgba(31,122,224,.45);background:rgba(31,122,224,.1);border-radius:8px;padding:6px 10px;font-size:12.5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .sugestao[hidden]{display:none}
  .bt-mini{border:0;background:var(--azul);color:#fff;border-radius:6px;padding:3px 10px;font-weight:600;font-size:12px;cursor:pointer}

  /* Listagem */
  .filtros{display:flex;gap:12px;align-items:center;padding:9px 12px;border-bottom:1px solid var(--borda);flex-wrap:wrap}
  .pesq{position:relative;flex:0 1 460px} .pesq svg{position:absolute;left:9px;top:7px;color:var(--texto2)} .pesq .entrada{padding-left:30px}
  .check{display:flex;align-items:center;gap:6px;color:var(--texto2);cursor:pointer}
  .contador{margin-left:auto;color:var(--texto2);font-size:12px}
  .tabela-caixa{overflow:auto;max-height:calc(100vh - 215px)}
  table{width:100%;border-collapse:collapse}
  th{position:sticky;top:0;background:var(--painel2);color:var(--rotulo);font-size:10px;text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:6px 10px;border-bottom:1px solid var(--borda)}
  td{padding:5px 10px;border-bottom:1px solid var(--borda);white-space:nowrap}
  tbody tr{cursor:pointer} tbody tr:hover td{background:var(--hover)} tbody tr.sel td{background:var(--sel)}
  /* marcação da linha escolhida (lista Ctrl+F do PDV, pedido do dono 27/10/2026): quadradinho que fica verde com ✓ na venda selecionada */
  /* botão DELIVERY da tela principal do PDV (27/10/2026): roxo, como o F3 Delivery */
  .pdv-delivery-bt{background:#7c3aed!important;color:#fff!important;font-weight:800!important;border-radius:8px} .pdv-delivery-bt kbd{background:#fff!important;color:#5b21b6!important}
  .pp-marca-col{width:34px;text-align:center;padding-left:6px!important;padding-right:6px!important}
  .pp-marca{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;border:2px solid var(--borda-campo);background:var(--campo);color:#fff;font-weight:900;font-size:15px;line-height:1;vertical-align:middle}
  tr.sel .pp-marca{background:#16a34a;border-color:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.25)}
  .selo-kit{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:#0ea5e9;color:#fff;font-size:10px;font-weight:800;letter-spacing:.04em;vertical-align:middle}
  .selo-promo{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:#ef4444;color:#fff;font-size:10px;font-weight:800;letter-spacing:.04em;vertical-align:middle}
  /* Consultar vendas (aba Vendas): colunas de largura FIXA e alinhadas — Documento larga (número + etiquetas lado a lado), Origem estreita,
     Cliente à esquerda, o resto centralizado; venda devolvida riscada com a etiqueta da nota de devolução (clicável: imprime a nota). */
  #cvCaixa table{table-layout:fixed;width:100%;min-width:1540px}
  #cvCaixa th,#cvCaixa td{text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:4px;padding-right:4px}
  #cvCaixa th{text-overflow:clip;font-size:11px}
  #cvCaixa th:nth-child(1){width:58px} #cvCaixa th:nth-child(2){width:74px} #cvCaixa th:nth-child(3){width:92px} #cvCaixa th:nth-child(4){width:58px}
  #cvCaixa th:nth-child(5){width:100px} #cvCaixa th:nth-child(6){width:440px} #cvCaixa th:nth-child(7){width:72px} #cvCaixa th:nth-child(8){width:140px}
  #cvCaixa th:nth-child(9){width:110px} #cvCaixa th:nth-child(10){width:150px} #cvCaixa th:nth-child(11){width:76px} #cvCaixa th:nth-child(12){width:80px} #cvCaixa th:nth-child(13){width:90px}
  #cvCaixa td:nth-child(6),#cvCaixa th:nth-child(6),#cvCaixa td:nth-child(8),#cvCaixa th:nth-child(8){text-align:left}
  #cvCaixa .cv-docbox{display:flex;align-items:center;gap:5px;flex-wrap:nowrap}
  #cvCaixa .cv-docnum{display:inline-block;min-width:78px;flex:0 0 auto}
  /* só o NÚMERO do cupom/nota da venda fica riscado; a etiqueta da nota de devolução (e o resto da linha) fica normal */
  #cvCaixa tr.cv-devolvida .cv-docnum,#cvCaixa tr.cv-devolvida .cv-docnum .cv-doc,#cvCaixa tr.cv-devolvida .cv-docnum .cv-doc b{text-decoration:line-through;color:var(--texto2)}
  #cvCaixa .cv-dev,#cvCaixa .cv-alt{display:inline-block;text-decoration:none;border:0;border-radius:999px;padding:1px 9px;font-size:11px;font-weight:700;white-space:nowrap;cursor:pointer}
  #cvCaixa .cv-dev{background:#b91c1c;color:#fff}
  #cvCaixa .cv-alt{background:#2563eb;color:#fff;cursor:default} #cvCaixa .cv-alt2{background:#64748b}
  tbody tr.inativo td{color:var(--texto2);text-decoration:line-through}
  .dir{text-align:right}
  .rodape-lista{padding:6px 12px;color:var(--texto2);font-size:11.5px}
  .etq{display:inline-block;padding:0 6px;border-radius:4px;font-size:10.5px;font-weight:700;background:var(--borda);color:var(--texto2);margin-right:3px}
  .subtabela{border:1px solid var(--borda);border-radius:8px;overflow:hidden}
  .subtabela td{padding:4px 10px} .subtabela .rem{border:0;background:transparent;color:var(--vermelho);cursor:pointer}

  /* Barra de ações */
  .barra-acoes{position:fixed;left:var(--lateral);right:0;bottom:0;background:var(--painel);border-top:1px solid var(--borda);padding:7px 18px;display:flex;gap:6px;flex-wrap:wrap;z-index:30}
  .bt{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--borda);background:var(--painel2);color:var(--texto);border-radius:7px;padding:5px 10px;font-weight:600;font-size:12.5px;cursor:pointer}
  .bt:hover:not(:disabled){border-color:var(--azul)} .bt:disabled{opacity:.35;cursor:not-allowed}
  .bt kbd{background:var(--borda);color:var(--texto2);font-size:10px;padding:1px 5px;border-radius:4px;font-family:inherit;font-weight:700}
  .bt.prim{background:var(--azul);border-color:var(--azul);color:#fff} .bt.prim kbd{background:rgba(255,255,255,.2);color:#fff}
  .bt.perigo{color:var(--vermelho)}
  .modo{margin-left:auto;align-self:center;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:20px;background:var(--borda);color:var(--texto2)}
  .modo.editar{background:#5c4400;color:#ffd666} .modo.novo{background:#0f4d25;color:#8ce99a}
  [data-tema="claro"] .modo.editar{background:#fff3bf;color:#8a6100} [data-tema="claro"] .modo.novo{background:#d3f9d8;color:#1e7a34}

  /* Janelas */
  .fundo-janela{position:fixed;inset:0;background:rgba(3,8,20,.6);display:none;align-items:flex-start;justify-content:center;padding-top:12vh;z-index:60}
  .fundo-janela.aberta{display:flex}
  .janela{background:var(--painel);border:1px solid var(--borda);border-radius:12px;width:min(440px,92vw);box-shadow:0 20px 50px rgba(0,0,0,.4)}
  .janela header{padding:9px 14px;border-bottom:1px solid var(--borda);font-weight:700;display:flex;align-items:center;gap:8px}
  .janela .corpo{padding:12px 14px} .janela .rodape{padding:9px 14px;border-top:1px solid var(--borda);display:flex;justify-content:flex-end;gap:6px}
  .itens{max-height:280px;overflow:auto;margin-top:8px;border:1px solid var(--borda);border-radius:8px}
  .lupa-novo{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;font-size:12.5px;color:var(--texto2)}.lupa-novo[hidden]{display:none}
  .itens div{padding:5px 10px;cursor:pointer;border-bottom:1px solid var(--borda)} .itens div:last-child{border-bottom:0}
  .itens div.sel{background:var(--azul);color:#fff}
  .atalhos td{padding:4px 8px} .atalhos kbd{background:var(--azul);color:#fff;border-radius:4px;padding:1px 6px;font-family:inherit;font-weight:700;font-size:11px}
  .aviso{position:fixed;right:20px;bottom:60px;background:var(--navy);color:#fff;padding:9px 14px;border-radius:9px;font-weight:600;display:none;z-index:70;box-shadow:0 8px 24px rgba(0,0,0,.3)}
  .aviso.erro{background:var(--vermelho)}
  /* aviso de erro: fica ate fechar (X, Esc ou clique) */
  .aviso.fixo{align-items:flex-start;gap:12px;text-align:left;cursor:pointer}.aviso.fixo span{flex:1}
  /* cancelar venda: como o dinheiro volta (duas opcoes grandes, teclas 1 e 2) */
  .bt.cd-op{display:flex;width:100%;height:auto;align-items:center;gap:12px;text-align:left;white-space:normal;padding:12px 14px;margin-top:10px}
  .bt.cd-op span{display:flex;flex-direction:column;gap:3px}.bt.cd-op b{font-size:15.5px}.bt.cd-op small{font-weight:400;font-size:13px;opacity:.85;line-height:1.35}
  /* aviso de erro: sempre no TOPO da tela, onde o olho está (pedido do dono, 07/10/2026) */
  .aviso.fixo.erro{top:96px;bottom:auto;left:50%;right:auto;transform:translateX(-50%);max-width:min(680px,94vw)}
  .aviso .aviso-x{flex:0 0 auto;background:rgba(255,255,255,.22);border:0;color:#fff;border-radius:6px;font-weight:800;font-size:13px;line-height:1;padding:4px 8px;cursor:pointer}.aviso .aviso-x:hover{background:rgba(255,255,255,.4)}
  @media (max-width:1100px){ :root{--lateral:180px} .usuario div:last-child{display:none} }
  @media (max-width:640px){
    .lateral{display:none}.principal{margin-left:0}.barra-acoes{left:0}
    .grade-campos{grid-template-columns:repeat(2,minmax(0,1fr))}
    .c1,.c2,.c3,.c4,.c5,.c6,.sugestao{grid-column:span 2}
    .topo{flex-wrap:wrap}.empresa{margin-left:0}
  }

  /* Telas de entrada (login, troca de senha, escolha de empresa) */
  .entrada-pagina{min-height:100vh;display:grid;place-items:center;padding:30px 16px}
  .cartao-entrada{width:min(380px,100%);background:var(--painel);border:1px solid var(--borda);border-radius:14px;padding:26px 24px 20px;box-shadow:0 20px 50px rgba(0,0,0,.25)}
  .cartao-entrada .marca-entrada{display:flex;align-items:center;gap:10px;margin-bottom:18px}
  .cartao-entrada .marca-entrada b{font-size:17px;display:block}
  .cartao-entrada .marca-entrada small{color:var(--texto2);font-size:11.5px}
  .cartao-entrada .campo{margin-bottom:10px}
  .cartao-entrada .entrada{height:34px}
  .cartao-entrada .bt{width:100%;justify-content:center;padding:8px;margin-top:6px}
  .msg-erro{background:rgba(224,49,49,.14);border:1px solid rgba(224,49,49,.45);color:#ff8787;border-radius:8px;padding:7px 10px;font-size:12.5px;margin-bottom:10px}
  [data-tema="claro"] .msg-erro{color:#c92a2a}
  .creditos{text-align:center;color:var(--texto2);font-size:11px;margin-top:14px}
  .lista-empresas a{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border:1px solid var(--borda);border-radius:9px;margin-bottom:7px;color:var(--texto);text-decoration:none;font-weight:600}
  .lista-empresas a:hover,.lista-empresas a:focus{border-color:var(--azul);outline:none;background:var(--hover)}
  .lista-empresas small{color:var(--texto2);font-weight:500}
  .rodape-lateral{padding:10px 14px;color:#6479a3;font-size:10.5px;border-top:1px solid rgba(255,255,255,.07);margin-top:10px}
  .etq.exclusivo{background:rgba(234,138,0,.2);color:#ffb84d}
  .carregando{opacity:.6;pointer-events:none}
  body.sem-faixa .lateral{top:0} body.sem-faixa .principal{padding-top:0} body.sem-faixa .topo{top:0}
  .topo a.bt-tema{color:var(--texto)}

  /* Menu com ícones coloridos (quadradinho cheio, desenho branco) */
  .menu{padding:0 8px}
  .menu-titulo{padding:12px 8px 4px}
  .menu a{gap:10px;padding:5px 8px;border-left:0;border-radius:9px;margin-bottom:1px;font-weight:600}
  .menu a.ativo{background:rgba(255,255,255,.09);color:#fff;border-left:0}
  .menu a.off{opacity:1}
  .menu a em{margin-left:auto;font-style:normal;font-size:9.5px;font-weight:700;color:#8fa6cf;background:rgba(255,255,255,.07);padding:1px 6px;border-radius:8px;white-space:nowrap}
  .bloco-ico{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;flex:none;box-shadow:inset 0 -2px 0 rgba(0,0,0,.15)}
  .bloco-ico svg.i{width:14px;height:14px;stroke:#fff;stroke-width:2.2}
  /* Grupos do menu com ícone grande e linha separando (opção B, 04/10/2026) */
  .menu-titulo{display:flex;align-items:center;gap:10px;margin-top:10px;padding:12px 4px 6px;border-top:1px solid rgba(255,255,255,.14);color:#fff;font-size:13.5px;letter-spacing:.06em;font-weight:800}
  .menu-titulo:first-child{border-top:0;margin-top:0}
  .menu-titulo .gi{width:34px;height:34px;border-radius:10px;background:var(--g);display:grid;place-items:center;flex:none;box-shadow:0 3px 10px color-mix(in srgb,var(--g) 55%,transparent)}
  .menu-titulo .gi svg{width:19px;height:19px;stroke:#fff;stroke-width:2.2;fill:none}
  .menu>a{padding-left:16px}.menu>a .bloco-ico{width:22px;height:22px;border-radius:7px}.menu>a .bloco-ico svg.i{width:12px;height:12px}
  .lateral{overflow-x:hidden}
  @media (max-width:1100px){ .menu a em{display:none} }
  /* Submenu (ex.: Produtos › Grupos, Subgrupos, Marcas, Unidades) */
  .menu a .seta{margin-left:auto;font-style:normal;font-size:16px;line-height:1;color:#8fa6cf;padding:2px 6px;border-radius:6px;transition:transform .15s}
  .menu a .seta:hover{background:rgba(255,255,255,.08);color:#fff}
  .menu a .seta.aberta{transform:rotate(90deg)}
  .submenu{margin:0 0 4px 21px;padding-left:10px;border-left:1px solid rgba(255,255,255,.1)}
  .submenu a{padding:4px 8px;font-size:12px;font-weight:500;gap:8px}
  .submenu .ponto{width:7px;height:7px;border-radius:50%;flex:none}

  /* Barra de ações no alto, logo abaixo do título, com ícones coloridos */
  .cabecalho{position:sticky;top:18px;z-index:30}
  body.sem-faixa .cabecalho{top:0}
  .cabecalho .topo{position:static}
  .cabecalho .barra-acoes{position:static;left:auto;right:auto;bottom:auto;box-shadow:0 4px 12px rgba(0,0,0,.18);border-top:0;border-bottom:1px solid var(--borda);padding:6px 18px}
  .conteudo{padding-bottom:24px}
  .bt .bloco-ico{width:22px;height:22px;border-radius:6px;display:inline-grid!important}
  .bt .bloco-ico svg.i{width:13px;height:13px}
  .bt{padding:4px 10px 4px 5px}
  .bt:disabled .bloco-ico{filter:grayscale(1)}
  .bt.gravar:not(:disabled){border-color:#10b981;box-shadow:0 0 0 1px rgba(16,185,129,.35)}
  .bt.perigo{color:var(--texto)}
  .tabela-caixa{max-height:calc(100vh - 250px)}

  /* Avisos no alto e no meio da tela (a barra de tarefas do Windows escondia o canto de baixo) */
  .aviso{top:140px;bottom:auto;right:auto;left:50%;transform:translateX(-50%);max-width:min(620px,92vw);font-size:14px;padding:11px 18px;text-align:center;line-height:1.35}
  body.sem-faixa .aviso{top:122px}
  #janSair .janela{width:min(540px,94vw)} #janSair .corpo{line-height:1.5;font-size:13.5px}

  /* Tecla dentro dos botões: mais visível (pedido do Weliton) */
  .bt kbd{background:#e2e8f0;color:#0f172a;border:0;font-size:10.5px;padding:2px 6px}
  .bt.prim kbd,.bt.gravar:not(:disabled) kbd{background:#fff;color:#0f172a}
  .bt:disabled kbd{background:var(--borda);color:var(--texto2)}
  [data-tema="claro"] .bt kbd{background:#1f2d45;color:#fff}
  .janela .rodape .bt{padding:6px 12px;font-size:13px}

  /* Pedidos */
  #telaPedidos .painel-aba{padding:10px 14px 12px}
  .ped-filtros{padding:10px 12px}
  .ped-filtros .bt{padding:4px 8px;font-size:12px}
  kbd.tecla{font-family:inherit;font-size:9.5px;background:var(--azul);color:#fff;border-radius:4px;padding:0 5px;margin-left:4px;letter-spacing:0}
  .resumo-cliente{font-size:12.5px;color:var(--texto);display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:22px}
  .texto2{color:var(--texto2)}
  .lancamento{border-color:rgba(16,185,129,.45)}
  .destaque-amarelo{background:#fff3bf!important;color:#5c4400!important;font-weight:700}
  .totais-pedido{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 1fr 1.6fr;gap:10px;align-items:end}
  /* Orçamento não tem Frete (só existe no Pedido/venda) -- 3 campos em vez de 4. */
  .totais-orcamento{grid-template-columns:repeat(3,minmax(0,1fr)) 1fr 1.6fr}
  /* Observação do item do Orçamento, igual à impressão: linha extra em itálico abaixo da descrição. */
  .item-obs{font-style:italic;color:var(--texto2);font-size:11.5px;margin-top:2px}
  .total-produtos{text-align:right;color:var(--texto2);font-size:12px}
  .total-produtos b{font-size:16px;color:var(--texto)}
  .total-grande{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--borda);border-radius:10px;padding:6px 14px;background:var(--painel2)}
  .total-grande span{font-weight:800;color:var(--texto2);letter-spacing:.08em}
  .total-grande b{font-size:28px;color:#ff4d4d;font-weight:800}
  .pagar-total{display:flex;justify-content:space-between;align-items:center;font-weight:700;margin-bottom:10px}
  .pagar-total b{font-size:24px;color:#ff4d4d}
  .pagar-resumo{display:flex;gap:18px;justify-content:flex-end;margin-top:10px;font-size:13px}
  .pagar-resumo b{font-size:15px}
  .opcoes-destino{display:grid;gap:8px}
  .opcoes-destino .bt{justify-content:flex-start;padding:8px 10px;text-align:left}
  .opcoes-destino .bt small{display:block;font-weight:500;color:var(--texto2);font-size:11px}
  @media (max-width:900px){ .totais-pedido{grid-template-columns:repeat(2,minmax(0,1fr))} }
  /* Valor final desejado (rateio do desconto nos itens): um campo a mais na linha dos totais e a faixa de resumo embaixo. */
  .totais-rateio{grid-template-columns:1.7fr repeat(4,minmax(0,1fr)) .8fr .8fr 1.7fr}
  .totais-rateio .rot{white-space:normal;line-height:1.15}
  @media (max-width:900px){ .totais-rateio{grid-template-columns:repeat(2,minmax(0,1fr))} }
  .rateio-info{grid-column:1/-1;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 12px;border-radius:8px;background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.45);font-weight:700;color:var(--texto)}
  .rateio-info[hidden]{display:none}
  /* Aviso embaixo, no meio (não cobre as janelas nem fica atrás da barra de tarefas no canto) */
  .aviso,body.sem-faixa .aviso{top:auto;bottom:70px}

  /* Financeiro (contas a receber / pagar) */
  .fin-filtros{display:grid;grid-template-columns:auto auto 1fr 1fr;gap:14px;padding:10px 12px;align-items:start}
  .fin-bloco .rot{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--rotulo);margin-bottom:3px}
  .fin-bloco .entrada{height:28px}
  .fin-bloco .bt{padding:3px 8px;font-size:12px}
  .apagado{opacity:.45}
  .botoes-grupo{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--borda-campo);border-radius:7px;overflow:hidden;width:fit-content;margin-bottom:4px}
  .botoes-grupo button{border:0;border-right:1px solid var(--borda-campo);background:var(--painel2);color:var(--texto);padding:5px 10px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}
  .botoes-grupo button:last-child{border-right:0}
  .botoes-grupo button:hover{background:var(--hover)}
  .botoes-grupo button.ativo{background:var(--azul);color:#fff}
  .botoes-grupo button kbd{font-family:inherit;font-size:9.5px;background:rgba(255,255,255,.25);border-radius:3px;padding:0 4px;margin-left:3px}
  .fin-faixa{margin:10px 0 0;background:linear-gradient(90deg,#1a64c0,#1f7ae0);color:#fff;text-align:center;font-weight:800;letter-spacing:.08em;padding:6px;border-radius:10px 10px 0 0}
  .modo-pagar .fin-faixa{background:linear-gradient(90deg,#b91c1c,#dc2626)}
  .modo-pagar .botoes-grupo#finTipo button.ativo{background:#dc2626}
  .fin-faixa + .painel{border-top-left-radius:0;border-top-right-radius:0}
  .fin-grade{max-height:calc(100vh - 470px);min-height:180px}
  .fin-grade td{padding:4px 8px}
  .fin-grade tfoot td{position:sticky;bottom:0;background:var(--painel2);font-weight:700;border-top:1px solid var(--borda)}
  /* Contas a receber/pagar (pedido do dono, 18/10/2026): quadradinho de marcar grande, com o visto verde; colunas centralizadas e mais justas; nome do cliente em destaque */
  /* Central de manifesto (pedido do dono, 19/10/2026): emissão, nº da nota e fornecedor em destaque */
  .mf-grade td{padding:8px 10px}
  .mf-grade td.mf-em,.mf-grade td.mf-nf{font-size:15px;font-weight:800}
  .mf-grade td.mf-fo{font-size:15.5px;font-weight:800}
  .fin-marca{cursor:pointer;display:inline-block;width:22px;height:22px;border:2px solid var(--borda-forte,#94a3b8);border-radius:6px;background:#fff;vertical-align:middle;position:relative;transition:background .12s,border-color .12s}
  .fin-marca.on{background:#16a34a;border-color:#16a34a}
  .fin-marca.on::after{content:'';position:absolute;left:6px;top:1px;width:6px;height:12px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg)}
  #finTabela th,#finTabela td{text-align:center;padding-left:6px;padding-right:6px}
  #finTabela td.cel-cliente{text-align:left;font-size:15px;font-weight:700;letter-spacing:.1px}
  #finTabela th.dir,#finTabela td.dir{text-align:center}
  .fin-mais{border:1px solid var(--borda-campo);background:var(--painel2);color:var(--texto);width:18px;height:18px;border-radius:4px;font-weight:800;line-height:14px;padding:0;cursor:pointer}
  tr.marcada td{background:rgba(31,122,224,.22)!important}
  .cel-parcela.atrasada,.cel-dias.atrasada{background:#dc2626!important;color:#fff;font-weight:700}
  .cel-parcela.hoje{background:#2563eb!important;color:#fff;font-weight:700}
  .cel-parcela.paga{background:#eab308!important;color:#1a1a1a;font-weight:700}
  .cel-parcela.parcial{background:#f9a8d4!important;color:#1a1a1a;font-weight:700}
  .cel-liquido{background:rgba(31,122,224,.1)}
  tr.fin-sub td{background:var(--painel2)!important;padding:6px 10px 10px 40px}
  .fin-pagtos{font-size:12px}
  /* Cobrança pelo WhatsApp (janela do Contas a receber) */
  .fw-topo{display:flex;gap:26px;flex-wrap:wrap;padding:8px 12px;border:1px solid var(--borda);border-radius:8px;background:var(--painel2)}.fw-topo span{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--texto2)}.fw-topo b{font-size:15px}
  .fw-telefones{display:flex;gap:8px 18px;flex-wrap:wrap;padding:6px 2px}.fw-telefones label{display:flex;align-items:center;gap:6px;font-size:15px;cursor:pointer}.fw-telefones small{color:var(--texto2);font-size:11.5px}
  .fw-novo{display:flex;gap:8px;max-width:460px}.fw-novo .entrada{flex:1}
  .fw-texto{margin:4px 0 0;padding:10px 12px;border:1px solid var(--borda);border-radius:8px;background:#fef9c333;white-space:pre-wrap;font:13px/1.45 inherit;max-height:30vh;overflow:auto}
  .fw-abrir{display:flex;align-items:center;gap:7px;margin-top:9px;cursor:pointer}
  .fw-boletos{margin-top:8px;padding:7px 10px;border:1px solid #16a34a;border-radius:8px;color:#16a34a;background:rgba(22,163,74,.08);font-weight:600}
  .fo-lista{display:flex;flex-direction:column;gap:2px}.fo-lista label{display:flex;align-items:center;gap:12px;padding:7px 10px;border:1px solid var(--borda,#334155);border-radius:8px;cursor:pointer}.fo-lista label:has(input:checked){border-color:#16a34a;background:rgba(22,163,74,.10)}.fo-lista small{margin-left:auto}
  .fo-lista .fo-venda{font-style:normal;font-size:11px;font-weight:700;color:#16a34a;border:1px solid #16a34a;border-radius:999px;padding:1px 8px;white-space:nowrap}
  .fc-situacao{color:#fff;font-weight:800;font-size:18px;letter-spacing:.3px;text-align:center;padding:10px;border-radius:10px}.fc-texto{font-size:15px;line-height:1.5;margin:12px 2px}.fc-dados{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;padding:10px 12px;border:1px solid var(--borda);border-radius:10px;margin-bottom:8px}.fc-dados span{color:var(--texto2);font-size:12px;align-self:center}
  .pt-quadro{margin-top:10px}#ptLinhas{display:flex;flex-wrap:wrap;gap:8px}.pt-linha{display:grid;grid-template-columns:150px 170px 26px;gap:5px 6px;align-items:center;border:1px solid var(--borda);border-radius:10px;padding:7px 8px}.pt-linha .entrada{min-width:0}.pt-cks{grid-column:1 / -1;display:flex;gap:16px}.pt-ck{display:flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap;font-size:13px}.pt-rem{padding:3px 0;justify-content:center;color:#dc2626;min-width:0}.pt-pe{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:8px}
  @media(max-width:520px){.pt-linha{width:100%}}
  /* E-mails: campo bem mais largo para ler o endereço inteiro (pedido do dono, 12/10/2026) */
  /* E-mails e telefones em GRADE (pedido do dono, 21/10/2026): cartões compactos lado a lado, 2-3 por linha conforme a largura, 1 no celular; a tela não cresce para baixo */
  #peLinhas,#ptLinhas{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(330px,100%),1fr));gap:8px}
  #peLinhas .pt-linha,#ptLinhas .pt-linha{grid-template-columns:minmax(0,1fr) 26px;width:auto;min-width:0}
  #peLinhas .pt-linha>.pe-nome{grid-column:1;grid-row:2}#peLinhas .pt-linha>.pt-cks{grid-column:2 / -1;grid-row:2;gap:0}
  #peLinhas .pe-linha{grid-template-columns:minmax(0,1fr) auto}#peLinhas .pe-linha>.pe-mail{grid-column:1;grid-row:1}#peLinhas .pe-linha>.pt-rem{grid-column:2;grid-row:1;width:26px}#peLinhas .pe-linha>.pt-cks{grid-column:2;grid-row:2}
  #ptLinhas .pt-linha>.pt-num{grid-column:1;grid-row:1}#ptLinhas .pt-linha>.pt-rem{grid-column:2;grid-row:1}#ptLinhas .pt-linha>.pt-nome{grid-column:1 / -1;grid-row:2}#ptLinhas .pt-linha>.pt-cks{grid-column:1 / -1;grid-row:3}
  .nf-atualiza{border:0;background:none;color:#2563eb;font:inherit;font-size:10.5px;font-weight:700;text-transform:none;letter-spacing:0;cursor:pointer;padding:0 0 0 6px}.nf-atualiza:hover{text-decoration:underline}.nf-dest-aviso[hidden]{display:none!important}.nf-dest-aviso{margin:0 0 8px;padding:8px 10px;border:1px solid #d97706;border-radius:8px;background:rgba(217,119,6,.10);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.nf-dest-aviso .bt{margin-left:auto}
  .cx-imp-qual{padding:8px 10px;border:1px solid var(--borda);border-radius:8px;margin-bottom:10px}.cx-imp-papel{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cx-imp-papel label{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:9px 10px;border:1px solid var(--borda);border-radius:10px;cursor:pointer}.cx-imp-papel label:has(input:checked){border-color:#2563eb;background:rgba(37,99,235,.10)}.cx-imp-papel small{flex-basis:100%;color:var(--texto2)}
  tr.cx-sub td{font-weight:700;border-top:1px solid var(--borda)}tr.cx-total td{font-weight:800;font-size:15px;border-top:2px solid #2563eb;background:rgba(37,99,235,.10)}
  /* botão Buscar do CNPJ (cadastro de clientes): em destaque, a pedido (05/10/2026) */
  .com-bt #bt_doc{background:#2563eb;border-color:#2563eb;color:#fff;font-weight:700;padding:0 14px;gap:6px}.com-bt #bt_doc:hover:not(:disabled){background:#1d4ed8}.com-bt #bt_doc:disabled{opacity:.45}.com-bt #bt_doc svg{stroke:#fff}
  /* cadastro de clientes: identificação numa linha só — código | pessoa | CPF/CNPJ | RG | data | (sobra) | este cadastro é */
  @media(min-width:1180px){.grade-campos.pes-id{grid-template-columns:64px 96px 190px 105px 150px 165px 114px 160px 66px 152px minmax(0,1fr)}.grade-campos.pes-id .campo[hidden]{display:none}.grade-campos.pes-id .campo:has(.marcadores){justify-self:end;text-align:right}.grade-campos.pes-id .marcadores{justify-content:flex-end}}
  @media(max-width:1179px){.grade-campos.pes-id .campo{grid-column:auto!important;grid-row:auto!important}}
  /* Configurações por assunto: o botão do assunto aberto fica aceso; painel de outro assunto some */
  .bt.cfg-assunto.ativo{border-color:var(--azul);box-shadow:inset 0 -3px 0 var(--azul);font-weight:800}
  /* Configurações › Produtos: situação de cada fornecedor de fotos */
  .cfg-foto-ok{color:#16a34a;font-weight:700}.cfg-foto-ruim{color:#dc2626;font-weight:700}#cfgFotoParar[hidden]{display:none}
  /* "Venda concluída" do PDV (pdv.js vem do 55 PDV): o número do cupom usa a classe .num, que AQUI é o quadradinho numerado das seções
     (19 × 19, em bloco) — o número caía para a linha de baixo (print do dono, 07/10/2026). Volta a ser texto na mesma linha. */
  #janPdvTroco .vc-aviso .num{display:inline;width:auto;height:auto;border-radius:0}
  /* Plano de contas: plano pronto e limpeza (plano-ferramentas.js) */
  #janPlanoFerr{padding-top:5vh}.janela.pf-janela{width:min(760px,96vw)}#janPlanoFerr [hidden]{display:none!important}#janPlanoFerr .corpo{max-height:78vh;overflow:auto}
  .pf-situacao{margin-bottom:12px;padding:8px 10px;border:1px solid var(--borda);border-radius:8px;font-size:13.5px}
  .pf-modelo{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border:1px solid var(--borda);border-radius:8px;margin-top:6px;cursor:pointer;line-height:1.4}
  .pf-modelo input{margin-top:3px}.pf-lista{margin:6px 0 10px;padding-left:20px;line-height:1.55;font-size:13px}
  /* Pesquisar e recortar a foto do produto (foto-busca.js) */
  #janFotoBusca{padding-top:4vh}.janela.fb-janela{width:min(880px,96vw)}#janFotoBusca [hidden]{display:none!important}
  .fb-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px;margin-top:10px;max-height:58vh;overflow:auto;padding:2px}
  .fb-item{position:relative;height:128px;padding:0;border:2px solid var(--borda);border-radius:10px;background:#fff;display:grid;place-items:center;overflow:hidden;cursor:pointer}
  .fb-item:hover,.fb-item:focus{border-color:var(--azul);outline:none}.fb-item:disabled{opacity:.55;cursor:wait}.fb-item.fb-ruim{opacity:.3;cursor:not-allowed}
  .fb-item::before{content:'carregando…';position:absolute;inset:0;display:grid;place-items:center;color:#94a3b8;font-size:11.5px}   /* fica atrás da foto até ela chegar */
  .fb-item img{position:relative;max-width:100%;max-height:100%;object-fit:contain;background:#fff}
  .fb-item small{position:absolute;left:0;right:0;bottom:0;padding:1px 5px;background:rgba(15,23,42,.74);color:#fff;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .fb-palco{position:relative;margin:0 auto;background:#fff;outline:1px solid var(--borda);overflow:hidden;user-select:none;touch-action:none;line-height:0;cursor:crosshair}
  .fb-palco img{display:block;width:100%;height:100%;pointer-events:none}
  .fb-sel{position:absolute;box-sizing:border-box;border:2px solid #2563eb;box-shadow:0 0 0 9999px rgba(3,8,20,.55);cursor:move}
  .fb-sel i{position:absolute;width:16px;height:16px;background:#fff;border:2px solid #2563eb;border-radius:4px}
  .fb-sel i[data-p=nw]{left:-2px;top:-2px;cursor:nwse-resize}.fb-sel i[data-p=ne]{right:-2px;top:-2px;cursor:nesw-resize}
  .fb-sel i[data-p=sw]{left:-2px;bottom:-2px;cursor:nesw-resize}.fb-sel i[data-p=se]{right:-2px;bottom:-2px;cursor:nwse-resize}
  .fb-ferr{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:8px 0 4px}
  #telaConfiguracoes [data-assunto][hidden]{display:none!important}
  /* régua livre: cabeçalho de cada etapa numa linha (número, ligada, nome, quando, bloqueio, botões) */
  .rg-e-cab{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rg-e-cab .rg-e-nome{flex:1;min-width:180px;max-width:320px;font-weight:700}.rg-e-cab .rg-e-dias{width:58px}.rg-e-cab .rg-e-quando{width:auto;min-width:230px}.rg-e-cab .rg-dias{display:flex;align-items:center;gap:6px}.rg-e-num{color:#fff}
  /* Configurações: Gravar ao lado do título + lembrete */
  /* tarja do Gravar das Configurações: linha própria dentro da barra (flex-basis 100%), com fundo próprio; some junto com a barra ao trocar de tela */
  .cfg-tarja-gravar{flex-basis:100%;display:flex;align-items:center;gap:14px;margin-top:6px;padding:7px 12px;border-radius:10px;background:var(--painel2);border:1px solid var(--borda)}.cfg-tarja-gravar .bt.gravar{font-size:14px;font-weight:800}.cfg-tarja-gravar .cfg-dica-topo{font-size:12.5px;font-weight:400;color:var(--texto2)}.cfg-tarja-gravar .cfg-dica-topo b{color:var(--texto)}
  #titulo .cfg-gravar-topo{margin-left:16px;vertical-align:middle;font-size:13px}#titulo .cfg-dica-topo{margin-left:12px;font-size:12.5px;font-weight:400;color:var(--texto2);vertical-align:middle}#titulo .cfg-dica-topo b{color:var(--texto)}
  /* Régua › configuração (tela de Configurações): sem as abas de uso, painéis com respiro e o texto da etapa com altura para ler a mensagem inteira */
  .mf-abas[hidden]{display:none}#rgConfig .painel{padding:10px 14px 12px}#rgConfig textarea.rg-e-texto{height:138px;line-height:1.4}
  /* Relatórios: a lista à esquerda e o resultado à direita (os cartões e gráficos usam as peças .pn-* do Dashboard) */
  #telaRelatorios{overflow:auto;padding-bottom:18px}
  .rl-tela{display:grid;grid-template-columns:268px minmax(0,1fr);gap:10px;align-items:start}
  .rl-menu{padding:8px 8px 10px;position:sticky;top:0;max-height:calc(100vh - 150px);overflow:auto}
  .rl-menu h4{display:flex;align-items:center;gap:8px;margin:10px 4px 5px;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--texto2)}.rl-menu h4:first-child{margin-top:2px}
  .rl-menu h4 .bloco-ico{width:22px;height:22px;border-radius:6px}
  .rl-item{display:block;width:100%;text-align:left;border:0;background:none;color:var(--texto);font:inherit;font-size:13px;padding:6px 10px;border-radius:7px;cursor:pointer;border-left:3px solid transparent}
  .rl-item:hover{background:var(--painel2)}.rl-item.ativo{background:rgba(13,148,136,.16);border-left-color:#0d9488;font-weight:700}
  .rl-corpo{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
  .rl-cabeca{display:flex;align-items:center;gap:14px;padding:9px 14px}.rl-cabeca h2{margin:0;font-size:17px}.rl-cabeca small{color:var(--texto2)}.rl-cabeca .pn-legenda{margin-left:auto;text-align:right}
  .rl-filtros{margin:0}.rl-filtros [hidden]{display:none!important}.rl-semfiltro{color:var(--texto2);font-size:12.5px;align-self:center}
  .rl-tabela th[data-col]{cursor:pointer;white-space:nowrap;user-select:none}.rl-tabela .tabela-caixa{max-height:none}
  .rl-tabela tfoot td,.rl-tabela .rl-sub td{font-weight:800;border-top:2px solid var(--borda)}.rl-tabela .rl-sub td{font-weight:700;border-top:1px solid var(--borda);color:var(--texto2)}
  .rl-tabela .rl-quebra td{background:var(--painel2);font-weight:800;border-top:2px solid #0d9488}.rl-tabela .rl-quebra small{font-weight:400;color:var(--texto2)}
  .rl-inativo{color:#dc2626;font-weight:700}.rl-aviso{background:rgba(245,158,11,.14);border:1px solid rgba(245,158,11,.5);border-radius:8px;padding:7px 10px;margin:0 0 8px;font-size:12.5px}
  .rl-nota{margin:0}.rl-tabela tfoot td:first-child,.rl-tabela .rl-sub td:first-child{text-align:left}
  .rl-mais{margin:8px 0 0;color:var(--texto2);font-size:12.5px}
  @media (max-width:1100px){.rl-tela{grid-template-columns:1fr}.rl-menu{position:static;max-height:none}}
  /* Contas de boleto: um cartão por conta, com a configuração e as imagens dela (peça BoletoContas) */
  .bc-conta{border:1px solid var(--borda);border-left:5px solid var(--cor);border-radius:8px;padding:10px 14px 12px;margin-bottom:10px;background:var(--painel2);display:grid;gap:7px}
  .bc-topo{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.bc-topo .sf-luz{margin-top:4px}
  .bc-dados{flex:1;min-width:260px}.bc-dados>b{display:block;font-size:15px}.bc-conta small{display:block;color:var(--texto2);line-height:1.4}.bc-conta small b{font-weight:700}
  .bc-botoes{display:flex;gap:6px;flex-wrap:wrap}.bc-conta .bt{padding:4px 12px}
  .bc-rot{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.04em;margin-top:4px;border-top:1px solid var(--borda);padding-top:8px}.bc-rot small{display:inline;text-transform:none;letter-spacing:0;font-weight:400}
  .bc-imagens{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bc-conta .emp-img{background:var(--painel)}
  .emp-img.herdada .emp-img-previa{position:relative}.emp-img.herdada .emp-img-previa img{opacity:.4}
  .emp-img.herdada .emp-img-previa em{position:absolute;right:6px;bottom:5px;font-style:normal;font-size:11px;font-weight:700;color:#334155;background:#e2e8f0;border-radius:4px;padding:1px 7px}
  @media (max-width:900px){.bc-imagens{grid-template-columns:1fr}}
  /* Configurações: respiro dentro dos painéis (os campos não ficam colados na borda) e as abas do assunto Fiscal */
  /* Configurações: os textos de apoio estavam apagados demais (pedido do dono, 29/10/2026) — mais escuros e maiores, sem mudar o desenho */
  #telaConfiguracoes .dica,#telaConfiguracoes .secao small,#telaConfiguracoes .rg-geral small,#telaConfiguracoes .texto2{font-size:13px;line-height:1.35;color:var(--texto)}
  .cfg-tarja-gravar .cfg-dica-topo{font-size:13.5px;color:var(--texto)}
  #telaConfiguracoes label.rot{font-size:11.5px;color:var(--texto);letter-spacing:.03em}
  #telaConfiguracoes .painel{padding:10px 14px 12px}#telaConfiguracoes .cfg-subs{margin-bottom:10px}
  /* Transmissão com os passos na tela (cupom fiscal) e o aviso do último cupom no PDV */
  .tx-passos{display:grid;gap:10px;padding:4px 2px}.tx-passo{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--texto2)}
  .tx-passo i{width:18px;height:18px;border-radius:50%;border:2px solid var(--borda-campo);flex:0 0 auto}
  .tx-passo.agora{color:var(--texto);font-weight:700}.tx-passo.agora i{border-color:#2563eb;border-top-color:transparent;animation:tx-gira .8s linear infinite}
  .tx-passo.ok{color:var(--texto)}.tx-passo.ok i{background:#16a34a;border-color:#16a34a}.tx-passo.erro i{background:#dc2626;border-color:#dc2626}
  @keyframes tx-gira{to{transform:rotate(360deg)}}
  .tx-fim{margin-top:14px;border-radius:10px;padding:12px 14px;text-align:center}.tx-fim b{display:block;font-size:22px;letter-spacing:.02em}.tx-fim small{display:block;font-size:14px;margin-top:3px}
  .tx-fim.ok{background:rgba(22,163,74,.14);border:2px solid #16a34a;color:#16a34a}.tx-fim.erro{background:rgba(220,38,38,.12);border:2px solid #dc2626;color:#dc2626}.tx-fim.erro small{color:var(--texto)}.tx-fim.cont{background:rgba(217,119,6,.14);border:2px solid #d97706;color:#d97706}.tx-fim.cont small{color:var(--texto)}.tx-passo.cont i{background:#d97706;border-color:#d97706}
  .rv-andamento{font-size:16px;margin-bottom:10px}.rv-lista{max-height:46vh;overflow:auto;display:flex;flex-direction:column;gap:4px}.rv-linha{padding:6px 10px;border-radius:8px;font-size:13px;border-left:4px solid #64748b}.rv-linha.ok{border-color:#16a34a;background:rgba(22,163,74,.10)}.rv-linha.erro{border-color:#dc2626;background:rgba(220,38,38,.08)}.rv-linha.atencao{border-color:#d97706;background:rgba(217,119,6,.14);font-weight:600}
  .pdv-ultimo-cupom{margin-top:6px;font-size:13px;color:#16a34a;min-height:16px}.pdv-ultimo-cupom .erro{color:#d97706;font-weight:700;display:block;font-size:clamp(12.5px,1vw,16px);line-height:1.35}
  .vc-aviso.erro .vc-erro-tit{font-size:1.2em;font-weight:900;letter-spacing:.02em}.vc-aviso.erro .vc-erro-linha{margin-top:8px;font-size:.95em;font-weight:600;line-height:1.4;text-align:left}
  .fw-aviso{margin-top:10px;padding:8px 10px;border:1px solid #dc2626;border-radius:8px;color:#dc2626;background:rgba(220,38,38,.08)}
  .fin-prod-titulo{margin:6px 0 4px;padding:6px 10px;border-left:4px solid #eab308;background:#eab3081f;border-radius:0 6px 6px 0;font-size:13px}.fin-prod-titulo span{font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.05em;margin-right:8px}.fin-prod-titulo b{color:var(--azul)}
  .fin-alca{display:block;margin:0 auto;border:1px solid var(--borda);border-top:0;background:#eab30833;color:var(--texto);font:inherit;font-size:11px;font-weight:700;padding:2px 14px;border-radius:0 0 8px 8px;cursor:pointer}
  .fin-base{display:grid;grid-template-columns:auto 1fr;gap:12px;margin-top:10px;align-items:stretch}
  .fin-total{border:1px solid var(--borda);border-radius:10px;background:var(--painel);padding:8px 16px;display:flex;flex-direction:column;justify-content:center}
  .fin-total span{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--texto2)}
  .fin-total b{font-size:28px;color:#ff4d4d;font-weight:800}
  .fin-info{border:1px solid var(--borda);border-radius:10px;background:var(--painel);padding:8px 14px;display:grid;grid-template-columns:1fr 1fr;gap:2px 16px;font-size:12.5px;align-content:center}
  /* Parcelas selecionadas: ao lado do total a receber, em destaque (pedido 03/11/2026) */
  .fin-selecao{border:2px solid #1d4ed8;border-radius:12px;background:linear-gradient(135deg,#1e40af,#2563eb);color:#fff;padding:8px 18px;display:flex;flex-direction:column;justify-content:center;gap:1px;min-width:230px;box-shadow:0 3px 12px rgba(37,99,235,.35);transition:opacity .2s}
  .fin-selecao.vazia{opacity:.55;box-shadow:none}
  /* Faixa das parcelas selecionadas: entre a lista e os produtos comprados */
  .fin-faixa-sel{display:flex;flex-wrap:wrap;align-items:center;gap:6px 26px;margin:8px 0;padding:10px 18px;border-radius:12px;background:linear-gradient(90deg,#1e40af,#2563eb);color:#dbeafe;font-size:14px;box-shadow:0 3px 12px rgba(37,99,235,.3);transition:opacity .2s}
  .fin-faixa-sel.vazia{opacity:.5;box-shadow:none}
  .fin-faixa-sel .fx-rot{font-size:12px;font-weight:800;letter-spacing:.07em;color:#bfdbfe}
  /* cada número com a sua cor (pedido 03/11/2026): parcelas violeta, valor azul-claro, juros+multa laranja, valor total verde */
  .fin-faixa-sel .fx-p{display:inline-flex;align-items:baseline;gap:7px;padding:5px 14px;border-radius:10px;color:#fff;font-size:13px;font-weight:700;border:1px solid #ffffff40}
  .fin-faixa-sel .fx-p b{color:#fff;font-size:19px;font-weight:800}
  .fin-faixa-sel .fx-p1{background:#7c3aed}.fin-faixa-sel .fx-p1 b{font-size:24px}
  .fin-faixa-sel .fx-p2{background:#0891b2}
  .fin-faixa-sel .fx-p3{background:#ea580c}
  .fin-faixa-sel .fx-p4{background:#16a34a;margin-left:auto;font-size:12px;letter-spacing:.06em;border-color:#bbf7d0;box-shadow:0 0 0 3px #16a34a55}.fin-faixa-sel .fx-p4 b{font-size:25px;color:#fff;letter-spacing:0}
  .fin-selecao .sel-rot{font-size:11px;font-weight:800;letter-spacing:.07em;color:#bfdbfe}
  .fin-selecao .sel-qtd{font-size:15px;font-weight:700}.fin-selecao .sel-qtd b{font-size:26px;font-weight:800}
  .fin-selecao .sel-linha{font-size:12.5px;color:#dbeafe}.fin-selecao .sel-linha b{color:#fff}
  .fin-selecao .sel-total{display:flex;align-items:baseline;gap:8px;border-top:1px solid #ffffff44;margin-top:3px;padding-top:3px}
  .fin-selecao .sel-total span{font-size:11px;font-weight:800;letter-spacing:.06em;color:#bfdbfe}.fin-selecao .sel-total b{font-size:21px;font-weight:800;color:#fde047}
  /* Entrada de notas: linhas dos produtos alternadas (a 1ª destacada, a 2ª não…) — a selecionada continua mandando */
  #enItens tr.zebra:not(.sel)>td{background:rgba(148,163,184,.13)}
  /* Entrada de notas › Cadastrar produto pela nota: foto ao lado, unidades com fator, preço de venda (07/10/2026) */
  .np-corpo{display:grid;grid-template-columns:206px minmax(0,1fr);gap:16px;align-items:start;margin-top:10px}
  @media(max-width:760px){.np-corpo{grid-template-columns:1fr}}
  .np-foto{display:grid;gap:6px}.np-foto .bt{justify-content:flex-start;font-size:12.5px}.np-foto .dica{min-height:26px}
  .np-foto-quadro{width:206px;height:206px;border:2px dashed var(--borda-campo);border-radius:12px;background:#fff;display:grid;place-items:center;overflow:hidden;color:#94a3b8;font-weight:600;font-size:12.5px}
  .np-foto-quadro img{max-width:100%;max-height:100%;object-fit:contain}
  .np-aviso{border:1px solid #d97706;border-radius:8px;background:rgba(217,119,6,.10);padding:7px 10px;font-size:12.5px;line-height:1.35}.np-aviso[hidden]{display:none}
  #janEnProd .dica.erro{color:#f59e0b}#janEnProd .dica .bt-mini{margin-left:4px}
  #janEnProd [hidden]{display:none}
  /* Etiquetas de produto: janela de imprimir e desenhador de modelos (06/10/2026) */
  .eq-linha{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}
  .eq-sug{position:absolute;left:0;right:0;top:100%;z-index:5;background:var(--painel);border:1px solid var(--borda-campo);border-radius:8px;box-shadow:0 10px 26px rgba(0,0,0,.35);max-height:260px;overflow:auto}
  .eq-sug[hidden]{display:none}.eq-sug div{padding:6px 10px;cursor:pointer;display:flex;gap:8px;border-bottom:1px solid var(--borda)}.eq-sug div.sel,.eq-sug div:hover{background:var(--azul);color:#fff}.eq-sug span{margin-left:auto;opacity:.85;white-space:nowrap}
  .eq-qtd{height:26px;width:86px}
  #janEtiquetas .rem{border:0;background:none;color:var(--vermelho);cursor:pointer}
  /* Janela de etiquetas cabe na tela: o corpo rola e o rodapé com IMPRIMIR fica sempre à vista (pedido do dono, 12/10/2026) */
  #janEtiquetas .corpo{overflow:auto;flex:1;min-height:0} #janEtiquetas .rodape,#janEtiquetas #eqAgente,#janEtiquetas header{flex:none}
  .eq-previa{margin-top:10px;padding:10px 12px;border:1px dashed var(--borda-campo);border-radius:10px;background:rgba(148,163,184,.10)}
  .eq-previa-rot{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--rotulo);margin-bottom:6px}.eq-previa .dica{margin-top:8px}
  .eq-total{margin-right:auto;font-size:13.5px}
  .em-corpo{display:grid;grid-template-columns:236px minmax(0,1fr) 262px;gap:14px;align-items:start;max-height:80vh;overflow:auto}
  @media(max-width:1000px){.em-corpo{grid-template-columns:1fr}}
  .em-lado h4{margin:0 0 6px;font-size:12.5px}.em-lado h4 small{font-weight:400;color:var(--texto2)}
  .em-grade{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 8px;margin-top:6px}
  .em-medidas{display:grid;gap:4px;margin-top:8px}.em-medidas .campo{display:flex;align-items:center;justify-content:space-between;gap:8px}.em-medidas .rot{margin:0}.em-medidas .entrada{width:84px;height:26px;flex:0 0 auto}
  .em-barra{display:flex;gap:10px;align-items:baseline;font-size:12.5px;margin-bottom:6px}.em-barra .texto2{font-size:11px}
  .em-area{background:#64748b;border-radius:10px;padding:18px;min-height:150px;overflow:auto;outline:none;display:grid;place-items:center}
  .em-area .eq-i{cursor:move;outline:calc(1px / var(--z,1)) dotted rgba(37,99,235,.55)}
  .em-area .eq-i.sel{outline:calc(2px / var(--z,1)) solid #2563eb;overflow:visible}
  .em-alca{position:absolute;right:calc(-4px / var(--z,1));bottom:calc(-4px / var(--z,1));width:calc(10px / var(--z,1));height:calc(10px / var(--z,1));background:#2563eb;border:calc(1px / var(--z,1)) solid #fff;cursor:nwse-resize;z-index:3}
  .em-folha-area{background:#64748b;border-radius:10px;padding:10px;overflow:auto;max-height:190px}.em-papel{position:relative;background:#fff;overflow:hidden}
  .em-botoes{display:flex;flex-wrap:wrap;gap:5px}.em-botoes .bt-mini{background:#334155;font-size:11.5px}.em-botoes .bt-mini:hover{background:var(--azul)}.em-botoes .em-esp{background:#7c3aed}
  .em-ck{display:flex;align-items:center;gap:7px;font-size:12.5px;margin-top:6px;cursor:pointer}
  .em-acoes{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.em-acoes .bt-mini{background:#475569;display:inline-flex;align-items:center;gap:5px}.em-acoes .bt-mini .i{width:13px;height:13px}.em-acoes kbd{font-size:10px;opacity:.8}
  /* Lançar nova conta: "já paguei — dar baixa agora" (06/10/2026) */
  .nc-pagar{border:1px dashed var(--borda-campo);border-radius:9px;padding:7px 10px;margin-top:2px}
  .nc-pagar.on{border:1.5px solid var(--verde);background:rgba(22,163,74,.09)}
  .nc-pagar-ck{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px}.nc-pagar-ck kbd{margin-left:auto;font-size:10.5px;opacity:.7}
  .nc-pagar-campos{display:grid;grid-template-columns:172px 132px minmax(0,1.1fr) minmax(0,1fr);gap:7px 10px;margin-top:8px}.nc-pagar-campos[hidden]{display:none}
  @media(max-width:640px){.nc-pagar-campos{grid-template-columns:1fr 1fr}}
  .fin-legenda{display:flex;gap:14px;margin-top:8px;font-size:11.5px;flex-wrap:wrap}
  .fin-legenda i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:4px;vertical-align:-2px}
  .bx-resumo{display:flex;gap:18px;justify-content:flex-end;margin-top:10px;font-size:13px;flex-wrap:wrap}
  .bx-resumo b{font-size:16px;color:#60a5fa}
  @media (max-width:1100px){ .fin-filtros{grid-template-columns:1fr 1fr} .fin-base{grid-template-columns:1fr} }

  /* Renegociação */
  .rn-topo{display:grid;grid-template-columns:repeat(4,auto);gap:18px;justify-content:start;align-items:end}
  .rn-topo b{font-size:18px}
  .rn-topo .rot{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--rotulo)}
  .rn-total{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin:8px 0;font-weight:700}
  .rn-total b{font-size:22px;color:#a78bfa}
  .rn-conferencia{margin-top:6px;font-size:12.5px;text-align:right}
  #rnLinhas .entrada{height:27px}
  .cel-parcela.renegociada{background:#6b7280!important;color:#fff}
  .fin-ren{background:rgba(139,92,246,.14);border:1px solid rgba(139,92,246,.4);border-radius:8px;padding:5px 10px;margin-bottom:6px;font-size:12.5px}

  /* Botão Atualizar no topo */
  .bt-atualizar{display:flex!important;align-items:center;gap:6px;font-weight:600;font-size:12.5px;padding:5px 10px!important}
  /* cores suaves no cabeçalho (pedido do dono, 10/10/2026): ícone da empresa, Atualizar e Webmail, sem chamar demais a atenção */
  .empresa [data-i]{color:#2563eb}
  .bt-atualizar:not(.versao-nova){background:rgba(14,165,233,.12);border-color:rgba(14,165,233,.40);color:#0369a1}
  .bt-atualizar:not(.versao-nova) [data-i]{color:#0284c7}
  .bt-webmail{display:flex!important;align-items:center;gap:6px;font-weight:600;font-size:12.5px;padding:5px 10px!important;background:rgba(124,58,237,.10);border-color:rgba(124,58,237,.38);color:#6d28d9;text-decoration:none}
  .bt-webmail[hidden]{display:none!important}
  .bt-backup{display:flex!important;align-items:center;gap:6px;font-weight:600;font-size:12.5px;padding:5px 10px!important;background:rgba(14,165,233,.10);border-color:rgba(14,165,233,.38)}
  .bt-backup[hidden]{display:none!important}.bt-backup [data-i]{color:#0ea5e9}
  .bt-backup.bt-backup-velho{background:rgba(217,119,6,.14);border-color:rgba(217,119,6,.55)}
  .bt-webmail [data-i]{color:#7c3aed}
  [data-tema="escuro"] .bt-atualizar:not(.versao-nova){color:#7dd3fc}
  [data-tema="escuro"] .bt-webmail{color:#c4b5fd}
  .bt-atualizar.versao-nova{background:#16a34a;border-color:#16a34a;color:#fff;animation:pulsar 1.6s infinite}
  @keyframes pulsar{0%,100%{box-shadow:0 0 0 0 rgba(22,163,74,.6)}50%{box-shadow:0 0 0 6px rgba(22,163,74,0)}}
  @media (max-width:1100px){ #btAtualizarTxt{display:none} }

  .bt-mini.cinza{background:#475569}
  tr.estornada-linha td{color:var(--texto2)}
  tr.estornada-linha td:nth-child(-n+8){text-decoration:line-through}
  /* Página de registro de erros */
  .lista-erros td{vertical-align:top}
  tr.detalhe-erro td{background:var(--painel2);padding:10px 14px}
  .grade-det{display:grid;gap:2px;font-size:12.5px;margin-bottom:8px}
  .bloco-det{margin-top:8px;font-size:12.5px}
  .bloco-det pre{background:#050a14;color:#cbd5e1;border:1px solid var(--borda);border-radius:8px;padding:8px 10px;white-space:pre-wrap;word-break:break-word;max-height:360px;overflow:auto;font-size:11.5px;margin:4px 0 0}

  /* Financeiro: filtros com cliente/fornecedor no topo */
  .fin-filtros2{padding:10px 12px;display:grid;gap:8px}
  .fin-linha1{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:14px;align-items:end}
  .fin-linha2{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start}
  .fin-pessoa .entrada{height:34px;font-size:14px;font-weight:600}
  .fin-filtros2 .rot{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--rotulo);margin-bottom:3px}
  .fin-filtros2 .fin-bloco .entrada{height:28px}
  .fin-filtros2 .bt{padding:3px 8px;font-size:12px}
  .fin-faixa-pessoa{margin-left:14px;background:rgba(255,255,255,.18);border-radius:6px;padding:1px 10px;letter-spacing:.02em}
  .fin-faixa-pessoa small{font-weight:600;opacity:.8}
  .cel-venc.atrasada{background:#dc2626!important;color:#fff;font-weight:700}
  .cel-venc.hoje{background:#2563eb!important;color:#fff;font-weight:700}
  .cel-venc.paga{background:#eab308!important;color:#1a1a1a;font-weight:700}
  .cel-venc.parcial{background:#f9a8d4!important;color:#1a1a1a;font-weight:700}
  .cel-venc.renegociada{background:#6b7280!important;color:#fff}
  .valor-atrasado b{color:#f87171}
  .dias-atraso{color:#f87171;font-weight:700}
  @media (max-width:1100px){ .fin-linha1{grid-template-columns:1fr} }

  .fin-pessoa-linha{display:flex;gap:6px;align-items:stretch}
  .fin-pessoa-linha #finCodigo{width:110px;flex:none;height:34px;font-size:14px;font-weight:700;background:#fff3bf;color:#1a1a1a}
  .fin-pessoa-linha #finPessoa{background:#fff3bf;color:#1a1a1a}
  .fin-pessoa-linha .bt{white-space:nowrap}
  [data-tema="escuro"] .fin-pessoa-linha #finCodigo,[data-tema="escuro"] .fin-pessoa-linha #finPessoa{background:#2a2410;color:#fde68a;border-color:#a16207}

  /* CORREÇÃO: .erro (cor vermelha !important das dicas) deixava o texto da tarja invisível */
  .aviso.erro{color:#fff!important}

  /* Enquanto grava: cursor de espera (a ação repetida é ignorada) */
  body.gravando, body.gravando *{cursor:progress!important}

  /* ===== Financeiro › Colaboradores (mesmo visual do financeiro) ===== */
  .cl-topo{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:stretch}
  .cl-mes{display:flex;align-items:center;gap:8px}.cl-mes b{min-width:150px;text-align:center;font-size:16px}
  .cl-somas{display:flex;gap:22px;align-items:center;justify-content:flex-end}
  .cl-somas div{display:flex;flex-direction:column}.cl-somas span{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--texto2)}.cl-somas b{font-size:18px}
  .cl-faixa{background:linear-gradient(90deg,#c2410c,#f97316)}
  .cl-painel-extrato{margin-top:10px}
  .cl-extrato-tit{font-weight:700;margin-bottom:6px}
  .cl-extrato{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px;align-items:start}
  .cl-extrato .subtabela td:last-child{white-space:normal}
  .cl-extrato .subtabela{width:100%}
  .cl-extrato.compacto{margin-bottom:8px;grid-template-columns:minmax(0,1fr) 260px}
  .cl-lancs tr.sel td{background:rgba(31,122,224,.22)!important}
  .cl-foco-fora tr.sel td{opacity:.7}
  .cl-conta{border:1px solid var(--borda);border-radius:10px;background:var(--painel2);padding:8px 12px;font-size:13px}
  .cl-conta div{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:2px 0}
  .cl-conta small{flex-basis:100%;text-align:right;font-size:10.5px;color:var(--texto2);margin-top:-3px}
  .cl-conta div{flex-wrap:wrap}
  .cl-conta .cl-bruto,.cl-conta .cl-liquido{border-top:1px dashed var(--borda);margin-top:2px;padding-top:4px}
  .cl-conta .cl-liquido b{font-size:16px;color:#60a5fa}
  .cl-conta .cl-apagar b{font-size:18px;color:#ff4d4d}
  .cl-negativo{color:#f87171}
  .etq.cl-tipo-mais{background:#16a34a33;color:#4ade80}.etq.cl-tipo-menos{background:#dc262633;color:#f87171}
  .etq.cl-paga{background:#eab30833;color:#fbbf24}.etq.cl-aberta{background:#3b82f633;color:#60a5fa}

  /* ===== Financeiro › Cobrança (mesmo visual do financeiro) ===== */
  .cb-topo{display:flex;gap:16px;align-items:stretch;flex-wrap:wrap}
  .cb-topo .fin-total{margin-left:auto}
  .cb-sinc{display:flex;flex-direction:column;justify-content:center;gap:2px;font-size:12px;color:var(--texto2)}
  .cb-sinc b{color:var(--texto)}
  .cb-aviso-juros{color:#fbbf24;font-weight:700}
  .cb-faixa{background:linear-gradient(90deg,#0369a1,#0ea5e9)}
  .cb-sub{font-size:11px}
  .cb-zap{color:#4ade80;white-space:nowrap}.cb-zap svg{width:13px;height:13px;vertical-align:-2px}
  .etq.cb-semfone{background:#dc262633;color:#f87171}
  .cb-dias{font-weight:800;padding:0 6px;border-radius:4px}
  .cb-atraso1{background:#eab30833;color:#fbbf24}.cb-atraso2{background:#f9731633;color:#fb923c}.cb-atraso3{background:#dc262644;color:#f87171}
  .etq.cb-hoje{background:#3b82f6;color:#fff}.etq.cb-promessa{background:#16a34a33;color:#4ade80}.etq.cb-quebrada{background:#dc2626;color:#fff}
  .cb-ficha{margin-top:10px}
  .cb-ficha-tit{margin-bottom:8px;font-size:14px}
  .cb-grade{display:grid;grid-template-columns:250px minmax(0,1.1fr) minmax(0,1fr);gap:12px;align-items:start}
  /* Notebook (até ~1500px): contatos + parcelas lado a lado, histórico embaixo com a largura toda */
  @media (max-width:1500px){.cb-grade{grid-template-columns:250px minmax(0,1fr)}.cb-grade > :last-child{grid-column:1 / -1}}
  .cb-contatos{border:1px solid var(--borda);border-radius:10px;background:var(--painel2);padding:8px 12px;font-size:13px;display:grid;gap:4px;overflow-wrap:anywhere;min-width:0}
  .cb-contatos svg{width:13px;height:13px;vertical-align:-2px}
  .etq.cb-zapetq{background:#16a34a33;color:#4ade80}
  .cb-resumo{border-top:1px dashed var(--borda);margin-top:6px;padding-top:6px;display:grid;gap:2px}
  .cb-resumo div{display:flex;justify-content:space-between}.cb-resumo span{color:var(--texto2)}
  .cb-resumo-total b{color:#ff4d4d;font-size:16px}
  tr.cb-vencida td{background:rgba(220,38,38,.08)}
  .cb-pagas{margin-top:6px;font-size:11.5px}
  .cb-hist td{vertical-align:top;white-space:normal}.cb-hist-data{white-space:nowrap!important;font-size:12px}
  .cb-hist tr.sel td{background:rgba(31,122,224,.22)!important}
  .etq.cb-tipo{background:#0ea5e933;color:#38bdf8}
  @media (max-width:1100px){.cb-grade{grid-template-columns:1fr}}
  .cb-ficha .subtabela td,.cb-ficha .subtabela th{padding:3px 8px}

  /* ===== Fiscal › NF-e ===== */
  .nf-filtros{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-start}
  .nf-legenda{margin-left:auto;border:1px solid var(--borda);border-radius:10px;background:var(--painel2);padding:6px 12px;font-size:12.5px;display:grid;gap:2px;min-width:230px}
  .nf-legenda div{display:flex;align-items:center;gap:6px}.nf-legenda i{width:12px;height:12px;border-radius:3px;display:inline-block}.nf-legenda b{margin-left:auto}
  .nf-faixa{background:linear-gradient(90deg,#5b21b6,#8b5cf6)}
  .nf-env{display:inline-flex;align-items:center;gap:2px;vertical-align:middle;margin-left:4px;padding:1px 4px;border-radius:4px;border:1px solid #cbd5e1;background:#f1f5f9;color:#94a3b8;cursor:pointer;line-height:1}
  .nf-env svg{width:14px;height:14px}.nf-env small{font-size:10px;font-weight:700}
  .nf-env-ok{background:#16a34a;border-color:#16a34a;color:#fff}.nf-env-erro{background:#dc2626;border-color:#dc2626;color:#fff}.nf-env-fila{background:#f59e0b;border-color:#f59e0b;color:#fff}
  .nf-env:hover{filter:brightness(.92)}
  .nf-status{display:inline-block;color:#fff;font-weight:700;font-size:11px;padding:1px 8px;border-radius:4px;min-width:84px;text-align:center}
  .etq.nf-fat-ok{background:#16a34a;color:#fff}.etq.nf-fat-a{background:#eab308;color:#1a1a1a}
  .nf-topo{display:flex;justify-content:space-between;align-items:flex-end;border:1px solid var(--borda);border-radius:10px;background:var(--painel);padding:8px 16px;margin-bottom:8px}
  .nf-numero{font-size:26px;font-weight:800;color:#60a5fa;line-height:1}.nf-situacao{font-weight:800;font-size:12px;letter-spacing:.06em}
  .nf-topo-dir{text-align:right}.nf-topo-dir div:first-child{font-weight:700;color:#93c5fd}.nf-topo-total b{font-size:22px}
  .nf-corpo{display:grid;grid-template-columns:118px minmax(0,1fr);gap:10px;align-items:start}
  .nf-abas{display:flex;flex-direction:column;gap:6px}
  .nf-abas button{display:flex;flex-direction:column;align-items:center;gap:3px;border:1px solid var(--borda);background:var(--painel);color:var(--texto);border-radius:10px;padding:10px 4px;cursor:pointer;font:inherit;font-size:12px;font-weight:700}
  .nf-abas button svg{width:26px;height:26px}.nf-abas button kbd{font-size:9.5px;opacity:.7}
  .nf-abas button.ativa{background:var(--azul);color:#fff;border-color:var(--azul)}
  .nf-paineis{border:1px solid var(--borda);border-radius:10px;background:var(--painel);padding:10px 14px;min-height:60vh}
  .nf-lanca{display:flex;gap:8px;align-items:flex-end;background:var(--painel2);border:1px solid var(--borda);border-radius:10px;padding:8px;margin-bottom:8px}
  .nf-lanca .campo{margin:0}
  .nf-totais{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px 24px;margin-top:8px;border:1px solid var(--borda);border-radius:10px;background:var(--painel2);padding:8px 14px;font-size:13px}
  .nf-totais div{display:flex;justify-content:space-between}.nf-totais span{color:var(--texto2)}
  .nf-tot-tit{grid-column:1 / -1;font-weight:800;color:#93c5fd}.nf-tot-total b{color:#60a5fa;font-size:16px}
  .nf-faturas{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;background:#eab30814;border:1px solid #eab30855;border-radius:10px;padding:8px;margin-bottom:8px}
  .nf-impostos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
  .nf-transmissao{display:flex;gap:16px;align-items:center}
  .nf-selo{width:120px;height:120px;border-radius:16px;background:linear-gradient(135deg,#1e3a8a,#16a34a);color:#fff;font-size:34px;font-weight:900;display:flex;align-items:center;justify-content:center}
  .nf-botoes-tx{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
  .nf-mensagem{border:1px solid var(--borda);border-radius:8px;background:var(--painel2);padding:8px 12px;min-height:90px;font-size:13px}
  .nf-mensagem ul{margin:4px 0 0 18px}
  /* resultado da transmissao da NF-e, grande, com os horarios (pedido de 07/10/2026) */
  .nf-resultado{border-radius:10px;padding:12px 14px;border:2px solid #16a34a;background:rgba(22,163,74,.12)}
  .nf-resultado.erro{border-color:#dc2626;background:rgba(220,38,38,.10)}
  .nf-resultado>b{display:block;font-size:20px;letter-spacing:.02em;color:#16a34a}.nf-resultado.erro>b{color:#dc2626}
  .nf-resultado>span{display:block;font-size:14.5px;margin-top:4px;line-height:1.45}
  .nf-tempos{display:flex;flex-wrap:wrap;gap:4px 22px;margin-top:8px;font-size:14px}.nf-tempos:empty{display:none}.nf-tempos b{font-size:15.5px}
  .nf-chave{margin-top:6px;font-size:13px}.nf-chave span{font-family:Consolas,monospace}
  .nf-rodape{display:flex;gap:10px;margin-top:8px;justify-content:flex-start}
  @media (max-width:1100px){.nf-corpo{grid-template-columns:1fr}.nf-abas{flex-direction:row;flex-wrap:wrap}.nf-impostos{grid-template-columns:repeat(2,1fr)}}
  /* ===== PDV (frente de caixa) ===== */
  #telaPdv{--pdv-azul:#1e40af;--pdv-azul2:#2563eb}
  #telaPdv [hidden]{display:none!important}
  .pdv-cab{display:flex;align-items:center;gap:16px;background:var(--painel);border:1px solid var(--borda);border-radius:12px;padding:12px 18px}
  .pdv-logo{width:46px;height:46px;border-radius:12px;background:var(--pdv-azul2);color:#fff;font-weight:800;font-size:20px;display:grid;place-items:center}
  .pdv-logo.grande{width:110px;height:110px;font-size:46px;border-radius:24px;opacity:.85}
  .pdv-caixa{font-size:22px;font-weight:800}.pdv-empresa{color:var(--texto2);font-size:12px}
  .pdv-cab-meio{flex:1}.pdv-cab-info{display:grid;gap:2px;font-size:12.5px;text-align:right}
  .pdv-sit{margin-top:4px;padding:3px 10px;border-radius:999px;font-weight:700;font-size:12px}
  .pdv-sit.ok{background:#16a34a22;color:#16a34a}.pdv-sit.fechado{background:#dc262622;color:#dc2626}
  .pdv-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:12px}
  .pdv-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 8px 12px;border:1px solid var(--borda);border-radius:12px;background:var(--painel);color:var(--texto);cursor:pointer;font:inherit}
  .pdv-tile:hover{border-color:var(--pdv-azul2);transform:translateY(-1px)}
  .pdv-tile.off{opacity:.45;cursor:default}.pdv-tile.off:hover{transform:none;border-color:var(--borda)}
  .pdv-tile em{position:absolute;top:6px;right:8px;font-size:10px;color:var(--texto2);font-style:normal}
  .pdv-tile-ico{width:42px;height:42px;border-radius:11px;display:grid;place-items:center}.pdv-tile-ico .i{width:22px;height:22px;fill:#fff;stroke:#fff}
  .pdv-tile-k{font-size:11px;font-weight:800;color:var(--pdv-azul2)}.pdv-tile-n{font-weight:600;text-align:center}
  .pdv-resumo{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
  .pdv-resumo>div{background:var(--painel);border:1px solid var(--borda);border-radius:10px;padding:8px 14px;display:grid;gap:2px;min-width:130px}
  .pdv-resumo span{font-size:11px;color:var(--texto2)}.pdv-resumo b{font-size:16px}
  .pdv-res-din b{color:#16a34a}
  .pdv-faixa{background:var(--pdv-azul);color:#fff;font-size:30px;font-weight:800;text-align:center;padding:10px;border-radius:12px;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pdv-meio{display:grid;grid-template-columns:230px minmax(260px,1fr) minmax(360px,1.3fr);gap:12px;margin-top:10px}
  .pdv-esq{display:flex;flex-direction:column;gap:8px}
  .pdv-qv{background:var(--painel);border:1px solid var(--borda);border-radius:10px;padding:8px 12px;font-weight:700;font-size:13px}
  .pdv-foto{background:var(--painel);border:1px solid var(--borda);border-radius:10px;height:150px;display:grid;place-items:center}
  .pdv-item{background:var(--pdv-azul2);color:#fff;border-radius:10px;padding:8px;text-align:center;font-weight:800;font-size:18px}
  .pdv-clivend{display:grid;gap:6px}
  .pdv-campos{display:flex;flex-direction:column;gap:4px;background:var(--painel);border:1px solid var(--borda);border-radius:12px;padding:12px}
  .pdv-campos label{font-weight:700;font-size:13px;color:var(--rotulo);margin-top:4px}
  .pdv-input{font:inherit;font-size:24px;font-weight:700;padding:8px 12px;border:2px solid var(--borda-campo);border-radius:10px;background:var(--campo);color:var(--texto);width:100%;box-sizing:border-box}
  .pdv-input:focus{outline:none;border-color:var(--pdv-azul2);background:var(--campo-foco)}
  .pdv-input.dir{text-align:right}#pdvCod{font-size:20px}
  .pdv-formas{display:flex;flex-direction:column;gap:4px;background:var(--painel);border:1px solid var(--borda);border-radius:12px;padding:12px}
  .pdv-formas-tit{background:var(--pdv-azul);color:#fff;font-weight:800;text-align:center;padding:6px;border-radius:8px;margin-bottom:4px}
  .pdv-forma{display:flex;gap:10px;align-items:center;padding:5px 8px;border-radius:8px;background:var(--painel2)}
  .pdv-forma span{min-width:70px;font-weight:800;color:var(--pdv-azul2)}.pdv-forma.off{opacity:.4}
  .pdv-promo{color:#ef4444;font-weight:800}
  .pdv-ajuste{font-weight:700;color:#f59e0b;padding:4px 8px}
  .pdv-pagos{border-top:1px dashed var(--borda);margin-top:6px;padding-top:6px;display:grid;gap:3px}
  .pdv-pagos div{display:flex;align-items:center;gap:8px}.pdv-pagos b{margin-left:auto}
  .pdv-pagos .rem{border:0;background:none;color:#dc2626;cursor:pointer;padding:2px}.pdv-pagos .rem .i{width:14px;height:14px}
  .pdv-lista{display:flex;flex-direction:column;background:var(--painel);border:1px solid var(--borda);border-radius:12px;overflow:hidden;min-height:430px}
  .pdv-lista-tit{background:var(--pdv-azul);color:#fff;font-weight:800;text-align:center;padding:6px}
  .pdv-lista-cab{display:grid;grid-template-columns:1.1fr 2fr 1.2fr .8fr;gap:6px;font-size:11px;font-weight:700;color:var(--texto2);padding:6px 10px;border-bottom:1px solid var(--borda)}
  .pdv-itens{flex:1;overflow:auto;max-height:52vh}
  .pdv-li{padding:6px 10px;border-bottom:1px dashed var(--borda);font-family:Consolas,'Courier New',monospace;font-size:13px}
  .pdv-li .l1{display:flex;gap:10px}.pdv-li .l1 em{color:#dc2626;font-style:normal;font-weight:700;margin-left:auto}
  .pdv-li .l2{display:flex;gap:14px;justify-content:flex-end}.pdv-li .l2 b{min-width:90px;text-align:right}
  .pdv-li.cancelado{text-decoration:line-through;opacity:.5}
  .pdv-lista-rod{border-top:1px solid var(--borda);padding:8px 12px;display:grid;gap:3px;background:var(--painel2)}
  .pdv-lista-rod div{display:flex;justify-content:space-between}.pdv-lista-rod b{font-size:15px}
  .pdv-areceber b{font-size:22px!important;color:#dc2626}
  .pdv-base{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}
  .pdv-rot-grande{font-weight:800;font-size:14px;color:var(--rotulo);margin-bottom:2px}
  .pdv-caixa-azul{background:var(--pdv-azul);color:#fff;font-size:34px;font-weight:800;padding:6px 16px;border-radius:12px}
  .pdv-caixa-azul.dir{text-align:right}
  .pdv-rodape{display:flex;gap:16px;margin-top:10px;align-items:flex-start}
  .pdv-rodape-cx{display:grid;gap:2px;font-size:12.5px;min-width:180px}.pdv-rodape-cx span{color:var(--texto2);margin-right:4px}
  .pdv-teclas{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px}
  .pdv-teclas kbd{background:var(--pdv-azul2);color:#fff;border-radius:5px;padding:1px 6px;font-weight:700;font-family:inherit}
  .pdv-valor-grande{font-size:24px!important;font-weight:800}
  .pdv-troco{text-align:center;display:grid;gap:6px}.pdv-troco-valor{font-size:52px;font-weight:800;color:#16a34a}
  .pdv-fech-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}
  .pdv-fech-grid div{display:flex;justify-content:space-between;border-bottom:1px dashed var(--borda);padding:3px 0}.pdv-fech-grid span{color:var(--texto2)}
  @media (max-width:700px){.pdv-meio{grid-template-columns:1fr}.pdv-esq{display:none}.pdv-faixa{font-size:20px}.pdv-caixa-azul{font-size:24px}}
  /* PDV em tela cheia: some o menu lateral, o topo e a barra; o PDV ocupa tudo */
  body.modo-pdv .lateral, body.modo-pdv .topo, body.modo-pdv .barra-acoes{display:none!important}
  body.modo-pdv .principal{margin-left:0!important}
  body.modo-pdv .conteudo{padding:8px 12px 12px}
  .pdv-fechado{max-width:560px;margin:8vh auto 0;text-align:center;background:var(--painel);border:1px solid var(--borda);border-radius:16px;padding:32px 28px;display:grid;justify-items:center;gap:10px}
  .pdv-fechado h2{margin:6px 0 0;font-size:30px;font-weight:800;color:#dc2626;letter-spacing:.5px}
  .pdv-fechado p{margin:0;color:var(--texto2);font-size:15px}
  .pdv-fechado-bts{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:10px}
  /* ===== Controle de caixa ===== */
  .cx-abas{border-radius:10px 10px 0 0}
  .cx-painel{border-radius:0 0 10px 10px;padding:10px 12px}
  .cx-filtros{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:10px}
  .cx-filtros .campo{min-width:140px}
  .cx-tabela{max-height:calc(100vh - 330px)}
  .cx-tabela2{max-height:calc(100vh - 380px)}
  .cx-sit{display:inline-block;padding:1px 10px;border-radius:999px;font-weight:700;font-size:11.5px}
  .cx-sit.ab{background:#16a34a;color:#fff}.cx-sit.fe{background:#facc15;color:#1f2d45}.cx-sit.conf{background:#e2e8f0;color:#334155}.cx-sit.canc{background:#dc2626;color:#fff}
  .cx-neg{color:#dc2626}.cx-pos{color:#16a34a}
  .cx-txt-ab{color:#dc2626}.cx-txt-fe{color:var(--texto2)}
  .cx-cab{display:flex;flex-wrap:wrap;gap:6px 22px;padding:4px 2px 10px;border-bottom:1px solid var(--borda);margin-bottom:8px}
  .cx-cab div{display:grid}.cx-cab span{font-size:11px;color:var(--texto2)}.cx-cab b{font-size:14px}
  .cx-cab-din b{color:#16a34a;font-size:16px!important}
  .cx-subabas{background:none;border-bottom:1px solid var(--borda);padding:0 0 0;margin-bottom:8px}
  .cx-resumo{display:grid;grid-template-columns:1.5fr 1fr;gap:12px}
  .cx-vendas{display:grid;gap:8px}
  .cx-vendas .cx-tabela2{max-height:32vh}
  .cx-venda-det{display:grid;grid-template-columns:2.2fr 1fr;gap:10px}
  .cx-venda-det .cx-tabela2{max-height:26vh}
  .cx-rodape{display:flex;flex-wrap:wrap;gap:6px 24px;align-items:center;margin-top:8px;font-size:12.5px}
  .cx-rodape span{color:var(--texto2);margin-right:4px}
  .bt.mini{padding:1px 8px;font-size:11px;margin-left:6px}
  .cx-painel tfoot td{font-weight:700;background:var(--painel2);position:sticky;bottom:0}
  @media (max-width:900px){.cx-resumo,.cx-venda-det{grid-template-columns:1fr}}
  /* PDV ocupando a tela inteira (modelo do desktop): foto grande à esquerda, campos estreitos, lista destacada, atalhos embaixo */
  body.modo-pdv #telaPdv{height:calc((100vh - 38px) / var(--pdv-z,1))}
  body.modo-pdv.sem-faixa #telaPdv{height:calc((100vh - 20px) / var(--pdv-z,1))}
  body.modo-pdv #pdvVenda{display:flex;flex-direction:column;gap:10px;height:100%}
  body.modo-pdv .pdv-faixa{font-size:clamp(30px,4.2vw,66px);padding:clamp(12px,2vh,26px) 16px;border-radius:14px}
  body.modo-pdv .pdv-meio{flex:1;min-height:0;margin-top:0;grid-template-columns:minmax(260px,30%) minmax(230px,21%) minmax(0,1fr)}
  body.modo-pdv .pdv-esq{min-height:0}
  body.modo-pdv .pdv-qv{font-size:clamp(14px,1.2vw,19px);color:var(--pdv-azul2);background:none;border:0;padding:0 4px}
  body.modo-pdv .pdv-foto{flex:1;height:auto;min-height:120px;border-radius:28px;border-width:2px}
  body.modo-pdv .pdv-logo.grande{width:clamp(110px,13vw,230px);height:clamp(110px,13vw,230px);font-size:clamp(46px,6vw,104px);border-radius:22%}
  body.modo-pdv .pdv-item{font-size:clamp(16px,1.5vw,24px)}
  body.modo-pdv .pdv-campos{gap:2px;padding:14px 16px;justify-content:flex-start}
  body.modo-pdv .pdv-campos label{font-size:clamp(15px,1.4vw,24px);font-weight:800;color:var(--texto);margin-top:clamp(6px,1.6vh,20px)}
  body.modo-pdv .pdv-input{font-size:clamp(22px,2vw,34px);padding:clamp(8px,1.3vh,16px) 12px}
  body.modo-pdv #pdvCod{font-size:clamp(18px,1.6vw,28px)}
  body.modo-pdv #pdvCod::placeholder{font-size:13px;font-weight:500}
  body.modo-pdv .pdv-lista{min-height:0;border-width:2px;border-color:var(--pdv-azul2);box-shadow:0 2px 14px rgba(30,64,175,.18)}
  body.modo-pdv .pdv-lista-tit{font-size:clamp(15px,1.3vw,22px);padding:8px}
  body.modo-pdv .pdv-lista-cab{font-size:12.5px}
  body.modo-pdv .pdv-itens{max-height:none;min-height:0}
  body.modo-pdv .pdv-li{font-size:clamp(14px,1.15vw,19px);padding:8px 12px}
  body.modo-pdv .pdv-li .l2 b{min-width:120px}
  body.modo-pdv .pdv-lista-rod{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));font-size:clamp(13px,1.1vw,18px);font-weight:700;padding:10px 14px}
  body.modo-pdv .pdv-lista-rod b{font-size:clamp(16px,1.4vw,24px)}
  body.modo-pdv .pdv-base{margin-top:0;grid-template-columns:1.12fr .88fr}
  body.modo-pdv .pdv-rot-grande{font-size:clamp(18px,1.9vw,34px);color:var(--texto)}
  body.modo-pdv .pdv-caixa-azul{font-size:clamp(38px,4.6vw,76px);padding:clamp(6px,1.2vh,16px) 24px;border-radius:14px;line-height:1.15}
  body.modo-pdv #pdvModo{text-align:center}
  body.modo-pdv .pdv-rodape{margin-top:0;align-items:center;gap:28px}
  body.modo-pdv .pdv-rodape-cx{font-size:clamp(13px,1.15vw,19px);min-width:230px}
  body.modo-pdv .pdv-rodape-cx span{color:var(--pdv-azul2);font-weight:700;display:inline-block;min-width:90px;text-align:right}
  /* legenda de atalhos: 6 colunas de 3, espalhadas por igual; a letra acompanha o espaço que SOBRA ao lado do bloco do caixa
     (nome de operador comprido toma mais lugar), para tudo caber numa linha só — a conta: as 6 colunas somam uns 76 "em" + os vãos;
     teclas todas da mesma largura (os nomes ficam alinhados); a Ajuda fica no canto de baixo, por último (pedido do dono, 06/10/2026) */
  body.modo-pdv .pdv-teclas{flex:1;min-width:0;display:grid;grid-template-columns:repeat(6,minmax(0,auto));justify-content:space-between;grid-auto-flow:column;grid-template-rows:repeat(3,auto);gap:4px 18px;font-size:clamp(11.5px,calc((100vw - 400px)/80),19px);font-weight:700;container-type:inline-size}
  body.modo-pdv .pdv-teclas.poucas{grid-template-columns:repeat(2,minmax(0,auto));justify-content:start;column-gap:56px}
  body.modo-pdv .pdv-teclas>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;padding:1px 4px 1px 0;font-size:clamp(10px,calc((100cqw - 100px)/79.5),19px)}
  body.modo-pdv .pdv-teclas>.fim{grid-row:3}
  body.modo-pdv .pdv-teclas kbd{display:inline-block;box-sizing:border-box;min-width:4.45em;text-align:center;margin-right:.35em}
  body.modo-pdv .pdv-formas{font-size:clamp(13px,1.1vw,18px);overflow:auto}
  @media (max-width:700px){body.modo-pdv #pdvVenda{height:auto}body.modo-pdv .pdv-meio{grid-template-columns:1fr}body.modo-pdv .pdv-teclas{grid-template-columns:repeat(2,1fr);grid-auto-flow:row;grid-template-rows:none}body.modo-pdv .pdv-teclas>div{font-size:13px}body.modo-pdv .pdv-teclas>.fim{grid-row:auto}}
  .fin-boleto{color:#f97316;font-weight:700;text-decoration:none}.fin-boleto:hover{text-decoration:underline}
  .rel-opcoes{display:grid;gap:8px;margin-top:10px}
  .rel-opcoes .bt{display:grid;grid-template-columns:28px 1fr;text-align:left;gap:2px 8px;padding:10px 12px;height:auto;white-space:normal}
  .rel-opcoes .bt b{grid-row:span 2;font-size:20px;color:var(--azul);align-self:center}
  .rel-opcoes .bt small{color:var(--texto2);font-weight:400;grid-column:2}
  .lupa-pessoa{display:grid;grid-template-columns:70px minmax(0,2.2fr) 150px minmax(0,1.5fr) 120px;gap:8px;align-items:baseline}
  .lupa-pessoa span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lupa-pessoa small{opacity:.8}
  .lupa-cab{font-size:11px;font-weight:700;opacity:.7;padding:4px 10px;position:sticky;top:0;background:var(--painel)}
  /* PDV: janelas de valor e de troco grandes, no meio da tela (o caixa lê de longe) */
  #janPdvValor,#janPdvTroco{align-items:center;padding-top:0}
  #janPdvValor .janela header,#janPdvTroco .janela header{font-size:clamp(20px,2vw,30px);padding:16px 22px}
  #janPdvValor .corpo{padding:22px}
  #janPdvValor .rot{font-size:clamp(14px,1.2vw,18px)}
  #janPdvValor .pdv-valor-grande{font-size:clamp(40px,5vw,72px)!important;padding:14px 18px;height:auto}
  #janPdvValor select.entrada,#janPdvValor #pvMotivo{font-size:20px;padding:10px;height:auto}
  #janPdvValor .dica{font-size:clamp(14px,1.2vw,18px);margin-top:6px}
  #janPdvValor .grade-campos{display:block}#janPdvValor .campo{margin-bottom:12px}
  #janPdvValor .rodape .bt,#janPdvTroco .rodape .bt{font-size:clamp(16px,1.4vw,22px);padding:12px 22px}
  #janPdvTroco .pdv-troco{padding:26px 22px;gap:10px;font-size:clamp(18px,1.8vw,28px)}
  #janPdvTroco .pdv-troco .rot{font-size:clamp(26px,3vw,44px);font-weight:800;letter-spacing:.12em;color:var(--texto)}
  #janPdvTroco .pdv-troco-valor{font-size:clamp(72px,10vw,150px);line-height:1.05;white-space:nowrap}
  #janPdvTroco .janela{border:4px solid #16a34a}
  /* Controle de caixa: abas bem visíveis (as não escolhidas também têm contorno e letra forte) */
  .cx-abas{gap:6px;padding:8px 8px 0}
  .cx-abas .aba{font-size:15px;font-weight:800;color:var(--texto);padding:9px 22px;border:1px solid var(--borda-campo);border-bottom:0;background:var(--painel);border-radius:9px 9px 0 0}
  .cx-subabas{gap:6px;padding:0 0 8px;flex-wrap:wrap}
  .cx-subabas .aba{font-size:13.5px;font-weight:700;color:var(--texto);padding:7px 16px;border:1px solid var(--borda-campo);background:var(--painel2);border-radius:8px}
  .cx-abas .aba:hover,.cx-subabas .aba:hover{border-color:var(--azul);color:var(--azul)}
  .cx-abas .aba.ativa,.cx-subabas .aba.ativa{background:var(--azul);border-color:var(--azul);color:#fff;box-shadow:0 2px 8px rgba(37,99,235,.35)}
  /* PDV: acabamento (logo/foto do produto, relógio, sem barra de rolagem, lista zebrada) */
  body.modo-pdv{overflow:hidden}
  body.modo-pdv #telaPdv{height:calc((100vh - 42px) / var(--pdv-z,1))}
  body.modo-pdv.sem-faixa #telaPdv{height:calc((100vh - 24px) / var(--pdv-z,1))}
  .pdv-qv{display:flex;justify-content:space-between;align-items:center;gap:10px}
  #pdvHora{color:var(--texto);font-weight:700;font-variant-numeric:tabular-nums}
  .pdv-foto{overflow:hidden;background:#fff!important;padding:14px}
  .pdv-foto img{max-width:100%;max-height:100%;object-fit:contain;display:block}
  .pdv-foto img.logo{width:62%;opacity:.95}
  .pdv-foto img.prod{width:100%;height:100%}
  body.modo-pdv .pdv-foto{box-shadow:0 2px 14px rgba(30,64,175,.12);border-color:var(--pdv-azul2)}
  body.modo-pdv .pdv-faixa{box-shadow:0 4px 16px rgba(30,64,175,.35);letter-spacing:.02em}
  body.modo-pdv .pdv-campos{border-width:2px;box-shadow:0 2px 14px rgba(30,64,175,.08)}
  body.modo-pdv #pdvCod::placeholder{font-size:clamp(13px,1.1vw,18px);font-weight:500}
  body.modo-pdv #pdvCod{border-color:var(--pdv-azul2);box-shadow:0 0 0 3px rgba(37,99,235,.18)}
  body.modo-pdv .pdv-li:nth-child(even){background:var(--painel2)}
  body.modo-pdv .pdv-li .l1 b{font-weight:800}
  body.modo-pdv .pdv-li .l1 span{color:var(--texto2)}
  body.modo-pdv .pdv-li .l2 b{font-size:1.1em}
  body.modo-pdv .pdv-lista-rod{display:flex;gap:10px 40px;flex-wrap:wrap;justify-content:space-between}
  body.modo-pdv .pdv-lista-rod div{display:flex;gap:10px;align-items:baseline}
  body.modo-pdv .pdv-caixa-azul{box-shadow:0 4px 16px rgba(30,64,175,.35)}
  body.modo-pdv .pdv-item{box-shadow:0 2px 10px rgba(37,99,235,.3)}
  /* Cadastro de produtos: aba Foto */
  .foto-prod{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start}
  .foto-quadro{width:300px;height:300px;border:2px dashed var(--borda-campo);border-radius:14px;background:#fff;display:grid;place-items:center;overflow:hidden;color:#94a3b8;font-weight:600}
  .foto-quadro img{max-width:100%;max-height:100%;object-fit:contain}
  .foto-acoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;flex:1;min-width:230px;align-content:start}
  .foto-acoes .bt{justify-content:flex-start}.foto-acoes .dica{grid-column:1/-1}
  /* Cadastro de produtos, primeira aba (pedido do dono, 06/10/2026): foto no canto, identificação enxuta e a parte fiscal em destaque */
  .aba-lado{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 16px;align-items:start;margin-bottom:12px}
  .aba-lado-campos>.grade-campos:last-child{margin-bottom:0}
  .foto-mini{width:178px;cursor:pointer;text-align:center}
  .foto-mini-quadro{width:178px;height:178px;border:2px dashed var(--borda-campo);border-radius:12px;background:#fff;display:grid;place-items:center;overflow:hidden;color:#94a3b8;font-weight:600;font-size:12.5px}
  .foto-mini:hover .foto-mini-quadro{border-color:var(--azul)}
  .foto-mini-quadro img{max-width:100%;max-height:100%;object-fit:contain}
  .foto-mini-rot{margin-top:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--rotulo)}
  .prod-ult-v{display:flex;align-items:center;font-weight:700;cursor:default;opacity:.9}
  .bloco-destaque{border:1.5px solid var(--laranja);border-left-width:6px;border-radius:10px;background:rgba(234,138,0,.09);padding:8px 12px 10px;margin-bottom:12px}
  .bloco-destaque .secao{border-bottom-color:rgba(234,138,0,.45)}
  .bloco-destaque .secao h3{font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
  .bloco-destaque .grade-campos{margin-bottom:0}
  .bloco-destaque #ncm{font-weight:800;font-size:14.5px;letter-spacing:.04em}
  /* Identificação do produto em grade de colunas fixas (pedido do dono, 18/10/2026): a foto fica à direita e ocupa a altura toda dos campos
     (da 1ª linha até os preços); Aplicação e Referência de compra são quadros altos à direita das linhas de campos; Localização e Setor
     ficam na linha das unidades. Duas disposições: larga (>=1560px, uma linha só de unidades) e média (1180–1559px, Localização e Setor
     descem para a 4ª linha). Abaixo de 1180px a grade comum de 6 colunas empilha tudo. */
  .contador-car{display:none;position:absolute;right:9px;bottom:4px;font-size:10px;font-weight:600;color:var(--texto2);opacity:.75;pointer-events:none}
  .campo:focus-within>.contador-car{display:block}
  @media(min-width:1180px){
    /* foto no INÍCIO, à esquerda, com os botões de buscar/colar/arquivo; os campos ficam ao lado (pedido do dono, 19/10/2026) */
    .aba-lado{grid-template-columns:200px minmax(0,1fr);align-items:stretch;margin-bottom:12px;column-gap:14px}
    .aba-lado-campos{display:contents}
    .aba-lado-campos>*{grid-column:2}
    .aba-lado-extra{grid-column:1;grid-row:1/5;display:flex}
    .foto-mini-acoes{display:flex;flex-direction:column;gap:6px;margin-top:8px}
    .foto-mini-acoes .bt{width:100%;justify-content:center;font-weight:700}
    .foto-mini{display:flex;flex-direction:column;width:100%;height:100%}
    .foto-mini{position:relative}.foto-mini-quadro{width:100%;flex:1 1 auto;min-height:150px;height:auto}.foto-mini-rot{margin:4px 0 0}
    .grade-campos.prod-id{display:grid;gap:7px 10px;align-items:start;grid-template-columns:104px 140px 128px 112px minmax(0,1fr) minmax(0,1fr) 120px minmax(0,1.3fr) minmax(0,1.3fr)}
    .prod-id .campo{min-width:0}.prod-id label.rot{letter-spacing:.03em}
    .prod-id .campo:has(#codigo){grid-area:1/1}.prod-id .campo:has(#gtin){grid-area:1/2}.prod-id .campo:has(#referencia){grid-area:1/3}.prod-id .campo:has(#cadastro){grid-area:1/4}
    .prod-id .campo:has(#tipoItem){grid-area:1/5/2/7}.prod-id .campo:has(#ativo){grid-area:1/7}
    .prod-id .campo:has(#descricao){grid-area:2/1/3/8}
    .prod-id .campo:has(#unVenda){grid-area:3/1}.prod-id .campo:has(#unCompra){grid-area:3/2}.prod-id .campo:has(#fator){grid-area:3/3}
    .prod-id .prod-ult-1{grid-area:3/4}.prod-id .prod-ult:not(.prod-ult-1){grid-area:3/5}
    .prod-id .campo:has(#local){grid-area:3/6}.prod-id .campo:has(#setor){grid-area:3/7}
    .prod-id .campo:has(#aplicacao){grid-area:1/8/4/9}.prod-id .campo:has(#codCompra){grid-area:1/9/4/10}
    .prod-id .campo:has(#aplicacao),.prod-id .campo:has(#codCompra){position:relative;display:flex;flex-direction:column;align-self:stretch}
    .prod-id textarea.entrada{flex:1 1 auto;height:auto;min-height:60px;resize:none;line-height:1.35;padding-top:6px}
    .prod-id .campo:has(#gtin) .dica{white-space:nowrap}
    .prod-id .prod-ult{width:auto}.prod-id .prod-ult-1{margin-left:0}
    /* a dica do estoque atual fica por baixo do campo sem aumentar a linha (a foto termina junto com os campos de preço) */
    .aba-lado-campos .campo:has(#estoque){position:relative}.aba-lado-campos .campo:has(#estoque) .dica{position:absolute;left:0;right:0;top:100%;margin-top:1px;white-space:nowrap}
  }
  @media(min-width:1180px) and (max-width:1559px){
    .grade-campos.prod-id{grid-template-columns:92px 128px 128px 96px minmax(0,1fr) minmax(0,1.3fr) minmax(0,1.3fr);column-gap:8px}
    .aba-lado{grid-template-columns:minmax(0,1fr) 146px;column-gap:12px}
    .prod-id .campo:has(#tipoItem){grid-area:1/5/2/7}.prod-id .campo:has(#ativo){grid-area:1/7}
    .prod-id .campo:has(#descricao){grid-area:2/1/3/6}
    .prod-id .campo:has(#local){grid-area:4/1/5/3}.prod-id .campo:has(#setor){grid-area:4/3/5/6}
    .prod-id .campo:has(#aplicacao){grid-area:2/6/5/7}.prod-id .campo:has(#codCompra){grid-area:2/7/5/8}
  }
  @media(max-width:760px){.aba-lado{grid-template-columns:1fr}.aba-lado-extra{justify-self:center;margin-top:10px}}
  .lupa-prod{display:grid;grid-template-columns:70px 130px minmax(0,1fr) 44px 90px 100px;gap:8px;align-items:baseline}
  .lupa-prod span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lupa-prod .dir{text-align:right}.lupa-prod small{opacity:.8}
  /* Pedido: dados do cliente em quadro, observação do item */
  .ped-cliente{display:grid;grid-template-columns:2.2fr .6fr 1.2fr 1.2fr 1.4fr 1.2fr;gap:6px 10px;background:var(--painel2);border:1px solid var(--borda);border-radius:8px;padding:8px 10px}
  .ped-cliente div{min-width:0}.ped-cliente span{display:block;font-size:10.5px;color:var(--texto2);text-transform:uppercase;letter-spacing:.03em}
  .ped-cliente b{display:block;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:17px}
  .item-obs{display:block;font-style:italic;color:var(--texto2);font-size:12px}
  @media (max-width:1000px){.ped-cliente{grid-template-columns:1fr 1fr}}
  #auMais[hidden]{display:none}.au-bloco{min-width:0;overflow:auto;max-height:340px}.au-resumo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:10px 0}.au-bloco{border:1px solid var(--borda,#e2e8f0);border-radius:10px;padding:10px 12px;background:var(--painel,#fff)}.au-bloco h4{margin:0 0 8px;font-size:13px}.au-bloco h4 small{font-weight:400;color:#64748b}
.au-cartoes{display:flex;flex-wrap:wrap;gap:8px}.au-cartao{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:140px;padding:8px 10px;border:1px solid var(--borda,#e2e8f0);border-radius:8px;background:transparent;color:inherit;cursor:pointer;text-align:left;font:inherit}.au-cartao:hover,.au-cartao.ativo{border-color:#2563eb;background:rgba(37,99,235,.08)}.au-n{font-size:20px;font-weight:700}.au-sub{font-size:11px;color:#64748b}
@media (max-width:1100px){.au-resumo{grid-template-columns:1fr}}
.au-det{max-width:900px}.au-det td{vertical-align:top}.au-de{color:#dc2626;text-decoration:line-through;text-decoration-color:rgba(220,38,38,.4)}.au-para{color:#16a34a;font-weight:600}
  /* Cadastro de produtos: aba Estoque */
  .est-topo{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
  .est-topo>div{background:var(--painel2);border:1px solid var(--borda);border-radius:10px;padding:7px 14px;display:grid;gap:1px;min-width:130px}
  .est-topo span{font-size:11px;color:var(--texto2)}.est-topo b{font-size:16px}
  .est-topo .ok b{color:#16a34a}.est-topo .baixo b{color:#f59e0b}.est-topo .neg b{color:#dc2626}
  .est-filtros{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-bottom:8px}
  .entrada-livre{font:inherit;padding:6px 9px;border:1px solid var(--borda-campo);border-radius:7px;background:var(--campo);color:var(--texto);width:100%;box-sizing:border-box}
  .entrada-livre:focus{outline:none;border-color:var(--azul);background:var(--campo-foco)}
  .est-ant td{background:var(--painel2);font-weight:600}
  /* entrada, saida e saldo do historico do estoque: numeros maiores e fortes (pedido de 07/10/2026) */
  td.est-num{font-size:15.5px;font-weight:800}th.est-c,td.est-c{text-align:center}   /* as tres colunas de numero ficam no centro, mais perto do texto (pedido de 07/10/2026) */
  #estRodape td{font-weight:700;background:var(--painel2);position:sticky;bottom:0}

  /* ===== Entrada de notas ===== */
  /* ===== PERÍODO PADRÃO DO SISTEMA (◀ Anterior · data a data · Próximo ▶) — um estilo só, vale em qualquer tela ===== */
  .en-periodo{min-width:0;flex:0 0 auto}
  .en-mes{display:flex;align-items:center;gap:5px;flex-wrap:nowrap;white-space:nowrap}
  .en-mes>span{color:var(--texto2);font-weight:700;font-size:12px}
  .en-mes input[type=date]{width:128px;min-width:128px;height:32px;padding:0 6px 0 8px;font-weight:800;font-size:13.5px;letter-spacing:.01em;color:var(--texto);border:2px solid rgba(37,99,235,.55);border-radius:8px;background:var(--painel2)}
  .en-mes input[type=date]:hover{border-color:#2563eb}.en-mes input[type=date]:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.25);outline:0}
  .en-mes .en-seta,.en-seta{border:0;border-radius:8px;background:#2563eb;color:#fff;font:800 12px inherit;font-family:inherit;padding:0 9px;height:32px;line-height:32px;cursor:pointer;white-space:nowrap;box-shadow:0 2px 5px rgba(37,99,235,.30);flex:0 0 auto}
  .en-seta:hover{background:#1d4ed8}.en-seta:active{transform:translateY(1px)}
  .apagado .en-seta{background:#64748b;box-shadow:none}
  .en-resumo{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:10px}
  .en-cartao{--c:#64748b;border:2px solid var(--c);border-left-width:9px;border-radius:12px;padding:10px 18px;display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:14px;background:color-mix(in srgb,var(--c) 13%,var(--painel2));cursor:pointer;transition:transform .08s,box-shadow .08s}.en-cartao:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.18)}.en-cartao.ativo{box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 45%,transparent)}
  .en-cartao span{font-size:14px;font-weight:900;color:var(--c);text-transform:uppercase;letter-spacing:.05em}.en-cartao b{font-size:36px;font-weight:900;line-height:1;grid-row:span 2}.en-cartao small{color:var(--texto);font-size:17px;font-weight:800}
  .en-conv{display:grid;grid-template-columns:1fr 1.1fr 1.1fr 1.1fr auto 1.2fr .8fr;gap:8px;align-items:end;background:rgba(59,130,246,.10);border:1px solid rgba(59,130,246,.35);border-radius:8px;padding:8px 10px;margin:8px 0}
  .en-igual{font-size:22px;font-weight:800;padding-bottom:4px;color:var(--texto2)}
  .en-preco{display:grid;grid-template-columns:1.6fr 1fr 1.4fr;gap:10px;align-items:end;margin-top:8px}
  .en-atual{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr;gap:4px 8px;align-items:center;border:1px solid var(--borda);border-radius:8px;padding:8px 10px;font-size:12px;background:var(--painel2)}
  /* ALÇA DE LARGURA (pedido do dono, 13/10/2026): uma marca visível na borda direita de cada título mostra onde a coluna acaba e onde puxar */
  th .g-redim{position:absolute;right:0;top:0;bottom:0;width:9px;cursor:col-resize;z-index:3;background:linear-gradient(to right,transparent 3px,rgba(100,116,139,.55) 3px,rgba(100,116,139,.55) 5px,transparent 5px)}
  th .g-redim:hover{background:linear-gradient(to right,rgba(31,122,224,.25) 0,rgba(31,122,224,.9) 3px,rgba(31,122,224,.9) 6px,rgba(31,122,224,.25) 9px)}
  table.g-larguras{width:max-content;min-width:100%}
  table.g-fixa{table-layout:fixed;min-width:0}
  table.g-fixa th,table.g-fixa td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  table.g-fixa td{padding-left:6px;padding-right:6px}
  table.g-fixa th{padding-left:6px;padding-right:10px}
  /* janela do item da entrada (modelo do sistema antigo): produto do fornecedor, "hoje no cadastro" × "com esta nota" */
  .en-forn{border:1px solid var(--borda);border-left:4px solid #f59e0b;border-radius:8px;padding:6px 10px;margin-bottom:8px;background:var(--painel2)}
  .en-forn-tit{font-size:10.5px;font-weight:800;letter-spacing:.08em;color:var(--texto2);margin-bottom:3px}.en-forn-tit small{font-weight:600;letter-spacing:0}
  .en-forn-lin{display:flex;gap:6px 22px;flex-wrap:wrap;font-size:12.5px}.en-forn-lin span{color:var(--texto2)}.en-forn-lin b{color:var(--texto);margin-left:4px}.en-forn-lin .desc{flex:1 1 300px}
  /* seção Produtos da entrada: botões coloridos à esquerda e a quantidade de itens em destaque */
  .en-cont{display:inline-flex;align-items:baseline;gap:6px;background:#1d4ed8;color:#fff;border-radius:999px;padding:3px 16px;font-size:13px;font-weight:700;margin-left:6px}.en-cont b{font-size:20px;font-weight:800}
  .en-bts-itens{display:flex;gap:8px;margin-left:16px;flex-wrap:wrap}
  .en-bt{border:0!important;color:#fff!important;font-weight:800;padding:7px 14px;display:inline-flex;align-items:center;gap:8px;box-shadow:0 2px 8px rgba(0,0,0,.28)}.en-bt svg{flex:none}.en-bt kbd{background:rgba(255,255,255,.24)!important;color:#fff!important}
  .en-bt.verde{background:linear-gradient(135deg,#15803d,#22c55e)}.en-bt.azul{background:linear-gradient(135deg,#2563eb,#3b82f6)}.en-bt.laranja{background:linear-gradient(135deg,#c2410c,#f97316)}
  .en-bt:hover:not(:disabled){filter:brightness(1.12)}.en-bt:disabled{opacity:.45;box-shadow:none}
  /* botão Ver / alterar produto no alto da janela do item, ao lado do título */
  #janEnItem .janela header{gap:10px}
  #janEnItem .en-bt-prod{margin-left:16px;padding:7px 16px;font-size:14px;font-weight:800;border:0;color:#fff;background:linear-gradient(135deg,#2563eb,#3b82f6);box-shadow:0 2px 8px rgba(37,99,235,.45);display:inline-flex;align-items:center;gap:8px}
  #janEnItem .en-bt-prod svg{flex:none}#janEnItem .en-bt-prod kbd{background:rgba(255,255,255,.22);color:#fff}
  #janEnItem .en-bt-prod:hover{filter:brightness(1.1)}
  /* os DOIS produtos bem separados e identificáveis: o do fornecedor (laranja) e o meu (azul), com letra maior */
  #janEnItem .en-forn{border-left-width:6px;padding:10px 14px;margin-bottom:16px;background:rgba(245,158,11,.10);border-color:rgba(245,158,11,.55)}
  #janEnItem .en-forn-tit{font-size:14px;color:#f59e0b;letter-spacing:.06em;margin-bottom:6px}#janEnItem .en-forn-tit small{font-size:11.5px;color:var(--texto2)}
  #janEnItem .en-forn-lin{font-size:15px;gap:6px 26px}#janEnItem .en-forn-lin b{font-size:16.5px}#janEnItem .en-forn-lin .desc b{font-size:18px;color:#fbbf24}
  #janEnItem #eiForn + .grade-campos{border:1px solid rgba(59,130,246,.55);border-left:6px solid #3b82f6;border-radius:10px;padding:10px 14px 12px;margin-bottom:12px;background:rgba(59,130,246,.08)}
  #janEnItem label[for="eiProd"]{font-size:14px;font-weight:800;color:#60a5fa;letter-spacing:.04em}
  #janEnItem #eiProd{font-size:17px;font-weight:700;height:40px}
  .en-cadastro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:10px;margin-top:8px}
  .en-cad-col{border:1px solid var(--borda);border-radius:10px;padding:8px 12px;background:var(--painel2)}.en-cad-col.novo{border-color:#1f7ae0;box-shadow:inset 3px 0 0 #1f7ae0}
  .en-cad-tit{font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--texto2);margin-bottom:6px}.en-cad-tit small{text-transform:none;letter-spacing:0;font-weight:600}
  .en-cad-grade{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.en-cad-grade div{display:flex;flex-direction:column;gap:2px}.en-cad-grade span{font-size:11px;color:var(--texto2)}.en-cad-grade b{font-size:15px;white-space:nowrap}
  .en-cad-grade .en-chip{display:inline-block;width:fit-content;background:#1f7ae0;color:#fff;border-radius:6px;padding:1px 8px}
  .en-novo-grade{display:grid;grid-template-columns:1.2fr .8fr 1fr auto;gap:10px;align-items:end}.en-novo-grade .campo{margin:0}
  .en-custo-novo{height:34px;display:flex;align-items:center;justify-content:flex-end;font-weight:800;font-size:15px;padding:0 10px;border:1px solid var(--borda);border-radius:6px;background:rgba(245,158,11,.18)}
  /* janela do item da entrada: markup e preço de venda pequenos, com o markup em vermelho e em destaque */
  .en-preco{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:flex-end;align-content:flex-start}
  .en-preco .campo{width:118px;margin:0}
  .en-markup-destaque{color:#ef4444;font-size:26px;font-weight:800;line-height:1;padding-bottom:6px;min-width:110px}
  .en-markup-destaque small{display:block;font-size:10px;letter-spacing:.12em;font-weight:700;margin-bottom:2px}
  /* botão Sair vermelho (cabeçalho e fim do menu) e rodapé do menu centralizado */
  .bt-sair{display:inline-flex;align-items:center;gap:6px;background:#dc2626;color:#fff!important;font-weight:700;font-size:13px;padding:6px 14px;border-radius:8px;text-decoration:none;border:0;cursor:pointer}
  .bt-sair:hover{background:#b91c1c}.bt-sair svg{width:16px;height:16px}
  .rodape-lateral{text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 10px 14px;font-size:11.5px}
  .bt-sair-lateral{margin-bottom:4px}
  /* faixa de baixo: quem usa o sistema (pedido do dono, 30/10/2026) */
  .rodape-licenca{position:fixed;left:var(--lateral);right:0;bottom:0;z-index:40;display:flex;flex-wrap:wrap;gap:4px 16px;justify-content:center;align-items:baseline;padding:5px 16px;background:var(--painel2,#f1f5f9);border-top:1px solid var(--borda);font-size:12px;color:var(--texto2)}
  .rodape-licenca small{font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#2563eb}
  .rodape-licenca b{font-size:15px;font-weight:800;color:#0f766e}
  .rodape-licenca span{font-size:13px;font-weight:600;color:#475569}
  .rodape-licenca .lic-doc{font-weight:700;color:var(--texto);letter-spacing:.02em}
  .conteudo{padding-bottom:44px}
  body.modo-pdv .rodape-licenca{display:none}
  @media (max-width:900px){.rodape-licenca{left:0}}
  .etq-versao{background:#1d4ed8;color:#fff;font-weight:700;border-radius:999px;padding:2px 12px;font-size:11px}
  .fone-verde{color:#22c55e!important;font-weight:700;text-decoration:none}.fone-verde:hover{text-decoration:underline}
  .fr-alerta{display:flex;gap:10px;align-items:flex-start;border:1px solid #f59e0b;background:rgba(245,158,11,.12);border-radius:8px;padding:8px 12px;margin-bottom:8px;font-size:13px}.fr-alerta b{display:block;margin-bottom:2px}
  .fr-abas{display:flex;gap:6px;flex-wrap:wrap}
  .en-atual span{color:var(--texto2)}.en-atual b{text-align:right}
  /* custo atual do produto em DESTAQUE (pedido de 08/10/2026): é com ele que se compara o custo da nota */
  .en-atual{grid-template-columns:auto 1fr auto 1fr auto 1fr}.en-atual #eiCustoAt{font-size:20px;font-weight:800;color:#fff;background:#1f7ae0;border-radius:6px;padding:1px 10px}.en-atual #eiCustoAt:before{content:'R$ ';font-size:12px;font-weight:600;opacity:.85}
  .en-atual span:first-child{font-weight:700;color:var(--texto)}
  .en-parcelas{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;min-height:34px;align-items:center}
  .en-parc{display:flex;align-items:center;gap:4px;border:1px solid var(--borda);border-radius:8px;padding:3px 6px;background:var(--painel2)}
  .en-parc span{font-size:11.5px;font-weight:700;color:var(--texto2);min-width:34px}.en-parc .entrada{height:28px}.en-parc input[type=date]{width:132px}.en-parc .num-dir{width:96px}
  .en-pular{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--texto2)}
  #enItensCaixa:focus{outline:2px solid #3b82f6;outline-offset:1px}
  @media (max-width:900px){.en-conv{grid-template-columns:1fr 1fr 1fr}.en-preco,.en-resumo{grid-template-columns:1fr}.en-igual{display:none}}
  .cf-opc{display:flex;align-items:center;gap:5px;font-size:12.5px;cursor:pointer;border:1px solid var(--borda);border-radius:8px;padding:5px 10px;background:var(--painel2)}

  /* ===== Cotações ===== */
  .cq-duas{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(280px,1fr);gap:10px;align-items:start}
  .cq-mini{padding:3px 8px;font-size:11.5px;margin-right:4px;min-height:0}
  .cq-mapa th{white-space:nowrap}
  .cq-preco{white-space:nowrap}.cq-preco.menor{color:#16a34a;font-weight:800}
  .cq-preco.ganhou{background:rgba(22,163,74,.16);font-weight:800}
  .cq-preco[data-venc]{cursor:pointer}.cq-preco[data-venc]:hover{outline:2px solid #3b82f6;outline-offset:-2px}
  .cq-resultado{display:flex;flex-direction:column;gap:8px;max-height:58vh;overflow:auto}
  .cq-bloco{border:1px solid var(--borda);border-left:5px solid #16a34a;border-radius:8px;background:var(--painel2);padding:6px 10px}
  .cq-bloco.sem{border-left-color:#f59e0b}
  .cq-bloco header{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin-bottom:4px}.cq-bloco header span{font-size:12px;font-weight:700;color:var(--texto2);white-space:nowrap}
  .cq-linha{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding:2px 0;border-top:1px dashed var(--borda)}.cq-linha span:last-child{white-space:nowrap}
  .cq-total{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--borda);border-radius:8px;padding:8px 12px;font-weight:800}.cq-total b{font-size:20px;color:#16a34a}
  @media (max-width:1000px){.cq-duas{grid-template-columns:1fr}}
  .cq-mapa td:nth-child(3){white-space:normal;min-width:170px;line-height:1.25}.cq-mapa th,.cq-mapa td{padding-left:6px;padding-right:6px}
  .cq-duas{grid-template-columns:minmax(0,2.3fr) minmax(260px,1fr)}
  #cqForns td{padding-top:3px;padding-bottom:3px}#cqForns td:first-child{white-space:normal;max-width:220px}#cqForns td:nth-child(5){white-space:normal}

  /* ===== Destaque dos campos (pedido em 03/10/2026): rótulo mais forte e o campo em uso bem marcado ===== */
  .campo label.rot{font-size:11px;font-weight:800;color:var(--texto);opacity:.82}
  .campo:focus-within > label.rot{color:var(--azul);opacity:1}
  .entrada:focus{border-color:var(--azul);box-shadow:0 0 0 3px rgba(31,122,224,.45);background:var(--campo-foco)}
  .campo:focus-within .com-bt .entrada{border-color:var(--azul)}
  .ct-vincs{display:flex;flex-wrap:wrap;gap:6px;min-height:32px;align-items:center;border:1px dashed var(--borda-campo);border-radius:8px;padding:4px 6px}
  .ct-vinc{display:inline-flex;align-items:center;gap:6px;background:var(--painel2);border:1px solid var(--borda-campo);border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:700}
  .ct-vinc.paga{background:rgba(31,122,224,.16);border-color:var(--azul);color:var(--azul)}
  .ct-vinc button{border:0;background:none;color:#ef4444;font-size:16px;font-weight:800;cursor:pointer;line-height:1;padding:0 2px}

  /* ===== Robô de pagamento ===== */
  .rb-duas{display:grid;grid-template-columns:minmax(320px,1fr) minmax(0,1.5fr);gap:10px;align-items:start}
  .rb-chat{height:calc(100vh - 400px);min-height:260px;overflow:auto;border:1px solid var(--borda);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:6px;background:var(--painel2)}
  .rb-fala{max-width:86%;padding:7px 11px;border-radius:12px;font-size:13.5px;line-height:1.35;overflow-wrap:anywhere}
  .rb-fala.robo{align-self:flex-start;background:var(--painel);border:1px solid var(--borda-campo);border-bottom-left-radius:3px}
  .rb-fala.cliente{align-self:flex-end;background:#16a34a;color:#fff;border-bottom-right-radius:3px}
  .rb-fala.sistema{align-self:center;font-size:11.5px;color:var(--texto2);font-style:italic;text-align:center}
  .rb-atalhos{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px;min-height:26px}
  @media (max-width:1000px){.rb-duas{grid-template-columns:1fr}}

  /* ===== Mais destaque para atalhos, cabeçalhos e janelas de item (pedido em 03/10/2026) ===== */
  th{font-size:11px;font-weight:800;color:var(--texto);border-bottom:2px solid var(--azul)}
  .rodape-lista{font-size:12.5px;color:var(--texto);padding:8px 12px}
  .rodape-lista b{display:inline-block;background:var(--azul);color:#fff;border-radius:5px;padding:1px 7px;font-weight:800;font-size:11.5px;margin:0 1px}
  .secao .bt{border:2px solid var(--azul);font-weight:800}
  .secao .bt:disabled{border-color:var(--borda)}
  .secao .bt kbd,.bt.gravar kbd{font-size:11.5px;padding:2px 7px}
  kbd.tecla{font-size:10.5px;padding:1px 6px;font-weight:800}
  .janela-ampla > header{font-size:17px;border-bottom:3px solid var(--azul)}
  .janela-ampla .entrada{height:38px;font-size:15px}
  .janela-ampla .campo label.rot{font-size:12px}
  .janela-ampla .en-atual{font-size:13.5px}.janela-ampla .en-atual b{font-size:15px}.janela-ampla .en-atual #eiCustoAt{font-size:22px}
  .janela-ampla .rodape .bt{font-size:14px;padding:8px 14px}
  .en-xml{align-self:center;font-size:12.5px;border:1px solid var(--azul);border-radius:8px;padding:5px 10px;background:rgba(31,122,224,.10)}
  .ct-margem{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
  .ct-margem > div{border:1px solid var(--borda);border-radius:8px;padding:6px 10px;background:var(--painel2);display:flex;flex-direction:column}
  .ct-margem span{font-size:11px;font-weight:700;color:var(--texto2);text-transform:uppercase;letter-spacing:.04em}.ct-margem b{font-size:16px}
  .ct-margem .total{border:2px solid #16a34a}.ct-margem .total b{color:#16a34a;font-size:19px}.ct-margem .total.neg{border-color:#ef4444}.ct-margem .total.neg b{color:#ef4444}
  @media (max-width:900px){.ct-margem{grid-template-columns:1fr 1fr}}

  /* ===== SPED ===== */
  .sp-info{font-size:13px;display:flex;flex-direction:column;gap:8px}
  .sp-ok{border:1px solid #16a34a;border-radius:8px;padding:8px 12px;background:rgba(22,163,74,.10)}
  .sp-avisos{border:1px solid #f59e0b;border-radius:8px;padding:8px 12px;background:rgba(245,158,11,.10)}.sp-avisos ul{margin:4px 0 0 18px;padding:0}
  .sp-regs{display:flex;flex-wrap:wrap;gap:6px}.sp-regs span{border:1px solid var(--borda);border-radius:6px;padding:2px 8px;background:var(--painel2);font-size:12px}

  /* ===== Ordem de serviço ===== */
  .os-cartoes{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:8px;margin-bottom:10px}
  .os-cartao{border:1px solid var(--borda);border-top:4px solid var(--cor);border-radius:8px;background:var(--painel2);padding:6px 8px;cursor:pointer;text-align:left;color:var(--texto);font-family:inherit;display:flex;flex-direction:column}
  .os-cartao b{font-size:20px;line-height:1.1}.os-cartao span{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--texto2)}
  .os-cartao.ativo{outline:2px solid var(--cor);background:color-mix(in srgb,var(--cor) 14%,var(--painel2))}.os-cartao.ativo span{color:var(--texto)}
  .os-topo{display:flex;flex-direction:column;gap:8px}.os-num{font-size:18px}
  .os-etapas{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
  .os-etapa{display:inline-flex;align-items:center;gap:6px;border:2px solid var(--borda-campo);border-radius:999px;padding:4px 12px 4px 4px;font:700 12.5px inherit;font-family:inherit;background:var(--painel2);color:var(--texto2);cursor:pointer}
  .os-etapa i{font-style:normal;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--borda);color:var(--texto);font-size:11.5px}
  .os-etapa.feita{border-color:var(--cor);color:var(--texto)}.os-etapa.feita i{background:var(--cor);color:#fff}
  .os-etapa.atual{border-color:var(--cor);background:var(--cor);color:#fff}.os-etapa.atual i{background:#fff;color:var(--cor)}
  .os-etapa:disabled,span.os-etapa{cursor:default}.os-seta{color:var(--texto2);font-weight:800}
  .os-totais{display:grid;grid-template-columns:1fr 1fr 1fr 1.6fr;gap:10px;align-items:end;margin-top:8px}
  .os-totais > div:not(.campo):not(.total-grande){border:1px solid var(--borda);border-radius:8px;padding:5px 10px;display:flex;flex-direction:column;background:var(--painel2)}
  .os-totais span{font-size:11px;font-weight:700;color:var(--texto2);text-transform:uppercase}.os-totais > div > b{font-size:17px}
  .os-duas{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:10px;align-items:start}
  .os-andamento{margin-top:8px;max-height:260px;overflow:auto;display:flex;flex-direction:column;gap:8px}
  .os-and{display:flex;gap:8px;font-size:12.5px}.os-ponto{width:10px;height:10px;border-radius:50%;margin-top:4px;flex:none}
  #telaOs textarea.entrada{height:auto;min-height:54px;padding-top:6px;resize:vertical;line-height:1.35}
  @media (max-width:1100px){.os-cartoes{grid-template-columns:repeat(3,minmax(0,1fr))}.os-duas,.os-totais{grid-template-columns:1fr}}

  /* ===== Tudo que mostra uma tecla também aceita o mouse ===== */
  .rodape-lista b, label kbd.tecla, .rot kbd.tecla{cursor:pointer;user-select:none}
  .rodape-lista b:hover, label kbd.tecla:hover, .rot kbd.tecla:hover{filter:brightness(1.25);box-shadow:0 0 0 2px rgba(31,122,224,.35)}
  .pdv-clic{cursor:pointer;user-select:none;border-radius:6px}.pdv-clic:hover{background:rgba(255,255,255,.10)}
  .pdv-forma.off{cursor:default}

  /* ===== Painel (dashboard) ===== */
  #telaPainel{overflow:auto;padding-bottom:18px}
  .pn-filtro{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:8px 12px;border-radius:10px;margin-bottom:10px}
  .pn-rapidos{display:flex;gap:6px;flex-wrap:wrap}.pn-rapidos .bt{padding:5px 12px}
  .pn-legenda{margin-left:auto;color:var(--texto2);font-weight:600;font-size:12.5px;padding-bottom:6px}
  .pn-titulo{display:flex;align-items:center;gap:8px;margin:16px 2px 8px}.pn-titulo h2{font-size:16px;margin:0}.pn-titulo small{color:var(--texto2)}
  .pn-cartoes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:10px}.pn-cartoes.uma{grid-template-columns:1fr;align-content:start;margin:0}
  .pn-cartao{background:var(--painel);border:1px solid var(--borda);border-top:4px solid var(--cor);border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;gap:2px;min-width:0}
  .pn-cartao span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--texto2)}
  .pn-cartao b{font-size:clamp(18px,1.7vw,25px);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pn-cartao small{color:var(--texto2);font-size:12px}.pn-cartao em{font-style:normal}
  .pn-cartao.pn-clic{cursor:pointer}.pn-cartao.pn-clic:hover{box-shadow:0 0 0 2px var(--cor)}
  .pn-sobe{color:#16a34a;font-weight:700}.pn-desce{color:#dc2626;font-weight:700}
  .pn-bloco{border-radius:10px;padding:12px 14px;min-width:0}.pn-bloco h3{margin:0 0 10px;font-size:14px}.pn-bloco h3 small{color:var(--texto2);font-weight:500}
  .pn-tres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
  .pn-duas{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:10px;align-items:start}
  .pn-linha{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:start;margin-bottom:9px}
  .pn-linha>i{font-style:normal;font-weight:800;color:var(--texto2);text-align:right;padding-top:1px}
  .pn-nome{display:flex;justify-content:space-between;gap:10px}.pn-nome span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.pn-nome b{white-space:nowrap}
  .pn-barra{height:7px;border-radius:4px;background:var(--painel2);margin:3px 0 2px;overflow:hidden}.pn-barra div{height:100%;border-radius:4px}
  .pn-linha small{color:var(--texto2);font-size:11.5px}
  .pn-vazio{color:var(--texto2);margin:6px 0}
  .pn-grafico{display:flex;align-items:stretch;gap:4px;height:210px;border-bottom:2px solid var(--borda)}
  .pn-grafico.denso{gap:2px}
  .pn-col{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative;padding-bottom:0}
  .pn-haste{width:100%;max-width:46px;background:#16a34a;border-radius:4px 4px 0 0;transition:height .25s}
  .pn-col.fds .pn-haste{background:#0d9488}.pn-col.atrasado .pn-haste{background:#dc2626}.pn-col.atual .pn-haste{background:#f59e0b}
  .pn-col:hover .pn-haste{filter:brightness(1.25)}
  .pn-val{font-size:10.5px;font-weight:700;color:var(--texto2);white-space:nowrap;margin-bottom:2px}.pn-grafico.denso .pn-val{display:none}
  .pn-rot{position:absolute;top:100%;margin-top:4px;font-size:10.5px;color:var(--texto2);white-space:nowrap}
  .pn-bloco:has(.pn-grafico){padding-bottom:30px}.pn-bloco:has(.pn-chaves){padding-bottom:12px}
  .pn-chaves{display:flex;gap:16px;margin-top:26px;font-size:11.5px;color:var(--texto2)}
  .pn-chaves span::before{content:'';display:inline-block;width:10px;height:10px;border-radius:2px;background:#16a34a;margin-right:5px}
  .pn-chaves .atrasado::before{background:#dc2626}.pn-chaves .atual::before{background:#f59e0b}
  @media (max-width:1100px){.pn-cartoes{grid-template-columns:repeat(2,minmax(0,1fr))}.pn-tres,.pn-duas{grid-template-columns:1fr}}
  /* Dashboard por abas (v0.83): rosca, faixas, contas, tabelas, explicações */
  #pnAbas{margin-bottom:0}#pnAbas+.pn-filtro{border-radius:0 10px 10px 10px}
  .pn-nome b u,.pn-conta u,.pn-rosca-leg u,.pn-mini u{text-decoration:none;font-weight:700;color:var(--azul);font-size:.9em;margin-left:6px}
  .pn-duas.iguais{grid-template-columns:repeat(2,minmax(0,1fr))}.pn-duas{margin-top:10px}.pn-duas>.pn-bloco+.pn-bloco{margin-top:0}.pn-bloco+.pn-bloco,.pn-cartoes+.pn-bloco,.pn-duas+.pn-bloco{margin-top:10px}
  .pn-duas>div:not(.pn-bloco){display:flex;flex-direction:column;gap:10px}.pn-duas>div:not(.pn-bloco)>.pn-bloco{margin-top:0}
  .pn-bloco h3{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pn-bloco .pn-cartoes{margin-bottom:6px}
  .pn-explica{margin:10px 0 0;padding:8px 10px;border-left:3px solid var(--azul);background:var(--painel2);border-radius:0 6px 6px 0;color:var(--texto2);font-size:12.5px;line-height:1.45}
  .pn-info{padding:8px 10px;background:var(--painel2);border-radius:6px;color:var(--texto2);font-size:12.5px;margin-bottom:8px}
  .pn-etq{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11.5px;font-weight:700;color:var(--cor);border:1px solid var(--cor);white-space:nowrap}
  .pn-rosca-caixa{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
  .pn-rosca{width:150px;height:150px;border-radius:50%;flex:none;display:grid;place-items:center}
  .pn-rosca>div{width:92px;height:92px;border-radius:50%;background:var(--painel);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15}
  .pn-rosca>div b{font-size:20px}.pn-rosca>div small{font-size:10.5px;color:var(--texto2);text-transform:uppercase}
  .pn-rosca-leg{flex:1;min-width:220px;display:flex;flex-direction:column;gap:7px}
  .pn-rosca-leg>div{display:grid;grid-template-columns:12px minmax(0,1fr) auto auto;gap:8px;align-items:center}
  .pn-rosca-leg i{width:12px;height:12px;border-radius:3px}.pn-rosca-leg span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.pn-rosca-leg b{white-space:nowrap;min-width:96px;text-align:right}
  .pn-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px;padding-top:8px;border-top:1px solid var(--borda);color:var(--texto2);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em}
  .pn-total b{font-size:17px;color:var(--texto);text-transform:none;letter-spacing:0}
  .pn-conta>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 2px;border-bottom:1px solid var(--borda)}.pn-conta>div:last-child{border-bottom:0}
  .pn-conta span{color:var(--texto2)}.pn-conta small{display:block;font-size:11.5px;opacity:.85}.pn-conta b{white-space:nowrap}
  .pn-conta .forte span,.pn-conta .total span{color:var(--texto);font-weight:800}.pn-conta .total{border-top:2px solid var(--borda);padding-top:9px}.pn-conta .total b{font-size:16px}
  .pn-conta .sub{padding:3px 2px;border-bottom:0;font-size:12.5px}.pn-conta .verde b{color:#16a34a}.pn-conta .vermelho b{color:#dc2626}.pn-conta .laranja b{color:#f97316}
  .pn-sub{margin:12px 0 2px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--texto2)}
  .pn-margem{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:8px}.pn-margem span{color:var(--texto2)}.pn-margem b{color:#16a34a}.pn-margem .pn-barra{height:9px;margin:0}
  .pn-faixa{display:flex;height:9px;border-radius:5px;overflow:hidden;background:var(--painel2);margin-bottom:10px}.pn-faixa.alta{height:13px}.pn-faixa>div{height:100%}
  .pn-quatro{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
  .pn-mini{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--borda);border-radius:8px;min-width:0}.pn-mini.apagado{opacity:.5}
  .pn-mini span{font-weight:700;font-size:12.5px}.pn-mini i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px}.pn-mini b{font-size:17px}.pn-mini small{color:var(--texto2);font-size:11.5px}
  .pn-safra{display:grid;grid-template-columns:54px minmax(0,1fr) 110px 120px;gap:10px;align-items:center;margin-bottom:7px}.pn-safra .pn-faixa{margin:0}
  .pn-safra span{color:var(--texto2);font-weight:600}.pn-safra b{text-align:right;white-space:nowrap}.pn-safra u{text-decoration:none;font-weight:700;text-align:right;font-size:12.5px}
  .pn-tab table{width:100%}.pn-tab td{white-space:nowrap}.pn-tab td:first-child{max-width:0;width:38%;overflow:hidden;text-overflow:ellipsis}
  .pn-tab{max-height:340px;border:1px solid var(--borda);border-radius:8px}.pn-tab td small{color:var(--texto2)}.pn-tab .pn-barra{margin:0}
  .pn-rolagem{max-height:300px;overflow:auto;padding-right:4px}.pn-linha[data-grupo]{cursor:pointer}.pn-linha[data-grupo]:hover .pn-nome span{color:var(--azul)}
  .pn-grupo{display:flex;align-items:flex-end;gap:2px;height:100%;width:100%;justify-content:center}.pn-grupo .pn-haste{max-width:26px}
  .pn-chaves span::before{background:var(--cor,#16a34a)}
  .pn-cortes{margin-left:auto;display:flex;gap:6px}.pn-cortes .bt{padding:4px 10px;font-size:12px}.pn-cortes .bt.ativo{background:var(--azul);border-color:var(--azul);color:#fff}
  .pn-titulo h2{font-size:15px}
  /* Consultar vendas (v0.84) */
  .cv-filtro{margin-bottom:0}.cv-filtro .campo{min-width:0}.cv-filtro>.bt{align-self:flex-end;margin-left:auto}
  .cv-resumo{display:flex;flex-wrap:wrap;gap:6px 22px;align-items:baseline;padding:6px 4px 10px;color:var(--texto2);font-size:13px}
  .cv-resumo b{color:var(--texto);font-size:14px}.cv-resumo b.vermelho{color:#dc2626}.cv-resumo u{text-decoration:none;color:var(--azul);font-weight:700}
  .cv-resumo .total{margin-left:auto}.cv-resumo .total b{font-size:19px;color:var(--azul)}
  /* Consultar vendas — cartões de totais e a ponte com as notas emitidas (02/11/2026) */
  .cv-cartoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:8px;margin:4px 0 8px}
  .cv-cartao{background:var(--painel);border:1px solid var(--borda);border-top:4px solid var(--cor);border-radius:10px;padding:8px 12px;display:flex;flex-direction:column;gap:1px;min-width:0}
  .cv-cartao span{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--texto2)}
  .cv-cartao b{font-size:clamp(17px,1.25vw,22px);line-height:1.15;white-space:nowrap;color:var(--cor)}
  .cv-cartao small{color:var(--texto2);font-size:11.5px;line-height:1.3}.cv-cartao small u{text-decoration:none;font-weight:800;color:var(--cor)}
  .cv-ponte{margin:0 0 8px;padding:8px 12px;border:1px solid #bfdbfe;border-left:5px solid #2563eb;border-radius:10px;background:#eff6ff;font-size:12.5px;color:#1e3a8a;line-height:1.45}
  .cv-aviso-custo{margin:0 0 6px;font-size:12px;font-weight:700;color:#b45309}
  .cv-pend{color:#b45309;font-size:12px}.cv-pend b{font-weight:800}
  .pn-sublista{margin:8px 0 2px;padding:8px 12px;border:1px solid var(--borda);border-radius:8px;background:var(--painel);font-size:12.5px;line-height:1.5}
  .pn-tab tr.pn-sublinha td{color:var(--texto2)}
  .pn-tab.pn-notas td:first-child{max-width:none;width:auto;white-space:nowrap;overflow:visible}.pn-tab.pn-notas td.pn-nota{white-space:normal;text-align:left;line-height:1.35}
  /* Lista das notas emitidas no período (notas-periodo.js) — 03/11/2026 */
  .np-acoes{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}.np-ver{font-weight:800}
  .np-faixa{margin:0 0 10px;padding:10px 12px;border:1px solid var(--borda);border-left:5px solid #2563eb;border-radius:10px;background:var(--painel)}
  .np-faixa-topo{display:flex;flex-wrap:wrap;gap:2px 12px;align-items:baseline;margin-bottom:8px}.np-faixa-topo small{color:var(--texto2)}
  .np-eq{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}
  .np-total,.np-parte{display:flex;flex-direction:column;gap:1px;padding:6px 12px;border:1px solid var(--borda);border-top:4px solid var(--cor,#2563eb);border-radius:10px;min-width:170px}
  .np-total{--cor:#2563eb;background:color-mix(in srgb,#2563eb 8%,var(--painel))}
  .np-total span,.np-parte span{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--texto2)}
  .np-total b,.np-parte b{font-size:18px;color:var(--cor,#2563eb);white-space:nowrap}.np-total small,.np-parte small{color:var(--texto2);font-size:11.5px}
  .np-sinal{align-self:center;font-weight:800;font-size:20px;color:var(--texto2)}
  .np-fora{margin:8px 0 0;font-size:12.5px;color:var(--texto2);line-height:1.5}
  .np-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
  .np-chip{background:var(--painel);border:1px solid var(--borda);border-top:4px solid var(--cor);border-radius:10px;padding:6px 12px;display:flex;flex-direction:column;gap:1px;text-align:left;cursor:pointer;min-width:150px}
  .np-chip span{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--texto2)}.np-chip b{font-size:18px;color:var(--cor)}.np-chip small{color:var(--texto2);font-size:12px}
  .np-chip.ativo{box-shadow:0 0 0 2px var(--cor);background:color-mix(in srgb,var(--cor) 8%,var(--painel))}
  .np-selo{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:800;color:#fff;background:var(--cor)}
  .np-rodape{margin-top:8px;font-size:12.5px;color:var(--texto2)}
  .np-tabela td:nth-child(3){max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.np-tabela td:last-child{white-space:normal;min-width:120px;line-height:1.25}
  .cv-agrupar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:2px 4px 4px}.cv-agrupar span{color:var(--texto2);font-weight:600;font-size:12.5px;margin-right:2px}
  .cv-agrupar .bt{padding:5px 12px;font-size:12.5px}.cv-agrupar .bt.ativo{background:var(--azul);border-color:var(--azul);color:#fff}
  .cv-sem{color:var(--texto2);font-style:italic;font-size:12px}
  /* documento fiscal clicavel (imprime) e a janelinha "o que imprimir" — pedido de 07/10/2026 */
  .cv-doc{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}.cv-doc:hover b{text-decoration:underline}
  .cv-imp{display:grid;gap:10px}.cv-imp .bt{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center;text-align:left;padding:12px 14px;font-size:15px;height:auto}
  .cv-imp .bt small{grid-column:2;color:var(--texto2);font-weight:400;font-size:12.5px}.cv-imp .bt kbd{grid-row:span 2}
  .cv-detalhe{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(0,1fr);gap:12px;margin-top:10px}.cv-detalhe h4{margin:0 0 6px;font-size:13px}
  .cv-pagto{border:1px solid var(--borda);border-radius:8px;padding:4px 10px}
  .cv-pagto>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--borda)}.cv-pagto>div:last-child{border-bottom:0}
  .cv-pagto small{color:var(--texto2);margin-left:4px}.cv-pagto u{text-decoration:none;color:var(--azul);font-size:12px;margin-left:4px}.cv-pagto b{white-space:nowrap}.cv-pagto .nota span{color:var(--texto2)}
  .cv-montante{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}
  .cv-montante>div{flex:1;min-width:170px;border:1px solid var(--borda);border-top:4px solid var(--cor,#2563eb);border-radius:10px;padding:8px 12px;display:flex;flex-direction:column;gap:1px}
  .cv-montante span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--texto2)}.cv-montante b{font-size:19px;white-space:nowrap}
  .cv-montante small{color:var(--texto2);font-size:12px}.cv-montante u{text-decoration:none;color:var(--azul);font-weight:700}
  .cv-montante .montante{flex:1.4;background:var(--painel2)}.cv-montante .montante b{font-size:24px}
  @media (max-width:1100px){.cv-detalhe{grid-template-columns:1fr}}
  @media (max-width:1100px){.pn-quatro{grid-template-columns:repeat(2,minmax(0,1fr))}.pn-duas.iguais{grid-template-columns:1fr}.pn-safra{grid-template-columns:48px minmax(0,1fr) 90px}.pn-safra u{display:none}}

  /* senha que não é a do usuário (certificado): mascarada sem ser campo de senha, para o navegador não oferecer salvar */
  .senha-mascarada{-webkit-text-security:disc;text-security:disc}

  /* ===== Janela SEFAZ e certificado ===== */
  .sf-topo{font-size:13px;color:var(--texto2);margin-bottom:10px}.sf-espera{color:var(--texto2);margin:18px 0;text-align:center}
  .sf-linha{display:flex;gap:12px;align-items:center;border:1px solid var(--borda);border-left:5px solid var(--cor);border-radius:8px;padding:9px 12px;margin-bottom:8px;background:var(--painel2)}
  .sf-luz{width:14px;height:14px;border-radius:50%;background:var(--cor);box-shadow:0 0 0 4px color-mix(in srgb,var(--cor) 25%,transparent);flex:0 0 auto}
  .sf-linha b{display:block;font-size:14px}.sf-linha small{display:block;color:var(--texto2);margin-top:2px;line-height:1.35}
  .sf-rodape{color:var(--texto2);font-size:11.5px;margin:10px 0 0;text-align:right}

  /* NF-e: detalhes da nota selecionada (chave, protocolo, autorizada em) */
  .nf-detalhe{display:flex;gap:22px;flex-wrap:wrap;align-items:center;padding:7px 10px 2px;border-top:1px solid var(--borda);margin-top:6px;min-height:30px}
  .nf-detalhe div{display:flex;gap:7px;align-items:baseline}.nf-detalhe span{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--rotulo)}
  .nf-detalhe .nf-cancelada{background:rgba(220,38,38,.14);border:1px solid #dc2626;border-radius:7px;padding:3px 10px;align-items:center}.nf-detalhe .nf-cancelada span,.nf-detalhe .nf-cancelada b{color:#dc2626}
  .nf-detalhe .nf-cancelada em{font-style:normal;font-size:12px;color:var(--texto2);max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:6px}
  /* NFC-e: tipo de emissão na lista, motivo do erro e correção do NCM nos itens do cupom (pedido de 07/10/2026) */
  .etq.nc-cont{background:#d97706;color:#fff;font-size:11px;padding:1px 8px;margin:0}
  /* nome comprido de cliente nao empurra o Total para fora da lista: corta com reticencias (o nome inteiro aparece ao parar o mouse) */
  #ncLinhas td.nc-cli{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .nc-motivo{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:8px 0 2px;padding:7px 10px;border:1px solid #dc2626;border-left-width:5px;border-radius:7px;background:rgba(220,38,38,.08);font-size:13px;line-height:1.45}
  .nc-motivo>b{color:#dc2626;white-space:nowrap}.nc-motivo>span{flex:1;min-width:240px}.nc-motivo[hidden]{display:none}
  .nc-motivo.pend{border-color:#d97706;background:rgba(217,119,6,.08)}.nc-motivo.pend>b{color:#b45309}
  /* na lista, a faixa do motivo gruda no pé da tela enquanto o lugar dela está fora da vista (tela baixa): o motivo aparece sem rolar */
  #ncMotivo{position:sticky;bottom:8px;z-index:4;background:linear-gradient(rgba(220,38,38,.10),rgba(220,38,38,.10)),var(--painel);box-shadow:0 -6px 18px rgba(0,0,0,.16)}
  #ncMotivo.pend{background:linear-gradient(rgba(217,119,6,.10),rgba(217,119,6,.10)),var(--painel)}
  /* lista de cupons enxuta (pedido de 07/10/2026): colunas so da largura do que mostram; sequencia, numero e serie no centro; o cliente fica com o resto */
  th.nc-est{width:1%;white-space:nowrap}#ncLinhas td,#nfLinhas td{white-space:nowrap}th.nc-est.cen,#ncLinhas td.cen,#nfLinhas td.cen{text-align:center}
  #nfLinhas td.nf-cli{max-width:300px;overflow:hidden;text-overflow:ellipsis}#nfLinhas td.texto2{max-width:320px;overflow:hidden;text-overflow:ellipsis}
  /* cupom DEVOLVIDO (pedido de 07/10/2026): selo na lista ao lado do tipo de emissao, faixa de baixo e a janela "Devolucao do cupom" */
  b.nc-demora{font-size:13.5px;font-weight:800}b.nc-demora.fora{color:var(--vermelho)}
  .etq.nc-dev{background:#7c3aed;color:#fff;font-size:10.5px;padding:1px 6px;margin:0;border:0;white-space:nowrap;font-family:inherit;line-height:inherit}button.etq.nc-dev{cursor:pointer}button.etq.nc-dev:hover{filter:brightness(1.15)}
  .etq.nc-dev.parc{background:#a855f7}.etq.nc-dev.pend{background:transparent;color:#7c3aed;box-shadow:inset 0 0 0 1px #7c3aed}
  .nc-motivo.dev{border-color:#7c3aed;background:rgba(124,58,237,.08)}.nc-motivo.dev>b{color:#6d28d9}
  #ncMotivo.dev{background:linear-gradient(rgba(124,58,237,.10),rgba(124,58,237,.10)),var(--painel)}
  .dc-cupom{display:flex;flex-wrap:wrap;gap:4px 18px;align-items:baseline;margin:0 0 8px;padding:8px 12px;border:1px solid var(--borda);border-radius:9px;background:var(--painel2);font-size:13.5px}
  .dc-cupom>b:first-child{font-size:17px}
  .dc-contas{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin-top:10px}
  .dc-contas>div{border:1px solid var(--borda);border-radius:9px;padding:8px 12px;background:var(--painel2)}
  .dc-contas span{display:block;font-size:12px;color:var(--texto2)}.dc-contas b{font-size:19px}.dc-contas small{display:block;font-size:11.5px;color:var(--texto2);margin-top:2px}
  .dc-contas .dc-dinheiro{border-color:#16a34a;box-shadow:inset 0 0 0 1px #16a34a}.dc-contas .alerta{border-color:#d97706;box-shadow:inset 0 0 0 1px #d97706}
  .dc-falta{margin-top:8px;padding:7px 10px;border:1px solid #dc2626;border-left-width:5px;border-radius:7px;background:rgba(220,38,38,.08);font-size:13px;line-height:1.45}
  .dc-nota{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;padding:7px 10px;border:1px solid var(--borda);border-radius:8px;margin-top:6px;font-size:13px}.dc-nota small{flex-basis:100%;color:var(--texto2)}.dc-nota small.dc-vale{display:flex;align-items:center;gap:10px;color:var(--texto)}
  #janDocItens .nc-ncm{width:112px;font-family:Consolas,monospace}#janDocItens tr.nc-apontado td{background:rgba(220,38,38,.12)}
  #janDocItens .rodape [hidden]{display:none!important}
  /* Carta de correção da NF-e */
  .cce-regras{border:1px solid var(--borda);border-radius:8px;padding:8px 12px;background:var(--painel2);font-size:12.5px;line-height:1.45}.cce-regras>b{display:block;margin-bottom:4px}.cce-regras div{margin-top:3px}
  .cce-regras span{font-weight:800;margin-right:4px}.cce-regras .ok,.cce-situacao .ok{color:#16a34a}.cce-regras .erro,.cce-situacao .erro{color:#dc2626}.cce-regras .aten{color:#d97706}
  .cce-situacao{margin-top:10px;padding:7px 10px;border-left:4px solid var(--azul);background:var(--painel2);border-radius:0 6px 6px 0;font-size:13px}.cce-situacao span{font-weight:800}
  .cce-carta{border:1px solid var(--borda);border-radius:8px;padding:7px 10px;margin-top:6px;opacity:.75}.cce-carta.vale{opacity:1;border-color:#16a34a}
  .cce-carta .cab{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--texto2)}.cce-carta .cab b{color:var(--texto);font-size:13px}.cce-carta .bts{margin-left:auto;display:flex;gap:5px}.cce-carta .bts .bt{padding:3px 9px;font-size:11.5px}
  .cce-carta p{margin:6px 0 2px;white-space:pre-wrap}.etq-ok,.etq-velha{font-size:10.5px;font-weight:800;padding:1px 8px;border-radius:999px;border:1px solid #16a34a;color:#16a34a}.etq-velha{border-color:var(--texto2);color:var(--texto2)}
  /* Caixa: abertos em destaque, contagem por cédula, escolha do modelo de impressão */
  .cx-abertos{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
  .cx-aberto{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:9px 14px;border:2px solid #16a34a;border-radius:10px;background:rgba(22,163,74,.10)}
  /* width/height/display: desfaz o quadradinho de 32 px do ".selo" da marca (menu), que espremia este e deixava o escrito sumido por cima do verde claro */
  .cx-aberto .selo{width:auto;height:auto;display:inline-block;white-space:nowrap;background:#16a34a;color:#fff;font-weight:800;font-size:14px;padding:5px 14px;border-radius:8px;letter-spacing:.04em}
  .cx-aberto small{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--texto2)}.cx-aberto b{font-size:15px}.cx-aberto .bt{margin-left:auto;border-color:#dc2626}
  .cx-aberto.nenhum{border-color:var(--borda);background:var(--painel2)}.cx-aberto.nenhum .selo{background:#64748b}
  .cx-contagem{margin-top:10px;border:1px solid var(--borda);border-radius:10px;padding:8px 10px}
  .cx-cedulas{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:6px 0 8px}
  .cx-cedulas label{display:flex;flex-direction:column;gap:3px}.cx-cedulas b{text-align:center;font-size:17px;padding:5px 0;border-radius:7px;background:var(--painel2);border:1px solid var(--borda)}
  .cx-cedulas label:focus-within b{background:#dc2626;color:#fff;border-color:#dc2626}.cx-cedulas input{text-align:center;padding:4px}
  .cx-cont-total td{border-top:2px solid var(--borda);font-size:14px}
  .cx-imp{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;text-align:left;white-space:normal;height:auto}.cx-imp b{font-size:15px}.cx-imp small{color:var(--texto2);font-weight:500}
  .nf-detalhe b{font-size:13px}.nf-chave{font-family:Consolas,monospace;letter-spacing:.02em;cursor:pointer}.nf-chave:hover{color:#2563eb}

  /* ===== Fiscal › Documentos: abas NF-e · NFC-e · NFS-e (a mesma faixa nas três telas) ===== */
  .df-abas{display:flex;gap:6px;margin-bottom:10px;border-bottom:3px solid var(--cor,#7c3aed);padding:0 2px}
  .df-aba{border:1px solid var(--borda);border-bottom:0;border-top:3px solid var(--cor);border-radius:10px 10px 0 0;background:var(--painel2);color:var(--texto);font:800 14px inherit;font-family:inherit;padding:6px 18px 7px 10px;cursor:pointer;display:flex;align-items:center;gap:9px;margin-bottom:-3px;opacity:.82}
  .df-aba .bloco-ico{background:var(--cor);width:26px;height:26px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;color:#fff;flex:0 0 auto}
  .df-aba kbd{font-size:10px;font-weight:700;opacity:.65;background:transparent;border:1px solid currentColor;border-radius:4px;padding:0 4px}
  .df-aba:hover{opacity:1;box-shadow:inset 0 0 0 1px var(--cor)}
  .df-aba.ativa{background:var(--cor);color:#fff;border-color:var(--cor);opacity:1;padding-top:8px;padding-bottom:9px}
  .df-aba.ativa .bloco-ico{background:rgba(255,255,255,.22)}
  .nf-faixa[style*="--cor"]{background:linear-gradient(90deg,color-mix(in srgb,var(--cor) 78%,#000),var(--cor))}
  /* legenda dos documentos fiscais: uma linha só, embaixo dos filtros, igual nas três abas e em qualquer largura de tela */
  .nf-filtros .nf-legenda{flex:1 0 100%;margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px;min-width:0;padding:6px 12px}
  .nf-filtros .nf-legenda .rot{margin:0;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--rotulo)}
  .nf-filtros .nf-legenda div:not(.rot){gap:6px}.nf-filtros .nf-legenda b{margin-left:4px}
  .nf-legenda i{border:1px solid rgba(148,163,184,.55)}

  .inter-contas .sf-linha{flex-wrap:wrap}.inter-contas .bt{padding:4px 12px}

  /* Gerar boleto (contas a receber) */
  .gb-modos{display:flex;gap:8px}.gb-modos .bt{flex:1;justify-content:center;flex-direction:column;gap:0;padding:8px;font-weight:800}.gb-modos .bt small{font-weight:500;color:var(--texto2)}
  .gb-modos .bt.prim{background:#ea580c;border-color:#ea580c;color:#fff}.gb-modos .bt.prim small{color:#ffedd5}
  .gb-juros{display:flex;gap:8px;align-items:center;margin-top:8px;font-size:13px}

  /* ===== Central de manifesto ===== */
  .mf-tudo{display:flex;gap:6px;align-items:center;height:32px;font-size:13px;white-space:nowrap}
  .mf-aviso{flex:1 0 100%;font-size:12.5px;color:var(--texto2);background:rgba(245,158,11,.10);border:1px solid rgba(245,158,11,.35);border-radius:8px;padding:5px 10px}.mf-aviso:empty{display:none}
  /* Planilhas da SEFAZ (robô do portal): aviso laranja de notas sem XML, grade de comparação nota a nota e registro da tentativa */
  .mf-aguardando{margin:8px 0;padding:10px 14px;border:1px solid #f59e0b;border-left-width:8px;background:rgba(245,158,11,.12);border-radius:10px;color:var(--texto);font-size:14px;line-height:1.45}
  .ll-grade{width:100%;border-collapse:collapse;font-size:13px}.ll-grade th,.ll-grade td{padding:5px 8px;border-bottom:1px solid var(--borda)}
  .ll-grade .ll-gr{text-align:center;background:rgba(13,148,136,.12);font-weight:800}.ll-grade .ll-sit{font-size:18px;font-weight:900;color:#16a34a;text-align:center}
  .ll-grade .ll-mau-l td{background:rgba(220,38,38,.12);color:#b91c1c;font-weight:700}.ll-grade .ll-mau-l .ll-sit{color:#dc2626}.ll-grade .ll-ch{font:11px Consolas,monospace;color:var(--texto2)}
  .pl-regtxt{margin:6px 0 10px;padding:8px 10px;background:#0f172a;color:#e2e8f0;border-radius:8px;font:12px/1.5 Consolas,monospace;white-space:pre-wrap;max-height:240px;overflow:auto}
  /* aviso grande de falha na busca da SEFAZ (vermelho para bloqueio 656; mais leve para outros erros) */
  .mf-alerta{display:flex;gap:16px;align-items:flex-start;margin:10px 0;padding:16px 20px;border:2px solid #dc2626;border-left-width:10px;border-radius:12px;background:rgba(220,38,38,.10);color:var(--texto)}
  .mf-alerta.leve{border-color:#f59e0b;background:rgba(245,158,11,.12)}
  .mf-alerta-ico{font-size:34px;line-height:1}.mf-alerta-corpo{flex:1;min-width:0}
  .mf-alerta-tit{font-size:20px;font-weight:800;line-height:1.25}
  .mf-alerta-hora{display:inline-block;margin:8px 0 2px;padding:7px 14px;border-radius:8px;background:#dc2626;color:#fff;font-size:17px}.mf-alerta.leve .mf-alerta-hora{background:#b45309}.mf-alerta-hora.liberado{background:#16a34a}
  .mf-alerta p{margin:8px 0 6px;font-size:15px;line-height:1.5}.mf-alerta ol{margin:4px 0 8px 22px;padding:0;font-size:14.5px;line-height:1.5}.mf-alerta small{display:block;color:var(--texto2);font-size:12.5px}
  .mf-cartoes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:10px 0}
  .mf-cartao{text-align:left;border:1px solid var(--borda);border-left:5px solid var(--cor);border-radius:8px;background:var(--painel);color:var(--texto);padding:6px 12px;cursor:pointer;font-family:inherit;display:grid;gap:0}
  .mf-cartao span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--texto2)}.mf-cartao b{font-size:22px;line-height:1.1}.mf-cartao small{color:var(--texto2);font-size:11.5px}
  .mf-cartao:hover{box-shadow:0 0 0 1px var(--cor)}.mf-cartao.ativo{background:color-mix(in srgb,var(--cor) 16%,var(--painel));box-shadow:0 0 0 2px var(--cor)}
  .mf-ok{color:#16a34a;font-weight:800}.mf-chave{font-family:Consolas,monospace;font-size:12px;color:var(--texto2)}
  .mf-opcoes{display:grid;gap:6px}.mf-opcoes label{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;border:1px solid var(--borda);border-radius:8px;padding:8px 10px;cursor:pointer}
  .mf-opcoes small{grid-column:2;color:var(--texto2)}.mf-opcoes label:has(input:checked){border-color:#0d9488;background:rgba(13,148,136,.10)}
  .mf-info{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;margin-top:10px}.mf-info div{display:grid}.mf-info span{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--rotulo)}.mf-info p{grid-column:1/-1;margin:4px 0 0}
  @media (max-width:1100px){.mf-cartoes{grid-template-columns:repeat(3,minmax(0,1fr))}}

  .inter-taxas{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px}.inter-taxas .entrada{width:74px;height:28px}.inter-taxas i{color:var(--texto2)}

  /* ===== PDV: enviar agora / depois e pedidos não fiscais ===== */
  .pdv-envio-total{text-align:center;font-size:15px;color:var(--texto2);margin-bottom:12px}.pdv-envio-total b{font-size:26px;color:var(--texto);margin-left:8px}
  .pdv-envio-op{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .pdv-envio-op .bt{flex-direction:column;align-items:center;gap:4px;padding:18px 12px;text-align:center;height:auto}
  .pdv-envio-op .bt kbd{font-size:16px;padding:3px 12px}.pdv-envio-op .bt b{font-size:19px}.pdv-envio-op .bt small{color:var(--texto2);font-weight:500;white-space:normal}
  #peAgora{border-color:#16a34a}#peAgora:hover,#peAgora:focus{background:rgba(22,163,74,.14)}#peDepois{border-color:#f59e0b}#peDepois:hover,#peDepois:focus{background:rgba(245,158,11,.14)}
  .pdv-ped-filtro{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:8px}
  .pdv-fiscal{color:#16a34a;font-weight:700}.pdv-nao-fiscal{color:#d97706;font-weight:700}.pdv-fiscal-linha{margin-top:6px;font-size:14px}.pdv-tempos{margin-top:8px;font-size:clamp(15px,1.25vw,20px);color:var(--texto2)}.pdv-tempos b{color:var(--texto)}
  #janPdvTroco .pdv-fiscal-linha{font-size:clamp(17px,1.5vw,24px);margin-top:8px}.pdv-cupom-num{font-size:1.9em;line-height:1;vertical-align:-.08em;margin:0 .12em}
  .pdv-envio-op .bt{cursor:pointer}.pdv-envio-op .bt:hover{border-color:#2563eb}.pdv-envio-op .bt:focus{outline:3px solid #2563eb;outline-offset:2px;border-color:#2563eb}

  /* ===== Contas a receber: ordenar pelo título, colunas de pagamento, sugestões de cliente ===== */
  .fin-grade th[data-ord]{cursor:pointer;user-select:none}.fin-grade th[data-ord]:hover{color:var(--azul)}
  .fin-grade th.ord-cima::after{content:' ▲';font-size:9px;color:var(--azul)}.fin-grade th.ord-baixo::after{content:' ▼';font-size:9px;color:var(--azul)}
  .fin-grade .col-pg{display:none}.fin-grade.fin-mostra-pg .col-pg{display:table-cell;white-space:nowrap}
  .fin-pessoa .com-bt{position:relative}
  .fin-sugestoes{position:absolute;left:0;right:0;top:100%;z-index:40;background:var(--painel);border:1px solid var(--azul);border-radius:0 0 8px 8px;box-shadow:0 10px 24px rgba(0,0,0,.35);max-height:320px;overflow:auto}
  .fin-sugestoes div{display:grid;grid-template-columns:70px 1fr auto;gap:10px;align-items:baseline;padding:6px 10px;cursor:pointer}
  .fin-sugestoes div:hover,.fin-sugestoes div.sel{background:rgba(37,99,235,.18)}.fin-sugestoes small{color:var(--texto2)}

  /* ===== Grades personalizáveis ===== */
  .g-oculta{display:none !important}
  th[draggable=true]{cursor:grab}th.g-arrastando{opacity:.4}th.g-alvo{box-shadow:inset 3px 0 0 var(--azul)}
  /* filtro por coluna das grades */
  tr.g-fora{display:none !important}
  th[data-col]{white-space:nowrap}
  th .g-filtro{display:inline-block;margin-left:1px;padding:0 1px;border-radius:4px;cursor:pointer;opacity:.55;font-style:normal;font-size:11px;line-height:14px;vertical-align:middle}
  th .g-filtro::before{content:"▾"}
  th:hover .g-filtro{opacity:.8}th .g-filtro:hover{opacity:1;background:var(--azul);color:#fff}
  th.g-filtrada .g-filtro{opacity:1;background:var(--azul);color:#fff}
  .g-barra-filtro{position:sticky;left:0;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:5px 10px;background:var(--azul);color:#fff;font-size:13px}
  .g-barra-filtro button{border:1px solid rgba(255,255,255,.6);background:transparent;color:#fff;border-radius:5px;cursor:pointer;font-weight:800;padding:0 7px;line-height:20px}
  .g-barra-filtro button:hover{background:#fff;color:var(--azul)}
  .g-barra-filtro span{margin-left:auto;opacity:.9}
  td.g-total-filtrado{color:var(--azul);font-weight:800}
  .g-menu-filtro{position:fixed;z-index:300;width:290px;background:var(--painel);color:var(--texto);border:1px solid var(--azul);border-radius:8px;box-shadow:0 12px 30px rgba(0,0,0,.4);padding:8px;font-size:13px}
  .g-menu-filtro>input{width:100%;box-sizing:border-box;padding:6px 8px;border:1px solid var(--borda);border-radius:6px;background:var(--fundo);color:var(--texto)}
  .g-menu-acoes{display:flex;gap:6px;margin:6px 0}
  .g-menu-acoes button{flex:1;border:1px solid var(--borda);background:transparent;color:var(--texto);border-radius:6px;padding:4px 6px;cursor:pointer}
  .g-menu-acoes button:hover{border-color:var(--azul);color:var(--azul)}
  .g-menu-lista{max-height:260px;overflow:auto}
  .g-menu-lista label{display:flex;gap:6px;align-items:center;padding:3px 4px;border-radius:5px;cursor:pointer}
  .g-menu-lista label:hover{background:rgba(59,130,246,.15)}
  .g-menu-lista label span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .g-menu-lista label small,.g-menu-mais{color:var(--texto2)}
  .g-botao{border:0;background:transparent;color:var(--texto2);cursor:pointer;font-size:14px;padding:0;line-height:1}.g-botao:hover{color:var(--azul)}
  .g-lista{display:grid;gap:4px;max-height:52vh;overflow:auto}
  .g-lista>div{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--borda);border-radius:8px;padding:4px 8px 4px 10px;background:var(--painel2)}
  .g-lista label{display:flex;gap:8px;align-items:center;font-weight:600;cursor:pointer}.g-lista .bt{padding:2px 9px;margin-left:4px}

  /* imagens da empresa (boleto) */
  .emp-imagens{display:grid;grid-template-columns:1fr 1fr;gap:12px}.emp-img{border:1px solid var(--borda);border-radius:8px;padding:10px 12px;display:grid;gap:6px;background:var(--painel2)}
  .emp-img small{color:var(--texto2)}.emp-img-previa{height:90px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:6px;overflow:hidden}
  .emp-img-previa img{max-width:100%;max-height:100%}.emp-img-previa span{color:#64748b;font-size:12px}
  @media (max-width:900px){.emp-imagens{grid-template-columns:1fr}}

  /* Central de manifesto: abas Notas · Comandos · Atividade */
  .mf-abas{display:flex;gap:6px;margin-bottom:10px;border-bottom:3px solid #0d9488;padding:0 2px}
  .mf-aba{border:1px solid var(--borda);border-bottom:0;border-top:3px solid #0d9488;border-radius:10px 10px 0 0;background:var(--painel2);color:var(--texto);font:800 14px inherit;font-family:inherit;padding:6px 16px 7px;cursor:pointer;display:flex;align-items:center;gap:8px}
  .mf-aba b{background:#0d948833;border-radius:10px;padding:0 8px;font-size:12px}
  .mf-aba:hover{box-shadow:inset 0 0 0 1px #0d9488}
  .mf-aba.ativa{background:#0d9488;color:#fff;border-color:#0d9488;padding-top:8px;padding-bottom:9px}
  .mf-aba.ativa b{background:rgba(255,255,255,.25)}
  .mf-parado{color:#dc2626;font-weight:700}

  /* Régua de cobrança */
  .rg-topo{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.rg-topo .mf-aviso{flex:1 1 280px;min-width:0}.rg-topo .check{white-space:nowrap;flex:0 0 auto}
  .rg-previa{white-space:pre-wrap;background:var(--painel2);border:1px solid var(--borda);border-radius:8px;padding:10px 12px;min-height:44px;font-size:14px}
  .rg-etapa{margin-top:10px}.rg-etapa .secao{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:6px}.rg-etapa textarea{width:100%;resize:vertical;font-family:inherit}
  .rg-dias{display:inline-flex;gap:6px;align-items:center}.rg-dias input{width:56px}
  .rg-geral{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-top:10px}

  .rg-modo{background:#dc2626;color:#fff;font-weight:800;border-radius:8px;padding:6px 10px;margin-bottom:6px}.rg-modo.teste{background:#f59e0b;color:#1f2937}
  .rg-uso{border:2px solid #16a34a}
  .rg-modo.simulacao{background:#7c3aed;color:#fff}
  .rg-sim{margin-top:12px;padding:10px 12px;border:2px dashed #7c3aed;border-radius:10px}
  .rg-sim-linha{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) auto;gap:8px;padding:3px 0;border-bottom:1px solid var(--borda);font-size:13px}
  .rg-roteiro{margin-top:12px;padding:8px 12px;border-radius:8px;background:var(--painel2);border:1px solid var(--borda);font-weight:700;font-size:13px;line-height:1.7}
  .rg-roteiro .ok{color:#15803d}.rg-roteiro .falta{color:#b91c1c}
  .rg-limpa-aviso{background:#fef2f2;border:2px solid #dc2626;color:#7f1d1d;border-radius:10px;padding:10px 12px;font-weight:700;margin-bottom:10px}

  /* Valores dos campos com mais destaque (pedido dele em 03/10/2026: "ficou meio apagado, o Sim ou Não"): letra mais forte e um pouco maior */
  .entrada{font-weight:700;font-size:13.5px}
  .entrada::placeholder{font-weight:400}
  select.entrada option{font-weight:600}
  .entrada[readonly],.entrada:disabled{color:var(--texto)}   /* campo travado (consulta): mesma cor forte; quem diz que está travado é o fundo */

  /* Configurações */
  .cfg-opcoes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .cfg-opcoes label{border:1px solid var(--borda);border-radius:10px;padding:10px 12px;cursor:pointer;display:block;background:var(--painel2)}
  .cfg-opcoes label:has(input:checked){border-color:#0ea5e9;box-shadow:inset 0 0 0 1px #0ea5e9}
  .cfg-opcoes small,.cfg-atalhos small{display:block;color:var(--texto2);margin-top:3px;font-weight:400}
  .cfg-formas{display:flex;flex-wrap:wrap;gap:8px 22px}
  .cfg-atalhos{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px}.cfg-atalhos .bt{display:block;text-align:left;height:auto;padding:8px 12px}
  @media (max-width:900px){.cfg-opcoes{grid-template-columns:1fr}}

  /* Perfis de acesso */
  .pf-tabela .pf-col{text-align:center;width:150px}.pf-tabela input[type=checkbox]{width:18px;height:18px}
  .pf-menu td{background:var(--painel2);font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.06em;color:var(--rotulo)}
  .pf-mini{height:20px;padding:0 6px;font-size:10px;display:inline-flex}

  .fin-rn{border:0;border-radius:5px;background:#8b5cf6;color:#fff;font:800 10px inherit;font-family:inherit;padding:1px 5px;cursor:pointer;vertical-align:middle}

  /* ===== Contrato de serviço: blocos com destaque (11/10/2026, pedido do dono) ===== */
  #telaContratos .ct-topo{align-items:flex-end;gap:12px;flex-wrap:wrap}
  #telaContratos .ct-numero{margin-left:10px;font-size:15px}
  #telaContratos .ct-sit{display:flex;flex-direction:column;min-width:200px}
  #telaContratos .ct-sit select{font-weight:800;border-width:2px;height:38px}
  #telaContratos .ct-motivo{min-width:260px}
  #telaContratos .ct-bloco{border:1px solid var(--borda);border-left:5px solid var(--cor,#1f7ae0);border-radius:10px;padding:12px 14px;margin-top:12px;background:color-mix(in srgb,var(--cor,#1f7ae0) 5%,var(--painel,transparent))}
  #telaContratos .ct-bloco-tit{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}
  #telaContratos .ct-bloco-tit span{font-weight:800;font-size:13.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--cor,#1f7ae0)}
  #telaContratos .ct-bloco-tit small{opacity:.75}
  #telaContratos .ct-b-emp{--cor:#1f7ae0}
  #telaContratos .ct-b-venc{--cor:#16a34a}
  #telaContratos .ct-b-reaj{--cor:#f59e0b}
  #telaContratos .ct-b-obs{--cor:#64748b}
  #telaContratos .ct-b-com{--cor:#7c3aed}
  #telaContratos .ct-grande{height:42px;font-size:16px;font-weight:700}
  #telaContratos .ct-dep{margin-top:12px;margin-left:22px;padding:10px 12px;border-left:3px dashed var(--cor);background:rgba(31,122,224,.05);border-radius:0 8px 8px 0}
  #telaContratos .ct-sub span{font-size:12px}
  #telaContratos .ct-dep-grade{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px}
  #telaContratos .ct-vincs{display:flex;flex-wrap:wrap;gap:6px;min-height:38px;align-items:center;border:1px dashed var(--borda-campo,var(--borda));border-radius:8px;padding:5px 8px}
  #telaContratos .ct-vinc{display:inline-flex;align-items:center;gap:6px;border:1px solid #1f7ae0;color:#1f7ae0;border-radius:999px;padding:3px 10px;font-weight:700;background:rgba(31,122,224,.08)}
  #telaContratos .ct-vinc button{border:0;background:transparent;color:#dc2626;cursor:pointer;font-size:16px;line-height:1}
  @media (max-width:900px){#telaContratos .ct-dep-grade{grid-template-columns:1fr}}
  /* serviços */
  #telaContratos .ct-servicos{border:2px solid rgba(22,163,74,.55)}
  #telaContratos .ct-lanca{border:1px solid rgba(22,163,74,.45);border-left:5px solid #16a34a;border-radius:10px;padding:12px 14px;background:rgba(22,163,74,.06)}
  #telaContratos .ct-lancar{height:42px;font-size:15px;font-weight:800;background:#16a34a;color:#fff;border-color:#15803d}
  #telaContratos .ct-tab{margin-top:12px;border:1px solid var(--borda);border-radius:10px;overflow:auto}
  #telaContratos .ct-tab table{width:100%;border-collapse:collapse;font-size:14.5px}
  #telaContratos .ct-tab thead th{background:rgba(31,122,224,.10);border-bottom:2px solid #1f7ae0;padding:9px 12px;font-size:12px;text-transform:uppercase;letter-spacing:.05em}
  #telaContratos .ct-tab-serv thead th{background:rgba(22,163,74,.12);border-bottom-color:#16a34a}
  #telaContratos .ct-tab-com thead th{background:rgba(124,58,237,.12);border-bottom-color:#7c3aed}
  #telaContratos .ct-tab tbody td{padding:10px 12px;border-bottom:1px solid var(--borda)}
  #telaContratos .ct-tab tbody tr:nth-child(even){background:rgba(127,127,127,.06)}
  #telaContratos .ct-tab tbody tr.sel{outline:2px solid #1f7ae0;outline-offset:-2px}
  #telaContratos .ct-tab .rem{border:1px solid #dc2626;border-radius:6px;background:transparent;color:#dc2626;cursor:pointer;padding:2px 7px}
  #telaContratos .ct-mensal{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-top:12px;border:2px solid #ff4d4d;border-radius:12px;padding:10px 18px;background:rgba(255,77,77,.07)}
  #telaContratos .ct-mensal span{font-weight:800;letter-spacing:.08em;color:var(--texto2)}
  #telaContratos .ct-mensal b{font-size:34px;color:#ff4d4d;font-weight:800}
  /* comissão e margem */
  #telaContratos .ct-comissao{border:2px solid rgba(124,58,237,.45)}
  #telaContratos .ct-comissao .ct-margem{margin-top:6px}
  #telaContratos .ct-comissao .ct-margem > div{padding:10px 14px}
  #telaContratos .ct-comissao .ct-margem b{font-size:21px}
  #telaContratos .ct-comissao .ct-margem .total b{font-size:25px}
  /* ===== Grade do produto: cartões do saldo ===== */
  .ct-kpi{border:1px solid var(--borda);border-radius:10px;padding:6px 14px;background:var(--painel2);display:flex;flex-direction:column;min-width:150px}
  .ct-kpi span{font-size:11px;font-weight:700;color:var(--texto2);text-transform:uppercase;letter-spacing:.04em}
  .ct-kpi b{font-size:20px}

  /* Histórico de movimentação: documento clicável (12/10/2026) */
  .est-doc{cursor:pointer;color:var(--azul);text-decoration:underline dotted}.est-doc:hover{text-decoration:underline}

  /* Listas fiscais (NF-e, NFC-e, NFS-e, CT-e, MDF-e): números, datas e autorização CENTRALIZADOS no título e nas linhas (pedido do dono, 13/10/2026) */
  table th.cen, table td.cen { text-align: center; }

  /* SUGESTÕES DE PRODUTO (pedido do dono, 13/10/2026): caixa mais larga e mais alta, nome grande, preço e estoque em destaque — igual em todas as telas */
  .fin-sugestoes.sug-produto{max-height:480px;border-width:2px}
  .fin-sugestoes.sug-produto div{grid-template-columns:84px minmax(0,1fr) 150px 170px;gap:14px;align-items:center;padding:11px 16px;font-size:15px;border-bottom:1px solid var(--borda)}
  .fin-sugestoes.sug-produto div:last-child{border-bottom:0}
  .sug-produto .sp-cod{font-size:15px;font-weight:800;color:var(--azul)}
  .sug-produto .sp-nome{font-size:15.5px;font-weight:600;white-space:normal;line-height:1.25}
  .sug-produto .sp-ref{font-style:normal;font-size:12px;color:var(--texto2);margin-left:6px}
  .sug-produto .sp-preco{font-size:18px;font-weight:900;text-align:center;white-space:nowrap}
  .sug-produto .sp-preco em{display:block;font-style:normal;font-size:11px;font-weight:700;color:#dc2626}
  .sug-produto .sp-est{font-size:14px;font-weight:800;text-align:center;border-radius:8px;padding:6px 10px;white-space:nowrap}
  .sug-produto .sp-est b{font-size:17px}
  .sug-produto .sp-est.ok{background:rgba(22,163,74,.16);color:#15803d}
  .sug-produto .sp-est.zero{background:rgba(220,38,38,.14);color:#b91c1c}
  .sug-produto .sp-est.servico{background:rgba(100,116,139,.16);color:var(--texto2)}

/* PESQUISA DE PESSOA em destaque (pedido do dono, 13/10/2026): código · NOME FANTASIA grande + razão social ao lado · CNPJ/CPF em negrito. Mesmo padrão em todas as telas. */
.fin-sugestoes div:has(>.sp-pessoa){grid-template-columns:86px minmax(0,1fr) 190px;gap:14px;align-items:center;padding:10px 16px;font-size:15px;border-bottom:1px solid var(--borda)}
.fin-sugestoes div:has(>.sp-pessoa):last-child{border-bottom:0}
.fin-sugestoes .sp-cod{font-size:14px}
.fin-sugestoes .sp-pessoa{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fin-sugestoes .sp-pessoa strong{font-size:16px;font-weight:800}
.fin-sugestoes .sp-pessoa em{font-style:normal;color:var(--texto2);margin-left:6px}
.fin-sugestoes .sp-doc{font-weight:700;text-align:right;white-space:nowrap}
.lupa-pessoa strong{font-size:14px;font-weight:800}
/* "ESTE CADASTRO É" em destaque, logo ao lado da data de fundação (pedido do dono, 13/10/2026): o pessoal precisa ver o que marcar */
@media(min-width:1180px){
  .grade-campos.pes-id .campo:has(.marcadores){justify-self:start;text-align:left;padding:3px 14px 6px;border:2px solid var(--azul);border-radius:10px;background:rgba(37,99,235,.10)}
  .grade-campos.pes-id .campo:has(.marcadores) .rot{color:var(--azul);font-weight:800}
  .grade-campos.pes-id .marcadores{justify-content:flex-start;gap:20px;height:auto}
  .grade-campos.pes-id .marcadores label{font-size:14px;font-weight:800}
  .grade-campos.pes-id .marcadores input{width:20px;height:20px;accent-color:var(--azul)}
}

/* PEDIDOS E ORÇAMENTOS — mais destaque (pedido do dono, 13/10/2026): três blocos com faixa de título e cor própria (filtros · lista · produtos),
   cor da linha pela situação (aberto = âmbar, finalizado = verde, cancelado = vermelho apagado) e a linha escolhida bem marcada. */
.ped-bloco{border-left:6px solid var(--ped-cor,#2563eb);padding-top:0!important;overflow:hidden}
.ped-azul{--ped-cor:#2563eb}.ped-ambar{--ped-cor:#d97706}.ped-verde{--ped-cor:#16a34a}
.ped-cab{display:flex;align-items:center;gap:10px;margin:0 -12px 10px;padding:7px 14px;background:color-mix(in srgb,var(--ped-cor) 16%,transparent);border-bottom:2px solid var(--ped-cor)}
.ped-cab b{font-size:15px;letter-spacing:.2px;color:var(--ped-cor)}
.ped-cab small{color:var(--texto2);font-size:12px}
.ped-cab-ico{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--ped-cor);color:#fff;font-weight:800;font-size:12px}
.ped-bloco>.tabela-caixa,.ped-bloco>.rodape-lista{margin-left:0}
#telaPedidos tr.ped-st-aberto td:first-child{box-shadow:inset 5px 0 0 #d97706}
#telaPedidos tr.ped-st-aberto td{background:rgba(217,119,6,.10)}
#telaPedidos tr.ped-st-finalizado td:first-child{box-shadow:inset 5px 0 0 #16a34a}
#telaPedidos tr.ped-st-finalizado td{background:rgba(22,163,74,.08)}
#telaPedidos tr.ped-st-cancelado td:first-child{box-shadow:inset 5px 0 0 #dc2626}
#telaPedidos tr.sel td{background:rgba(37,99,235,.28)!important;font-weight:700}
#telaPedidos tr.sel td:first-child{box-shadow:inset 6px 0 0 #2563eb}
#telaPedidos tr.sel{outline:2px solid #2563eb;outline-offset:-2px}
#telaPedidos tr.ped-st-cancelado.inativo td{opacity:.75}
/* PEDIDOS: texto da lista e dos produtos com mais contraste (pedido do dono, 13/10/2026: "o nome do cliente, a origem… muito apagado") */
#telaPedidos tbody td{color:var(--texto);font-size:13.5px;font-weight:600}
#telaPedidos tbody tr td:nth-child(6){font-weight:800}
#telaPedidos thead th{color:var(--texto);font-weight:800}
#telaPedidos tbody tr.ped-st-cancelado td{color:#b91c1c}
#telaPedidos .ped-cab small{color:var(--texto);opacity:.75}
#telaPedidos #pedDetLinhas td{color:var(--texto);font-size:13.5px;font-weight:600}

/* TELA DE INÍCIO (pedido do dono, 13/10/2026): só o fundo, sem nenhuma tela escolhida; a casinha do topo volta para ela */
#telaInicio{display:grid;place-items:center;min-height:calc(100vh - 130px);background:#fff;border-radius:12px}
#telaInicio[hidden]{display:none}
#telaInicio img{max-width:100%;max-height:calc(100vh - 150px);object-fit:contain;display:block}
.bt-tema#btInicio{gap:6px}

/* CONTAS A RECEBER / A PAGAR — mesmo desenho dos pedidos (13/10/2026): 3 blocos com faixa e cor; texto da lista mais forte */
#telaFinanceiro .ped-bloco{margin-top:10px}
#telaFinanceiro .fin-sem-cartao{padding:0!important;border:0!important;background:none!important;box-shadow:none!important;margin:0 0 8px}
#telaFinanceiro .fin-grade tbody td{font-size:13.5px;font-weight:600}
#telaFinanceiro .fin-grade thead th{font-weight:800}
#telaFinanceiro #finProdutos td{font-size:13.5px;font-weight:600}
#telaFinanceiro .ped-cab small{color:var(--texto);opacity:.75}

/* CONTROLE DE CAIXA — mais destaque (pedido do dono, 13/10/2026: "visualmente saber onde está cada coisa") */
#telaCaixa .cx-abas{margin-bottom:10px}
#telaCaixa .cx-abas .aba{font-size:15px;font-weight:800;padding:10px 26px;border:2px solid #2563eb;color:#2563eb;background:color-mix(in srgb,#2563eb 8%,transparent);border-bottom:0;border-radius:10px 10px 0 0}
#telaCaixa .cx-abas .aba.ativa{background:#2563eb;color:#fff}
#telaCaixa .cx-subabas .aba{font-weight:800;border:2px solid #d97706;color:#b45309;background:color-mix(in srgb,#d97706 8%,transparent)}
#telaCaixa .cx-subabas .aba.ativa{background:#d97706;color:#fff}
#telaCaixa .cx-aberto{border-left:10px solid #16a34a;background:color-mix(in srgb,#16a34a 12%,transparent);border-radius:8px}
#telaCaixa .cx-aberto.nenhum{border-left-color:#64748b;background:color-mix(in srgb,#64748b 14%,transparent)}
#telaCaixa .cx-filtros{background:color-mix(in srgb,#2563eb 5%,transparent);border-radius:8px;padding:8px}
#telaCaixa .cx-tabela thead th,#telaCaixa #cxSub thead th{background:color-mix(in srgb,#2563eb 22%,transparent);font-weight:800;font-size:12px;border-bottom:2px solid #2563eb;border-right:1px solid color-mix(in srgb,#2563eb 35%,transparent)}
#telaCaixa .cx-tabela tbody td,#telaCaixa #cxSub tbody td{font-size:13.5px;font-weight:600;border-right:1px solid var(--borda)}
#telaCaixa .cx-tabela tbody tr:nth-child(even) td,#telaCaixa #cxSub tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--texto) 4%,transparent)}
#telaCaixa .cx-tabela tbody tr.sel td{background:rgba(37,99,235,.28)!important;font-weight:800}
#telaCaixa .cx-tabela tbody tr.sel{outline:2px solid #2563eb;outline-offset:-2px}
#telaCaixa .ped-cab small{color:var(--texto);opacity:.75}

/* ATALHOS DO TOPO, ao lado do título (pedido do dono, 13/10/2026): Início (azul) e Consulta de preço (verde) bem à vista */
.topo-atalhos{display:flex;gap:8px;align-items:center;margin-left:12px}
.bt-topo{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:10px;border:0;color:#fff;font-weight:800;font-size:13.5px;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.bt-topo .i{width:18px;height:18px}
.bt-topo-inicio{background:linear-gradient(135deg,#2563eb,#1d4ed8)}
.bt-topo-preco{background:linear-gradient(135deg,#16a34a,#15803d)}
.bt-topo:hover{filter:brightness(1.1)}
.bt-topo kbd{background:rgba(255,255,255,.22);color:#fff;border:0;border-radius:5px;padding:1px 5px;font-weight:700}
@media (max-width:640px){.bt-topo kbd{display:none}.topo-atalhos{margin-left:0}}

/* MENU EM SANFONA: o título do grupo é um botão (abre/recolhe) com setinha */
.menu-grupo{cursor:pointer;user-select:none}
.menu-grupo:hover{background:rgba(255,255,255,.08)}
.menu-grupo .gseta{margin-left:auto;font-style:normal;font-size:18px;line-height:1;opacity:.8;transition:transform .15s}
.menu-grupo.aberto .gseta{transform:rotate(90deg)}


/* CELULAR: botão ☰ abre o menu lateral por cima do conteúdo */
.bt-menu-cel{display:none;background:#334155}
@media (max-width:640px){
  .bt-menu-cel{display:inline-flex}
  .lateral.aberta{display:block!important;position:fixed;top:0;bottom:0;left:0;width:84vw;max-width:340px;z-index:200;box-shadow:6px 0 24px rgba(0,0,0,.45)}
  .topo{flex-wrap:wrap;gap:8px}
  .topo-atalhos{width:100%;order:5;flex-wrap:wrap}
}
/* CORREÇÃO (14/10/2026): o bloco colorido cortava a lista de nomes que aparece enquanto se digita o cliente (overflow:hidden). A lista precisa sair do bloco. */
.ped-bloco{overflow:visible!important}
.ped-bloco>.ped-cab{border-radius:8px 8px 0 0}
.ped-bloco .fin-sugestoes,.ped-bloco .lupa-sug{z-index:70}

/* ===== Documentos fiscais: campo Cliente em destaque e nome do cliente forte na lista (pedido do dono, 15/10/2026) ===== */
.df-cliente{background:#fff7d6;border:1.5px solid #f2c94c;border-radius:10px;padding:6px 10px 8px}
[data-tema="escuro"] .df-cliente{background:#2a2410;border-color:#a16207}
.df-cliente .rot{color:#7a5200}[data-tema="escuro"] .df-cliente .rot{color:#fde68a}
.df-cliente-campo{font-size:15px!important;font-weight:700;padding:8px 10px!important}
.nf-cli{font-weight:800;font-size:13.5px;color:#0e2452}[data-tema="escuro"] .nf-cli{color:#dbe4f3}

/* entrada de nota: situação do vínculo do item, ao lado do título "Produto do fornecedor" (pedido do dono, 15/10/2026) */
.en-vinc{display:inline-block;margin-left:10px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:900;letter-spacing:0;vertical-align:middle}
.en-vinc.pend{background:#fef3c7;color:#b45309;border:1px solid #fcd34d}.en-vinc.ok{background:#dcfce7;color:#15803d;border:1px solid #86efac}.en-vinc.nao{background:#ffedd5;color:#c2410c;border:1px solid #fdba74}

/* painel do produto na janela do item da entrada: foto, grupo, classificação, NCM (15/10/2026) */
.en-pp{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;margin:8px 0 4px;padding:10px 12px;border:1px solid var(--borda);border-radius:10px;background:var(--painel2)}
.en-pp[hidden]{display:none}
.en-pp-quadro{width:84px;height:84px;border:1px dashed var(--borda-campo);border-radius:8px;display:grid;place-items:center;overflow:hidden;background:var(--campo);font-size:11px;color:var(--texto2)}
.en-pp-quadro img{width:100%;height:100%;object-fit:contain}
.en-pp-fbts{display:flex;gap:4px;margin-top:5px}.en-pp-fbts .bt{padding:3px 7px;font-size:11px}
.en-pp-campos{display:grid;grid-template-columns:2fr 2fr 1.2fr;gap:8px 10px;align-items:end}
.en-pp-grava{grid-column:1/-1;display:flex;align-items:center;gap:10px}

/* baixa de contas (pagar e receber): conta, forma e Lançar em destaque — a pessoa precisa escolher (pedido do dono, 15/10/2026) */
.bx-obriga{border:2px solid #f59e0b!important;background:#fffbeb!important;font-weight:700;box-shadow:0 0 0 3px rgba(245,158,11,.18)}
[data-tema="escuro"] .bx-obriga{background:#2a2410!important}
.bx-obriga-rot{color:#b45309!important;font-weight:800}.bx-obriga-rot span{font-weight:700;font-size:10.5px;text-transform:none}
.bx-lancar{background:#16a34a!important;border-color:#15803d!important;color:#fff!important;font-weight:800;font-size:14px;padding:9px 12px}
.bx-lancar:hover{filter:brightness(1.08)}.bx-lancar kbd{background:#fff;color:#166534}

/* baixa de contas: a lista de valores lançados em destaque, bem legível (pagar e receber — pedido do dono, 15/10/2026) */
.bx-lanc-tit{margin-top:10px;padding:6px 10px;background:#0e2452;color:#fff;border-radius:8px 8px 0 0;font-weight:800;letter-spacing:.06em;font-size:12.5px}
.bx-lanc-tit small{font-weight:600;letter-spacing:0;opacity:.8}
.bx-lancados{border:2px solid #0e2452;border-top:0;border-radius:0 0 8px 8px;overflow:hidden;width:100%}
.bx-lancados thead th{background:#e8f1ff;color:#0e2452;font-weight:800}
.bx-lancados tbody td{font-size:16px;font-weight:700;padding:10px 12px;background:#f0fdf4;border-top:1px solid #bbf7d0}
.bx-lancados tbody td.dir{font-size:20px;font-weight:900;color:#15803d}
[data-tema="escuro"] .bx-lancados tbody td{background:#0f2a1c;border-color:#14532d}[data-tema="escuro"] .bx-lancados tbody td.dir{color:#4ade80}
[data-tema="escuro"] .bx-lancados thead th{background:#162a4a;color:#dbe4f3}
.bx-resumo{font-size:15px}.bx-resumo b{font-size:18px}
#bxRestante{color:#dc2626}

/* janela do item da entrada: produto mais fácil de alterar e preço de venda em destaque (pedido do dono, 15/10/2026) */
.en-alt-prod{background:#2563eb!important;border-color:#1d4ed8!important;color:#fff!important;font-weight:800;white-space:nowrap}
.en-alt-prod kbd{background:#fff;color:#1e3a8a}
.en-pp{grid-template-columns:auto 1fr}
.en-pp-quadro{width:136px!important;height:136px!important}
.en-pp-fbts .bt{padding:5px 10px!important;font-size:12px!important}
#eiPpGravar{background:#16a34a!important;border:2px solid #15803d!important;color:#fff!important;font-size:15px!important;font-weight:900;padding:10px 20px!important;box-shadow:0 2px 8px rgba(22,163,74,.35)}
#eiPpGravar:hover{filter:brightness(1.1)}
#eiVenda{border:3px solid #7c3aed!important;background:#f5f3ff!important;color:#4c1d95!important;font-size:20px!important;font-weight:900!important;box-shadow:0 0 0 4px rgba(124,58,237,.18)}
[data-tema="escuro"] #eiVenda{background:#241a45!important;color:#ddd6fe!important}

/* entrada de compra: "já foi paga?" e a conta de onde saiu o dinheiro, em destaque (15/10/2026) */
.en-paga .bx-obriga{border:2px solid #f59e0b!important;background:#fffbeb!important;font-weight:700}

/* NCM do fornecedor diferente do cadastro: destaque nos dois campos (15/10/2026) */
#eiNcmForn.en-ncm-dif{background:#dc2626;color:#fff;padding:2px 8px;border-radius:6px;box-shadow:0 0 0 3px rgba(220,38,38,.25)}
#eiPpNcm.en-ncm-dif{border:3px solid #dc2626!important;background:#fef2f2!important;color:#991b1b!important;font-weight:900}
.en-ncm-aviso{margin-top:4px;padding:5px 8px;border-radius:6px;background:#fee2e2;color:#991b1b;font-size:12px;line-height:1.35;font-weight:700}
.en-ncm-aviso[hidden]{display:none}

/* botão "usar o NCM da nota" no aviso de NCM diferente (15/10/2026) */
.en-ncm-usar{display:block;margin-top:6px;padding:7px 10px;font-weight:800;font-size:13px;background:#dc2626;color:#fff;border:2px solid #7f1d1d;border-radius:8px;cursor:pointer}
.en-ncm-usar:hover{background:#b91c1c}
/* PREÇO DE VENDA ATUAL em destaque na janela do item da entrada (pedido do dono, 15/10/2026): pílula verde grande, como o custo é azul */
#eiVendaAt{display:inline-block;font-size:24px!important;font-weight:900!important;color:#fff!important;background:#15803d;border:2px solid #14532d;border-radius:8px;padding:2px 12px;box-shadow:0 2px 8px rgba(21,128,61,.4)}
.en-cad-grade div:has(#eiVendaAt) span{font-weight:800;color:var(--texto)}

/* GRUPO por nome em destaque + busca da classificação (15/10/2026) */
.fin-sugestoes.sug-grupo{max-height:420px;border-width:2px}
.fin-sugestoes.sug-grupo div{display:block;padding:11px 16px;font-size:18px;font-weight:800;border-bottom:1px solid var(--borda);letter-spacing:.01em}
.fin-sugestoes.sug-grupo div:last-child{border-bottom:0}
.fin-sugestoes.sug-grupo mark{background:#fde68a;color:#111;border-radius:3px;padding:0 2px}
#eiPpGrupo,#npGrupo{font-size:16px;font-weight:800}
.en-tipo-busca{margin-bottom:5px;border:2px solid #2563eb;font-weight:700}
/* número da nota/venda na MOVIMENTAÇÃO do produto: bem visível que dá para clicar (pedido do dono, 16/10/2026) */
.est-doc{cursor:pointer;color:#1d4ed8!important;text-decoration:underline!important;text-underline-offset:3px;font-weight:800}
.est-doc:before{content:'🔗 ';font-size:12px}.est-doc:hover{background:rgba(29,78,216,.14);border-radius:4px}

/* entrada de nota (16/10): o bloco "Hoje, no cadastro" ganha espaço e cada coluna toma o tamanho do que mostra — o preço de venda aparece inteiro */
.en-cadastro{grid-template-columns:max-content minmax(0,1fr)}
.en-cad-grade{grid-template-columns:repeat(4,max-content);justify-content:space-between;gap:8px 14px}
#eiVendaAt{white-space:nowrap}

/* Monitor de caixas (16/10): linhas dos terminais em destaque — letra maior e escura, nome do computador forte, linha marcada bem visível */
#tmLinhas td{font-size:15.5px;font-weight:700;color:var(--texto);padding-top:9px;padding-bottom:9px}
#tmLinhas td:nth-child(2){font-size:18px;font-weight:900}
#tmLinhas td:nth-child(1) b{font-size:20px}
#tmLinhas td span[style*="texto2"]{color:var(--texto)!important;opacity:.7;font-weight:700}
#tmLinhas tr.marcada td{background:#bfdbfe;color:#0b1f4d}
#tmLinhas tr.marcada td:first-child{box-shadow:inset 5px 0 0 #1d4ed8}

/* FECHAMENTO DO CAIXA — contagem em 3 abas igual ao 55 PDV instalado (17/10/2026): F1 dinheiro por cédula · F2 cartão/Pix/voucher · F3 crediário */
.cx-ct-abas{display:flex;gap:8px;margin:6px 0 8px;flex-wrap:wrap}
.cx-ct-abas .bt{font-size:15px;font-weight:800;padding:8px 14px}
.cx-ct-abas .bt.prim{background:#1d4ed8;color:#fff;border-color:#1d4ed8}
.cx-ct-grade{gap:12px}
.cx-ct-grade b{font-size:24px;font-weight:900;border:2px solid #94a3b8;padding:6px 0}
.cx-ct-grade input{height:54px;font-size:26px!important;font-weight:900!important;text-align:center;color:#000;background:#fff;border:3px solid #1d4ed8;border-radius:10px;box-shadow:0 2px 6px rgba(29,78,216,.25)}
.cx-ct-grade input:focus{border-color:#f59e0b;background:#fffbeb;box-shadow:0 0 0 4px rgba(245,158,11,.45)}
.cx-ct-grade label:focus-within b{background:#dc2626;color:#fff;box-shadow:0 0 0 3px rgba(220,38,38,.35)}
.cx-ct-lista{width:100%;border-collapse:collapse;font-size:18px;margin-top:4px}
.cx-ct-lista th{background:#bfdbfe;color:#0b1f4d;padding:6px 10px;text-align:left;font-size:15px}
.cx-ct-lista th.dir,.cx-ct-lista td.dir{text-align:right}
.cx-ct-lista td{padding:5px 10px;border-bottom:1px solid #cbd5e1}
.cx-ct-lista tfoot td{background:#bfdbfe;color:#0b1f4d;font-size:20px;border-bottom:0}
.cx-ct-formas input{height:50px;font-size:24px!important;font-weight:900!important;text-align:right;padding-right:12px;min-width:170px;max-width:200px;color:#000;background:#fff;border:3px solid #1d4ed8;border-radius:10px}
.cx-ct-formas input:focus{border-color:#f59e0b;background:#fffbeb;box-shadow:0 0 0 4px rgba(245,158,11,.45)}
#janCxFechar .pdv-fech-grid{margin-bottom:6px}

/* PEDIDO — itens mais legíveis para o operador (pedido do dono, 17/10/2026): nome do produto em destaque e a observação em azul, com filete na lateral */
#pItens td,#pedDetLinhas td{padding-top:6px;padding-bottom:6px;vertical-align:top}
#pItens .item-nome,#pedDetLinhas .item-nome{font-weight:700;font-size:13.5px;color:var(--texto)}
#pItens .item-obs,#pedDetLinhas .item-obs{display:block;margin-top:3px;padding-left:7px;border-left:3px solid var(--azul);font-style:normal;font-weight:600;font-size:12px;color:var(--azul)}
#pItens .item-obs b,#pedDetLinhas .item-obs b{font-weight:800;letter-spacing:.03em}
#pedDetLinhas tr:nth-child(even) td{background:rgba(37,99,235,.045)}
#pItens tr:not(.sel):nth-child(even) td{background:rgba(37,99,235,.045)}

/* lista de clientes/fornecedores: o NOME fica em destaque (negrito e cor cheia), como a descrição nos produtos (dono, 18/10/2026) */
.nome-lista{font-weight:700;color:var(--texto)}

/* DESTAQUE em tudo que é pesquisa (dono, 18/10/2026): o nome que a pesquisa traz vem em negrito e cor cheia, não apagado */
#telaLista td[data-c="nome"],#telaLista td[data-c="descricao"],#telaLista td[data-c="fantasia"],#telaLista td[data-c="razao"],#telaLista td[data-c="titulo"]{font-weight:700;color:var(--texto)}
#lupaLista .lupa-nome,#lupaLista strong{font-weight:700;color:var(--texto)}
#lupaLista>div{font-size:14px}
.fin-sugestoes div>span,.fin-sugestoes div>strong{font-weight:700;color:var(--texto)}
.fin-sugestoes .sp-nome,.fin-sugestoes .sp-pessoa strong{font-weight:700;color:var(--texto)}
/* menu lateral: a logomarca com o nome do sistema FICA FIXA no topo; só a lista de telas rola */
.lateral .marca{position:sticky;top:0;z-index:5;background:var(--lat)}

/* ===== Custo operacional do serviço (aba do pedido, 18/10/2026) ===== */
.ped-abas{display:flex;gap:6px;margin:0 0 10px;border-bottom:2px solid var(--borda)}
.ped-aba{border:0;background:transparent;padding:8px 16px;font-weight:700;font-size:14px;color:var(--texto2);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px}
.ped-aba.ativa{color:var(--azul);border-bottom-color:var(--azul)}
.ped-aba small{font-weight:600;opacity:.8}
.cc-cartoes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:6px 0}
.cc-cartao{border:1px solid var(--borda);border-top:4px solid var(--azul);border-radius:10px;padding:8px 12px;background:var(--painel2)}
.cc-cartao span{display:block;font-size:12px;font-weight:700;color:var(--texto2);text-transform:uppercase;letter-spacing:.04em}
.cc-cartao b{display:block;font-size:22px;font-weight:800;margin-top:2px}
.cc-cartao em{display:block;font-size:11.5px;font-style:normal;color:var(--texto2)}
.cc-novo{margin-top:12px;border:1px dashed var(--borda);border-radius:10px;padding:10px 12px}
.cc-tipos{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.cc-campos{margin:0}
.cc-rodape{display:flex;align-items:center;gap:16px;margin-top:8px}
.cc-rodape .dica{flex:1;margin:0}
@media (max-width:900px){ .cc-cartoes{grid-template-columns:repeat(2,minmax(0,1fr))} }
.ped-abas[hidden]{display:none}
.cc-cartoes{grid-template-columns:repeat(4,minmax(0,1fr))}
.cc-mais{border:1px solid #ea8a00;background:transparent;color:#ea8a00;border-radius:999px;padding:0 8px;font-size:11px;font-weight:800;cursor:pointer;margin-left:6px;line-height:18px}
.cc-mais:hover{background:#ea8a00;color:#fff}
.cc-faixa{margin:8px 0;padding:8px 12px;border-left:4px solid #ea8a00;background:rgba(234,138,0,.1);border-radius:6px}
.cc-rasc td{background:rgba(234,138,0,.07)} .cc-rasc-t{margin-left:4px;color:#ea8a00;font-weight:700}
.cc-erro td{background:rgba(224,49,49,.12)}

/* Produto (pedido do dono, 19/10/2026): preço de venda e estoque atual em destaque, para ver na hora quanto custa e quanto tem */
.campo:has(#venda) .entrada,.campo:has(#estoque) .entrada{font-size:19px;font-weight:800;height:42px;border-width:2px}
.campo:has(#venda) .entrada{border-color:#16a34a;color:#15803d}
.campo:has(#estoque) .entrada{border-color:#2563eb;color:#1d4ed8}
.campo:has(#venda) label.rot,.campo:has(#estoque) label.rot{font-size:12px;font-weight:800}

/* Entrada de nota (pedido do dono, 19/10/2026): itens da nota com mais destaque (código, descrição, CFOP, comprado, entra no estoque, preço, subtotal) */
#enItensCaixa td{font-size:14.5px;font-weight:700;padding:8px 8px}
#enItensCaixa td:nth-child(4){font-size:15px;font-weight:800}
#enItensCaixa th{font-size:11.5px;font-weight:800}
#enItensCaixa td.dir{font-weight:800}

/* CAIXINHAS DE MARCAR (pedido do dono, 19/10/2026): todo checkbox do sistema no estilo do verde com visto branco */
input[type=checkbox]{appearance:none;-webkit-appearance:none;width:20px;height:20px;min-width:20px;border:2px solid #94a3b8;border-radius:6px;background:#fff;cursor:pointer;vertical-align:middle;position:relative;flex:none;margin:0 4px 0 0;transition:background .12s,border-color .12s}
input[type=checkbox]:checked{background:#16a34a;border-color:#16a34a}
input[type=checkbox]:checked::after{content:'';position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg)}
input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}
input[type=checkbox]:focus-visible{outline:3px solid rgba(22,163,74,.35);outline-offset:2px}

  /* ===== Bancos de cobrança (Configurações › Boleto): faixa de abas, uma por banco ===== */
  .bcx-abas{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px;border-bottom:1px solid var(--borda);padding-bottom:8px}
  .bcx-aba{display:flex;align-items:center;gap:7px;border:1px solid var(--borda);border-bottom:3px solid var(--cor);border-radius:8px 8px 4px 4px;background:var(--painel2);color:var(--texto);padding:6px 12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
  .bcx-aba i{width:10px;height:10px;border-radius:50%;background:var(--cor);flex:0 0 auto}
  .bcx-aba em{font-style:normal;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--texto2);background:rgba(148,163,184,.2);border-radius:4px;padding:0 5px}
  .bcx-aba.ativa{background:color-mix(in srgb,var(--cor) 16%,var(--painel));border-color:var(--cor)}.bcx-aba.inativa{opacity:.6}
  .bcx-aba:hover{background:color-mix(in srgb,var(--cor) 10%,var(--painel2))}.bcx-aba:focus-visible{outline:2px solid var(--cor);outline-offset:1px}
  .bcx-painel .secao{margin-top:6px}.bcx-grade{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px 10px;margin:6px 0 4px}
  .bcx-grade .campo{margin:0}.bcx-grade input[type=color]{padding:1px 3px;height:29px}
  .bcx-dica{display:block;color:var(--texto2);font-size:11.5px;line-height:1.35;margin-top:2px}
  .bcx-aviso{border:1px solid #64748b66;border-left:5px solid #64748b;border-radius:7px;background:rgba(100,116,139,.08);padding:6px 10px;font-size:12.5px;line-height:1.4}
  .bcx-aviso.aten{border-color:#d9770666;border-left-color:#d97706;background:rgba(217,119,6,.09)}
  .bcx-cert{border:1px dashed var(--borda);border-radius:8px;padding:8px 10px;margin:8px 0;display:grid;gap:6px}.bcx-linha{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
  .bcx-arq{font-size:12px;color:var(--texto2);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .bcx-avancado{margin:6px 0}.bcx-avancado summary{cursor:pointer;color:var(--texto2);font-size:12.5px;font-weight:700}
  .bcx-rodape{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--borda);padding-top:8px;margin-top:6px}
  .bcx-tipos{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin:6px 0}
  .bcx-tipo{display:grid;gap:2px;text-align:left;border:1px solid var(--borda);border-left:5px solid var(--cor);border-radius:8px;background:var(--painel);color:var(--texto);padding:8px 12px;font:inherit;cursor:pointer}
  .bcx-tipo i{display:none}.bcx-tipo small{color:var(--texto2)}.bcx-tipo:hover,.bcx-tipo.ativo{background:color-mix(in srgb,var(--cor) 14%,var(--painel))}.bcx-tipo.ativo{border-color:var(--cor)}
  @media (max-width:900px){.bcx-grade{grid-template-columns:repeat(2,minmax(0,1fr))}.bcx-grade .campo{grid-column:span 2!important}}

/* Entrada de notas (pedido do dono, 20/10/2026): "uso e consumo" ao lado de "Dados da nota" e "Vinculado" em destaque na lista */
.en-uso{display:inline-flex;align-items:center;gap:8px;margin-left:16px;padding:5px 12px;border:2px solid #0891b2;border-radius:999px;background:#ecfeff;color:#0e7490;font-size:13px;cursor:pointer;white-space:nowrap}
.en-uso input{width:18px;height:18px;accent-color:#0891b2}
.en-uso:has(input:checked){background:#0891b2;color:#fff}
.en-uso:has(input:checked) input{accent-color:#fff}
.en-vinc-tab.pend{background:#fef3c7;color:#b45309;border:1px solid #f59e0b;box-shadow:none}
.en-vinc-tab{display:inline-block;padding:3px 10px;border-radius:999px;background:#16a34a;color:#fff;font-size:12px;font-weight:900;letter-spacing:.02em;box-shadow:0 1px 2px rgba(22,163,74,.35)}

/* Entrada de notas › janela do item: tributação em destaque (pedido do dono, 20/10/2026) */
.en-trib{grid-column:span 2;align-self:end}
.en-trib .rot{display:block;margin-bottom:4px;font-weight:900}
.en-trib-linha{display:flex;flex-wrap:wrap;gap:8px}
.en-trib-chip{display:inline-flex;align-items:baseline;gap:6px;padding:6px 12px;border-radius:10px;font-size:13px;border:2px solid}
.en-trib-chip small{font-size:10px;font-weight:900;letter-spacing:.06em;opacity:.8}
.en-trib-chip em{font-style:normal;font-size:11px;opacity:.85}
.en-trib-chip.st{background:#fff7ed;border-color:#f97316;color:#9a3412}
.en-trib-chip.n{background:#eff6ff;border-color:#3b82f6;color:#1e40af}
.en-trib-chip.x{background:#f1f5f9;border-color:#94a3b8;color:#475569}
.en-trib-aviso{margin-top:6px;padding:5px 10px;border-radius:8px;background:#fef3c7;color:#92400e;font-size:12px;font-weight:800}

/* ===== Grupo tributário em janela, de dentro do produto (grupotribrapido.js) - pedido do dono, 20/10/2026 ===== */
.bt-grupo{margin-top:5px;border:1px solid var(--azul);background:color-mix(in srgb,var(--azul) 10%,transparent);color:var(--azul);border-radius:6px;padding:3px 12px;font-weight:700;font-size:12.5px;cursor:pointer}
.bt-grupo:hover{background:var(--azul);color:#fff}
#janGrupoTrib .gt-janela{width:min(1080px,97vw);max-height:94vh;display:flex;flex-direction:column}
#janGrupoTrib .gt-corpo{overflow:auto;padding:0}

/* Abas mais destacadas (pedido do dono, 20/10/2026): usuários leigos precisam enxergar logo o que existe em cada tela. Vale para todas as barras de abas,
   menos as da tela do Caixa (que têm o estilo próprio acima). */
.abas:not(.cx-abas):not(.cx-subabas) .aba{font-size:14px;font-weight:800;padding:8px 16px;color:var(--texto);background:var(--painel);border:1px solid var(--borda-campo);border-bottom:0;box-shadow:0 -1px 0 rgba(0,0,0,.03)}
.abas:not(.cx-abas):not(.cx-subabas) .aba svg{width:16px;height:16px}
.abas:not(.cx-abas):not(.cx-subabas) .aba:hover{color:var(--azul);border-color:var(--azul);background:var(--painel)}
.abas:not(.cx-abas):not(.cx-subabas) .aba.ativa{background:var(--azul);border-color:var(--azul);color:#fff;box-shadow:0 2px 8px rgba(37,99,235,.35)}
.abas:not(.cx-abas):not(.cx-subabas) .aba kbd{opacity:.85;font-size:10.5px;font-weight:700}

/* Topo: Webmail e 55 Atendimento ao lado de Início e Consulta de preço (pedido do dono, 20/10/2026) */
.bt-topo-webmail{background:#7c3aed;text-decoration:none}
.bt-topo-atend{background:#16a34a;text-decoration:none}
.bt-topo-chamados{background:#0ea5e9;text-decoration:none}.bt-topo-chamados[hidden]{display:none!important}
.bt-topo-webmail[hidden]{display:none!important}
.bt-topo-webmail:hover,.bt-topo-atend:hover{filter:brightness(1.1)}

/* Pesquisa de pessoa mais legível (pedido do dono, 20/10/2026): razão social e nome fantasia em duas linhas (sem "..."), CNPJ em destaque e a lista mais larga que o campo */
.fin-sugestoes:has(.sp-pessoa){right:auto;min-width:min(660px,94vw)}
.fin-sugestoes div:has(>.sp-pessoa){grid-template-columns:86px minmax(0,1fr) auto;align-items:start}
.fin-sugestoes .sp-pessoa{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3}
.fin-sugestoes .sp-pessoa strong{display:block;font-size:16px;font-weight:800}
.fin-sugestoes .sp-pessoa em{display:block;margin:2px 0 0;font-size:13.5px;font-weight:600}
.fin-sugestoes .sp-doc{font-size:15px;font-weight:800;padding-top:2px}

/* ===== RESULTADO (DRE) — Visão 360 (21/10/2026). Cartões grandes, tabela do DRE, avisos em destaque e gráficos em SVG ===== */
.dr-filtro{margin-bottom:10px}
.dr-base{display:inline-flex;border:2px solid var(--azul);border-radius:10px;overflow:hidden}
.dr-base button{border:0;background:var(--painel2);color:var(--texto);font:inherit;font-weight:700;padding:7px 16px;cursor:pointer}
.dr-base button+button{border-left:2px solid var(--azul)}
.dr-base button.ativa{background:var(--azul);color:#fff}
.dr-cartoes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:10px}
.dr-cartao{background:var(--painel);border:1px solid var(--borda);border-top:5px solid var(--cor);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;min-width:0}
.dr-cartao>span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--texto2);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.dr-cartao>b{font-size:clamp(20px,2vw,29px);line-height:1.15;overflow-wrap:anywhere}
.dr-cartao>small{color:var(--texto2);font-size:12.5px;line-height:1.4}
.dr-cartao.dr-grande{background:color-mix(in srgb,var(--cor) 9%,var(--painel));border-width:2px;border-top-width:6px;border-color:var(--cor)}
.dr-cartao.dr-grande>b{font-size:clamp(22px,2.3vw,33px)}
.dr-cartao.dr-ok>b{color:#16a34a}.dr-cartao.dr-ruim>b{color:#dc2626}
.dr-est{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:#f59e0b;color:#1f1300;border-radius:999px;padding:1px 8px;margin-left:6px;cursor:help;white-space:nowrap}
.dr-cartao .dr-est{margin-left:0}
.dr-aviso{display:flex;gap:14px;align-items:flex-start;border-radius:10px;padding:12px 16px;margin-bottom:10px;border:2px solid;font-size:14px;line-height:1.45}
.dr-aviso p{margin:4px 0 8px}
.dr-aviso b{font-weight:800}
.dr-aviso-ico{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:21px;font-weight:900;color:#fff}
.dr-grave{border-color:#dc2626;background:color-mix(in srgb,#dc2626 11%,var(--painel))}.dr-grave .dr-aviso-ico{background:#dc2626}
.dr-atencao{border-color:#f59e0b;background:color-mix(in srgb,#f59e0b 11%,var(--painel))}.dr-atencao .dr-aviso-ico{background:#f59e0b;color:#1f1300}
.dr-info{border-color:var(--borda);background:var(--painel);border-width:1px}.dr-info .dr-aviso-ico{background:var(--azul)}
.dr-bt-aviso{margin:2px 8px 2px 0}
.dr-tab{border:1px solid var(--borda);border-radius:8px;max-height:none;overflow:auto}
.dr-tab table{width:100%;border-collapse:collapse}
.dr-tab th{position:sticky;top:0;background:var(--painel2);text-align:left;font-size:12px;padding:8px 12px;border-bottom:1px solid var(--borda);white-space:nowrap}
.dr-tab td{padding:7px 12px;border-bottom:1px solid var(--borda);vertical-align:middle}
.dr-tab .dir{text-align:right;white-space:nowrap}
.dr-tab tr.dr-clic{cursor:pointer}.dr-tab tr.dr-clic:hover td{background:color-mix(in srgb,var(--azul) 12%,transparent)}
.dr-seta{font-style:normal;font-weight:900;color:var(--azul);margin-left:8px}
.dr-dica{display:block;color:var(--texto2);font-size:11.5px;font-weight:400;margin-top:1px}
.dr-val{font-weight:700;font-size:15px}
.dr-tab tr.dr-linha td{font-size:14.5px}
.dr-tab tr.dr-subtotal td{font-weight:800;background:var(--painel2)}
.dr-tab tr.dr-total td{font-weight:800;font-size:15.5px;background:color-mix(in srgb,#16a34a 10%,var(--painel2));border-top:2px solid var(--borda)}
.dr-tab tr.dr-total.dr-neg td{background:color-mix(in srgb,#dc2626 10%,var(--painel2))}
.dr-tab tr.dr-resultado td{font-weight:900;font-size:17px;background:color-mix(in srgb,#16a34a 18%,var(--painel2));border-top:3px solid #16a34a}
.dr-tab tr.dr-resultado.dr-neg td{background:color-mix(in srgb,#dc2626 18%,var(--painel2));border-top-color:#dc2626}
.dr-tab tr.dr-resultado .dr-val{font-size:19px}
.dr-tab tr.dr-filha td{font-size:13.5px;color:var(--texto2)}.dr-tab tr.dr-filha .dr-val{font-weight:600;font-size:13.5px}
.dr-nv{color:var(--texto2)}
.dr-svg{width:100%;height:auto;display:block}
.dr-svg .dr-g{stroke:var(--borda);stroke-width:1}.dr-svg .dr-zero{stroke:var(--texto2);stroke-width:1.5}
.dr-svg .dr-eixo{fill:var(--texto2);font-size:11px;font-family:inherit}
.dr-janela{width:min(980px,96vw)}
.dr-janela .corpo{max-height:68vh;overflow:auto}
.dr-janela .rodape{align-items:center}.dr-jinfo{margin-right:auto;color:var(--texto2);font-size:13px}
@media (max-width:1800px){.dr-cartoes{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.dr-ano{display:none}.dr-tab td,.dr-tab th{padding:7px 8px}}
@media (max-width:700px){.dr-cartoes{grid-template-columns:repeat(2,minmax(0,1fr))}.dr-cartao>b{font-size:20px}.dr-aviso{padding:10px;gap:10px}.dr-aviso-ico{width:30px;height:30px;font-size:17px}.dr-base button{padding:7px 10px}}
@media (max-width:420px){.dr-cartoes{grid-template-columns:1fr}}
.dr-dre th{font-size:11px;padding:8px 8px}.dr-dre td{padding:7px 8px}.dr-dre .dr-val{font-size:14px}
@media (max-width:700px){.dr-dre td:first-child{white-space:normal;min-width:0}.dr-dre .dr-dica{display:none}.dr-dre th:nth-child(n+4),.dr-dre td:nth-child(n+4){display:none}.dr-dre .dr-est{display:block;width:max-content;margin:2px 0 0}}
.dr-janela .bt[hidden]{display:none}
/* Resultado (DRE) — escolher a conta do plano direto da lista de contas a pagar/receber (08/11/2026): dica no topo, botão na linha, dois cliques sem selecionar texto */
.dr-dica-classificar{margin:0 0 10px}
.dr-janela.dr-larga{width:min(1240px,96vw)}
.dr-tab td.dr-quebra{white-space:normal;min-width:140px}
.dr-tab .dr-bt-classificar{margin:0;padding:3px 10px 3px 4px;font-size:13px;white-space:nowrap}
.dr-tab tr[data-titulo]{user-select:none}
/* ===== Perfis de acesso (Administrativo › Perfis de acesso), 22/10/2026: cartões dos perfis e editor por menu com Ver/Alterar e ações ===== */
.pf-cartoes{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px;margin-top:12px}
.pf-cartao{border:2px solid var(--borda);border-left:8px solid var(--cor);border-radius:14px;padding:12px 14px;background:var(--painel);cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:box-shadow .15s,border-color .15s}
.pf-cartao:hover,.pf-cartao:focus{border-color:var(--cor);outline:none}.pf-cartao.sel{border-color:var(--cor);box-shadow:0 0 0 3px color-mix(in srgb,var(--cor) 30%,transparent)}
.pf-cartao.inativo{opacity:.6}.pf-cartao-topo{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pf-nome{font-size:18px;font-weight:800;color:var(--cor)}
.pf-desc{color:var(--texto2);font-size:13px;line-height:1.4;min-height:18px}.pf-numeros{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px;color:var(--texto2)}.pf-numeros b{color:var(--texto);font-size:14px}
.pf-base{font-size:12px;color:var(--texto2)}.pf-botoes{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.pf-botoes .bt{height:30px;font-size:12px}
.etq-inativo{background:#fee2e2;color:#991b1b}
.pf-cabeca,.pf-ferr{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin-top:4px}.pf-ferr{margin-top:10px;align-items:flex-start}
.pf-resumo{flex:2;min-width:260px}.pf-resumo-num{font-size:14px;margin-bottom:4px}.pf-resumo-num b{font-size:17px}
.pf-chip{display:inline-block;margin:2px 4px 0 0;padding:1px 9px;border-radius:10px;font-size:11px;font-weight:700;background:#1F4E79bb;color:#fff}.pf-chip.cheio{background:#1F4E79}.pf-chip.vazio{background:var(--borda);color:var(--texto2)}
.pf-grupos{margin-top:12px;display:flex;flex-direction:column;gap:12px}
.pf-grupo{border:1px solid var(--borda);border-radius:12px;overflow:hidden}.pf-grupo[hidden]{display:none}
.pf-grupo-cab{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;background:var(--painel2);font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.06em;color:var(--rotulo)}
.pf-grupo-bts{display:flex;gap:6px}.pf-mini{height:24px;padding:0 8px;font-size:11px;display:inline-flex;text-transform:none;letter-spacing:0}
.pf-tela{padding:8px 12px;border-top:1px solid var(--borda)}.pf-tela[hidden]{display:none}
.pf-tela-linha{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.pf-tela-nome{flex:1;min-width:200px;font-size:14px;font-weight:600}
.pf-ck{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:13px;padding:4px 12px;border-radius:20px;border:2px solid var(--borda);cursor:pointer;user-select:none}
.pf-ck input{width:18px;height:18px;margin:0}.pf-ck.ver:has(input:checked){border-color:#0ea5e9;background:#0ea5e91a;color:#0369a1}.pf-ck.alterar:has(input:checked){border-color:#f59e0b;background:#f59e0b1f;color:#b45309}
.pf-acoes{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:6px 14px;margin:8px 0 2px 18px;padding-left:12px;border-left:3px solid var(--borda)}
.pf-acao{display:grid;grid-template-columns:20px 1fr;gap:2px 8px;align-items:start;cursor:pointer;font-size:13px}.pf-acao input{width:18px;height:18px;margin:2px 0 0;grid-row:span 2}.pf-acao span{font-weight:700}.pf-acao small{color:var(--texto2);line-height:1.3}
.pf-acao:has(input:checked) span{color:#7c3aed}
.pf-usuarios{margin-top:14px;border-top:1px dashed var(--borda);padding-top:10px}.pf-usuarios-cab{font-weight:800;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pf-usuarios-lista{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.pf-usuarios-lista .etq{font-size:12.5px;padding:3px 8px}
.travado-perfil{background:repeating-linear-gradient(45deg,transparent 0 6px,#f59e0b14 6px 12px)!important}
@media (max-width:600px){.pf-tela-linha{gap:8px}.pf-tela-nome{min-width:100%}.pf-acoes{margin-left:4px;grid-template-columns:1fr}.pf-cartoes{grid-template-columns:1fr}}

/* Contagem do caixa no fechamento: igual ao 55 PDV instalado — 12 quadradinhos (6 por linha) e a lista de conferência logo abaixo */
#janCxFechar #cfCedulas{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:10px!important;margin:8px 0 10px!important}
#janCxFechar #cfCedulas label{display:flex!important;flex-direction:column!important;gap:4px!important;margin:0!important}
#janCxFechar #cfCedulas label b{display:block!important;text-align:center;font-size:22px!important;font-weight:900;padding:6px 0!important;border-radius:8px;background:#e5e7eb;color:#0b1f4d;border:1px solid #94a3b8!important}
#janCxFechar #cfCedulas label:focus-within b{background:#dc2626!important;color:#fff!important;border-color:#dc2626!important}
#janCxFechar #cfCedulas input{width:100%!important;height:40px!important;font-size:22px!important;box-sizing:border-box}
#janCxFechar #cfContLinhas{max-height:34vh;overflow:auto;border:1px solid #94a3b8;border-radius:6px;min-height:90px}
#janCxFechar #cfContLinhas:empty::before{content:"Não há dados para mostrar";display:block;text-align:center;color:#64748b;padding:30px 0}
#janCxFechar #cfContLinhas .cx-ct-lista{margin:0}
#janCxFechar #cfContLinhas .cx-ct-lista thead th{position:sticky;top:0}

  /* Colaboradores: aviso de férias não lançadas (03/11/2026) */
  .cl-aviso-fer{margin:6px 0;padding:9px 14px;border-radius:10px;background:#fef3c7;border:1.5px solid #f59e0b;color:#78350f;font-size:13.5px;cursor:pointer}
  .cl-aviso-fer.venc{background:#fee2e2;border-color:#dc2626;color:#7f1d1d}
  .cl-aviso-fer u{font-weight:800;margin-left:6px}

  /* ajuste automático ao tamanho da tela (ajuste-tela.js): na impressão da própria página o zoom não vale */
  @media print{html{zoom:1!important}}
/* Contas a receber (04/11/2026): a faixa "parcelas selecionadas" fica congelada no pé da tela; só a lista de parcelas rola; produtos escondidos devolvem a altura */
#telaFinanceiro .fin-faixa-sel{position:sticky;bottom:0;z-index:20;margin:6px 0;padding:7px 16px}
#telaFinanceiro .fin-grade{max-height:calc(100vh - 690px);min-height:150px}
#telaFinanceiro:has(.fin-prod-fechado) .fin-grade{max-height:calc(100vh - 520px);min-height:200px}
#telaFinanceiro .fin-prod-fechado .ped-cab{display:none}
#telaFinanceiro .fin-prod-fechado .fin-alca{border-top:1px solid var(--borda);border-radius:8px;margin:2px auto}
#telaFinanceiro .fin-base{margin-top:6px}
#telaFinanceiro .fin-legenda{margin-top:4px}
#telaFinanceiro .ped-verde .tabela-caixa{max-height:16vh!important}

/* AVISO "CHEGOU E-MAIL" (04/11/2026): contador no botão Webmail e balão com o botão de abrir */
.bt-topo-contagem{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:6px;border-radius:999px;background:#ef4444;color:#fff;font-size:12px;font-weight:900;box-shadow:0 0 0 2px #fff}
.bt-topo-contagem[hidden]{display:none!important}
.email-aviso{position:fixed;right:18px;bottom:18px;z-index:9990;width:min(360px,calc(100vw - 36px));background:var(--painel,#fff);color:var(--texto,#1f2d45);border:2px solid #7c3aed;border-radius:14px;box-shadow:0 14px 36px rgba(15,23,42,.35);padding:14px 16px;animation:emailAvisoEntra .35s ease-out}
.email-aviso h4{margin:0 0 6px;font-size:16px;display:flex;align-items:center;gap:8px}
.email-aviso ul{margin:0 0 12px;padding:0;list-style:none;font-size:13.5px;display:grid;gap:4px}
.email-aviso li b{color:#b91c1c}
.email-aviso .acoes{display:flex;gap:8px;align-items:center}
.email-aviso .abrir{flex:1;border:0;border-radius:10px;padding:10px 14px;background:#7c3aed;color:#fff;font:inherit;font-weight:800;font-size:14px;cursor:pointer}
.email-aviso .abrir:hover{filter:brightness(1.1)}
.email-aviso .fechar{border:1px solid var(--borda,#cbd5e1);background:transparent;color:inherit;border-radius:10px;padding:9px 12px;font:inherit;font-weight:700;cursor:pointer}
@keyframes emailAvisoEntra{from{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.email-aviso{animation:none}}
.fin-marca-todos{width:17px;height:17px;cursor:pointer;accent-color:var(--azul)}
.g-botao-cx{font-size:12px;font-weight:700;padding:5px 10px;border:1px solid var(--borda,#cfd8e6);border-radius:8px;background:#fff;color:var(--texto2)}
.g-botao-cx:hover{background:#eef4ff}
/* Pagamentos da parcela (ao clicar no +): quadro em destaque (04/11/2026) */
.fin-pagtos{background:#eaf2ff;border:2px solid #176bff;border-radius:10px;box-shadow:0 4px 14px rgba(23,107,255,.18);margin:6px 0}
.fin-pagtos thead th{background:#d6e6ff;color:#10254a}
.fin-pagtos tbody tr:nth-child(even){background:#f3f8ff}
.bt-recibo{background:#2e9e52;color:#fff}
table.subtabela.fin-pagtos{background:#fff3cf!important;border:3px solid #e8a317!important;border-radius:10px;box-shadow:0 6px 18px rgba(232,163,23,.35)}
table.subtabela.fin-pagtos thead th{background:#ffd873!important;color:#4a3000!important}
table.subtabela.fin-pagtos tbody tr:nth-child(even){background:#ffe9a8}
table.subtabela.fin-pagtos td.c,table.subtabela.fin-pagtos th.c{text-align:center;white-space:nowrap;width:110px}

.bt-topo-agenda{background:#0f766e;text-decoration:none}.bt-topo-agenda[hidden]{display:none!important}

/* ===== TELA DE VENDA DO PDV — visual moderno (pedido do dono, 06/11/2026) =====
   marca d'água da logo bem fraquinha, faixa com os circuitos da marca, teclas do rodapé em "pílulas", janelas de pergunta no centro. Vale no PDV web e no 55 PDV instalado. */
body.modo-pdv #telaPdv{position:relative;isolation:isolate}
body.modo-pdv #telaPdv::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url(/img/logo-55-marca.png) center 48%/min(50vw,700px) no-repeat;opacity:.07}
html[data-tema="claro"] body.modo-pdv #telaPdv::before{opacity:.06}
html:not([data-tema="claro"]) body.modo-pdv #telaPdv::before{filter:brightness(2.6) saturate(.7);opacity:.06}
body.modo-pdv .pdv-campos,body.modo-pdv .pdv-lista,body.modo-pdv .pdv-foto{background:color-mix(in srgb,var(--painel) 90%,transparent);box-shadow:0 6px 22px rgba(15,35,90,.10)}
body.modo-pdv .pdv-campos{border-radius:18px}
body.modo-pdv .pdv-lista{border-radius:18px}
body.modo-pdv .pdv-faixa,body.modo-pdv .pdv-caixa-azul{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#0f2566 0%,#1e40af 52%,#2d63d8 100%);box-shadow:0 8px 22px rgba(30,64,175,.30)}
body.modo-pdv .pdv-faixa::before,body.modo-pdv .pdv-caixa-azul::before{content:"";position:absolute;inset:0;z-index:-1;background:url(/img/fundo-circuitos.svg) center/cover no-repeat;opacity:.55;pointer-events:none}
body.modo-pdv .pdv-lista-tit,body.modo-pdv .pdv-formas-tit{background:linear-gradient(135deg,#12307f,#1e40af);letter-spacing:.06em}
body.modo-pdv .pdv-item{background:linear-gradient(135deg,#1d4fd8,#2f6df0);border-radius:12px;box-shadow:0 4px 14px rgba(37,99,235,.28)}
body.modo-pdv .pdv-li:last-child:not(.cancelado){background:rgba(37,99,235,.10);box-shadow:inset 4px 0 0 #2563eb}
/* teclas do rodapé: poucas, grandes, em pílulas; a última (F12 Mais opções) em azul cheio */
body.modo-pdv .pdv-teclas,body.modo-pdv .pdv-teclas.poucas{display:flex!important;flex-wrap:wrap;gap:10px 12px;align-items:center;justify-content:flex-start;font-size:clamp(14px,1.2vw,21px)}
body.modo-pdv .pdv-teclas>div{white-space:nowrap;overflow:visible;text-overflow:clip;font-size:inherit;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:14px;background:var(--painel);border:1px solid var(--borda);box-shadow:0 3px 10px rgba(15,35,90,.10);cursor:pointer;font-weight:700;transition:transform .12s,border-color .12s}
body.modo-pdv .pdv-teclas>div:hover{border-color:var(--pdv-azul2);transform:translateY(-1px)}
body.modo-pdv .pdv-teclas kbd{min-width:2.5em;margin:0;border-radius:8px;padding:2px 8px;background:linear-gradient(180deg,#2f6df0,#1e40af);box-shadow:0 2px 0 #12307f}
body.modo-pdv .pdv-teclas>.pdv-mais{background:linear-gradient(135deg,#1e40af,#2d63d8);color:#fff;border-color:#1e40af}
body.modo-pdv .pdv-teclas>.pdv-mais kbd{background:#fff;color:#1e40af;box-shadow:0 2px 0 #b7c9f5}
/* janelas de pergunta e de aviso no CENTRO da tela */
.fundo-janela.jan-centro,body.modo-pdv #janConf,body.modo-pdv #janSupervisor,body.modo-pdv #janTexto,body.modo-pdv #janAvisoFixo{align-items:center;padding-top:0}
/* F12 — Mais opções */
.mais-janela{width:min(900px,96vw)}
.mais-janela>header{font-size:22px;font-weight:900}
.mais-corpo{padding:14px 20px}
.mais-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}
.mais-op{display:flex;align-items:center;gap:12px;text-align:left;border:2px solid var(--borda);border-radius:12px;padding:10px 14px;font:inherit;font-size:16px;background:transparent;color:inherit;cursor:pointer}
.mais-op .mais-n{min-width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-weight:900;background:var(--painel2);border:1px solid var(--borda)}
.mais-op b{flex:1;font-weight:700}
.mais-op kbd{font-size:12px;opacity:.85}
.mais-op:hover,.mais-op.sel{border-color:#2563eb;background:rgba(37,99,235,.12)}
@media (max-width:760px){.mais-grade{grid-template-columns:1fr}}
/* janela "Venda em andamento encontrada" (recuperar venda) — 06/11/2026 */
.rasc-janela{width:min(680px,100%);padding:24px 26px;border-radius:18px;background:var(--cartao,var(--painel,#fff));color:var(--texto);box-shadow:0 24px 60px rgba(3,8,20,.45)}
.rasc-janela h3{margin:0 0 6px;font-size:24px;font-weight:900}
.rasc-frase{margin:0 0 14px;font-size:17px;line-height:1.5}
.rasc-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 14px}
.rasc-grade div{background:var(--painel2,#f1f5fb);border:1px solid var(--borda,#cbd5e1);border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;gap:2px;min-width:0}
.rasc-grade span{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--texto2)}
.rasc-grade b{font-size:19px;font-weight:900;overflow-wrap:anywhere}
.rasc-bts{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.rasc-bts .bt{font-size:17px;font-weight:800;padding:12px 24px}
/* janela do supervisor: campo do cartão (leitor) no alto, "ou" e depois usuário e senha — 06/11/2026 */
#janSupervisor .sp-cartao input{font-size:18px;letter-spacing:.15em;text-align:center}
#janSupervisor .sp-ou{text-align:center;color:var(--texto2);font-size:12.5px;margin:10px 0 2px;letter-spacing:.04em}
/* janela "Caixa aberto desde outro dia" (PDV online e instalado) — 06/11/2026 */
.od-janela{width:min(740px,94vw)}
.od-janela>header{font-size:22px;font-weight:900}
.od-janela .corpo{padding:22px 28px 10px}
.od-frase{font-size:19px;line-height:1.55;margin:0 0 16px}
.od-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 16px}
.od-grade div{background:var(--painel2,#f1f5fb);border:1px solid var(--borda,#cbd5e1);border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;gap:2px;min-width:0}
.od-grade span{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--texto2)}
.od-grade b{font-size:19px;font-weight:900;overflow-wrap:anywhere}
.od-passo{font-size:16px;line-height:1.5;margin:0;padding:12px 16px;border-radius:12px;background:rgba(31,122,224,.1);border:1px solid rgba(31,122,224,.35)}
.od-bt{font-size:19px;font-weight:900;padding:14px 34px}
/* janela "Pedido de venda" (Ctrl+F): no centro e com a venda escolhida em destaque — 06/11/2026 */
body.modo-pdv #janPdvPedidos{align-items:center;padding-top:0}
#ppLinhas tr.sel td{background:rgba(37,99,235,.20);font-weight:800;font-size:1.04em;box-shadow:inset 0 2px 0 #2563eb,inset 0 -2px 0 #2563eb}
#ppLinhas tr.sel td:first-child{box-shadow:inset 4px 0 0 #2563eb,inset 0 2px 0 #2563eb,inset 0 -2px 0 #2563eb}
#ppLinhas tr.sel td:nth-child(2){font-size:1.3em;font-weight:900;color:#1d4ed8}
#ppLinhas td:nth-child(4){font-weight:700}
/* janela "Cancelar venda": pergunta grande, dados da venda e o motivo num campo que cresce para baixo — 06/11/2026 */
.cv-janela{width:min(780px,96vw)}
.cv-janela>header{font-size:22px;font-weight:900;background:#b91c1c;color:#fff}
.cv-corpo{padding:20px 26px 10px}
.cv-frase{font-size:21px;line-height:1.45;margin:0 0 14px}
.cv-fiscal{margin:0 0 12px;padding:10px 14px;border-radius:12px;background:rgba(245,158,11,.14);border:1px solid rgba(245,158,11,.55);font-size:14.5px;line-height:1.45}
.cv-rot{display:block;font-size:14px;font-weight:800;margin:4px 0 6px}
.cv-motivo{display:block;width:100%;box-sizing:border-box;min-height:110px;font-size:19px;line-height:1.45;padding:12px 14px;border-radius:12px;resize:none;overflow:auto;font-family:inherit}
.cv-rodinha{margin-top:8px;font-size:13px}
/* teclas de atalho do rodapé da venda: a TECLA em destaque forte (grande, azul cheio, em negrito, com "pé"), o nome ao lado — pedido do dono, 06/11/2026 */
body.modo-pdv .pdv-teclas{gap:12px 14px;font-size:clamp(15px,1.3vw,23px)}
body.modo-pdv .pdv-teclas>div{padding:7px 16px 7px 8px;gap:12px;font-weight:700;letter-spacing:.01em}
body.modo-pdv .pdv-teclas kbd{min-width:3.1em;padding:5px 12px;border-radius:10px;font-size:1.12em;font-weight:900;letter-spacing:.03em;color:#fff;background:linear-gradient(180deg,#2f6df0,#1740b8);border:0;box-shadow:0 4px 0 #0c2a80,0 8px 14px rgba(23,64,184,.35);text-shadow:0 1px 0 rgba(0,0,0,.25)}
body.modo-pdv .pdv-teclas>.pdv-mais kbd{color:#1740b8;background:#fff;box-shadow:0 4px 0 #a9bff0,0 8px 14px rgba(0,0,0,.25);text-shadow:none}
/* F12 Mais opções — mais organizado (06/11/2026): grupos com título, ATALHO em tecla azul forte e a Consulta de preço grande */
.mais-janela{width:min(980px,96vw)}
.mais-grupo{grid-column:1/-1;margin:10px 0 0;padding:0 2px 5px;border-bottom:2px solid var(--borda);font-size:12.5px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#1d4ed8}
.mais-grupo:first-child{margin-top:0}
.mais-op{padding:12px 16px;font-size:18px;gap:14px}
.mais-op b{font-weight:800}
.mais-op kbd.mais-tecla{opacity:1;font-family:inherit;font-size:15px;font-weight:900;letter-spacing:.03em;min-width:4.4em;text-align:center;padding:6px 12px;border-radius:10px;color:#fff;background:linear-gradient(180deg,#2f6df0,#1740b8);border:0;box-shadow:0 4px 0 #0c2a80,0 7px 12px rgba(23,64,184,.30);text-shadow:0 1px 0 rgba(0,0,0,.25)}
.mais-op .mais-n{min-width:34px;height:34px;font-size:16px}
.mais-op.grande{grid-column:1/-1;padding:20px 24px;font-size:26px;border-width:3px;border-color:#2563eb;background:rgba(37,99,235,.10)}
.mais-op.grande .mais-n{min-width:44px;height:44px;font-size:22px}
.mais-op.grande kbd.mais-tecla{font-size:22px;padding:9px 18px;border-radius:12px}
/* rodapé da venda: Consulta de preço sempre à vista, em verde, e os outros atalhos um pouco menores para caber (06/11/2026) */
body.modo-pdv .pdv-teclas{font-size:clamp(14px,1.12vw,20px);gap:9px 11px}
body.modo-pdv .pdv-teclas>div{padding:6px 12px 6px 7px;gap:9px}
body.modo-pdv .pdv-teclas kbd{min-width:2.7em;padding:4px 9px}
/* Consulta de preço: MESMA cor dos outros atalhos (pedido do dono, 06/11/2026) */
/* Mais opções: espaços mais justos para caber em tela pequena */
.mais-corpo{padding:10px 20px 12px}
.mais-grade{gap:6px 12px}
.mais-grupo{margin-top:6px}
.mais-op{padding:7px 14px;font-size:17px}
.mais-op.grande{padding:13px 22px;font-size:24px}
.mais-op.grande .mais-n{min-width:40px;height:40px;font-size:20px}
.mais-op kbd.mais-tecla{padding:5px 11px;font-size:14px}
.mais-op.grande kbd.mais-tecla{font-size:20px;padding:8px 16px}
/* CONSULTA DE PREÇO grande no centro (Ctrl+R) — 06/11/2026 */
.cp-janela{width:min(1020px,97vw)}
.cp-janela>header{font-size:22px;font-weight:900}
.cp-corpo{padding:18px 22px 14px}
.cp-busca{display:block;width:100%;box-sizing:border-box;font-size:28px;font-weight:700;padding:16px 20px;border-radius:16px;border:3px solid #2563eb;text-align:center}
.cp-busca:focus{outline:none;box-shadow:0 0 0 5px rgba(37,99,235,.25)}
.cp-resultado{margin-top:18px;min-height:330px;display:flex;align-items:stretch}
.cp-vazio{margin:auto;font-size:22px;color:var(--texto2);text-align:center;padding:60px 20px}
.cp-ficha{display:flex;gap:24px;width:100%;align-items:stretch}
.cp-foto{width:320px;height:320px;flex:none;border:3px solid var(--borda);border-radius:20px;background:#fff;padding:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.cp-foto img{width:100%;height:100%;object-fit:contain}
.cp-semfoto{color:#94a3b8;font-weight:800;font-size:20px;text-align:center}
.cp-dados{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}
.cp-nome{font-size:32px;font-weight:900;line-height:1.2;overflow-wrap:anywhere}
.cp-ids{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:18px}
.cp-ids b{font-size:24px;font-weight:900;margin-left:4px}
.cp-preco{margin-top:auto;border:4px solid #15803d;background:#f0fdf4;border-radius:22px;padding:12px 26px;color:#14532d}
.cp-preco small{display:block;font-size:16px;font-weight:900;letter-spacing:.1em;color:#15803d}
.cp-preco b{display:block;font-size:92px;font-weight:900;line-height:1.05}
.cp-outros{margin-top:12px;display:flex;flex-direction:column;gap:6px}
.cp-outros-tit{font-size:12.5px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#1d4ed8}
.cp-op{display:flex;gap:14px;align-items:center;text-align:left;border:2px solid var(--borda);border-radius:12px;padding:7px 14px;font:inherit;font-size:16px;background:transparent;color:inherit;cursor:pointer}
.cp-op span{min-width:80px;font-weight:900}.cp-op b{flex:1;font-weight:700}.cp-op em{font-style:normal;font-weight:900}
.cp-op.sel,.cp-op:hover{border-color:#2563eb;background:rgba(37,99,235,.12)}
@media (max-height:760px){.cp-resultado{min-height:240px}.cp-foto{width:230px;height:230px}.cp-preco b{font-size:72px}.cp-nome{font-size:26px}}
