:root{
  --azul:#1F5FA8;
  --azul-escuro:#164679;
  --verde:#2F8F5B;
  --vermelho:#C0392B;
  --cinza-bg:#F2F4F7;
  --cinza-borda:#D8DCE2;
  --texto:#212529;
  --texto-suave:#5B6270;
  --branco:#FFFFFF;
  --tinta:#121820;
  --tinta-painel:#1D2530;
  --verde-visor:#4ADE94;
  --mono: ui-monospace, "SF Mono", "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  background:var(--cinza-bg);
  color:var(--texto);
}
a{color:var(--azul);text-decoration:none;}
a:hover{text-decoration:underline;}

/* ---------- Barra superior ---------- */
.topbar{background:var(--azul-escuro);color:#fff;}
.topbar-inner{
  max-width:1180px;margin:0 auto;padding:12px 20px;
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;
}
.brand{color:#fff;font-weight:bold;font-size:18px;}
.brand span{color:#9FCBFF;}
.topnav{display:flex;gap:16px;flex:1;flex-wrap:wrap;}
.topnav a{color:#E4EEFA;font-size:14px;padding:6px 4px;}
.topnav a:hover{color:#fff;text-decoration:underline;}
.topbar-user{display:flex;align-items:center;gap:12px;font-size:14px;color:#DCE8F7;}

.page{max-width:1180px;margin:0 auto;padding:26px 20px 60px;}
.page.page-larga{max-width:1680px;}

@media(max-width:1760px){
  .page.page-larga{max-width:none;}
}

/* ---------- Tela de login / cadastro de usuário (sem topbar) ---------- */
.tela-central{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:var(--cinza-bg);
}
.card-login{
  background:#fff;border:1px solid var(--cinza-borda);border-radius:6px;
  padding:36px 34px;width:100%;max-width:380px;box-shadow:0 8px 24px rgba(0,0,0,.06);
}
.card-login.card-largo{max-width:640px;}

/* ---------- Aviso de assinatura pendente (bloqueio do caixa) ---------- */
.aviso-assinatura{
  max-width:520px;margin:40px auto;text-align:center;
  background:#fff;border:1px solid var(--cinza-borda);border-radius:10px;padding:36px 32px;
}
.aviso-assinatura-icone{
  width:64px;height:64px;border-radius:50%;background:#FBEAE8;color:var(--vermelho);
  display:flex;align-items:center;justify-content:center;margin:0 auto 18px;
}
.aviso-assinatura h2{margin:0 0 14px;font-size:20px;}
.aviso-assinatura p{color:var(--texto-suave);font-size:14px;line-height:1.55;margin:0 0 14px;}
.aviso-assinatura .btn{margin-top:8px;}
.card-login.card-extra-largo{max-width:1080px;padding:30px 34px;}

/* ---------- Cadastro de empresa: layout split-screen ---------- */
.cadastro-tela{display:flex;min-height:100vh;}

.cadastro-lateral{
  flex:0 0 40%;background:var(--tinta);color:#fff;
  display:flex;align-items:center;padding:56px 48px;
}
.cadastro-lateral-conteudo{max-width:420px;}
.cadastro-marca{font-size:26px;font-weight:bold;margin-bottom:18px;}
.cadastro-marca span{color:var(--verde-visor);}
.cadastro-tagline{font-size:15px;line-height:1.55;color:#C7D0DB;margin:0 0 32px;}
.cadastro-beneficios{list-style:none;padding:0;margin:0 0 32px;display:flex;flex-direction:column;gap:18px;}
.cadastro-beneficios li{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.4;color:#E4EEFA;}
.cadastro-beneficios svg{flex:none;color:var(--verde-visor);margin-top:1px;}
.cadastro-rodape-lateral{font-size:12.5px;color:#8A97A8;margin:0;}

.cadastro-principal{
  flex:1;display:flex;justify-content:center;align-items:flex-start;
  padding:48px 32px;overflow-y:auto;background:var(--cinza-bg);
}
.cadastro-form-wrap{
  width:100%;max-width:760px;background:#fff;border-radius:10px;
  padding:32px 36px;box-shadow:0 12px 34px rgba(0,0,0,.06);border:1px solid var(--cinza-borda);
}
.cadastro-titulo{font-size:22px;margin:0 0 2px;}
.cadastro-subtitulo{color:var(--texto-suave);font-size:13.5px;margin:0;}

@media(max-width:900px){
  .cadastro-tela{flex-direction:column;}
  .cadastro-lateral{flex:none;padding:32px 24px;}
  .cadastro-lateral-conteudo{max-width:none;}
  .cadastro-beneficios{margin-bottom:0;gap:12px;}
  .cadastro-tagline{margin-bottom:20px;}
  .cadastro-rodape-lateral{display:none;}
  .cadastro-principal{padding:28px 16px;}
  .cadastro-form-wrap{padding:24px 20px;}
}

/* ---------- Cabeçalho do formulário + "Já tem empresa?" em popover ---------- */
.cadastro-header-form{
  display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;
  margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid var(--cinza-borda);
}
.acesso-existente-wrap{position:relative;flex:none;}
.link-acesso-existente{
  background:none;border:none;cursor:pointer;font-size:13px;color:var(--texto-suave);
  padding:8px 4px;white-space:nowrap;
}
.link-acesso-existente strong{color:var(--azul);}
.popover-acesso{
  position:absolute;top:calc(100% + 6px);right:0;z-index:20;width:240px;
  background:#fff;border:1px solid var(--cinza-borda);border-radius:10px;
  box-shadow:0 10px 28px rgba(0,0,0,.12);padding:16px;
}
.popover-acesso label{display:block;font-size:12px;font-weight:bold;margin-bottom:6px;}
.acesso-existente-erro{color:var(--vermelho);font-size:11.5px;margin:8px 0 0;}

/* ---------- Seletor Jurídica/Física em pílula deslizante ---------- */
.segmentado{position:relative;display:flex;background:#EEF0F3;border-radius:10px;padding:3px;}
.segmentado-indicador{
  position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);
  background:#fff;border-radius:8px;box-shadow:0 1px 4px rgba(0,0,0,.12);
  transition:transform .2s ease;
}
.segmentado-indicador.direita{transform:translateX(100%);}
.segmentado button{
  position:relative;z-index:1;flex:1;padding:9px 0;background:none;border:none;
  font-weight:bold;font-size:13.5px;color:var(--texto-suave);cursor:pointer;transition:color .2s;
}
.segmentado button.ativo{color:var(--azul-escuro);}

/* ---------- Rodapé do formulário com o botão de criar ---------- */
.cadastro-footer-form{
  margin-top:6px;padding-top:22px;border-top:1px solid var(--cinza-borda);
  display:flex;justify-content:center;
}
.cadastro-btn-criar{
  padding:13px 42px;font-size:15px;display:inline-flex;align-items:center;gap:9px;
}

/* ---------- Formulário compacto (cadastro de empresa) ---------- */
.form-compacto .form-grupo{margin-bottom:12px;}
.form-compacto .form-grupo label{font-size:12.5px;margin-bottom:4px;}
.form-compacto input, .form-compacto select, .form-compacto .toggle-busca button{
  padding:9px 11px;font-size:14px;border-radius:6px;transition:border-color .15s, box-shadow .15s;
}
.form-compacto input:focus, .form-compacto select:focus{
  outline:none;border-color:var(--azul);box-shadow:0 0 0 3px rgba(31,95,168,.14);
}

.cadastro-empresa-grid{display:grid;grid-template-columns:1fr;gap:0 28px;margin-bottom:18px;}
@media(min-width:620px) and (max-width:1059px){.cadastro-empresa-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:1060px){.cadastro-empresa-grid{grid-template-columns:1fr 1fr 1fr;}}
.cadastro-coluna .form-secao-titulo{margin-bottom:12px;}

.campo-com-sufixo{display:flex;align-items:center;gap:6px;}
.campo-com-sufixo input{flex:1;min-width:0;}
.campo-com-sufixo span{color:var(--texto-suave);font-size:12.5px;white-space:nowrap;}

.card-login h1{font-size:22px;margin:0 0 4px;text-align:center;}
.card-login h1 span{color:var(--azul);}
.card-login .subtitulo{text-align:center;color:var(--texto-suave);font-size:13.5px;margin:0 0 24px;}
.card-login .rodape-link{text-align:center;margin-top:18px;font-size:14px;}

/* ---------- Títulos de página ---------- */
h2.titulo-pagina{font-size:22px;margin:0 0 20px;}
.acoes-topo{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:18px;}

/* ---------- Selo de perfil na lista de usuários ---------- */
.badge-perfil{
  display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:bold;
}
.badge-perfil-admin{background:#EEF5FF;color:var(--azul-escuro);}
.badge-perfil-operador{background:#E5F5EC;color:#1C6B41;}
.badge-perfil-separador{background:#FDF2E3;color:#8A5A1A;}

/* ---------- Listagem de produtos ---------- */
.resumo-card.resumo-alerta{border-color:#F0C4C0;background:#FDF4F3;}
.resumo-card.resumo-alerta .num{color:var(--vermelho);}

.produto-nome-lista{display:block;font-weight:bold;color:var(--texto);}
.produto-meta-lista{display:block;font-size:12px;color:var(--texto-suave);font-family:var(--mono);margin-top:2px;}

.precos-lista{display:flex;flex-direction:column;align-items:flex-end;gap:2px;}
.preco-venda-lista{font-family:var(--mono);font-weight:bold;font-size:14.5px;color:var(--verde);}
.preco-secundario-lista{font-family:var(--mono);font-size:11.5px;color:var(--texto-suave);white-space:nowrap;}

.badge-estoque{
  display:inline-block;min-width:34px;padding:4px 10px;border-radius:12px;
  font-family:var(--mono);font-weight:bold;font-size:13px;background:#EEF5FF;color:var(--azul-escuro);
}
.badge-estoque-baixo{background:#FDEBEA;color:var(--vermelho);}

.btn-icone{
  display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius:5px;border:1px solid var(--cinza-borda);
  background:#fff;color:var(--texto-suave);margin-right:4px;
}
.btn-icone:hover{background:var(--cinza-bg);text-decoration:none;}
.btn-icone-perigo:hover{background:#FDEBEA;border-color:#F0C4C0;color:var(--vermelho);}
.tag-voce{
  font-size:10.5px;color:var(--texto-suave);border:1px solid var(--cinza-borda);
  border-radius:10px;padding:1px 7px;margin-left:6px;font-weight:normal;
}

/* ---------- Formulários ---------- */
.form-grupo{margin-bottom:16px;}
.form-grupo label{display:block;font-size:13.5px;font-weight:bold;margin-bottom:5px;color:var(--texto-suave);}
.form-grupo input, .form-grupo select{
  width:100%;padding:10px 12px;border:1px solid var(--cinza-borda);
  border-radius:4px;font-size:15px;background:#fff;
}
.form-grupo input:focus, .form-grupo select:focus{outline:2px solid var(--azul);outline-offset:0;}
.form-linha{display:grid;grid-template-columns:1fr;gap:16px;}
@media(min-width:680px){
  .form-linha.cols-2{grid-template-columns:1fr 1fr;}
  .form-linha.cols-3{grid-template-columns:1fr 1fr 1fr;}
  .form-linha.cols-4{grid-template-columns:1fr 1fr 1fr 1fr;}
}

/* Linha compacta: campos ficam lado a lado do tamanho do próprio conteúdo,
   sem esticar em colunas largas (ex.: custo/margem/venda/atacado) */
.form-linha-compacta{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px;}
.form-linha-compacta .form-grupo{margin-bottom:0;}
.form-card{
  background:#fff;border:1px solid var(--cinza-borda);border-radius:6px;
  padding:24px;max-width:720px;
}

/* ---------- Seções dentro de um formulário (ex.: cadastro de produto) ---------- */
.form-secao-titulo{
  display:flex;align-items:center;gap:8px;
  font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;
  color:var(--texto-suave);margin:0 0 16px;
}
.form-secao-titulo svg{color:var(--azul);flex:none;}

.form-dica{font-size:12px;color:var(--texto-suave);margin:-10px 0 4px;}

/* Preço de venda / atacado em destaque (fundo amarelo) */
.campo-preco-destaque{
  background:#FFF7D6 !important;border-color:#F0DA8A !important;font-weight:bold;
}
.campo-preco-destaque:focus{border-color:#D9A828 !important;}

/* Campo de fornecedor mais compacto, com o botão "+ Novo" ao lado */
.campo-com-acao{display:flex;gap:8px;align-items:center;}
.campo-com-acao select{flex:1;min-width:0;max-width:230px;}

/* ---------- Cadastro de produto: layout em duas colunas com prévia ---------- */
.produto-cabecalho{margin-bottom:20px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;}
.produto-navegacao{display:flex;gap:8px;}
.produto-navegacao .btn:disabled{opacity:.35;cursor:not-allowed;}

.produto-grid{display:grid;grid-template-columns:1fr;gap:20px;align-items:start;margin-bottom:90px;}
@media(min-width:900px){.produto-grid{grid-template-columns:1fr 300px;}}
.produto-form-col{display:flex;flex-direction:column;gap:18px;max-width:none;}
.produto-form-col .form-card{max-width:none;}

/* Campos numéricos/seletores mais compactos (custo, margem, venda, atacado, unidade) */
.campo-estreito{max-width:150px;}
.campo-minusculo{max-width:85px;}

/* Descrição do produto sempre em maiúsculas */
.campo-maiusculo{text-transform:uppercase;}

/* Barra de ações fixa no rodapé da tela */
.produto-acoes-fixas{
  position:fixed;left:0;right:0;bottom:0;background:#fff;
  border-top:1px solid var(--cinza-borda);box-shadow:0 -4px 14px rgba(0,0,0,.06);
  z-index:40;
}
.produto-acoes-fixas-inner{
  max-width:1180px;margin:0 auto;padding:14px 20px;display:flex;gap:10px;
}

.produto-preview{
  background:#fff;border:1px solid var(--cinza-borda);border-radius:8px;
  padding:20px;position:sticky;top:20px;
}
.produto-preview-rotulo{
  font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;
  color:var(--texto-suave);margin:0 0 10px;
}
.produto-preview-nome{font-size:17px;margin:0 0 2px;word-break:break-word;}
.produto-preview-meta{font-size:12.5px;color:var(--texto-suave);margin:0 0 16px;font-family:var(--mono);}
.produto-preview-preco{
  background:var(--tinta);color:#fff;border-radius:6px;padding:14px 16px;margin-bottom:14px;
}
.produto-preview-preco .rotulo{display:block;font-size:11.5px;color:#9AA6B4;margin-bottom:4px;}
.produto-preview-preco .valor{
  font-family:var(--mono);font-size:24px;font-weight:bold;color:var(--verde-visor);
  font-variant-numeric:tabular-nums;
}
.produto-preview-linha{
  display:flex;justify-content:space-between;font-size:13px;padding:8px 0;
  border-bottom:1px solid #F0F1F3;color:var(--texto-suave);
}
.produto-preview-linha span:last-child{color:var(--texto);font-weight:bold;font-family:var(--mono);}
.produto-preview-linha:last-child{border-bottom:none;}

/* ---------- Chavinha de configuração (liga/desliga) ---------- */
.linha-switch{display:flex; align-items:flex-start; gap:14px; cursor:pointer;}
.switch-toggle{position:relative; display:inline-block; width:44px; height:24px; flex:none; margin-top:2px;}
.switch-toggle input{opacity:0; width:0; height:0;}
.switch-slider{
  position:absolute; cursor:pointer; top:0; left:0; right:0; bottom:0;
  background:#CBD2DB; transition:.2s; border-radius:24px;
}
.switch-slider::before{
  position:absolute; content:""; height:18px; width:18px; left:3px; bottom:3px;
  background:#fff; transition:.2s; border-radius:50%; box-shadow:0 1px 3px rgba(0,0,0,.2);
}
.switch-toggle input:checked + .switch-slider{background:var(--azul);}
.switch-toggle input:checked + .switch-slider::before{transform:translateX(20px);}

.logo-preview{
  border:1px dashed var(--cinza-borda);border-radius:6px;padding:18px;
  display:flex;align-items:center;justify-content:center;margin-bottom:14px;
  background:#F7F8FA;
}
.logo-preview img{max-width:100%;max-height:140px;object-fit:contain;}

/* Inputs usados fora de .form-grupo (buscas rápidas da tela de caixa) */
input[type="text"], input[type="number"], input[type="date"]{
  padding:10px 12px;border:1px solid var(--cinza-borda);border-radius:4px;
  font-size:15px;font-family:inherit;color:var(--texto);background:#fff;
}
input[type="text"]:focus, input[type="number"]:focus, input[type="date"]:focus{
  outline:2px solid var(--azul);outline-offset:0;
}

/* ---------- Botões ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:10px 18px;border-radius:4px;border:1px solid transparent;
  font-size:14.5px;font-weight:bold;cursor:pointer;text-align:center;
}
.btn-primario{background:var(--azul);color:#fff;}
.btn-primario:hover{background:var(--azul-escuro);text-decoration:none;}
.btn-sucesso{background:var(--verde);color:#fff;}
.btn-sucesso:hover{background:#256E46;text-decoration:none;}
.btn-perigo{background:var(--vermelho);color:#fff;}
.btn-perigo:hover{background:#9C2D20;text-decoration:none;}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5);}
.btn-ghost:hover{background:rgba(255,255,255,.12);text-decoration:none;}
.btn-secundario{background:#fff;color:var(--texto);border-color:var(--cinza-borda);}
.btn-secundario:hover{background:var(--cinza-bg);text-decoration:none;}
.btn-sm{padding:6px 12px;font-size:13px;}
.btn-bloco{width:100%;}
.btn[disabled]{opacity:.5;cursor:not-allowed;}

/* ---------- Mensagens ---------- */
.msg{padding:12px 14px;border-radius:4px;font-size:14px;margin-bottom:18px;}
.msg-sucesso{background:#E5F5EC;color:#1C6B41;border:1px solid #BEE4CE;}
.msg-erro{background:#FBEAE8;color:#A5312A;border:1px solid #F1C6C1;}

/* ---------- Tabelas ---------- */
table{width:100%;border-collapse:collapse;background:#fff;}
table th, table td{padding:10px 12px;border-bottom:1px solid var(--cinza-borda);font-size:14px;text-align:left;}
table th{background:#F7F8FA;font-size:12.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--texto-suave);}
table tbody tr:hover{background:#FAFBFC;}
.tabela-caixa{border:1px solid var(--cinza-borda);border-radius:6px;overflow:hidden;}
.col-acoes{white-space:nowrap;width:1%;}
.col-num{text-align:right;}
.busca-lista{margin:0 0 20px;max-width:340px;}

/* ---------- Barra de botões estilo CRUD (Novo/Salvar/Editar...) ---------- */
.toolbar-crud{
  display:flex;gap:8px;flex-wrap:wrap;align-items:center;
  background:#fff;border:1px solid var(--cinza-borda);border-radius:8px;
  padding:12px;margin-bottom:18px;
}
.toolbar-crud .btn:disabled{opacity:.4;cursor:not-allowed;}

/* ---------- Painel principal (dashboard) ---------- */
.painel-cabecalho{margin-bottom:22px;}
.painel-subtitulo{color:var(--texto-suave);font-size:13.5px;margin:0;}

.painel-secao-titulo{
  font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;
  color:var(--texto-suave);margin:26px 0 12px;
}
.painel-secao-titulo:first-of-type{margin-top:8px;}

.painel-cta{
  display:flex;align-items:center;gap:16px;background:var(--azul);color:#fff;
  border-radius:8px;padding:20px 22px;margin-top:22px;
}
.painel-cta:hover{text-decoration:none;filter:brightness(1.06);}
.painel-cta-icone{
  background:rgba(255,255,255,.16);border-radius:8px;width:46px;height:46px;
  display:flex;align-items:center;justify-content:center;flex:none;
}
.painel-cta-texto{flex:1;}
.painel-cta-titulo{font-weight:bold;font-size:16px;}
.painel-cta-sub{font-size:13px;color:#DCE8F7;margin-top:2px;}
.painel-cta-seta{flex:none;opacity:.85;}

.grid-painel{
  display:grid;grid-template-columns:repeat(2,1fr);gap:14px;
}
@media(min-width:640px){.grid-painel{grid-template-columns:repeat(3,1fr);}}
.cartao-atalho{
  background:#fff;border:1px solid var(--cinza-borda);border-radius:8px;
  padding:22px 18px;text-align:center;display:flex;flex-direction:column;gap:10px;
  align-items:center;color:var(--texto);transition:transform .08s ease;
}
.cartao-atalho:hover{border-color:var(--azul);text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.06);}
.cartao-atalho .icone{color:var(--azul);}
.cartao-atalho .nome{font-weight:bold;font-size:14.5px;}
.cartao-atalho.destaque{background:var(--azul);color:#fff;border-color:var(--azul);}
.cartao-atalho.destaque .icone{color:#fff;}
.cartao-atalho.destaque .nome{color:#fff;}

.resumo-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:8px;}
@media(min-width:640px){.resumo-cards{grid-template-columns:repeat(3,1fr);}}
.resumo-card{
  background:#fff;border:1px solid var(--cinza-borda);border-radius:8px;padding:18px 20px;
  position:relative;
}
.resumo-icone{
  width:34px;height:34px;border-radius:7px;background:var(--cinza-bg);color:var(--azul-escuro);
  display:flex;align-items:center;justify-content:center;margin-bottom:12px;
}
.resumo-card .num{
  font-size:24px;font-weight:bold;color:var(--texto);font-family:var(--mono);
  font-variant-numeric:tabular-nums;
}
.resumo-card .rotulo{font-size:12.5px;color:var(--texto-suave);margin-top:2px;}
.resumo-card.resumo-destaque{background:var(--tinta);border-color:var(--tinta);}
.resumo-card.resumo-destaque .resumo-icone{background:var(--tinta-painel);color:var(--verde-visor);}
.resumo-card.resumo-destaque .num{color:var(--verde-visor);}
.resumo-card.resumo-destaque .rotulo{color:#9AA6B4;}

/* ---------- Tela de caixa ---------- */
.caixa-cabecalho{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;
  margin-bottom:12px;
}
.caixa-titulo{display:flex;align-items:center;gap:10px;}
.caixa-titulo .titulo-pagina{font-size:18px;}
.caixa-logo{height:24px;max-width:100px;object-fit:contain;}
.caixa-cabecalho .status-venda{
  display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:bold;
  color:var(--texto-suave);
}
.caixa-cabecalho .status-venda .ponto{
  width:7px;height:7px;border-radius:50%;background:var(--verde);flex:none;
}
.caixa-cabecalho .contexto{
  display:flex;align-items:center;gap:10px;font-size:13px;color:var(--texto-suave);
}
.caixa-cabecalho .contexto strong{color:var(--texto);}
.caixa-cabecalho .relogio{font-family:var(--mono);font-variant-numeric:tabular-nums;}

.caixa-grid{display:grid;grid-template-columns:1fr;gap:20px;align-items:start;}
@media(min-width:900px){.caixa-grid{grid-template-columns:380px 1fr;}}
.painel-lateral{display:flex;flex-direction:column;gap:16px;}
.bloco{background:#fff;border:1px solid var(--cinza-borda);border-radius:6px;padding:18px;}
.bloco h3{
  margin:0 0 14px;font-size:13.5px;text-transform:uppercase;letter-spacing:.04em;
  color:var(--texto);font-weight:800;padding-left:10px;border-left:3px solid var(--azul);
}

.campo-com-icone{position:relative;}
.campo-com-icone svg{
  position:absolute;left:12px;top:50%;transform:translateY(-50%);
  color:var(--texto-suave);pointer-events:none;
}
.campo-com-icone input{width:100%;padding-left:36px !important;}

.cliente-selecionado{
  background:#EEF5FF;border:1px solid #C9E0FB;border-left:3px solid var(--azul);border-radius:4px;
  padding:10px 12px;font-size:14px;
  display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;
}
.busca-linha{display:flex;gap:8px;}
.busca-linha input{flex:1;}

.dica-busca-produto{font-size:11.5px;color:#5B6270;margin:8px 0 0;line-height:1.5;}
.indicador-quantidade{
  display:flex;align-items:center;gap:8px;font-size:13px;margin-top:8px;
  background:#EEF5FF;border:1px solid #C9E0FB;border-radius:4px;padding:7px 10px;color:var(--azul-escuro);
}
.indicador-quantidade strong{font-family:var(--mono);}
.indicador-quantidade button{
  margin-left:auto;background:none;border:none;color:var(--texto-suave);font-size:12px;
  text-decoration:underline;cursor:pointer;padding:0;
}

/* Badge de modo de venda (varejo/atacado), alinhado com "Venda em aberto" */
.badge-modo-preco{
  display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:14px;
  border:1px solid var(--cinza-borda);background:#fff;font-size:12.5px;font-weight:bold;
  cursor:pointer;color:var(--texto);
}
.badge-modo-preco .ponto{width:6px;height:6px;border-radius:50%;background:var(--azul);flex:none;}
.badge-modo-preco kbd{
  font-family:var(--mono);font-size:10px;background:var(--cinza-bg);border:1px solid var(--cinza-borda);
  border-radius:4px;padding:0 5px;color:var(--texto-suave);font-weight:normal;
}
.badge-modo-preco.atacado{border-color:#F0C94A;background:#FFF7D6;color:#8A6100;}
.badge-modo-preco.atacado .ponto{background:#D9A828;}

.toggle-busca{display:flex;gap:6px;margin-bottom:10px;}
.toggle-busca button{
  flex:1;padding:7px;font-size:12.5px;border:1px solid var(--cinza-borda);background:#fff;
  border-radius:4px;cursor:pointer;font-weight:bold;color:var(--texto-suave);
}
.toggle-busca button.ativo{background:var(--azul);color:#fff;border-color:var(--azul);}
.resultado-lista{
  border:1px solid var(--cinza-borda);border-top:none;border-radius:0 0 4px 4px;
  max-height:220px;overflow-y:auto;background:#fff;
}
.resultado-item{padding:9px 12px;font-size:13.5px;cursor:pointer;border-bottom:1px solid #F0F1F3;border-left:3px solid transparent;}
.resultado-item:hover{background:var(--cinza-bg);}
.resultado-item.selecionado{background:#EEF5FF;border-left-color:var(--azul);}
.resultado-item small{display:block;color:var(--texto-suave);font-family:var(--mono);}
.resultado-vazio{padding:10px 12px;font-size:13px;color:var(--texto-suave);}

/* Grade de resultado da busca de produto por nome: Nome / Preços / Estoque */
.resultado-produto-linha{
  display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;
  padding:13px 14px;font-size:15px;cursor:pointer;border-bottom:1px solid #F0F1F3;
  border-left:3px solid transparent;
}
.resultado-produto-linha:hover{background:var(--cinza-bg);}
.resultado-produto-linha.selecionado{background:#EEF5FF;border-left-color:var(--azul);}
.resultado-produto-linha .rp-nome{
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:bold;font-size:15.5px;color:var(--texto);
}
.resultado-produto-linha .rp-precos{
  display:flex;flex-direction:column;align-items:flex-end;gap:2px;white-space:nowrap;
}
.resultado-produto-linha .rp-preco-varejo{font-family:var(--mono);font-weight:bold;color:var(--verde);font-size:16px;}
.resultado-produto-linha .rp-preco-atacado{font-family:var(--mono);font-size:12px;color:#8A6100;}
.resultado-produto-linha .rp-estoque{
  font-family:var(--mono);font-size:12.5px;color:var(--texto-suave);white-space:nowrap;
}

/* Campo de busca de produto: bem maior e com mais presença */
#busca-produto{
  font-size:18px !important;font-weight:600;padding:16px 16px 16px 46px !important;
  border-width:2px !important;
}
#busca-produto:focus{border-color:var(--azul) !important;box-shadow:0 0 0 3px rgba(31,95,168,.14);}
#busca-produto::placeholder{font-weight:normal;color:#9AA6B4;}
.icone-busca-produto{width:20px;height:20px;}

/* Ticket (carrinho no estilo de um recibo).
   Altura travada com rolagem interna: por mais itens que entrem na venda,
   o total e os botões de baixo nunca saem do lugar. */
.ticket{
  background:#fff;border:1px solid var(--cinza-borda);border-radius:6px;
  border-top:none;overflow-y:auto;overflow-x:hidden;
  max-height:min(52vh, 460px);
}
.ticket::before{
  content:"";display:block;height:0;border-top:2px dashed var(--cinza-borda);
}
.ticket table{width:100%;border-collapse:collapse;}
.ticket th{
  position:sticky;top:0;z-index:1;
  background:#F7F8FA;font-size:12px;text-transform:uppercase;letter-spacing:.04em;
  color:var(--texto-suave);padding:10px 12px;text-align:left;border-bottom:2px solid var(--cinza-borda);
}
.ticket td{padding:13px 12px;font-size:16px;border-bottom:1px solid #F0F1F3;vertical-align:middle;}
.ticket tbody tr:last-child td{border-bottom:none;}
.ticket tbody tr:hover{background:#FAFBFC;}
.ticket .col-idx{width:1%;color:var(--texto-suave);font-family:var(--mono);font-size:13px;white-space:nowrap;}
.ticket .col-nome{font-weight:bold;color:var(--texto);font-size:16.5px;}
.selo-peso{
  display:inline-block;font-family:var(--mono);font-weight:normal;font-size:10.5px;
  background:#EEF5FF;color:var(--azul-escuro);border-radius:8px;padding:1px 7px;margin-left:6px;
  text-transform:uppercase;letter-spacing:.03em;vertical-align:middle;
}
.qtd-fixa{
  display:inline-block;width:42px;height:32px;line-height:32px;text-align:center;
  font-family:var(--mono);color:var(--texto-suave);
}
.ticket .col-preco, .ticket .col-subtotal{
  text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:16px;
}
.ticket .col-subtotal{font-weight:bold;color:var(--verde);font-size:17px;}
.ticket .col-remover{width:1%;text-align:center;}

.btn-remover{
  display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:32px;border-radius:4px;border:1px solid var(--cinza-borda);
  background:#fff;color:var(--vermelho);cursor:pointer;
}
.btn-remover:hover{background:#FBEAE8;border-color:#F1C6C1;}

.qtd-stepper{display:inline-flex;align-items:center;gap:0;border:1px solid var(--cinza-borda);border-radius:4px;overflow:hidden;}

.qtd-peso{display:inline-flex;align-items:center;gap:6px;}
.qtd-peso input{
  width:70px;height:32px;padding:0 6px;border:1px solid var(--cinza-borda);border-radius:4px;
  text-align:center;font-size:15px;font-family:var(--mono);-moz-appearance:textfield;
}
.qtd-peso input:focus{outline:none;border-color:var(--azul);background:var(--cinza-bg);}
.qtd-peso input::-webkit-outer-spin-button,
.qtd-peso input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.qtd-peso span{font-size:12px;color:var(--texto-suave);font-weight:bold;}
.qtd-stepper button{
  width:30px;height:32px;border:none;background:#F7F8FA;color:var(--texto);
  font-size:17px;font-weight:bold;cursor:pointer;line-height:1;
}
.qtd-stepper button:hover{background:var(--cinza-bg);}
.qtd-stepper input{
  width:42px;height:32px;padding:0 2px;border:none;border-left:1px solid var(--cinza-borda);
  border-right:1px solid var(--cinza-borda);text-align:center;font-size:16px;
  font-family:var(--mono);-moz-appearance:textfield;
}
.qtd-stepper input:focus{outline:none;background:var(--cinza-bg);}
.qtd-stepper input::-webkit-outer-spin-button,
.qtd-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}

.ticket-vazio-grande{
  min-height:min(66vh, 600px);background:var(--tinta);color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
  padding:0;text-align:center;position:relative;overflow:hidden;
}
.ticket-vazio-grande img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.ticket-vazio-grande .marca-fallback{position:relative;padding:16px;}
.ticket-vazio-grande .marca-fallback{font-size:clamp(30px, 5vw, 50px);font-weight:bold;letter-spacing:.01em;}
.ticket-vazio-grande .marca-fallback span{color:var(--verde-visor);}
.ticket-vazio-grande p{margin:0;font-size:13px;color:#9AA6B4;max-width:360px;}

/* Painel de total (visor estilo caixa registradora) */
.resumo-venda{
  background:var(--tinta);color:#fff;border-radius:6px;padding:14px 16px;margin-top:10px;
}
.resumo-venda .linha-subtotal{
  display:flex;justify-content:space-between;align-items:baseline;
  font-size:13.5px;color:#9AA6B4;padding-bottom:8px;margin-bottom:8px;
  border-bottom:1px solid var(--tinta-painel);
}
.resumo-venda .linha-subtotal span:last-child{font-family:var(--mono);}
.resumo-venda .linha-desconto{
  display:flex;justify-content:space-between;align-items:center;
  font-size:13.5px;color:#C7D0DB;padding-bottom:8px;margin-bottom:8px;
  border-bottom:1px solid var(--tinta-painel);
}
.resumo-venda .linha-desconto input{
  width:90px;text-align:right;font-family:var(--mono);padding:4px 6px;font-size:13.5px;
  border:1px solid var(--tinta-painel);border-radius:4px;background:var(--tinta-painel);color:#fff;
}
.resumo-venda .linha-total{display:flex;justify-content:space-between;align-items:baseline;}
.resumo-venda .linha-total .rotulo{font-size:13.5px;font-weight:bold;letter-spacing:.02em;color:#C7D0DB;}
.resumo-venda .linha-total .valor{
  font-family:var(--mono);font-size:27px;font-weight:bold;color:var(--verde-visor);
  font-variant-numeric:tabular-nums;
}

.caixa-rodape-secundario{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;
  gap:10px;margin-top:10px;
}
.caixa-rodape-secundario .atalhos-bar{margin-top:0;}

/* Botões de finalizar/cancelar: bem pequenos, alinhados no canto do resumo */
.resumo-venda-acoes{
  display:flex;justify-content:flex-end;gap:6px;margin-top:10px;
  padding-top:10px;border-top:1px solid var(--tinta-painel);
}
.resumo-venda-acoes .btn{padding:5px 12px;font-size:12px;}

kbd{
  font-family:var(--mono);font-size:11px;background:#fff;border:1px solid var(--cinza-borda);
  border-bottom-width:2px;border-radius:4px;padding:1px 6px;color:var(--texto);
}

.atalhos-bar{
  display:flex;justify-content:flex-end;flex-wrap:wrap;gap:14px;margin-top:12px;
  font-size:12px;color:var(--texto-suave);
}
.atalhos-bar kbd{margin-right:4px;}

.linha-historico{
  display:flex;justify-content:space-between;align-items:center;gap:8px;
  padding:8px 4px;border-bottom:1px solid #F0F1F3;font-size:13px;
}
.linha-historico:last-child{border-bottom:none;}
.linha-historico .historico-info{display:flex;flex-direction:column;}
.linha-historico .historico-info small{color:var(--texto-suave);font-family:var(--mono);font-size:11px;}
.linha-historico .historico-valor{font-family:var(--mono);font-weight:bold;white-space:nowrap;}

/* ---------- Modal: forma(s) de pagamento ---------- */
.modal-overlay{
  position:fixed;inset:0;background:rgba(10,14,20,.6);
  display:flex;align-items:center;justify-content:center;padding:20px;z-index:50;
  overflow-y:auto;
}
/* "display:flex" ganha do hidden do navegador: sem esta linha, uma janela
   marcada como hidden continuava desenhada por cima da tela inteira e
   engolia todo clique. As telas antigas escapavam porque usam
   style="display:none" na mão. */
.modal-overlay[hidden]{display:none;}
.modal-caixa{
  background:#fff;border-radius:8px;overflow:hidden;max-width:420px;width:100%;
  box-shadow:0 20px 50px rgba(0,0,0,.3);
}
.modal-pagamentos{max-width:460px;}
.modal-caixa .modal-corpo{padding:22px 24px;}
.modal-caixa h3{margin:0 0 4px;font-size:17px;}
.modal-caixa .modal-sub{color:var(--texto-suave);font-size:13px;margin:0 0 0;}

.modal-visor{
  background:var(--tinta);color:#fff;padding:16px 24px;
  display:flex;justify-content:space-between;align-items:baseline;
}
.modal-visor .rotulo{font-size:12.5px;color:#9AA6B4;text-transform:uppercase;letter-spacing:.03em;}
.modal-visor .valor{
  font-family:var(--mono);font-size:24px;font-weight:bold;color:var(--verde-visor);
  font-variant-numeric:tabular-nums;
}

.lista-pagamentos{margin:14px 0 12px;max-height:160px;overflow-y:auto;}
.lista-pagamentos-vazia{font-size:13px;color:var(--texto-suave);margin:0;}
.linha-pagamento{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:8px 10px;border:1px solid var(--cinza-borda);border-radius:4px;
  font-size:13.5px;margin-bottom:6px;background:#FAFBFC;
}
.linha-pagamento .linha-forma{flex:1;}
.linha-pagamento small{display:block;color:var(--texto-suave);font-size:11.5px;font-family:var(--mono);}
.linha-pagamento .linha-valor{font-weight:bold;white-space:nowrap;font-family:var(--mono);}

.modal-saldo{
  display:flex;align-items:center;gap:8px;justify-content:center;
  text-align:center;font-size:14px;font-weight:bold;padding:9px;border-radius:4px;margin:0 0 16px;
}
.modal-saldo.falta{background:#FBEAE8;color:#A5312A;}
.modal-saldo.ok{background:#E5F5EC;color:#1C6B41;}

#formas-botoes{margin-bottom:14px;}
#formas-botoes button{flex-direction:column;padding:12px 6px;gap:2px;}
#formas-botoes button small{color:inherit;opacity:.7;font-weight:normal;}
#formas-botoes button.ativo small{opacity:1;}

.modal-troco{
  background:#FFF6E0;color:#8A6100;border:1px solid #F0DCA0;border-radius:4px;
  padding:8px 10px;font-size:13.5px;font-weight:bold;margin:0 0 12px;text-align:center;
  font-family:var(--mono);
}

/* ---------- Recibo de impressão ---------- */
#recibo-impressao{display:none;}
@media print{
  @page{size:auto;margin:0;}

  body *{visibility:hidden;}
  #recibo-impressao, #recibo-impressao *{visibility:visible;}
  #recibo-impressao{
    display:block;position:absolute;top:0;left:0;padding:10px;
    font-family:var(--mono);font-size:15px;line-height:1.5;color:#000;
  }

  #recibo-impressao p{margin:0;}

  .recibo-cabecalho{text-align:center;margin-bottom:2px;}
  .recibo-empresa-nome{font-size:18px;font-weight:bold;text-transform:uppercase;margin-bottom:3px !important;}
  .recibo-linha-fina{font-size:13px;line-height:1.4;}

  .recibo-separador{border-top:1px dashed #000;margin:9px 0;}

  .recibo-rotulo-secao{
    font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#444;margin-bottom:5px !important;
  }

  .recibo-item{margin-bottom:8px;}
  .recibo-item-nome{font-weight:bold;}
  .recibo-linha-valor{display:flex;justify-content:space-between;gap:10px;}
  .recibo-linha-valor span:last-child{white-space:nowrap;}

  .recibo-total-final{
    font-size:19px;font-weight:bold;border-top:1px solid #000;margin-top:5px;padding-top:5px;
  }

  .recibo-rodape{text-align:center;font-size:13px;margin-top:5px !important;}

  /* ---- Blocos do cupom não fiscal (código do item, cliente, colunas) ---- */
  .cup-risco{border-top:1px solid #000;margin:6px 0 5px;}
  .cup-par{display:flex;justify-content:space-between;gap:8px;}
  /* Sem prender ao id: a reimpressão monta este bloco fora do #recibo-cliente */
  .cup-linha{display:block;}

  /* Itens em colunas, SEM <table>: o programa de impressão desenha o HTML com
     um navegador próprio, e nele a tabela virou rolagem horizontal — Qtde,
     Unit e Total saíam fora do papel. Flex é o que as linhas de total já
     usavam, e essas sempre imprimiram certo. */
  .cup-itens{width:100%;}
  /* flex-wrap: em papel muito estreito os números descem pra linha de baixo
     em vez de sair pra fora do papel. Nunca se perde uma coluna. */
  .cup-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 3px;padding:1px 0;width:100%;}
  .cup-cab{font-weight:bold;border-bottom:1px solid #000;text-transform:uppercase;
    font-size:calc(var(--recibo-fonte,15px) * 0.78);}
  .cup-item .cup-cod{flex:0 0 auto;min-width:2.4em;font-size:calc(var(--recibo-fonte,15px) * 0.84);}
  /* Descrição em letra comum (não monoespaçada): cabe bem mais por linha */
  .cup-item .cup-ds{flex:1 1 0;min-width:5.0em;overflow-wrap:anywhere;
    font-family:Arial,Helvetica,sans-serif;line-height:1.3;
    font-size:calc(var(--recibo-fonte,15px) * 0.87);}
  .cup-item .cup-n{flex:0 0 auto;text-align:right;font-size:calc(var(--recibo-fonte,15px) * 0.84);}
  .cup-item .cup-q{min-width:2.3em;}
  .cup-item .cup-u{min-width:3.0em;}
  .cup-item .cup-t{min-width:3.4em;}
  .cup-item-desc{font-size:calc(var(--recibo-fonte,15px) * 0.78);}
  .cup-item-desc .cup-ds{font-size:calc(var(--recibo-fonte,15px) * 0.78);}

  .recibo-rotulo-secao{margin-bottom:2px !important;}

  .cup-obs{border:1px dashed #000;padding:5px 7px;margin:6px 0 2px;}
  .cup-obs b{display:block;font-size:calc(var(--recibo-fonte,15px) * 0.78);letter-spacing:.04em;}
  .cup-obs span{font-family:Arial,Helvetica,sans-serif;line-height:1.3;
    font-size:calc(var(--recibo-fonte,15px) * 0.87);}

  #recibo-impressao.recibo-80mm{width:80mm;}
  #recibo-impressao.recibo-58mm{width:58mm;font-size:13px;}
  #recibo-impressao.recibo-58mm .recibo-empresa-nome{font-size:15.5px;}
  #recibo-impressao.recibo-58mm .recibo-total-final{font-size:16.5px;}
  #recibo-impressao.recibo-a4{width:100%;max-width:190mm;font-size:18px;padding:20px;}
  #recibo-impressao.recibo-a4 .recibo-empresa-nome{font-size:23px;}
}

/* ---------- Filtros de relatório ---------- */
/* ---------- Abas de navegação entre os relatórios ---------- */
.abas-relatorio{display:flex;gap:4px;border-bottom:1px solid var(--cinza-borda);margin-bottom:20px;flex-wrap:wrap;}
.abas-relatorio a{
  padding:10px 16px;font-size:13.5px;font-weight:bold;color:var(--texto-suave);
  border-bottom:2px solid transparent;margin-bottom:-1px;
}
.abas-relatorio a:hover{color:var(--texto);text-decoration:none;}
.abas-relatorio a.ativo{color:var(--azul);border-bottom-color:var(--azul);}

/* Linha de tabela clicável (abre detalhe) */
.linha-venda{cursor:pointer;}
.linha-venda:hover{background:var(--cinza-bg);}
.linha-cancelada{opacity:.55;}
.tag-cancelada{color:var(--vermelho);font-size:11px;font-weight:bold;}
.tag-nfe-venda{display:inline-block;background:#E8F0FB;color:#1F5FA8;border-radius:99px;padding:1px 7px;font-size:11px;font-weight:bold;}

/* Selo de sangria/suprimento no detalhe do caixa */
.tag-movimento{
  display:inline-block;font-size:10.5px;font-weight:bold;padding:1px 7px;border-radius:8px;
  text-transform:uppercase;margin-right:6px;
}
.tag-movimento-sangria{background:#FDEBEA;color:var(--vermelho);}
.tag-movimento-suprimento{background:#E5F5EC;color:#1C6B41;}

/* Linhas de valor dentro dos modais de detalhe (venda / caixa) */
.linha-valor-modal{display:flex;justify-content:space-between;gap:10px;padding:5px 0;font-size:13.5px;}
.linha-valor-modal span:last-child{white-space:nowrap;font-family:var(--mono);}
.rotulo-secao-modal{
  font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--texto-suave);
  margin:16px 0 6px;padding-top:12px;border-top:1px solid var(--cinza-borda);
}
.rotulo-secao-modal:first-of-type{border-top:none;padding-top:0;margin-top:14px;}
.total-final-modal{font-weight:bold;font-size:15px;border-top:1px solid var(--cinza-borda);margin-top:4px;padding-top:8px;}

.filtros-relatorio{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:22px;}

.form-comissao-inline{display:flex;align-items:center;gap:6px;justify-content:flex-end;}
.form-comissao-inline input{width:70px;padding:5px 8px;font-size:13px;text-align:right;}
.filtros-relatorio .form-grupo{margin-bottom:0;min-width:150px;}

/* ============================================================
   RESPONSIVIDADE — celular e tablet pequeno
   (fica no fim do arquivo de propósito: precisa vir depois das
   regras base pra conseguir sobrescrevê-las)
   ============================================================ */
body{-webkit-text-size-adjust:100%;}
.caixa-cabecalho .contexto{flex-wrap:wrap;}
.topbar-tenant{color:#9AA6B4;font-size:13px;}
.tabela-rolavel{width:100%;}

/* Abaixo de 900px o grid do caixa já é uma coluna só: reorganiza a ordem
   pra buscar produto vir primeiro, depois o carrinho com o total, e só por
   último cliente e vendedor (o que o operador mais usa fica no topo). */
@media(max-width:899px){
  .painel-lateral{display:contents;}
  .caixa-grid{gap:14px;}
  .bloco-produto{order:1;}
  .caixa-grid > div:not(.painel-lateral){order:2;}
  .painel-lateral > .bloco:not(.bloco-produto){order:3;}
}

@media(max-width:760px){
  /* ----- Barra superior simples (tela do operador de caixa) ----- */
  .topbar-inner{padding:10px 14px;gap:10px;}
  .topbar-tenant{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .topbar-user{margin-left:auto;}

  /* ----- Páginas e cartões ----- */
  .page{padding:16px 12px 48px;}
  h2.titulo-pagina{font-size:20px;margin-bottom:14px;}
  .tela-central{padding:16px;}
  .card-login{padding:28px 22px;}
  .form-card{padding:18px 16px;}
  .aviso-assinatura{margin:20px auto;padding:26px 20px;}
  .resumo-cards{gap:10px;}
  .resumo-card{padding:14px;}
  .resumo-card .num{font-size:20px;}
  .cartao-atalho{padding:16px 10px;}
  .painel-cta{padding:16px;}

  /* ----- Formulários ----- */
  .form-linha-compacta{gap:12px;}
  .form-linha-compacta .form-grupo{flex:1 1 calc(50% - 6px);min-width:130px;}
  .campo-estreito,.campo-minusculo,.campo-com-acao select{max-width:none;}
  .toolbar-crud{padding:10px;}
  .toolbar-crud .btn{flex:1 1 auto;}
  .filtros-relatorio .form-grupo{flex:1 1 140px;}
  .abas-relatorio{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .abas-relatorio a{white-space:nowrap;}

  /* Campos com fonte >= 16px: o iPhone dá zoom automático em campo menor que isso */
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
  select, textarea{font-size:16px !important;}

  /* ----- Botões e alvos de toque maiores ----- */
  .btn-sm{padding:10px 14px;font-size:14px;}
  .btn-icone{width:40px;height:40px;}
  .btn-remover{width:40px;height:40px;}
  .qtd-stepper button{width:40px;height:42px;font-size:19px;}
  .qtd-stepper input{width:50px;height:42px;}
  .qtd-peso input{width:84px;height:42px;}
  .badge-modo-preco{padding:8px 12px;}

  /* ----- Tabelas de listagem: rolam de lado dentro do próprio contêiner ----- */
  .tabela-rolavel{
    overflow-x:auto;-webkit-overflow-scrolling:touch;
    border:1px solid var(--cinza-borda);border-radius:6px;background:#fff;
  }
  .tabela-rolavel table{margin:0;}
  .tabela-rolavel.tabela-media table{min-width:480px;}
  .tabela-rolavel.tabela-larga table{min-width:720px;}

  /* ----- Caixa: carrinho vira lista de cartões ----- */
  .caixa-cabecalho .contexto{gap:8px 12px;}
  .ticket{max-height:none;overflow:visible;}
  .ticket thead{display:none;}
  .ticket table,.ticket tbody{display:block;width:100%;}
  .ticket tbody tr{
    display:grid;grid-template-columns:auto 1fr auto;
    grid-template-areas:"nome nome remover" "qtd preco subtotal";
    align-items:center;gap:10px;padding:12px;border-bottom:1px solid #F0F1F3;
  }
  .ticket tbody tr td{display:block;padding:0;border:none;}
  .ticket .col-idx{display:none;}
  .ticket td.col-nome{grid-area:nome;font-size:15.5px;}
  .ticket td.col-preco{
    grid-area:preco;text-align:left;font-size:13px;color:var(--texto-suave);
  }
  .ticket td.col-preco::before{content:"× ";}
  .ticket td.col-qtd{grid-area:qtd;}
  .ticket .col-cod{display:none;}
  .ticket td.col-subtotal{grid-area:subtotal;text-align:right;font-size:17px;}
  .ticket td.col-remover{grid-area:remover;justify-self:end;width:auto;}
  .ticket tbody tr#carrinho-vazio{display:block;padding:0;border:none;}
  .ticket tbody tr#carrinho-vazio td{display:block;}

  /* Total e botões de finalizar sempre à vista enquanto rola o carrinho */
  /* Com o teclado aberto na busca, o painel deixa de ficar grudado (senão
     ocuparia metade da área visível que sobra acima do teclado) */
  body:has(#busca-produto:focus, #busca-cliente:focus, #observacao-pedido:focus) .resumo-venda{
    position:static;box-shadow:none;
  }
  .resumo-venda-acoes{gap:8px;}
  .resumo-venda-acoes .btn{flex:1;padding:13px 14px;font-size:15px;}
  .atalhos-bar{display:none;}  /* dicas de teclado não fazem sentido no celular */

  /* ----- Janelas (modais) ----- */
  .modal-overlay{padding:12px;align-items:flex-start;}
  .modal-caixa{margin-top:4px;}
  .modal-caixa .modal-corpo{padding:18px 16px;}
  .modal-visor{padding:14px 16px;}
  #formas-botoes{flex-wrap:wrap;}
  #formas-botoes button{flex:1 1 calc(50% - 6px);padding:14px 6px;font-size:14px;}
}

/* ---------- Entrada de mercadoria ---------- */
.entrada-itens{margin-top:16px;border:1px solid var(--cinza-borda);border-radius:6px;background:#fff;}
.entrada-vazia{padding:28px 16px;text-align:center;color:var(--texto-suave);font-size:13.5px;}
.entrada-item{
  display:grid;grid-template-columns:minmax(0,1fr) 120px 130px 120px 40px;
  gap:12px;align-items:end;padding:12px 14px;border-bottom:1px solid #F0F1F3;
}
.entrada-item:last-child{border-bottom:none;}
.entrada-item .ei-nome strong{display:block;font-size:15px;}
.entrada-item .ei-nome small{display:block;color:var(--texto-suave);font-size:12px;font-family:var(--mono);margin-top:3px;}
.entrada-item .ei-campo label{
  display:block;font-size:11px;text-transform:uppercase;letter-spacing:.03em;
  color:var(--texto-suave);margin-bottom:4px;
}
.entrada-item .ei-campo input{
  width:100%;padding:8px 10px;border:1px solid var(--cinza-borda);border-radius:4px;
  font-size:14px;text-align:right;font-family:var(--mono);
}
.entrada-item .ei-campo input:focus{outline:none;border-color:var(--azul);box-shadow:0 0 0 3px rgba(31,95,168,.14);}
.entrada-item .ei-subtotal span{
  display:block;padding:9px 0;font-family:var(--mono);font-weight:bold;color:var(--verde);text-align:right;
}
.entrada-rodape{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;margin-top:16px;
}
.entrada-check{
  display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--texto-suave);
  max-width:520px;cursor:pointer;line-height:1.4;
}
.entrada-check input{margin-top:2px;flex:none;}
.entrada-total{font-size:14px;color:var(--texto-suave);}
.entrada-total strong{font-family:var(--mono);font-size:22px;color:var(--texto);margin-left:8px;}

@media(max-width:760px){
  .entrada-item{grid-template-columns:1fr 1fr;}
  .entrada-item .ei-nome{grid-column:1 / -1;}
  .entrada-item .ei-remover{justify-self:end;}
  .entrada-total strong{font-size:20px;}
}

/* ---------- Cards de gráfico nos relatórios ---------- */
.grafico-card{margin-bottom:22px;}
.grafico-card .form-secao-titulo{margin-bottom:16px;}

/* ---------- Consulta de preço (F8) ---------- */
.modal-consulta-preco-caixa .modal-corpo{padding:32px 34px;}
.modal-consulta-preco-caixa h3{font-size:22px;}
.modal-consulta-preco-caixa .modal-sub{font-size:14.5px;}
.campo-consulta-preco{font-size:19px !important;padding:16px 16px 16px 46px !important;}
.modal-consulta-preco-caixa .icone-busca-produto{width:19px;height:19px;}

.consulta-preco-card{
  margin-top:16px;padding:20px;border-radius:8px;background:var(--tinta);color:#fff;text-align:center;
}
.consulta-preco-card .cp-nome{font-size:15px;font-weight:bold;margin-bottom:10px;text-transform:uppercase;}
.consulta-preco-card .cp-preco-principal{
  font-family:var(--mono);font-size:34px;font-weight:bold;color:var(--verde-visor);line-height:1.1;
}
.consulta-preco-card .cp-unidade{font-size:14px;color:#9AA6B4;font-weight:normal;margin-left:4px;}
.consulta-preco-card .cp-linha-secundaria{font-size:13px;color:#C7D0DB;margin-top:8px;}

.modal-consulta-preco-caixa .consulta-preco-card{padding:34px 24px;margin-top:20px;}
.modal-consulta-preco-caixa .cp-nome{font-size:21px;margin-bottom:16px;}
.modal-consulta-preco-caixa .cp-preco-principal{font-size:58px;}
.modal-consulta-preco-caixa .cp-unidade{font-size:18px;}
.modal-consulta-preco-caixa .cp-linha-secundaria{font-size:16px;margin-top:12px;}
.modal-consulta-preco-caixa #resultado-consulta-preco .resultado-produto-linha{padding:16px;font-size:15.5px;}
.modal-consulta-preco-caixa .rp-nome{font-size:16px;}
.modal-consulta-preco-caixa .rp-preco-varejo{font-size:17px;}

/* ---------- Importar XML de NF-e (entrada de mercadoria) ---------- */
.card-importar-nfe{border-color:#BFD7F0;background:#F7FAFE;}
.card-importar-nfe input[type="file"]{font-size:13px;max-width:100%;}

/* ---------- Busca de produtos com filtro extra de categoria ---------- */
.busca-lista-com-filtro{display:flex;gap:10px;align-items:center;flex-wrap:wrap;max-width:none;}
.busca-lista-com-filtro select{padding:9px 10px;font-size:14px;}

/* ---------- Barra de atalhos fixa no topo do caixa ---------- */
.atalhos-bar-topo{
  display:flex;justify-content:center;flex-wrap:wrap;gap:16px;
  background:#fff;border:1px solid var(--cinza-borda);border-radius:6px;
  padding:9px 14px;margin:0 0 14px;font-size:12px;color:var(--texto-suave);
}
.atalhos-bar-topo kbd{margin-right:4px;}

/* ---------- Painel de total: não "pula" quando o 1º item é lido, e não
   some de vista quando o carrinho cresce ---------- */
.ticket{min-height:min(52vh, 460px);}

/* ============================================================
   TELA DE PEDIDO / PRÉ-VENDA (vendedor)
   ============================================================ */

/* ---------- Barra superior compacta: menu (esquerda) + busca (direita) ---------- */
.pv-linha-superior{display:flex;flex-direction:column;gap:12px;align-items:stretch;margin-bottom:14px;}

.pv-topo-compacto{
  flex:1 1 55%;min-width:420px;display:flex;align-items:center;gap:22px;flex-wrap:nowrap;
  background:var(--tinta);border:1px solid var(--tinta);border-radius:8px;padding:12px 22px;
}
.pv-topo-compacto .pv-rotulo-mini{color:#9AA6B4;}
.pv-topo-compacto .pv-sub-mini{color:#C7D0DB;}
.pv-topo-compacto .pv-sub-mini input{background:#fff;}
.pv-topo-compacto .cliente-selecionado span{color:#fff;font-weight:bold;}
.pv-item{display:flex;flex-direction:column;gap:4px;}
.pv-rotulo-mini{
  font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--texto-suave);
  font-weight:bold;display:flex;align-items:center;gap:6px;
}
.pv-numero-mini{font-size:30px;font-weight:bold;color:var(--azul-escuro);font-family:var(--mono);line-height:1;}
.pv-total-mini{font-size:26px;font-weight:bold;color:var(--verde);font-family:var(--mono);line-height:1;}
.pv-sub-mini{font-size:12px;color:var(--texto-suave);white-space:nowrap;margin-top:2px;display:block;}
.pv-sub-mini input{
  width:66px;padding:4px 6px;font-size:12.5px;font-family:var(--mono);
  border:1px solid var(--cinza-borda);border-radius:4px;margin-left:3px;
}
.pv-item-acoes{flex-direction:row;align-items:center;gap:10px;margin-left:auto;align-self:flex-start;}

.btn-link-mini{
  background:none;border:none;padding:0;margin-top:2px;cursor:pointer;
  color:var(--azul);font-size:11px;font-weight:bold;text-decoration:underline;text-align:left;
}
.btn-link-mini:hover{color:var(--azul-escuro);}
.pv-topo-compacto .cliente-selecionado{margin-bottom:0;}

.pv-busca-lado{flex:0 0 auto;align-self:flex-start;margin-bottom:0;display:flex;flex-direction:column;position:relative;}
.pv-busca-lado #busca-produto{
  font-size:15px !important;padding:11px 11px 11px 38px !important;
  background:#FFF6D8 !important;border-color:#F0D479 !important;
}
.pv-busca-lado .icone-busca-produto{width:15px;height:15px;}
.pv-busca-lado .resultado-lista{
  position:absolute;left:0;right:0;top:calc(100% - 4px);z-index:8;
  box-shadow:0 10px 24px rgba(0,0,0,.14);border-radius:4px;
}

/* ---------- Grade de produtos: bem maior agora que o topo ficou compacto,
   com altura contida (rola por dentro sem empurrar a observação) ---------- */
.ticket-pedido-cheio{max-height:calc(100vh - 310px);min-height:300px;overflow-y:auto;}
.ticket-pedido-cheio table{width:100%;}
.ticket-vazio-sem-logo{
  padding:36px 20px;background:#F7F8FA;color:var(--texto-suave);
  min-height:min(28vh, 220px);display:flex;align-items:center;justify-content:center;
}
.ticket-vazio-sem-logo p{font-size:14.5px;color:#8A94A3;max-width:none;margin:0;}

/* ---------- Observação: fixa na parte de baixo da tela, sempre visível,
   não se move quando adiciona itens no pedido ---------- */
.pv-observacao-fixa{
  position:fixed;left:0;right:0;bottom:0;z-index:20;background:#fff;
  border-top:1px solid var(--cinza-borda);box-shadow:0 -6px 16px rgba(0,0,0,.08);
  padding:10px 24px;
}
.pv-observacao-fixa .form-grupo{max-width:1180px;margin:0 auto;}
.pv-observacao-fixa textarea{height:44px;}
body:has(.pv-observacao-fixa){padding-bottom:60px;}

/* ---------- Modal: forma de pagamento pretendida (F1) ---------- */
.grade-formas-pedido{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;}
.grade-formas-pedido button{
  padding:16px 10px;border:1px solid var(--cinza-borda);border-radius:8px;background:#fff;
  font-size:14px;font-weight:bold;color:var(--texto);cursor:pointer;transition:background .15s, border-color .15s;
}
.grade-formas-pedido button:hover{background:#EEF5FF;border-color:var(--azul);}
.grade-formas-pedido button kbd{margin-right:6px;}

@media(max-width:1200px){
  .pv-topo-compacto{flex-wrap:wrap;}
}

@media(max-width:900px){
  .pv-linha-superior{flex-direction:column;}
  .pv-topo-compacto,.pv-busca-lado{flex:1 1 auto;min-width:0;}
}

@media(max-width:600px){
  .pv-topo-compacto{padding:12px;gap:12px;}
  .pv-numero-mini{font-size:15px;}
  .pv-total-mini{font-size:14px;}
  .pv-item-acoes{width:100%;margin-left:0;}
  .pv-item-acoes .btn{flex:1;}
  .ticket-pedido-cheio{max-height:min(38vh, 340px);}
  .grade-formas-pedido{grid-template-columns:1fr;}
}

/* ---------- Grade de produtos: agora é a única coisa na coluna da
   direita (o painel de total foi pra lateral), então pode crescer mais ---------- */
.coluna-ticket .ticket{min-height:min(68vh, 620px);}

@media(max-width:899px){
  .coluna-ticket .ticket{min-height:min(52vh, 460px);}
}

/* ---------- Dashboard do painel inicial ---------- */
.variacao-dia{font-size:11.5px;margin-top:4px;font-weight:bold;color:var(--texto-suave);}
.variacao-positiva{color:var(--verde);}
.variacao-negativa{color:var(--vermelho);}

.painel-grid-duas-colunas{
  display:grid;grid-template-columns:1.6fr 1fr;gap:16px;margin:20px 0;align-items:start;
}
@media(max-width:860px){
  .painel-grid-duas-colunas{grid-template-columns:1fr;}
}

/* ============================================================
   LAYOUT COM MENU LATERAL (admin)
   ============================================================ */
.layout-admin{display:flex;min-height:100vh;}

.sidebar{
  width:252px;flex:none;background:var(--azul-escuro);color:#fff;
  display:flex;flex-direction:column;position:sticky;top:0;align-self:flex-start;
  height:100vh;overflow-y:auto;
}
.sidebar-brand{
  display:block;padding:20px 22px 16px;color:#fff;font-size:19px;font-weight:bold;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.sidebar-brand:hover{text-decoration:none;}
.sidebar-brand span{color:#9FCBFF;}
.sidebar-brand small{display:block;font-size:12px;font-weight:normal;color:#9AA6B4;margin-top:3px;}

.sidebar-aviso-vencimento{
  margin:12px 14px 0;padding:10px 12px;border-radius:6px;font-size:12px;line-height:1.4;
  background:rgba(234,179,8,.15);color:#FDE68A;border:1px solid rgba(234,179,8,.35);
}

.sidebar-nav{flex:1;padding:14px 10px;display:flex;flex-direction:column;gap:2px;}
.sidebar-nav a{
  display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:6px;
  color:#CBD5E1;font-size:14px;font-weight:500;
}
.sidebar-nav a:hover{background:rgba(255,255,255,.08);color:#fff;text-decoration:none;}
.sidebar-nav a.ativo{background:var(--azul);color:#fff;}
.sidebar-nav a svg{flex:none;opacity:.85;}
.sidebar-secao{
  margin:14px 12px 4px;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;
  color:#7C8CA3;font-weight:bold;
}
.sidebar-nav .sidebar-secao:first-of-type{margin-top:6px;}

.sidebar-user{
  padding:14px 22px;border-top:1px solid rgba(255,255,255,.12);
  display:flex;flex-direction:column;gap:8px;font-size:13px;color:#CBD5E1;flex:none;
}
.sidebar-user a{color:#fff;text-decoration:underline;font-weight:bold;align-self:flex-start;}

.area-principal{flex:1;min-width:0;}

.topbar-mobile{display:none;}
.botao-abrir-sidebar{background:none;border:none;color:#fff;cursor:pointer;padding:6px;display:flex;}
.sidebar-fundo{display:none;}

@media(max-width:960px){
  .sidebar{
    position:fixed;left:0;top:0;height:100vh;z-index:40;
    transform:translateX(-100%);transition:transform .22s ease;
    box-shadow:4px 0 16px rgba(0,0,0,.25);
  }
  .sidebar.aberta{transform:translateX(0);}

  .topbar-mobile{
    display:flex;align-items:center;gap:12px;background:var(--azul-escuro);color:#fff;
    padding:14px 16px;position:sticky;top:0;z-index:20;
  }
  .topbar-mobile .brand{color:#fff;font-size:17px;font-weight:bold;}
  .topbar-mobile .brand span{color:#9FCBFF;}

  .sidebar-fundo.visivel{
    display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:30;
  }
}

/* ---------- Fila de separação de pedidos ---------- */
.cartao-separacao{
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  background:#fff;border:1px solid var(--cinza-borda);border-radius:8px;padding:16px 18px;
  color:var(--texto);transition:border-color .15s, box-shadow .15s;
}
.cartao-separacao:hover{border-color:var(--azul);box-shadow:0 4px 12px rgba(0,0,0,.08);text-decoration:none;}
.cartao-separacao-progresso{font-size:12.5px;font-weight:bold;color:var(--amarelo, #B7791F);}
.cartao-separacao-progresso.completo{color:var(--verde);}

/* ---------- Checklist de separação (itens do pedido) ---------- */
.item-separacao{
  display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--cinza-borda);
  border-radius:8px;margin-bottom:10px;background:#fff;
}
.item-separacao.separado{background:#F3FBF6;border-color:#BFE6CC;}
.item-separacao.faltando{background:#FEF3F2;border-color:#F3C6C2;}
.item-separacao-info{flex:1;}
.item-separacao-nome{font-weight:bold;font-size:15px;}
.item-separacao-qtd{font-size:13px;color:var(--texto-suave);margin-top:2px;}
.item-separacao-acoes{display:flex;gap:8px;flex:none;}

/* ---------- Visual mais elegante da tela de pedido ---------- */

/* Número do pedido com fundo escuro, em destaque */
.pv-numero-bloco .pv-numero-mini{color:var(--verde-visor, #4ADE80);}
.btn-link-mini-clara{color:#9FCBFF !important;}
.btn-link-mini-clara:hover{color:#fff !important;}

/* Botão de cliente mais elegante, com ícone redondo e colorido */
.btn-cliente-elegante{
  display:inline-flex;align-items:center;gap:10px;padding:6px 18px 6px 6px;border-radius:30px;
  background:linear-gradient(135deg, #2F6FD6, #163F73);color:#fff;border:none;cursor:pointer;
  font-size:14px;font-weight:bold;transition:transform .12s, box-shadow .12s;
}
.btn-cliente-elegante:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(31,95,168,.35);}
.btn-cliente-icone{
  width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.22);
  display:flex;align-items:center;justify-content:center;flex:none;
}

/* Busca de produto menor, com o campo de quantidade ao lado */
.pv-busca-com-qtd{display:flex;gap:8px;align-items:center;}
.pv-campo-produto{display:flex;flex-direction:column;gap:2px;}
.pv-campo-produto label{
  font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--texto-suave);font-weight:bold;
}
.pv-campo-busca-menor{flex:none;width:340px;max-width:100%;margin-bottom:0 !important;}
.pv-campo-busca-menor #busca-produto{
  font-size:13px !important;padding:8px 10px 8px 30px !important;
  text-transform:uppercase;
}
.pv-campo-busca-menor #busca-produto::placeholder{text-transform:none;}
.pv-campo-busca-menor .icone-busca-produto{width:13px;height:13px;}
.pv-campo-busca-menor #busca-produto:disabled{background:#F2F3F5 !important;color:#B5BCC6;}

.pv-campo-quantidade{flex:none;width:92px;display:flex;flex-direction:column;gap:2px;}
.pv-campo-quantidade label{
  font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--texto-suave);font-weight:bold;
}
.pv-campo-quantidade input{
  padding:7px 8px;font-size:16px;text-align:center;font-weight:bold;font-family:var(--mono);
  border:1px solid var(--cinza-borda);border-radius:4px;
}
.pv-campo-quantidade input:disabled{background:#F2F3F5;color:#B5BCC6;}
.pv-campo-quantidade input:not(:disabled){border-color:var(--azul);background:#EEF5FF;}

.produto-pendente-aviso{
  display:flex;align-items:center;gap:10px;margin-top:8px;padding:8px 12px;border-radius:6px;
  background:#EEF5FF;border:1px solid #BFD7F0;font-size:12.5px;color:var(--azul-escuro);
}
.produto-pendente-aviso button{
  margin-left:auto;background:none;border:none;color:var(--vermelho);font-size:12px;
  font-weight:bold;cursor:pointer;text-decoration:underline;padding:0;
}

/* Grade com "cara de grade": cabeçalho sempre visível, bordas marcadas */
.ticket-estilo-grade{border:1px solid var(--cinza-borda);border-radius:8px;overflow:hidden;font-size:12.5px;}
.ticket-estilo-grade table{border-collapse:collapse;}
.ticket-estilo-grade th{
  background:#F7F8FA;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--texto-suave);
  padding-top:7px;padding-bottom:7px;
}
.ticket-estilo-grade td{padding-top:7px;padding-bottom:7px;}
.col-codigo{width:80px;font-family:var(--mono);font-size:11.5px;color:var(--texto-suave);}
.celula-grade-vazia{
  padding:36px 20px;text-align:center;color:var(--texto-suave);font-size:12.5px;background:#FBFBFC;
}

/* Observação bem mais compacta */
.pv-observacao-menor{padding:6px 24px;}
.pv-observacao-menor label{font-size:11px;margin-bottom:2px;}
.pv-observacao-menor .form-grupo{max-width:460px;margin:0;}

/* ---------- Módulo fiscal (NF-e / NFC-e) ---------- */
.fiscal-grade{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start;}
@media(min-width:1100px){.fiscal-grade{grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);}}
.fiscal-card-largo{max-width:none;}
.fiscal-coluna-lateral{display:flex;flex-direction:column;gap:18px;}
.fiscal-coluna-lateral .form-card{max-width:none;}
.fiscal-dica{font-size:12.5px;color:var(--texto-suave);margin:4px 0 16px;line-height:1.45;}
.fiscal-aviso{background:#FFF7D6;border:1px solid #F0C94A;color:#7A5600;border-radius:6px;padding:10px 14px;margin-bottom:16px;font-size:13.5px;}
.fiscal-cert,.fiscal-teste{display:flex;flex-direction:column;gap:3px;border-radius:6px;padding:10px 12px;margin-bottom:14px;font-size:13px;border:1px solid;}
.fiscal-cert.ok,.fiscal-teste.ok{background:#E5F5EC;border-color:#BEE4CE;color:#1C6B41;}
.fiscal-cert.alerta{background:#FFF7D6;border-color:#F0C94A;color:#7A5600;}
.fiscal-cert.vencido,.fiscal-teste.falha{background:#FBEAE8;border-color:#F1C6C1;color:#A5312A;}
.fiscal-teste small{opacity:.8;}
.fiscal-resumo{margin-bottom:18px;}
.fiscal-selo{display:inline-block;font-size:11px;font-weight:bold;padding:2px 7px;border-radius:10px;background:var(--cinza-bg);color:var(--texto-suave);margin-left:6px;vertical-align:middle;}
.fiscal-selo-padrao{background:#EEF5FF;color:var(--azul-escuro);}
.fiscal-selo-ok{background:#E5F5EC;color:#1C6B41;margin-left:0;}
.fiscal-selo-alerta{background:#FFF7D6;color:#7A5600;margin-left:0;cursor:help;}
button.btn-icone{cursor:pointer;padding:0;}
.fiscal-barra-acoes{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid var(--cinza-borda);border-radius:6px;padding:10px 12px;margin-bottom:10px;font-size:13px;}
.fiscal-barra-acoes select{padding:6px 8px;border:1px solid var(--cinza-borda);border-radius:4px;font-size:13px;}
.tabela-rolagem{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--cinza-borda);border-radius:6px;}
.fiscal-tabela td{vertical-align:middle;}
.fiscal-tabela input[type="text"],.fiscal-tabela select{padding:6px 8px;border:1px solid var(--cinza-borda);border-radius:4px;font-size:13px;font-family:var(--mono);}
.fiscal-campo-ncm{width:110px;}
.fiscal-campo-cest{width:95px;}
.fiscal-campo-ncm.vazio{background:#FFF7D6;border-color:#F0C94A;}
.fiscal-tabela select{max-width:220px;font-family:inherit;}
.fiscal-paginacao{display:flex;align-items:center;gap:12px;margin-top:12px;font-size:13px;color:var(--texto-suave);}
.fiscal-selo-erro{background:#FBEAE8;color:#A5312A;margin-left:0;}
.nfce-aviso-caixa{position:fixed;left:50%;bottom:58px;transform:translateX(-50%);z-index:3000;background:var(--tinta);color:#fff;padding:12px 18px;border-radius:8px;font-size:14px;box-shadow:0 6px 24px rgba(0,0,0,.25);max-width:90vw;}
.nfce-aviso-caixa.ok{background:#1C6B41;}
.nfce-aviso-caixa.erro{background:#A5312A;}

/* ---------- Gerenciador de notas (NFC-e) ---------- */
.ger-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:4px 0 16px;}
@media(min-width:900px){.ger-cards{grid-template-columns:repeat(4,minmax(0,1fr));}}
.ger-card{display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid var(--cinza-borda);border-left:4px solid var(--cinza-borda);border-radius:6px;padding:12px 14px;color:var(--texto);}
.ger-card:hover{text-decoration:none;background:#FAFBFC;}
.ger-card strong{font-size:26px;font-family:var(--mono);line-height:1.15;}
.ger-card small{font-size:12px;color:var(--texto-suave);}
.ger-card-rotulo{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--texto-suave);font-weight:bold;}
.ger-card.ok{border-left-color:var(--verde);}
.ger-card.alerta{border-left-color:#E0A800;background:#FFFBEA;}
.ger-card.ativo{box-shadow:0 0 0 2px var(--azul);}
.ger-aviso{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.ger-aviso span{flex:1;min-width:240px;}
.ger-aviso.urgente{background:#FBEAE8;border-color:#F1C6C1;color:#A5312A;}
.ger-contador{display:inline-block;min-width:18px;padding:0 6px;margin-left:4px;border-radius:9px;background:#E0A800;color:#fff;font-size:11px;font-weight:bold;text-align:center;}
.ger-motivo{color:var(--texto-suave);font-size:11.5px;}
.ger-acoes{white-space:nowrap;}
.ger-acoes form{display:inline;}
.ger-acoes .btn{margin:2px 0;}

/* ---------- Caixa fiscal / não fiscal (F9) ---------- */
.badge-modo-fiscal{
  display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:14px;
  border:1px solid #BEE4CE;background:#E5F5EC;color:#1C6B41;font-size:12.5px;cursor:pointer;
}
.badge-modo-fiscal .ponto{width:7px;height:7px;border-radius:50%;background:var(--verde);flex:none;}
.badge-modo-fiscal kbd{font-size:10.5px;}
.badge-modo-fiscal.nao-fiscal{border-color:#F0C94A;background:#FFF7D6;color:#8A6100;}
.badge-modo-fiscal.nao-fiscal .ponto{background:#E0A800;}
.modo-fiscal-modal{margin:0 0 12px;padding:8px 12px;border-radius:6px;font-size:13.5px;background:#E5F5EC;color:#1C6B41;border:1px solid #BEE4CE;}
.modo-fiscal-modal.nao-fiscal{background:#FFF7D6;color:#8A6100;border-color:#F0C94A;}
@media(max-width:600px){.badge-modo-fiscal{padding:8px 12px;}}

/* ---------- Caixa fiscal / não fiscal (F9) ---------- */
.badge-modo-fiscal{
  display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:14px;
  border:1px solid #BEE4CE;background:#E5F5EC;color:#1C6B41;font-size:12.5px;cursor:pointer;
}
.badge-modo-fiscal .ponto{width:7px;height:7px;border-radius:50%;background:var(--verde);flex:none;}
.badge-modo-fiscal kbd{font-size:10.5px;}
.badge-modo-fiscal.nao-fiscal{border-color:#F0C94A;background:#FFF7D6;color:#8A6100;}
.badge-modo-fiscal.nao-fiscal .ponto{background:#E0A800;}
.modo-fiscal-modal{margin:0 0 12px;padding:8px 12px;border-radius:6px;font-size:13.5px;background:#E5F5EC;color:#1C6B41;border:1px solid #BEE4CE;}
.modo-fiscal-modal.nao-fiscal{background:#FFF7D6;color:#8A6100;border-color:#F0C94A;}
@media(max-width:600px){.badge-modo-fiscal{padding:8px 12px;}}
.badge-modo-fiscal.sem-config{border-color:#F1C6C1;background:#FBEAE8;color:#A5312A;text-decoration:none;}
.badge-modo-fiscal.sem-config .ponto{background:var(--vermelho);}
.opcao-tipo-venda{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;margin-bottom:8px;border:1px solid var(--cinza-borda);border-radius:6px;cursor:pointer;font-size:13.5px;}
.opcao-tipo-venda input{margin-top:3px;}
.opcao-tipo-venda small{color:var(--texto-suave);font-size:12.5px;}
.opcao-tipo-venda.selecionada{border-color:var(--azul);background:#EEF5FF;}
.opcoes-ambos{margin:4px 0 0 26px;padding:12px;border-left:3px solid var(--azul);background:#F7F9FC;border-radius:0 6px 6px 0;}

/* ---------- Menu fixo do caixa (abaixo do menu superior) ---------- */
.topo-fixo{position:sticky;top:0;z-index:40;}
.caixa-menu{background:var(--azul-escuro);color:#fff;border-top:1px solid rgba(255,255,255,.12);}
.caixa-menu-inner{
  display:flex;align-items:stretch;gap:2px;padding:0 12px;
  overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.caixa-menu-inner::-webkit-scrollbar{display:none;}
.caixa-menu-item{
  display:inline-flex;align-items:center;gap:7px;padding:9px 11px;flex:none;
  color:#fff;background:none;border:0;border-bottom:3px solid transparent;border-radius:0;
  font:inherit;font-size:13.5px;cursor:pointer;white-space:nowrap;text-decoration:none;
}
.caixa-menu-item:hover{background:rgba(255,255,255,.09);text-decoration:none;color:#fff;}
.caixa-menu-item.ativo{background:rgba(0,0,0,.2);border-bottom-color:#9FCBFF;}
.caixa-menu-item svg{flex:none;opacity:.95;}
.caixa-menu-item kbd{background:rgba(0,0,0,.28);color:#C9DCF2;border:0;box-shadow:none;font-size:11px;padding:1px 5px;}
.caixa-menu-contador{
  display:inline-flex;align-items:center;justify-content:center;min-width:18px;padding:0 6px;
  border-radius:9px;background:#E0A800;color:#412402;font-size:11px;font-weight:bold;line-height:18px;
}
.caixa-menu-espaco{flex:1 0 12px;}
.caixa-menu-status{display:flex;align-items:center;gap:8px;flex:none;padding-left:6px;}
.caixa-menu-status .badge-modo-preco{padding:3px 10px;}
.caixa-menu-relogio{display:inline-flex;align-items:center;gap:6px;color:#C9DCF2;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:13px;}
.caixa-menu-icone{padding:9px 8px;}
.page.page-com-menu-fixo{padding-top:16px;}
@media(max-width:1180px){
  .caixa-menu-item .rotulo,.caixa-menu-item kbd{display:none;}
  .caixa-menu-item{padding:10px 12px;}
}

/* ---------- Menu fixo inferior do caixa ---------- */
.caixa-rodape-fixo{
  position:fixed;left:0;right:0;bottom:0;z-index:40;
  background:var(--azul-escuro);color:#C9DCF2;border-top:1px solid rgba(255,255,255,.12);
  padding-bottom:env(safe-area-inset-bottom, 0px);
}
.caixa-rodape-inner{
  display:flex;align-items:center;gap:18px;height:40px;padding:0 16px;
  overflow-x:auto;scrollbar-width:none;white-space:nowrap;font-size:12.5px;
}
.caixa-rodape-inner::-webkit-scrollbar{display:none;}
.caixa-rodape-status{display:inline-flex;align-items:center;gap:7px;color:#fff;font-weight:bold;flex:none;}
.caixa-rodape-status .ponto{width:7px;height:7px;border-radius:50%;background:#4ADE94;flex:none;}
.caixa-rodape-atalhos{display:flex;align-items:center;gap:16px;margin-left:auto;flex:none;}
.caixa-rodape-atalhos kbd{background:rgba(0,0,0,.28);color:#fff;border:0;box-shadow:none;font-size:11px;padding:1px 5px;margin-right:5px;}
.caixa-rodape-espaco{height:56px;}
@media(max-width:600px){
  .caixa-rodape-atalhos{display:none;}
}

/* ---------- Recibo com ajuste fino da impressora ---------- */
@media print{
  #recibo-impressao.recibo-ajustado{
    box-sizing:border-box;width:var(--recibo-area,72mm);margin-left:var(--recibo-margem,0mm);
    padding:0 0 var(--recibo-espaco,6mm) 0;font-size:var(--recibo-fonte,14px);
    overflow-wrap:anywhere;
  }
  #recibo-impressao.recibo-ajustado .recibo-empresa-nome{font-size:calc(var(--recibo-fonte,14px) * 1.2);}
  #recibo-impressao.recibo-ajustado .recibo-total-final{font-size:calc(var(--recibo-fonte,14px) * 1.25);}
  #recibo-impressao.recibo-ajustado .recibo-linha-fina,
  #recibo-impressao.recibo-ajustado .recibo-rodape{font-size:calc(var(--recibo-fonte,14px) * 0.87);}
  #recibo-impressao.recibo-ajustado .recibo-rotulo-secao{font-size:calc(var(--recibo-fonte,14px) * 0.8);}
}

/* ---------- Tela "Ajustar impressão" ---------- */
.imp-grade{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start;}
@media(min-width:980px){.imp-grade{grid-template-columns:minmax(300px,420px) minmax(0,1fr);}}
.imp-controles{max-width:none;}
.imp-controle{display:flex;flex-direction:column;gap:6px;margin-bottom:18px;}
.imp-controle label{font-size:13.5px;display:flex;justify-content:space-between;gap:10px;}
.imp-controle label strong{font-family:var(--mono);color:var(--azul-escuro);}
.imp-controle input[type="range"]{width:100%;accent-color:var(--azul);height:28px;cursor:pointer;}
.imp-controle small{color:var(--texto-suave);font-size:12px;}
.imp-acoes{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;}
.imp-previa-area{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px;background:#E9ECF1;border-radius:8px;overflow-x:auto;}
.imp-previa-titulo{margin:0;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--texto-suave);}
.imp-papel{
  position:relative;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.15);
  padding:4mm 0;min-height:60mm;transition:width .15s;
}
/* faixa vermelha do que passa da borda direita do papel */
.imp-papel.imp-cortando::after{
  content:"";position:absolute;top:0;bottom:0;left:100%;width:var(--corte);
  background:repeating-linear-gradient(45deg,rgba(192,57,43,.35) 0 4px,rgba(192,57,43,.15) 4px 8px);
  border-left:2px dashed var(--vermelho);
}
.imp-recibo{
  box-sizing:border-box;width:var(--recibo-area,72mm);margin-left:var(--recibo-margem,0mm);
  font-family:var(--mono);font-size:var(--recibo-fonte,14px);line-height:1.5;color:#000;overflow-wrap:anywhere;
  outline:1px dashed #9FCBFF;
}
.imp-recibo p{margin:0;}
.imp-recibo .recibo-cabecalho{text-align:center;margin-bottom:2px;}
.imp-recibo .recibo-empresa-nome{font-size:calc(var(--recibo-fonte,14px) * 1.2);font-weight:bold;text-transform:uppercase;}
.imp-recibo .recibo-linha-fina,.imp-recibo .recibo-rodape{font-size:calc(var(--recibo-fonte,14px) * .87);}
.imp-recibo .recibo-rodape{text-align:center;}
.imp-recibo .recibo-separador{border-top:1px dashed #000;margin:2mm 0;}
.imp-recibo .recibo-rotulo-secao{font-size:calc(var(--recibo-fonte,14px) * .8);text-transform:uppercase;color:#444;}
.imp-recibo .recibo-item{margin-bottom:1.5mm;}
.imp-recibo .recibo-item-nome{font-weight:bold;}
.imp-recibo .recibo-linha-valor{display:flex;justify-content:space-between;gap:8px;}
.imp-recibo .recibo-linha-valor span:last-child{white-space:nowrap;}
.imp-recibo .recibo-total-final{font-size:calc(var(--recibo-fonte,14px) * 1.25);font-weight:bold;border-top:1px solid #000;margin-top:1mm;padding-top:1mm;}
.imp-espaco-final{background:repeating-linear-gradient(0deg,#F2F4F7 0 2px,transparent 2px 6px);}
.imp-fiscal{box-sizing:border-box;display:flex;flex-direction:column;gap:2mm;outline:1px dashed #9FCBFF;}
.imp-fiscal-bloco{
  display:flex;align-items:center;justify-content:center;background:#F2F4F7;border-radius:2px;
  font-size:11px;color:var(--texto-suave);text-align:center;
}
.imp-fiscal-qr{height:30mm;width:30mm;align-self:center;background:#DDE3EA;}
.imp-legenda{margin:0;font-size:12px;color:var(--texto-suave);display:flex;align-items:center;gap:6px;}
.imp-legenda-corte{display:inline-block;width:14px;height:10px;background:rgba(192,57,43,.35);border:1px dashed var(--vermelho);}
.ger-btn-reimprimir{display:inline-flex;align-items:center;gap:5px;}

/* ---------- CPF/CNPJ na nota (caixinha antes do pagamento) ---------- */
.modal-overlay.modal-cpf-nota{z-index:60;}
.cpf-nota-campo{
  width:100%;box-sizing:border-box;font-family:var(--mono);font-size:26px;letter-spacing:1px;text-align:center;
  padding:12px 14px;border:2px solid var(--cinza-borda);border-radius:8px;
}
.cpf-nota-campo:focus{outline:none;border-color:var(--azul);}
.cpf-nota-campo.valido{border-color:var(--verde);background:#F2FBF6;}
.cpf-nota-campo.invalido{border-color:var(--vermelho);background:#FDF3F2;}
.cpf-nota-aviso{margin:8px 0 0;min-height:18px;font-size:13px;color:var(--texto-suave);text-align:center;}
.cpf-nota-aviso.ok{color:var(--verde);font-weight:bold;}
.cpf-nota-aviso.erro{color:var(--vermelho);font-weight:bold;}
.cpf-nota-resumo{margin:0 0 12px;padding:7px 12px;border-radius:6px;background:#F7F9FC;border:1px solid var(--cinza-borda);font-size:13.5px;}

/* ---------- Caixa offline: indicador de conexão no rodapé ---------- */
.status-conexao{
  display:inline-flex;align-items:center;gap:7px;flex:none;border:0;background:none;cursor:pointer;
  font:inherit;font-size:12.5px;font-weight:bold;color:#fff;padding:4px 10px;border-radius:14px;
}
.status-conexao::before{content:"";width:8px;height:8px;border-radius:50%;background:#4ADE94;flex:none;}
.status-conexao.offline{background:#E0A800;color:#412402;}
.status-conexao.offline::before{background:#412402;animation:pisca-offline 1.2s infinite;}
.status-conexao.enviando::before{background:#9FCBFF;animation:pisca-offline .8s infinite;}
.status-conexao.com-erro{background:var(--vermelho);color:#fff;}
@keyframes pisca-offline{50%{opacity:.25;}}

/* ============================================================
   Cadastro de empresa (tela pública de criação de conta)
   ============================================================ */
.cad-body{margin:0;background:var(--cinza-bg);}
.cad-tela{display:grid;grid-template-columns:minmax(0,1fr);min-height:100vh;}
@media(min-width:1000px){.cad-tela{grid-template-columns:minmax(380px,0.85fr) minmax(0,1.15fr);}}

/* Painel de marca */
.cad-lateral{
  background:var(--tinta);color:#fff;padding:40px 44px;display:flex;flex-direction:column;gap:22px;
  padding-top:max(40px, env(safe-area-inset-top, 0px));
}
.cad-lateral-topo{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.cad-marca{font-size:28px;font-weight:bold;letter-spacing:-.3px;}
.cad-marca span{color:#9FCBFF;}
.cad-selo{font-size:12.5px;font-weight:bold;color:#C9DCF2;border:1px solid #2A5A8E;border-radius:20px;padding:5px 12px;}
.cad-chamada{margin:10px 0 0;font-size:30px;line-height:1.15;letter-spacing:-.5px;max-width:520px;}
.cad-subchamada{margin:0;color:#C9DCF2;font-size:15px;line-height:1.5;max-width:480px;}
.cad-recursos{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:14px;}
@media(min-width:1300px){.cad-recursos{grid-template-columns:repeat(2,minmax(0,1fr));}}
.cad-recursos li{display:flex;gap:12px;align-items:flex-start;}
.cad-recursos strong{display:block;font-size:14.5px;margin-bottom:2px;}
.cad-recursos small{display:block;color:#9AA4B2;font-size:13px;line-height:1.4;}
.cad-recurso-icone{
  flex:none;width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  background:rgba(74,222,148,.12);color:var(--verde-visor);
}
.cad-lateral-rodape{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:18px;border-top:1px solid #2A3442;font-size:13px;color:#9AA4B2;}
.cad-lateral-rodape span{display:flex;align-items:center;gap:8px;}
@media(max-width:999px){
  .cad-lateral{padding:24px 20px;gap:14px;}
  .cad-chamada{font-size:22px;}
  .cad-recursos{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .cad-recursos small{display:none;}
  .cad-lateral-rodape{display:none;}
}

/* Formulário */
.cad-principal{display:flex;align-items:flex-start;justify-content:center;padding:40px 24px;padding-bottom:max(40px, env(safe-area-inset-bottom, 0px));}
@media(min-width:1000px){.cad-principal{align-items:center;}}
.cad-caixa{width:100%;max-width:640px;background:#fff;border:1px solid var(--cinza-borda);border-radius:14px;padding:30px 32px;box-shadow:0 8px 30px rgba(18,24,32,.06);}
@media(max-width:600px){.cad-caixa{padding:22px 18px;border-radius:10px;}}
.cad-cabecalho{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:20px;}
.cad-cabecalho h2{margin:0;font-size:24px;}
.cad-cabecalho p{margin:4px 0 0;color:var(--texto-suave);font-size:14px;}

.cad-etapas{list-style:none;margin:0 0 22px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;counter-reset:etapa;}
.cad-etapas li{
  display:flex;align-items:center;gap:8px;font-size:13px;font-weight:bold;color:var(--texto-suave);
  padding-bottom:10px;border-bottom:3px solid var(--cinza-borda);
}
.cad-etapas li span{
  width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:none;
  background:var(--cinza-bg);border:1px solid var(--cinza-borda);font-size:12px;
}
.cad-etapas li.atual{color:var(--azul-escuro);border-bottom-color:var(--azul);}
.cad-etapas li.atual span{background:var(--azul);border-color:var(--azul);color:#fff;}
.cad-etapas li.feita{color:var(--verde);border-bottom-color:var(--verde);}
.cad-etapas li.feita span{background:var(--verde);border-color:var(--verde);color:#fff;}

.cad-etapa{display:none;}
.cad-etapa.ativa{display:block;animation:cad-entrar .18s ease-out;}
@keyframes cad-entrar{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
.cad-etapa .form-grupo label small{font-weight:normal;color:var(--texto-suave);}
.cad-etapa input,.cad-etapa select{font-size:15px;}
.cad-linha{display:grid;grid-template-columns:minmax(0,1fr);gap:0 16px;}
@media(min-width:560px){
  .cad-linha{grid-template-columns:repeat(2,minmax(0,1fr));}
  .cad-linha-cidade{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 90px;}
  .cad-linha-cep{grid-template-columns:180px minmax(0,1fr);align-items:center;}
}
.cad-dica{display:block;margin-top:5px;font-size:12.5px;color:var(--texto-suave);}
.cad-dica.ok{color:var(--verde);font-weight:bold;}
.cad-dica.erro{color:var(--vermelho);font-weight:bold;}
.cad-cep-status{margin:0 0 14px;}
@media(min-width:560px){.cad-cep-status{margin:10px 0 0;}}

.cad-senha{position:relative;display:flex;}
.cad-senha input{flex:1;padding-right:80px;}
.cad-senha button{
  position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;cursor:pointer;
  font:inherit;font-size:12.5px;font-weight:bold;color:var(--azul);padding:4px 6px;
}
.cad-forca{height:5px;border-radius:3px;background:var(--cinza-bg);margin-top:7px;overflow:hidden;}
.cad-forca span{display:block;height:100%;width:0;transition:width .2s;background:var(--vermelho);}
.cad-forca span.media{background:#E0A800;}
.cad-forca span.boa{background:#5DAA6E;}
.cad-forca span.forte{background:var(--verde);}

.cad-resumo{margin-top:6px;padding:12px 14px;border-radius:8px;background:#EEF5FF;border:1px solid #C9DDF5;color:var(--azul-escuro);font-size:14px;}
.cad-resumo code{font-family:var(--mono);font-weight:bold;}
.cad-erro-etapa{min-height:18px;margin:6px 0 0;color:var(--vermelho);font-weight:bold;font-size:13.5px;}
.cad-navegacao{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:18px;border-top:1px solid var(--cinza-borda);}
.cad-btn{min-width:180px;justify-content:center;display:inline-flex;align-items:center;gap:8px;padding:11px 18px;font-size:15px;}
@media(max-width:480px){.cad-btn{min-width:0;flex:1;}}

/* ============================================================
   Tela de login
   ============================================================ */
.lg-body{margin:0;background:var(--cinza-bg);}
.lg-tela{display:grid;grid-template-columns:minmax(0,1fr);min-height:100vh;}
@media(min-width:900px){.lg-tela{grid-template-columns:minmax(340px,0.8fr) minmax(0,1.2fr);}}

.lg-lateral{
  background:var(--tinta);color:#fff;padding:36px 40px;display:flex;flex-direction:column;gap:28px;
  padding-top:max(36px, env(safe-area-inset-top, 0px));
}
.lg-loja{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:auto 0;}
.lg-logo{max-width:180px;max-height:110px;object-fit:contain;background:#fff;border-radius:12px;padding:10px;margin-bottom:10px;}
.lg-inicial{
  width:76px;height:76px;border-radius:18px;display:flex;align-items:center;justify-content:center;margin-bottom:10px;
  background:var(--azul-escuro);color:#9FCBFF;font-size:38px;font-weight:bold;
}
.lg-saudacao{margin:0;color:#9AA4B2;font-size:15px;}
.lg-nome-loja{margin:0;font-size:32px;line-height:1.1;letter-spacing:-.5px;}
.lg-endereco{margin:2px 0 0;font-family:var(--mono);font-size:13.5px;color:#9FCBFF;}
.lg-dicas{list-style:none;margin:0;padding:18px 0 0;border-top:1px solid #2A3442;display:flex;flex-direction:column;gap:10px;font-size:13.5px;color:#9AA4B2;}
.lg-dicas li{display:flex;align-items:center;gap:10px;}
.lg-dicas svg{color:var(--verde-visor);flex:none;}
@media(max-width:899px){
  .lg-lateral{padding:20px;gap:12px;flex-direction:row;align-items:center;flex-wrap:wrap;}
  .lg-loja{margin:0;flex-direction:row;align-items:center;gap:12px;flex:1 1 auto;}
  .lg-logo{max-width:64px;max-height:48px;padding:6px;margin:0;border-radius:8px;}
  .lg-inicial{width:48px;height:48px;font-size:24px;margin:0;border-radius:12px;}
  .lg-saudacao,.lg-dicas{display:none;}
  .lg-nome-loja{font-size:20px;}
  .lg-endereco{font-size:12px;}
}

.lg-principal{display:flex;align-items:center;justify-content:center;padding:36px 20px;padding-bottom:max(36px, env(safe-area-inset-bottom, 0px));}
.lg-caixa{width:100%;max-width:420px;background:#fff;border:1px solid var(--cinza-borda);border-radius:14px;padding:30px 30px 24px;box-shadow:0 8px 30px rgba(18,24,32,.06);}
@media(max-width:480px){.lg-caixa{padding:22px 18px;}}
.lg-caixa h2{margin:0;font-size:23px;}
.lg-sub{margin:4px 0 18px;color:var(--texto-suave);font-size:14px;}
.lg-tipo{margin-bottom:18px;}
.lg-caixa input{font-size:16px;}
.lg-caps{display:block;margin-top:5px;font-size:12.5px;font-weight:bold;color:#8A6100;}
.lg-lembrar{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--texto-suave);margin:2px 0 16px;cursor:pointer;}
.lg-btn{padding:12px;font-size:16px;}
.lg-rodape{margin-top:20px;padding-top:16px;border-top:1px solid var(--cinza-borda);font-size:13px;color:var(--texto-suave);display:flex;flex-direction:column;gap:6px;}
.lg-rodape p{margin:0;}
.lg-boas-vindas{
  display:flex;flex-direction:column;gap:4px;margin-bottom:20px;padding:14px 16px;border-radius:10px;
  background:#E5F5EC;border:1px solid #BEE4CE;color:#1C6B41;font-size:13.5px;
}
.lg-boas-vindas strong{font-size:15px;}
.lg-boas-vindas code{font-family:var(--mono);font-weight:bold;font-size:14px;background:#fff;border-radius:6px;padding:6px 10px;margin-top:4px;align-self:flex-start;}
.modal-categoria-erro{min-height:18px;margin:0;color:var(--vermelho);font-weight:bold;font-size:13px;}
.forn-endereco{border:1px solid var(--cinza-borda);border-radius:8px;padding:8px 12px;margin-bottom:4px;}
.forn-endereco summary{cursor:pointer;font-weight:bold;font-size:13.5px;}
.forn-endereco summary small{font-weight:normal;color:var(--texto-suave);}
.forn-endereco-campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;margin-top:10px;}
.forn-endereco-campos .forn-largo{grid-column:1 / -1;}
@media(min-width:560px){.forn-endereco-campos{grid-template-columns:120px minmax(0,1fr) 90px;}.forn-endereco-campos .forn-largo{grid-column:2 / 4;}}


/* ============================================================
   Clientes: cadastro, lista e busca do caixa (F2)
   ============================================================ */
.cli-topo{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px;}
.cli-trilha{font-size:13px;color:var(--texto-suave);}
.cli-topo-acoes{display:flex;gap:10px;}
.cli-grade{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start;}
@media(min-width:1100px){.cli-grade{grid-template-columns:minmax(0,1fr) 320px;}}
.cli-coluna{display:flex;flex-direction:column;gap:16px;min-width:0;}
.cli-card{background:#fff;border:1px solid var(--cinza-borda);border-radius:12px;padding:20px 22px;}
.cli-card .form-grupo{margin-bottom:12px;}
.cli-card input,.cli-card select,.cli-card textarea{border-radius:8px;}
.cli-secao{display:block;margin:0 0 14px;font-size:12.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--texto-suave);}
.cli-secao-linha{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.cli-secao-linha .cli-secao{margin:0;}
.cli-dica{font-size:12.5px;color:var(--texto-suave);margin:0;}
.cli-tipo{max-width:460px;margin-bottom:16px;}
.cli-linha{display:grid;grid-template-columns:minmax(0,1fr);gap:0 14px;}
@media(min-width:640px){
  .cli-2{grid-template-columns:repeat(2,minmax(0,1fr));}
  .cli-3{grid-template-columns:repeat(3,minmax(0,1fr));}
  .cli-linha-doc{grid-template-columns:240px minmax(0,1fr);align-items:center;}
  .cli-end1{grid-template-columns:170px minmax(0,1fr) 120px;}
  .cli-end2{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 90px 120px;}
}
.cli-mono,.cli-mono-celula{font-family:var(--mono);}
.cli-mono-celula{font-size:13px;white-space:nowrap;}
.cli-status{margin:0 0 12px;font-size:13px;font-weight:700;color:var(--texto-suave);}
.cli-status.ok{color:var(--verde);}
.cli-status.erro{color:var(--vermelho);}
#cpf_cnpj.valido{border-color:var(--verde);background:#F2FBF6;}
#cpf_cnpj.invalido{border-color:var(--vermelho);background:#FDF3F2;}
.cli-suframa{max-width:320px;}
.cli-lateral{display:flex;flex-direction:column;gap:14px;}
@media(min-width:1100px){.cli-lateral{position:sticky;top:16px;}}
.cli-cartao{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;}
.cli-avatar{width:72px;height:72px;border-radius:18px;background:var(--azul-escuro);color:#9FCBFF;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;}
.cli-selos{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;}
.cli-selos span{background:#EEF5FF;color:var(--azul-escuro);border-radius:20px;padding:3px 10px;font-size:12px;font-weight:800;}
.cli-checklist{display:flex;flex-direction:column;gap:8px;}
.cli-checklist ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13.5px;}
.cli-checklist li.ok{color:#1C6B41;}
.cli-checklist li.falta{color:#7A5600;}
.cli-barra{height:8px;border-radius:4px;background:#EEF0F3;overflow:hidden;}
.cli-barra div{height:100%;width:0;background:var(--verde);transition:width .2s;}
.cli-cred{display:flex;flex-direction:column;gap:12px;}
.cli-cred-chave{display:flex;align-items:center;gap:10px;cursor:pointer;margin:0;font-size:14.5px;}
.cli-cred-chave input{position:absolute;opacity:0;pointer-events:none;}
.cli-cred-sw{width:40px;height:22px;border-radius:12px;background:#CBD2DC;position:relative;flex-shrink:0;transition:background .15s;}
.cli-cred-sw::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s;}
.cli-cred-chave input:checked + .cli-cred-sw{background:var(--azul);}
.cli-cred-chave input:checked + .cli-cred-sw::after{left:21px;}
.cli-cred-chave input:focus-visible + .cli-cred-sw{box-shadow:0 0 0 3px rgba(31,95,168,.3);}
.cli-cred-chave input:disabled + .cli-cred-sw{opacity:.6;}
.cli-cred-campos label{display:block;font-size:12px;font-weight:700;color:var(--texto-suave);margin-bottom:4px;}
.cli-cred-campos input.cli-cred-limite{width:100%;text-align:right;font-weight:700;font-size:16px;}
.cli-cred-saldos{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;}
.cli-cred-saldos>div{border-radius:10px;padding:9px 11px;min-width:0;}
.cli-cred-saldos small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.04em;}
.cli-cred-saldos b{display:block;font:800 16px var(--mono);margin-top:3px;white-space:nowrap;}
.cli-cred-dev{background:#FEF2F2;border:1px solid #FECACA;}.cli-cred-dev small{color:#B91C1C;}.cli-cred-dev b{color:#DC2626;}
.cli-cred-disp{background:#F0FDF4;border:1px solid #BBF7D0;}.cli-cred-disp small{color:#15803D;}.cli-cred-disp b{color:#16A34A;}
.cli-cred-disp.negativo{background:#FEF2F2;border-color:#FECACA;}.cli-cred-disp.negativo b,.cli-cred-disp.negativo small{color:#DC2626;}
.cli-cred-campos.desligado{opacity:.5;}
.fp-sub{color:var(--texto-suave);margin:-6px 0 16px;font-size:13.5px;}

/* ---------- Formas de pagamento: lista (Cód. | Descrição | Prazo | Parcelas | Ativa) ---------- */
.fpg-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
.fpg-topo .fp-sub{margin:-6px 0 10px;}
.fpg-botoes{display:flex;gap:8px;}
.fpg-botoes .btn:disabled{opacity:.5;cursor:default;}
.fpg-tabela-caixa{background:#fff;border:1px solid var(--cinza-borda);border-radius:10px;overflow-x:auto;}
.fpg-tabela{width:100%;border-collapse:collapse;font-size:14px;}
.fpg-tabela th{background:#F7F8FA;text-align:left;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--texto-suave);padding:11px 14px;border-bottom:1px solid var(--cinza-borda);}
.fpg-tabela td{padding:10px 14px;border-bottom:1px solid #EEF0F3;white-space:nowrap;}
.fpg-tabela tbody tr:last-child td{border-bottom:none;}
.fpg-tabela tbody tr{cursor:pointer;outline:none;}
.fpg-tabela tbody tr:hover,.fpg-tabela tbody tr.sel{background:#EEF4FC;}
.fpg-tabela tbody tr.sel td:first-child{box-shadow:inset 3px 0 0 var(--azul);}
.fpg-cod{font-family:var(--mono);color:var(--texto-suave);width:60px;}
.fpg-c{text-align:center;width:90px;}
.fpg-tag{display:inline-block;background:#EEF0F3;color:var(--texto-suave);font-size:11px;font-weight:600;border-radius:6px;padding:1px 7px;margin-left:4px;}
.fpg-chip{display:inline-block;font-size:12px;font-weight:700;border-radius:999px;padding:2px 10px;}
.fpg-chip.sim{background:#DCF5E6;color:#17663A;}
.fpg-chip.nao{background:#EEF0F3;color:var(--texto-suave);}
.fpg-nota{color:var(--texto-suave);font-size:12.5px;margin:10px 2px;}
#fpg-modal[hidden],#fpg-modal [hidden]{display:none !important;}
.fpg-topo .titulo-pagina{margin-bottom:10px;}
.fpg-modal{max-width:470px;}
.fpg-modal .modal-corpo{padding:22px 24px;}
.fpg-modal h3{font-size:19px;margin-bottom:14px;}
.fpg-modal .modal-sub{margin:-8px 0 10px;}
.fpg-rot{display:block;font-size:13px;font-weight:700;color:#3A4250;margin:10px 0 6px;}
.fpg-campo{width:100%;box-sizing:border-box;border:1px solid var(--cinza-borda);border-radius:8px;padding:10px 12px;font-size:15px;}
.fpg-campo:focus{outline:2px solid #BFD5F2;border-color:var(--azul);}
.fpg-campo:disabled,.fpg-campo[readonly]{background:#F4F5F7;color:var(--texto-suave);}
.fpg-duas{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.fpg-sufixo{position:relative;}
.fpg-sufixo .fpg-campo{padding-right:46px;}
.fpg-sufixo span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#8A93A2;font-size:14px;pointer-events:none;}
.fpg-opcao{display:flex;align-items:center;gap:8px;font-size:14px;margin-top:12px;cursor:pointer;}
.fpg-acoes{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;}
.fpg-btn-excluir{margin-right:auto;background:#fff;color:var(--vermelho);border-color:#F0C9C4;}
@media (max-width:560px){.fpg-duas{grid-template-columns:1fr;}.fpg-botoes{width:100%;}.fpg-botoes .btn{flex:1;}}
.fp{max-width:1000px;}
.fp-linha{background:#fff;border:1px solid var(--cinza-borda);border-radius:12px;margin-bottom:8px;overflow:hidden;}
.fp-cab{display:flex;align-items:center;gap:14px;padding:12px 16px;}
.fp-ic{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.fp-ic.din{background:#DCFCE7}.fp-ic.pix{background:#CCFBF1;color:#0F766E}.fp-ic.deb{background:#DBEAFE}.fp-ic.cre{background:#EDE9FE}.fp-ic.crd{background:#FFEDD5}
.fp-nome{flex:1;min-width:0}.fp-nome b{display:block;font-size:15px}.fp-nome small{color:var(--texto-suave);font-size:12.5px}
.fp-chave{cursor:pointer;margin:0;display:flex}
.fp-chave input{position:absolute;opacity:0;pointer-events:none}
.fp-chave input:checked + .cli-cred-sw{background:var(--azul)}.fp-chave input:checked + .cli-cred-sw::after{left:21px}
.fp-chave input:focus-visible + .cli-cred-sw{box-shadow:0 0 0 3px rgba(31,95,168,.3)}
.fp-crediario{border:2px solid #FDBA74;}
.fp-crediario .fp-cab{background:#FFF7ED;}
.fp-cred{display:grid;grid-template-columns:1.1fr 1fr;gap:22px;padding:16px 18px;}
@media (max-width:800px){.fp-cred{grid-template-columns:1fr;}}
.fp-rot{display:block;font-size:11.5px;font-weight:800;color:var(--texto-suave);letter-spacing:.04em;margin-bottom:6px;}
.fp-dias{display:flex;align-items:center;gap:10px}
.fp-dias input{width:110px;font:800 26px var(--mono);text-align:center;border:2px solid var(--azul);border-radius:10px;padding:6px 10px;}
.fp-dias b{font-size:16px}
.fp-chips{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.fp-chips button{padding:5px 12px;border-radius:14px;border:1px solid #CBD2DC;font-weight:700;font-size:12.5px;background:#fff;cursor:pointer;font-family:inherit}
.fp-chips button.on{background:var(--azul);color:#fff;border-color:var(--azul)}
.fp-opcao{display:flex;gap:10px;align-items:flex-start;padding:12px 0 0;margin-top:14px;border-top:1px solid #F0F2F5;cursor:pointer;font-weight:400}
.fp-opcao b{display:block;font-size:13.5px}.fp-opcao small{display:block;font-size:12px;color:var(--texto-suave)}
.fp-exemplo{background:#F0FDF4;border:1px solid #BBF7D0;border-radius:12px;padding:14px 16px;color:#334155;font-size:14px}
.fp-exemplo small{font-size:12px;font-weight:800;color:#166534;letter-spacing:.04em}
.fp-venc{display:block;font:800 22px var(--mono);color:#15803D;margin:6px 0 2px}
.fp-juros{margin-top:12px;font-size:12.5px;color:#475569;border-top:1px solid #BBF7D0;padding-top:8px}
.fp-rodape{display:flex;justify-content:flex-end;margin-top:12px}
.cli-compras{background:var(--tinta);color:#fff;border-color:var(--tinta);display:flex;flex-direction:column;gap:10px;font-variant-numeric:tabular-nums;}
.cli-compras div{display:flex;justify-content:space-between;gap:10px;}
.cli-compras div span{color:#C9DCF2;}
.cli-compras-total{font-family:var(--mono);font-size:19px;color:var(--verde-visor);}

/* Lista */
.cli-resumo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;}
@media(min-width:900px){.cli-resumo{grid-template-columns:repeat(4,minmax(0,1fr));}}
.cli-resumo-card{background:#fff;border:1px solid var(--cinza-borda);border-radius:10px;padding:14px 16px;color:var(--texto);display:flex;flex-direction:column;gap:2px;}
a.cli-resumo-card:hover{text-decoration:none;box-shadow:0 0 0 2px var(--azul);}
.cli-resumo-card strong{font-family:var(--mono);font-size:24px;}
.cli-resumo-card span{font-size:13px;color:var(--texto-suave);}
.cli-resumo-card.alerta{background:#FFFBEA;border-color:#F0C94A;}
.cli-resumo-card.alerta strong,.cli-resumo-card.alerta span{color:#7A5600;font-weight:700;}
.cli-verde{color:#1C6B41;}
.cli-filtros{background:#fff;border:1px solid var(--cinza-borda);border-radius:12px;padding:12px;display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px;}
.cli-busca{flex:1 1 340px;display:flex;align-items:center;gap:10px;border:2px solid var(--azul);border-radius:10px;padding:0 14px;min-height:48px;color:var(--texto-suave);}
.cli-busca input,.cli-busca input[type="text"],.cli-busca input[type="text"]:focus{border:0;outline:0;box-shadow:none;background:transparent;font:inherit;font-size:15px;font-weight:500;flex:1;min-width:0;padding:0;width:auto;height:auto;}
.cli-busca input::placeholder{color:#8A909B;font-weight:400;}
.cli-filtros select{min-height:48px;padding:0 12px;border:1px solid var(--cinza-borda);border-radius:10px;font:inherit;font-size:14px;font-weight:500;color:var(--texto);background:#fff;cursor:pointer;}
.cli-filtros select:focus{outline:2px solid var(--azul);outline-offset:0;}
.cli-tabela-card{background:#fff;border:1px solid var(--cinza-borda);border-radius:12px;overflow:hidden;}
.cli-tabela td{vertical-align:middle;}
.cli-nome-celula{display:flex;align-items:center;gap:12px;}
.cli-nome-celula div{display:flex;flex-direction:column;}
.cli-nome-celula span:not(.cli-mini-avatar){font-size:12.5px;color:var(--texto-suave);}
.cli-mini-avatar{flex:none;width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;}
.cli-tabela mark,.cxcli-lista mark{background:#FFF4C2;color:inherit;padding:0 1px;border-radius:2px;}
.cli-sub{font-size:12.5px;color:var(--texto-suave);}
.cli-selo{display:inline-block;white-space:nowrap;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:800;background:#F2F4F7;color:#3D4450;}
.cli-selo.ok{background:#E5F5EC;color:#1C6B41;}
.cli-selo.alerta{background:#FFF7D6;color:#7A5600;cursor:help;}
.cli-zap{color:#1C6B41;}
.cli-rodape-tabela{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid #EEF0F3;font-size:13px;color:var(--texto-suave);}

/* Busca de cliente no caixa (F2) */
.cxcli-caixa{max-width:640px;width:100%;padding:0;overflow:hidden;border-radius:16px;}
.cxcli-topo{padding:22px 24px 14px;display:flex;flex-direction:column;gap:12px;}
.cxcli-titulo{display:flex;justify-content:space-between;align-items:center;gap:10px;}
.cxcli-titulo h3{margin:0;font-size:20px;}
.cxcli-titulo span{font-size:12.5px;color:var(--texto-suave);}
.cxcli-busca{display:flex;align-items:center;gap:10px;border:2px solid var(--azul);border-radius:12px;padding:0 14px;min-height:54px;color:var(--texto-suave);}
.cxcli-busca input,.cxcli-busca input[type="text"],.cxcli-busca input[type="text"]:focus{border:0;outline:0;box-shadow:none;background:transparent;font:inherit;font-size:18px;font-weight:700;flex:1;min-width:0;padding:0;width:auto;height:auto;}
.cxcli-dica{font-size:12.5px;color:var(--texto-suave);}
.cxcli-lista{max-height:320px;overflow-y:auto;border-top:1px solid #EEF0F3;}
.cxcli-lista .resultado-vazio{padding:16px 24px;color:var(--texto-suave);}
.cxcli-item{display:flex;align-items:center;gap:14px;width:100%;padding:12px 24px;border:0;border-bottom:1px solid #EEF0F3;background:#fff;text-align:left;font:inherit;cursor:pointer;}
.cxcli-item:hover{background:#F7F9FC;}
.cxcli-item.selecionado{background:#EEF5FF;box-shadow:inset 0 0 0 2px var(--azul);}
.cxcli-avatar{flex:none;width:42px;height:42px;border-radius:10px;background:var(--azul-escuro);color:#9FCBFF;display:flex;align-items:center;justify-content:center;font-weight:800;}
.cxcli-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.cxcli-info strong{font-size:15px;}
.cxcli-info small{font-size:13px;color:var(--texto-suave);}
.cxcli-selo{flex:none;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:800;background:#F2F4F7;color:#3D4450;}
.cxcli-selo.ok{background:#E5F5EC;color:#1C6B41;}
.cxcli-selo.alerta{background:#FFF7D6;color:#7A5600;}
.cxcli-rodape{display:flex;gap:10px;padding:16px 24px;border-top:1px solid #EEF0F3;background:#F7F9FC;flex-wrap:wrap;}
.cxcli-rodape .btn{flex:1;min-height:46px;}
.cxcli-btn-novo{color:var(--azul);border-color:var(--azul);font-weight:800;}
.cxcli-rapido{padding:16px 24px;border-top:1px solid #EEF0F3;background:#F7F9FC;}
.cxcli-rapido-titulo{margin:0 0 10px;font-weight:800;}
.cxcli-rapido-titulo span{font-weight:normal;color:var(--texto-suave);font-size:13px;}
.cxcli-rapido-campos{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;}
@media(min-width:560px){.cxcli-rapido-campos{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);}}
.cxcli-rapido-campos input{padding:10px 12px;border:1px solid var(--cinza-borda);border-radius:8px;font:inherit;font-size:15px;min-height:46px;}
.cxcli-erro{min-height:18px;margin:6px 0 0;color:var(--vermelho);font-weight:bold;font-size:13px;}
.cxcli-rapido-acoes{display:flex;gap:10px;justify-content:flex-end;margin-top:6px;}

/* ============================================================
   NF-e (modelo 55): operações fiscais, pedidos para faturar,
   tela de emissão e lista de notas
   ============================================================ */

/* ---------- Operações fiscais ---------- */
.op-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start;}
@media (min-width:1100px){.op-layout{grid-template-columns:minmax(0,1fr) 370px;}}
.op-lista-card{background:#fff;border:1px solid var(--cinza-borda);border-radius:12px;overflow:hidden;}
.op-tabela th{white-space:nowrap;}
.op-tabela td{vertical-align:middle;padding:13px 12px;}
.op-tabela td:first-child{min-width:210px;}
.op-tabela tbody tr{cursor:pointer;}
.op-tabela tr.op-sel td{background:#EEF5FF;}
.op-tabela tr.op-sel td:first-child{box-shadow:inset 3px 0 0 var(--azul);}
.op-tabela tr.op-inativa td{color:#8A909B;}
.op-sub{display:block;font-size:12px;color:var(--texto-suave);margin-top:2px;}
.op-nowrap{white-space:nowrap;}
.op-link{color:var(--azul);font-weight:bold;}
.op-cfop{font-family:var(--mono);font-size:13px;}
.op-cfop-produto{display:block;font-size:13px;}
.op-cfop-exemplo{display:block;font-family:var(--mono);font-size:12px;color:var(--texto-suave);white-space:nowrap;}
.op-selo{display:inline-block;border-radius:20px;padding:3px 9px;font-size:11.5px;font-weight:bold;white-space:nowrap;}
.op-selo-saida{background:#EEF5FF;color:var(--azul-escuro);}
.op-selo-dev{background:#FFF4D6;color:#8A6100;}
.op-rodape{padding:12px 14px;font-size:12.5px;color:var(--texto-suave);background:#F7F9FC;border-top:1px solid var(--cinza-borda);}

.op-edicao{background:#fff;border:1px solid var(--cinza-borda);border-radius:12px;padding:20px;}
.op-edicao-topo{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}
.op-edicao-topo h3{margin:0;font-size:12.5px;letter-spacing:.8px;color:var(--texto-suave);}
.op-edicao-topo .fiscal-selo{margin-left:0;}
.op-duas{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.op-rotulo-leve{font-weight:normal !important;color:var(--texto-suave);font-size:12.5px;}
.op-mono{font-family:var(--mono) !important;}
.op-textarea{width:100%;padding:9px 11px;border:1px solid var(--cinza-borda);border-radius:6px;font:inherit;font-size:14px;resize:vertical;}
.op-segmento{display:flex;border:1px solid var(--cinza-borda);border-radius:8px;overflow:hidden;}
.op-segmento label{flex:1;margin:0 !important;cursor:pointer;}
.op-segmento label{position:relative;}
.op-segmento input,.op-chave input{position:absolute !important;opacity:0;pointer-events:none;width:1px !important;height:1px !important;padding:0 !important;margin:0;left:0;top:0;}
.op-segmento span{display:block;text-align:center;padding:9px 6px;font-size:13px;font-weight:bold;color:#3D4450;background:#fff;}
.op-segmento input:checked + span{background:var(--azul-escuro);color:#fff;}
.op-segmento input:focus-visible + span{outline:2px solid var(--azul);outline-offset:-2px;}
.op-chaves{margin:4px 0 16px;}
.op-chave{position:relative;display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-top:1px solid #EEF0F3;cursor:pointer;}
.op-chave-trilho{flex:none;width:40px;height:23px;border-radius:20px;background:var(--cinza-borda);position:relative;margin-top:1px;transition:background .15s;}
.op-chave-trilho::after{content:'';position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:left .15s;}
.op-chave input:checked + .op-chave-trilho{background:var(--verde);}
.op-chave input:checked + .op-chave-trilho::after{left:20px;}
.op-chave input:focus-visible + .op-chave-trilho{outline:2px solid var(--azul);outline-offset:2px;}
.op-chave small{display:block;font-size:12px;color:var(--texto-suave);margin-top:2px;}
.op-edicao-acoes{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
.op-link-acao{background:none;border:0;padding:4px 0;margin-right:12px;font:inherit;font-size:13.5px;font-weight:bold;color:var(--azul);cursor:pointer;}
.op-link-acao.perigo{color:var(--vermelho);}

/* ---------- Comum NF-e ---------- */
.nfe-mono{font-family:var(--mono);}
.nfe-chip{display:inline-block;border-radius:20px;padding:3px 9px;font-size:11.5px;font-weight:bold;background:var(--cinza-bg);color:#3D4450;white-space:nowrap;}
.nfe-chip.ok{background:#E5F5EC;color:#1C6B41;}
.nfe-chip.erro{background:#FBEAE8;color:#A5312A;}
.nfe-chip.aviso{background:#FFF4D6;color:#8A6100;}
.nfe-chip.azul{background:#EEF5FF;color:var(--azul-escuro);}
.nfe-link{background:none;border:0;padding:0;font:inherit;font-size:13px;font-weight:bold;color:var(--azul);cursor:pointer;margin-left:auto;letter-spacing:0;}
.nfe-link:hover{text-decoration:underline;}
.nfe-link-forte{display:inline-block;margin-top:8px;font-weight:bold;font-size:13px;}

/* ---------- Pedidos para faturar ---------- */
.nfe-info-fila{background:#EEF5FF;border:1px solid #C9DDF5;color:var(--azul-escuro);border-radius:8px;padding:10px 14px;font-size:13.5px;margin:0 0 16px;}
.nfe-vazio{background:#fff;border:1px dashed var(--cinza-borda);border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:6px;text-align:center;color:var(--texto-suave);}
.nfe-vazio strong{color:var(--texto);font-size:16px;}
.nfe-pedidos-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start;}
@media (min-width:1100px){.nfe-pedidos-layout{grid-template-columns:minmax(0,1fr) 360px;}}
.nfe-pedidos-lista{display:flex;flex-direction:column;gap:12px;}
.nfe-pedido{background:#fff;border:1px solid var(--cinza-borda);border-radius:12px;overflow:hidden;}
.nfe-pedido.ativo{border-color:var(--azul);box-shadow:0 0 0 1px var(--azul);}
.nfe-pedido-corpo{display:flex;flex-direction:column;gap:4px;padding:14px 16px;color:var(--texto);}
.nfe-pedido-corpo:hover{text-decoration:none;background:#FAFBFC;}
.nfe-pedido-topo{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.nfe-pedido-topo strong{font-size:15px;}
.nfe-pedido-valor{margin-left:auto;font-weight:bold;font-size:16px;}
.nfe-pedido-cliente{font-size:15px;font-weight:bold;color:var(--azul-escuro);}
.nfe-pedido-meta{font-size:13px;color:var(--texto-suave);}
.nfe-pedido-rodape{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 16px;border-top:1px solid #EEF0F3;background:#FAFBFC;}
.nfe-pedido-situacao{font-size:13px;font-weight:bold;}
.nfe-pedido-situacao.ok{color:#1C6B41;}
.nfe-pedido-situacao.alerta{color:#8A6100;}
.nfe-pedido-situacao.neutro{color:var(--texto-suave);font-weight:normal;}
.nfe-pedido-acoes{display:flex;gap:8px;flex-wrap:wrap;}
.nfe-pedido-detalhe{background:#fff;border:1px solid var(--cinza-borda);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:4px;}
@media (min-width:1100px){.nfe-pedido-detalhe{position:sticky;top:16px;}}
.nfe-detalhe-rotulo{font-size:12px;font-weight:bold;letter-spacing:.8px;color:var(--texto-suave);}
.nfe-detalhe-cliente{font-size:17px;}
.nfe-detalhe-sub{font-size:13px;color:var(--texto-suave);margin:2px 0;}
.nfe-detalhe-itens{border-top:1px solid #EEF0F3;border-bottom:1px solid #EEF0F3;margin:10px 0;padding:8px 0;display:flex;flex-direction:column;gap:6px;font-size:13.5px;}
.nfe-detalhe-itens div{display:flex;justify-content:space-between;gap:10px;}
.nfe-detalhe-desconto{color:var(--texto-suave);}
.nfe-detalhe-total{display:flex;justify-content:space-between;align-items:baseline;}
.nfe-detalhe-total strong{font-size:20px;}

/* ---------- Emitir NF-e ---------- */
.nfe-topo{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:16px;}
.nfe-trilha{font-size:13px;color:var(--texto-suave);}
.nfe-topo-selos{display:flex;gap:8px;flex-wrap:wrap;}
.nfe-pilula{background:#fff;border:1px solid var(--cinza-borda);border-radius:20px;padding:5px 12px;font-size:12.5px;}
.nfe-pilula.producao{background:#E5F5EC;color:#1C6B41;border-color:#BEE4CE;font-weight:bold;}
.nfe-pilula.homologacao{background:#FFF4D6;color:#8A6100;border-color:#F0D58A;font-weight:bold;}
.nfe-alerta-rejeicao{background:#FBEAE8;border:1px solid #F1C6C1;color:#8E2A22;border-radius:8px;padding:12px 14px;margin-bottom:16px;font-size:14px;}
.nfe-alerta-rejeicao span{display:block;margin-top:4px;font-size:13px;color:#A5312A;}
.nfe-grade{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start;}
@media (min-width:1150px){.nfe-grade{grid-template-columns:minmax(0,1fr) 320px;}}
.nfe-coluna{display:flex;flex-direction:column;gap:16px;min-width:0;}
.nfe-secao{background:#fff;border:1px solid var(--cinza-borda);border-radius:10px;padding:18px 20px;min-width:0;}
.nfe-secao h3{margin:0 0 14px;font-size:13px;font-weight:bold;letter-spacing:.8px;color:var(--texto-suave);text-transform:uppercase;display:flex;align-items:center;gap:10px;}
.nfe-secao h3 > span{width:24px;height:24px;border-radius:50%;background:var(--azul-escuro);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;flex:none;}
.nfe-campos-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;}
.nfe-campos-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px;}
@media (max-width:700px){.nfe-campos-2,.nfe-campos-3{grid-template-columns:minmax(0,1fr);}}
.nfe-alinhar-topo{align-items:start;gap:16px;}
.nfe-somente-leitura{background:#F7F9FC !important;color:var(--texto-suave);}
.nfe-form textarea{font-family:inherit;}

.nfe-dest{display:flex;gap:14px;align-items:flex-start;}
.nfe-dest-avatar{flex:none;width:46px;height:46px;border-radius:10px;background:var(--azul-escuro);color:#9FCBFF;display:flex;align-items:center;justify-content:center;font-weight:bold;font-size:16px;}
.nfe-dest-info{display:flex;flex-direction:column;gap:3px;font-size:13.5px;color:var(--texto-suave);min-width:0;}
.nfe-dest-info strong{font-size:16px;color:var(--texto);}
.nfe-dest-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px;}
.nfe-dest-problemas{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;}
.nfe-dest-problemas .erro{color:#A5312A;font-weight:bold;}
.nfe-dest-problemas .aviso{color:#8A6100;}
.nfe-dest-vazio{background:#F7F9FC;border:1px dashed var(--cinza-borda);border-radius:8px;padding:12px;font-size:13.5px;color:var(--texto-suave);}

.nfe-busca{position:relative;margin-bottom:12px;}
.nfe-busca input{width:100%;padding:11px 12px;border:2px solid var(--azul);border-radius:8px;font:inherit;font-size:14.5px;}
.nfe-busca-lista{position:absolute;left:0;right:0;top:100%;z-index:20;background:#fff;border:1px solid var(--cinza-borda);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.12);max-height:320px;overflow:auto;}
.nfe-busca-lista:empty{display:none;}
.nfe-busca-item{display:flex;width:100%;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border:0;border-bottom:1px solid #EEF0F3;background:#fff;text-align:left;font:inherit;cursor:pointer;}
.nfe-busca-item:hover,.nfe-busca-item:focus{background:#EEF5FF;outline:none;}
.nfe-busca-item span{display:flex;flex-direction:column;min-width:0;}
.nfe-busca-item small{color:var(--texto-suave);font-size:12px;}
.nfe-busca-preco{font-weight:bold;white-space:nowrap;}
.nfe-busca-vazio{padding:10px 12px;color:var(--texto-suave);font-size:13px;}

.nfe-tabela-produtos table td{vertical-align:middle;padding:8px 10px;font-size:13.5px;}
.nfe-tabela-produtos table th{padding:9px 10px;}
.nfe-in{width:100%;padding:6px 8px !important;border:1px solid var(--cinza-borda);border-radius:5px;font:inherit;font-size:13.5px !important;}
.nfe-in-cfop{width:64px;}
.nfe-in-num{text-align:right;min-width:80px;}
.nfe-falta{color:var(--vermelho);font-weight:bold;}
.nfe-total-item{font-weight:bold;white-space:nowrap;}
.nfe-produtos-rodape{display:flex;gap:14px;align-items:flex-end;margin-top:12px;flex-wrap:wrap;}
.nfe-busca-produto{flex:1 1 320px;margin:0;}
.nfe-busca-produto input{border:1px dashed var(--azul);background:#F7FAFF;}
.nfe-desconto{margin:0;width:150px;}
.nfe-desconto input{text-align:right;}

.nfe-transportadora{margin-top:4px;}
.nfe-transportadora summary{cursor:pointer;font-weight:bold;font-size:13.5px;color:var(--azul);margin-bottom:10px;}
.nfe-gerar-parcelas{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--texto-suave);margin-bottom:10px;}
.nfe-gerar-parcelas input{width:58px;padding:6px;border:1px solid var(--cinza-borda);border-radius:5px;font:inherit;}
.nfe-parcela{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 0;border-top:1px solid #EEF0F3;}
.nfe-parcela input{padding:7px 8px;border:1px solid var(--cinza-borda);border-radius:5px;font:inherit;font-size:13.5px;width:100%;min-width:0;}
.nfe-parcela-num{font-size:13px;font-weight:bold;white-space:nowrap;}
.nfe-soma-parcelas{font-size:12.5px;margin:8px 0 0;}
.nfe-soma-parcelas.ok{color:#1C6B41;}
.nfe-soma-parcelas.erro{color:#A5312A;font-weight:bold;}
.nfe-sem-cobranca{background:#F7F9FC;border-radius:8px;padding:12px;font-size:13.5px;color:var(--texto-suave);margin:0;}

.nfe-lateral{min-width:0;}
@media (min-width:1150px){.nfe-lateral{position:sticky;top:16px;}}
.nfe-resumo{background:#fff;border:1px solid var(--cinza-borda);border-radius:10px;padding:18px;}
.nfe-resumo h3{margin:0 0 10px;font-size:12.5px;letter-spacing:.8px;color:var(--texto-suave);text-transform:uppercase;}
.nfe-resumo-linha{display:flex;justify-content:space-between;font-size:14px;padding:4px 0;}
.nfe-resumo-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--cinza-borda);margin-top:8px;padding-top:10px;}
.nfe-resumo-total span{font-size:12.5px;font-weight:bold;letter-spacing:.6px;color:var(--texto-suave);text-transform:uppercase;}
.nfe-resumo-total strong{font-size:24px;}
.nfe-conferencia{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px;}
.nfe-conferencia .ok{color:#1C6B41;}
.nfe-conferencia .erro{color:#A5312A;font-weight:bold;}
.nfe-conferencia .aviso{color:#8A6100;}
.nfe-btn-emitir{font-size:16px;padding:12px;}
.nfe-btn-emitir.nfe-com-pendencia{opacity:.65;}

/* ---------- Emitir NF-e: tela compacta (tudo numa visão só) ---------- */
.nfe-fixa{display:flex;flex-direction:column;gap:8px;}
.nfe-fixa .msg,.nfe-fixa .nfe-alerta-rejeicao{margin:0;}
.nfe-fixa .nfe-topo{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0;}
.nfe-fixa .nfe-topo .titulo-pagina{margin:0;font-size:20px;}
.nfe-fixa .nfe-topo-espaco{flex:1;}
.nfe-fixa .nfe-pilula{padding:3px 10px;font-size:12px;}
.nfe-fixa .nfe-grade{gap:10px;}
@media (min-width:1150px){.nfe-fixa .nfe-grade{grid-template-columns:minmax(0,1fr) 280px;}}
.nfe-fixa .nfe-coluna{gap:8px;}
.nfe-fixa .nfe-secao{padding:9px 12px;border-radius:9px;}
.nfe-fixa .nfe-secao h3{margin:0 0 7px;font-size:11.5px;gap:7px;}
.nfe-fixa .nfe-secao h3 > span{width:19px;height:19px;font-size:11px;}
.nfe-fixa .nfe-secao h3 .nfe-link{margin-left:auto;text-transform:none;letter-spacing:0;font-size:12.5px;}
.nfe-fixa .form-grupo{margin:0;}
.nfe-fixa .form-grupo label{font-size:11.5px;margin-bottom:3px;}
.nfe-fixa .form-grupo input,.nfe-fixa .form-grupo select{padding:6px 8px;font-size:13.5px;height:33px;border-radius:6px;}
.nfe-linha-topo{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;}
@media (min-width:900px){.nfe-linha-topo{grid-template-columns:minmax(260px,330px) minmax(0,1fr);}}
.nfe-operacao-campos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 8px;}
.nfe-operacao-campos .nfe-campo-cheio{grid-column:1 / -1;}
.nfe-fixa .nfe-dest{gap:10px;}
.nfe-fixa .nfe-dest-avatar{width:38px;height:38px;font-size:13px;border-radius:8px;}
.nfe-fixa .nfe-dest-info{gap:1px;font-size:12.5px;}
.nfe-fixa .nfe-dest-info strong{font-size:14.5px;}
.nfe-fixa .nfe-dest-chips{margin-top:4px;gap:5px;}
.nfe-fixa .nfe-dest-info > span,.nfe-fixa .nfe-dest-info strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.nfe-fixa .nfe-secao h3{white-space:nowrap;}
.nfe-fixa .nfe-tabela-produtos td:nth-child(2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px;min-width:150px;}
.nfe-fixa .nfe-produtos-rodape .nfe-desconto input{height:28px;padding:3px 8px;}
.nfe-fixa .nfe-dest-chips .nfe-chip{font-size:11px;padding:2px 8px;}
.nfe-fixa .nfe-dest-problemas{margin-top:4px;gap:2px;font-size:12px;}
.nfe-fixa .nfe-link-forte{font-size:12.5px;}
.nfe-fixa .nfe-busca{margin-bottom:6px;}
.nfe-fixa .nfe-busca input{padding:7px 10px;font-size:13.5px;}
.nfe-secao-produtos{display:flex;flex-direction:column;min-height:0;}
.nfe-qtd-itens{font-weight:normal;letter-spacing:0;text-transform:none;color:var(--texto-suave);font-size:12px;}
.nfe-fixa .nfe-busca-produto{position:relative;flex:none;margin:0 0 6px;}
.nfe-fixa .nfe-busca-produto input{padding-right:46px;}
.nfe-atalho{position:absolute;right:9px;top:8px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;background:#fff;border:1px solid var(--cinza-borda);border-radius:4px;padding:1px 5px;color:var(--texto-suave);pointer-events:none;}
.nfe-fixa .nfe-tabela-produtos{overflow:auto;border-color:#E6E9EE;}
.nfe-fixa .nfe-tabela-produtos table th{position:sticky;top:0;z-index:1;padding:6px 8px;font-size:11px;}
.nfe-fixa .nfe-tabela-produtos table td{padding:4px 8px;font-size:13px;}
.nfe-fixa .nfe-in{padding:4px 6px !important;font-size:13px !important;}
.nfe-fixa .nfe-in-num{min-width:72px;}
.nfe-fixa .nfe-tabela-produtos .nfe-in-num{width:96px;}
.nfe-fixa .nfe-tabela-produtos .btn-icone{width:26px;height:26px;min-width:0;min-height:0;padding:0;}
.nfe-fixa .nfe-tabela-produtos .nfe-in{height:27px;}
.nfe-fixa .nfe-produtos-rodape{margin-top:6px;align-items:center;justify-content:space-between;gap:10px;flex-wrap:nowrap;}
.nfe-fixa .nfe-produtos-rodape .fiscal-dica{margin:0;font-size:12px;}
.nfe-fixa .nfe-desconto{display:flex;align-items:center;gap:6px;width:auto;flex:none;}
.nfe-fixa .nfe-desconto label{margin:0;white-space:nowrap;}
.nfe-fixa .nfe-desconto input{width:96px;height:30px;text-align:right;}
.nfe-linha-baixo{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:stretch;}
@media (min-width:900px){.nfe-linha-baixo{grid-template-columns:minmax(0,.8fr) minmax(0,1.35fr) minmax(0,.85fr);}}
.nfe-frete-detalhes{position:relative;margin-top:5px;}
.nfe-frete-abrir{margin-left:0 !important;font-size:12.5px;text-align:left;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;}
.nfe-frete-pop{position:absolute;left:0;bottom:calc(100% + 40px);z-index:30;width:min(520px,80vw);background:#fff;border:1px solid var(--cinza-borda);border-radius:10px;box-shadow:0 14px 40px rgba(17,24,39,.22);padding:12px 14px;display:flex;flex-direction:column;gap:8px;}
.nfe-frete-pop[hidden]{display:none;}
.nfe-frete-pop-topo{display:flex;justify-content:space-between;align-items:center;}
.nfe-frete-pop .nfe-campos-3{gap:6px 8px;}
.nfe-frete-sub{margin:2px 0 0;font-size:11.5px;font-weight:bold;color:var(--texto-suave);text-transform:uppercase;letter-spacing:.6px;}
.nfe-frete-pop .btn{align-self:flex-end;}
.nfe-cobranca-linha{display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:8px;align-items:end;}
.nfe-fixa .nfe-gerar-parcelas{display:block;margin:0;}
.nfe-fixa .nfe-gerar-parcelas label{display:block;font-size:11.5px;font-weight:bold;color:var(--texto-suave);margin-bottom:3px;}
.nfe-fixa .nfe-gerar-parcelas > div{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--texto-suave);white-space:nowrap;}
.nfe-fixa .nfe-gerar-parcelas input{width:38px;height:33px;padding:4px 2px;text-align:center;border:1px solid var(--cinza-borda);border-radius:6px;-moz-appearance:textfield;}
.nfe-fixa .nfe-gerar-parcelas input::-webkit-inner-spin-button,.nfe-fixa .nfe-gerar-parcelas input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
.nfe-fixa .nfe-gerar-parcelas .btn-sm{padding:6px 8px;height:33px;}
.nfe-fixa #nfe-parcelas{max-height:58px;overflow:auto;margin-top:4px;}
.nfe-fixa .nfe-parcela{grid-template-columns:auto minmax(0,1fr) minmax(0,.8fr) auto;gap:5px;padding:2px 0;border-top:0;}
.nfe-fixa .nfe-parcela input{padding:2px 6px;font-size:12.5px;height:26px;}
.nfe-fixa .nfe-parcela-num{font-size:11.5px;}
.nfe-fixa .nfe-parcela .btn-icone{width:24px;height:24px;min-width:0;min-height:0;padding:0;}
.nfe-fixa .nfe-soma-parcelas{margin:3px 0 0;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.nfe-fixa .nfe-sem-cobranca{padding:8px 10px;font-size:12.5px;}
.nfe-secao-info{display:flex;flex-direction:column;}
.nfe-secao-info textarea{flex:1;min-height:48px;width:100%;resize:none;padding:6px 8px;border:1px solid var(--cinza-borda);border-radius:6px;font-size:13px;}
.nfe-secao-info .fiscal-dica{margin:4px 0 0;font-size:11.5px;}
.nfe-fixa .nfe-lateral{display:flex;flex-direction:column;gap:8px;}
.nfe-fixa .nfe-resumo{padding:11px 13px;}
.nfe-fixa .nfe-resumo h3{margin:0 0 6px;font-size:11.5px;}
.nfe-fixa .nfe-resumo-linha{font-size:13px;padding:2px 0;}
.nfe-fixa .nfe-resumo-total{margin-top:6px;padding-top:7px;}
.nfe-fixa .nfe-resumo-total strong{font-size:22px;}
.nfe-fixa .nfe-conferencia{margin:0;gap:4px;font-size:12px;line-height:1.35;}
.nfe-fixa .nfe-btn-emitir{display:flex;flex-direction:column;align-items:center;padding:11px;font-size:16px;line-height:1.2;}
.nfe-fixa .nfe-btn-emitir small{font-size:11px;font-weight:normal;opacity:.85;}
.nfe-botoes-duplos{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.nfe-botoes-duplos .btn{padding:8px 6px;font-size:13px;}
.nfe-fixa .nfe-lateral .op-link-acao{align-self:flex-start;}
.nfe-fixa .nfe-lateral .fiscal-dica{margin:0;font-size:11.5px;}

/* Tela grande: a página não rola, só a lista de produtos (e o resumo, se precisar) */
@media (min-width:1150px) and (min-height:600px){
  main.page:has(> #form-nfe.nfe-fixa){height:100vh;padding:10px 16px 12px;display:flex;flex-direction:column;overflow:hidden;}
  #form-nfe.nfe-fixa{flex:1;min-height:0;}
  .nfe-fixa .nfe-grade{flex:1;min-height:0;grid-template-rows:minmax(0,1fr);align-items:stretch;}
  .nfe-fixa .nfe-coluna{min-height:0;}
  .nfe-fixa .nfe-secao-produtos{flex:1;}
  .nfe-fixa .nfe-tabela-produtos{flex:1;min-height:90px;}
  .nfe-fixa .nfe-lateral{position:static;min-height:0;overflow:auto;}
  .nfe-fixa .nfe-resumo-conferencia{flex:0 1 auto;min-height:0;overflow:auto;}
}

/* ---------- Entrada de mercadoria: tudo numa visão só ---------- */
.ent-fixa{display:flex;flex-direction:column;gap:8px;}
.ent-fixa .msg{margin:0;}
.ent-topo{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.ent-topo .titulo-pagina{margin:0;font-size:20px;}
.ent-topo-espaco{flex:1;}
.ent-btn-xml{background:#EEF5FF;border:1px solid #9DB7D9;color:var(--azul);font-weight:bold;cursor:pointer;}
.ent-btn-xml:hover{background:#E1EDFB;}
.ent-xml{display:flex;align-items:center;gap:12px;background:#F0F8F3;border:1px solid #A9D6B9;border-radius:9px;padding:8px 12px;flex-wrap:wrap;}
.ent-xml[hidden]{display:none;}
.ent-xml-icone{width:34px;height:34px;border-radius:8px;background:var(--verde);color:#fff;font-weight:bold;font-size:11px;display:flex;align-items:center;justify-content:center;flex:none;}
.ent-xml-texto{flex:1;min-width:220px;}
.ent-xml-texto strong{display:block;font-size:13.5px;}
.ent-xml-texto span{font-size:12.5px;color:#3A5A45;}
.ent-xml-margem{font-size:12px;color:var(--texto-suave);display:flex;align-items:center;gap:4px;}
.ent-xml-margem[hidden]{display:none;}
.ent-xml-margem input{width:54px;padding:4px 6px;border:1px solid var(--cinza-borda);border-radius:5px;font:inherit;}
.ent-xml-trocar{margin-left:0;font-size:12.5px;}
.ent-xml-status{font-size:12.5px;color:var(--texto-suave);}
.ent-xml-status:empty{display:none;}
.ent-xml-status.erro{color:var(--vermelho);font-weight:bold;}
.ent-xml-status.aviso{color:#8A6100;}
.ent-xml-status.ok{color:#1C6B41;}
.ent-grade{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;}
@media (min-width:1100px){.ent-grade{grid-template-columns:minmax(0,1fr) 280px;}}
.ent-coluna{display:flex;flex-direction:column;gap:8px;min-width:0;}
.ent-card{background:#fff;border:1px solid var(--cinza-borda);border-radius:9px;padding:9px 12px;min-width:0;}
.ent-card h3{margin:0 0 7px;font-size:11.5px;font-weight:bold;letter-spacing:.7px;color:#3A4252;text-transform:uppercase;}
.ent-card h3 small{font-weight:normal;letter-spacing:0;text-transform:none;color:var(--texto-suave);font-size:12px;}
.ent-dados{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1.3fr);gap:8px;}
@media (max-width:800px){.ent-dados{grid-template-columns:minmax(0,1fr);}}
.ent-fixa .form-grupo{margin:0;}
.ent-fixa .form-grupo label{font-size:11.5px;margin-bottom:3px;}
.ent-fixa .form-grupo input,.ent-fixa .form-grupo select{padding:6px 8px;font-size:13.5px;height:34px;border-radius:6px;}
.ent-combo{display:flex;gap:5px;}
.ent-combo select{flex:1;min-width:0;}
.ent-combo .btn{height:34px;padding:0 11px;display:flex;align-items:center;}
.ent-produtos{display:flex;flex-direction:column;min-height:0;}
.ent-ligando{display:flex;align-items:center;gap:8px;background:#FFF7D6;border:1px solid #F0D58A;border-radius:6px;padding:6px 10px;font-size:12.5px;color:#6B4A00;margin-bottom:6px;}
.ent-ligando[hidden]{display:none;}
.ent-ligando button{margin-left:auto;background:none;border:none;color:var(--texto-suave);text-decoration:underline;cursor:pointer;font-size:12px;}
.ent-busca{position:relative;margin-bottom:6px;flex:none;}
.ent-busca input{height:38px;border:2px solid var(--azul);border-radius:8px;font-size:14px;padding-right:44px !important;}
.ent-atalho{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:11px;background:#fff;border:1px solid var(--cinza-borda);border-radius:4px;padding:1px 5px;color:var(--texto-suave);pointer-events:none;}
.ent-busca .resultado-lista{position:absolute;left:0;right:0;top:100%;z-index:25;box-shadow:0 10px 30px rgba(0,0,0,.12);max-height:300px;}
.ent-busca .resultado-produto-linha{padding:9px 12px;font-size:14px;}
.ent-tabela{border:1px solid #E6E9EE;border-radius:7px;overflow:auto;}
.ent-tabela table{width:100%;border-collapse:collapse;}
.ent-tabela th{position:sticky;top:0;z-index:1;background:#F5F7FA;font-size:10.5px;letter-spacing:.5px;color:#5B6270;text-align:left;padding:6px 8px;border-bottom:1px solid #E6E9EE;text-transform:uppercase;white-space:nowrap;}
.ent-tabela td{padding:4px 8px;border-bottom:1px solid #F0F2F5;font-size:13px;vertical-align:middle;}
.ent-tabela .col-num{text-align:right;white-space:nowrap;}
.ent-cod{font-family:var(--mono);color:#5B6270;font-size:12px;}
.ent-desc{min-width:180px;max-width:340px;}
.ent-desc strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;}
.ent-desc small{color:#8A93A3;font-size:11px;}
.ent-in{width:92px;padding:4px 6px;border:1px solid var(--cinza-borda);border-radius:5px;font-family:var(--mono);font-size:13px;text-align:right;height:28px;-moz-appearance:textfield;}
.ent-in::-webkit-inner-spin-button,.ent-in::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
.ent-ant{font-family:var(--mono);font-size:12px;color:#8A93A3;}
.ent-var{font-size:11px;font-weight:bold;border-radius:99px;padding:1px 6px;margin-left:5px;}
.ent-var.subiu{background:#FDECEA;color:var(--vermelho);}
.ent-var.baixou{background:#E3F4EA;color:#1C6B41;}
.ent-var.igual{background:#EEF1F5;color:#5B6270;}
.ent-var.novo{background:#EEF5FF;color:var(--azul);}
.ent-sub{font-family:var(--mono);font-weight:bold;}
.ent-tabela .btn-icone{width:26px;height:26px;margin:0;}
tr.ent-pendente td{background:#FFFBEB;}
.ent-pend-acoes{display:block;font-size:11px;font-weight:bold;color:#8A6100;}
.ent-pend-acoes button{background:none;border:none;padding:0;margin-left:8px;color:var(--azul);font-weight:bold;font-size:11px;cursor:pointer;text-decoration:underline;}
.ent-tabela .entrada-vazia{padding:22px 16px;}
.ent-tabela .entrada-vazia[hidden]{display:none;}
.ent-lateral{display:flex;flex-direction:column;gap:8px;min-width:0;}
.ent-linha{display:flex;justify-content:space-between;font-size:13px;padding:3px 0;}
.ent-linha strong{font-family:var(--mono);}
.ent-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #E6E9EE;margin-top:6px;padding-top:7px;}
.ent-total .ent-total-rot{font-size:11px;font-weight:bold;letter-spacing:.6px;color:#3A4252;text-transform:uppercase;}
.ent-total strong{font-size:22px;font-family:var(--mono);}
.ent-conferencia{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:12px;line-height:1.35;color:var(--texto-suave);}
.ent-conferencia .ok{color:#1C6B41;}
.ent-conferencia .erro{color:#A5312A;font-weight:bold;}
.ent-conferencia .aviso{color:#8A6100;}
.ent-check{display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.35;color:#3A4252;background:#fff;border:1px solid var(--cinza-borda);border-radius:9px;padding:9px 11px;cursor:pointer;}
.ent-check input{margin-top:2px;flex:none;}
.ent-btn-salvar{display:flex;flex-direction:column;align-items:center;font-size:16px;padding:11px;line-height:1.2;}
.ent-btn-salvar small{font-size:11px;font-weight:normal;opacity:.85;}

/* Tela grande: a página não rola, só a lista de produtos */
@media (min-width:1100px) and (min-height:560px){
  main.page:has(> .ent-fixa){height:100vh;padding:10px 16px 12px;display:flex;flex-direction:column;overflow:hidden;}
  .ent-fixa{flex:1;min-height:0;}
  .ent-grade{flex:1;min-height:0;grid-template-rows:minmax(0,1fr);}
  .ent-coluna{min-height:0;}
  .ent-produtos{flex:1;}
  .ent-tabela{flex:1;min-height:80px;}
  .ent-lateral{min-height:0;overflow:auto;}
}

/* ---------- Lista de produtos ---------- */
.pl-tela{display:flex;flex-direction:column;gap:9px;}
.pl-tela .msg{margin:0;}
.pl-topo{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.pl-topo .titulo-pagina{margin:0;font-size:21px;}
.pl-sub{color:var(--texto-suave);font-size:13px;}
.pl-espaco{flex:1;}
.pl-mais{position:relative;}
.pl-mais summary{list-style:none;cursor:pointer;}
.pl-mais summary::-webkit-details-marker{display:none;}
.pl-mais-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:30;background:#fff;border:1px solid var(--cinza-borda);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.12);min-width:240px;padding:4px;}
.pl-mais-menu a{display:block;padding:9px 12px;border-radius:6px;color:var(--texto);font-size:13.5px;}
.pl-mais-menu a:hover{background:#EEF5FF;text-decoration:none;}
.pl-ind{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;}
.pl-ind > a,.pl-ind > div{background:#fff;border:1px solid var(--cinza-borda);border-radius:9px;padding:8px 12px;display:flex;align-items:baseline;gap:8px;color:var(--texto);min-width:0;}
.pl-ind > a:hover{text-decoration:none;border-color:#9DB7D9;}
.pl-ind strong{font-family:var(--mono);font-size:19px;white-space:nowrap;}
.pl-ind span{font-size:12px;color:var(--texto-suave);}
.pl-ind .pl-ind-valor strong{font-size:16px;}
.pl-ind .amarelo{border-color:#F1D48A;background:#FFFBEB;}.pl-ind .amarelo strong{color:#B45309;}
.pl-ind .vermelho{border-color:#F3C3BE;background:#FEF5F4;}.pl-ind .vermelho strong{color:var(--vermelho);}
.pl-ind .ativo{box-shadow:0 0 0 2px var(--azul);}
.pl-filtros{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.pl-busca{flex:1 1 260px;position:relative;}
.pl-busca input{width:100%;height:36px;border:1px solid var(--cinza-borda);border-radius:8px;font-size:13.5px;padding:0 34px 0 36px !important;}
.pl-busca kbd{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:10.5px;border:1px solid var(--cinza-borda);border-radius:4px;padding:0 5px;color:var(--texto-suave);background:#fff;pointer-events:none;}
.pl-filtros select{height:36px;border:1px solid var(--cinza-borda);border-radius:8px;padding:0 8px;font-size:13px;background:#fff;max-width:200px;}
.pl-chips{display:flex;gap:6px;flex-wrap:wrap;}
.pl-chips a{border:1px solid var(--cinza-borda);background:#fff;border-radius:99px;padding:6px 12px;font-size:12px;font-weight:bold;color:#3A4252;white-space:nowrap;}
.pl-chips a:hover{text-decoration:none;border-color:#9DB7D9;}
.pl-chips a.ativo{background:var(--azul-escuro);border-color:var(--azul-escuro);color:#fff;}
.pl-chips a.pl-limpar{border:0;background:none;color:var(--texto-suave);font-weight:normal;}
.pl-massa{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#0F1B2D;color:#fff;border-radius:9px;padding:7px 10px 7px 14px;font-size:13px;}
.pl-massa[hidden]{display:none;}
.pl-massa strong{margin-right:4px;}
.pl-massa button{background:rgba(255,255,255,.12);border:0;color:#fff;border-radius:6px;padding:6px 11px;font-weight:bold;font-size:12.5px;cursor:pointer;}
.pl-massa button:hover{background:rgba(255,255,255,.22);}
.pl-massa .pl-massa-limpar{margin-left:auto;background:none;color:#AFC3DA;}
.pl-tabela{background:#fff;border:1px solid var(--cinza-borda);border-radius:10px;display:flex;flex-direction:column;min-height:0;overflow:hidden;}
.pl-rolagem{overflow:auto;}
.pl-tabela table{width:100%;border-collapse:collapse;}
.pl-tabela thead th{position:sticky;top:0;z-index:2;background:#F5F7FA;font-size:10.5px;letter-spacing:.5px;color:#5B6270;text-transform:uppercase;padding:8px 10px;border-bottom:1px solid #E6E9EE;text-align:left;white-space:nowrap;}
.pl-tabela thead th.col-num{text-align:right;}
.pl-tabela td{padding:5px 10px;border-bottom:1px solid #F0F2F5;font-size:13px;vertical-align:middle;}
.pl-tabela tr:hover td{background:#FAFBFD;}
.pl-tabela tr.pl-marcado td{background:#EEF5FF;}
.pl-col-cb{width:30px;}
.pl-col-cb input{width:15px;height:15px;cursor:pointer;}
.pl-prod{display:flex;align-items:center;gap:9px;min-width:0;color:var(--texto);}
.pl-prod:hover{text-decoration:none;}
.pl-prod:hover strong{color:var(--azul);}
.pl-av{width:30px;height:30px;border-radius:7px;flex:none;display:flex;align-items:center;justify-content:center;font-weight:bold;font-size:11px;}
.pl-prod-txt{min-width:0;}
.pl-prod-txt strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px;}
.pl-prod-txt small{font-family:var(--mono);font-size:11px;color:#8A93A3;}
.pl-cat{font-size:12.5px;color:#3A4252;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;}
.pl-cat small{display:block;color:#8A93A3;font-size:11px;overflow:hidden;text-overflow:ellipsis;}
.pl-preco{font-family:var(--mono);white-space:nowrap;}
.pl-preco b,.pl-preco-btn{color:#1C6B41;font-size:13.5px;font-weight:bold;}
.pl-preco-btn{background:none;border:1px dashed transparent;border-radius:5px;padding:1px 5px;font-family:var(--mono);cursor:text;}
.pl-preco-btn:hover{border-color:#9DB7D9;background:#F5F9FF;}
.pl-preco-btn.pl-salvo{background:#E3F4EA;}
.pl-preco-in{width:86px;text-align:right;font-family:var(--mono);font-size:13px;padding:3px 6px;border:2px solid var(--azul);border-radius:5px;}
.pl-preco small,.pl-margem small{display:block;font-size:11px;color:#8A93A3;font-family:var(--mono);}
.pl-margem{white-space:nowrap;}
.pl-margem em{font-style:normal;font-weight:bold;border-radius:99px;padding:2px 8px;font-size:11.5px;}
.pl-margem em.boa{background:#E3F4EA;color:#1C6B41;}
.pl-margem em.baixa{background:#FFF3D6;color:#8A6100;}
.pl-margem em.ruim{background:#FDECEA;color:var(--vermelho);}
.pl-sem-custo{font-size:11.5px;color:#8A93A3;}
.pl-estoque{white-space:nowrap;min-width:96px;}
.pl-estoque b{font-family:var(--mono);font-size:13px;}
.pl-estoque small{color:#8A93A3;font-size:11px;margin-left:2px;}
.pl-barra{display:block;height:4px;border-radius:99px;background:#EEF1F5;margin-top:4px;overflow:hidden;}
.pl-barra i{display:block;height:100%;border-radius:99px;background:#2F8F5B;margin-left:auto;}
.pl-barra i.baixo{background:#E5A11A;}
.pl-barra i.zero{background:var(--vermelho);}
.pl-col-fiscal{text-align:center;white-space:nowrap;}
.pl-ncm-ok{font-size:11px;font-weight:bold;color:#1C6B41;}
.pl-ncm-falta{font-size:11px;font-weight:bold;color:var(--vermelho);background:#FDECEA;border-radius:99px;padding:2px 8px;}
.pl-acoes{white-space:nowrap;text-align:right;}
.pl-acoes .btn-icone{width:28px;height:28px;}
.pl-vazio{padding:28px !important;text-align:center;color:var(--texto-suave);}
.pl-rodape{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;border-top:1px solid #E6E9EE;font-size:12px;color:var(--texto-suave);background:#FAFBFC;}
.pl-pag{display:flex;gap:4px;}
.pl-pag a{min-width:28px;height:28px;border:1px solid var(--cinza-borda);border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:bold;background:#fff;color:var(--texto);}
.pl-pag a:hover{text-decoration:none;border-color:#9DB7D9;}
.pl-pag a.ativo{background:var(--azul-escuro);color:#fff;border-color:var(--azul-escuro);}
.pl-pag a.off{opacity:.4;pointer-events:none;}
@media (max-width:900px){
  .pl-cat,.pl-col-fiscal{display:none;}
}
@media (min-width:1100px) and (min-height:560px){
  main.page:has(> .pl-tela){height:100vh;padding:12px 16px;display:flex;flex-direction:column;overflow:hidden;}
  .pl-tela{flex:1;min-height:0;}
  .pl-tabela{flex:1;}
  .pl-rolagem{flex:1;min-height:0;}
}

/* ---------- Cadastro de produto (tela compacta) ---------- */
.pf-tela{display:flex;flex-direction:column;}
.pf-form{display:flex;flex-direction:column;gap:8px;}
.pf-form .msg{margin:0;}
.pf-topo{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.pf-trilha{font-size:13.5px;color:var(--texto-suave);}
.pf-nav{display:flex;gap:3px;}
.pf-nav a,.pf-nav span{width:24px;height:24px;border:1px solid var(--cinza-borda);border-radius:5px;display:flex;align-items:center;justify-content:center;font-weight:bold;color:var(--texto);background:#fff;}
.pf-nav span{opacity:.35;}
.pf-nav a:hover{text-decoration:none;border-color:#9DB7D9;}
.pf-selo-inativo{font-size:11px;font-weight:bold;background:#EEF1F5;color:#5B6270;border-radius:99px;padding:2px 9px;}
.pf-espaco{flex:1;}
.pf-salvar kbd{font-family:var(--mono);font-size:10.5px;border:1px solid rgba(255,255,255,.6);border-radius:4px;padding:0 4px;margin-left:6px;opacity:.9;}
.pf-card{background:#fff;border:1px solid var(--cinza-borda);border-radius:9px;padding:10px 13px;}
.pf-principal{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:16px;align-items:start;}
.pf-tt{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:bold;letter-spacing:.06em;color:#3A4252;margin-bottom:8px;}
.pf-link{margin-left:auto;font-size:12px;letter-spacing:0;font-weight:bold;}
.pf-linha{display:grid;gap:8px;margin-bottom:8px;justify-content:start;align-items:start;}
.pf-linha:last-child{margin-bottom:0;}
.pf-l1{grid-template-columns:70px 215px 100px minmax(220px,460px);}
.pf-l2{grid-template-columns:70px 96px 86px 96px 86px;}
.pf-l2.pf-l2-ref{grid-template-columns:110px 70px 96px 86px 96px 86px;}
.pf-sec.pf-sec-linha{gap:0;margin:6px 0 6px;}
.pf-l4{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.4fr);max-width:1000px;}
.pf-lf{grid-template-columns:130px 110px 210px 220px;}
.pf-lp{grid-template-columns:330px 190px 190px 190px;gap:22px;}
.pf-g{min-width:0;}
.pf-g label{display:block;font-size:11.5px;font-weight:bold;color:var(--texto-suave);margin-bottom:3px;white-space:nowrap;}
.pf-g label i{font-style:normal;font-weight:normal;color:#8A93A3;font-size:10.5px;}
.pf-form input[type=text],.pf-form input[type=number],.pf-form input[type=date],.pf-form select{width:100%;height:31px;padding:3px 8px;border:1px solid #CBD2DC;border-radius:6px;font-size:13px;background:#fff;min-width:0;}
.pf-form input:focus,.pf-form select:focus{outline:2px solid var(--azul);outline-offset:-1px;}
.pf-form .pf-desc{border:2px solid var(--azul);font-weight:bold;}
.pf-form .pf-ro{background:#F5F7FA;color:#5B6270;font-family:var(--mono);}
.pf-mono{font-family:var(--mono);}
.pf-num{text-align:right;font-family:var(--mono);-moz-appearance:textfield;}
.pf-num::-webkit-inner-spin-button,.pf-num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
.pf-form input.pf-destaque{background:#FFF8DC;border-color:#EBCB6B;font-weight:bold;}
.pf-form input.pf-amarelo{background:#FFF8DC;border-color:#EBCB6B;}
.pf-modal-info{margin:-4px 0 10px;font-size:13px;color:var(--texto-suave);}
.pf-toast{position:fixed;top:66px;right:22px;z-index:900;display:flex;align-items:center;gap:12px;background:#1F2A37;color:#fff;padding:12px 14px 12px 12px;border-radius:10px;box-shadow:0 10px 30px rgba(15,23,42,.28);min-width:290px;max-width:420px;overflow:hidden;animation:pfToastEntra .25s ease-out;transition:opacity .3s,transform .3s;}
.pf-toast.saindo{opacity:0;transform:translateY(-8px);}
.pf-toast-ic{width:30px;height:30px;border-radius:50%;background:#2F8F5B;display:flex;align-items:center;justify-content:center;flex:none;}
.pf-toast-aviso .pf-toast-ic{background:#C98A00;}
.pf-toast-txt{min-width:0;}
.pf-toast-txt b{display:block;font-size:14px;}
.pf-toast-txt small{display:block;font-size:12px;color:#B8C2D0;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pf-toast-txt em{display:block;font-style:normal;font-size:12px;color:#FFD978;margin-top:4px;}
.pf-toast-x{margin-left:auto;background:none;border:0;color:#8E9AAB;font-size:16px;cursor:pointer;padding:0 0 0 8px;align-self:flex-start;}
.pf-toast-x:hover{color:#fff;}
.pf-toast-barra{position:absolute;left:0;bottom:0;height:3px;width:100%;background:#2F8F5B;transform-origin:left;animation:pfToastBarra 3.2s linear forwards;}
@keyframes pfToastEntra{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:none;}}
@keyframes pfToastBarra{from{transform:scaleX(1);}to{transform:scaleX(0);}}
.pf-combo{display:flex;gap:5px;}
.pf-combo select,.pf-combo input{flex:1;}
.pf-combo .btn{height:31px;padding:0 9px;display:flex;align-items:center;flex:none;}
.pf-sec{display:flex;align-items:center;gap:8px;font-size:10.5px;font-weight:bold;letter-spacing:.07em;color:var(--azul);margin:2px 0 4px;}
.pf-sec::after{content:"";flex:1;height:1px;background:#E6E9EE;}
.pf-sec small{font-weight:normal;letter-spacing:0;color:#8A93A3;font-size:11px;}
.pf-foto{border-left:1px solid #E6E9EE;padding-left:16px;display:flex;flex-direction:column;gap:7px;}
.pf-foto-grande{position:relative;width:180px;height:150px;border:1px solid var(--cinza-borda);border-radius:9px;overflow:hidden;background:#F5F7FA;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.pf-foto-grande.arrastando{border:2px dashed var(--azul);background:#EEF5FF;}
.pf-foto-grande img{width:100%;height:100%;object-fit:contain;background:#fff;}
.pf-foto-vazia{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:28px;color:#9AA2AF;}
.pf-foto-vazia small{font-size:12px;font-weight:bold;color:var(--azul);}
.pf-foto-vazia[hidden]{display:none;}
.pf-foto-tag{position:absolute;left:6px;top:6px;font-size:10px;font-weight:bold;background:rgba(15,27,45,.75);color:#fff;border-radius:99px;padding:2px 7px;}
.pf-foto-minis{display:flex;gap:6px;flex-wrap:wrap;}
.pf-mini{position:relative;width:52px;height:44px;border:1px solid var(--cinza-borda);border-radius:7px;overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#fff;}
.pf-mini img{width:100%;height:100%;object-fit:cover;}
.pf-mini.ativa{border:2px solid var(--azul);}
.pf-mini-x{position:absolute;right:1px;top:1px;width:16px;height:16px;border-radius:50%;border:0;background:rgba(15,27,45,.7);color:#fff;font-size:9px;line-height:16px;padding:0;cursor:pointer;display:none;}
.pf-mini:hover .pf-mini-x{display:block;}
.pf-mini-add{border:1.5px dashed #9DB7D9;color:var(--azul);font-size:20px;font-weight:bold;background:#F7FAFE;}
.pf-foto-acoes{display:flex;gap:5px;}
.pf-foto-acoes .btn{flex:1;justify-content:center;padding:5px 4px;font-size:12px;cursor:pointer;}
.pf-foto-dica{font-size:10.5px;color:#8A93A3;text-align:center;}
.pf-selo-fiscal{font-size:10.5px;font-weight:bold;border-radius:99px;padding:2px 8px;letter-spacing:0;}
.pf-selo-fiscal.ok{background:#E3F4EA;color:#1D6B42;}
.pf-selo-fiscal.falta{background:#FDECEA;color:var(--vermelho);}
.pf-toggle{display:flex;gap:10px;align-items:flex-start;cursor:pointer;padding-top:4px;}
.pf-toggle input{position:absolute;opacity:0;width:0;height:0;}
.pf-toggle-bola{flex:none;width:40px;height:22px;border-radius:99px;background:#C9D0DA;position:relative;transition:background .15s;}
.pf-toggle-bola::after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:3px;left:3px;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .15s;}
.pf-toggle input:checked + .pf-toggle-bola{background:var(--vermelho);}
.pf-toggle input:checked + .pf-toggle-bola::after{left:21px;}
.pf-toggle input:focus-visible + .pf-toggle-bola{outline:2px solid var(--azul);outline-offset:2px;}
.pf-toggle b{display:block;font-size:13px;}
.pf-toggle small{display:block;font-size:11.5px;color:var(--texto-suave);margin-top:2px;line-height:1.35;}
.pf-un{font-size:12px;font-weight:bold;color:var(--texto-suave);display:flex;align-items:center;flex:none;}
.pf-lp .pf-combo input{flex:none;width:96px;}
.pf-lp input[type=date]{width:160px;}
.pf-dica{display:block;font-size:11px;color:var(--texto-suave);margin-top:3px;white-space:nowrap;}
.pf-dica.ok{color:#1D6B42;}
.pf-dica.alerta{color:#8A6100;font-weight:bold;}
.pf-dica.erro{color:var(--vermelho);font-weight:bold;}
@media (max-width:1100px){
  .pf-principal{grid-template-columns:minmax(0,1fr);}
  .pf-foto{border-left:0;padding-left:0;border-top:1px solid #E6E9EE;padding-top:10px;}
  .pf-l1,.pf-l4,.pf-lf,.pf-lp{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));}
  .pf-l1 .pf-g:last-child{grid-column:1 / -1;}
  .pf-l2,.pf-l2.pf-l2-ref{grid-template-columns:repeat(auto-fill,minmax(86px,1fr));}
}

.selo-peso.selo-caixa{background:#FFF3D6;color:#8A5A00;}

.pl-inativo td{opacity:.55;}
.pl-inativo td.pl-col-cb{opacity:1;}
.pl-tag-inativo,.pl-tag-venc{display:inline-block;font-size:10.5px;font-weight:800;border-radius:99px;padding:1px 7px;margin-left:4px;vertical-align:1px;background:#E8EBF0;color:#4A5262;}
.pl-tag-venc{background:#FFF3D6;color:#8A5A00;}
.pl-tag-venc.vencido{background:#FDE4E4;color:#A12626;}
.pl-av-foto{background:#fff;border:1px solid #E1E5EB;overflow:hidden;padding:0;}
.pl-av-foto img{width:100%;height:100%;object-fit:cover;display:block;}

/* ---------- Lista de NF-e ---------- */
.ger-tabela tr.nfe-linha-destaque td{background:#E5F5EC;}
.nfe-tabela-produtos td:nth-child(2){min-width:170px;}
.ger-tabela td.col-num{white-space:nowrap;}

/* ============================================================
   Caixa: painel de total claro, total e "Finalizar venda" grandes
   ============================================================ */
.resumo-venda{background:#fff;color:var(--texto);border:1px solid var(--cinza-borda);border-radius:10px;}
.resumo-venda .linha-subtotal{color:var(--texto-suave);border-bottom-color:#EEF0F3;}
.resumo-venda .linha-subtotal #subtotal-valor{color:var(--texto);font-weight:bold;}
.resumo-venda .linha-desconto{color:var(--texto-suave);border-bottom-color:#EEF0F3;}
.resumo-venda .linha-desconto input{background:#F7F9FC;border:1px solid var(--cinza-borda);color:var(--texto);}
.resumo-venda .linha-desconto input:focus{outline:2px solid var(--azul);outline-offset:0;}
.resumo-venda .linha-total .rotulo{color:var(--texto);text-transform:uppercase;}
.resumo-venda .linha-total .valor{color:var(--verde);}
.resumo-venda-acoes{border-top-color:#EEF0F3;}
.resumo-venda-acoes .btn-cancelar-venda{background:#fff;color:var(--vermelho);border:1px solid #F1C6C1;}
.resumo-venda-acoes .btn-cancelar-venda:hover{background:#FDF3F2;}
.resumo-venda-acoes .btn-finalizar-venda kbd{background:rgba(255,255,255,.22);color:#fff;border:0;margin-left:8px;vertical-align:middle;}

@media(min-width:900px){
  .resumo-venda{padding:18px 20px;margin-top:14px;}
  .resumo-venda .linha-subtotal{font-size:17px;padding:4px 0 10px;margin-bottom:0;}
  .resumo-venda .linha-subtotal #subtotal-valor{font-size:19px;}
  .resumo-venda .linha-desconto{font-size:17px;padding:10px 0;margin-bottom:0;}
  .resumo-venda .linha-desconto input{width:140px;height:42px;font-size:19px;padding:0 12px;border-radius:8px;}
  .resumo-venda .linha-total{align-items:center;padding:12px 0 14px;}
  .resumo-venda .linha-total .rotulo{font-size:20px;letter-spacing:.5px;}
  .resumo-venda .linha-total .valor{font-size:46px;line-height:1.05;}
  .resumo-venda-acoes{flex-direction:column-reverse;gap:10px;margin-top:4px;padding-top:12px;}
  .resumo-venda-acoes .btn{width:100%;}
  .resumo-venda-acoes .btn-finalizar-venda{font-size:22px;padding:16px;border-radius:10px;letter-spacing:.3px;}
  .resumo-venda-acoes .btn-finalizar-venda kbd{font-size:13px;padding:3px 7px;margin-left:10px;}
  .resumo-venda-acoes .btn-cancelar-venda{font-size:14px;padding:8px;}
}
/* Telas baixas (1366×768): menos espaço sobrando pra tudo caber sem rolar */
@media(min-width:900px) and (max-height:820px){
  .cliente-dica-consumidor{display:none;}
  .resumo-venda{padding:12px 18px;margin-top:10px;}
  .resumo-venda .linha-total .valor{font-size:40px;}
  .resumo-venda-acoes .btn-finalizar-venda{padding:13px;}
}
.resumo-venda .linha-subtotal #resumo-itens{font-family:inherit;}
@media(max-width:899px){
  .resumo-venda-acoes .atalho-texto,.resumo-venda-acoes kbd{display:none;}
  .resumo-venda-acoes .btn-cancelar-venda{flex:0 0 38%;}
}
/* No computador o cancelamento é só pelo teclado (F4); no celular, sem teclado, o botão continua */
@media(min-width:900px){
  .resumo-venda-acoes .btn-cancelar-venda{display:none;}
}

/* ===== Usuários: perfis em cartões + painel do gerente ===== */
.badge-perfil-gerente{background:#E6F4EA;color:#1F7A45;border:1px solid #BFE3CB;}
.msg-aviso{background:#FFF7DB;color:#7A5A00;border:1px solid #F0DC9A;}
.usu-layout{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:20px;align-items:start;max-width:1130px;}
.usu-layout .form-card{max-width:none;margin:0;}
.usu-perfis{display:flex;flex-direction:column;gap:8px;}
.form-grupo .usu-perfil,.usu-perfil{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--cinza-borda);border-radius:8px;cursor:pointer;background:#fff;font-weight:400;margin:0;}
.usu-perfil:hover{border-color:#9DB6D8;}
.usu-perfil.ativo{border:2px solid var(--azul);background:#EEF5FF;padding:10px 11px;}
.usu-perfil.travado{cursor:default;opacity:.75;}
.usu-perfil input[type=radio]{position:absolute;opacity:0;width:1px !important;height:1px !important;pointer-events:none;}
.usu-layout .form-dica{margin:6px 0 0;}
.usu-perfil small{font-weight:400;}
.usu-perfil strong{display:block;font-size:14.5px;color:#1B2230;}
.usu-perfil small{display:block;font-size:12.5px;color:#5B6270;line-height:1.4;margin-top:1px;}
.usu-perfil-letra{flex:none;width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;background:#EEF2F7;color:#2B3445;}
.usu-perfil-admin .usu-perfil-letra{background:#173F73;color:#fff;}
.usu-perfil-gerente .usu-perfil-letra{background:#2E8B57;color:#fff;}
.usu-perfil-operador_caixa .usu-perfil-letra{background:#EEF5FF;color:#173F73;}
.usu-gerente-titulo{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5B6270;margin:0 0 14px;}
.usu-gerente-colunas{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.usu-gerente h4{margin:0 0 8px;font-size:14px;color:#1B2230;}
.usu-gerente hr{border:0;border-top:1px solid #E6E9EE;margin:14px 0;}
.usu-lista-ok,.usu-lista-nao{list-style:none;margin:0 0 6px;padding:0;}
.usu-lista-ok li,.usu-lista-nao li{position:relative;padding:3px 0 3px 26px;font-size:13.5px;color:#2B3445;}
.usu-lista-ok li::before{content:"✓";position:absolute;left:2px;color:#2E8B57;font-weight:700;}
.usu-lista-nao li::before{content:"✕";position:absolute;left:2px;color:#C0392B;font-weight:700;}
.usu-nao-titulo{color:#B03A2E !important;}
.form-grupo .usu-chave,.usu-chave{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;font-size:13.5px;color:#2B3445;font-weight:400;cursor:pointer;margin:0;}
.usu-chave .switch-toggle input{width:0 !important;height:0 !important;}
.usu-gerente-aviso{margin:16px 0 0;padding:10px 12px;border-radius:8px;background:#FFF7DB;border:1px solid #F0DC9A;color:#7A5A00;font-size:13px;}
@media(max-width:900px){
    .usu-layout{grid-template-columns:1fr;}
    .usu-gerente-colunas{grid-template-columns:1fr;gap:6px;}
}
.mov-gerente{border:1px solid #F0DC9A;background:#FFFBEA;border-radius:8px;padding:12px 14px;margin:4px 0 16px;}
.mov-gerente-titulo{margin:0 0 10px;font-weight:700;font-size:13.5px;color:#7A5A00;}

/* ===== Caixa: autorização do gerente ===== */
.modal-autorizacao{max-width:440px;width:100%;overflow:hidden;padding:0;}
.aut-cabecalho{display:flex;align-items:center;gap:12px;padding:16px 22px;background:#FFF7DB;border-bottom:1px solid #F0DC9A;}
.aut-cabecalho h3{margin:0;font-size:17px;color:#1B2230;}
.aut-cabecalho p{margin:2px 0 0;font-size:13px;color:#7A5A00;}
.aut-cadeado{flex:none;width:40px;height:40px;border-radius:50%;background:#F5C84C;display:flex;align-items:center;justify-content:center;font-size:19px;}
.aut-acao{background:#F5F7FA;border:1px solid #E3E7ED;border-radius:8px;padding:10px 12px;margin-bottom:14px;}
.aut-acao strong{display:block;font-size:14px;color:#1B2230;}
.aut-acao span{display:block;font-size:13px;color:#5B6270;margin-top:2px;}
.aut-erro{background:#FBEAE8;color:#A5312A;border:1px solid #F1C6C1;border-radius:6px;padding:8px 10px;font-size:13px;margin:0 0 10px;}
.aut-botoes{display:flex;gap:10px;margin-top:6px;}
.aut-botoes .btn{flex:1;padding:12px;font-size:15px;}

/* ===== Relatório de liberações ===== */
.lib-filtro-acao{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 14px;}
.lib-filtro-acao button{border:1px solid var(--cinza-borda);background:#fff;border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer;color:#2B3445;}
.lib-filtro-acao button span{display:inline-block;min-width:18px;padding:0 5px;margin-left:4px;border-radius:999px;background:#EEF2F7;font-size:11.5px;}
.lib-filtro-acao button.ativo{background:var(--azul);border-color:var(--azul);color:#fff;}
.lib-filtro-acao button.ativo span{background:rgba(255,255,255,.25);}
.lib-acao{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;}
.lib-acao-cancelar_venda,.lib-acao-cancelar_item{background:#FBEAE8;color:#A5312A;}
.lib-acao-desconto{background:#FFF3D6;color:#8A5A00;}
.lib-acao-sangria{background:#EEF5FF;color:#164679;}
.lib-acao-suprimento{background:#E5F5EC;color:#1C6B41;}
.lib-sem-senha{color:#A5312A;font-weight:600;font-size:12.5px;}

/* ===================================================
   Pedido / Pré-venda — tela nova (pvn)
   =================================================== */
body.pvn-tela{height:100vh;display:flex;flex-direction:column;overflow:hidden;}
body.pvn-tela .topbar{flex:none;}
body.pvn-tela .topbar-inner{max-width:none;padding:9px 20px;}
.pvn-usuario{display:inline-flex;align-items:center;gap:8px;}
.pvn-avatar{width:28px;height:28px;border-radius:50%;background:#2E8B57;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;}
.pvn-btn-topo{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:6px;padding:6px 11px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;}
.pvn-btn-topo:hover{background:rgba(255,255,255,.2);}
.pvn-btn-topo kbd{background:rgba(255,255,255,.85);color:#1B2230;}
main.pvn-main{flex:1;min-height:0;display:flex;flex-direction:column;}
.pvn-corpo{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;padding:14px 20px 0;}
.pvn-esq{display:flex;flex-direction:column;gap:10px;min-height:0;}
.pvn-cab{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.pvn-cab h1{margin:0;font-size:20px;color:#1B2230;}
.pvn-num{font-family:var(--mono);color:var(--texto-suave);font-size:15px;font-weight:700;}
.pvn-chip{font-size:11.5px;font-weight:800;padding:3px 9px;border-radius:99px;letter-spacing:.03em;}
.pvn-chip-novo{background:#EEF2F7;color:#5B6270;}
.pvn-chip-rasc{background:#FFF3D6;color:#8A5A00;}
.pvn-chip-edicao{background:#EEF5FF;color:#164679;}
.pvn-meta{margin-left:auto;font-size:12.5px;color:var(--texto-suave);display:flex;align-items:center;gap:6px;}
.pvn-tabela{border:1px solid #C9DBF2;background:#F3F8FF;color:#164679;font-weight:800;font-size:12.5px;border-radius:99px;padding:2px 10px;cursor:pointer;font-family:inherit;}
.pvn-tabela.atacado{background:#FFF3D6;border-color:#F0DC9A;color:#8A5A00;}

.pvn-busca{display:flex;gap:10px;align-items:stretch;background:#fff;border:2px solid var(--azul);border-radius:10px;padding:6px;box-shadow:0 4px 14px rgba(31,95,168,.12);position:relative;}
.pvn-qtd{width:96px;flex:none;background:#EEF4FC;border-radius:7px;display:flex;flex-direction:column;justify-content:center;padding:3px 10px;margin:0;cursor:text;}
.pvn-qtd small{font-size:10.5px;font-weight:800;color:var(--azul);letter-spacing:.06em;}
.form-grupo .pvn-qtd input,.pvn-qtd input{border:0 !important;background:transparent !important;font-family:var(--mono);font-size:18px;font-weight:700;width:100%;padding:0 !important;outline:0;box-shadow:none !important;color:#1B2230;}
.pvn-busca.qtd-definida .pvn-qtd,.pvn-busca.pendente .pvn-qtd{background:#FFF3D6;box-shadow:inset 0 0 0 2px #F5C84C;}
.pvn-busca.qtd-definida .pvn-qtd small,.pvn-busca.pendente .pvn-qtd small{color:#8A5A00;}
.pvn-campo{flex:1;display:flex;align-items:center;gap:10px;padding:0 6px;color:var(--azul);min-width:0;position:relative;}
.pvn-campo input{flex:1;border:0 !important;outline:0;font-size:17px;padding:10px 0 !important;background:transparent !important;box-shadow:none !important;min-width:0;font-family:inherit;color:#1B2230;}
.pvn-campo #busca-produto,.pvn-campo #busca-produto:focus{border:0 !important;outline:0 !important;box-shadow:none !important;padding:10px 0 !important;font-size:17px !important;font-weight:400 !important;text-transform:none !important;height:auto !important;background:transparent !important;width:auto !important;}
.pvn-qtd #quantidade-pendente:focus{outline:0 !important;}
.pvn-busca:focus-within{box-shadow:0 0 0 4px rgba(31,95,168,.15),0 4px 14px rgba(31,95,168,.12);}
.pvn-busca.pendente .pvn-campo input{visibility:hidden;}
.pvn-pendente{position:absolute;left:36px;right:6px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:10px;font-size:14px;color:#5B6270;}
.pvn-pendente strong{color:#1B2230;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pvn-pendente button{margin-left:auto;border:0;background:none;color:var(--vermelho);font-weight:700;cursor:pointer;font-size:13px;}
.pvn-dica{font-size:12px;color:var(--texto-suave);display:flex;align-items:center;gap:6px;padding-right:8px;white-space:nowrap;}
.pvn-dica b{font-family:var(--mono);color:#1B2230;}
.pvn-resultados{position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--cinza-borda);border-radius:10px;box-shadow:0 12px 30px rgba(20,30,50,.18);z-index:30;max-height:360px;overflow-y:auto;}
.pvn-res{display:grid;grid-template-columns:minmax(0,1fr) auto 130px;gap:14px;align-items:center;padding:10px 14px;border-bottom:1px solid #F0F1F3;cursor:pointer;}
.pvn-res:last-child{border-bottom:0;}
.pvn-res.sel,.pvn-res:hover{background:#EEF5FF;}
.pvn-res-nome b{display:block;font-size:14.5px;color:#1B2230;}
.pvn-res-nome small{font-family:var(--mono);font-size:12px;color:var(--texto-suave);}
.pvn-res-preco{text-align:right;font-family:var(--mono);font-weight:700;color:var(--verde);font-size:15px;}
.pvn-res-preco small{display:block;font-size:11.5px;color:#164679;font-weight:600;}
.pvn-res .pvn-est{justify-self:end;}
.pvn-res-vazio{padding:16px;font-size:14px;color:var(--texto-suave);}

.pvn-lista{flex:1;min-height:0;background:#fff;border:1px solid var(--cinza-borda);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;}
.pvn-lista-rolagem{flex:1;overflow-y:auto;min-height:0;}
.pvn-lista table{width:100%;border-collapse:collapse;}
.pvn-lista th{position:sticky;top:0;z-index:1;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--texto-suave);text-align:left;padding:10px 12px;background:#F7F9FB;border-bottom:1px solid #E6E9EE;}
.pvn-lista td{padding:9px 12px;border-bottom:1px solid #F0F1F3;font-size:14px;vertical-align:middle;}
.pvn-lista .r{text-align:right;}
.pvn-lista .mono{font-family:var(--mono);white-space:nowrap;}
.pvn-n{color:#9AA3B2;font-family:var(--mono);font-size:12.5px;width:34px;}
.pvn-prod b{display:block;font-size:14.5px;color:#1B2230;}
.pvn-prod small{font-size:12px;color:var(--texto-suave);font-family:var(--mono);}
.pvn-prod em{font-style:normal;font-family:Arial,sans-serif;color:var(--verde);font-weight:700;}
.pvn-est{display:inline-block;margin-left:6px;font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:700;padding:1px 7px;border-radius:99px;background:#E5F5EC;color:#1C6B41;white-space:nowrap;}
.pvn-est.baixo{background:#FFF3D6;color:#8A5A00;}
.pvn-est.zero{background:#FDEBEA;color:var(--vermelho);}
.pvn-qtdbox{display:inline-flex;align-items:center;border:1px solid var(--cinza-borda);border-radius:7px;overflow:hidden;height:32px;vertical-align:middle;}
.pvn-qtdbox button{width:28px;height:32px;border:0;background:#F5F7FA;font-size:16px;color:#2B3445;cursor:pointer;}
.pvn-qtdbox button:hover{background:#E8EDF3;}
.pvn-qtdbox input{width:64px !important;border:0 !important;text-align:center;font-family:var(--mono);font-size:14px;padding:0 !important;height:32px;outline:0;box-shadow:none !important;}
.pvn-qtdbox input:focus{background:#FFFBEA !important;}
.pvn-un{font-size:11.5px;color:var(--texto-suave);margin-left:5px;}
.pvn-tot{font-family:var(--mono);font-weight:700;font-size:15px;white-space:nowrap;}
.pvn-lix{width:30px;height:30px;border:1px solid #F1C6C1;border-radius:7px;background:#fff;color:var(--vermelho);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;}
.pvn-lix:hover{background:#FDF5F4;}
.pvn-atac{font-size:10.5px;font-weight:800;color:#8A5A00;background:#FFF3D6;border-radius:4px;padding:1px 5px;margin-left:5px;font-family:Arial,sans-serif;}
.pvn-lista tr.novo td{background:#F2FBF5;}
.pvn-lista tr.novo td:first-child{box-shadow:inset 3px 0 0 var(--verde);}
.pvn-vazio td{text-align:center;padding:60px 20px !important;color:var(--texto-suave);border:0 !important;}
.pvn-vazio svg{color:#C3CAD5;display:block;margin:0 auto 10px;}
.pvn-vazio b{display:block;font-size:16px;color:#2B3445;margin-bottom:4px;}
.pvn-vazio span{font-size:13.5px;}
.pvn-lista-rodape{display:flex;gap:18px;padding:10px 14px;background:#F7F9FB;border-top:1px solid #E6E9EE;font-size:12.5px;color:var(--texto-suave);flex:none;}
.pvn-lista-rodape b{color:#1B2230;}
.pvn-esp{flex:1;}

.pvn-dir{display:flex;flex-direction:column;gap:12px;min-height:0;overflow-y:auto;padding-bottom:2px;}
.pvn-card,.pvn-resumo{background:#fff;border:1px solid var(--cinza-borda);border-radius:10px;padding:12px 16px;}
.pvn-card h4{margin:0 0 10px;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--texto-suave);display:flex;justify-content:space-between;align-items:center;}
.pvn-h4-espaco{margin-top:12px !important;}
.pvn-link{border:0;background:none;padding:0;color:var(--azul);font-weight:700;font-size:12.5px;cursor:pointer;font-family:inherit;text-transform:none;letter-spacing:0;}
.pvn-cli{display:flex;gap:12px;align-items:flex-start;}
.pvn-ini{flex:none;width:40px;height:40px;border-radius:10px;background:#173F73;color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:15px;}
.pvn-ini.cinza{background:#EEF2F7;color:#8A93A3;}
.pvn-cli b,.pvn-cli-vazio b{display:block;font-size:14.5px;color:#1B2230;}
.pvn-cli small,.pvn-cli-vazio small{display:block;font-size:12.5px;color:var(--texto-suave);margin-top:2px;line-height:1.45;}
.pvn-cli-vazio{display:flex;gap:12px;align-items:center;width:100%;border:1px dashed #C9D2DE;border-radius:9px;background:#FAFBFC;padding:9px 10px;cursor:pointer;text-align:left;font-family:inherit;}
.pvn-cli-vazio:hover{border-color:var(--azul);background:#F3F8FF;}
.pvn-cli-extra{display:flex;gap:8px;margin-top:9px;}
.pvn-cli-extra div{flex:1;background:#F5F7FA;border-radius:7px;padding:6px 9px;font-size:11.5px;color:var(--texto-suave);}
.pvn-cli-extra strong{display:block;font-family:var(--mono);font-size:13px;color:#1B2230;margin-top:1px;}
.pvn-seg{display:flex;background:#F1F3F6;border-radius:8px;padding:3px;gap:3px;}
.pvn-seg button{flex:1;border:0;background:transparent;font-size:13px;padding:7px 4px;border-radius:6px;color:#2B3445;font-weight:600;cursor:pointer;font-family:inherit;}
.pvn-seg button.on{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12);color:var(--azul);}
.pvn-seg-mini{flex:none;}
.pvn-seg-mini button{padding:5px 10px;}
.pvn-entrega{display:flex;gap:8px;margin-top:9px;align-items:center;font-size:12.5px;color:var(--texto-suave);}
.pvn-entrega label{margin:0;font-weight:400;}
.pvn-entrega input{flex:1;border:1px solid var(--cinza-borda);border-radius:6px;padding:7px 9px;font-size:13px;font-family:inherit;}
.pvn-formas{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}
.pvn-formas button{border:1px solid var(--cinza-borda);background:#fff;border-radius:7px;font-size:12.5px;padding:8px 2px;font-weight:600;color:#2B3445;cursor:pointer;font-family:inherit;}
.pvn-formas button.on{border:2px solid var(--verde);background:#F2FBF5;color:#1C6B41;padding:7px 1px;}
.pvn-obs{width:100%;border:1px solid var(--cinza-borda);border-radius:7px;padding:7px 10px;font-size:13px;color:#1B2230;margin-top:9px;resize:vertical;font-family:inherit;min-height:38px;}
.pvn-resumo{margin-top:auto;}
.pvn-lin{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;color:var(--texto-suave);padding:3px 0;}
.pvn-lin b{font-family:var(--mono);color:#1B2230;font-weight:600;}
.pvn-desconto{display:flex;gap:8px;align-items:center;margin:4px 0;}
.pvn-desconto input{flex:1;border:2px solid var(--azul);border-radius:7px;padding:6px 9px;font-family:var(--mono);font-size:15px;text-align:right;min-width:0;}
.pvn-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px dashed var(--cinza-borda);margin-top:8px;padding-top:10px;}
.pvn-total > span{font-size:14px;font-weight:800;letter-spacing:.04em;color:#1B2230;}
.pvn-total b{font-family:var(--mono);font-size:30px;color:var(--verde);}
.pvn-enviar{margin-top:10px;width:100%;border:0;border-radius:9px;background:var(--verde);color:#fff;font-size:17px;font-weight:800;padding:14px;display:flex;justify-content:center;align-items:center;gap:10px;cursor:pointer;font-family:inherit;}
.pvn-enviar:hover{filter:brightness(1.06);}
.pvn-enviar:disabled{background:#A9C9B6;cursor:not-allowed;}
.pvn-enviar kbd{background:rgba(255,255,255,.25);color:#fff;border-color:rgba(255,255,255,.4);}
.pvn-btns{display:flex;gap:8px;margin-top:8px;}
.pvn-btns button{flex:1;border:1px solid var(--cinza-borda);background:#fff;border-radius:8px;padding:9px 4px;font-size:13px;font-weight:700;color:#2B3445;cursor:pointer;font-family:inherit;white-space:nowrap;}
.pvn-btns button:hover{background:#F5F7FA;}
.pvn-btns button.perigo{color:var(--vermelho);border-color:#F1C6C1;}
.pvn-rodape{flex:none;height:34px;margin-top:12px;background:var(--azul-escuro);display:flex;align-items:center;gap:18px;padding:0 20px;color:#C9D6E6;font-size:12px;white-space:nowrap;overflow:hidden;}
.pvn-rodape kbd{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.25);}
.pvn-online{color:#7EE2A8;}
.pvn-offline{color:#FFB4AB;font-weight:700;}
#msg-pedido .msg{margin:0;}
.pvn-meu{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid #F0F1F3;}
.pvn-meu strong{font-size:13.5px;font-family:var(--mono);}
.pvn-meu small{display:block;font-size:12px;color:var(--texto-suave);margin-top:3px;}
.pvn-meu-status{display:inline-block;margin-left:6px;font-size:11px;font-weight:800;padding:1px 8px;border-radius:99px;background:#EEF2F7;color:#5B6270;}
.pvn-meu-status.salvo{background:#FFF3D6;color:#8A5A00;}
.pvn-meu-status.aberto{background:#EEF5FF;color:#164679;}
.pvn-meu-status.ok{background:#E5F5EC;color:#1C6B41;}
.pvn-meu-status.cancelado{background:#FDEBEA;color:var(--vermelho);}

@media(max-width:1100px){
    .pvn-dica{display:none;}
    .pvn-corpo{grid-template-columns:minmax(0,1fr) 340px;}
}
@media(max-width:900px){
    body.pvn-tela{height:auto;overflow:visible;display:block;}
    .pvn-corpo{display:flex;flex-direction:column;padding:12px;}
    .pvn-lista{min-height:260px;}
    .pvn-meta{margin-left:0;width:100%;}
    .pvn-rodape{display:none;}
    .pvn-res{grid-template-columns:minmax(0,1fr) auto;}
    .pvn-res .pvn-est{grid-column:1 / -1;justify-self:start;margin-left:0;}
    .pvn-lista th:nth-child(1),.pvn-lista td.pvn-n{display:none;}
    .pvn-btn-topo kbd{display:none;}
}
@media print{
    body.pvn-tela{height:auto;overflow:visible;display:block;}
}
@media(max-width:900px){
    .pvn-lista-rolagem{overflow-x:auto;}
    .pvn-lista table{min-width:600px;}
}


/* ============================================================
   Caixa sem barra de rolagem: a tela inteira cabe no monitor.
   Só a lista de produtos rola por dentro quando tem muito item.
   ============================================================ */
@media (min-width:900px) and (min-height:500px){
  html:has(.caixa-grid),body:has(.caixa-grid){overflow:hidden;}
  main.page-com-menu-fixo:has(> .caixa-grid){
    height:calc(100vh - 93px);padding-top:12px;padding-bottom:53px;
    display:flex;flex-direction:column;overflow:hidden;
  }
  main.page-com-menu-fixo:has(> .caixa-grid) ~ .caixa-rodape-espaco,
  main.page-com-menu-fixo .caixa-rodape-espaco{display:none;}
  .caixa-grid{flex:1;min-height:0;align-items:stretch;gap:16px;}
  .caixa-grid .painel-lateral{min-height:0;overflow-y:auto;scrollbar-width:none;gap:12px;}
  .caixa-grid .painel-lateral::-webkit-scrollbar{display:none;}
  .caixa-grid .coluna-ticket{display:flex;flex-direction:column;min-height:0;}
  .caixa-grid .coluna-ticket .ticket{flex:1;min-height:0;max-height:none;}
  .bloco-vendedor{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
  .bloco-vendedor h3{margin:0;}
  .bloco-vendedor select{flex:1;min-width:120px;}
  .bloco-vendedor .vendedor-dica{display:none;}
}
/* Notebook (1366×768, 1366×650): tudo um pouco mais junto pra caber */
@media (min-width:900px) and (max-height:820px){
  .caixa-grid .painel-lateral .bloco{padding:12px 16px;}
  .caixa-grid .painel-lateral .bloco h3{margin-bottom:9px;}
  .caixa-grid .bloco-vendedor h3{margin-bottom:0;}
  .caixa-grid .painel-lateral #busca-produto{padding-top:10px;padding-bottom:10px;}
  .caixa-grid .painel-lateral #btn-abrir-cliente{padding-top:8px;padding-bottom:8px;}
  .resumo-venda{padding:8px 16px 12px;margin-top:0;}
  .resumo-venda .linha-subtotal{font-size:15px;padding:2px 0 6px;}
  .resumo-venda .linha-subtotal #subtotal-valor{font-size:17px;}
  .resumo-venda .linha-desconto{font-size:15px;padding:6px 0;}
  .resumo-venda .linha-desconto input{height:34px;font-size:17px;}
  .resumo-venda .linha-total{padding:6px 0 8px;}
  .resumo-venda .linha-total .rotulo{font-size:18px;}
  .resumo-venda .linha-total .valor{font-size:36px;}
  .resumo-venda-acoes{padding-top:8px;}
  .resumo-venda-acoes .btn-finalizar-venda{padding:11px;font-size:20px;}
}
/* Lista de produtos do caixa: barra de rolagem sempre visível quando tem muitos itens */
.caixa-grid .coluna-ticket .ticket{scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:#9AA6B4 #EEF1F5;}

/* ============================================================
   Cadastro de produto: barra de botões, mensagem no centro,
   pesquisa (F3) e dados fiscais obrigatórios
   ============================================================ */
.pf-topo{gap:8px;}
.pf-topo .pf-bt{height:32px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;white-space:nowrap;}
.pf-topo .pf-bt kbd{font-family:var(--mono);font-size:10.5px;border:1px solid #CBD2DC;border-radius:4px;padding:0 4px;color:#5B6270;background:#fff;margin:0;}
.pf-topo .pf-salvar kbd{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.15);}
.pf-topo .pf-bt-excluir{background:#C0392B;border:1px solid #C0392B;color:#fff;}
.pf-topo .pf-bt-excluir:hover{background:#A93226;}
.pf-topo .pf-bt-excluir.bloqueado{background:#E3A9A2;border-color:#E3A9A2;}
.pf-sep{width:1px;height:24px;background:#DDE2E9;margin:0 4px;}
.pf-setas{display:flex;gap:4px;}
.pf-setas a,.pf-setas span{display:flex;align-items:center;justify-content:center;width:34px;height:32px;border:1px solid #CBD2DC;border-radius:8px;background:#fff;color:var(--azul);}
.pf-setas a:hover{background:#EEF4FC;text-decoration:none;}
.pf-setas span{color:#C3C9D2;}
.pf-obrig{color:#C0392B;}
.pf-form select.pf-erro,.pf-form input.pf-erro{border:2px solid #C0392B !important;background:#FDF3F2 !important;}
.pf-selo-fiscal.falta{background:#FDE4E4;color:#A12626;}
.pf-selo-fiscal.opcional{background:#EEF1F5;color:#5B6270;}
.pf-form select option[value=""]{color:#8A93A3;}
@media(max-width:1100px){.pf-topo .pf-bt kbd{display:none;}}

/* Mensagem no centro (Produto Salvo, faltam dados fiscais, excluir) */
.pf-aviso-fundo{position:fixed;inset:0;background:rgba(15,27,45,.45);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;}
.pf-aviso-fundo[hidden]{display:none;}
.pf-aviso-caixa{width:300px;max-width:100%;background:#fff;border-radius:12px;box-shadow:0 16px 44px rgba(0,0,0,.28);padding:16px 18px 14px;text-align:center;}
.pf-aviso-caixa.erro{width:360px;}
.pf-aviso-ic{width:42px;height:42px;border-radius:50%;background:#E3F4EA;display:flex;align-items:center;justify-content:center;margin:0 auto 8px;}
.pf-aviso-ic span{width:30px;height:30px;border-radius:50%;background:#2F8F5B;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:bold;font-size:18px;}
.pf-aviso-caixa.erro .pf-aviso-ic{background:#FDE4E4;}
.pf-aviso-caixa.erro .pf-aviso-ic span{background:#C0392B;}
.pf-aviso-caixa h3{margin:0 0 3px;font-size:16px;color:var(--texto);}
.pf-aviso-nome{font-weight:bold;color:#3A4252;font-size:12.5px;}
.pf-aviso-extra{margin-top:8px;font-size:12.5px;color:#5B6270;line-height:1.45;}
.pf-aviso-lista{list-style:none;margin:8px 0 0;padding:7px 10px;background:#FDF3F2;border:1px solid #F4D3CF;border-radius:8px;text-align:left;font-size:13px;color:#7A2E25;}
.pf-aviso-lista li{padding:2px 0;}
.pf-aviso-lista:not(.mov) li::before{content:"✕ ";font-weight:bold;}
.pf-aviso-lista.mov li{display:flex;justify-content:space-between;}
.pf-aviso-acoes{display:flex;gap:8px;margin-top:12px;}
.pf-aviso-acoes button{flex:1;height:34px;border-radius:8px;font-weight:bold;font-size:14px;cursor:pointer;border:1px solid #CBD2DC;background:#fff;color:var(--texto);}
.pf-aviso-acoes .pf-aviso-ok{background:#2F8F5B;border-color:#2F8F5B;color:#fff;box-shadow:0 2px 0 #237A4B;}
.pf-aviso-caixa.erro .pf-aviso-acoes .pf-aviso-ok{background:var(--azul);border-color:var(--azul);box-shadow:none;}
.pf-aviso-acoes .pf-aviso-ok.vermelho{background:#C0392B !important;border-color:#C0392B !important;}
.pf-aviso-acoes button:focus-visible{outline:3px solid #9DC1EC;outline-offset:1px;}

/* Pesquisa de produto (F3) */
.pq-fundo{position:fixed;inset:0;background:rgba(15,27,45,.5);z-index:990;display:flex;justify-content:center;align-items:flex-start;padding:28px 20px;}
.pq-fundo[hidden]{display:none;}
.pq{width:1080px;max-width:100%;height:calc(100vh - 56px);background:#fff;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.35);overflow:hidden;display:flex;flex-direction:column;}
.pq kbd{font-family:var(--mono);font-size:10.5px;border:1px solid #CBD2DC;border-bottom-width:2px;border-radius:4px;padding:0 5px;color:#3A4252;background:#fff;}
.pq-topo{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #E6E9EE;}
.pq-campo{flex:1;display:flex;align-items:center;gap:10px;border:2px solid var(--azul);border-radius:10px;padding:0 12px;height:44px;}
.pq-campo input{flex:1;border:0;font-size:17px;outline:0;font-weight:bold;min-width:0;background:transparent;}
.pq-dica{font-size:11.5px;color:#8A93A3;white-space:nowrap;}
.pq-x{width:36px;height:36px;border-radius:8px;border:1px solid #DDE2E9;background:#fff;color:#5B6270;font-size:16px;cursor:pointer;}
.pq-filtros{display:flex;align-items:center;gap:6px;padding:8px 16px;border-bottom:1px solid #F0F2F5;background:#FAFBFC;flex-wrap:wrap;}
.pq-sel{height:28px;border:1px solid #DDE2E9;border-radius:7px;background:#fff;font-size:12px;font-weight:bold;padding:0 6px;color:#3A4252;max-width:170px;}
.pq-chips{display:flex;gap:6px;flex-wrap:wrap;}
.pq-chip{font-size:12px;font-weight:bold;border:1px solid #DDE2E9;border-radius:99px;padding:4px 10px;color:#3A4252;background:#fff;cursor:pointer;}
.pq-chip i{font-style:normal;font-weight:normal;opacity:.75;margin-left:3px;}
.pq-chip.am{border-color:#EBCB6B;background:#FFF8DC;color:#7A5A00;}
.pq-chip.vm{border-color:#F1C6C1;background:#FDF3F2;color:#A12626;}
.pq-chip.on{background:var(--azul);color:#fff;border-color:var(--azul);}
.pq-esp{flex:1;}
.pq-corpo{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 330px;min-height:0;}
.pq-lista{overflow:auto;border-right:1px solid #E6E9EE;outline:0;}
.pq-cab,.pq-it{display:grid;grid-template-columns:42px minmax(0,1fr) 78px 84px 96px;gap:10px;align-items:center;padding:0 14px;}
.pq-cab{height:30px;font-size:10.5px;font-weight:800;letter-spacing:.06em;color:#5B6270;background:#F5F7FA;border-bottom:1px solid #E6E9EE;position:sticky;top:0;z-index:1;}
.pq-cab span:nth-child(n+3){text-align:right;}
.pq-it{height:52px;border-bottom:1px solid #F3F4F6;font-size:13.5px;cursor:pointer;}
.pq-it:hover{background:#F7FAFE;}
.pq-it.sel{background:#EEF5FF;box-shadow:inset 3px 0 0 var(--azul);}
.pq-av{width:38px;height:38px;border-radius:8px;background:#EEF2F7;color:#7A8597;font-weight:bold;display:flex;align-items:center;justify-content:center;font-size:12px;overflow:hidden;}
.pq-av.foto{background:#fff;border:1px solid #E1E5EB;}
.pq-av img{width:100%;height:100%;object-fit:cover;}
.pq-nome{min-width:0;}
.pq-nome b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pq-nome b mark{background:#FFE58A;color:inherit;border-radius:2px;padding:0 1px;}
.pq-nome small{color:#8A93A3;font-family:var(--mono);font-size:11px;}
.pq-it .n{text-align:right;font-family:var(--mono);}
.pq-it .v{color:#237A4B;font-weight:bold;}
.pq-it .at{color:#5B6270;font-size:12.5px;}
.pq-it .at.zero{color:#A3ACB9;}
.pq-it .est{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:0 3px;}
.pq-it .est small{color:#8A93A3;font-size:11px;}
.pq-it .est .bar{width:60px;height:4px;border-radius:2px;background:#EEF0F3;overflow:hidden;flex:0 0 60px;margin-left:calc(100% - 60px);margin-top:3px;}
.pq-it .est .bar i{display:block;height:100%;background:#2F8F5B;}
.pq-it .est.baixo .bar i{background:#E0A800;}
.pq-it .est.zero{color:#C0392B;}
.pq-it .est.baixo{color:#B45309;}
.pq-tg{font-family:Arial,sans-serif;font-size:9.5px;font-weight:bold;border-radius:99px;padding:1px 6px;margin-left:5px;vertical-align:1px;}
.pq-tg.in{background:#E8EBF0;color:#4A5262;}
.pq-tg.cx{background:#FFF3D6;color:#8A5A00;}
.pq-tg.nc{background:#FDE4E4;color:#A12626;}
.pq-sec{padding:8px 14px 5px;font-size:10.5px;font-weight:800;letter-spacing:.07em;color:#8A93A3;}
.pq-vazio{padding:30px 16px;text-align:center;color:#8A93A3;font-size:13.5px;}
.pq-painel{overflow:auto;padding:12px;display:flex;flex-direction:column;gap:8px;background:#FBFCFD;}
.pq-ft{height:104px;flex:none;border:1px solid #E1E5EB;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.pq-ft img{max-width:100%;max-height:100%;object-fit:contain;}
.pq-ft span{font-size:28px;font-weight:bold;color:#B9C3D1;}
.pq-painel h3{margin:0;font-size:15px;}
.pq-cod{font-family:var(--mono);font-size:11px;color:#8A93A3;}
.pq-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.pq-grid div{background:#fff;border:1px solid #E6E9EE;border-radius:8px;padding:6px 9px;}
.pq-grid small{display:block;font-size:10px;color:#8A93A3;font-weight:bold;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pq-grid b{font-family:var(--mono);font-size:15px;}
.pq-grid .g b{color:#237A4B;}
.pq-linhas{font-size:12.5px;color:#3A4252;background:#fff;border:1px solid #E6E9EE;border-radius:8px;padding:5px 10px;}
.pq-linhas div{display:flex;justify-content:space-between;gap:8px;padding:2px 0;border-bottom:1px dashed #EEF0F3;}
.pq-linhas div:last-child{border:0;}
.pq-linhas span{color:#8A93A3;white-space:nowrap;}
.pq-linhas b{text-align:right;}
.pq-acoes{display:grid;grid-template-columns:1.3fr 1fr;gap:6px;margin-top:auto;}
.pq-acoes button{padding:8px 4px;border-radius:8px;font-weight:bold;font-size:13px;border:1px solid #CBD2DC;background:#fff;cursor:pointer;line-height:1.3;}
.pq-acoes button kbd{display:block;width:max-content;margin:3px auto 0;}
.pq-acoes button.p{background:var(--azul);color:#fff;border-color:var(--azul);font-size:14px;}
.pq-acoes button.p kbd{background:rgba(255,255,255,.2);color:#fff;border-color:rgba(255,255,255,.4);}
.pq-rod{display:flex;gap:16px;align-items:center;padding:8px 16px;font-size:12px;color:#5B6270;background:#FAFBFC;border-top:1px solid #E6E9EE;flex-wrap:wrap;}
@media(max-width:900px){
  .pq-corpo{grid-template-columns:1fr;}
  .pq-painel{display:none;}
  .pq-dica{display:none;}
  .pq-cab,.pq-it{grid-template-columns:38px minmax(0,1fr) 70px 80px;}
  .pq-cab span:nth-child(4),.pq-it .at{display:none;}
}

/* Configurações: aviso do cadastro de produto com dados fiscais obrigatórios */
.cfg-fiscal-produto{margin:12px 0 0;border:1px solid #BFD3EE;background:#EEF5FF;border-radius:8px;padding:9px 12px;font-size:13px;color:var(--texto);line-height:1.45;}
.cfg-fiscal-produto b{color:#164679;}
.cfg-tag-obrig{font-size:10.5px;background:var(--azul);color:#fff;border-radius:99px;padding:1px 8px;margin-left:4px;vertical-align:1px;}

/* Cadastro de produto: campos bloqueados (consulta) até Novo / Editar */
.pf-form.pf-travado input:disabled,.pf-form.pf-travado select:disabled{background:#F4F6F9 !important;color:#1B2230;opacity:1;border-color:#E3E7ED !important;cursor:default;-webkit-text-fill-color:#1B2230;}
.pf-form.pf-travado .pf-combo .btn:disabled{opacity:.45;}
.pf-form.pf-travado .pf-foto-acoes{opacity:.45;pointer-events:none;}
.pf-form.pf-travado .pf-foto-minis{pointer-events:none;}
.pf-form.pf-travado .pf-mini-add,.pf-form.pf-travado .pf-mini-x{display:none;}
.pf-form.pf-travado .pf-foto-grande{pointer-events:none;}
.pf-form.pf-travado .pf-toggle{opacity:.7;}
.pf-topo .pf-bt:disabled{opacity:.5;cursor:not-allowed;}
.pf-topo .pf-bt-editar{border-color:#1F5FA8;color:#1F5FA8;}
.pf-modo{font-size:10.5px;font-weight:bold;letter-spacing:.06em;border-radius:99px;padding:2px 9px;background:#EEF1F5;color:#5B6270;}
.pf-modo-novo{background:#E3F4EA;color:#1D6B42;}
.pf-modo-editando{background:#FFF3D6;color:#8A5A00;}
.pf-dica-vazio{font-size:13px;color:#5B6270;background:#fff;border:1px dashed #CBD2DC;border-radius:8px;padding:7px 12px;}
.pf-dica-vazio kbd{font-family:var(--mono);font-size:10.5px;border:1px solid #CBD2DC;border-radius:4px;padding:0 4px;background:#fff;}
.pf-form.pf-travado input:disabled::placeholder{-webkit-text-fill-color:#A8B0BC;color:#A8B0BC;}
.pf-campos-todos{display:contents;border:0;margin:0;padding:0;min-width:0;}

/* ============================================================
   CAIXA NOVO (cx2): busca + último item + cupom à esquerda,
   cliente, visor, pagamento e Finalizar à direita.
   ============================================================ */
.cx2{--cx2-az:#1F5FA8;--cx2-ae:#0F2747;--cx2-vd:#22A45D;--cx2-vd2:#178049;--cx2-vm:#D64545;--cx2-bd:#E2E6EC;--cx2-sv:#5B6270;--cx2-tx:#162033;
  display:grid;grid-template-columns:minmax(0,1fr);gap:12px;color:var(--cx2-tx);}
.cx2 kbd{font-family:var(--mono);font-size:10.5px;border:1px solid #C9D0DA;border-bottom-width:2px;border-radius:5px;padding:1px 5px;background:#fff;color:#3A4252;font-weight:700;box-shadow:none;}
.cx2 button{font-family:inherit;}

/* topo: some o menu do sistema, fica só a barra escura do caixa */
.topo-fixo:has(.caixa-menu) > .topbar{display:none;}
.caixa-menu:has(.caixa-menu-marca){background:#0F2747;border-top:0;}
.caixa-menu-marca{display:inline-flex;align-items:center;padding:0 14px 0 4px;margin-right:6px;font-weight:800;font-size:16px;color:#fff;text-decoration:none;white-space:nowrap;flex:none;}
.caixa-menu-marca span{color:#7FB6FF;}
.caixa-menu-marca:hover{color:#fff;text-decoration:none;}
.caixa-menu-operador{font-size:12.5px;color:#BFD3EE;white-space:nowrap;}
.caixa-menu-operador:not(:empty)::before{content:"Operador ";}
.caixa-menu-sair{color:#fff;font-size:12.5px;font-weight:bold;text-decoration:none;border:1px solid rgba(255,255,255,.25);border-radius:99px;padding:3px 11px;white-space:nowrap;}
.caixa-menu-sair:hover{background:rgba(255,255,255,.12);color:#fff;text-decoration:none;}

/* coluna esquerda */
.cx2-esq{display:flex;flex-direction:column;gap:10px;min-height:0;min-width:0;}
.cx2-busca-linha{display:flex;gap:8px;flex:none;position:relative;}
.cx2-busca{flex:1;position:relative;display:flex;align-items:center;gap:10px;background:#fff;border:2px solid var(--cx2-az);border-radius:12px;height:54px;padding:0 14px;box-shadow:0 4px 14px rgba(31,95,168,.12);color:var(--cx2-az);}
.cx2-busca svg{flex:none;}
.cx2 .cx2-busca #busca-produto{flex:1;min-width:0;border:0 !important;outline:0;box-shadow:none !important;padding:0 !important;background:transparent;font-size:18px !important;height:100%;color:var(--cx2-tx);}
.cx2-busca .resultado-lista{position:absolute;left:-2px;right:-2px;top:calc(100% + 4px);z-index:30;max-height:min(60vh,460px);border:1px solid var(--cx2-bd);border-radius:12px;box-shadow:0 14px 34px rgba(15,39,71,.22);}
.cx2-qtd{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--cx2-bd);border-radius:12px;padding:0 14px;font-weight:800;font-size:13px;color:var(--cx2-sv);flex:none;}
.cx2-qtd b{font-family:var(--mono);font-size:22px;color:var(--cx2-tx);}
.cx2-qtd.ativa{background:#FFF8E6;border-color:#F2B705;}
.cx2-qtd.ativa b{color:#8A5A00;}
.cx2 .indicador-quantidade{display:none !important;}

/* caixa livre: logo ocupando todo o espaço */
.cx2-logo{flex:1;min-height:240px;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--cx2-bd);display:flex;align-items:center;justify-content:center;position:relative;}
.cx2-logo img{width:100%;height:100%;object-fit:contain;padding:24px;}
.cx2-logo.padrao{background:radial-gradient(ellipse at 50% 0%,#1E9FEF 0%,#0A4FC2 45%,#032C86 100%);border:0;container-type:size;}
.cx2-logo.padrao img{object-fit:cover;object-position:left bottom;padding:0;}
/* Tela mais quadrada: mostra a logo padrão inteira (texto no centro + marca no canto),
   com o fundo preenchido pela própria imagem desfocada e as bordas esfumadas */
.cx2-logo.padrao::before{content:"";position:absolute;inset:-30px;background:url('img/logo_padrao.jpg') center/cover no-repeat;filter:blur(26px) saturate(1.1);}
.cx2-logo.padrao img{position:relative;}
@container (max-aspect-ratio: 3/2){
  .cx2-logo.padrao img{width:100%;height:auto;max-height:100%;object-fit:contain;object-position:center;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 12%,#000 88%,transparent 100%);
            mask-image:linear-gradient(to bottom,transparent 0,#000 12%,#000 88%,transparent 100%);}
}
.cx2-logo.cheia{border:0;background:#000;}
.cx2-logo-fundo{position:absolute;inset:-40px;background-position:center;background-size:cover;background-repeat:no-repeat;filter:blur(30px);}
.cx2-logo.cheia img{position:relative;object-fit:contain;padding:0;}
.cx2-logo .marca-fallback{font-size:56px;font-weight:800;color:var(--cx2-ae);}
.cx2-logo .marca-fallback span{color:var(--cx2-az);}
.cx2-logo[hidden],.cx2-ultimo[hidden],.cx2-cupom[hidden]{display:none !important;}

/* último item registrado */
.cx2-ultimo{flex:none;display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:16px;align-items:center;background:#fff;border:1px solid var(--cx2-bd);border-radius:14px;padding:12px 16px 12px 20px;position:relative;overflow:hidden;}
.cx2-ultimo::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--cx2-vd);}
.cx2-ultimo.pisca{animation:cx2Pisca .5s ease-out;}
@keyframes cx2Pisca{from{background:#E9F8EF;}to{background:#fff;}}
.cx2-ult-ft{width:96px;height:96px;border-radius:12px;background:#F6F7F9;border:1px solid var(--cx2-bd);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.cx2-ult-ft img{width:100%;height:100%;object-fit:contain;background:#fff;}
.cx2-ult-ft span{font-size:30px;font-weight:800;color:#98A1AF;}
.cx2-ult-txt{min-width:0;}
.cx2-ult-txt small{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--cx2-vd2);}
.cx2-ult-txt h2{margin:3px 0 6px;font-size:24px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--cx2-tx);}
.cx2-ult-ln{font-family:var(--mono);font-size:15px;color:var(--cx2-sv);}
.cx2-ult-cod{font-family:var(--mono);font-size:12.5px;color:var(--cx2-sv);margin:-2px 0 3px;}.cx2-ult-cod b{color:var(--cx2-tx);}
.ticket .col-cod{width:1%;white-space:nowrap;font-family:var(--mono);font-size:13px;color:#5B6270;padding-right:14px;}
.cx2-ult-ln b{color:var(--cx2-tx);}
.cx2-tag{display:inline-block;font-family:Arial,sans-serif;font-size:10.5px;font-weight:800;border-radius:99px;padding:2px 8px;background:#FFF3D6;color:#8A5A00;margin-left:8px;vertical-align:4px;}
.cx2-tag.azul{background:#EEF4FC;color:var(--cx2-az);}
.cx2-ult-vl{text-align:right;white-space:nowrap;}
.cx2-ult-vl b{display:block;font-family:var(--mono);font-size:34px;color:var(--cx2-vd2);line-height:1.1;}
.cx2-ult-vl span{font-size:12px;color:var(--cx2-sv);}

/* cupom */
.cx2-cupom{flex:1;min-height:0;background:#fff;border:1px solid var(--cx2-bd);border-radius:14px;display:flex;flex-direction:column;overflow:hidden;}
.cx2-cupom .ticket{flex:1;min-height:0;max-height:none;border:0;border-radius:0;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:#9AA6B4 #EEF1F5;}
.cx2-cupom .ticket::before{display:none;}
.cx2-cupom .ticket th{font-family:Arial,Helvetica,sans-serif;font-size:10.5px;font-weight:800;letter-spacing:.07em;padding:8px 12px;border-bottom:1px solid var(--cx2-bd);}
.cx2-cupom .ticket td{padding:6px 12px;font-size:14.5px;border-bottom:1px dashed #E8EBF0;}
.cx2-cupom .ticket .col-nome{font-size:14.5px;}
.cx2-cupom .ticket .col-preco,.cx2-cupom .ticket .col-subtotal{font-size:14.5px;}
.cx2-cupom .ticket .col-subtotal{color:var(--cx2-tx);}
.cx2-cupom .ticket tr.ultimo td{background:#F0F7FF;}
.cx2-cupom .ticket tr.ultimo td:first-child{box-shadow:inset 3px 0 0 var(--cx2-az);}
.cx2-cupom .qtd-stepper button,.cx2-cupom .qtd-stepper input,.cx2-cupom .qtd-peso input{height:30px;}
.cx2-cupom .btn-remover{width:28px;height:28px;}
.cx2-cupom-rod{flex:none;display:flex;justify-content:space-between;gap:12px;padding:7px 14px;border-top:1px solid var(--cx2-bd);background:#FAFBFC;font-size:12px;color:var(--cx2-sv);}
.cx2-cupom-rod b{color:var(--cx2-tx);}

/* coluna direita */
.cx2-dir{display:flex;flex-direction:column;gap:10px;min-height:0;}
.cx2-cliente{flex:none;background:#fff;border:1px solid var(--cx2-bd);border-radius:14px;padding:9px 12px;display:flex;align-items:center;gap:10px;}
.cx2-av{width:36px;height:36px;border-radius:50%;background:#EEF1F5;display:flex;align-items:center;justify-content:center;color:#98A1AF;flex:none;}
.cx2-cliente-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;}
.cx2-cliente-btn{all:unset;cursor:pointer;display:block;}
.cx2-cliente-btn b,.cx2-cliente .cliente-selecionado b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cx2-cliente-btn small{font-size:11.5px;color:var(--cx2-sv);}
.cx2-cliente .cliente-selecionado{display:flex;align-items:center;gap:8px;padding:0;background:none;border:0;margin:0;}
.cx2-link{all:unset;cursor:pointer;font-size:12px;color:var(--cx2-az);font-weight:bold;}
.cx2-vendedor{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--cx2-sv);margin:0;}
.cx2-vendedor select{flex:1;min-width:0;height:28px;padding:2px 6px;font-size:12.5px;}

.cx2-visor{flex:none;background:linear-gradient(160deg,#0F2747,#163A68);color:#fff;border-radius:16px;padding:12px 16px;box-shadow:0 10px 24px rgba(15,39,71,.25);}
.cx2-visor-linha{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:13px;color:#A9BEDA;padding:3px 0;background:none;border:0;text-align:left;}
.cx2-visor-linha b{font-family:var(--mono);color:#fff;}
button.cx2-visor-linha{cursor:pointer;border-radius:6px;}
button.cx2-visor-linha:hover{background:rgba(255,255,255,.06);}
.cx2-visor-linha kbd{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#BFD3EE;margin-left:4px;}
.cx2-desc b{color:#FF9E9E;}
.cx2-acr b{color:#FFD56A;}
.cx2-total{border-top:1px solid rgba(255,255,255,.15);margin-top:6px;padding-top:6px;}
.cx2-total small{font-size:11.5px;font-weight:800;letter-spacing:.12em;color:#7FB6FF;}
.cx2-total div{font-family:var(--mono);font-size:52px;font-weight:800;color:#5CF29A;text-align:right;line-height:1;letter-spacing:-1px;white-space:nowrap;}

.cx2-pag{flex:1;min-height:0;background:#fff;border:1px solid var(--cx2-bd);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:8px;overflow:auto;}
.cx2-pag-tt{font-size:10.5px;font-weight:800;letter-spacing:.08em;color:var(--cx2-sv);}
.cx2-pag-grade{display:grid;grid-template-columns:1fr 1fr;gap:7px;grid-auto-rows:minmax(44px,58px);}
.cx2-pg{border:1px solid var(--cx2-bd);border-radius:12px;display:flex;align-items:center;gap:9px;padding:0 10px;font-weight:800;font-size:14px;background:#FBFCFD;color:var(--cx2-tx);cursor:pointer;text-align:left;min-height:44px;}
.cx2-pg:hover{border-color:var(--cx2-az);background:#F3F8FF;}
.cx2-pg .ic{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;flex:none;}
.cx2-pg kbd{margin-left:auto;}
.cx2-pg.din .ic{background:#E3F4EA;}.cx2-pg.pix .ic{background:#DDF6F3;color:#0E7C70;}.cx2-pg.deb .ic{background:#E7EEFB;}.cx2-pg.cre .ic{background:#F1E9FB;}.cx2-pg.div .ic{background:#EEF1F5;}
.cx2-pg.div{grid-column:1 / -1;font-size:13px;}
.cx2-extras{display:flex;gap:6px;margin-top:auto;}
.cx2-extras a,.cx2-extras button{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;border:1px dashed #C9D0DA;border-radius:9px;padding:6px 4px;font-size:11.5px;font-weight:800;color:#3A4252;background:#fff;cursor:pointer;text-decoration:none;}
.cx2-extras a:hover,.cx2-extras button:hover{background:#F5F7FA;text-decoration:none;color:#3A4252;}
.cx2-extras b{color:#B45309;}
.cx2-extras .perigo{color:var(--cx2-vm);}
.cx2-extras kbd{font-size:9.5px;padding:0 4px;}

.cx2-finalizar{flex:none;display:flex;align-items:center;justify-content:center;gap:12px;background:var(--cx2-vd);color:#fff;font-size:22px;font-weight:800;border:0;border-radius:14px;height:64px;box-shadow:0 4px 0 var(--cx2-vd2);cursor:pointer;width:100%;}
.cx2-finalizar:hover{background:#1E9653;}
.cx2-finalizar:active{transform:translateY(2px);box-shadow:0 2px 0 var(--cx2-vd2);}
.cx2-finalizar kbd{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.4);color:#fff;font-size:13px;}

/* rodapé */
.cx2-rodape{background:#fff;color:var(--texto-suave,#5B6270);border-top:1px solid #E2E6EC;}
.cx2-rodape .caixa-rodape-inner{height:30px;font-size:11.5px;gap:18px;}
.cx2-rodape .caixa-rodape-inner b{color:#162033;}
.cx2-rodape .cx2-rod-esp{flex:1;}
.cx2-rodape .caixa-rodape-atalhos{margin-left:0;}
.cx2-rodape .caixa-rodape-atalhos kbd{background:#fff;color:#3A4252;border:1px solid #C9D0DA;}
.cx2-rodape .status-conexao{padding:2px 10px;font-size:11.5px;background:#E9F8EF;color:#178049;border:0;}

/* modal de acréscimo */
.acr-tipos{display:flex;gap:8px;margin-bottom:12px;}
.acr-tipos button{flex:1;padding:10px;border:1px solid var(--cinza-borda);border-radius:8px;background:#fff;font-weight:bold;font-size:15px;cursor:pointer;color:var(--texto-suave);}
.acr-tipos button.ativo{background:#FFF8E6;border-color:#F2B705;color:#8A5A00;}
#valor-acrescimo-modal{font-size:24px;font-family:var(--mono);text-align:right;}
#preview-acrescimo-modal{margin-top:8px;font-size:13.5px;color:#8A5A00;font-weight:bold;min-height:18px;}

/* Tela de computador: o caixa ocupa a tela toda, sem rolagem */
@media (min-width:900px) and (min-height:500px){
  html:has(.cx2),body:has(.cx2){overflow:hidden;}
  .topo-fixo:has(.caixa-menu-marca) .caixa-menu-inner{height:46px;align-items:center;}
  .topo-fixo:has(.caixa-menu-marca) .caixa-menu-item{align-self:stretch;}
  main.page-com-menu-fixo:has(> .cx2){padding:0;max-width:none;}
  main.page-com-menu-fixo:has(> .cx2) ~ .caixa-rodape-espaco,main:has(> .cx2) .caixa-rodape-espaco{display:none;}
  .cx2{position:fixed;left:0;right:0;top:46px;bottom:30px;padding:12px;grid-template-columns:minmax(0,1fr) 400px;}
  .cx2-dir{overflow:hidden;}
}
@media (min-width:1600px){
  .cx2{grid-template-columns:minmax(0,1fr) 440px;}
  .cx2-total div{font-size:60px;}
}
/* notebook baixinho (1366×650) */
@media (min-width:900px) and (max-height:720px){
  .cx2{gap:10px;padding:10px;}
  .cx2-esq,.cx2-dir{gap:8px;}
  .cx2-busca{height:48px;}
  .cx2-ultimo{grid-template-columns:72px minmax(0,1fr) auto;padding:8px 14px 8px 18px;}
  .cx2-ult-ft{width:72px;height:72px;}
  .cx2-ult-txt h2{font-size:20px;margin:2px 0 3px;}
  .cx2-ult-vl b{font-size:28px;}
  .cx2-cliente{padding:6px 10px;}
  .cx2-visor{padding:8px 14px;}
  .cx2-visor-linha{padding:1px 0;}
  .cx2-total div{font-size:42px;}
  .cx2-pag{padding:8px;gap:6px;}
  .cx2-pag-grade{grid-auto-rows:40px;gap:6px;}
  .cx2-pg{min-height:40px;}
  .cx2-extras a,.cx2-extras button{padding:4px;}
  .cx2-finalizar{height:54px;font-size:20px;}
}
/* celular/tablet em pé: tudo empilhado */
@media (max-width:899px){
  .cx2-logo{min-height:160px;max-height:220px;}
  .cx2-ultimo{grid-template-columns:60px minmax(0,1fr);}
  .cx2-ult-ft{width:60px;height:60px;}
  .cx2-ult-vl{grid-column:1 / -1;text-align:left;}
  .cx2-cupom .ticket{max-height:50vh;}
  .cx2-total div{font-size:40px;}
}
.cx2-cupom .ticket th.col-preco,.cx2-cupom .ticket th.col-subtotal{font-size:10.5px;font-family:Arial,Helvetica,sans-serif;font-weight:800;color:var(--texto-suave);}
.cx2-cupom .ticket th.col-qtd,.cx2-cupom .ticket td.col-qtd{text-align:center;width:110px;}
.cx2-finalizar kbd{font-size:20px;font-weight:800;padding:3px 12px;border-radius:8px;border-bottom-width:3px;line-height:1.2;}
@media (min-width:900px) and (max-height:720px){.cx2-finalizar kbd{font-size:18px;padding:2px 10px;}}

/* ===== Caixa: painel do operador, visor maior, vendedor do pedido ===== */
.cx2-visor{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;padding:14px 18px;}
.cx2-visor-linha{font-size:16px;padding:5px 0;}
.cx2-visor-linha b{font-size:18px;}
.cx2-total{margin-top:auto;padding-top:10px;}
.cx2-total small{font-size:13px;}
.cx2-total div{font-size:56px;}
.cx2-pag.cx2-info{flex:none;overflow:visible;gap:8px;}
.cx2-op{display:flex;align-items:center;gap:12px;border:1px solid var(--cx2-bd,#E2E6EC);border-radius:12px;padding:8px 14px;background:#FBFCFD;}
.cx2-op-ic{width:38px;height:38px;border-radius:10px;background:#EEF4FC;color:#1F5FA8;display:flex;align-items:center;justify-content:center;flex:none;}
.cx2-op-txt{flex:1;min-width:0;}
.cx2-op-txt small,.cx2-num small{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;color:#5B6270;}
.cx2-op-txt b{display:block;font-size:24px;font-weight:800;color:#162033;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cx2-op-cx{font-size:12px;color:#5B6270;text-align:right;white-space:nowrap;}
.cx2-nums{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.cx2-num{border:1px solid #E2E6EC;border-radius:12px;padding:8px 14px;background:#FBFCFD;min-width:0;}
.cx2-num b{display:block;font:800 34px var(--mono);color:#1F5FA8;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cx2-num-ped b{color:#C3C9D2;}
.cx2-num-ped.ativo{border:2px solid #F2B705;background:#FFF8E6;padding:7px 13px;}
.cx2-num-ped.ativo small,.cx2-num-ped.ativo b{color:#8A5A00;}
.cx2-info .cx2-extras{margin-top:0;}
.cx2-vend-pedido{flex:none;display:flex;align-items:center;gap:10px;background:#F5F9FF;border:1px solid #C7D9F0;border-radius:14px;padding:8px 12px;}
.cx2-vend-pedido[hidden]{display:none;}
.cx2-vend-ini{width:36px;height:36px;border-radius:50%;background:#1F5FA8;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex:none;}
.cx2-vend-txt{flex:1;min-width:0;}
.cx2-vend-txt small{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;color:#5B6270;}
.cx2-vend-txt b{display:block;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cx2-vend-tag{font-size:12px;color:#8A5A00;font-weight:700;background:#FFF3D6;border-radius:99px;padding:3px 9px;white-space:nowrap;}
.cx2 .cx2-busca{padding-right:14px;}

/* cupom: quantidade só como texto, item selecionado */
.cx2-cupom .ticket td.col-qtd .qtd-texto{font:700 15px var(--mono);color:#162033;}
.cx2-cupom .ticket td.col-qtd small{font-size:11px;color:#8A93A3;font-weight:600;}
.cx2-cupom .ticket tbody tr{cursor:pointer;outline:none;}
.cx2-cupom .ticket tbody tr.sel td{background:#E3EEFC !important;}
.cx2-cupom .ticket tbody tr.sel td:first-child{box-shadow:inset 4px 0 0 #1F5FA8;}

/* janela "alterar quantidade" */
.modal-caixa.qtd2{width:380px;max-width:calc(100vw - 32px);padding:0;overflow:hidden;border-radius:14px;}
.qtd2-topo{padding:16px 20px 6px;}
.qtd2-topo small{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;color:#5B6270;}
.qtd2-topo b{display:block;font-size:18px;color:#162033;margin-top:4px;}
.qtd2-topo span{display:block;font-size:13px;color:#5B6270;margin-top:2px;}
.qtd2-corpo{padding:10px 20px 4px;}
#qtd2-valor,#desc2-valor{width:100%;box-sizing:border-box;height:62px;font:800 34px var(--mono);text-align:center;border:2px solid #1F5FA8;border-radius:10px;box-shadow:0 0 0 4px rgba(31,95,168,.12);outline:none;}
#qtd2-valor.invalido{border-color:#D64545;box-shadow:0 0 0 4px rgba(214,69,69,.15);}
.qtd2-total{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#5B6270;margin-top:8px;}
.qtd2-total b{font:700 16px var(--mono);color:#178049;}
.qtd2-botoes{display:flex;gap:10px;padding:14px 20px 18px;}
.qtd2-botoes .btn{flex:1;height:44px;}
.qtd2-botoes .btn-sucesso{flex:1.4;}
.qtd2-botoes kbd{font-size:11px;margin-left:4px;}

/* janela de pagamento em etapas */
.modal-caixa.pg2{width:440px;max-width:calc(100vw - 32px);}
.pg2 .modal-corpo{padding:14px 20px 18px;}
.pg2 .cpf-nota-resumo{margin:0 0 10px;}
.pg2-etapas{display:flex;gap:6px;margin-bottom:12px;}
.pg2-etapa{flex:1;min-width:0;text-align:center;padding:7px 6px;border-radius:8px;background:#EEF1F5;color:#8A93A3;font-size:12px;font-weight:800;border:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default;}
.pg2-etapa.ativo{background:#1F5FA8;color:#fff;}
.pg2-etapa.feito{background:#E9F8EF;color:#178049;}
.pg2-etapa.feito[onclick]{cursor:pointer;}
.pg2-pagos{margin-bottom:10px;}
.pg2-pagos[hidden]{display:none;}
.pg2-pagos .lista-pagamentos{margin-bottom:6px;}
.pg2-pagos .modal-saldo{margin:0;}
.pg2-passo[hidden]{display:none;}
.pg2-lista{border:2px solid #1F5FA8;border-radius:12px;padding:6px;display:flex;flex-direction:column;gap:3px;box-shadow:0 0 0 4px rgba(31,95,168,.1);max-height:min(46vh,330px);overflow-y:auto;}
.pg2-item{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;cursor:pointer;color:#162033;}
.pg2-item:hover{background:#F3F8FF;}
.pg2-item.ativo{background:#1F5FA8;color:#fff;box-shadow:0 4px 12px rgba(31,95,168,.3);}
.pg2-item b{font-size:16.5px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pg2-item-txt{flex:1;min-width:0;}
.pg2-item-txt b{display:block;}
.pg2-item-txt small{display:block;font-size:12px;opacity:.75;}
.pg2-ic{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:17px;flex:none;background:#EEF1F5;}
.pg2-ic.din{background:#E3F4EA;}.pg2-ic.pix{background:#DDF6F3;color:#0E7C70;}.pg2-ic.deb{background:#E7EEFB;}.pg2-ic.cre{background:#F1E9FB;}
.pg2-item.ativo .pg2-ic,.pg2-item.ativo .pg2-ini{background:rgba(255,255,255,.2);color:#fff;}
.pg2-ini{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex:none;}
.pg2-ini.c0{background:#E7EEFB;color:#1F5FA8;}.pg2-ini.c1{background:#E3F4EA;color:#178049;}.pg2-ini.c2{background:#F1E9FB;color:#6B3FA0;}.pg2-ini.c3{background:#FFF3D6;color:#8A5A00;}
.pg2-enter{font:700 12px var(--mono);background:rgba(255,255,255,.2);border-radius:5px;padding:2px 7px;white-space:nowrap;}
.pg2-num{font:700 11px var(--mono);color:#98A1AF;border:1px solid #DDE2E9;border-radius:5px;padding:1px 6px;}
.pg2-forma-escolhida{display:flex;align-items:center;gap:10px;width:100%;border:1px solid #DDE2E9;border-radius:12px;padding:10px 12px;background:#F7F9FC;cursor:pointer;text-align:left;font:inherit;color:#162033;}
.pg2-forma-escolhida b{font-size:17px;flex:1;}
.pg2-trocar{font-size:12.5px;color:#1F5FA8;font-weight:700;}
.pg2-rotulo{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;color:#5B6270;margin:14px 0 6px;}
input.pg2-valor{width:100%;height:64px;font:800 34px var(--mono);text-align:right;padding:0 16px;border:2px solid #1F5FA8;border-radius:12px;box-shadow:0 0 0 4px rgba(31,95,168,.12);outline:none;}
.pg2-troco{display:flex;justify-content:space-between;align-items:center;margin:12px 0 0;background:#E9F8EF;border-radius:10px;padding:10px 14px;}
.pg2-troco span{font-weight:800;color:#178049;}
.pg2-troco b{font:800 26px var(--mono);color:#178049;}
.pg2-dicas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;font-size:12.5px;color:#5B6270;margin-top:12px;}
.pg2-dicas kbd{font-size:11px;}
.pg2-botoes{display:flex;gap:10px;margin-top:14px;}
.pg2-botoes .btn{flex:1;}
.pg2 #btn-finalizar-pagamento[disabled]{display:none;}

@media (min-width:900px) and (max-height:720px){
  .cx2-visor{padding:10px 16px;}
  .cx2-visor-linha{font-size:15px;padding:2px 0;}
  .cx2-visor-linha b{font-size:16px;}
  .cx2-total div{font-size:44px;}
  .cx2-op{padding:6px 12px;}
  .cx2-op-txt b{font-size:20px;}
  .cx2-num{padding:6px 12px;}
  .cx2-num b{font-size:28px;}
  .pg2 .modal-corpo{padding:10px 18px 14px;}
  .pg2-lista{max-height:40vh;}
  .pg2-item{padding:7px 12px;}
}
@media (min-width:900px) and (min-height:800px){
  .cx2-visor{padding:20px 24px;}
  .cx2-visor-linha{font-size:20px;padding:10px 0;border-bottom:1px dashed rgba(255,255,255,.12);}
  .cx2-visor-linha b{font-size:24px;}
  .cx2-visor-linha kbd{font-size:12px;}
  .cx2-total small{font-size:15px;}
  .cx2-total div{font-size:66px;letter-spacing:-2px;}
}
.lib-acao-fechar_caixa{background:#FFF3D6;color:#8A5A00;}

/* ===== Janelas do caixa: gerente, sangria/suprimento, fechar caixa ===== */
.modal-caixa.jan2{width:440px;max-width:calc(100vw - 32px);padding:0;overflow:hidden;border-radius:16px;}
.modal-caixa.jan2.jan2-larga{width:470px;}
.jan2-topo{background:#0F2747;color:#fff;padding:14px 20px;display:flex;justify-content:space-between;align-items:center;gap:10px;}
.jan2-topo b{font-size:17px;}
.jan2-topo.amarelo{background:#8A5A00;display:block;}
.jan2-topo.amarelo small{display:block;font-size:12px;letter-spacing:.08em;color:#FFE7A8;font-weight:800;}
.jan2-topo.amarelo b{font-size:18px;}
.jan2-selo{font-size:12.5px;color:#AFC3DA;white-space:nowrap;}
.jan2-selo.ok{font-size:12px;font-weight:800;background:#E9F8EF;color:#178049;border-radius:99px;padding:4px 10px;}
.jan2-corpo{padding:14px 20px 18px;max-height:calc(100vh - 120px);overflow-y:auto;}
.jan2-info{font-size:13px;color:#5B6270;margin:0 0 10px;}
.jan2-info b{color:#162033;}
.jan2-rotulo{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;color:#5B6270;margin:12px 0 6px;}
.jan2-lista{border:1px solid #DDE2E9;border-radius:12px;padding:5px;display:flex;flex-direction:column;gap:3px;max-height:200px;overflow-y:auto;}
.jan2-lista .pg2-item small{font-weight:400;opacity:.8;font-size:12px;}
input.jan2-senha{width:100%;height:54px;border:2px solid #1F5FA8;border-radius:12px;box-shadow:0 0 0 4px rgba(31,95,168,.12);text-align:center;font-size:26px;letter-spacing:8px;outline:none;}
.jan2-dinheiro{display:flex;align-items:center;gap:10px;height:62px;border:2px solid #1F5FA8;border-radius:12px;box-shadow:0 0 0 4px rgba(31,95,168,.12);padding:0 16px;background:#fff;}
.jan2-dinheiro span{font:700 18px var(--mono);color:#98A1AF;}
.jan2-dinheiro input{flex:1;min-width:0;border:0 !important;outline:0;box-shadow:none !important;text-align:right;font:800 32px var(--mono);color:#162033;background:transparent;padding:0;}
input.jan2-texto{width:100%;height:44px;border:1px solid #DDE2E9;border-radius:10px;padding:0 12px;font-size:15px;}
input.jan2-texto:focus{border-color:#1F5FA8;box-shadow:0 0 0 3px rgba(31,95,168,.14);outline:none;}
.jan2-resumo{font-size:12.5px;color:#5B6270;background:#F7F9FC;border-radius:10px;padding:8px 12px;margin:12px 0 0;}
.jan2-resumo:empty{display:none;}
.jan2-erro{margin:10px 0 0;background:#FDECEC;color:#B42318;border-radius:8px;padding:8px 12px;font-size:13.5px;font-weight:700;}
.jan2-erro[hidden]{display:none;}
.jan2-botoes{display:flex;gap:10px;margin-top:16px;}
.jan2-botoes .btn{flex:1;height:46px;display:inline-flex;align-items:center;justify-content:center;gap:6px;}
.jan2-botoes .btn:last-child{flex:1.4;font-weight:800;}
.jan2-botoes kbd{font-size:11px;}
.jan2-botoes .btn:not(.btn-secundario) kbd{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.4);color:#fff;}
.jan2-dicas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;font-size:12px;color:#5B6270;margin-top:10px;}
.jan2-dicas kbd{font-size:11px;}
.mov2-tipos{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.mov2-tipo{border:1px solid #DDE2E9;border-radius:12px;padding:10px 12px;background:#fff;text-align:left;cursor:pointer;color:#5B6270;font:inherit;}
.mov2-tipo b{display:block;font-size:16px;}
.mov2-tipo small{font-size:12px;}
.mov2-tipo.sangria.ativo{border:2px solid #D64545;background:#FDECEC;color:#B42318;padding:9px 11px;}
.mov2-tipo.suprimento.ativo{border:2px solid #22A45D;background:#E9F8EF;color:#178049;padding:9px 11px;}
.btn.mov2-ok{background:#D64545;color:#fff;border:0;}
.btn.mov2-ok.suprimento{background:#22A45D;}
.btn.btn-perigo-cheio{background:#D64545;color:#fff;border:0;}
.fec2-datas{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.fec2-datas input.jan2-texto{height:50px;font:700 15px var(--mono);}
.fec2-bloco{border:1px solid #E2E6EC;border-radius:12px;padding:6px 14px;margin-top:8px;}
.fec2-linha{display:flex;justify-content:space-between;padding:3px 0;font-size:14px;color:#5B6270;}
.fec2-linha b{font-family:var(--mono);color:#162033;}
.fec2-linha.total{border-top:1px dashed #DDE2E9;margin-top:3px;padding-top:6px;font-weight:800;color:#162033;}
.fec2-linha.verde b{color:#178049;}.fec2-linha.vermelho b{color:#B42318;}.fec2-linha.azul b{color:#1F5FA8;}
.fec2-dif{display:flex;justify-content:space-between;align-items:center;margin-top:8px;border-radius:10px;padding:8px 14px;font-size:15px;}
.fec2-dif[hidden]{display:none;}
.fec2-dif b:last-child{font:800 20px var(--mono);}
.fec2-dif.falta{background:#FDECEC;color:#B42318;}
.fec2-dif.sobra{background:#E9F8EF;color:#178049;}
.fec2-dif.ok{background:#E9F8EF;color:#178049;}
#fec2-passo2[hidden],#fec2-passo1[hidden]{display:none;}
@media (max-height:720px){.jan2-corpo{padding:10px 18px 14px;}.fec2-linha{padding:1px 0;font-size:13.5px;}}
.jan2-dinheiro input,.jan2-dinheiro input[type="text"],.jan2-dinheiro input[type="text"]:focus{border:0 !important;outline:0 !important;box-shadow:none !important;background:transparent;height:auto;padding:0;}
.jan2-botoes .btn{white-space:nowrap;font-size:14.5px;}

/* ===== Gerenciador de notas (novo) ===== */
.g2-embed{background:#F3F5F8;margin:0;}
.g2-pagina{padding:12px 16px 16px;}
.g2-prod{color:#178049;}.g2-homolog{color:#B45309;}
.g2-topo-embed{display:flex;align-items:center;gap:8px;font-size:13px;color:#5B6270;margin-bottom:10px;}
.g2-bt{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;border:1px solid #DDE2E9;background:#fff;color:#3A4252;border-radius:8px;padding:6px 10px;white-space:nowrap;cursor:pointer;text-decoration:none;font-family:inherit;line-height:1.2;}
.g2-bt:hover{background:#F5F7FA;text-decoration:none;color:#3A4252;}
.g2-bt.primario{background:#1F5FA8;border-color:#1F5FA8;color:#fff;}
.g2-bt.primario:hover{background:#164679;color:#fff;}
.g2-bt[disabled]{opacity:.6;cursor:wait;}
.g2-filtro{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid #E2E6EC;border-radius:12px;padding:10px 14px;margin-bottom:12px;}
.g2-data{display:flex;align-items:center;gap:6px;margin:0;}
.g2-data span{font-size:12px;font-weight:800;color:#5B6270;}
.g2-data input{height:36px;border:1px solid #DDE2E9;border-radius:8px;padding:0 8px;font:700 13.5px var(--mono);width:auto;}
.g2-chip{font-size:12.5px;font-weight:700;border:1px solid #DDE2E9;background:#fff;color:#5B6270;border-radius:99px;padding:6px 12px;text-decoration:none;white-space:nowrap;}
.g2-chip:hover{text-decoration:none;background:#F5F7FA;}
.g2-chip.ativo{border-color:#1F5FA8;background:#EEF4FC;color:#1F5FA8;}
.g2-esp{flex:1;}
.g2-busca{display:flex;align-items:center;gap:8px;border:1px solid #DDE2E9;border-radius:8px;padding:0 10px;margin:0;width:300px;max-width:100%;color:#98A1AF;}
.g2-busca input,.g2-busca input[type="text"],.g2-busca input[type="text"]:focus{border:0;outline:0;box-shadow:none;padding:8px 0;font-size:13.5px;width:100%;background:transparent;}
.g2-cartoes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:12px;}
.g2-cartao{border:1px solid #E2E6EC;background:#fff;border-radius:12px;padding:11px 14px;text-decoration:none;color:#162033;display:flex;flex-direction:column;}
.g2-cartao:hover{text-decoration:none;box-shadow:0 2px 8px rgba(15,39,71,.08);color:#162033;}
.g2-cartao-rot{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:800;letter-spacing:.05em;}
.g2-cartao-rot i{width:8px;height:8px;border-radius:50%;background:currentColor;}
.g2-cartao strong{font:800 26px var(--mono);margin-top:4px;line-height:1.1;}
.g2-cartao small{font-size:12px;color:#5B6270;}
.g2-cartao.azul .g2-cartao-rot{color:#1F5FA8;}.g2-cartao.verde .g2-cartao-rot{color:#178049;}.g2-cartao.laranja .g2-cartao-rot{color:#B45309;}
.g2-cartao.vermelho .g2-cartao-rot{color:#B42318;}.g2-cartao.cinza .g2-cartao-rot{color:#5B6270;}.g2-cartao.roxo .g2-cartao-rot{color:#6B3FA0;}
.g2-cartao.ativo{border-width:2px;padding:10px 13px;}
.g2-cartao.ativo.azul{border-color:#1F5FA8;background:#EEF4FC;}.g2-cartao.ativo.verde{border-color:#22A45D;background:#E9F8EF;}
.g2-cartao.ativo.laranja{border-color:#E0A800;background:#FFF8E6;}.g2-cartao.ativo.vermelho{border-color:#D64545;background:#FDECEC;}
.g2-cartao.ativo.cinza{border-color:#8A93A3;background:#F5F7FA;}.g2-cartao.ativo.roxo{border-color:#6B3FA0;background:#F5F0FC;}
.g2-aviso{display:flex;align-items:center;gap:12px;background:#FFF8E6;border:1px solid #F0DC9A;border-radius:12px;padding:9px 14px;margin-bottom:12px;font-size:13.5px;color:#5A3D00;}
.g2-aviso span{flex:1;}
.g2-aviso.urgente{background:#FDECEC;border-color:#F1C6C1;color:#8A2A20;}
.g2-aviso form{margin:0;}
.g2-tabela{background:#fff;border:1px solid #E2E6EC;border-radius:12px;overflow:visible;}
.g2-tabela thead th:first-child{border-top-left-radius:11px;}.g2-tabela thead th:last-child{border-top-right-radius:11px;}
.g2-tabela thead th{background:#F7F8FA;}.g2-tabela .g2-rodape{border-radius:0 0 11px 11px;}
.g2-tabela table{width:100%;border-collapse:collapse;}
.g2-tabela thead{background:#F7F8FA;border-bottom:1px solid #E2E6EC;}
.g2-tabela th{padding:9px 10px;text-align:left;font-size:10.5px;font-weight:800;letter-spacing:.07em;color:#5B6270;}
.g2-tabela td{padding:9px 10px;border-bottom:1px solid #F0F2F5;font-size:13.5px;vertical-align:middle;}
.g2-tabela th.num,.g2-tabela td.num{text-align:right;}
.g2-tabela td.acoes{text-align:right;white-space:nowrap;}
.g2-tabela td.acoes > *{display:inline-flex;vertical-align:middle;margin-left:4px;}
.g2-tabela td.acoes form{margin:0;}
.g2-num{font-family:var(--mono);}
.g2-valor{font:800 14px var(--mono);}
.g2-sub{display:block;font-size:11.5px;color:#8A93A3;}
.g2-vazio{text-align:center;color:#5B6270;padding:26px 10px !important;}
.g2-sel{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;border-radius:99px;padding:3px 10px;white-space:nowrap;}
.g2-sel::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;}
.g2-sel.ok{color:#178049;background:#E9F8EF;}.g2-sel.alerta{color:#B45309;background:#FFF3D6;}.g2-sel.erro{color:#B42318;background:#FDECEC;}
.g2-sel.cinza{color:#5B6270;background:#EEF1F5;}.g2-sel.roxo{color:#6B3FA0;background:#F5F0FC;}
.g2-motivo{font-size:12px;color:#8A2A20;margin-top:3px;max-width:340px;}
.g2-motivo summary{cursor:pointer;color:#1F5FA8;font-weight:700;}
.g2-mais{position:relative;}
.g2-mais summary{list-style:none;}
.g2-mais summary::-webkit-details-marker{display:none;}
.g2-mais-menu{position:absolute;right:0;top:calc(100% + 4px);background:#fff;border:1px solid #DDE2E9;border-radius:10px;box-shadow:0 10px 26px rgba(15,39,71,.18);padding:5px;z-index:20;min-width:170px;text-align:left;}
.g2-mais-menu a,.g2-mais-menu button{display:block;width:100%;text-align:left;padding:8px 10px;border:0;background:none;font:inherit;font-size:13px;color:#162033;border-radius:7px;cursor:pointer;text-decoration:none;}
.g2-mais-menu a:hover,.g2-mais-menu button:hover{background:#F5F7FA;text-decoration:none;}
.g2-mais-menu .perigo{color:#B42318;}
.g2-mais-menu form{margin:0;}
.g2-rodape{display:flex;align-items:center;gap:8px;padding:9px 14px;background:#FAFBFC;font-size:13px;color:#5B6270;}
.g2-pags{display:flex;gap:4px;}
.g2-tabela-topo{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid #E2E6EC;}
.g2-tabela-topo form{margin:0;}
.g2-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#5B6270;margin:0;}
.g2-inut{background:#fff;border:1px solid #E2E6EC;border-radius:12px;padding:12px 14px;margin-top:12px;max-width:720px;display:flex;flex-direction:column;gap:4px;}
.g2-inut small{color:#5B6270;}
.g2-inut-campos{display:flex;gap:8px;align-items:flex-end;margin-top:6px;flex-wrap:wrap;}
.g2-inut-campos label{display:flex;flex-direction:column;font-size:12px;font-weight:700;color:#5B6270;gap:3px;}
.g2-inut-campos input{width:110px;height:34px;}
@media(max-width:1100px){.g2-cartoes{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:600px){.g2-cartoes{grid-template-columns:repeat(2,minmax(0,1fr));}.g2-tabela{overflow-x:auto;}}

/* janela de notas dentro do caixa */
.modal-caixa.notas2{width:1250px;max-width:calc(100vw - 30px);height:calc(100vh - 30px);max-height:860px;padding:0;overflow:hidden;border-radius:16px;display:flex;flex-direction:column;background:#F3F5F8;}
.notas2-topo{background:#0F2747;color:#fff;padding:12px 18px;display:flex;align-items:center;gap:12px;flex:none;}
.notas2-topo b{font-size:18px;}
.notas2-topo button{font:inherit;font-size:13px;font-weight:700;background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:8px;padding:6px 12px;cursor:pointer;}
.notas2-topo kbd{background:rgba(255,255,255,.2);border:0;color:#fff;font-size:11px;}
.notas2-quadro{flex:1;border:0;width:100%;background:#F3F5F8;}

/* Tipo de venda: só uma bolinha (verde = com NFC-e, amarela = sem NFC-e) */
.caixa-menu .badge-modo-fiscal:not(.sem-config){width:28px;height:28px;padding:0;border-radius:50%;border:0;background:rgba(255,255,255,.12);display:inline-flex;align-items:center;justify-content:center;}
.caixa-menu .badge-modo-fiscal:not(.sem-config) strong{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
.caixa-menu .badge-modo-fiscal:not(.sem-config) .ponto{width:12px;height:12px;border-radius:50%;background:#22C55E;box-shadow:0 0 0 3px rgba(255,255,255,.15);}
.caixa-menu .badge-modo-fiscal.nao-fiscal:not(.sem-config) .ponto{background:#F2B705;animation:none;}
.modo-fiscal-modal.bolinha{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;margin:0 0 8px;border:0;border-radius:50%;background:#EEF1F5;}
.modo-fiscal-modal.bolinha .ponto{width:11px;height:11px;border-radius:50%;background:#22C55E;}
.modo-fiscal-modal.bolinha.nao-fiscal .ponto{background:#F2B705;}

/* ===== Consultar preço (janela nova) ===== */
.modal-caixa.cons2{width:940px;max-width:calc(100vw - 40px);padding:0;overflow:hidden;border-radius:16px;display:flex;flex-direction:column;max-height:calc(100vh - 30px);}
.cons2-topo{background:#0F2747;color:#fff;padding:12px 20px;display:flex;align-items:center;gap:12px;}
.cons2-topo b{font-size:18px;}.cons2-topo span{margin-left:auto;font-size:12.5px;color:#AFC3DA;}
.cons2-busca{display:flex;align-items:center;gap:10px;height:52px;margin:14px 18px 0;border:2px solid #1F5FA8;border-radius:12px;box-shadow:0 0 0 4px rgba(31,95,168,.12);padding:0 14px;color:#1F5FA8;}
.cons2-busca input,.cons2-busca input[type="text"],.cons2-busca input[type="text"]:focus{flex:1;min-width:0;border:0;outline:0;box-shadow:none;font-size:18px;font-weight:600;padding:0;background:transparent;color:#162033;}
#cons2-qtd{font-size:12.5px;color:#5B6270;white-space:nowrap;}
.cons2-corpo{display:grid;grid-template-columns:420px minmax(0,1fr);min-height:360px;flex:1;overflow:hidden;}
.cons2-lista{padding:12px 10px 12px 18px;display:flex;flex-direction:column;gap:2px;overflow-y:auto;max-height:calc(100vh - 230px);}
.cons2-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;cursor:pointer;border-bottom:1px solid #F0F2F5;color:#162033;}
.cons2-item:hover{background:#F3F8FF;}
.cons2-item.ativo{background:#1F5FA8;color:#fff;border-bottom-color:transparent;}
.cons2-mini{width:44px;height:44px;border-radius:8px;background:#F1F4F8;color:#5B6270;display:flex;align-items:center;justify-content:center;font-weight:800;overflow:hidden;}
.cons2-mini img,.cons2-foto img{width:100%;height:100%;object-fit:contain;background:#fff;}
.cons2-item.ativo .cons2-mini{background:rgba(255,255,255,.18);color:#fff;}
.cons2-item-txt{min-width:0;}
.cons2-item-txt b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cons2-item-txt small{font-size:11.5px;opacity:.75;font-family:var(--mono);}
.cons2-item-txt .zerado{color:#D64545;font-weight:700;}
.cons2-item.ativo .cons2-item-txt .zerado{color:#FCA5A5;}
.cons2-item-preco{font:800 16px var(--mono);color:#178049;white-space:nowrap;}
.cons2-item.ativo .cons2-item-preco{color:#fff;}
.cons2-detalhe{padding:14px 20px 16px;border-left:1px solid #E2E6EC;margin-top:12px;display:flex;flex-direction:column;overflow-y:auto;}
.cons2-vazio{color:#8A93A3;margin:auto;text-align:center;}
.cons2-cab{display:flex;gap:16px;align-items:center;}
.cons2-foto{width:120px;height:120px;border-radius:14px;background:linear-gradient(135deg,#EEF4FC,#DCE8F8);display:flex;align-items:center;justify-content:center;font-size:38px;font-weight:800;color:#1F5FA8;flex:none;overflow:hidden;border:1px solid #E2E6EC;}
.cons2-cab-txt{min-width:0;}
.cons2-cab-txt b{display:block;font-size:20px;line-height:1.2;color:#162033;}
.cons2-cab-txt small{display:block;font-size:12.5px;color:#5B6270;margin-top:4px;font-family:var(--mono);}
.cons2-precos{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;}
.cons2-preco{border:1px solid #E2E6EC;border-radius:12px;padding:10px 14px;}
.cons2-preco small{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;}
.cons2-preco b{display:block;font:800 26px var(--mono);line-height:1.15;}
.cons2-preco span{font-size:12px;}
.cons2-preco.varejo{border:2px solid #22A45D;background:#E9F8EF;color:#178049;padding:9px 13px;}
.cons2-preco.varejo b{font-size:34px;}
.cons2-preco.atacado{border-color:#F0DC9A;background:#FFF8E6;color:#8A5A00;}
.cons2-preco.sem{color:#8A93A3;}
.cons2-infos{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;}
.cons2-infos div{background:#F7F9FC;border-radius:10px;padding:8px 12px;}
.cons2-infos small{display:block;font-size:11px;font-weight:800;color:#5B6270;letter-spacing:.06em;}
.cons2-infos b{font:800 18px var(--mono);color:#162033;}
.cons2-infos b.zerado{color:#D64545;}
.cons2-sim{margin-top:10px;background:#F7F9FC;border-radius:10px;padding:8px 12px;font-size:13px;color:#5B6270;display:flex;align-items:center;gap:6px;}
.cons2-sim input{width:80px;height:30px;font:700 14px var(--mono);text-align:right;padding:0 6px;}
.cons2-sim b{font-family:var(--mono);color:#178049;}
.cons2-botoes{display:flex;gap:10px;margin-top:auto;padding-top:14px;}
.cons2-botoes .btn{flex:1;height:44px;}
.cons2-botoes .btn-sucesso{flex:1.4;font-weight:800;}
.cons2-botoes kbd{font-size:11px;margin-left:4px;}
.cons2-botoes .btn-sucesso kbd{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.4);color:#fff;}
.cons2-dicas{display:flex;gap:16px;justify-content:center;font-size:12.5px;color:#5B6270;padding:10px;border-top:1px solid #E2E6EC;background:#FAFBFC;flex:none;}
.cons2-dicas kbd{font-size:11px;}
@media(max-width:899px){.cons2-corpo{grid-template-columns:1fr;}.cons2-detalhe{border-left:0;border-top:1px solid #E2E6EC;}}

/* ===== Pedidos (F2) em janela ===== */
.modal-caixa.ped2{width:980px;max-width:calc(100vw - 40px);padding:0;overflow:hidden;border-radius:16px;display:flex;flex-direction:column;max-height:calc(100vh - 30px);}
.ped2-topo{background:#0F2747;color:#fff;padding:13px 20px;display:flex;align-items:center;gap:12px;flex:none;}
.ped2-topo b{font-size:18px;}
.ped2-cont{background:#E0A800;color:#412402;border-radius:99px;padding:2px 10px;font-weight:800;font-size:13px;}
.ped2-esp{flex:1;}
.ped2-info{font-size:12.5px;color:#AFC3DA;}
.ped2-corpo{display:grid;grid-template-columns:420px minmax(0,1fr);min-height:380px;flex:1;overflow:hidden;}
.ped2-lista{border-right:1px solid #E2E6EC;padding:10px;display:flex;flex-direction:column;gap:2px;background:#FAFBFC;overflow-y:auto;max-height:calc(100vh - 170px);}
.ped2-vazio{margin:auto;color:#8A93A3;text-align:center;}
.ped2-item{display:grid;grid-template-columns:66px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;cursor:pointer;border-bottom:1px solid #F0F2F5;color:#162033;}
.ped2-item:hover{background:#F3F8FF;}
.ped2-item.ativo{background:#1F5FA8;color:#fff;box-shadow:0 4px 12px rgba(31,95,168,.3);border-bottom-color:transparent;}
.ped2-num{font:800 16px var(--mono);}
.ped2-item-txt{min-width:0;}
.ped2-item-txt b{display:block;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ped2-item-txt small{font-size:12px;opacity:.85;}
.ped2-item-txt .atrasado{color:#B45309;font-weight:700;}
.ped2-item.ativo .atrasado{color:#FFD56A;}
.ped2-total{font:800 15px var(--mono);color:#178049;white-space:nowrap;}
.ped2-item.ativo .ped2-total{color:#fff;}
.ped2-detalhe{padding:16px 20px;display:flex;flex-direction:column;overflow-y:auto;min-height:0;}
.ped2-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;}
.ped2-cab small{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;color:#5B6270;}
.ped2-cab > div > b{display:block;font-size:19px;margin-top:2px;color:#162033;}
.ped2-cab span{font-size:13px;color:#5B6270;}
.ped2-cab span b{color:#162033;}
.ped2-tag{background:#FFF3D6;color:#8A5A00;border-radius:99px;padding:4px 10px;font-size:12px;font-weight:800;white-space:nowrap;}
.ped2-obs{margin-top:10px;background:#FFF8E6;border:1px solid #F0DC9A;border-radius:10px;padding:8px 12px;font-size:13px;color:#5A3D00;}
.ped2-linha{display:grid;grid-template-columns:minmax(0,1fr) 92px 68px 82px;gap:8px;padding:6px 0;border-bottom:1px dashed #E8EBF0;font-size:13px;}
.ped2-linha > *{text-align:right;font-family:var(--mono);}
.ped2-linha > :first-child{text-align:left;font-family:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ped2-linha .suave{color:#5B6270;}
.ped2-th{margin-top:12px;font-size:10.5px;font-weight:800;letter-spacing:.07em;color:#5B6270;border-bottom:1px solid #E2E6EC;}
.ped2-th > *{font-family:inherit;}
.ped2-itens{flex:1;}
.ped2-soma{display:flex;justify-content:space-between;font-size:13px;color:#5B6270;margin-top:8px;}
.ped2-soma b{font-family:var(--mono);color:#162033;}
.ped2-soma.desc b{color:#B42318;}
.ped2-total-grande{display:flex;justify-content:space-between;align-items:center;margin-top:4px;}
.ped2-total-grande span{font-size:13px;font-weight:800;letter-spacing:.08em;color:#1F5FA8;}
.ped2-total-grande b{font:800 28px var(--mono);color:#178049;}
.ped2-rodape{display:flex;align-items:center;gap:10px;padding:12px 20px;border-top:1px solid #E2E6EC;background:#FAFBFC;flex:none;}
.ped2-dicas{font-size:12.5px;color:#5B6270;display:flex;gap:14px;flex-wrap:wrap;}
.ped2-dicas kbd{font-size:11px;}
.btn.ped2-cancelar{height:44px;padding:0 16px;border:1px solid #F1C6C1;background:#fff;color:#B42318;font-weight:700;}
.btn.ped2-puxar{height:44px;padding:0 20px;font-weight:800;font-size:15px;}
.btn.ped2-puxar kbd{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.4);color:#fff;font-size:11px;}
@media(max-width:899px){.ped2-corpo{grid-template-columns:1fr;}.ped2-lista{max-height:220px;border-right:0;border-bottom:1px solid #E2E6EC;}}

/* ===== Venda finalizada: troco + imprimir ===== */
.modal-caixa.fim2{width:400px;max-width:calc(100vw - 32px);padding:22px 24px 20px;border-radius:16px;text-align:center;}
.fim2-ok{width:56px;height:56px;border-radius:50%;background:#E9F8EF;color:#178049;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;font-size:30px;font-weight:800;}
.fim2 small{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;color:#5B6270;}
.fim2-total{display:block;font:800 32px var(--mono);color:#162033;margin-top:4px;}
.fim2-forma{display:block;font-size:13px;color:#5B6270;}
.fim2-troco{display:flex;justify-content:space-between;align-items:center;margin-top:12px;background:#E9F8EF;border-radius:10px;padding:10px 14px;color:#178049;}
.fim2-troco[hidden]{display:none;}
.fim2-troco b:last-child{font:800 26px var(--mono);}
.fim2-aviso{margin:10px 0 0;font-size:12.5px;border-radius:8px;padding:7px 10px;background:#F3F5F8;color:#5B6270;}
.fim2-aviso.ok{background:#E9F8EF;color:#178049;}
.fim2-aviso.alerta{background:#FFF8E6;color:#8A5A00;}
.fim2-aviso.erro{background:#FDECEC;color:#B42318;}
.fim2-aviso[hidden],.fim2-pergunta[hidden]{display:none;}
.fim2-pergunta{font-size:17px;font-weight:800;color:#162033;margin:16px 0 4px;}
.fim2-botoes{display:flex;gap:10px;margin-top:12px;}
.fim2-botoes .btn{flex:1;height:50px;font-size:16px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:6px;}
.fim2-botoes .btn-primario{flex:1.3;}
.fim2-botoes kbd{font-size:11px;}
.fim2-botoes .btn-primario kbd{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.4);color:#fff;}
.fim2-botoes .btn{white-space:nowrap;font-size:15px;padding:0 10px;}
.cx2-qtd-chip{flex:none;font:800 18px var(--mono);background:#FFF3D6;color:#8A5A00;border:1px solid #F2B705;border-radius:8px;padding:4px 10px;cursor:pointer;}
.cx2-qtd-chip[hidden]{display:none;}
.modal-caixa.canc2{width:340px;max-width:calc(100vw - 32px);padding:26px 24px 22px;border-radius:16px;text-align:center;}
.canc2-titulo{display:block;font-size:22px;font-weight:800;color:#162033;margin-bottom:20px;}
.canc2-botoes{display:flex;gap:10px;}
.canc2-botoes .btn{flex:1;height:52px;font-size:17px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;}
.canc2-botoes .btn.btn-secundario{background:#F1F3F6;color:#33465E;border:2px solid transparent;}
.canc2-botoes .btn.canc2-sim{background:#FBE9E9;color:#C03B3B;border:2px solid transparent;}
.canc2-botoes .btn.sel.btn-secundario{background:#0F2747;color:#fff;border-color:#0F2747;box-shadow:0 0 0 4px rgba(15,39,71,.18);}
.canc2-botoes .btn.sel.canc2-sim{background:#D64545;color:#fff;border-color:#D64545;box-shadow:0 0 0 4px rgba(214,69,69,.25);}
.canc2-dica{margin-top:14px;font-size:12.5px;color:#7A889A;}
.canc2-dica kbd{font-size:11px;}


/* Importar do sistema anterior */
.imp-sub{color:var(--texto-suave);margin:-6px 0 18px;font-size:14px;}
.imp-passo{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid #EEF1F5;}
.imp-passo>span{width:30px;height:30px;border-radius:50%;background:#1E6FD9;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex:none;}
.imp-passo b{color:#0F2747;}
.imp-passo p{margin:3px 0 0;color:var(--texto-suave);font-size:13.5px;}
.imp-baixar{width:100%;margin-top:18px;padding:14px;font-size:16px;}
.imp-nota{font-size:12.5px;color:var(--texto-suave);text-align:center;margin:8px 0 0;}
.imp-lista{margin:0;padding-left:18px;font-size:13.5px;color:#33465E;}
.imp-lista li{margin-bottom:8px;}
.imp-hist{width:100%;font-size:13.5px;}
.imp-hist td{vertical-align:top;}
.imp-st-concluida{color:#1F8A4C;font-weight:600;}
.imp-st-em_andamento{color:#B7791F;font-weight:600;}
.imp-pulados summary{cursor:pointer;color:#B7791F;font-size:12.5px;margin-top:4px;}
.imp-pulados ul{max-height:220px;overflow:auto;margin:6px 0 0;padding-left:18px;font-size:12.5px;color:var(--texto-suave);}

/* ---------- Copiar cadastro de uma loja para outra ---------- */
.cpl-sub{color:var(--texto-suave);margin:-6px 0 18px;font-size:14px;}
.cpl-rot{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--texto-suave);font-weight:700;margin:0 0 8px;}
.cpl-txt{font-size:14px;color:#33465E;margin:0 0 14px;line-height:1.55;}
/* visor escuro: a chave tem que ser fácil de ler pra ditar no telefone */
.cpl-chave{background:var(--tinta);color:var(--verde-visor);font-family:var(--mono);font-size:20px;
  letter-spacing:2px;text-align:center;border-radius:8px;padding:16px 12px;margin:0 0 12px;word-break:break-all;}
.cpl-bts{display:flex;gap:8px;flex-wrap:wrap;}
.cpl-gerar{width:100%;padding:13px;font-size:15px;}
.cpl-nota{font-size:12.5px;color:var(--texto-suave);margin:12px 0 0;line-height:1.55;}
.cpl-hist{width:100%;font-size:13.5px;border-collapse:collapse;}
.cpl-hist th{text-align:left;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;
  color:var(--texto-suave);padding:6px 8px;border-bottom:1px solid var(--cinza-borda);}
.cpl-hist td{padding:7px 8px;border-bottom:1px solid #EEF2F7;vertical-align:top;}
.cpl-ok{color:#1F8A4C;font-weight:600;}
.cpl-esp{color:#B7791F;font-weight:600;}
.cpl-na{color:var(--texto-suave);}
.cpl-res{display:block;font-size:12px;color:var(--texto-suave);}

/* Quadro "trazer de outra loja", dentro da tela de importar */
.cpo-cx{margin-top:14px;}
.cpo-campo{display:flex;gap:8px;flex-wrap:wrap;}
.cpo-campo input{flex:1 1 220px;min-width:0;padding:11px 13px;border:1px solid var(--cinza-borda);
  border-radius:7px;font-family:var(--mono);font-size:15px;letter-spacing:1px;text-transform:uppercase;}
.cpo-achou{background:#EAF4EE;border:1px solid #BFE0CC;border-radius:8px;padding:11px 14px;margin:13px 0 0;font-size:14px;}
.cpo-achou b{color:#1D6B41;}
.cpo-erro{background:#FDECEA;border:1px solid #F3C4BE;border-radius:8px;padding:11px 14px;margin:13px 0 0;font-size:14px;color:#9B2C1F;}
.cpo-itens{list-style:none;margin:14px 0 0;padding:0;}
.cpo-itens li{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid #EDEFF2;font-size:14.5px;}
.cpo-itens li:last-child{border-bottom:0;}
.cpo-itens input[type=checkbox]{width:18px;height:18px;accent-color:var(--azul);}
.cpo-qt{margin-left:auto;font-family:var(--mono);font-size:13.5px;color:var(--texto-suave);}
.cpo-obs{font-size:12.5px;color:var(--texto-suave);margin:2px 0 0 28px;}
.cpo-ir{width:100%;margin-top:16px;padding:13px;font-size:15px;}

/* Impressão do cupom: o resto da tela sai de verdade (não só fica invisível),
   senão a largura do layout do caixa faz o Chrome encolher o cupom */
@media print{
  body:has(#recibo-impressao) *:not(:has(#recibo-impressao)):not(#recibo-impressao):not(#recibo-impressao *){display:none !important;}
  html:has(#recibo-impressao), body:has(#recibo-impressao), body:has(#recibo-impressao) *:has(#recibo-impressao){
    display:block !important;position:static !important;width:auto !important;min-width:0 !important;max-width:none !important;
    height:auto !important;min-height:0 !important;max-height:none !important;overflow:visible !important;
    margin:0 !important;padding:0 !important;border:0 !important;transform:none !important;grid-template-columns:none !important;
  }
}

/* ---------- Painel administrador: dono e sócios ---------- */
.adm-nav{display:flex;gap:4px;margin-left:18px;}
.adm-nav a{color:#9AA6B4;text-decoration:none;font-size:14px;padding:6px 10px;border-radius:6px;}
.adm-nav a:hover{color:#fff;}
.adm-nav a.ativo{color:#fff;background:rgba(255,255,255,.1);}
.adm-filtros{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px;}
.adm-filtros a{padding:7px 14px;border-radius:8px;background:#fff;border:1px solid var(--cinza-borda,#DDE3EA);font-size:13px;color:#33465E;text-decoration:none;}
.adm-filtros a.on{background:#0F2747;color:#fff;border-color:#0F2747;}
.adm-socio-form{margin:0;}
.adm-chip{border-radius:20px !important;padding:3px 26px 3px 10px !important;font-size:12px !important;font-weight:600;height:auto !important;min-height:0 !important;width:auto !important;cursor:pointer;}
.adm-chip.eu{background-color:#EAF3FF !important;color:#1F5FA8;border:1px solid #CFE2FF !important;}
.adm-chip.socio{background-color:#EEF7EE !important;color:#2D6A2E;border:1px solid #C9E6CA !important;}
.adm-link-cad{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#EEF7EE;border:1px solid #BFE5CD;border-radius:10px;padding:12px 16px;margin-bottom:16px;font-size:13.5px;color:#1F6B3D;}
.adm-link-cad code{background:#fff;padding:5px 9px;border-radius:6px;border:1px solid #BFE5CD;color:#1F6B3D;word-break:break-all;}
.adm-link{font-size:11.5px;background:#F5F7FA;padding:3px 6px;border-radius:5px;cursor:copy;word-break:break-all;}
.adm-link.copiado{background:#EAF7EF;color:#1F8A4C;}

/* ---------- Pedido / pré-venda: QTDE e PREÇO à direita, número grande ---------- */
.pvn-num{font-size:26px;color:var(--azul);font-weight:800;letter-spacing:.5px;margin-left:4px;}
.pvn-busca .pvn-qtd{cursor:default;}
.pvn-busca .pvn-preco{width:124px;}
.pvn-qtd #preco-pendente:focus,.pvn-qtd #quantidade-pendente:focus{outline:0 !important;border:0 !important;box-shadow:none !important;background:transparent !important;}
.pvn-busca.etapa-qtd .pvn-preco,.pvn-busca.etapa-preco .pvn-qtd:not(.pvn-preco){background:#EEF4FC;box-shadow:none;}
.pvn-busca.etapa-qtd .pvn-preco small,.pvn-busca.etapa-preco .pvn-qtd:not(.pvn-preco) small{color:var(--azul);}
.pvn-busca:not(.pendente) .pvn-qtd input{color:#8A95A5;}
.pvn-pendente span kbd,.pvn-pendente button kbd{font-size:10.5px;}
.pvn-pendente span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pvn-preco-alt{color:#B7791F;font-weight:700;}
.pvn-btns{display:grid;grid-template-columns:1fr 1fr;}
.pvn-btns button kbd{font-size:10.5px;margin-left:2px;}
.pvn-btns button.pvn-zap{color:#1F7A47;border-color:#BFE5CD;}
.pvn-btns button.pvn-zap:hover{background:#EEF8F2;}

/* Telinha "Imprimir o pedido?" (mesmo jeito da de cancelar) */
.canc2 .canc2-sub{display:block;font-size:13.5px;color:#5B6B80;margin:-8px 0 16px;}
.canc2-botoes .btn.canc2-imp.sel.btn-secundario{background:#1E5FA8;border-color:#1E5FA8;color:#fff;box-shadow:0 0 0 4px rgba(30,95,168,.22);}

/* Senha do gerente (desconto no total) e WhatsApp */
.modal-caixa.pc-lib,.modal-caixa.pc-zap{width:440px;max-width:calc(100vw - 32px);padding:22px 24px;border-radius:16px;}
.modal-caixa.pc-zap{width:560px;}
.pc-lib-t{display:flex;gap:12px;align-items:center;}
.pc-lib-ic{width:42px;height:42px;border-radius:50%;background:#FFF4E5;display:flex;align-items:center;justify-content:center;font-size:20px;flex:none;}
.pc-lib h3,.pc-zap h3{margin:0;font-size:19px;color:#162033;}
.pc-lib-sub{font-size:13px;color:#5B6B80;}
.pc-lib-det{background:#F7F9FC;border-radius:10px;padding:11px 13px;margin:14px 0 4px;font-size:14px;color:#33465E;}
.pc-lib-det div{display:flex;justify-content:space-between;padding:2px 0;}
.pc-lib-det b.r{color:#C0392B;}
.pc-lib label,.pc-zap label{display:block;font-size:12px;color:#5B6B80;font-weight:700;margin:10px 0 4px;}
.pc-lib select,.pc-lib input,.pc-zap input{width:100%;box-sizing:border-box;border:1px solid #CFD8E3;border-radius:8px;padding:10px 12px;font-size:15px;font-family:inherit;}
.pc-lib-erro{min-height:18px;font-size:13px;color:var(--vermelho);margin-top:6px;}
.pc-lib-bts,.pc-zap-bts{display:flex;gap:10px;margin-top:8px;}
.pc-lib-bts .btn,.pc-zap-bts .btn{flex:1;height:46px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:6px;}
.pc-lib-bts kbd,.pc-zap-bts kbd{font-size:10.5px;}
.pc-lib-bts .btn-primario kbd,.pc-zap-ok kbd{background:rgba(255,255,255,.2);color:#fff;border-color:rgba(255,255,255,.4);}
.pc-lib-nota{font-size:12px;color:#7A889A;margin-top:10px;text-align:center;}
.pc-zap-chat{background:#ECE5DD;border-radius:10px;padding:12px;max-height:240px;overflow:auto;}
.pc-zap-bal{background:#DCF8C6;border-radius:8px 0 8px 8px;padding:10px 12px;font-size:13px;line-height:1.45;margin-left:30px;white-space:pre-wrap;word-break:break-word;color:#1B2230;}
.pc-zap-ok{background:#1F9D55;color:#fff;border:0;}
.pc-zap-bts .btn{font-size:14px;white-space:nowrap;padding:0 10px;}
.pc-zap-bts .btn:first-child{flex:.6;}
.pc-zap-bts .pc-zap-ok{flex:1.3;}
.pc-zap-ok:hover{background:#198A4A;}

/* Configurações → Pedido do vendedor */
.cfg-ped-rotulo{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#5B6B80;margin:18px 0 8px;}
.cfg-ped-opcoes{display:flex;flex-direction:column;gap:8px;}
.cfg-ped-opcoes label{display:flex;gap:10px;align-items:flex-start;border:1px solid #D5DDE7;border-radius:10px;padding:10px 12px;cursor:pointer;margin:0;}
.cfg-ped-opcoes label.on,.cfg-ped-papel label.on{border-color:#1E5FA8;background:#EEF4FC;}
.cfg-ped-opcoes input{margin-top:3px;}
.cfg-ped-opcoes small{display:block;color:#5B6270;font-size:12.5px;margin-top:2px;font-weight:400;}
.cfg-ped-papel{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.cfg-ped-papel label{border:1px solid #D5DDE7;border-radius:10px;padding:12px;text-align:center;cursor:pointer;margin:0;display:block;}
.cfg-ped-papel label input{position:absolute;opacity:0;pointer-events:none;}
.cfg-ped-papel label.on strong{color:#1E5FA8;}
.cfg-ped-papel small{display:block;color:#5B6270;font-size:12px;margin-top:3px;}
.cfg-ped-ic{display:block;font-size:24px;margin-bottom:4px;}

/* Impressão do pedido/orçamento: bobina ou A4 */
@media print{
  #recibo-impressao.pedido-bobina{
    box-sizing:border-box;width:var(--recibo-area,72mm);margin-left:var(--recibo-margem,0mm) !important;
    padding:0 0 var(--recibo-espaco,6mm) 0 !important;font-size:var(--recibo-fonte,14px);
    font-family:var(--mono);line-height:1.4;color:#000;overflow-wrap:anywhere;
  }
  .pedido-bobina .pi-c{text-align:center;}
  .pedido-bobina .pi-loja{font-size:1.2em;text-transform:uppercase;}
  .pedido-bobina .pi-tit{font-size:1.25em;}
  .pedido-bobina .pi-fino{font-size:.87em;}
  .pedido-bobina .pi-sep{border-top:1px dashed #000;margin:7px 0;}
  .pedido-bobina .pi-item{margin-bottom:5px;}
  .pedido-bobina .pi-lin{display:flex;justify-content:space-between;gap:8px;}
  .pedido-bobina .pi-lin span:last-child{white-space:nowrap;}
  .pedido-bobina .pi-total{font-size:1.25em;font-weight:bold;}
  #recibo-impressao.pedido-a4{position:static !important;width:auto;font-family:Arial,Helvetica,sans-serif;font-size:11.5px;color:#162033;line-height:1.35;}
  .pedido-a4 .pa4-topo{display:flex !important;justify-content:space-between;gap:20px;border-bottom:2px solid #1E5FA8 !important;padding-bottom:10px !important;}
  /* Logo do pedido (Configurações › Logo do pedido): entra à esquerda do nome
     da loja. O limite é de altura E de largura, para a imagem caber inteira
     seja ela quadrada, comprida ou alta — sem esticar nem cortar. */
  .pedido-a4 .pa4-esq{display:flex !important;align-items:center;gap:12px;}
  .pedido-a4 .pa4-logo{max-height:80px;max-width:200px;object-fit:contain;flex:none;}
  .pedido-a4 h2{margin:0 0 3px;font-size:17px;color:#1E5FA8;}
  .pedido-a4 .pa4-dir{text-align:right;}
  .pedido-a4 .pa4-caixas{display:flex !important;gap:10px;margin-top:12px !important;}
  .pedido-a4 .pa4-caixas div{flex:1;border:1px solid #CFD8E3 !important;border-radius:6px;padding:7px 9px !important;}
  .pedido-a4 .pa4-caixas b{display:block;}
  .pedido-a4 .pa4-tab{width:100%;border-collapse:collapse;margin-top:12px !important;display:table !important;}
  .pedido-a4 .pa4-tab thead{display:table-header-group !important;}
  .pedido-a4 .pa4-tab tbody{display:table-row-group !important;}
  .pedido-a4 .pa4-tab tr{display:table-row !important;}
  .pedido-a4 .pa4-tab th,.pedido-a4 .pa4-tab td{display:table-cell !important;padding:6px !important;border-bottom:1px solid #E3E8EF !important;text-align:left;}
  .pedido-a4 .pa4-tab th{background:#EEF4FC !important;font-size:10.5px;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .pedido-a4 .pa4-tab .r{text-align:right;}
  .pedido-a4 .pa4-tot{margin:12px 0 0 auto !important;width:230px !important;}
  .pedido-a4 .pa4-tot div{display:flex !important;justify-content:space-between;padding:3px 0 !important;}
  .pedido-a4 .pa4-tot .g{font-size:16px;font-weight:800;border-top:2px solid #162033 !important;padding-top:6px !important;}
  .pedido-a4 .pa4-obs{margin-top:12px !important;}
  .pedido-a4 .pa4-ass{display:flex !important;gap:30px;margin-top:60px !important;}
  .pedido-a4 .pa4-ass div{flex:1;border-top:1px solid #555 !important;text-align:center;padding-top:4px !important;font-size:10.5px;}
  .pedido-a4 .pa4-rod{text-align:center;color:#7A889A;margin-top:24px !important;}
}

/* Pedido: bonequinho colorido no "sem cliente" */
.pvn-ini.pvn-avatar{width:44px;height:44px;background:none;padding:0;overflow:hidden;border-radius:12px;}
.pvn-ini.pvn-avatar svg{display:block;}

/* ---------- Desconto no item (caixa) ---------- */
.selo-desc-item{display:inline-block;background:#FFF1E6;color:#C2410C;border-radius:5px;padding:1px 6px;font-weight:800;font-size:11px;margin-left:4px;vertical-align:middle;letter-spacing:.02em;}
.subtotal-riscado{display:block;text-decoration:line-through;color:#9AA4B2;font-size:12px;line-height:1;}
.col-qtd .qtd-texto{cursor:pointer;}
.col-qtd .qtd-texto:hover{text-decoration:underline dotted;}
.cx2-visor-linha.cx2-desc-itens{color:#FDBA74;}
.cx2-visor-linha.cx2-desc-itens[hidden]{display:none;}
.modal-caixa.desc2{width:400px;}
.desc2-tipo{display:inline-flex;background:#F1F3F6;border-radius:8px;padding:3px;margin:6px 20px 0;}
.desc2-tipo button{border:0;background:none;padding:5px 16px;border-radius:6px;font-size:13px;font-weight:800;color:#5B6270;cursor:pointer;font-family:inherit;}
.desc2-tipo button.ativo{background:#fff;color:#1E5FA8;box-shadow:0 1px 3px rgba(0,0,0,.1);}
.desc2-res{background:#F7F9FC;border-radius:10px;padding:9px 12px;font-size:13.5px;margin-top:10px;}
.desc2-res div{display:flex;justify-content:space-between;padding:2px 0;}
.desc2-res .d{color:#C2410C;}
.desc2-res .g{font-weight:800;font-size:16px;border-top:1px solid #E3E8EF;margin-top:3px;padding-top:5px;}
.desc2-dica{font-size:12px;color:#7A889A;text-align:center;margin:8px 20px 0;}
.cx2-visor-linha.cx2-desc-itens b{color:#FDBA74;}

/* ---------- Pedido: desconto no item ---------- */
.pvn-lista tbody tr[data-idx]{cursor:pointer;}
.pvn-lista tr.marcado td{background:#EEF4FC !important;}
.pvn-lista tr.marcado td:first-child{box-shadow:inset 3px 0 0 var(--azul) !important;}
.pvn-desc-tag{display:inline-block;background:#FFF1E6;color:#C2410C;border-radius:5px;padding:1px 6px;font-weight:800;font-size:11px;margin-left:4px;font-family:Inter,Arial,sans-serif;}
.pvn-marcado-dica{color:var(--azul);font-weight:700;font-family:Inter,Arial,sans-serif;}
.pvn-riscado{display:block;text-decoration:line-through;color:#9AA4B2;font-size:12px;line-height:1;}
.pvn-lin.pvn-desc-itens{font-size:12.5px;color:#C2410C;}
.pvn-lin.pvn-desc-itens b{color:#C2410C;}
.pc-di-tipo{margin:12px 0 8px;width:130px;}
#pc-di-valor{width:100%;box-sizing:border-box;border:2px solid #1E5FA8;border-radius:10px;padding:10px 12px;font:800 24px var(--mono);box-shadow:0 0 0 3px rgba(30,111,217,.15);outline:none;}

@media print{
  .pedido-a4 .pa4-cli{margin-top:12px !important;border:1px solid #CFD8E3 !important;border-radius:6px;padding:8px 10px !important;display:block !important;}
  .pedido-a4 .pa4-t{display:block;margin-bottom:4px;}
  .pedido-a4 .pa4-cli-g{display:grid !important;grid-template-columns:1fr 1.4fr !important;gap:16px;}
  .pedido-a4 .pa4-nome{font-weight:800;font-size:13px;}
  .pedido-a4 .pa4-cli-end{border-left:1px solid #E3E8EF !important;padding-left:14px !important;line-height:1.6;}
  .pedido-a4 .pa4-k{color:#7A889A;font-size:10px;text-transform:uppercase;letter-spacing:.03em;}
  .pedido-a4 .pa4-caixas{margin-top:10px !important;}
  .pedido-a4 .pa4-cod{font-family:"DejaVu Sans Mono",monospace;color:#33465E;}
  .pedido-a4 .pa4-desc{color:#C2410C;}
  .pedido-a4 .pa4-obs{border:1px dashed #CFD8E3 !important;border-radius:6px;padding:7px 9px !important;}
  .pedido-a4 .pa4-resumo{margin-top:8px !important;font-size:10.5px;color:#5B6270;}
}

/* ---------- Caixa diário: resumo da gaveta e cancelar sangria/suprimento ---------- */
.res-caixa-rel{background:#F7F9FC;border-radius:10px;padding:10px 12px;font-size:13.5px;margin:12px 0 4px;}
.res-caixa-rel div{display:flex;justify-content:space-between;padding:2px 0;}
.res-caixa-rel .sep{border-top:1px solid #E3E8EF;margin-top:4px;padding-top:5px;}
.res-caixa-rel b.ok{color:#1F7A47;}
.res-caixa-rel b.ruim{color:#B42318;}
.mov-rel{display:flex;align-items:center;gap:8px;padding:7px 6px;border-radius:8px;font-size:13px;color:var(--texto);}
.mov-rel:nth-child(odd){background:#F7F9FC;}
.mov-rel-hora{font-family:var(--mono);color:#5B6B80;width:40px;flex:none;}
.mov-rel-txt{flex:1;min-width:0;color:#5B6B80;font-size:12.5px;}
.mov-rel-txt small{display:block;color:#7A889A;font-size:11.5px;}
.mov-rel-valor{font-family:var(--mono);width:84px;text-align:right;flex:none;}
.mov-rel-canc{border:1px solid #F1C6C1;color:#C03B3B;background:#fff;border-radius:7px;padding:4px 9px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;flex:none;}
.mov-rel-canc:hover{background:#FDF2F2;}
.mov-rel-canc-vazio{width:68px;flex:none;}
.mov-rel.cancelado .mov-rel-hora,.mov-rel.cancelado .mov-rel-valor,.mov-rel.cancelado .tag-movimento{text-decoration:line-through;opacity:.55;}
.mov-rel.cancelado .mov-rel-txt{color:#B42318;}
.mov-rel-nota{font-size:12px;color:#7A889A;margin:8px 0 0;}
.modal-caixa.canc-mov{width:430px;max-width:calc(100vw - 32px);padding:22px 24px;border-radius:16px;}
.canc-mov h3{margin:0 0 10px;font-size:19px;color:#162033;}
.canc-mov-det{background:#F7F9FC;border-radius:10px;padding:10px 12px;font-size:13.5px;}
.canc-mov-det div{display:flex;justify-content:space-between;gap:10px;padding:2px 0;}
.canc-mov-aviso{background:#FFF7E6;border:1px solid #F2D27A;border-radius:8px;padding:8px 10px;font-size:12.5px;color:#7A5200;margin-top:10px;}
.canc-mov label{display:block;font-size:12px;font-weight:700;color:#5B6B80;margin:12px 0 4px;}
.canc-mov input{width:100%;box-sizing:border-box;border:1px solid #CFD8E3;border-radius:8px;padding:10px 12px;font-size:14px;font-family:inherit;}
.canc-mov-erro{min-height:16px;font-size:13px;color:var(--vermelho);margin:6px 0 0;}
.canc-mov-bts{display:flex;gap:10px;margin-top:8px;}
.canc-mov-bts .btn{flex:1;height:46px;font-weight:800;}
.canc-mov-bts kbd{font-size:10.5px;}
.btn.canc-mov-sim{background:#D64545;color:#fff;border:0;}
.btn.canc-mov-sim:hover{background:#C03B3B;}

/* ---------- Relatórios: imprimir ---------- */
.rel-titulo-imprimir{display:flex;align-items:center;gap:12px;}
.rel-btn-imprimir{margin-left:auto;font-size:14px;}
.modal-caixa.imp-rel{width:470px;max-width:calc(100vw - 32px);padding:22px 24px;border-radius:16px;}
.imp-rel h3{margin:0;font-size:19px;color:#162033;}
.imp-rel-sub{font-size:13px;color:#5B6B80;margin:4px 0 14px;}
.imp-rel-opcoes{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.imp-rel-opcoes button{border:1px solid #D5DDE7;background:#fff;border-radius:12px;padding:14px;text-align:center;cursor:pointer;font-family:inherit;color:#162033;}
.imp-rel-opcoes button span{display:block;font-size:26px;}
.imp-rel-opcoes button small{display:block;font-size:12px;color:#5B6B80;margin-top:3px;}
.imp-rel-opcoes button.on{border:2px solid #1E5FA8;background:#EEF4FC;}
.imp-rel-opcoes button.on b{color:#1E5FA8;}
.imp-rel-bts{display:flex;gap:10px;margin-top:16px;}
.imp-rel-bts .btn{flex:1;height:46px;font-weight:800;}
.imp-rel-bts kbd{font-size:10.5px;}
@media print{.rel-btn-imprimir{display:none !important;}}

/* Desconto no item: não pode zerar o item */
.desc-erro{background:#FDECEC;color:#B42318;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:700;margin:8px 0 0;}
#desc2-valor.campo-erro,#pc-di-valor.campo-erro{border-color:#D64545 !important;box-shadow:0 0 0 4px rgba(214,69,69,.15) !important;}
#modal-desc-item .btn-sucesso:disabled,#modal-pc-desc-item .btn-primario:disabled{opacity:.45;cursor:not-allowed;}
.desc-ok{background:#E8F5EE;color:#1B7A4B;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:700;margin:8px 0 0;}
#valor-desconto-modal.campo-erro,#pvn-desconto-campo.campo-erro{border-color:#D64545 !important;box-shadow:0 0 0 3px rgba(214,69,69,.15) !important;}
#modal-desconto .btn-sucesso:disabled{opacity:.45;cursor:not-allowed;}
#pvn-desconto-erro{margin:4px 0 6px;}

/* Busca por nome: divisória entre "começa com" e "contém" */
.busca-divisoria{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8A97A8;padding:6px 14px 4px;border-top:1px dashed #D5DCE6;background:#F8FAFC;}

/* Aviso: código de barras não cadastrado (caixa e pedido) */
.nc-overlay{position:fixed;inset:0;z-index:9999;background:rgba(127,29,29,.55);backdrop-filter:blur(2px);display:none;align-items:center;justify-content:center;}
.nc-caixa{background:#fff;border-radius:18px;padding:30px 36px 26px;width:min(520px,92vw);text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.35);border-top:8px solid #DC2626;animation:ncTreme .35s;}
.nc-icone{width:64px;height:64px;margin:0 auto 10px;border-radius:50%;background:#FEE2E2;color:#DC2626;font-size:40px;font-weight:900;line-height:64px;}
.nc-titulo{font-size:24px;font-weight:800;color:#991B1B;}
.nc-codigo{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:30px;font-weight:800;letter-spacing:2px;color:#162033;background:#F8FAFC;border:2px dashed #FCA5A5;border-radius:10px;padding:10px;margin:14px 0 10px;}
.nc-dica{color:#5B6B82;font-size:14.5px;margin-bottom:18px;}
.nc-ok{background:#DC2626;color:#fff;border:0;border-radius:10px;padding:12px 34px;font-size:17px;font-weight:800;cursor:pointer;}
.nc-ok kbd{background:rgba(255,255,255,.25);border-radius:4px;padding:1px 6px;font-size:12px;margin-left:6px;}
@keyframes ncTreme{0%,100%{transform:translateX(0)}20%{transform:translateX(-10px)}40%{transform:translateX(10px)}60%{transform:translateX(-6px)}80%{transform:translateX(6px)}}

/* Pesquisa F3: código de barras não cadastrado */
.pq-nao-cad{padding:56px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;}
.pq-nao-cad b{font-size:19px;color:#991B1B;}
.pq-nao-cad-ic{width:58px;height:58px;border-radius:50%;background:#FEE2E2;color:#DC2626;font-size:34px;font-weight:900;line-height:58px;}
.pq-nao-cad-cod{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:24px;font-weight:800;letter-spacing:1.5px;background:#F8FAFC;border:2px dashed #FCA5A5;border-radius:10px;padding:8px 16px;color:#162033;}
/* Importar do sistema anterior: desfazer a importação */
.imp-dz{margin-top:20px;border:1px solid #F1C6C1;background:#FFF8F7;border-radius:12px;padding:16px 18px;display:flex;gap:18px;align-items:center;}
.imp-dz h3{margin:0 0 4px;font-size:15px;color:#8A2A20;}
.imp-dz p{margin:0;font-size:13px;color:#5B6270;}
.imp-dz-n{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
.imp-dz-n span{background:#fff;border:1px solid #F1C6C1;border-radius:99px;padding:3px 10px;font-size:12.5px;color:#162033;}
.imp-dz-n b{color:#B42318;}
.imp-dz-esp{flex:1;}
.imp-dz-bt{background:#B42318;color:#fff;border:0;border-radius:9px;padding:11px 16px;font-weight:800;font-size:14px;white-space:nowrap;cursor:pointer;font-family:inherit;}
.imp-dz-bt:hover{background:#912018;}
.imp-mo{position:fixed;inset:0;background:rgba(10,20,35,.55);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;}
.imp-mo[hidden]{display:none;}
.imp-mo-c{background:#fff;border-radius:16px;width:100%;max-width:560px;padding:22px 24px;box-shadow:0 24px 60px rgba(0,0,0,.35);color:#162033;}
.imp-mo-t{display:flex;gap:12px;align-items:center;}
.imp-mo-i{flex:0 0 42px;height:42px;border-radius:50%;background:#FDECEC;color:#B42318;font:800 22px Arial,sans-serif;display:flex;align-items:center;justify-content:center;}
.imp-mo-c h3{margin:0;font-size:18px;}
.imp-mo-c ul{margin:12px 0;padding-left:20px;font-size:14px;line-height:1.7;}
.imp-mo-av{background:#FFF8E6;border:1px solid #F0DC9A;border-radius:9px;padding:9px 12px;font-size:13px;color:#5A3D00;margin:8px 0;}
.imp-mo-l{display:block;font-size:12.5px;font-weight:700;color:#5B6270;margin-top:12px;}
.imp-mo-in{width:100%;box-sizing:border-box;border:2px solid #B42318;border-radius:9px;padding:10px 12px;font:700 15px var(--mono,monospace);letter-spacing:.1em;margin-top:6px;text-transform:uppercase;}
.imp-mo-b{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;}
.imp-mo-b button{border:1px solid #CBD2DC;background:#fff;border-radius:9px;padding:10px 16px;font-weight:700;font-size:14px;cursor:pointer;font-family:inherit;}
.imp-mo-b .x{background:#B42318;border-color:#B42318;color:#fff;}
.imp-mo-b .x:disabled{opacity:.45;cursor:not-allowed;}
.imp-st-excluida{color:#B42318;font-weight:600;}
@media(max-width:700px){.imp-dz{flex-direction:column;align-items:stretch;}}
/* ---------- Etiquetas ---------- */
.et-topo{display:flex;align-items:flex-start;gap:12px;justify-content:space-between;margin-bottom:12px;}
.et-sub{margin:2px 0 0;color:#5B6270;font-size:13.5px;}
.et-grade{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:16px;align-items:start;}
.et-card{background:#fff;border:1px solid #E2E6EC;border-radius:12px;padding:16px;}
.et-lado{display:flex;flex-direction:column;gap:14px;}
.et-tt{font-size:11.5px;font-weight:800;letter-spacing:.07em;color:#3A4252;margin-bottom:10px;}
.et-busca-linha{display:flex;gap:8px;}
.et-busca{position:relative;flex:1;}
.et-busca .pvn-qtd{width:104px;}
.et-sugestoes{position:absolute;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid #DDE2E9;border-radius:10px;box-shadow:0 12px 30px rgba(15,39,71,.18);z-index:30;max-height:330px;overflow:auto;}
.et-sug{display:grid;grid-template-columns:60px 1fr auto;gap:10px;padding:9px 12px;cursor:pointer;font-size:14px;align-items:center;}
.et-sug.on,.et-sug:hover{background:#EEF4FC;}
.et-sug-vazio{padding:12px;color:#5B6270;font-size:13.5px;}
.et-dica{font-size:12.5px;color:#5B6270;margin:8px 0 10px;}
.et-dica kbd,.et-aviso kbd{font-family:var(--mono);font-size:11px;border:1px solid #CBD2DC;border-radius:4px;padding:0 4px;background:#fff;color:#162033;}
.et-tabela{width:100%;border-collapse:collapse;}
.et-tabela th{font-size:10.5px;font-weight:800;letter-spacing:.07em;color:#5B6270;text-align:left;padding:7px 8px;background:#F7F8FA;border-bottom:1px solid #E2E6EC;}
.et-tabela td{padding:8px;border-bottom:1px solid #F0F2F5;font-size:14px;vertical-align:middle;}
.et-tabela td small{display:block;font-size:11.5px;color:#8A93A3;font-family:var(--mono);}
.et-tabela .num{text-align:right;}
.et-tabela .mono,.et-sug .mono{font-family:var(--mono);}
.et-qtd{width:72px;text-align:center;font-size:15px;font-weight:700;padding:6px;border:1px solid #CBD2DC;border-radius:8px;}
.et-rem{border:0;background:none;color:#B42318;font-size:20px;cursor:pointer;padding:0 6px;}
.et-vazio{padding:28px 10px;text-align:center;color:#8A93A3;font-size:14px;}
.et-rodape{display:flex;justify-content:space-between;align-items:center;padding-top:10px;font-size:13.5px;color:#3A4252;}
.et-link{border:0;background:none;color:#1F5FA8;font-weight:700;cursor:pointer;font-size:13px;}
.et-chips{display:flex;flex-wrap:wrap;gap:6px;}
.et-chip{border:1px solid #CBD2DC;background:#fff;border-radius:99px;padding:6px 12px;font-size:13px;font-weight:700;color:#162033;cursor:pointer;}
.et-chip.on{background:#1F5FA8;border-color:#1F5FA8;color:#fff;}
.et-a4{margin-top:12px;display:flex;align-items:center;gap:8px;font-size:13px;color:#3A4252;}
/* Impressora que sai invertida: opção discreta, perto do modelo */
.et-girar{display:flex;gap:9px;align-items:flex-start;margin-top:12px;padding-top:12px;
  border-top:1px solid var(--cinza-borda);cursor:pointer;}
.et-girar input{width:17px;height:17px;margin:1px 0 0;accent-color:var(--azul);flex:none;}
.et-girar span{font-size:13px;color:var(--texto);line-height:1.35;}
.et-girar small{display:block;font-size:11.5px;color:var(--texto-suave);margin-top:2px;}
.et-girar small b{color:#A8392C;}
/* a segunda opção encosta na primeira, sem outro fio no meio */
.et-girar-2{margin-top:8px;padding-top:0;border-top:0;}
.et-a4 input{width:70px;padding:6px;border:1px solid #CBD2DC;border-radius:8px;text-align:center;}
.et-previa{background:#F2F4F7;border-radius:10px;padding:12px;overflow:hidden;box-sizing:border-box;}
.et-previa-zoom{transform-origin:top left;box-shadow:0 2px 8px rgba(0,0,0,.15);}
.et-medida{font-size:12.5px;color:#5B6270;margin:8px 0 0;}
.et-imprimir{width:100%;padding:14px;font-size:16px;}
.et-imprimir:disabled{opacity:.5;cursor:not-allowed;}
.et-modal{position:fixed;inset:0;background:rgba(10,20,35,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;}
.et-modal[hidden]{display:none;}
.et-modal-c{background:#fff;border-radius:14px;width:100%;max-width:560px;padding:20px 22px;box-shadow:0 24px 60px rgba(0,0,0,.3);max-height:85vh;overflow:auto;}
.et-modal-t{display:flex;justify-content:space-between;align-items:center;}
.et-modal-t h3{margin:0;}
.et-x{border:0;background:none;font-size:26px;cursor:pointer;color:#5B6270;}
/* janela de conferência: mostra a etiqueta já desenhada, antes de mandar pro rolo */
.cf{padding:0;overflow:hidden;max-width:560px;}
.cf-top{display:flex;align-items:center;gap:12px;padding:15px 18px;border-bottom:1px solid var(--cinza-borda);}
.cf-top b{font-size:16px;color:#141A22;}
.cf-top span{margin-left:auto;font-size:13px;color:var(--texto-suave);}
.cf-corpo{padding:16px 18px;background:#F4F6F9;}
.cf-folha{background:#fff;border:1px solid var(--cinza-borda);border-radius:6px;padding:8px;
  display:flex;align-items:center;justify-content:center;min-height:120px;
  box-shadow:0 1px 3px rgba(16,24,40,.08);}
.cf-folha img{max-width:100%;max-height:46vh;height:auto;display:block;image-rendering:crisp-edges;}
.cf-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:10px;
  font-size:13px;color:var(--texto-suave);}
.cf-nav[hidden]{display:none;}
.cf-nav button{border:1px solid var(--cinza-borda);background:#fff;border-radius:6px;width:28px;height:28px;
  cursor:pointer;font:inherit;line-height:1;color:var(--texto);}
.cf-nav button:disabled{opacity:.4;cursor:default;}
.cf-info{display:flex;gap:18px;flex-wrap:wrap;padding:12px 18px;font-size:13px;color:var(--texto-suave);
  border-top:1px solid var(--cinza-borda);}
.cf-info b{color:var(--texto);}
.cf-pe{display:flex;gap:9px;align-items:center;padding:13px 18px;
  border-top:1px solid var(--cinza-borda);background:#FAFBFC;}
.cf-sempre{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--texto-suave);cursor:pointer;}
.cf-sempre input{width:16px;height:16px;accent-color:var(--azul);}
.cf-pe .dir{margin-left:auto;display:flex;gap:9px;}
.et-entradas{display:flex;flex-direction:column;gap:8px;margin-top:12px;}
.et-ent{display:grid;grid-template-columns:1fr auto;text-align:left;border:1px solid #DDE2E9;background:#fff;border-radius:10px;padding:10px 12px;cursor:pointer;font-family:inherit;}
.et-ent:hover{border-color:#1F5FA8;background:#F2F7FD;}
.et-ent span{grid-column:1;font-size:12.5px;color:#5B6270;}
.et-ent .et-ent-n{grid-column:2;grid-row:1/3;align-self:center;font-weight:700;color:#1F5FA8;}
.et-aviso{text-align:center;max-width:400px;}
.et-aviso-ico{width:48px;height:48px;border-radius:50%;background:#FDECEC;color:#B42318;font:800 26px Arial,sans-serif;display:flex;align-items:center;justify-content:center;margin:0 auto 8px;}
@media(max-width:900px){.et-grade{grid-template-columns:1fr;}.et-busca-linha{flex-direction:column;}}
/* Editor de modelos de etiqueta */
.em-voltar{font-size:13px;color:#5B6270;text-decoration:none;}
.em-bts{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;}
.em-bts kbd{font-family:var(--mono);font-size:10px;border:1px solid rgba(255,255,255,.5);border-radius:4px;padding:0 4px;margin-left:4px;}
.em-perigo{color:#B42318 !important;}
.em-pendente{box-shadow:0 0 0 3px rgba(224,168,0,.45);}
.em-modelos{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;}
.em-papel{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:14px;}
.em-g label{display:block;font-size:11.5px;font-weight:700;color:#5B6270;margin-bottom:3px;}
.em-g input,.em-g select{box-sizing:border-box;width:100%;padding:8px 9px;border:1px solid #CBD2DC;border-radius:8px;font-size:14px;font-family:inherit;}
.em-papel .em-g{width:118px;}
.em-papel .em-nome{width:230px;}
.em-papel .em-sel-papel{width:240px;}
.em-padrao{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;padding-bottom:9px;}
.em-grade{display:grid;grid-template-columns:220px minmax(0,1fr) 250px;gap:14px;align-items:start;}
.em-campo{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid #F0F2F5;font-size:14px;cursor:pointer;}
.em-nota{font-size:12px;color:#8A93A3;margin:8px 0 0;}
/* Texto livre entra por botão, porque cabe mais de um na etiqueta */
.em-add-texto{display:flex;align-items:center;gap:6px;width:100%;margin-top:10px;padding:8px 10px;
  border:1px dashed var(--cinza-borda);border-radius:8px;background:#fff;cursor:pointer;
  font:inherit;font-size:13.5px;font-weight:600;color:var(--azul);}
.em-add-texto:hover{border-color:var(--azul);background:#F5F9FF;}
.em-add-texto i{font-style:normal;font-weight:400;font-size:12px;color:var(--texto-suave);margin-left:auto;}
.em-remover{width:100%;margin-top:14px;padding:8px;border:1px solid #F0CFC9;border-radius:7px;
  background:#fff;color:#A8392C;font:inherit;font-size:13px;font-weight:600;cursor:pointer;}
.em-remover:hover{background:#FDF3F1;}
.em-centro{text-align:center;}
.em-palco{background:#EEF1F5 repeating-linear-gradient(0deg,transparent 0 19px,rgba(0,0,0,.035) 19px 20px),repeating-linear-gradient(90deg,transparent 0 19px,rgba(0,0,0,.035) 19px 20px);border-radius:10px;padding:20px;box-sizing:border-box;overflow:hidden;outline:none;user-select:none;touch-action:none;}
.em-palco:focus{box-shadow:inset 0 0 0 2px rgba(31,95,168,.35);}
.em-zoom{transform-origin:top left;box-shadow:0 3px 12px rgba(0,0,0,.18);}
.em-zoom .etq{overflow:visible;}
.em-zoom .etq-el{outline:1px dashed rgba(31,95,168,.45);cursor:move;}
.em-zoom .etq-el.em-sel{outline:1.5px solid #1F5FA8;background:rgba(31,95,168,.06);}
.em-alca{position:absolute;width:2.4mm;height:2.4mm;margin:-1.2mm 0 0 -1.2mm;background:#1F5FA8;border:.3mm solid #fff;border-radius:.4mm;cursor:nwse-resize;box-sizing:border-box;}
.em-ptit{margin:0 0 10px;font-size:16px;}
.em-2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;}
.em-tg{border:1px solid #CBD2DC;background:#fff;border-radius:99px;padding:6px 10px;font-size:13px;cursor:pointer;font-family:inherit;}
.em-tg.on{background:#1F5FA8;border-color:#1F5FA8;color:#fff;}
.em-al{display:flex;gap:6px;}
.em-ck{display:flex;align-items:center;gap:6px;font-size:13.5px;margin-top:10px;}
.em-aviso{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:#162033;color:#fff;padding:10px 18px;border-radius:10px;font-weight:700;opacity:0;transition:.2s;z-index:2000;pointer-events:none;}
.em-aviso.on{opacity:1;transform:translateX(-50%) translateY(0);}
@media(max-width:1100px){.em-grade{grid-template-columns:1fr;}}
.et-a4[hidden]{display:none;}
/* Importar etiqueta do Fast Report */
.fr3-c{max-width:880px;}
.fr3-arquivo{display:flex;align-items:center;gap:10px;border:2px dashed #9FB6D6;border-radius:10px;padding:10px 14px;margin:12px 0;background:#F5F8FC;cursor:pointer;}
.fr3-arquivo.on{background:#E6F0FB;border-color:#1F5FA8;}
.fr3-ico{font-size:22px;}
.fr3-esp{flex:1;}
.fr3-grade{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.fr3-ok{color:#178049;font-weight:800;text-align:right;}
.fr3-fora td{color:#B45309;font-weight:700;}
.fr3-previa{background:#F2F4F7;border-radius:10px;padding:14px;overflow:hidden;box-sizing:border-box;}
.fr3-linha{display:flex;transform-origin:top left;width:max-content;}
.fr3-linha .etq{box-shadow:0 1px 4px rgba(0,0,0,.18);}
.fr3-fim{display:flex;gap:8px;align-items:flex-end;margin-top:14px;}
@media(max-width:800px){.fr3-grade{grid-template-columns:1fr;}.fr3-fim{flex-wrap:wrap;}}
.pvn-campo #et-busca,.pvn-campo #et-busca:focus{border:0 !important;outline:0 !important;box-shadow:none !important;padding:10px 0 !important;font-size:17px !important;background:transparent !important;width:auto !important;height:auto !important;}
.et-busca .et-sugestoes{top:calc(100% + 6px);}
.et-dica-linha{display:flex;align-items:center;gap:12px;justify-content:flex-end;margin:8px 0 10px;}
.et-dica-linha .et-dica{margin:0;}
.et-dica-linha .btn{white-space:nowrap;}
.pvn-qtd #et-qtd,.pvn-qtd #et-qtd:focus{border:0 !important;outline:0 !important;box-shadow:none !important;background:transparent !important;padding:0 !important;height:auto !important;font-family:var(--mono);font-size:18px;font-weight:700;width:100%;}
@media(max-width:700px){.et-dica-linha{flex-direction:column;align-items:stretch;}}
.et-tabela .et-col-qtd{text-align:center;width:96px;}

.et-topo-botoes{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.et-tabela{margin-top:14px;}
.et-imp-topo{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.et-imp-st{font-size:12px;font-weight:600;color:#6b7280;background:#f1f3f6;padding:3px 9px;border-radius:12px;white-space:nowrap;}
.et-imp-st.ok{color:#137a3a;background:#E8F7EE;}
.et-imp-st.nao{color:#9a6700;background:#FFF5D6;}
.et-imp-sel{width:100%;margin-top:8px;padding:9px 10px;border:1px solid #cfd6df;border-radius:8px;font-size:14px;background:#fff;}
.et-imp-dica{font-size:12.5px;color:#4b5563;margin:8px 0 0;}
.et-imp-erro{font-size:12.5px;color:#b42318;margin:8px 0 0;}
.et-imp-acoes{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px;}
.et-imp-link{font-size:12.5px;}
.cfg-prog-topo{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.cfg-prog-st{font-size:12px;font-weight:600;color:#6b7280;background:#f1f3f6;padding:3px 9px;border-radius:12px;white-space:nowrap;}
.cfg-prog-st.ok{color:#137a3a;background:#E8F7EE;}
.cfg-prog-st.nao{color:#9a6700;background:#FFF5D6;}
.cfg-prog-passos{margin:16px 0 0;padding-left:20px;font-size:13px;color:#374151;line-height:1.5;}
.cfg-prog-passos li{margin-bottom:6px;}

/* ---------- Painel do administrador: cadastrar / editar empresa ---------- */
.adm-titulo{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.adm-titulo .titulo-pagina{margin-bottom:0;}
.adm-socio-form select{max-width:128px;}
.ae-topo{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
.ae-topo-botoes{display:flex;gap:8px;flex-wrap:wrap;}
.ae-voltar{font-size:13px;color:var(--texto-suave);}
.ae-sub{color:var(--texto-suave);font-size:13px;margin:0 0 18px;}
.ae-ativa{color:var(--verde);font-weight:bold;}
.ae-suspensa{color:var(--vermelho);font-weight:bold;}
.ae-grade{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px;align-items:start;}
@media(max-width:900px){.ae-grade{grid-template-columns:minmax(0,1fr);}}
.ae-card{background:#fff;border:1px solid var(--cinza-borda);border-radius:10px;padding:20px 22px;margin-bottom:20px;}
.ae-card h3{margin:0 0 14px;font-size:15px;}
.ae-linha{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.ae-linha3{display:grid;grid-template-columns:1.3fr 1fr 80px;gap:12px;}
@media(max-width:560px){.ae-linha,.ae-linha3{grid-template-columns:minmax(0,1fr);}}
.ae-seg{display:inline-flex;border:1px solid var(--cinza-borda);border-radius:8px;overflow:hidden;}
.ae-seg button{border:0;background:#fff;padding:8px 14px;font:inherit;font-size:13px;cursor:pointer;}
.ae-seg button.on{background:var(--azul-escuro);color:#fff;}
.ae-sufixo{display:flex;align-items:stretch;}
.ae-sufixo input{border-top-right-radius:0;border-bottom-right-radius:0;min-width:0;}
.ae-sufixo span{display:flex;align-items:center;padding:0 10px;background:#F2F4F7;border:1px solid var(--cinza-borda);border-left:0;border-radius:0 6px 6px 0;font-size:13px;color:var(--texto-suave);white-space:nowrap;}
.ae-dica{display:block;color:var(--texto-suave);font-size:12px;margin-top:4px;}
.ae-dica.ae-ok{color:#1C6B41;}
.ae-dica.ae-nao{color:var(--vermelho);}
.ae-senha{display:flex;gap:8px;}
.ae-senha input{flex:1;font-family:var(--mono);min-width:0;}
.ae-fixo{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#F7F8FA;border:1px solid var(--cinza-borda);border-radius:6px;padding:9px 12px;font-size:14px;}
.ae-fixo small{color:var(--texto-suave);font-size:12px;}
.ae-rotulo{display:block;font-size:13.5px;font-weight:600;margin-bottom:4px;}
.ae-usuarios{width:100%;border-collapse:collapse;font-size:13px;}
.ae-usuarios td{padding:7px 4px;border-bottom:1px solid #eef0f3;background:none;}
.ae-usuarios small{color:var(--texto-suave);}
.ae-usu-acao{text-align:right;}
.ae-check{display:flex;gap:8px;align-items:flex-start;font-size:13px;margin:0 0 14px;cursor:pointer;}
.ae-check input{margin-top:2px;}
.ae-info{background:#F4F8FD;border:1px solid #dbe7f6;border-radius:8px;padding:10px 12px;font-size:12.5px;color:#374151;}
.ae-rodape{display:flex;justify-content:flex-end;gap:10px;align-items:center;border-top:1px solid var(--cinza-borda);padding-top:16px;margin-top:4px;}
.ae-acesso{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;background:#E8F7EE;border:1px solid #bfe3cc;border-radius:8px;padding:12px 16px;margin-bottom:18px;font-size:13.5px;}
.ae-acesso pre{margin:6px 0 0;font-family:var(--mono);font-size:13.5px;white-space:pre-wrap;}

/* ---------- Emitir NF-e (jeito do sistema antigo) ---------- */
.nf2{display:flex;flex-direction:column;gap:8px;}
.nf2 .msg,.nf2 .nfe-alerta-rejeicao{margin:0;}
.nf2 label{display:block;font-size:11px;font-weight:600;color:#5B6270;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.nf2 input[type="text"],.nf2 input[type="date"],.nf2 input[type="time"],.nf2 input[type="number"],.nf2 select{width:100%;height:32px;padding:4px 8px;border:1px solid #CFD6DF;border-radius:6px;font-size:13px;background:#fff;box-sizing:border-box;}
.nf2 kbd{font-size:10px;border:1px solid #C9D3E0;border-radius:3px;padding:0 4px;background:#fff;color:#5B6270;font-family:inherit;}
.nf2-barra{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--cinza-borda);border-radius:10px;padding:6px 12px;}
.nf2-barra .nf2-pend-caixa{min-width:0;flex:0 1 auto;}
.nf2-barra .nf2-pend{max-width:100%;}
.nf2-pend-caixa,.nf2-barra .btn-sm{flex-shrink:0;min-width:max-content;}
.nf2-pend-caixa .nf2-pend{max-width:none;}
@media (max-width:1500px){.nf2-barra kbd,.nf2-emitir small,.nf2-some{display:none;}.nf2-barra{gap:6px;}.nf2-barra .btn-sm{padding-left:10px;padding-right:10px;}}
@media (max-width:1150px){.nf2-barra{flex-wrap:wrap;}}
.nf2-barra h2{margin:0;font-size:17px;white-space:nowrap;}
.nf2-barra .btn{white-space:nowrap;}
.nf2-info{font-size:12.5px;color:var(--texto-suave);white-space:nowrap;margin-left:6px;}
.nf2-info b{font-family:var(--mono);color:var(--texto);font-size:14px;}
.nf2-amb{font-size:11.5px;font-weight:700;color:#8A6100;background:#FFF5D6;border-radius:12px;padding:2px 9px;white-space:nowrap;}
.nf2-amb.producao{color:#1C6B41;background:#E5F5EC;}
.nf2-esp{flex:1;}
.nf2-cont{display:inline-block;background:#E8A317;color:#fff;border-radius:10px;padding:0 7px;font-size:11px;margin-left:3px;}
.nf2-pend-caixa{position:relative;}
.nf2-pend{border:0;border-radius:14px;padding:5px 11px;font-size:12px;font-weight:700;cursor:pointer;max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#F1F3F6;color:#5B6270;}
.nf2-pend.erro{color:#A5312A;background:#FBEAE8;}
.nf2-pend.aviso{color:#8A6100;background:#FFF5D6;}
.nf2-pend.ok{color:#1C6B41;background:#E5F5EC;}
.nf2-pend-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:40;width:380px;background:#fff;border:1px solid var(--cinza-borda);border-radius:10px;box-shadow:0 12px 34px rgba(0,0,0,.16);padding:12px 14px;}
.nf2-pend-pop strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#5B6270;margin-bottom:6px;}
.nf2-pend-pop .nfe-conferencia{margin:0;max-height:320px;overflow:auto;}
.nf2-emitir small{font-weight:normal;opacity:.75;font-size:11px;margin-left:4px;}
.nf2-emitir.nfe-com-pendencia{opacity:.75;}
.nf2-excluir{padding-left:8px;padding-right:8px;}
.nf2-ok{background:#fff;border-radius:16px;width:520px;max-width:calc(100vw - 32px);padding:30px 34px 22px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.35);}
.nf2-ok-check{width:80px;height:80px;border-radius:50%;background:#DCFCE7;color:#16A34A;font-size:48px;line-height:80px;margin:0 auto 12px;font-weight:700;}
.nf2-ok-titulo{font-size:27px;font-weight:800;color:#15803D;}
.nf2-ok-sub{font-size:14.5px;color:#475569;margin-top:5px;}
.nf2-ok-dados{margin:16px 0 20px;background:#F8FAFC;border:1px solid #E2E8F0;border-radius:10px;padding:11px 15px;text-align:left;font-size:14px;color:#334155;line-height:1.7;}
.nf2-ok-aviso{margin-top:12px;background:#FFF7ED;border:1px solid #FDBA74;border-radius:9px;
  padding:9px 13px;font-size:13.5px;color:#9A3412;text-align:left;line-height:1.45;}
.nf2-ok-valor{font-size:17px;font-weight:700;color:#0F172A;}
.nf2-ok-chave{font-size:12px;color:#64748B;word-break:break-all;line-height:1.4;margin-top:2px;}
.nf2-ok-botoes{display:flex;gap:12px;}
.nf2-ok-botoes>*{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 10px;font-size:17px;font-weight:700;border-radius:10px;cursor:pointer;text-decoration:none;font-family:inherit;}
.nf2-ok-botoes small{font-size:11px;font-weight:400;opacity:.85;margin-top:3px;}
.nf2-ok-imp{border:0;background:#2563EB;color:#fff;}
.nf2-ok-imp:focus{outline:3px solid #93C5FD;outline-offset:2px;}
.nf2-ok-pdf{border:2px solid #2563EB;background:#fff;color:#2563EB;}
.nf2-ok-links{display:flex;gap:20px;justify-content:center;margin-top:15px;font-size:13px;}
.nf2-ok-links a{color:#475569;text-decoration:none;}
.nf2-ok-links a:hover{text-decoration:underline;}
.nf2-emitida{display:flex;align-items:center;gap:10px;background:#E5F5EC;border:1px solid #BFE3CC;border-radius:10px;padding:7px 12px;font-size:13.5px;color:#1C4F33;flex-wrap:wrap;}
.nf2-emitida span{flex:1;min-width:240px;}
.nf2-cab{background:#fff;border:1px solid var(--cinza-borda);border-radius:10px;padding:8px 12px;display:flex;flex-direction:column;gap:6px;}
.nf2-l{display:grid;gap:8px;}
.nf2-l1{grid-template-columns:minmax(0,1.5fr) 120px 96px minmax(0,1.1fr) minmax(0,1.5fr);}
.nf2-l2{grid-template-columns:minmax(0,2.6fr) 140px 100px minmax(0,1fr) minmax(0,1.3fr) 130px;}
.nf2-c{min-width:0;position:relative;}
.nf2 .nf2-ro,.nf2-ro{background:#F2F4F7;color:#3A4252;}
.nf2-num{text-align:right;font-family:var(--mono);}
.nf2-nnf{height:32px;border:1px solid #CFD6DF;border-radius:6px;background:#F2F4F7;font:700 16px var(--mono);display:flex;align-items:center;justify-content:center;}
.nf2-com{display:flex;gap:6px;align-items:stretch;}
.nf2-com > select,.nf2-com > input{flex:1;min-width:0;}
.nf2-ic{width:32px;height:32px;flex:0 0 32px;border:0;border-radius:6px;background:var(--azul);color:#fff;display:grid;place-items:center;cursor:pointer;padding:0;}
.nf2-ic:hover{background:var(--azul-escuro);}
#nfe-itens tr.nf2-novo td{background:#ECFDF3;animation:nf2-novo 1.6s ease-out;}
@keyframes nf2-novo{from{background:#BBF7D0;}to{background:#ECFDF3;}}
.nf2-ic.nf2-ic-cliente{background:linear-gradient(135deg,#FB923C,#EC4899);border-radius:8px;box-shadow:0 2px 6px rgba(236,72,153,.35);}
.nf2-ic.nf2-ic-cliente:hover{background:linear-gradient(135deg,#F97316,#DB2777);}
.nf2-ic.nf2-ic-frete{background:#FEF3C7;border:1.5px solid #FCD34D;border-radius:8px;box-shadow:0 2px 6px rgba(245,158,11,.25);}
.nf2-ic.nf2-ic-frete:hover{background:#FDE68A;}
.nf2-desligado .nf2-ic.nf2-ic-frete{filter:grayscale(1);box-shadow:none;}
.nf2-desligado .nf2-ic.nf2-ic-frete:hover{background:#FEF3C7;}
.nf2-ic.nf2-ic-apagado{background:#C9D3E0;}
.nf2-resumo{flex:1;min-width:0;height:32px;border:1px solid #CFD6DF;border-radius:6px;text-align:left;padding:0 9px;font:inherit;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;}
.nf2-desligado .nf2-resumo,.nf2-desligado .nf2-ic{opacity:.45;cursor:default;}
.nf2-cli{flex:1;min-width:0;height:32px;border:1px solid #CFD6DF;border-radius:6px;background:#F2F4F7;display:flex;align-items:center;gap:8px;padding:0 9px;font-size:13px;white-space:nowrap;overflow:hidden;}
.nf2-cli b{overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:60px;}
.nf2-cli small{color:#5B6270;font-size:12px;margin-left:auto;font-family:var(--mono);flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;}
.nf2-cli-ok{color:#1C6B41;font-weight:800;}
.nf2-cli-falta{color:#A5312A;font-weight:700;font-size:12px;}
.nf2-cli-vazio{border:0;background:transparent;color:#8A93A3;font:inherit;font-size:13px;padding:0;cursor:pointer;width:100%;text-align:left;}
.nf2-ref{max-width:560px;}
.nf2 .nf2-pop{position:absolute;top:calc(100% + 6px);right:0;left:auto;bottom:auto;z-index:40;width:560px;max-width:calc(100vw - 40px);background:#fff;border:1px solid var(--cinza-borda);border-radius:10px;box-shadow:0 12px 34px rgba(0,0,0,.16);padding:12px 14px;}
.nf2-pop .form-grupo{margin-bottom:8px;}
.nf2 .nf2-pop[hidden]{display:none;}
.nf2-pop .nfe-campos-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 8px;}
.nf2-pop-parcelas{width:430px;}
.nf2-pop-parcelas .nfe-gerar-parcelas div{display:flex;align-items:center;gap:6px;margin-bottom:8px;}
.nf2-pop-parcelas .nfe-gerar-parcelas input{width:64px;}
.nf2-pop-parcelas .nfe-parcela{display:grid;grid-template-columns:70px 1fr 110px 30px;gap:6px;align-items:center;margin-bottom:5px;}
.nf2-pop-dica{font-size:12.5px;color:#5B6270;margin:4px 0 0;}
.nf2-lanc{background:#fff;border:1px solid var(--cinza-borda);border-radius:10px;padding:6px 12px 8px;display:grid;gap:6px 8px;align-items:end;grid-template-columns:minmax(0,2.6fr) minmax(0,.8fr) minmax(0,1fr) minmax(0,1fr) 34px minmax(0,.6fr) minmax(0,.9fr) minmax(0,.8fr) minmax(0,.8fr);}
.nf2-lanc .nfe-busca{position:relative;}
.nf2-lanc .nfe-busca-lista{top:calc(100% + 2px);width:max(100%,520px);}
.nf2 #nfe-busca-produto.nf2-escolhido{background:#EEF5FF;border-color:var(--azul);font-weight:600;}
.nf2-add{height:32px;border:0;border-radius:6px;background:var(--verde);color:#fff;font-weight:800;font-size:18px;cursor:pointer;padding:0;}
.nf2-add:hover{filter:brightness(.92);}
.nfe-busca-item.nf2-marcado{background:#EEF5FF;}
.nf2-grade{background:#fff;border:1px solid var(--cinza-borda);border-radius:10px;overflow:auto;min-height:150px;position:relative;}
.nf2-grade table{width:100%;border-collapse:collapse;font-size:12.5px;}
.nf2-grade th{position:sticky;top:0;z-index:1;background:#F7F8FA;text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:#5B6270;padding:6px 8px;border-bottom:1px solid var(--cinza-borda);white-space:nowrap;}
.nf2-grade th.col-num{text-align:right;}
.nf2-grade td{padding:3px 8px;border-bottom:1px solid #EEF0F3;background:#fff;}
.nf2-grade td.nf2-desc{font-weight:600;}
.nf2 .nf2-grade input.nfe-in{height:26px;padding:2px 6px;font-size:12.5px;border:1px solid transparent;border-radius:5px;background:transparent;width:100%;box-sizing:border-box;}
.nf2 .nf2-grade input.nfe-in:hover{border-color:#DDE2E9;background:#fff;}
.nf2 .nf2-grade input.nfe-in:focus{border-color:var(--azul);background:#fff;outline:none;}
.nf2 .nf2-grade input.nfe-in-cfop{width:62px;}
.nf2 .nf2-grade input.nfe-in-num{text-align:right;font-family:var(--mono);width:100px;margin-left:auto;display:block;}
.nf2-grade .nfe-total-item{font-family:var(--mono);font-weight:700;}
.nf2-grade .btn-icone{width:24px;height:24px;font-size:11px;}
.nf2-vazio{margin:0;padding:40px 10px;text-align:center;color:var(--texto-suave);font-size:13.5px;}
.nf2-vazio[hidden]{display:none;}
.nf2-rod{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,2.2fr) minmax(0,2.1fr);gap:8px;}
.nf2-inf{background:#FFFBEA;border:1px solid #F0E3A8;border-radius:10px;padding:5px 9px;display:flex;flex-direction:column;}
.nf2-inf textarea{width:100%;flex:1;min-height:34px;border:0;background:transparent;resize:none;font:inherit;font-size:12.5px;padding:0;outline:none;}
.nf2-imp{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;}
.nf2-box{background:#fff;border:1px solid var(--cinza-borda);border-radius:8px;padding:2px 8px;display:flex;align-items:baseline;justify-content:space-between;gap:6px;min-width:0;}
.nf2-box small{font-size:10.5px;color:#5B6270;white-space:nowrap;}
.nf2-box b{font-family:var(--mono);font-size:13px;white-space:nowrap;}
.nf2-box-ed{background:#FFFBEA;border-color:#E8D48A;cursor:text;}
.nf2-box-ed{gap:3px;padding:2px 6px;}
.nf2-box-ed small{flex-shrink:0;letter-spacing:-.2px;}
.nf2 .nf2-box-ed input{flex:1 1 0;align-self:center;border:0;background:transparent;padding:0;margin:0;height:auto;min-height:0;width:100%;min-width:0;text-align:right;font-family:var(--mono);font-size:13px;font-weight:700;box-shadow:none;outline:none;}
.nf2-box-ed:focus-within{border-color:var(--azul,#2563EB);box-shadow:0 0 0 2px rgba(37,99,235,.15);background:#fff;}
.nf2-tot{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.5fr);gap:6px;}
.nf2-tot .nf2-box{flex-direction:column;align-items:stretch;justify-content:center;padding:3px 9px;}
.nf2-tot .nf2-box b{font-size:18px;text-align:right;}
.nf2-tot .nf2-final{background:var(--azul-escuro);border-color:var(--azul-escuro);color:#fff;}
.nf2-tot .nf2-final small{color:#B9CBE3;}
/* Janelas */
.nf2-modal.nf2-modal-centro{align-items:center;padding-top:0;}
.nf2-descbox{background:#fff;box-shadow:0 18px 50px rgba(0,0,0,.3);}
#nf2-desc-valor{width:100%;box-sizing:border-box;height:62px;font:800 34px var(--mono);text-align:center;border:2px solid #1F5FA8;border-radius:10px;box-shadow:0 0 0 4px rgba(31,95,168,.12);outline:none;}
#nf2-desc-valor.campo-erro{border-color:#D64545;box-shadow:0 0 0 4px rgba(214,69,69,.15);}
.nf2-modal{position:fixed;inset:0;background:rgba(10,14,20,.55);z-index:90;display:flex;align-items:flex-start;justify-content:center;padding-top:70px;}
.nf2-modal[hidden]{display:none;}
.nf2-janela{background:#fff;border-radius:12px;width:680px;max-width:calc(100vw - 30px);box-shadow:0 20px 50px rgba(0,0,0,.3);overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 110px);}
.nf2-janela-larga{width:860px;}
.nf2-janela-topo{display:flex;align-items:center;gap:10px;padding:13px 18px;border-bottom:1px solid #EEF0F3;color:var(--azul);}
.nf2-janela-topo b{font-size:16px;color:var(--texto);}
.nf2-janela-busca{padding:12px 18px;}
.nf2-janela-busca input{width:100%;height:40px;border:2px solid var(--azul);border-radius:8px;padding:0 12px;font-size:15px;box-sizing:border-box;outline:none;}
.nf2-janela-lista{overflow:auto;border-top:1px solid #EEF0F3;min-height:120px;}
.nf2-janela-lista .nfe-busca-item{padding:10px 18px;}
.nf2-janela-lista .nfe-busca-item small{font-family:var(--mono);}
.nf2-janela-vazio{margin:0;padding:30px 18px;text-align:center;color:var(--texto-suave);font-size:13.5px;}
.nf2-janela-rodape{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 18px;background:#F7F8FA;font-size:12.5px;color:#5B6270;border-top:1px solid #EEF0F3;}
.nf2-ped-tabela{width:100%;border-collapse:collapse;font-size:13.5px;}
.nf2-ped-tabela th{position:sticky;top:0;background:#F7F8FA;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#5B6270;padding:7px 12px;}
.nf2-ped-tabela th.col-num,.nf2-ped-tabela td.col-num{text-align:right;}
.nf2-ped-tabela td{padding:9px 12px;border-top:1px solid #F1F3F6;cursor:pointer;}
.nf2-ped-tabela td small{color:#5B6270;}
.nf2-ped-tabela tr:hover td{background:#F7FAFE;}
.nf2-ped-tabela tr.nf2-marcado td{background:#EAF2FC;}
.nf2-sit{font-size:12.5px;font-weight:700;white-space:nowrap;}
.nf2-sit.ok{color:#1C6B41;}.nf2-sit.aviso{color:#9A6700;}
.nf2-cinza{color:#8A93A3;}
.nf2-modal-notas{align-items:center;padding:20px;}
.nf2-notas{background:#F3F5F8;border-radius:12px;width:calc(100vw - 120px);max-width:1500px;height:calc(100vh - 40px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.35);}
.nf2-notas-topo{display:flex;align-items:center;gap:10px;background:#0F1B2D;color:#fff;padding:11px 18px;font-size:16px;}
.nf2-notas-topo button{background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:6px;padding:6px 10px;font-weight:700;cursor:pointer;}
.nf2-notas-topo kbd{font-size:10px;background:rgba(255,255,255,.2);border-radius:3px;padding:1px 4px;}
.nf2-notas iframe{flex:1;border:0;width:100%;background:#F3F5F8;}
@media (max-width:1150px){
  .nf2-l1,.nf2-l2{grid-template-columns:repeat(2,minmax(0,1fr));}
  .nf2-lanc{grid-template-columns:repeat(3,minmax(0,1fr));}
  .nf2-lanc .nf2-c-prod{grid-column:1 / -1;}
  .nf2-rod{grid-template-columns:minmax(0,1fr);}
}
/* Tela grande: a página não rola, só a grade dos itens */
@media (min-width:1150px) and (min-height:600px){
  main.page:has(> #form-nfe.nf2){height:100vh;padding:10px 16px 10px;display:flex;flex-direction:column;overflow:hidden;max-width:none;}
  #form-nfe.nf2{flex:1;min-height:0;}
  .nf2-grade{flex:1;min-height:90px;}
}

/* ---------- Lista de NF-e (também dentro da tela de emitir, Ctrl+L) ---------- */
.nl-cartoes{grid-template-columns:repeat(4,minmax(0,1fr));}
.nl-linha.nl-sel td{background:#EAF2FC;}
.nl-linha:focus{outline:none;}
.g2-tabela .nfe-linha-destaque td{background:#FFFBEA;}
.g2-bt.nl-perigo{color:#A5312A;border-color:#F1C6C1;}
.g2-bt.nl-perigo:hover{background:#FDECEC;color:#A5312A;}
.nl-dica{font-size:12px;color:#5B6270;margin:8px 2px 0;}
.nl-cce{border:0;border-radius:12px;padding:0;width:620px;max-width:calc(100vw - 30px);box-shadow:0 20px 50px rgba(0,0,0,.35);}
.nl-cce::backdrop{background:rgba(10,14,20,.55);}
.nl-cce form{display:flex;flex-direction:column;max-height:calc(100vh - 60px);}
.nl-cce-topo{display:flex;align-items:center;gap:8px;padding:13px 18px;border-bottom:1px solid #EEF0F3;font-size:15px;}
.nl-cce-topo span{color:#5B6270;font-size:13px;flex:1;}
.nl-cce-corpo{padding:14px 18px;overflow:auto;}
.nl-cce-corpo label{display:block;font-size:12.5px;font-weight:700;color:#3A4252;margin:10px 0 4px;}
.nl-cce-corpo textarea{width:100%;box-sizing:border-box;border:1px solid #CFD6DF;border-radius:8px;padding:9px 10px;font:inherit;font-size:13.5px;resize:vertical;}
.nl-cce-corpo textarea:focus{outline:none;border-color:var(--azul);box-shadow:0 0 0 3px rgba(31,95,168,.14);}
.nl-cce-regra{margin:0;background:#F4F8FD;border:1px solid #DBE7F6;border-radius:8px;padding:9px 11px;font-size:12.5px;color:#374151;line-height:1.5;}
.nl-cce-conta{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#5B6270;margin-top:5px;}
.nl-cce-sub{font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#5B6270;margin:14px 0 6px;}
.nl-cce-ant{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border:1px solid #EEF0F3;border-radius:8px;padding:8px 10px;margin-bottom:6px;font-size:12.5px;}
.nl-cce-ant span{white-space:pre-wrap;}
.nl-cce-rodape{display:flex;justify-content:flex-end;gap:8px;padding:11px 18px;background:#F7F8FA;border-top:1px solid #EEF0F3;}

/* ===== Crediário no caixa ===== */
.cx2-cli-cred{display:flex;gap:6px;margin-top:4px;font-size:11.5px;white-space:nowrap;flex-wrap:wrap;}
.cx2-cli-cred span{border-radius:8px;padding:2px 7px;font-weight:700;}
.cx2-cli-cred b{font-family:var(--mono);margin-left:3px;}
.cx2-cli-cred .dev{background:#FEF2F2;color:#B91C1C;}
.cx2-cli-cred .disp{background:#F0FDF4;color:#15803D;}
.cx2-cli-cred .disp.neg{background:#FEF2F2;color:#B91C1C;}
.cxcli-selo.cred{background:#FFEDD5;color:#9A3412;margin-right:4px;}
.cxcli-selo.cred b{color:#15803D;}
.pg2-ic.crd{background:#FFEDD5;}
.cred-carregando{text-align:center;color:var(--texto-suave);padding:18px 0;}
.cred-aviso{border:2px solid #DC2626;border-radius:12px;padding:14px;background:#FEF2F2;text-align:center;color:#7F1D1D;}
.cred-aviso-ic{font-size:28px;}
.cred-aviso b{display:block;font-size:16px;color:#991B1B;margin-top:2px;}
.cred-aviso p{margin:4px 0 0;font-size:13.5px;}
.cred-passo{border:2px solid #C2410C;border-radius:12px;padding:12px 14px;background:#FFF7ED;}
.cred-rot{font-size:11px;font-weight:800;letter-spacing:.06em;color:#9A3412;}
.cred-nome{display:block;font-size:16px;margin-top:6px;}
.cred-sub{display:block;font-size:12px;color:#64748B;}
.cred-conta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px;}
.cred-conta>div{background:#fff;border-radius:8px;padding:7px 9px;min-width:0;}
.cred-conta small{display:block;font-size:10.5px;font-weight:800;color:#64748B;}
.cred-conta b{font-family:var(--mono);font-size:16px;}
.cred-conta .v{color:#DC2626;}.cred-conta .l{color:#C2410C;}.cred-conta .g{color:#16A34A;}
.cred-venc{display:flex;align-items:center;gap:10px;margin-top:10px;background:#fff;border:1px solid #FDBA74;border-radius:10px;padding:7px 12px;}
.cred-venc small{font-size:11px;font-weight:800;color:#5B6270;}
.cred-venc b{font:800 17px var(--mono);}
.cred-venc span{margin-left:auto;font-size:12.5px;color:#64748B;}
.cred-limite{margin-top:10px;background:#FEF2F2;border:1px solid #FECACA;color:#991B1B;border-radius:8px;padding:7px 10px;font-size:13px;}
.cred-confirmar{width:100%;height:46px;margin-top:10px;font-size:16px;}

.rc-overlay{position:fixed;inset:0;background:rgba(10,18,30,.6);z-index:45;display:flex;align-items:center;justify-content:center;padding:16px;}
.rc-overlay[hidden]{display:none;}
.rc-janela{position:relative;background:#F3F5F8;border-radius:14px;width:min(1260px,100%);height:min(720px,100%);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.45);}
.rc-topo{background:#fff;border-bottom:1px solid #E3E8EF;padding:12px 16px;display:flex;gap:12px;align-items:stretch;}
.rc-cli-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:96px;border:1px solid #E3E8EF;border-radius:10px;background:#fff;cursor:pointer;font-family:inherit;font-size:12.5px;}
.rc-av{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#FB923C,#EC4899);display:flex;align-items:center;justify-content:center;}
.rc-dados{flex:1;min-width:0;border:1px solid #E3E8EF;border-radius:10px;padding:8px 14px;display:flex;flex-direction:column;justify-content:center;}
.rc-nome{font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rc-nome.rc-sem{color:#94A3B8;}
.rc-dados small{color:#64748B;font-size:12.5px;}
.rc-lim{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap;}
.rc-lim span{border-radius:8px;padding:5px 12px;font-size:13px;font-weight:700;}
.rc-lim b{font-family:var(--mono);font-size:16px;margin-left:6px;}
.rc-lim .l{background:#F1F5F9;}.rc-lim .d{background:#FEF2F2;color:#B91C1C;}.rc-lim .g{background:#F0FDF4;color:#15803D;}
.rc-lim .g.neg{background:#FEF2F2;color:#B91C1C;}.rc-lim .x{background:#FEF3C7;color:#92400E;}
.rc-bt{width:112px;border-radius:10px;border:1px solid #CBD2DC;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-weight:800;font-size:14px;cursor:pointer;font-family:inherit;color:var(--texto);}
.rc-bt i{font-style:normal;font-size:22px;}.rc-bt kbd{font-size:11px;}
.rc-bt-baixar{background:#16A34A;border-color:#16A34A;color:#fff;}
.rc-bt-parcial{background:#FFF7ED;border-color:#FDBA74;color:#9A3412;}
.rc-abas{display:flex;gap:4px;padding:10px 16px 0;}
.rc-abas button{padding:8px 16px;border-radius:8px 8px 0 0;font-weight:700;font-size:13.5px;color:#5B6270;background:#E8ECF2;border:0;cursor:pointer;font-family:inherit;}
.rc-abas button.on{background:#fff;color:var(--azul);box-shadow:inset 0 3px 0 var(--azul);}
.rc-abas small{background:#DBEAFE;color:#1E40AF;border-radius:10px;padding:1px 7px;margin-left:5px;font-size:11px;}
.rc-grade{flex:1;margin:0 16px;background:#fff;border:1px solid #E3E8EF;border-radius:0 10px 10px 10px;overflow:auto;}
.rc-vazio{padding:40px;text-align:center;color:#64748B;}
.rc-tab{width:100%;border-collapse:collapse;font-size:13.5px;}
.rc-tab th{position:sticky;top:0;background:#F8FAFC;font-size:11px;letter-spacing:.04em;color:#64748B;text-align:left;padding:9px 8px;border-bottom:2px solid #E3E8EF;white-space:nowrap;}
.rc-tab td{padding:9px 8px;border-bottom:1px solid #F0F2F5;white-space:nowrap;cursor:default;}
.rc-tab .n{text-align:right;font-family:var(--mono);}
.rc-tab tr.mk td{background:#F0FDF4;}
.rc-tab tr.sel td{box-shadow:inset 0 2px 0 var(--azul),inset 0 -2px 0 var(--azul);}
.rc-tab tr.sel td:first-child{box-shadow:inset 2px 2px 0 var(--azul),inset 0 -2px 0 var(--azul);}
.rc-tab .atr{color:#B91C1C;font-weight:700;}
.rc-tab .rest{background:#FEF9C3 !important;font-weight:800;}
.rc-tab tr.tot td{font-weight:800;color:#475569;text-align:right;}
.rc-chk{width:18px;height:18px;border-radius:5px;border:2px solid #CBD2DC;display:inline-block;vertical-align:middle;position:relative;cursor:pointer;}
.rc-chk.on{background:#16A34A;border-color:#16A34A;}
.rc-chk.on::after{content:'✓';color:#fff;font-size:12px;position:absolute;left:2px;top:-2px;font-weight:900;}
.rc-tag{background:#FFEDD5;color:#9A3412;border-radius:10px;padding:2px 8px;font-size:11.5px;font-weight:700;}
.rc-itens-cab{display:flex;gap:18px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid #E3E8EF;background:#F8FAFC;font-size:13.5px;}
.rc-itens-cab .dir{margin-left:auto;}
.rc-itens-pe{padding:8px 14px;font-size:12.5px;color:#64748B;margin:0;}
.rc-rodape{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;padding:12px 16px 6px;}
.rc-bx{background:#fff;border:1px solid #E3E8EF;border-radius:10px;padding:8px 14px;min-width:0;}
.rc-bx small{font-size:12px;color:#64748B;font-weight:700;}
.rc-bx b{display:block;text-align:right;font:800 24px var(--mono);}
.rc-bx-total{background:#0F2A4A;border-color:#0F2A4A;}
.rc-bx-total small{color:#93C5FD;}.rc-bx-total b{color:#4ADE80;}
.rc-dicas{font-size:12px;color:#7A889A;padding:4px 16px 10px;display:flex;gap:16px;flex-wrap:wrap;}
.rc-pag{position:absolute;inset:0;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;}
.rc-pag[hidden]{display:none;}
.rc-pag-caixa{background:#fff;border-radius:14px;width:440px;max-width:calc(100% - 32px);padding:18px 20px;box-shadow:0 20px 50px rgba(0,0,0,.35);}
.rc-pag-rot{font-size:11px;font-weight:800;letter-spacing:.08em;color:#5B6270;}
.rc-pag-total{display:flex;justify-content:space-between;align-items:center;background:#FEF2F2;border-radius:10px;padding:10px 14px;margin:10px 0;}
.rc-pag-total span{font-weight:700;color:#B91C1C;}
.rc-pag-total b{font:800 24px var(--mono);color:#DC2626;}
.rc-formas{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}
.rc-formas button{padding:9px 4px;border-radius:8px;border:1px solid #CBD2DC;background:#fff;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit;display:flex;flex-direction:column;align-items:center;gap:2px;}
.rc-formas button kbd{font-size:10px;}
.rc-formas button.on{border:2px solid var(--azul);background:#EFF6FF;color:var(--azul);}
.rc-pag-campo{display:block;font-size:11.5px;font-weight:800;color:#5B6270;letter-spacing:.04em;margin-top:12px;}
.rc-pag-campo[hidden]{display:none;}
.rc-pag-campo input{display:block;width:100%;box-sizing:border-box;margin-top:5px;height:52px;font:800 26px var(--mono);text-align:center;border:2px solid #1F5FA8;border-radius:10px;}
.rc-troco{min-height:20px;margin:8px 0 0;text-align:center;font-weight:800;color:#15803D;}
.rc-troco.erro{color:#DC2626;}
.rc-pag-dica{font-size:12px;color:#7A889A;text-align:center;margin:4px 0 0;}
.rc-pag-botoes{display:flex;gap:10px;margin-top:14px;}
.rc-pag-botoes .btn{flex:1;height:44px;}
.rc-pag-botoes .btn-sucesso{flex:1.5;}

/* ===== Cadastro de cliente: tela compacta (cabe sem rolar em telas de computador) ===== */
@media (min-width: 1100px) {
  .page:has(.cli-grade){padding-top:14px !important}
  .cli-topo{margin-bottom:10px}
  .cli-topo h2,.cli-topo .titulo-pagina{font-size:20px;margin:0}
  .cli-grade{grid-template-columns:minmax(0,1fr) 290px !important;gap:12px}
  .cli-coluna{display:grid !important;grid-template-columns:1fr 1fr;gap:12px !important;align-items:stretch}
  .cli-card{padding:12px 16px !important;border-radius:10px}
  .cli-secao{margin:0 0 8px !important;font-size:11.5px !important}
  .cli-secao-linha{margin-bottom:8px !important}
  .cli-card .form-grupo{margin-bottom:8px !important}
  .cli-card label{font-size:11.5px !important;margin-bottom:3px !important}
  .cli-card input,.cli-card select{height:34px !important;padding:5px 9px !important;font-size:13.5px !important}
  .cli-card textarea{height:34px !important;min-height:34px !important;padding:6px 9px !important;font-size:13.5px}
  .cli-dica{font-size:11.5px}
  .cli-tipo button,.cli-tipo{font-size:13px}
  .cli-lateral{gap:10px !important}
  .cli-cartao{flex-direction:row !important;gap:12px;align-items:center;text-align:left !important;padding:10px 14px !important}
  .cli-cartao .cli-avatar{width:46px !important;height:46px !important;font-size:18px !important;margin:0 !important;flex-shrink:0}
  .cli-checklist ul{margin:4px 0 !important}.cli-checklist li{font-size:12.5px;margin:1px 0 !important}
  .cli-cred{gap:8px !important}
  .cli-cred-saldos{margin-top:8px !important}
  .cli-compras{padding:10px 14px !important;gap:4px !important;font-size:13px}
  .cli-coluna > section:nth-child(4){grid-column:1 / -1;order:5}
  .cli-coluna > section:nth-child(5){order:4}
  .cli-end1{grid-template-columns:150px minmax(0,1fr) 110px !important}
  .cli-end2{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 80px 120px !important}
  .cli-card textarea{height:92px !important;width:100% !important}
  .cli-cartao{flex-wrap:wrap}
  .cli-cartao strong{font-size:15px !important}
  .cli-cartao .cli-dica{display:none}
  .cli-cartao .cli-selos{width:100%;margin:0 !important}
  .cli-card-fiscal .cli-dica,#cli-card-fiscal .cli-secao-linha .cli-dica{display:none}
  #cli-card-fiscal .cli-3{grid-template-columns:1.2fr 1fr 1fr !important}
  .cli-coluna{grid-template-columns:1.3fr 1fr !important}
  .cli-coluna > section:first-child .cli-2{grid-template-columns:1fr !important}
  .cli-coluna > section:first-child .cli-linha-doc{grid-template-columns:minmax(220px,1.3fr) minmax(0,1fr) !important}
  .cli-coluna > section:first-child .cli-linha-doc .cli-status{font-size:12px;line-height:1.3;margin:14px 0 0}
  .cli-coluna > section:first-child .cli-tipo{margin-bottom:8px !important}
  #cli-card-fiscal .cli-3{grid-template-columns:1fr 1fr !important}
  #cli-card-fiscal .cli-3 > .form-grupo:first-child{grid-column:1 / -1}
}

/* Recebimento do crediário: aba Notas, marcar todos e a caixinha de pagamento */
.rc-abas{align-items:flex-end;}
.rc-abas-dir{margin-left:auto;display:flex;align-items:center;gap:12px;padding-bottom:6px;}
.rc-soma{font-size:13px;color:#475569;}
.rc-soma b{color:var(--texto);font-family:var(--mono);}
.rc-abas .rc-todos{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #CBD2DC;border-radius:8px;padding:6px 12px;box-shadow:none;color:var(--texto);}
.rc-abas .rc-todos[hidden]{display:none;}
.rc-abas .rc-todos kbd{font-size:10.5px;}
.rc-tab th .rc-chk{background:#fff;}
.rc-tab th .rc-chk.on{background:#16A34A;}
.rc-tab tbody tr{user-select:none;}
.rc-tab .desc{color:#B91C1C;}
.rc-cx{background:#BFDBFE;border-radius:10px;width:340px;max-width:calc(100% - 32px);box-shadow:0 20px 50px rgba(0,0,0,.4);overflow:hidden;border:1px solid #93C5FD;}
.rc-cx-tit{display:flex;justify-content:space-between;align-items:center;background:#F1F5F9;padding:8px 12px;font-size:13px;font-weight:700;color:#334155;}
.rc-cx-tit button{border:0;background:none;font-size:15px;cursor:pointer;color:#64748B;}
.rc-cx-corpo{padding:14px 18px 16px;}
.rc-cx-info{font-size:12.5px;color:#1E3A5F;margin-bottom:6px;}
.rc-cx-corpo label{display:block;font-size:19px;color:#0F172A;margin:10px 0 4px;}
.rc-cx-corpo select{width:100%;height:40px;font-size:18px;padding:0 8px;border:1px solid #94A3B8;border-radius:4px;background:#fff;}
.rc-cx-corpo input{width:100%;box-sizing:border-box;height:46px;font:500 28px var(--mono);text-align:right;padding:0 10px;border:1px solid #94A3B8;border-radius:4px;}
.rc-cx-corpo input:focus,.rc-cx-corpo select:focus{outline:2px solid #1F5FA8;}
.rc-cx .rc-troco{min-height:20px;margin:8px 0 0;font-size:14px;}
.rc-troco.falta{color:#9A3412;}
.rc-cx-ok{display:flex;align-items:center;gap:8px;margin:10px auto 0;padding:8px 18px;border:1px solid #94A3B8;border-radius:6px;background:#fff;font-size:16px;font-weight:700;cursor:pointer;font-family:inherit;color:#15803D;}
.rc-cx-ok kbd{font-size:10.5px;color:#475569;}
.rc-cx-ok:disabled{opacity:.6;}
.rc-cx .rc-pag-dica{margin-top:8px;color:#1E3A5F;}
.rc-tab tr.venc td{color:#DC2626;font-weight:700;}
.rc-tab tr.venc .rc-tag{background:#FEE2E2;color:#B91C1C;}

/* ===== Relatórios → Lucratividade ===== */
.lc-topo{display:flex;justify-content:space-between;align-items:center;gap:12px;}
.lc-imprimir{background:#0F1B2D;color:#fff !important;border-radius:8px;padding:9px 16px;font-weight:700;text-decoration:none;}
.lc-imprimir:hover{background:#1E2F48;}
.lc-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:4px 0 12px;}
.lc-card{background:#fff;border:1px solid #E3E8EF;border-radius:10px;padding:10px 14px;min-width:0;}
.lc-card small{display:block;font-size:11px;font-weight:700;letter-spacing:.05em;color:#5B6270;}
.lc-card b{display:block;font:700 19px var(--mono);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lc-card span{display:block;font-weight:700;margin-top:5px;font-size:14px;}
.lc-lucro{background:#F0FDF4;border-color:#A7D8B3;}.lc-lucro b{color:#15803D;}
.lc-lucro.lc-neg{background:#FEF2F2;border-color:#F5B5B5;}.lc-lucro.lc-neg b{color:#DC2626;}
.lc-atencao{background:#FEF2F2;border-color:#F5C2C2;}.lc-atencao span{color:#DC2626;}
.lc-tudo-ok span{color:#15803D;}
.lc-tabela{background:#fff;border:1px solid #E3E8EF;border-radius:10px;overflow:hidden;}
.lc-rolar{max-height:calc(100vh - 330px);min-height:260px;overflow:auto;}
.lc-tab{width:100%;border-collapse:collapse;font-size:13.5px;margin:0;}
.lc-tab th{position:sticky;top:0;z-index:1;background:#F8FAFC;font-size:11px;letter-spacing:.04em;color:#5B6270;text-align:left;padding:10px 10px;border-bottom:1px solid #E3E8EF;white-space:nowrap;}
.lc-tab td{padding:9px 10px;border-bottom:1px solid #F0F2F5;white-space:nowrap;}
.lc-tab tbody tr{cursor:pointer;}
.lc-tab tbody tr:hover td{background:#F5F9FF;}
.lc-tab .n{text-align:right;font-family:var(--mono);}
.lc-tab .c{text-align:center;}
.lc-cod{color:#7A889A;font-family:var(--mono);}
.lc-nome{font-weight:700;max-width:260px;overflow:hidden;text-overflow:ellipsis;}
.lc-forte{font-weight:800;}
.lc-vermelho{color:#DC2626 !important;}
.lc-mg{display:inline-block;border-radius:10px;padding:2px 9px;font:700 12px var(--mono);}
.lc-mg-ok{background:#DCFCE7;color:#166534;}
.lc-mg-baixa{background:#FEF3C7;color:#92400E;}
.lc-mg-neg{background:#FEE2E2;color:#B91C1C;}
.lc-mg-sem{background:#F1F5F9;color:#64748B;font-family:inherit;}
.lc-prej td{background:#FFF5F5;}
.lc-semcusto td{color:#94A3B8;}
.lc-semcusto .lc-nome{color:#64748B;}
.lc-bar{display:inline-block;height:8px;background:#4F8A5B;border-radius:4px;vertical-align:middle;margin-right:6px;}
.lc-sm{font-size:12px;color:#7A889A;}
.lc-tab tfoot td{position:sticky;bottom:0;background:#F8FAFC;font-weight:800;border-top:2px solid #CBD2DC;font-family:var(--mono);}
.lc-tab tfoot td:nth-child(2){font-family:inherit;}
.lc-vazio{text-align:center;color:#64748B;padding:36px !important;cursor:default;}
.lc-rodape{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;border-top:1px solid #E3E8EF;font-size:12.5px;color:#5B6270;}
.lc-nota{background:#FFFBEB;border:1px solid #FCD34D;color:#92400E;border-radius:6px;padding:4px 10px;}
@media (max-width:900px){.lc-cards{grid-template-columns:repeat(2,1fr);}.lc-rolar{max-height:none;}}
.aba-novo{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:10px;background:#FEF3C7;color:#92400E;font-size:10.5px;font-weight:800;letter-spacing:.03em;vertical-align:2px;text-transform:lowercase;}

/* Caixa: coluna de desconto no item (ordem: código, produto, qtd, preço, desc., total) */
.ticket .col-desc{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14.5px;color:#9AA4B2;width:1%;padding-left:14px;}
.ticket td.col-desc.tem{color:#C2410C;font-weight:700;}
.cx2-cupom .ticket th.col-desc{font-size:10.5px;font-family:Arial,Helvetica,sans-serif;font-weight:800;color:var(--texto-suave);text-align:right;}
@media(min-width:761px){.ticket .selo-desc-item{display:none;}}
@media(max-width:760px){.ticket td.col-desc{display:none;}}

/* Caixa: quadro da próxima NFC-e (série e número) entre Venda nº e Pedido nº */
.cx2-nums.cx2-nums-3{grid-template-columns:1fr 1.15fr 1fr;}
.cx2-nums.cx2-nums-3 .cx2-num b{font-size:28px;}
.cx2-nums.cx2-nums-3 .cx2-num{padding:8px 12px;}
.cx2-num-nfce{background:#F0FDF4;border-color:#A7D8B3;}
.cx2-num-nfce small{color:#166534 !important;white-space:nowrap;}
.cx2-num-nfce b{color:#15803D !important;}
.canc2-detalhe{margin:8px 0 16px;color:#5B6270;font-size:14px;text-align:center;}
.canc2-detalhe[hidden]{display:none;}
.adm-col-cod{width:1%;white-space:nowrap;font-family:var(--mono);color:var(--texto-suave);}

/* ===== Painel das empresas (admin): cartões, filtros de situação, ações ===== */
.adm-cards{grid-template-columns:repeat(5,minmax(0,1fr)) !important;gap:10px !important;}
.adm-cards .resumo-card{padding:12px 16px;text-decoration:none;color:inherit;}
.adm-cards a.resumo-card:hover{border-color:#9DB4D3;}
.adm-cards .num{font-size:22px;}
@media(max-width:900px){.adm-cards{grid-template-columns:repeat(2,1fr) !important;}}
.adm-linha{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 10px;}
.adm-linha .adm-filtros{margin:0;}
.adm-linha .busca-lista{margin:0;flex:1;min-width:240px;max-width:380px;}
.adm-situacao{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px;}
.adm-sit-rot{font-size:12.5px;color:var(--texto-suave);font-weight:700;}
.adm-situacao a{display:inline-flex;align-items:center;gap:6px;border:1px solid #CBD2DC;background:#fff;border-radius:18px;padding:5px 12px;font-size:13px;font-weight:700;color:#334155;text-decoration:none;}
.adm-situacao a b{background:#F1F5F9;border-radius:9px;padding:0 7px;font-size:12px;}
.adm-situacao a small{font-weight:800;font-size:11.5px;}
.adm-situacao .s-ativa{color:#15803D;}.adm-situacao .s-bloq{color:#B91C1C;}
.adm-situacao .s-dev{color:#C2410C;border-color:#FDBA74;background:#FFF7ED;}.adm-situacao .s-venc{color:#A16207;}
.adm-situacao a.on{background:#0F2A4A;border-color:#0F2A4A;color:#fff;}
.adm-situacao a.on b{background:rgba(255,255,255,.2);}
.adm-situacao a.s-dev.on{background:#C2410C;border-color:#C2410C;}
.adm-sub{display:block;color:var(--texto-suave);font-size:12px;}
.adm-atraso{color:var(--vermelho);font-weight:700;}
.col-acoes{white-space:nowrap;}
.adm-mais{display:inline-block;position:relative;}
.adm-mais summary{list-style:none;cursor:pointer;font-weight:800;}
.adm-mais summary::-webkit-details-marker{display:none;}
.adm-mais-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:20;background:#fff;border:1px solid #DDE3EA;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.15);padding:6px;min-width:210px;}
.adm-mais-menu a,.adm-mais-menu button{display:block;width:100%;text-align:left;padding:8px 10px;border-radius:6px;font-size:13.5px;font-weight:700;color:#162033;background:none;border:0;cursor:pointer;text-decoration:none;font-family:inherit;}
.adm-mais-menu a:hover,.adm-mais-menu button:hover{background:#F1F5F9;}
.adm-mais-menu form{margin:0;}
.adm-mais-perigo{color:#B91C1C !important;}.adm-mais-ok{color:#15803D !important;}
.adm-total-dev{text-align:right;margin:8px 0 0;font-size:13.5px;color:#334155;}
.adm-total-dev b{color:#162033;font-family:var(--mono);font-size:15px;}
.adm-total-dev.dev b{color:var(--vermelho);}

/* Aviso de mensalidade vencida (situação Cobrança) */
.aviso-cobranca{display:flex;align-items:center;gap:14px;background:#FFF7ED;border:1px solid #FDBA74;border-radius:12px;padding:12px 16px;margin:0 0 16px;}
.aviso-cobranca-ic{font-size:22px;color:#C2410C;}
.aviso-cobranca b{color:#9A3412;}
.aviso-cobranca small{display:block;color:#78716C;font-size:13px;margin-top:2px;}
.aviso-cobranca small b{color:#9A3412;}
.aviso-cobranca-bt{margin-left:auto;background:#C2410C;color:#fff !important;border-radius:8px;padding:9px 16px;font-weight:800;text-decoration:none;white-space:nowrap;}
@media(max-width:700px){.aviso-cobranca{flex-wrap:wrap;}.aviso-cobranca-bt{margin-left:0;}}
.cx2-aviso-cobranca{margin-left:12px;background:#FFF7ED;border:1px solid #FDBA74;color:#9A3412;border-radius:12px;padding:2px 12px;font-size:12.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* ===== Situação (Normal/Cobrança/Atualização/Bloqueado) e Status (Ativo/Inativo) ===== */
.ae-cobranca{color:#C2410C;font-weight:bold;}
.ae-inativa{color:#64748B;font-weight:bold;}
.ae-status{display:flex;gap:10px;flex-wrap:wrap;}
.ae-status label{display:flex;align-items:center;gap:8px;border:1px solid #CBD2DC;border-radius:10px;padding:10px 18px;font-size:14.5px;font-weight:800;color:#475569;cursor:pointer;margin:0;}
.ae-status label input{width:18px;height:18px;margin:0;accent-color:#15803D;}
.ae-status label:has(input:checked){border:2px solid #15803D;background:#F0FDF4;color:#15803D;}
.ae-status label:has(input[value="1"]:checked){border-color:#475569;background:#F1F5F9;color:#334155;}
.ae-status label:has(input[value="1"]) input{accent-color:#475569;}
.adm-linha .busca-lista{display:flex;align-items:center;gap:10px;flex-wrap:wrap;max-width:none;flex:1;}
.adm-linha .busca-lista .form-grupo{flex:1;min-width:220px;max-width:340px;margin:0;}
.adm-fsel{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:#475569;margin:0;}
.adm-fsel select{border:1px solid #CBD2DC;border-radius:8px;padding:7px 10px;font-weight:700;font-size:13.5px;background:#fff;}
.adm-sit-form{margin:0;}
.adm-sit{appearance:none;-webkit-appearance:none;border-radius:16px;padding:5px 28px 5px 12px;font-weight:800;font-size:13px;border:1px solid;cursor:pointer;
  background-repeat:no-repeat;background-position:right 9px center;background-size:10px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'><path d='M0 0l5 6 5-6z' fill='%23475569'/></svg>");}
.adm-sit-ativo{background-color:#F0FDF4;border-color:#86EFAC;color:#15803D;}
.adm-sit-cobranca{background-color:#FFF7ED;border-color:#FDBA74;color:#C2410C;}
.adm-sit-atualizacao{background-color:#EFF6FF;border-color:#93C5FD;color:#1D4ED8;}
.adm-sit-suspenso{background-color:#FEF2F2;border-color:#FCA5A5;color:#B91C1C;}
.adm-sit option{color:#162033;background:#fff;}
.adm-inativa td{opacity:.55;background:#F8FAFC;}
.adm-tag-inativo{background:#E2E8F0;color:#475569;border-radius:8px;padding:1px 7px;font-size:10.5px;font-weight:800;vertical-align:2px;margin-left:4px;}
.adm-sem-sit{color:#94A3B8;font-weight:700;}

/* ---------- Caixa: venda por valor (F7) ---------- */
.cx2-busca.vv{border-color:#C2410C!important;box-shadow:0 0 0 3px rgba(194,65,12,.15)!important;}
.cx2-qtd-chip.valor{background:#C2410C;color:#fff;border-color:#C2410C;}
.cx2-vv-tag{flex:none;display:inline-flex;align-items:center;gap:6px;background:#FFF7ED;border:1px solid #FDBA74;color:#9A3412;border-radius:999px;padding:4px 10px;font-size:12.5px;font-weight:800;white-space:nowrap;margin-left:8px;cursor:pointer;}
.cx2-vv-tag[hidden]{display:none;}
.cx2-vv-tag kbd{background:#fff;border:1px solid #FDBA74;border-radius:5px;padding:0 5px;font-size:11px;font-family:inherit;}
.selo-peso.selo-valor{background:#FFF7ED;color:#9A3412;}
.cx2-tag.valor{background:#FFF7ED;color:#9A3412;}

/* ===== Painel das empresas: cartões compactos, busca embaixo, páginas (31/10) ===== */
.adm-cards{margin-bottom:12px !important;align-items:center;}
.adm-cards .resumo-card{display:flex;align-items:center;gap:8px;padding:9px 14px;min-height:0;height:auto;}
.adm-cards .resumo-card .num{font-size:20px;line-height:1.1;margin:0;white-space:nowrap;}
.adm-cards .resumo-card .rotulo{font-size:12.5px;margin:0;line-height:1.25;}
.adm-cards .resumo-destaque .num{font-size:18px;}
.adm-cards .resumo-destaque .rotulo{font-size:12px;}
.adm-filtro-form{margin:0;}
.adm-filtro-form .adm-linha{margin:4px 0 10px;}
.adm-busca{display:flex;align-items:center;gap:10px;width:640px;max-width:100%;height:50px;margin:0 0 14px;padding:0 14px;background:#fff;border:1.5px solid #CBD2DC;border-radius:12px;color:#64748B;box-sizing:border-box;}
.adm-busca:focus-within{border-color:#1E5AA8;box-shadow:0 0 0 3px rgba(30,90,168,.14);}
.adm-busca input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:16px;height:46px;padding:0;color:#0F172A;}
.adm-rodape{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px;}
.adm-rodape .adm-total-dev{margin:0;text-align:left;}
.adm-rodape .adm-total-dev b.n{font-family:inherit;font-size:13.5px;}
.adm-paginas{display:flex;gap:6px;align-items:center;}
.adm-paginas a{min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;border:1px solid #CBD2DC;border-radius:8px;background:#fff;color:#162033;font-weight:700;text-decoration:none;}
.adm-paginas a:hover{border-color:#9DB4D3;}
.adm-paginas a.ativo{background:#0F2A4A;border-color:#0F2A4A;color:#fff;}
.adm-paginas a.off{opacity:.4;pointer-events:none;}
.adm-paginas span{color:#94A3B8;padding:0 2px;}
.adm-obs{position:relative;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:4px;border-radius:6px;background:#FEF3C7;font-size:12px;vertical-align:middle;cursor:help;}
.adm-obs-bal{display:none;position:absolute;left:26px;top:-6px;z-index:20;width:320px;background:#1E293B;color:#F8FAFC;border-radius:10px;padding:10px 12px;font-size:12.5px;font-weight:400;line-height:1.45;white-space:pre-line;text-align:left;box-shadow:0 10px 25px rgba(0,0,0,.25);}
.adm-obs-bal b{display:block;color:#FCD34D;font-size:11px;letter-spacing:.04em;margin-bottom:4px;}
.adm-obs:hover .adm-obs-bal,.adm-obs:focus .adm-obs-bal{display:block;}
@media(max-width:700px){.adm-obs-bal{left:auto;right:-10px;top:26px;width:260px;}}

/* ===== Empresa: abas, observações e assinatura (31/10) ===== */
.ae-abas{display:flex;gap:4px;border-bottom:1px solid var(--cinza-borda,#E2E8F0);margin:-6px 0 18px;overflow-x:auto;}
.ae-abas a{padding:10px 14px;font-weight:600;font-size:14px;color:#64748B;text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;}
.ae-abas a:hover{color:#1E4E8C;}
.ae-abas a.on{color:#1E4E8C;border-bottom-color:#1E4E8C;}
.ae-obs{width:100%;min-height:110px;border:1px solid #CBD2DC;border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;line-height:1.5;resize:vertical;box-sizing:border-box;}
.ae-obs:focus{outline:0;border-color:#1E5AA8;box-shadow:0 0 0 3px rgba(30,90,168,.14);}
.ae-obs-rod{display:flex;justify-content:space-between;gap:10px;margin-top:6px;font-size:12px;color:#64748B;}
.as-dica{font-size:12.5px;color:#64748B;margin:-4px 0 10px;}
.as-rot{display:block;font-size:13px;font-weight:700;color:#475569;margin-bottom:6px;}
.as-op2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.as-op{display:flex;gap:10px;align-items:flex-start;border:1px solid #CBD2DC;border-radius:10px;padding:10px 12px;cursor:pointer;margin:0;}
.as-op.on{border-color:#1E4E8C;background:#F1F6FD;}
.as-op b{display:block;font-size:14px;color:#0F172A;}
.as-op small{font-size:12px;color:#475569;font-weight:400;}
.as-op input{margin-top:3px;}
.as-chk{display:flex;gap:6px 14px;flex-wrap:wrap;padding-top:8px;}
.as-chk label{display:inline-flex;gap:5px;align-items:center;font-weight:500;font-size:13.5px;color:#1E293B;margin:0;white-space:nowrap;}
.as-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.as-st{display:flex;gap:10px;align-items:flex-start;background:#F8FAFC;border:1px dashed #CBD2DC;border-radius:10px;padding:12px;}
.as-st b{display:block;font-size:14px;}
.as-st small{font-size:12.5px;color:#475569;}
.as-bol{width:10px;height:10px;border-radius:50%;background:#94A3B8;margin-top:5px;flex:none;}
.as-st.ok{border-style:solid;border-color:#BBE5C8;background:#F0FAF3;}
.as-st.ok .as-bol{background:#16A34A;}
.as-falta{margin-top:10px;font-size:12.5px;color:#9A3412;background:#FFF7ED;border:1px solid #FED7AA;border-radius:8px;padding:8px 10px;}
.as-conta{margin-top:14px;display:flex;flex-direction:column;gap:2px;}
.as-conta span{font-size:13px;font-weight:700;color:#475569;}
.as-conta b{font-size:14.5px;color:#0F172A;}
.as-conta small{font-size:12px;color:#64748B;}
.as-auto{display:flex;gap:10px;align-items:flex-start;margin:14px 0 0;padding-top:12px;border-top:1px solid #EEF2F7;cursor:pointer;}
.as-auto b{display:block;font-size:13.5px;}
.as-auto small{font-size:12px;color:#64748B;font-weight:400;}
.as-auto input{margin-top:3px;}
.as-tab{width:100%;border-collapse:collapse;font-size:13.5px;}
.as-tab td{padding:8px 4px;border-bottom:1px solid #EEF2F7;color:#334155;}
.as-tab td:first-child{font-weight:700;color:#0F172A;}
.as-tab .v{text-align:right;font-family:var(--mono,monospace);font-weight:700;}
.as-regra{margin-top:12px;font-size:12.5px;color:#475569;background:#FFFBEB;border:1px solid #FDE68A;border-radius:10px;padding:10px 12px;line-height:1.5;}
.as-regra .c{color:#C2410C;}.as-regra .b{color:#B91C1C;}.as-regra .n{color:#15803D;}
@media(max-width:700px){.as-op2,.as-g3{grid-template-columns:1fr;}}
.painel-subtitulo + .ae-abas{margin-top:12px;}

/* ===== Corrigir códigos da importação (31/10) ===== */
.rn-cards{grid-template-columns:repeat(4,minmax(0,1fr)) !important;margin-bottom:18px !important;}
.rn-tab{width:100%;border-collapse:collapse;font-size:13.5px;}
.rn-tab th{text-align:left;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:#64748B;padding:6px 8px;border-bottom:1px solid #E2E8F0;}
.rn-tab td{padding:7px 8px;border-bottom:1px solid #EEF2F7;}
.rn-tab .n{text-align:right;font-family:var(--mono,monospace);white-space:nowrap;}
.rn-tab .de{color:#94A3B8;text-decoration:line-through;}
.rn-tab .para{color:#15803D;font-weight:700;}
.rn-tab .seta{color:#94A3B8;width:20px;text-align:center;}
.rn-motivo{font-size:12.5px;color:#9A3412;}
.rn-aplicar ul{margin:0 0 14px 18px;padding:0;font-size:13.5px;line-height:1.7;color:#334155;}
.rn-aplicar code{background:#F1F5F9;border-radius:5px;padding:1px 6px;font-size:12.5px;}
.rn-conf{display:flex;gap:8px;align-items:center;margin:0 0 12px;font-weight:600;}
@media(max-width:700px){.rn-cards{grid-template-columns:repeat(2,1fr) !important;}}

/* ===== Minha conta Efí (31/10) ===== */
.ef-teste{border-radius:10px;padding:12px 16px;margin:0 0 16px;border:1px solid;}
.ef-teste.ok{background:#F0FAF3;border-color:#BBE5C8;color:#14532D;}
.ef-teste.falha{background:#FFF7ED;border-color:#FED7AA;color:#7C2D12;}
.ef-teste ul{margin:6px 0 0;padding:0;list-style:none;font-size:13.5px;line-height:1.7;}
.ef-teste li.ok{color:#15803D;}
.ef-teste li.falha{color:#B91C1C;}
.ef-prod{color:#9A3412 !important;font-weight:600;}
.ef-cert{display:flex;flex-direction:column;background:#F8FAFC;border:1px solid #E2E8F0;border-radius:8px;padding:8px 12px;font-size:14px;margin-bottom:6px;}
.ef-cert small{color:#64748B;font-size:12px;}
.ef-botoes{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:6px;}
.ef-selo{font-size:12.5px;font-weight:700;border-radius:999px;padding:4px 10px;}
.ef-selo.ok{background:#DCFCE7;color:#166534;}
.ef-selo.falha{background:#FEE2E2;color:#991B1B;}
.ef-passos{margin:0 0 12px 18px;padding:0;font-size:13.5px;line-height:1.65;color:#334155;}
.ef-seguro{font-size:12.5px;color:#475569;background:#F1F5F9;border-radius:8px;padding:8px 12px;}
.ef-remover{margin-top:14px;padding-top:10px;border-top:1px solid #EEF2F7;}
.ef-link-perigo{background:none;border:0;padding:0;color:#B91C1C;font-size:12.5px;text-decoration:underline;cursor:pointer;}
.as-conta .ef-on{color:#15803D;font-size:12.5px;font-weight:700;}
.as-conta .ef-off{color:#9A3412;font-size:12.5px;font-weight:700;}

/* ===== Faturas da empresa (01/11) ===== */
.ft-topo{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 12px;font-size:13.5px;color:#475569;}
.ft-topo form{margin:0;}
.ft-lista{display:flex;flex-direction:column;gap:14px;}
.ft-card{background:#fff;border:1px solid var(--cinza-borda,#E2E8F0);border-left:4px solid #94A3B8;border-radius:10px;padding:14px 18px;}
.ft-card.aberta{border-left-color:#1E5AA8;}
.ft-card.vencida{border-left-color:#DC2626;}
.ft-card.paga{border-left-color:#16A34A;}
.ft-card.cancelada{border-left-color:#CBD5E1;opacity:.7;}
.ft-cab{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.ft-cab > div:first-child{flex:1;min-width:180px;}
.ft-venc{display:block;font-size:15.5px;color:#0F172A;}
.ft-tipo{font-size:12.5px;color:#64748B;}
.ft-valor{font-family:var(--mono,monospace);font-weight:700;font-size:17px;text-align:right;}
.ft-valor small{display:block;font-family:inherit;font-size:11.5px;font-weight:400;color:#15803D;}
.ft-status{font-size:12px;font-weight:800;border-radius:999px;padding:4px 10px;white-space:nowrap;}
.ft-status.aberta{background:#E0ECFA;color:#1E4E8C;}
.ft-status.vencida{background:#FEE2E2;color:#991B1B;}
.ft-status.paga{background:#DCFCE7;color:#166534;}
.ft-status.cancelada{background:#F1F5F9;color:#64748B;}
.ft-pago{margin:8px 0 0;font-size:13.5px;color:#166534;}
.ft-corpo{display:flex;gap:16px;align-items:flex-start;margin-top:12px;}
.ft-qr{width:132px;height:132px;border:1px solid #E2E8F0;border-radius:8px;flex:none;background:#fff;}
.ft-dados{flex:1;min-width:0;}
.ft-dados label{display:block;font-size:12px;font-weight:700;color:#475569;margin:0 0 4px;}
.ft-copia{display:flex;gap:8px;margin-bottom:10px;}
.ft-copia input{flex:1;min-width:0;font-family:var(--mono,monospace);font-size:12px;border:1px solid #CBD2DC;border-radius:8px;padding:7px 10px;background:#F8FAFC;}
.ft-links{display:flex;gap:16px;flex-wrap:wrap;font-size:13.5px;}
.ft-links a{font-weight:600;}
.ft-acoes{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid #EEF2F7;}
.ft-acoes > form{display:flex;gap:8px;margin:0;}
.ft-perigo{color:#B91C1C !important;}
.ft-manual{font-size:13px;}
.ft-manual summary{cursor:pointer;color:#475569;padding:6px 0;}
.ft-manual form{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin-top:8px;}
.ft-manual label{display:flex;flex-direction:column;font-size:12px;font-weight:700;color:#475569;gap:3px;}
.ft-manual input{border:1px solid #CBD2DC;border-radius:7px;padding:6px 8px;font-size:13px;width:120px;}
@media(max-width:700px){.ft-corpo{flex-direction:column;}.ft-valor{text-align:left;}}
.as-cancelar{display:inline-block;margin:8px 0 0;}
.ft-tipo .ft-ass{background:#EEF2FF;color:#3730A3;border-radius:6px;padding:1px 6px;font-weight:700;}

/* ===== Caixa bloqueado: pagar agora (01/11) ===== */
.aviso-pagar{margin:18px 0;padding:16px;border:1px solid #BFD3EE;border-radius:12px;background:#F5F9FF;text-align:center;}
.aviso-pagar h3{margin:0 0 4px;font-size:16px;color:#0F2A4A;}
.aviso-pagar-valor{margin:0 0 10px;color:#334155;}
.aviso-pagar-valor b{font-family:var(--mono,monospace);font-size:18px;color:#0F172A;}
.aviso-pagar img{width:190px;height:190px;border:1px solid #E2E8F0;border-radius:10px;background:#fff;}
.aviso-pagar-copia{display:flex;gap:8px;margin:10px auto 6px;max-width:420px;}
.aviso-pagar-copia input{flex:1;min-width:0;font-family:var(--mono,monospace);font-size:12px;border:1px solid #CBD2DC;border-radius:8px;padding:7px 10px;background:#fff;}
.aviso-pagar-dica{font-size:12.5px;color:#475569;margin:6px 0;}
.aviso-pagar-status{font-size:13px;color:#1E4E8C;font-weight:600;margin:8px 0 0;display:flex;align-items:center;justify-content:center;gap:8px;}
.ap-ponto{width:9px;height:9px;border-radius:50%;background:#1E5AA8;animation:apPulso 1.2s infinite;}
@keyframes apPulso{0%,100%{opacity:.25}50%{opacity:1}}
.aviso-pagar.pago{background:#F0FAF3;border-color:#BBE5C8;}
.aviso-pagar.pago h3{color:#166534;}

/* ===== Faturas no sistema da loja (01/11) ===== */
.fl-badge{margin-left:auto;background:#F59E0B;color:#111;border-radius:999px;font-size:11px;font-weight:800;padding:1px 7px;line-height:1.5;}
.fp-card{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #FED7AA;border-left:5px solid #EA580C;border-radius:12px;padding:14px 18px;margin:0 0 18px;}
.fp-card.vencida{border-color:#FCA5A5;border-left-color:#DC2626;background:#FFF7F7;}
.fp-ic{width:44px;height:44px;border-radius:10px;background:#FFF7ED;display:flex;align-items:center;justify-content:center;font-size:22px;flex:none;}
.fp-txt{flex:1;min-width:0;}
.fp-txt b{display:block;font-size:15.5px;color:#0F172A;}
.fp-txt span{font-size:13px;color:#475569;}
.fp-val{font-family:var(--mono,monospace);font-weight:800;font-size:20px;color:#0F172A;text-align:right;white-space:nowrap;}
.fp-val small{display:block;font-family:inherit;font-size:12px;font-weight:600;color:#C2410C;}
.fp-bt{background:#16A34A;color:#fff !important;border-radius:10px;padding:11px 18px;font-weight:800;font-size:14.5px;white-space:nowrap;text-decoration:none;}
.fp-bt:hover{background:#15803D;}
@media(max-width:700px){.fp-card{flex-wrap:wrap;}.fp-val{text-align:left;}}
.fl-vazio{background:#fff;border:1px solid #E2E8F0;border-radius:12px;padding:20px;color:#475569;}
.fl-aberta{display:grid;grid-template-columns:220px 1fr;gap:22px;background:#fff;border:1px solid #E2E8F0;border-radius:14px;padding:20px;margin-bottom:18px;}
.fl-aberta.vencida{border-color:#FCA5A5;}
.fl-qr{width:220px;height:220px;border:1px solid #E2E8F0;border-radius:12px;padding:8px;box-sizing:border-box;background:#fff;}
.fl-info{min-width:0;}
.fl-tag{display:inline-block;background:#FFEDD5;color:#9A3412;font-weight:800;font-size:12px;border-radius:999px;padding:3px 10px;}
.fl-aberta.vencida .fl-tag{background:#FEE2E2;color:#991B1B;}
.fl-valor{font-family:var(--mono,monospace);font-weight:800;font-size:30px;color:#0F172A;margin:6px 0 2px;}
.fl-venc{color:#475569;font-size:14px;margin:0 0 14px;}
.fl-desc{color:#15803D;font-weight:600;}
.fl-lb{font-weight:700;font-size:12px;color:#475569;margin:0 0 4px;}
.fl-copia{display:flex;gap:8px;margin-bottom:12px;}
.fl-copia input{flex:1;min-width:0;font-family:var(--mono,monospace);font-size:12.5px;border:1px solid #CBD2DC;border-radius:8px;padding:9px 10px;background:#F8FAFC;}
.fl-bts{display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 12px;}
.fl-verde{background:#16A34A !important;border-color:#16A34A !important;}
.fl-esp{display:flex;align-items:center;gap:8px;color:#1E4E8C;font-weight:600;font-size:13px;background:#EFF6FF;border-radius:8px;padding:8px 12px;}
.fl-esp.pago{color:#166534;background:#F0FAF3;}
.fl-dica{font-size:12.5px;color:#64748B;margin:10px 0 0;}
.fl-hist{background:#fff;border:1px solid #E2E8F0;border-radius:14px;overflow:hidden;}
.fl-hist h3{margin:0;padding:14px 18px;font-size:15px;border-bottom:1px solid #EEF2F7;}
.fl-tabela{overflow-x:auto;}
.fl-hist table{width:100%;border-collapse:collapse;font-size:14px;}
.fl-hist td,.fl-hist th{padding:10px 18px;border-bottom:1px solid #F1F5F9;text-align:left;white-space:nowrap;}
.fl-hist th{font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:#64748B;}
.fl-hist .n{text-align:right;font-family:var(--mono,monospace);font-weight:700;}
.fl-ok{background:#DCFCE7;color:#166534;border-radius:999px;padding:2px 9px;font-weight:800;font-size:12px;}
@media(max-width:760px){.fl-aberta{grid-template-columns:1fr;}.fl-qr{margin:0 auto;}}

/* ===== Abas dos relatórios numa linha só (02/11) ===== */
.abas-relatorio{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:2px;scrollbar-width:thin;}
.abas-relatorio a{padding:10px 9px;font-size:13px;white-space:nowrap;flex:none;}
.abas-relatorio .aba-novo{margin-left:4px;}

/* ===== Selo da cobrança Efí na lista de empresas (02/11) ===== */
.ef-chip{display:inline-flex;align-items:center;gap:4px;margin-top:4px;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:800;white-space:nowrap;text-decoration:none;font-family:inherit;}
.ef-chip:hover{text-decoration:none;filter:brightness(.97);}
.ef-chip.ok{background:#DCFCE7;color:#166534;}
.ef-chip.nao{background:#FFF7ED;color:#9A3412;border:1px dashed #FDBA74;}
.ef-chip.canc{background:#F1F5F9;color:#64748B;}

/* Filtros Situação / Status / Efí sempre juntos na mesma linha (02/11) */
.adm-fsels{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;}
.adm-fsels .adm-fsel select{padding:7px 8px;}
@media(max-width:700px){.adm-fsels{flex-wrap:wrap;}}
.adm-linha2{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 14px;}
.adm-linha2 .adm-busca{margin:0;flex:1 1 320px;width:auto;max-width:640px;}
.pg2-ic.out{background:#ECEFF3;}

/* Balança do caixa (F10) */
.cx2-qtd-chip.balanca{background:#E0EDFB;border-color:#9DC0EA;color:#164679;}
.cx2-bal-aviso{position:fixed;z-index:70;background:#164679;color:#fff;padding:10px 16px;border-radius:10px;font:600 14px system-ui,sans-serif;box-shadow:0 8px 20px rgba(0,0,0,.2);max-width:560px;}
.cx2-bal-aviso.erro{background:#9A3412;}
.cx2-bal-aviso[hidden]{display:none;}

/* Menu do caixa em telas até ~1700px: some com os atalhos e o nome do
   operador (já aparece no painel do caixa); até 1340px, Consultar preço e
   Reimprimir ficam só com o ícone. O atalho continua no "title". */
@media(max-width:1700px){
  .caixa-menu-item kbd,.caixa-menu-operador{display:none;}
  .caixa-menu-item{padding-left:8px;padding-right:8px;gap:6px;}
}
@media(max-width:1340px){
  .caixa-menu-item.so-icone-estreito .rotulo{display:none;}
}

/* Pedido: nome do cliente balcão */
.pvn-nome-balcao{width:100%;box-sizing:border-box;margin-top:12px;border:2px solid var(--azul);border-radius:10px;padding:13px 14px;font:700 22px system-ui,sans-serif;text-transform:uppercase;}
.pvn-nome-balcao:focus{outline:3px solid #BFD5F2;}
.pvn-nome-balcao::placeholder{text-transform:none;font-weight:400;color:#9CA3AF;}
.pvn-btn-balcao{background:var(--verde);border-color:var(--verde);}
.pvn-btn-balcao kbd{background:rgba(255,255,255,.2);border:0;color:#fff;font-size:11px;padding:1px 5px;border-radius:4px;box-shadow:none;}
.ped2-balcao{display:inline-block;margin-left:6px;background:#FEF3C7;color:#92400E;border-radius:999px;padding:1px 8px;font:700 11px system-ui,sans-serif;vertical-align:2px;}

/* Pedidos no caixa: busca pelo nome ou número */
.ped2-lado{display:flex;flex-direction:column;min-height:0;border-right:1px solid #E2E6EC;background:#FAFBFC;max-height:calc(100vh - 170px);}
.ped2-lado .ped2-lista{border-right:0;flex:1;min-height:0;max-height:none;}
.ped2-busca{display:flex;align-items:center;gap:8px;margin:10px 10px 4px;border:2px solid #C9D6E8;border-radius:10px;padding:0 12px;background:#fff;}
.ped2-busca:focus-within{border-color:var(--azul);}
.ped2-busca input,#ped2-busca{flex:1;border:0;outline:0;box-shadow:none;padding:10px 0;margin:0;font-size:15px;background:transparent;min-width:0;width:auto;}
@media(max-width:899px){.ped2-lado{max-height:none;border-right:0;border-bottom:1px solid #E2E6EC;}.ped2-lado .ped2-lista{max-height:220px;}}

/* Painel: sugestões dos sócios */
.adm-nav-cont{display:inline-block;min-width:16px;padding:0 5px;border-radius:9px;background:#E0A800;color:#412402;font-size:11px;font-weight:bold;line-height:16px;text-align:center;margin-left:2px;}
.sg{max-width:980px;}
.sg-nova{background:#fff;border:1px solid var(--cinza-borda);border-radius:12px;padding:14px 16px;margin-bottom:16px;}
.sg-nova textarea{width:100%;box-sizing:border-box;border:1px solid var(--cinza-borda);border-radius:8px;padding:10px 12px;font:14.5px system-ui,sans-serif;resize:vertical;min-height:62px;}
.sg-nova textarea:focus{outline:2px solid #BFD5F2;border-color:var(--azul);}
.sg-nova-linha{display:flex;align-items:center;gap:14px;margin-top:10px;flex-wrap:wrap;}
.sg-link{background:none;border:0;padding:0;color:var(--texto-suave);font:13px system-ui,sans-serif;cursor:pointer;}
.sg-link:hover{color:var(--azul);}
.sg-cliente{border:1px solid var(--cinza-borda);border-radius:8px;padding:6px 10px;font-size:13.5px;min-width:220px;}
.sg-enviar{margin-left:auto;}
.sg-resumo{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap;}
.sg-resumo div{background:#fff;border:1px solid var(--cinza-borda);border-radius:10px;padding:10px 14px;font-size:13px;color:var(--texto-suave);}
.sg-resumo b{display:block;font-size:20px;color:var(--texto);}
.sg-resumo b.sg-laranja{color:#B45309;}.sg-resumo b.sg-verde{color:#17663A;}
.sg-abas{display:flex;gap:6px;margin-bottom:10px;align-items:center;flex-wrap:wrap;}
.sg-abas a{border:1px solid var(--cinza-borda);background:#fff;border-radius:999px;padding:5px 12px;font:600 13px system-ui,sans-serif;color:var(--texto);text-decoration:none;}
.sg-abas a.on{background:#0F2747;color:#fff;border-color:#0F2747;}
.sg-socio{margin-left:auto;border:1px solid var(--cinza-borda);border-radius:999px;padding:5px 10px;font:600 13px system-ui,sans-serif;background:#fff;}
.sg-vazio{color:var(--texto-suave);padding:20px 4px;}
.sg-item{background:#fff;border:1px solid var(--cinza-borda);border-radius:12px;padding:12px 16px;margin-bottom:8px;}
.sg-item.nova{border-left:4px solid #E0A800;}
.sg-cab{display:flex;gap:12px;align-items:flex-start;}
.sg-tx{flex:1;font-size:14.5px;line-height:1.45;min-width:0;overflow-wrap:anywhere;}
.sg-tx small{display:block;color:#6B7280;font-size:12.5px;margin-top:3px;}
.sg-mais{color:#374151;margin-top:2px;}
.sg-av{display:inline-flex;width:30px;height:30px;border-radius:50%;color:#fff;font:700 12px system-ui,sans-serif;align-items:center;justify-content:center;flex:none;}
.sg-c1{background:#2F8F5B}.sg-c2{background:#B45309}.sg-c3{background:#1F5FA8}.sg-c4{background:#7C3AED}.sg-c5{background:#BE185D}
.sg-nova-tag{background:#FEF3C7;color:#92400E;border-radius:999px;padding:1px 8px;font:700 11px system-ui,sans-serif;margin-left:6px;}
.sg-ch{border-radius:999px;padding:3px 10px;font:700 12px system-ui,sans-serif;white-space:nowrap;flex:none;}
.sg-ch.p{background:#FEF3C7;color:#92400E}.sg-ch.v{background:#E0EDFB;color:#164679}.sg-ch.f{background:#DCF5E6;color:#17663A}.sg-ch.n{background:#EEF0F3;color:#5B6270}
.sg-bts{display:flex;gap:6px;flex:none;}
.sg-bt{border:1px solid var(--cinza-borda);background:#fff;border-radius:8px;padding:6px 10px;font:700 12.5px system-ui,sans-serif;color:#374151;cursor:pointer;}
.sg-bt:hover{background:var(--cinza-bg);}
.sg-bt.on{background:#E0EDFB;border-color:#9DC0EA;color:#164679;}
.sg-bt.ok{background:#2F8F5B;border-color:#2F8F5B;color:#fff;}
.sg-bt.nao{background:#EEF0F3;color:#5B6270;}
.sg-resp{margin-top:8px;background:#F3F6FA;border-left:3px solid var(--azul);border-radius:6px;padding:7px 10px;font-size:13.5px;color:#374151;}
.sg.dono .sg-cab + .sg-resp,.sg.dono .sg-item > .sg-resp-btn,.sg.dono .sg-item > .sg-resp-form{margin-left:42px;}
.sg-resp-btn{display:inline-block;margin-top:6px;color:var(--azul);font-weight:700;font-size:12.5px;}
.sg-resp-form{display:flex;gap:8px;margin-top:8px;align-items:flex-start;}
.sg-resp-form textarea{flex:1;border:2px solid var(--azul);border-radius:8px;padding:8px 10px;font:14px system-ui,sans-serif;resize:vertical;}
@media(max-width:700px){.sg-cab{flex-wrap:wrap;}.sg-bts{width:100%;}.sg-cab + .sg-resp,.sg-item > .sg-resp-btn,.sg-item > .sg-resp-form{margin-left:0;}}
.sg-resp-form[hidden],.sg-cliente[hidden],.sg-link[hidden]{display:none;}

/* Pedido: cadastro rápido de cliente no F3 */
.pvn-novo-cli kbd{background:rgba(255,255,255,.2);border:0;color:#fff;font-size:11px;padding:1px 5px;border-radius:4px;box-shadow:none;}
#pc-nc-salvar kbd{background:rgba(255,255,255,.2);border:0;color:#fff;font-size:11px;padding:1px 5px;border-radius:4px;box-shadow:none;}
.pvn-nc-rot{display:block;font-weight:700;font-size:12.5px;color:#3A4250;margin:12px 0 5px;}
.pvn-nc-rot small{font-weight:400;color:var(--texto-suave);}
.pvn-nc-campo{width:100%;box-sizing:border-box;border:1px solid var(--cinza-borda);border-radius:8px;padding:10px 12px;font-size:15px;}
.pvn-nc-campo:focus{outline:2px solid #BFD5F2;border-color:var(--azul);}
.pvn-nc-duas{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.pvn-nc-aviso{margin-top:12px;border-radius:8px;padding:10px 12px;font-size:13.5px;line-height:1.4;}
.pvn-nc-aviso.erro{background:#FDECEA;color:#9F1D12;}
.pvn-nc-aviso.existe{background:#FFF7E6;color:#92400E;border:1px solid #F5D9A8;}
.pvn-nc-aviso.existe .btn{display:block;margin-top:8px;}
@media(max-width:520px){.pvn-nc-duas{grid-template-columns:1fr;}}

/* Pedido: preço abaixo da tabela (Não deixar baixar o preço) */
input.pvn-preco-erro,#preco-pendente.pvn-preco-erro{color:var(--vermelho) !important;}
.pvn-busca:has(.pvn-preco-erro) .pvn-preco-box,.pvn-preco-erro{outline:2px solid var(--vermelho);outline-offset:1px;border-radius:6px;}

/* Caixa: "Bloquear venda no caixa" (só recebe pedidos) */
.cx2-busca[hidden]{display:none !important;}
.cx2-so-pedidos{flex:1;display:flex;align-items:center;gap:14px;border:2px dashed #9DC0EA;background:#F4F8FD;border-radius:12px;padding:10px 16px;color:#164679;min-width:0;}
.cx2-sp-ic{font-size:22px;}
.cx2-sp-tx{flex:1;min-width:0;font-size:15px;}
.cx2-sp-tx b{display:block;}
.cx2-sp-tx span{display:block;font-size:13.5px;color:#5B6270;}
.cx2-sp-bt{background:var(--azul);color:#fff;border:0;border-radius:10px;padding:10px 16px;font:700 15px system-ui,sans-serif;cursor:pointer;white-space:nowrap;}
.cx2-sp-bt kbd{background:rgba(255,255,255,.2);border:0;color:#fff;font-size:12px;padding:1px 6px;border-radius:4px;box-shadow:none;}
.cx2-sp-cont{background:#E0A800;color:#412402;border-radius:9px;padding:0 7px;font-size:12px;margin-left:4px;}
.cx2-sp-cont[hidden]{display:none;}
body.caixa-so-pedidos #carrinho-corpo .btn-remover{display:none;}

/* Menu: selo "em breve" e tela de aviso do Financeiro */
.menu-breve{margin-left:auto;background:rgba(255,255,255,.14);color:#FDE68A;border-radius:999px;padding:1px 7px;font-size:10.5px;font-weight:700;white-space:nowrap;}
.fb{display:flex;justify-content:center;padding:30px 0;}
.fb-card{background:#fff;border:1px solid var(--cinza-borda);border-radius:16px;padding:32px 36px;max-width:560px;width:100%;text-align:center;box-shadow:0 6px 20px rgba(15,39,71,.06);}
.fb-ic{display:inline-flex;width:72px;height:72px;border-radius:50%;background:#EEF4FC;align-items:center;justify-content:center;font-size:36px;}
.fb-card h2{margin:14px 0 8px;font-size:24px;}
.fb-tag{display:inline-block;background:#FEF3C7;color:#92400E;border-radius:999px;padding:4px 14px;font-weight:700;font-size:13.5px;}
.fb-txt{color:var(--texto-suave);font-size:14.5px;margin:14px 0 18px;line-height:1.5;}
.fb-rot{text-align:left;font-weight:700;font-size:13px;color:#3A4250;margin:0 0 6px;}
.fb-lista{text-align:left;margin:0 0 22px;padding-left:20px;color:#374151;font-size:14px;line-height:1.7;}
/* Menu lateral: item com submenu (ex.: Financeiro → Contas a pagar / receber) */
.sidebar-nav .menu-pai{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:6px;color:#CBD5E1;font-family:inherit;font-size:14px;font-weight:500;background:none;border:0;width:100%;text-align:left;cursor:pointer;}
.sidebar-nav .menu-pai:hover{background:rgba(255,255,255,.08);color:#fff;}
.sidebar-nav .menu-pai svg{flex:none;opacity:.85;}
.sidebar-nav .menu-pai .menu-seta{margin-left:auto;transition:transform .15s;}
.sidebar-nav .menu-pai.aberto .menu-seta{transform:rotate(90deg);}
.sidebar-nav .menu-filhos{display:none;flex-direction:column;gap:2px;margin:0 0 4px 21px;padding-left:10px;border-left:1px solid rgba(255,255,255,.15);}
.sidebar-nav .menu-pai.aberto + .menu-filhos{display:flex;}
.sidebar-nav .menu-filhos a{padding:7px 10px;font-size:13.5px;}

/* Painel: cartões do Financeiro (ao lado de Clientes cadastrados) */
.painel-fin-card{color:var(--texto);text-decoration:none;}
.painel-fin-card:hover{text-decoration:none;border-color:#9DC0EA;box-shadow:0 4px 14px rgba(15,39,71,.08);}
.painel-fin-ic{font-size:18px;}
.painel-fin-ic.pagar{background:#FDECEA;}.painel-fin-ic.receber{background:#E3F4EA;}
.painel-fin-nome{font-size:18px;font-weight:bold;margin-top:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.painel-fin-breve{background:#FEF3C7;color:#92400E;font-size:11px;margin-left:0;}

/* Painel: cartão que abre relatório */
.painel-link-rel{display:inline-block;margin-top:8px;color:var(--azul);font-size:13px;font-weight:bold;}
.painel-fin-card:hover .painel-link-rel{text-decoration:underline;}
.painel-fin-ic.relatorio{background:#E0EDFB;color:#164679;}

/* Referência do produto nas buscas (caixa, pedido, NF-e) */
.ref-tag{display:inline !important;background:#FFF3CD;color:#374151;font-weight:bold;font-size:.92em;padding:0 5px;border-radius:4px;margin:0;white-space:nowrap;}
.rp-nome .ref-tag{font-weight:normal;color:#6B7280;margin-left:8px;}

/* Unidade digitável com lista (cadastro de produto) */
.un-combo{position:relative;}
.un-combo::after{content:"";position:absolute;right:11px;top:50%;width:6px;height:6px;border-right:2px solid #374151;border-bottom:2px solid #374151;transform:translateY(-70%) rotate(45deg);pointer-events:none;}
.un-combo .un-campo{width:100%;padding-right:24px;text-transform:uppercase;font-weight:bold;cursor:pointer;}
.un-combo .un-lista{position:absolute;top:100%;left:0;min-width:100%;max-height:240px;overflow-y:auto;background:#fff;border:1px solid #CBD2DC;border-radius:8px;box-shadow:0 8px 20px rgba(0,0,0,.12);z-index:60;margin-top:3px;padding:4px 0;font-size:13px;}
.un-combo .un-lista[hidden]{display:none;}
.un-combo .un-lista div{padding:5px 10px;font-weight:bold;cursor:pointer;}
.un-combo .un-lista div:hover,.un-combo .un-lista div.sel{background:#E8F0FE;}

/* Gerenciador de notas: itens da nota (NCM/perfil e o que está errado) */
.g2-itens-bt.aberto{background:#E8F0FE;border-color:#1F5FA8;color:#1F5FA8;}
tr.g2-itens-linha > td{background:#F7F9FC !important;padding:10px 14px 14px !important;}
.g2-itens-msg{margin:4px 0;color:#5B6576;font-size:13px;}
.g2-itens-resumo{margin:0 0 8px;font-size:13px;color:#B91C1C;font-weight:700;}
.g2-itens-resumo.ok{color:#15803D;}
table.g2-itens{width:100%;border-collapse:collapse;background:#fff;border:1px solid #E6E9EE;border-radius:8px;overflow:hidden;font-size:13px;}
table.g2-itens th{background:#F1F4F8;color:#5B6576;font-size:11px;letter-spacing:.04em;text-align:left;padding:7px 10px;}
table.g2-itens td{padding:8px 10px;border-top:1px solid #EEF1F5;background:#fff;vertical-align:middle;}
table.g2-itens .num{text-align:right;}
table.g2-itens tr.erro td{background:#FFF5F5;}
table.g2-itens .ok{color:#15803D;font-weight:700;}
table.g2-itens .ruim{color:#B91C1C;font-weight:700;}
#g2-prod-janela{position:fixed;inset:0;background:rgba(15,27,45,.55);display:none;align-items:center;justify-content:center;z-index:9000;}
#g2-prod-janela .g2-pj-caixa{background:#fff;border-radius:12px;width:min(1240px,96vw);height:92vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.3);}
#g2-prod-janela .g2-pj-topo{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #E6E9EE;}
#g2-prod-janela iframe{flex:1;border:0;width:100%;background:#F3F5F8;}

/* Caixa: janela Reimprimir */
.modal-caixa.reimp-caixa{max-width:none;width:min(720px,94vw);padding:0;overflow:hidden;border-radius:14px;display:flex;flex-direction:column;max-height:88vh;}
.reimp-topo{background:#0F2747;color:#fff;padding:14px 20px;font-size:18px;}
.reimp-busca{display:flex;align-items:center;gap:8px;margin:14px 18px 8px;border:2px solid #CBD2DC;border-radius:10px;padding:8px 12px;}
.reimp-busca:focus-within{border-color:#1F5FA8;}
.reimp-busca input{flex:1;border:0 !important;outline:0;box-shadow:none !important;font-size:16px;background:transparent;padding:2px 0;}
.reimp-lista{overflow-y:auto;padding:0 18px;min-height:120px;max-height:56vh;}
.reimp-item{display:grid;grid-template-columns:70px 96px minmax(0,1fr) 100px 110px;align-items:center;gap:8px;padding:11px 12px;border-radius:9px;font-size:15px;border-bottom:1px solid #EEF1F5;cursor:pointer;}
.reimp-item:hover{background:#F3F6FA;}
.reimp-item.ativo{background:#1F5FA8;color:#fff;border-color:transparent;}
.reimp-num,.reimp-valor{font-family:var(--fonte-mono, monospace);font-size:16px;}
.reimp-valor{text-align:right;}
.reimp-hora{color:#6B7280;}
.reimp-item.ativo .reimp-hora{color:#DCE7F5;}
.reimp-cli{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.reimp-cli small{display:block;font-weight:normal;font-size:11.5px;opacity:.8;}
.reimp-tipo{justify-self:start;font-size:11.5px;font-weight:700;border-radius:5px;padding:2px 7px;background:#E5E7EB;color:#374151;}
.reimp-tipo.fiscal{background:#DCFCE7;color:#166534;}
.reimp-rodape{display:flex;align-items:center;gap:10px;padding:14px 18px;border-top:1px solid #E6E9EE;margin-top:8px;}
.reimp-dicas{color:#6B7280;font-size:13px;}
.reimp-bt{font-size:17px;padding:12px 22px;}
#reimp-busca,#reimp-busca:focus{border:0 !important;outline:none !important;box-shadow:none !important;background:transparent !important;}

/* Cadastro do usuário com as permissões marcadas nele */
.usu2{max-width:1180px;}
.usu2 .form-card{max-width:none;margin:0 0 14px;}
/* 4 colunas: nome, senha, confirmar, vincular ao operador */
.usu2-dados{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.15fr;gap:14px;align-items:start;}
.usu2-dados .form-grupo{margin:0;}
/* a dica sobe -10px pra compensar a margem do form-grupo, que aqui é zero */
.usu2-dados .form-dica{margin:6px 0 0;}
.usu2-topo{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
.usu2-topo b{font-size:15px;}
.usu2-acoes{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.usu2-acoes select{border:1px solid #CBD2DC;border-radius:16px;padding:6px 12px;font-size:13px;font-weight:600;background:#fff;width:auto;}
.usu2-dono{display:inline-flex;align-items:center;gap:6px;border:1px solid #0F2747;color:#0F2747;border-radius:16px;padding:5px 12px;font-size:13px;font-weight:700;cursor:pointer;}
.usu2-dono input{margin:0;}
.usu2-dono-aviso{display:none;margin:0 0 10px;padding:8px 12px;border-radius:8px;background:#EEF4FF;color:#1E3A8A;font-size:13px;font-weight:600;}
.usu2-perms.tudo .usu2-dono-aviso{display:block;}
.usu2-perms.tudo .usu2-grid{opacity:.6;}
.usu2-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.usu2-area{border:1px solid #E5E7EB;border-radius:10px;padding:10px 12px;}
.usu2-area h4{margin:0 0 6px;font-size:13.5px;color:#0F2747;display:flex;align-items:center;gap:6px;}
.usu2-todos{margin-left:auto;background:none;border:0;color:#1F5FA8;font-size:11.5px;font-weight:700;cursor:pointer;padding:0;}
.usu2-ck{display:flex;align-items:center;gap:8px;font-size:13.5px;padding:4px 0;cursor:pointer;font-weight:normal;margin:0;}
.usu2-ck input{width:17px;height:17px;margin:0;accent-color:#16A34A;flex:none;}
.usu2-ck input:not(:checked) + span{color:#8A93A3;}
.usu2-nota{margin:12px 0 0;font-size:12.5px;color:#6B7280;}
.usu2-rodape{display:flex;gap:10px;}
.usu2-perms.travado .usu2-ck{cursor:default;}
@media (max-width:1180px){.usu2-dados{grid-template-columns:1.2fr 1fr 1fr;}}
@media (max-width:900px){.usu2-dados,.usu2-grid{grid-template-columns:1fr;}}
.badge-perfil-proprio{background:#EEF4FF;color:#1E3A8A;}

/* ===== Troca de produtos (troca.php) ===== */
.trc{max-width:1500px;}
.trc-topo{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px;}
.trc-titulo{margin:0 !important;}
.trc-num{font-family:var(--mono);font-size:20px;color:#1B2A44;}
.trc-num b{font-weight:800;}
.trc-cab{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(170px,1fr) 190px minmax(0,2fr);gap:14px;align-items:start;margin-bottom:12px;}
.trc-campo{display:flex;flex-direction:column;gap:4px;margin:0;}
.trc-campo span{font-size:12px;font-weight:700;color:var(--texto-suave);text-transform:uppercase;letter-spacing:.03em;}
.trc-campo select,.trc-campo input{height:42px;border:1px solid var(--cinza-borda);border-radius:8px;padding:0 10px;font-size:15px;font-weight:700;background:#fff;width:100%;font-family:inherit;}
.trc-venda-info{min-width:0;}
.trc-venda-cab{font-size:12px;font-weight:700;color:var(--texto-suave);margin-bottom:4px;}
.trc-venda-itens{display:flex;flex-wrap:wrap;gap:6px;max-height:96px;overflow-y:auto;}
.trc-vitem{border:1px solid #BFE3CC;background:#F1FAF4;border-radius:8px;padding:4px 10px;text-align:left;cursor:pointer;font-family:inherit;max-width:260px;}
.trc-vitem:hover{background:#E1F4E8;}
.trc-vitem b{display:block;font-size:12.5px;color:#1B2230;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.trc-vitem small{font-size:11.5px;color:#1C6B41;font-family:var(--mono);}
.trc-vitem.fim{opacity:.45;cursor:default;border-color:var(--cinza-borda);background:#F5F6F8;}
.trc-card{background:#fff;border:1px solid #E3E7EC;border-radius:12px;padding:14px 16px;margin-bottom:12px;}
.trc-busca-card{display:flex;gap:12px;align-items:stretch;}
.trc-modo{display:flex;border:1px solid var(--cinza-borda);border-radius:9px;overflow:hidden;flex:none;}
.trc-modo button{border:0;background:#fff;padding:0 16px;font-size:15px;font-weight:700;color:#6B7380;cursor:pointer;font-family:inherit;}
.trc-modo button.on.dev{background:#E3F6EA;color:#1C6B41;}
.trc-modo button.on.lev{background:#E4EEFB;color:var(--azul);}
.trc-busca{flex:1;min-width:0;}
.trc-busca.modo-lev{border-color:var(--azul);}
.trc-busca:not(.modo-lev){border-color:#2F8F5B;}
.pvn-campo #trc-busca,.pvn-campo #trc-busca:focus{border:0 !important;outline:0 !important;box-shadow:none !important;padding:10px 0 !important;font-size:17px !important;background:transparent !important;width:auto !important;height:auto !important;}
.pvn-qtd #trc-qtd,.pvn-qtd #trc-preco,.pvn-qtd #trc-qtd:focus,.pvn-qtd #trc-preco:focus{border:0 !important;outline:0 !important;box-shadow:none !important;background:transparent !important;padding:0 !important;height:auto !important;}
.pvn-qtd #trc-preco[readonly]{color:#5B6270;}
#trc-msg:empty{display:none;}
.trc-aviso{padding:10px 14px;border-radius:9px;margin-bottom:12px;font-size:14px;}
.trc-aviso.erro{background:#FDEBEA;color:#8E2A20;border:1px solid #F3C2BD;}
.trc-aviso.aviso{background:#FFF7E0;color:#7A5200;border:1px solid #F5DC8F;}
.trc-listas{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.trc-lista h4{margin:0 0 8px;font-size:14px;letter-spacing:.04em;text-transform:uppercase;}
.trc-lista h4 small{text-transform:none;font-weight:600;font-size:13px;}
.trc-lista.dev h4{color:#1C6B41;}
.trc-lista.lev h4{color:var(--azul);}
.trc-lista table{width:100%;border-collapse:collapse;font-size:14px;}
.trc-lista th{background:#F3F5F8;text-align:left;font-size:11.5px;color:var(--texto-suave);text-transform:uppercase;padding:7px 8px;}
.trc-lista td{padding:8px;border-bottom:1px solid #EEF0F3;vertical-align:middle;}
.trc-lista .r{text-align:right;}
.trc-lista .mono{font-family:var(--mono);white-space:nowrap;}
.trc-cod{color:var(--texto-suave);font-family:var(--mono);}
.trc-vazio td{color:#9AA3AF;text-align:center;font-style:italic;padding:18px 8px;}
.trc-alt{color:#C77700;margin-left:3px;font-size:12px;}
.trc-x{border:0;background:none;color:#B5BCC6;font-size:20px;cursor:pointer;line-height:1;}
.trc-x:hover{color:var(--vermelho);}
.trc-soma{display:flex;justify-content:space-between;padding:8px 8px 0;font-size:17px;font-weight:800;}
.trc-lista.dev .trc-soma{color:#1C6B41;}
.trc-lista.lev .trc-soma{color:var(--azul);}
.trc-rodape{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto auto;gap:22px;align-items:end;}
.trc-rodape.sobra{background:#FFF9E8;border:2px solid #F0A020;}
.trc-cliente{display:flex;flex-direction:column;gap:2px;min-width:0;}
.trc-link{border:0;background:none;padding:0;color:var(--texto-suave);font-weight:700;font-size:12px;text-transform:uppercase;cursor:pointer;text-align:left;font-family:inherit;}
.trc-cliente b{font-size:17px;}
.trc-cliente small{color:var(--texto-suave);font-size:13px;}
.trc-sobra-aviso{margin-top:6px;color:#8A3B00;font-size:13px;}
.trc-sobra-aviso b{display:block;font-size:15px;color:#9A3A00;}
.trc-num-bloco{display:flex;flex-direction:column;align-items:flex-end;}
.trc-num-bloco small{font-size:12px;font-weight:700;color:var(--texto-suave);text-transform:uppercase;}
.trc-num-bloco b{font-family:var(--mono);font-size:30px;color:#1B2230;}
.trc-desc.tem b{color:var(--vermelho);}
.trc-total b{font-size:40px;color:var(--azul);}
.trc-rodape.sobra .trc-total b,.trc-rodape.sobra .trc-total small{color:#B65A00;}
.trc-botoes{display:flex;gap:10px;}
.trc-botoes .btn{height:52px;font-size:16px;padding:0 20px;}
.trc-finalizar{font-weight:800;}
.trc-atalhos{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;color:var(--texto-suave);}
.modal-caixa.trc-modal{max-width:520px;width:100%;border-radius:14px;}
.modal-caixa.trc-modal-p{max-width:400px;}
.trc-modal-input{width:100%;height:44px;border:1px solid var(--cinza-borda);border-radius:8px;padding:0 12px;font-size:16px;margin:12px 0 8px;}
.trc-modal-input.trc-valor{font-family:var(--mono);font-size:24px;text-align:right;}
.trc-modal-botoes{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;flex-wrap:wrap;}
.trc-cliente-lista{max-height:320px;overflow-y:auto;}
.trc-cli{padding:9px 10px;border-bottom:1px solid #F0F1F3;cursor:pointer;}
.trc-cli.sel,.trc-cli:hover{background:#EEF5FF;}
.trc-cli b{display:block;font-size:14px;}
.trc-cli small{color:var(--texto-suave);font-size:12px;}
.trc-formas{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;}
.trc-formas button{height:54px;border:1px solid var(--cinza-borda);border-radius:10px;background:#fff;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;}
.trc-formas button:hover,.trc-formas button:focus{border-color:var(--azul);background:#EEF5FF;outline:0;}
.trc-ok{text-align:center;}
.trc-ok .trc-modal-botoes{justify-content:center;}
.trc-ok-icone{width:54px;height:54px;border-radius:50%;background:#E3F6EA;color:#1C6B41;font-size:30px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;}
@media (max-width:1100px){
  .trc-cab{grid-template-columns:1fr 1fr;}
  .trc-listas{grid-template-columns:1fr;}
  .trc-rodape{grid-template-columns:1fr 1fr;}
  .trc-busca-card{flex-direction:column;}
  .trc-modo button{height:42px;flex:1;}
}
/* Relatório de trocas */
.rtr-linha{cursor:pointer;}
.rtr-linha:hover td{background:#F7FAFE;}
.rtr-tag{display:inline-block;font-size:11.5px;font-weight:700;padding:1px 8px;border-radius:99px;margin-left:4px;white-space:nowrap;}
.rtr-tag.rosa{background:#FCE7EF;color:#A3214F;}
.rtr-tag.amarelo{background:#FFF1C9;color:#7A5200;}
.rtr-dif{font-weight:800;}
.rtr-dif.pagou{color:var(--azul);}
.rtr-dif.devolveu{color:#B65A00;}
.rtr-det td{background:#F8FAFC;}
.rtr-det-grade{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.rtr-det-col h5{margin:0 0 6px;font-size:13px;text-transform:uppercase;}
.rtr-det-col.dev h5{color:#1C6B41;}
.rtr-det-col.lev h5{color:var(--azul);}
.rtr-item{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px dashed #DDE2E8;font-size:14px;}
.rtr-item.vazio{color:#9AA3AF;font-style:italic;}
.rtr-det-rodape{margin-top:10px;color:var(--texto-suave);font-size:13.5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.rtr-sub{margin:24px 0 10px;font-size:17px;}
@media (max-width:800px){.rtr-det-grade{grid-template-columns:1fr;}}

/* ===== Relatório de estoque (relatorio_estoque.php) ===== */
.est-filtros{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px;}
.est-busca{flex:1;min-width:240px;}
.est-busca input{width:100%;height:42px;border:1px solid var(--cinza-borda);border-radius:8px;padding:0 12px;font-size:15px;}
.est-filtros select{height:42px;border:1px solid var(--cinza-borda);border-radius:8px;padding:0 10px;font-size:14px;background:#fff;font-family:inherit;}
.est-check{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--texto-suave);white-space:nowrap;}
.est-cards{grid-template-columns:repeat(5,1fr);}
.est-tabela td{vertical-align:middle;}
.est-tabela small{display:block;color:var(--texto-suave);font-size:12px;font-weight:400;}
.est-cod{color:var(--texto-suave);font-family:var(--mono);}
.est-tabela .col-num small{display:inline;margin-left:2px;}
.est-zero{color:var(--vermelho);}
.est-baixo{color:#B65A00;}
.est-inativo{opacity:.6;}
.est-tag{display:inline-block;font-size:11px;font-weight:700;padding:1px 7px;border-radius:99px;margin-left:4px;}
.est-tag.amarelo{background:#FFF1C9;color:#7A5200;}
.est-tag.cinza{background:#EDEFF2;color:#5B6270;}
.est-paginacao{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px;color:var(--texto-suave);font-size:14px;}
@media (max-width:1100px){.est-cards{grid-template-columns:repeat(2,1fr);}}

/* ===== Relatórios de estoque estilo Prático (relatorio_estoque.php) ===== */
.rex-form{background:#fff;border:1px solid #E3E7EC;border-radius:12px;padding:16px;margin-bottom:16px;}
.rex-quadros{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:14px;}
.rex-box{border:1px solid var(--cinza-borda);border-radius:8px;padding:8px 14px 10px;margin:0;min-width:180px;}
.rex-box legend{font-size:12px;font-weight:700;color:var(--azul);text-transform:uppercase;letter-spacing:.03em;padding:0 6px;}
.rex-box label{display:flex;align-items:center;gap:7px;font-size:14px;padding:2px 0;cursor:pointer;}
.rex-box label.rex-off{opacity:.45;cursor:not-allowed;}
.rex-filtros{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:14px;}
.rex-campo{display:flex;flex-direction:column;gap:4px;margin:0;flex:1;min-width:150px;}
.rex-campo.rex-larga{flex:2;min-width:240px;}
.rex-campo.rex-peq{flex:0 0 110px;min-width:90px;}
.rex-campo span{font-size:12px;font-weight:700;color:var(--texto-suave);text-transform:uppercase;}
.rex-campo input,.rex-campo select{height:40px;border:1px solid var(--cinza-borda);border-radius:8px;padding:0 10px;font-size:14px;background:#fff;font-family:inherit;width:100%;}
.rex-acoes{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;}
.rex-botoes{display:flex;flex-wrap:wrap;gap:8px;}
.rex-excel{margin-left:4px;}
.rex-vencidos{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--texto-suave);background:#F6F8FB;border:1px solid var(--cinza-borda);border-radius:8px;padding:8px 10px;}
.rex-vencidos input{height:36px;border:1px solid var(--cinza-borda);border-radius:7px;padding:0 8px;font-size:13px;}
.rex-cards{grid-template-columns:repeat(5,1fr);margin-top:4px;}
.rex-tabela td{vertical-align:middle;}
.rex-tabela small{display:block;color:var(--texto-suave);font-size:12px;font-weight:400;}
.rex-tabela .col-num small{display:inline;}
.rex-cod{color:var(--texto-suave);font-family:var(--mono);}
.rex-zero{color:var(--vermelho);}
.rex-baixo{color:#B65A00;}
.rex-inativo{opacity:.55;}
.rex-grupo td{background:#EEF2F7;font-weight:700;color:#1B2A44;text-transform:uppercase;font-size:12.5px;letter-spacing:.03em;}
.rex-subtotal td{background:#FAFBFC;font-weight:700;border-top:1px solid #DDE2E8;color:#333;}
@media (max-width:1100px){.rex-cards{grid-template-columns:repeat(2,1fr);}.rex-acoes{flex-direction:column;align-items:stretch;}}
.rex-vazio{text-align:center;color:var(--texto-suave);padding:46px 20px;background:#fff;border:1px dashed var(--cinza-borda);border-radius:12px;}
.rex-vazio svg{color:#AEB7C2;margin-bottom:10px;}
.rex-vazio p{margin:0;font-size:15px;}
.rex-dica{margin:8px 0 0;font-size:12.5px;color:var(--texto-suave);}

/* ---------- Fechamento de caixa offline ---------- */
.fec2-aviso-off{
  display:flex;align-items:center;gap:9px;margin:0;padding:11px 20px;
  background:#FEF3DC;border-top:1px solid #F0D79B;border-bottom:1px solid #F0D79B;
  color:#8A5B08;font-size:13px;line-height:1.35;
}
/* Quando online, a faixa fica escondida. Sem esta regra, o display:flex acima
   venceria o atributo hidden e a faixa apareceria sempre. */
.fec2-aviso-off[hidden]{display:none;}
.fec2-aviso-off b{color:#6E4906;}
.fec2-parcial{
  margin:0 0 12px;padding:9px 12px;border-radius:7px;
  background:#FEF3DC;border:1px solid #F0D79B;color:#8A5B08;font-size:12.5px;line-height:1.35;
}
.overlay-fechado-off{
  position:fixed;inset:0;z-index:9000;display:none;align-items:center;justify-content:center;
  background:rgba(15,27,45,.92);padding:20px;
}
.overlay-fechado-off .ofo-card{
  background:#fff;border-radius:16px;max-width:460px;width:100%;padding:34px 30px;text-align:center;
  box-shadow:0 18px 50px rgba(0,0,0,.4);
}
.overlay-fechado-off .ofo-ic{font-size:46px;margin-bottom:10px;}
.overlay-fechado-off h2{margin:0 0 14px;font-size:24px;color:#164679;}
.overlay-fechado-off p{margin:0 0 12px;font-size:15px;color:#2d3440;line-height:1.5;}
.overlay-fechado-off .ofo-sync{
  background:#EAF1FB;border:1px solid #CBDDF5;border-radius:9px;padding:12px 14px;color:#234;font-size:14px;
}
.overlay-fechado-off .ofo-rod{font-size:13px;color:#5B6270;margin-bottom:0;}

/* ---------- Corrigir valor de abertura (Caixa diário) ---------- */
.res-caixa-rel .abert-linha{display:flex; align-items:center; justify-content:space-between;}
.res-caixa-rel .abert-linha b{display:flex; align-items:center; gap:10px;}
.abert-corrigir{
  border:1px solid #CBDDF5; background:#fff; color:var(--azul);
  border-radius:6px; padding:4px 11px; font-size:12px; font-weight:bold;
  cursor:pointer; white-space:nowrap;
}
.abert-corrigir:hover{background:#EAF1FB;}
.abert-cx{
  display:flex; align-items:center; gap:9px; flex-wrap:wrap;
  background:#fff; border:1px solid #CBDDF5; border-radius:8px;
  padding:10px 12px; margin:8px 0 4px;
}
.abert-cx[hidden]{display:none;}
.abert-cx label{font-size:12.5px; color:var(--texto-suave); font-weight:bold; white-space:nowrap;}
.abert-cx input{
  flex:1; min-width:110px; border:1px solid var(--cinza-borda); border-radius:6px;
  padding:8px 10px; font-size:16px; font-weight:bold; color:var(--azul);
}
.abert-salvar{
  border:none; background:var(--verde); color:#fff; border-radius:6px;
  padding:9px 14px; font-size:13px; font-weight:bold; cursor:pointer; white-space:nowrap;
}
.abert-salvar:disabled{opacity:.6; cursor:default;}
.abert-x{border:none; background:transparent; color:#8a94a3; font-size:18px; cursor:pointer; padding:0 2px;}
.abert-erro{
  background:#FDEBEA; border:1px solid #F0C4C0; color:var(--vermelho);
  border-radius:7px; padding:8px 11px; font-size:12.5px; margin:6px 0 4px;
}
.abert-erro[hidden]{display:none;}

/* ---------- Em qual servidor o admin está (estado_servidor.php) ---------- */
.adm-titulo-esq{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.srv-bola{width:9px;height:9px;border-radius:50%;flex:none;display:inline-block;background:currentColor;}

.srv-etiqueta{
  display:inline-flex;align-items:center;gap:7px;border-radius:99px;padding:4px 11px;
  font-size:12.5px;white-space:nowrap;cursor:default;
  background:#F0F6F2;border:1px solid #CFE3D8;color:#2C6B49;
}

.srv-faixa{
  display:flex;align-items:flex-start;gap:11px;border-radius:6px;
  padding:10px 13px;font-size:13.5px;margin:0 0 16px;border:1px solid;line-height:1.5;
}
.srv-faixa .srv-bola{margin-top:6px;}
.srv-faixa .srv-corpo{flex:1;}
.srv-faixa .srv-sub{display:block;margin-top:3px;font-size:12.5px;opacity:.92;}
.srv-alerta{background:#FFF7DB;border-color:#F0DC9A;color:#7A5A00;}
.srv-alerta strong{font-weight:600;}
.srv-virada{background:#FBEAE8;border-color:#F1C6C1;color:#8F2C24;}
.srv-virada strong{display:block;font-size:14.5px;font-weight:700;margin-bottom:4px;}

/* Mesmos blocos do cupom, na prévia da tela de Ajustar impressão */
.imp-recibo .cup-risco{border-top:1px solid #000;margin:6px 0 5px;}
.imp-recibo .cup-par{display:flex;justify-content:space-between;gap:8px;}
.imp-recibo .cup-linha{display:block;}
.imp-recibo .cup-itens{width:100%;}
.imp-recibo .cup-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 3px;padding:1px 0;width:100%;}
.imp-recibo .cup-cab{font-weight:bold;border-bottom:1px solid #000;text-transform:uppercase;
  font-size:calc(var(--recibo-fonte,15px) * 0.78);}
.imp-recibo .cup-item .cup-cod{flex:0 0 auto;min-width:2.4em;font-size:calc(var(--recibo-fonte,15px) * 0.84);}
.imp-recibo .cup-item .cup-ds{flex:1 1 0;min-width:5.0em;overflow-wrap:anywhere;
  font-family:Arial,Helvetica,sans-serif;line-height:1.3;font-size:calc(var(--recibo-fonte,15px) * 0.87);}
.imp-recibo .cup-item .cup-n{flex:0 0 auto;text-align:right;font-size:calc(var(--recibo-fonte,15px) * 0.84);}
.imp-recibo .cup-item .cup-q{min-width:2.3em;}
.imp-recibo .cup-item .cup-u{min-width:3.0em;}
.imp-recibo .cup-item .cup-t{min-width:3.4em;}
.imp-recibo .cup-obs{border:1px dashed #000;padding:5px 7px;margin:6px 0 2px;}
.imp-recibo .cup-obs b{display:block;font-size:calc(var(--recibo-fonte,15px) * 0.78);letter-spacing:.04em;}
.imp-recibo .cup-obs span{font-family:Arial,Helvetica,sans-serif;line-height:1.3;
  font-size:calc(var(--recibo-fonte,15px) * 0.87);}

/* ---------- Cadastro de gerentes (quem autoriza no caixa) ---------- */
/* .ger-tabela é a tabela genérica da casa, usada também pelos relatórios de
   liberações e de trocas: o estilo dela vem do CSS geral (table th/td).
   Não redefinir aqui, senão aqueles relatórios mudam junto. */
/* largura fixa: a tela não estica com o monitor */
/* a tela é estreita: centralizada ela não fica jogada num canto da janela */
.ger-topo{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 auto 14px;width:640px;max-width:100%;}
.ger-topo .titulo-pagina{margin:0;}
.ger-topo .btn{margin-left:auto;}
.ger-par{display:grid;grid-template-columns:1fr;gap:14px;align-items:start;width:640px;max-width:100%;margin:0 auto;}

.ger-form{padding:0;overflow:hidden;}
.ger-corpo{padding:14px 16px 0;}
/* nome, senha e a chave Ativo na mesma linha.
   Grade de colunas fixas em vez de flex: com flex a chave Ativo não tinha
   como encolher e saía pra fora do cartão. */
/* a última coluna é fixa, não "auto": com auto o navegador encolheu ela até
   30px e esmagou a chave, que ficou com o trilho em largura zero. */
.ger-campos{display:grid;grid-template-columns:minmax(0,1fr) 196px 88px;
  gap:10px;align-items:end;}
.ger-campos .cp{min-width:0;}
@media(max-width:560px){
  .ger-campos{grid-template-columns:minmax(0,1fr) 88px;}
  .ger-campos .cp-senha{grid-column:1 / -1;}
}
/* o botão Mostrar fica por cima do campo: precisa de espaço à direita, e a
   regra geral de .ger-campos input é mais específica que a do login. */
.ger-campos .cad-senha input{padding-right:72px;}
/* só os rótulos dos campos: sem o .cp esta regra pegava também o label da
   chave Ativo, que vive na mesma grade, e matava o display:inline-flex dela. */
.ger-campos .cp label{display:block;font-size:12px;font-weight:600;margin:0 0 4px;color:#4A5565;}
.ger-campos input{width:100%;box-sizing:border-box;padding:7px 9px;font-size:13.5px;
  border:1px solid var(--cinza-borda);border-radius:7px;color:var(--texto);background:#fff;}
.ger-ativo-cx{justify-self:start;padding-bottom:7px;}
.ger-dica{font-size:11.5px;color:var(--texto-suave);margin:6px 0 0;}
.ger-tit{display:block;font-size:12px;font-weight:600;margin:14px 0 2px;color:#4A5565;}

/* chave liga/desliga: verde/cinza se lê de longe melhor que ✓ marcado */
.ger-sw{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;
  color:#4A5565;font-weight:600;position:relative;}
.ger-li .ger-sw{margin-top:1px;}
.ger-sw input{position:absolute;opacity:0;width:0;height:0;}
/* min-width junto da width: é um controle de tamanho fixo e não pode encolher
   em lugar nenhum, senão vira uma bolinha solta sem trilho. */
.ger-sw i{width:34px;min-width:34px;height:20px;border-radius:99px;background:#CFD5DD;
  position:relative;transition:background .15s;flex:none;}
.ger-sw i::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;
  background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.28);transition:transform .15s;}
.ger-sw input:checked + i{background:var(--verde);}
.ger-sw input:checked + i::after{transform:translateX(14px);}
.ger-sw input:focus-visible + i{outline:2px solid var(--azul);outline-offset:2px;}

/* Autorizações: duas colunas, só o nome e a chave. Empilhadas numa coluna
   só, e cada uma com subtítulo, as cinco faziam o formulário passar de 500px
   e a grade dos gerentes caía pra fora da tela. Sem caixa em volta e sem
   fundo colorido: a chave já diz o que está ligado. */
.ger-perm{margin:0 -16px 2px;border-top:1px solid #EDEFF2;
  display:grid;grid-template-columns:1fr 1fr;}
.ger-li{display:flex;align-items:center;gap:10px;padding:9px 16px;
  border-bottom:1px solid #EDEFF2;min-width:0;}
/* o fio entre as colunas; a linha inteira (Fechamento) não leva */
.ger-li:nth-child(odd):not(.ger-li-full){border-right:1px solid #EDEFF2;}
.ger-li-full{grid-column:1 / -1;}
.ger-li b{font-size:13.5px;font-weight:600;color:#1B2230;min-width:0;}
.ger-li .ger-sw{margin-left:auto;flex:none;}
/* o limite pertence ao desconto: fica na linha dele, antes da chave */
.ger-lim{display:flex;align-items:center;gap:6px;margin-left:auto;}
.ger-lim input{width:58px;padding:3px 7px;border:1px solid var(--cinza-borda);border-radius:6px;
  font-size:13px;text-align:right;font-variant-numeric:tabular-nums;background:#fff;color:var(--texto);}
.ger-lim span{font-size:11.5px;color:var(--texto-suave);white-space:nowrap;}
/* com o limite escondido, a chave é que vai pra direita sozinha */
.ger-lim[hidden]{display:none;}
/* numa tela estreita as duas colunas viram uma, e some o fio do meio */
@media(max-width:560px){
  .ger-perm{grid-template-columns:1fr;}
  .ger-li:nth-child(odd):not(.ger-li-full){border-right:0;}
}

.ger-pe{display:flex;gap:8px;align-items:center;padding:12px 16px;border-top:1px solid #EDEFF2;}
/* apagar não pode ser a coisa mais chamativa da tela */
.ger-excluir{margin-left:auto;background:none;border:0;color:#A8392C;font-size:12.5px;font-weight:600;
  cursor:pointer;padding:6px 2px;}
.ger-excluir:hover{text-decoration:underline;text-underline-offset:3px;}

/* janelinha de "deu certo": some com Enter, Esc, no OK ou clicando fora */
.ger-ok{z-index:60;}
.ger-ok-cx{max-width:320px;text-align:center;padding:26px 24px 22px;}
.ger-ok-ic{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:#E6F4EC;
  color:var(--verde);font-size:30px;line-height:56px;font-weight:700;}
.ger-ok-cx p{margin:0 0 18px;font-size:16px;font-weight:600;color:#1B2230;}
.ger-ok-cx .btn{min-width:110px;}

.ger-lista-card{padding:0;overflow:hidden;}
.ger-linha{cursor:pointer;}
.ger-linha:hover{background:#F5F8FC;}
.ger-linha.on{background:#EDF4FF;box-shadow:inset 3px 0 0 var(--azul);}
.ger-cod{color:var(--texto-suave);font-variant-numeric:tabular-nums;}
.ger-nome{font-weight:600;color:#1B2230;}
.ger-desc{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:#1B2230;white-space:nowrap;}
.ger-desc i{font-style:normal;font-weight:400;color:var(--texto-suave);font-size:12px;}
.ger-desc.sem{font-weight:400;color:#AEB4BD;}
.ger-pills{display:flex;gap:5px;flex-wrap:wrap;}
.ger-pill{font-size:11px;font-weight:600;border-radius:5px;padding:2px 7px;white-space:nowrap;}
.ger-pill.tudo{background:#E8F1FA;color:#1A5693;}
.ger-pill.p{background:#F0F2F6;color:#48515E;}
.ger-pill.off{background:#F0F2F6;color:#767E8A;}
.ger-off .ger-nome,.ger-off .ger-desc,.ger-off .ger-cod{color:#9BA2AC;}
.ger-rodape{font-size:12.5px;color:var(--texto-suave);padding:10px 12px;margin:0;
  border-top:1px solid var(--cinza-borda);}
.ger-vazio{color:var(--texto-suave);text-align:center;padding:26px 14px !important;}
.ger-lista-card .ger-tabela th{padding:8px 12px;}
.ger-lista-card .ger-tabela td{padding:9px 12px;font-size:13.5px;}
}

/* ---------- Relatório Notas × itens ---------- */
.ni-barra{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:14px 0;}
.ni-busca{flex:1 1 230px;max-width:340px;padding:8px 11px;border:1px solid var(--cinza-borda);
  border-radius:8px;font-size:14px;}
.ni-limpar{font-size:13px;color:var(--texto-suave);}
.ni-espaco{flex:1;}
/* quatro números, não três: a classe da casa é de 3 colunas e sobrava um
   cartão sozinho na segunda linha */
.ni-cards{margin-bottom:14px;}
@media(min-width:900px){.ni-cards{grid-template-columns:repeat(4,minmax(0,1fr));}}
.ni-nota{background:#fff;border:1px solid var(--cinza-borda);border-radius:10px;overflow:hidden;margin-bottom:12px;}
/* a faixa azul é o que separa uma nota da outra ao folhear a lista */
.ni-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--azul);color:#fff;
  padding:8px 14px;font-size:13px;}
.ni-top b{font-size:14px;font-weight:700;}
.ni-top .doc{color:#CBDFF6;}
.ni-top .dir{margin-left:auto;font-variant-numeric:tabular-nums;}
.ni-quem{display:flex;gap:16px;flex-wrap:wrap;padding:8px 14px;background:#F7F9FC;
  border-bottom:1px solid var(--cinza-borda);font-size:13px;color:var(--texto-suave);}
.ni-quem b{color:var(--texto);font-weight:600;}
.ni-itens{width:100%;border-collapse:collapse;}
.ni-itens th{font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--texto-suave);
  text-align:left;padding:7px 14px;border-bottom:1px solid #EDEFF2;font-weight:700;background:#fff;}
.ni-itens td{padding:7px 14px;border-bottom:1px solid #F2F4F7;font-size:13.5px;}
.ni-itens tr:last-child td{border-bottom:0;}
.ni-itens th.n,.ni-itens td.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;}
.ni-itens .cod{color:var(--texto-suave);font-variant-numeric:tabular-nums;}
.ni-itens .ref{color:var(--texto-suave);}
.ni-pe{display:flex;gap:20px;flex-wrap:wrap;justify-content:flex-end;padding:9px 14px;
  background:#FAFBFC;border-top:1px solid var(--cinza-borda);font-size:13px;color:var(--texto-suave);}
.ni-pe b{font-variant-numeric:tabular-nums;color:var(--texto);}
.ni-pe .tot b{font-size:15px;}
/* formas de pagamento empilhadas: nome à esquerda, valor alinhado à direita */
.ni-pe{align-items:flex-end;}
.ni-pag{margin-right:auto;text-align:left;}
.ni-pag .r{display:block;font-size:11px;color:var(--texto-suave);text-transform:uppercase;
  letter-spacing:.04em;margin-bottom:3px;}
.ni-pag i{font-style:normal;display:flex;gap:10px;line-height:1.65;}
.ni-pag i span{color:var(--texto);}
.ni-pag i b{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--texto);}
.ni-fim .ni-formas{margin-right:auto;text-align:left;min-width:200px;}
.ni-fim .ni-formas .r{margin-bottom:3px;text-align:left;}
.ni-fim .ni-formas i{font-style:normal;display:flex;gap:14px;font-size:13.5px;
  color:var(--texto-suave);line-height:1.6;}
.ni-fim .ni-formas i b{margin-left:auto;color:var(--texto);font-variant-numeric:tabular-nums;}
.ni-fim{display:flex;gap:26px;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;background:#fff;
  border:1px solid var(--cinza-borda);border-radius:10px;padding:14px 16px;}
.ni-fim div{text-align:right;}
.ni-fim .r{display:block;font-size:11.5px;color:var(--texto-suave);text-transform:uppercase;letter-spacing:.04em;}
.ni-fim .v{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;}
.ni-fim .total .v{font-size:22px;color:var(--verde);}
.ni-vazio{text-align:center;color:var(--texto-suave);padding:26px 16px;}
@media(max-width:700px){
  .ni-itens th:nth-child(5),.ni-itens td:nth-child(5){display:none;}
}
