/* 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;
    --fundo:#0b1322; --painel:#131d31; --painel2:#0f1829; --campo:#0b1322; --campo-foco:#0f1d36;
    --borda:#243149; --borda-campo:#2c3a55; --texto:#dbe4f3; --texto2:#8c9bb5; --rotulo:#9fb0cc;
    --ro:#162235; --sel:#1b3a66; --lat:#081026; --lat-texto:#b9c7e2; --hover:#18253d; }
  [data-tema="claro"]{ color-scheme:light;
    --fundo:#f1f4f9; --painel:#fff; --painel2:#f6f8fc; --campo:#fff; --campo-foco:#fffdf0;
    --borda:#dbe3ef; --borda-campo:#c9d4e5; --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}
  .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}
  .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}
  .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)}
  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}
  .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)}
  @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}
  .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}
  .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))} }
  /* 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)}
  .fin-marca{cursor:pointer;font-size:15px;line-height:1}
  .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}
  .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 auto;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}
  .fin-selecao{border:1px solid #eab30866;border-radius:10px;background:#eab30814;padding:8px 14px;display:grid;gap:2px;font-size:12.5px;align-content:center}
  .fin-selecao b{color:#fbbf24}
  .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}
  .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}

  /* ===================== 55 MINERAÇÃO ===================== */
  /* Séries dos gráficos: par azul/laranja validado para daltonismo (tema escuro e claro) */
  [data-tema="escuro"]{--serie-prev:#3b82f6;--serie-corr:#d97706}
  [data-tema="claro"]{--serie-prev:#2563eb;--serie-corr:#c2410c}
  .etq-prev{background:color-mix(in srgb,var(--serie-prev) 18%,transparent);color:var(--texto)}
  .etq-corr{background:color-mix(in srgb,var(--serie-corr) 18%,transparent);color:var(--texto)}
  .etq-prev::before,.etq-corr::before{content:"";display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:4px;vertical-align:0}
  .etq-prev::before{background:var(--serie-prev)} .etq-corr::before{background:var(--serie-corr)}
  .etq-alerta{background:rgba(239,68,68,.16);color:#f87171} [data-tema="claro"] .etq-alerta{color:#c92a2a}
  .etq-ok{background:rgba(22,163,74,.16);color:#4ade80} [data-tema="claro"] .etq-ok{color:#2b8a3e}
  .etq-novo{background:rgba(234,138,0,.18);color:#fbbf24} [data-tema="claro"] .etq-novo{color:#a15c00}
  .etq-semnota{background:rgba(168,85,247,.18);color:#c084fc} [data-tema="claro"] .etq-semnota{color:#7e22ce}
  .etq-nota{background:rgba(31,122,224,.16);color:#60a5fa} [data-tema="claro"] .etq-nota{color:#1864ab}
  .etq svg.i{width:11px;height:11px;vertical-align:-1px}

  /* Filtros das telas especiais */
  .filtros-esp{padding:10px 12px}
  .linha-filtros{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}
  .linha-filtros .fin-bloco .rot{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--rotulo);margin-bottom:3px}
  .linha-filtros .botoes-grupo{margin-bottom:0}
  .linha-filtros .entrada{height:29px}
  td.cel-texto{max-width:340px;overflow:hidden;text-overflow:ellipsis}

  /* Ordem de manutenção */
  .resumo-veiculo{font-size:12.5px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:24px;padding:3px 8px;border-radius:7px;background:var(--painel2);border:1px dashed var(--borda)}
  .totais-om{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 1.6fr;gap:10px;align-items:end}
  .totais-om .total-grande b{color:#fbbf24}
  #telaEntradas .totais-om .total-grande b{color:#4ade80}
  @media (max-width:900px){ .totais-om{grid-template-columns:1fr 1fr} }
  .anexos-caixa{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px;padding-top:8px;border-top:1px dashed var(--borda);font-size:12.5px}
  .anexos-caixa>b{display:flex;align-items:center;gap:5px}
  .anexos-caixa .bt{padding:4px 10px;text-decoration:none;color:var(--texto)}
  .anexo{display:inline-flex;align-items:center;gap:2px;background:var(--painel2);border:1px solid var(--borda);border-radius:6px;padding:2px 6px}
  .anexo a{color:var(--brilho);text-decoration:none;display:inline-flex;gap:4px;align-items:center}
  .anexo .rem{border:0;background:transparent;color:var(--texto2);cursor:pointer;padding:0 2px}
  .item-peca small{color:var(--texto2)}
  .itens div.sel small{color:#dbeafe}

  /* Importação do XML */
  .zona-xml{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:210px;border:2px dashed #10b98188;border-radius:14px;background:rgba(16,185,129,.06);cursor:pointer;text-align:center;padding:20px;transition:.15s}
  .zona-xml:hover,.zona-xml:focus,.zona-xml.sobre{border-color:#10b981;background:rgba(16,185,129,.13);outline:none}
  .zona-xml b{font-size:16px} .zona-xml small{color:var(--texto2)}
  .zona-xml .bloco-ico.grande{width:52px;height:52px;border-radius:14px} .zona-xml .bloco-ico.grande svg.i{width:26px;height:26px}
  .zona-xml.compacta{min-height:0;flex-direction:row;padding:8px 14px;margin-bottom:10px} .zona-xml.compacta .bloco-ico.grande{width:30px;height:30px;border-radius:8px} .zona-xml.compacta .bloco-ico.grande svg.i{width:16px;height:16px}
  .zona-xml.compacta b{font-size:13px} .zona-xml.compacta small{display:none} .zona-xml.compacta b::after{content:" (outro arquivo)";font-weight:500;color:var(--texto2)}
  .zona-xml.carregando{opacity:.5;pointer-events:none}
  .nota-cabecalho{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:8px 16px;align-items:start}
  .nota-cabecalho small{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--rotulo)}
  .nota-cabecalho b{font-size:14px}
  .nc-forn>span{display:block;color:var(--texto2);font-size:12px;margin-top:2px}
  .nc-chave{grid-column:1 / -1;font-family:Consolas,monospace;font-size:12.5px;color:var(--texto2)}
  .nc-totais{grid-column:1 / -1;display:flex;gap:18px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--borda);padding-top:8px;font-size:12.5px;color:var(--texto2)}
  .nc-totais b{color:var(--texto);font-size:13.5px}
  .nc-total{margin-left:auto;font-weight:800;letter-spacing:.04em} .nc-total b{font-size:20px;color:#4ade80}
  .nota-cabecalho .entrada{height:28px;max-width:170px}
  @media (max-width:900px){ .nota-cabecalho{grid-template-columns:1fr 1fr} .nc-forn{grid-column:1 / -1} }
  .tabela-itens-xml td{white-space:normal;vertical-align:middle}
  .tabela-itens-xml tr.pendente td{background:rgba(234,138,0,.07)}
  .tabela-itens-xml tbody tr{cursor:default}
  .vinculo{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12.5px}
  .vinculo.ok svg.i{color:#4ade80} .vinculo small{color:var(--texto2)}
  .vinculo.novo .entrada{height:26px;flex:1 1 180px} .vinculo.novo select.entrada{flex:0 0 72px}
  .bt-mini.verde{background:#16a34a}
  .pg-conferencia{font-size:12.5px;display:inline-flex;align-items:center;gap:5px} .pg-conferencia span{display:inline-flex;gap:5px;align-items:center}
  #pgLinhas .entrada{height:27px}

  /* Painel */
  .kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
  .kpi{display:flex;gap:12px;align-items:center;background:var(--painel);border:1px solid var(--borda);border-radius:12px;padding:12px 14px;text-decoration:none;color:var(--texto);min-width:0}
  .kpi:hover{border-color:var(--azul)}
  .kpi .bloco-ico{width:40px;height:40px;border-radius:11px} .kpi .bloco-ico svg.i{width:20px;height:20px}
  .kpi small{display:block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--texto2)}
  .kpi b{display:block;font-size:22px;font-weight:800;line-height:1.2;white-space:nowrap}
  .kpi em{font-style:normal;font-size:11.5px;color:var(--texto2)}
  .kpi.kpi-alerta{border-color:rgba(239,68,68,.55)} .kpi.kpi-alerta b{color:#f87171}
  .aviso-kpi{color:#fbbf24;font-weight:700}
  .painel-grade{display:grid;grid-template-columns:1.25fr 1fr;gap:10px;margin-top:10px}
  .painel-grade.tres{grid-template-columns:repeat(3,minmax(0,1fr))}
  @media (max-width:1000px){ .painel-grade,.painel-grade.tres{grid-template-columns:minmax(0,1fr)} }
  .cartao-graf{padding:12px 14px;min-width:0}
  .graf-titulo{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:10px} .graf-titulo b{font-size:13px;display:flex;gap:6px;align-items:center} .graf-titulo small{color:var(--texto2);font-size:11.5px}
  .graf-barras{height:190px;display:flex;flex-direction:column}
  .gb-area{flex:1;display:flex;align-items:flex-end;gap:14px;border-bottom:1px solid var(--borda);padding:0 6px}
  .gb-col{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative;outline:none;cursor:default}
  .gb-barra{width:min(46px,70%);background:var(--serie-prev);border-radius:4px 4px 0 0;transition:filter .12s}
  .gb-col:hover .gb-barra,.gb-col:focus .gb-barra{filter:brightness(1.18)}
  .gb-valor{font-size:11px;font-weight:700;color:var(--texto);margin-bottom:3px;white-space:nowrap;visibility:hidden}
  .gb-valor.sempre,.gb-col:hover .gb-valor,.gb-col:focus .gb-valor{visibility:visible}
  .gb-eixo{display:flex;gap:14px;padding:4px 6px 0} .gb-eixo span{flex:1;text-align:center;font-size:11px;color:var(--texto2)}
  .graf-rodape{margin-top:10px}
  .divisao{display:flex;gap:14px;align-items:center;font-size:12px;margin-bottom:5px;flex-wrap:wrap}
  .leg{display:inline-flex;gap:5px;align-items:center} .leg i{width:10px;height:10px;border-radius:3px;display:inline-block}
  .cor-prev{background:var(--serie-prev)} .cor-corr{background:var(--serie-corr)}
  .barra-divisao{display:flex;gap:2px;height:10px;border-radius:5px;overflow:hidden;background:var(--borda)} .barra-divisao i{display:block;height:100%}
  .ranking{display:grid;gap:7px}
  .rank-linha{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 86px;gap:10px;align-items:center;text-decoration:none;color:var(--texto);font-size:12.5px;padding:2px 0}
  .rank-nome{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .rank-barra{height:12px;background:var(--painel2);border-radius:4px;overflow:hidden} .rank-barra i{display:block;height:100%;background:var(--serie-prev);border-radius:0 4px 4px 0}
  .rank-linha b{text-align:right;white-space:nowrap}
  .rank-linha:hover .rank-nome{color:var(--brilho)}
  .lista-painel{padding:12px 14px;min-width:0}
  .lp-linha{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:5px 0;border-bottom:1px solid var(--borda);font-size:12.5px}
  .lp-linha:last-child{border-bottom:0} .lp-linha span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .lp-vazio{padding:8px 0;font-size:12.5px}

  /* Histórico do veículo */
  .cartoes-mini{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:10px}
  .cartoes-mini>div{background:var(--painel2);border:1px solid var(--borda);border-radius:9px;padding:8px 12px}
  .cartoes-mini span{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--texto2)}
  .cartoes-mini b{display:block;font-size:17px} .cartoes-mini small{color:var(--texto2);font-size:11px}
  .cartoes-mini .destaque{border-color:rgba(234,138,0,.5)} .cartoes-mini .destaque b{color:#fbbf24}
  tr.rel-total td{position:sticky;bottom:0;background:var(--painel2);font-weight:800;border-top:1px solid var(--borda)}

  /* ===== Certificado digital e Notas da SEFAZ ===== */
  .cert-box{display:grid;gap:10px}
  .cert-status{display:flex;gap:10px;align-items:center;border-radius:10px;padding:10px 14px;border:1px solid var(--borda);background:var(--painel2);font-size:13px}
  .cert-status svg.i{width:22px;height:22px;flex:none}
  .cert-status span{color:var(--texto2);font-size:12px}
  .cert-status.ok{border-color:rgba(22,163,74,.5)} .cert-status.ok svg.i{color:#4ade80}
  .cert-status.vencendo{border-color:rgba(234,138,0,.6)} .cert-status.vencendo svg.i{color:#fbbf24}
  .cert-status.vencido,.cert-status.sem{border-color:rgba(239,68,68,.55)} .cert-status.vencido svg.i,.cert-status.sem svg.i{color:#f87171}
  .cert-envio{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:10px;align-items:end}
  .cert-envio input[type=file].entrada{padding-top:4px}
  @media (max-width:800px){ .cert-envio{grid-template-columns:1fr} }
  .sefaz-topo{padding:12px 14px}
  .sefaz-info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px 18px;align-items:center}
  .sefaz-info small{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--rotulo)}
  .sefaz-info b{display:block;font-size:13.5px} .sefaz-info span{display:block;font-size:11px}
  @media (max-width:1100px){ .sefaz-info{grid-template-columns:1fr 1fr} }
  .sefaz-aviso{display:flex;gap:12px;align-items:center;font-size:13px;color:var(--texto)} .sefaz-aviso svg.i{width:26px;height:26px;color:#fbbf24;flex:none}
  .sefaz-aviso a{color:var(--brilho)}
  .cont-filtro{display:inline-block;min-width:18px;padding:0 5px;margin-left:4px;border-radius:9px;background:rgba(255,255,255,.18);font-size:10.5px}
  .botoes-grupo button:not(.ativo) .cont-filtro{background:var(--borda)}

  /* ===== E-mail ===== */
  .email-grade{display:grid;grid-template-columns:230px minmax(280px,380px) minmax(0,1fr);gap:10px;height:calc(100vh - 150px);min-height:480px}
  .email-grade>.painel{min-height:0;display:flex;flex-direction:column;overflow:hidden}
  .email-lateral{padding:10px;gap:10px}
  .email-novo{justify-content:center;padding:8px!important}
  .email-pastas{display:grid;gap:2px;overflow:auto}
  .email-pastas button{display:flex;gap:8px;align-items:center;border:0;background:transparent;color:var(--texto);padding:7px 9px;border-radius:8px;cursor:pointer;font:inherit;font-weight:600;text-align:left}
  .email-pastas button span{flex:1} .email-pastas button b{background:var(--azul);color:#fff;border-radius:10px;padding:0 7px;font-size:11px}
  .email-pastas button:hover{background:var(--hover)} .email-pastas button.ativa{background:var(--sel)}
  .email-busca{position:relative;padding:8px;border-bottom:1px solid var(--borda)} .email-busca>span{position:absolute;left:17px;top:15px;color:var(--texto2)} .email-busca .entrada{padding-left:28px}
  .email-itens{flex:1;overflow:auto}
  .email-item{padding:8px 12px;border-bottom:1px solid var(--borda);cursor:pointer}
  .email-item:hover{background:var(--hover)} .email-item.sel{background:var(--sel)}
  .email-item.nao-lida{border-left:3px solid var(--brilho)} .email-item.nao-lida .ei-de,.email-item.nao-lida .ei-assunto{font-weight:800}
  .ei-linha1{display:flex;justify-content:space-between;gap:8px} .ei-de{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ei-data{color:var(--texto2);font-size:11.5px;white-space:nowrap;display:flex;gap:4px;align-items:center} .ei-data svg.i{width:12px;height:12px}
  .ei-assunto{font-size:12.5px;color:var(--texto2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .email-paginas{display:flex;gap:8px;align-items:center;justify-content:center;padding:6px;border-top:1px solid var(--borda);font-size:12px;color:var(--texto2)}
  .email-cab{padding:12px 14px;border-bottom:1px solid var(--borda);font-size:12.5px;display:grid;gap:2px}
  .email-cab h2{margin:0 0 4px;font-size:16px}
  .email-acoes{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
  .email-anexos{display:flex;gap:6px;flex-wrap:wrap;padding:8px 14px;border-bottom:1px solid var(--borda)}
  .email-corpo{flex:1;width:100%;border:0;background:#fff;min-height:200px}
  .email-erro{padding:14px;color:#f87171;display:flex;gap:8px;align-items:flex-start;font-size:13px}
  .email-vazio{grid-column:1 / -1;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:40px;font-size:13.5px}
  .email-vazio svg.i{width:40px;height:40px;color:var(--texto2)} .email-vazio a{color:var(--brilho)}
  .email-citacao{font-size:12px;margin:-4px 0 6px}
  @media (max-width:1000px){ .email-grade{grid-template-columns:1fr;height:auto} .email-grade>.painel{max-height:none} .email-corpo{min-height:420px} }
