:root{
  --laranja:#F58220; --laranja-esc:#d96b0c; --laranja-claro:#fff3e8;
  --escuro:#1c1f26; --escuro-2:#262a33;
  --fundo:#f4f5f7; --cartao:#fff; --borda:#e3e5ea; --texto:#1f2329; --suave:#6b7280;
  --verde:#15803d; --verde-bg:#e7f6ec; --vermelho:#b91c1c; --vermelho-bg:#fdeaea;
  --amarelo:#92600a; --amarelo-bg:#fff6dc; --azul:#1d4ed8; --azul-bg:#e8efff;
  --raio:10px; --sombra:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.08);
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;font-size:15px;color:var(--texto);background:var(--fundo);line-height:1.45}
a{color:var(--laranja-esc)}
h1,h2,h3{line-height:1.2;margin:0 0 .6em}
h1{font-size:1.5rem} h2{font-size:1.2rem} h3{font-size:1.02rem}
small,.suave{color:var(--suave)}
.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}

/* ---- estrutura ---- */
.lateral{position:fixed;inset:0 auto 0 0;width:240px;background:var(--escuro);color:#cfd3dc;display:flex;flex-direction:column;z-index:40;overflow-y:auto}
.marca{display:flex;align-items:center;gap:8px;padding:18px 18px 14px;text-decoration:none;color:#fff;font-weight:700}
.marca .tag{background:var(--laranja);color:#fff;font-size:.72rem;padding:2px 7px;border-radius:20px;letter-spacing:.03em}
.logo{height:34px;width:auto;max-width:150px}
.logo-txt{font-weight:800;font-size:1.3rem;color:var(--laranja)}
.lateral nav{display:flex;flex-direction:column;padding:4px 10px}
.lateral nav a{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:8px;color:#cfd3dc;text-decoration:none;font-size:.93rem}
.lateral nav a svg{width:19px;height:19px;fill:currentColor;opacity:.85;flex:none}
.lateral nav a:hover{background:var(--escuro-2);color:#fff}
.lateral nav a.ativo{background:var(--laranja);color:#fff}
.nav-titulo{margin:14px 21px 4px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#8a90a0}
.lateral-rodape{margin-top:auto;padding:14px 18px;font-size:.78rem;color:#8a90a0}
.lateral-rodape a{color:#fff}
.principal{margin-left:240px;min-height:100vh;display:flex;flex-direction:column}
.sem-menu .principal{margin-left:0}
.barra{display:flex;align-items:center;gap:14px;background:#fff;border-bottom:1px solid var(--borda);padding:10px 24px;position:sticky;top:0;z-index:30}
.barra-emp{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.barra-emp small{color:var(--suave)}
.barra-user{margin-left:auto;display:flex;align-items:center;gap:10px;white-space:nowrap}
.btn-menu{display:none;border:0;background:none;font-size:1.4rem;cursor:pointer;padding:2px 6px}
.conteudo{padding:22px 24px 40px;max-width:1280px;width:100%}
.sombra-menu{display:none}
@media (max-width:900px){
  .lateral{transform:translateX(-100%);transition:transform .2s}
  .menu-aberto .lateral{transform:none}
  .menu-aberto .sombra-menu{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:35}
  .principal{margin-left:0}
  .btn-menu{display:block}
  .barra{padding:10px 16px}
  .barra-user span{display:none}
  .conteudo{padding:16px}
}

/* ---- componentes ---- */
.cabecalho{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.cabecalho h1{margin:0}
.acoes{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.cartao{background:var(--cartao);border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra);padding:18px;margin-bottom:16px}
.cartao>h2:first-child,.cartao>h3:first-child{margin-top:0}
.grade{display:grid;gap:14px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g6{grid-template-columns:repeat(6,minmax(0,1fr))}
.span2{grid-column:span 2}.span3{grid-column:span 3}.span4{grid-column:span 4}.span-all{grid-column:1/-1}
@media (max-width:900px){.g3,.g4,.g6{grid-template-columns:repeat(2,minmax(0,1fr))}.span3,.span4{grid-column:1/-1}}
@media (max-width:560px){.g2,.g3,.g4,.g6{grid-template-columns:1fr}.span2{grid-column:auto}}

.kpi{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:16px;box-shadow:var(--sombra)}
.kpi small{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
.kpi strong{display:block;font-size:1.5rem;margin-top:4px;font-variant-numeric:tabular-nums}
.kpi.destaque{border-top:3px solid var(--laranja)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--borda);background:#fff;color:var(--texto);padding:9px 15px;border-radius:8px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap;line-height:1.1}
.btn:hover{border-color:#c9ccd3}
.btn-primario{background:var(--laranja);border-color:var(--laranja);color:#fff}
.btn-primario:hover{background:var(--laranja-esc);border-color:var(--laranja-esc)}
.btn-perigo{color:var(--vermelho);border-color:#f0c4c4}
.btn-perigo:hover{background:var(--vermelho-bg)}
.btn-verde{background:#1fa855;border-color:#1fa855;color:#fff}
.btn-linha{background:transparent}
.btn-sm{padding:6px 10px;font-size:.85rem}
.btn-bloco{width:100%}
.btn[disabled]{opacity:.55;cursor:not-allowed}

.form label{display:flex;flex-direction:column;gap:5px;font-size:.85rem;font-weight:600;color:#3b414b}
.form label.check{flex-direction:row;align-items:center;gap:8px;font-weight:500}
input,select,textarea{font:inherit;color:var(--texto);border:1px solid #cfd3da;border-radius:8px;padding:9px 11px;background:#fff;width:100%;min-width:0}
input[type=checkbox],input[type=radio]{width:auto}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(245,130,32,.35);border-color:var(--laranja)}
textarea{min-height:80px;resize:vertical}
.input-acao{display:flex;gap:6px}
.input-acao input{flex:1}
.dica{font-size:.8rem;color:var(--suave);font-weight:400}
.form-acoes{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:8px}

.tabela-wrap{overflow-x:auto;background:#fff;border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra)}
table{border-collapse:collapse;width:100%}
th,td{padding:10px 12px;border-bottom:1px solid var(--borda);text-align:left;vertical-align:middle}
th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--suave);background:#fafbfc;white-space:nowrap}
tr:last-child td{border-bottom:0}
tbody tr:hover{background:#fcfcfd}
td .btn-sm{margin:1px}
.vazio{padding:30px;text-align:center;color:var(--suave)}

.badge{display:inline-block;font-size:.75rem;font-weight:700;padding:3px 9px;border-radius:20px;white-space:nowrap}
.b-verde{background:var(--verde-bg);color:var(--verde)}
.b-vermelho{background:var(--vermelho-bg);color:var(--vermelho)}
.b-amarelo{background:var(--amarelo-bg);color:var(--amarelo)}
.b-cinza{background:#eef0f3;color:#4b5260}
.b-azul{background:var(--azul-bg);color:var(--azul)}
.b-laranja{background:var(--laranja-claro);color:var(--laranja-esc)}

.alerta{padding:12px 14px;border-radius:8px;margin-bottom:14px;border:1px solid transparent}
.alerta-ok{background:var(--verde-bg);color:var(--verde);border-color:#bfe5cb}
.alerta-erro{background:var(--vermelho-bg);color:var(--vermelho);border-color:#f3c1c1}
.alerta-info{background:var(--azul-bg);color:var(--azul);border-color:#c9d8ff}
.alerta-aviso{background:var(--amarelo-bg);color:var(--amarelo);border-color:#f3e0a6}

.filtros{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin-bottom:14px}
.filtros label{display:flex;flex-direction:column;gap:4px;font-size:.8rem;font-weight:600;color:var(--suave)}
.filtros input,.filtros select{width:auto;min-width:150px}
.paginacao{display:flex;gap:4px;justify-content:center;margin:14px 0}
.paginacao a{padding:6px 11px;border:1px solid var(--borda);border-radius:6px;background:#fff;text-decoration:none;color:var(--texto)}
.paginacao a.ativo{background:var(--laranja);color:#fff;border-color:var(--laranja)}

.abas{display:flex;gap:4px;border-bottom:1px solid var(--borda);margin-bottom:16px;overflow-x:auto}
.abas a{padding:9px 14px;text-decoration:none;color:var(--suave);border-bottom:2px solid transparent;font-weight:600;white-space:nowrap}
.abas a.ativo{color:var(--laranja-esc);border-color:var(--laranja)}

dl.dados{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0}
dl.dados dt{color:var(--suave);font-size:.85rem}
dl.dados dd{margin:0;word-break:break-all}

/* ---- autocomplete ---- */
.auto{position:relative}
.auto-lista{position:absolute;left:0;right:0;top:100%;background:#fff;border:1px solid var(--borda);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:50;max-height:300px;overflow:auto;margin-top:3px}
.auto-lista div{padding:9px 12px;cursor:pointer;border-bottom:1px solid #f1f2f4}
.auto-lista div:hover,.auto-lista div.sel{background:var(--laranja-claro)}
.auto-lista small{display:block}

/* ---- modal ---- */
.modal{position:fixed;inset:0;background:rgba(17,20,26,.5);display:none;align-items:center;justify-content:center;z-index:100;padding:16px}
.modal.aberto{display:flex}
.modal-caixa{background:#fff;border-radius:12px;max-width:560px;width:100%;padding:22px;max-height:92vh;overflow:auto}
.modal-caixa h2{margin-top:0}

/* ---- login ---- */
.tela-login{min-height:100vh;display:flex;background:#fff}
.login-lado{flex:1;background:linear-gradient(140deg,var(--escuro) 0%,#2b2f3a 60%,var(--laranja-esc) 160%);color:#fff;display:flex;align-items:center;padding:48px}
.login-lado-txt{max-width:460px}
.login-lado h2{font-size:2rem;margin:14px 0 20px}
.login-lado ul{padding:0;list-style:none;margin:0}
.login-lado li{padding:6px 0 6px 26px;position:relative;color:#e4e6eb}
.login-lado li:before{content:"✓";position:absolute;left:0;color:var(--laranja);font-weight:800}
.selo{display:inline-block;background:rgba(245,130,32,.18);color:#ffb070;padding:4px 12px;border-radius:20px;font-size:.82rem;font-weight:600}
.login-caixa{width:440px;max-width:100%;padding:48px 40px;display:flex;flex-direction:column;justify-content:center;margin:auto}
.login-caixa.largo{width:560px}
.login-logo .logo{height:46px}
.login-caixa h1{margin:22px 0 4px}
.login-caixa .sub{margin:0 0 20px;color:var(--suave)}
.login-caixa .form{display:flex;flex-direction:column;gap:14px}
.login-ajuda{font-size:.88rem;color:var(--suave);margin:14px 0 0}
.requisitos{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.85rem}
.requisitos .ok{color:var(--verde)} .requisitos .falha{color:var(--vermelho)}
@media (max-width:820px){.login-lado{display:none}.login-caixa{padding:32px 20px}}

/* ---- emissão ---- */
.itens-tabela input{padding:7px 8px}
.itens-tabela td{padding:6px 6px}
.itens-tabela .col-desc{min-width:200px}
.itens-tabela .col-n{width:110px}
.itens-tabela .col-s{width:80px}
.totais{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end;padding:12px 4px 0;font-size:.95rem}
.totais strong{font-size:1.25rem;color:var(--laranja-esc)}
.pag-linha{display:grid;grid-template-columns:1fr 160px auto;gap:8px;margin-bottom:8px}

/* ---- caixa NFC-e ---- */
.caixa{display:grid;grid-template-columns:1fr 360px;gap:16px;align-items:start}
@media (max-width:1000px){.caixa{grid-template-columns:1fr}}
.caixa-busca input{font-size:1.15rem;padding:13px 14px}
.caixa-itens{min-height:340px}
.caixa-total{background:var(--escuro);color:#fff;border-radius:var(--raio);padding:18px}
.caixa-total small{color:#aab0bd;text-transform:uppercase;font-size:.78rem;letter-spacing:.05em}
.caixa-total .valor{font-size:2.4rem;font-weight:800;color:#ffb070;font-variant-numeric:tabular-nums}
.teclas{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.teclas button{background:var(--escuro-2);border:1px solid #3a3f4b;color:#fff;border-radius:8px;padding:12px 8px;font:inherit;font-weight:600;cursor:pointer;text-align:left}
.teclas button:hover{border-color:var(--laranja)}
.teclas kbd{background:var(--laranja);color:#fff;border-radius:4px;padding:1px 6px;font-size:.78rem;margin-right:6px}
.caixa-pags div{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px dashed #3a3f4b;font-size:.92rem}
.troco{color:#7ee2a0}

@media print{.lateral,.barra,.no-print{display:none!important}.principal{margin:0}}
.grade>*{min-width:0}
.gbar{min-width:0}
.gbar small{overflow:hidden;max-width:100%}
@media (max-width:560px){.gbar small{display:none}}

.login-logo.escuro{display:inline-block;align-self:flex-start;background:var(--escuro);padding:12px 16px;border-radius:12px}
.logo{height:38px}

/* =========== layout v6: menu de botões grandes (estilo painel clássico) =========== */
.lateral{width:104px;background:var(--laranja);color:#fff;overflow:visible;padding-top:64px}
.principal{margin-left:104px}
.menu{display:flex;flex-direction:column}
.m-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:100%;min-height:86px;padding:10px 6px;border:0;background:transparent;color:#fff;font:inherit;font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;text-align:center;text-decoration:none;cursor:pointer;line-height:1.15}
.m-item svg{width:30px;height:30px;fill:currentColor}
.m-item:hover,.m-grupo:hover>.m-item,.m-grupo.aberto>.m-item{background:rgba(0,0,0,.10)}
.m-item.ativo{background:var(--laranja-esc)}
.m-grupo{position:relative}
.m-sub{display:none;position:absolute;left:100%;top:0;min-width:230px;background:#fff;border-radius:0 10px 10px 0;box-shadow:6px 6px 24px rgba(0,0,0,.16);padding:8px;z-index:60}
.m-grupo:hover>.m-sub,.m-grupo.aberto>.m-sub,.m-grupo:focus-within>.m-sub{display:block}
.m-sub-tit{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--suave);padding:6px 10px 8px;font-weight:700}
.m-sub a{display:block;padding:10px 12px;border-radius:7px;color:var(--texto);text-decoration:none;font-weight:600;font-size:.92rem}
.m-sub a:hover{background:var(--laranja-claro);color:var(--laranja-esc)}
.m-sub a.ativo{background:var(--laranja-claro);color:var(--laranja-esc)}
.m-suporte{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 4px;color:#fff;text-decoration:none;font-size:.68rem;font-weight:700;text-transform:uppercase}
.m-suporte svg{width:26px;height:26px;fill:#fff}
.barra{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;padding:8px 24px;min-height:64px}
.barra-emp{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
.barra-emp small{font-size:.7rem;color:var(--suave)}
.barra-emp strong{font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.troca-emp select{padding:5px 8px;font-size:.85rem;font-weight:700;background:#f4f5f7;border-color:#e3e5ea;max-width:320px}
.barra-logo{justify-self:center;display:flex;align-items:center}
.barra-logo .logo{height:40px;max-width:220px}
.barra-user{justify-self:end;display:flex;align-items:center;gap:8px}
.user-menu{position:relative}
.user-menu summary{list-style:none;cursor:pointer;font-weight:700;color:var(--laranja-esc);font-size:.88rem;padding:6px 8px;border-radius:6px}
.user-menu summary::-webkit-details-marker{display:none}
.user-menu[open] summary{background:var(--laranja-claro)}
.user-menu>div{position:absolute;right:0;top:110%;background:#fff;border:1px solid var(--borda);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.12);padding:8px;min-width:200px;z-index:70;display:flex;flex-direction:column}
.user-menu>div a{padding:9px 10px;border-radius:6px;text-decoration:none;color:var(--texto);font-weight:600}
.user-menu>div a:hover{background:var(--fundo)}
.user-menu .dica{padding:4px 10px 8px;border-bottom:1px solid var(--borda);margin-bottom:4px}
/* logo da marca VFarias tem texto branco: no topo branco usa versão em fundo escuro */
.barra-logo .logo-txt{font-size:1.2rem}
@media (max-width:900px){
  .lateral{width:250px;padding-top:12px;overflow-y:auto}
  .principal{margin-left:0}
  .m-item{flex-direction:row;justify-content:flex-start;min-height:0;padding:13px 18px;font-size:.85rem;gap:12px;text-align:left}
  .m-item svg{width:22px;height:22px}
  .m-sub,.m-grupo:hover>.m-sub{display:none;position:static;box-shadow:none;background:rgba(0,0,0,.10);border-radius:0;padding:4px 0 8px}
  .m-grupo.aberto>.m-sub,.m-grupo.ativo>.m-sub{display:block}
  .m-sub-tit{display:none}
  .m-sub a{color:#fff;padding:9px 18px 9px 52px;border-radius:0;font-weight:500}
  .m-sub a:hover,.m-sub a.ativo{background:rgba(0,0,0,.12);color:#fff}
  .m-suporte{flex-direction:row;justify-content:flex-start;padding:14px 18px;gap:10px;font-size:.8rem}
  .barra{grid-template-columns:auto 1fr auto;padding:8px 12px}
  .barra-logo{display:none}
  .troca-emp select{max-width:52vw}
}

/* =========== painel =========== */
.pn-titulo{display:flex;align-items:baseline;gap:16px;border-bottom:1px solid var(--borda);padding-bottom:12px;margin-bottom:16px}
.pn-titulo h1{margin:0;font-weight:500}
.pn-titulo span{color:var(--suave);font-size:.88rem}
.doc-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}
.doc-card{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra);padding:18px;display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:center}
.doc-ico{grid-row:span 3;width:52px;height:60px;position:relative;color:var(--laranja)}
.doc-ico svg{width:52px;height:60px;fill:none;stroke:currentColor;stroke-width:1.6}
.doc-ico b{position:absolute;left:-4px;right:-4px;top:26px;background:var(--laranja);color:#fff;font-size:.66rem;font-weight:800;text-align:center;border-radius:3px;padding:1px 0;letter-spacing:.02em}
.doc-card h3{margin:0;font-weight:500;color:#5b616e;font-size:.98rem}
.doc-num{font-size:1.6rem;font-weight:800;color:var(--laranja-esc);line-height:1.1}
.doc-num small{font-size:.75rem;font-weight:600;color:var(--suave);margin-left:4px}
.doc-sub{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.doc-sub span{font-size:.84rem;color:var(--suave);white-space:nowrap}
.resumo-faixa{display:flex;flex-wrap:wrap;background:#fff;border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra);margin-bottom:16px}
.resumo-faixa div{flex:1;min-width:150px;padding:12px 18px;border-right:1px solid var(--borda)}
.resumo-faixa div:last-child{border-right:0}
.resumo-faixa small{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:var(--suave)}
.resumo-faixa strong{font-size:1.1rem;font-variant-numeric:tabular-nums}
.pn-linha{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.graf12{display:flex;align-items:flex-end;gap:8px;height:240px;padding-top:22px;border-bottom:1px solid var(--borda)}
.graf12 .b{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0;position:relative}
.graf12 .b i{display:block;width:100%;max-width:46px;background:var(--laranja);opacity:.75;border-radius:4px 4px 0 0}
.graf12 .b:hover i{opacity:1}
.graf12 .b em{font-style:normal;font-size:.68rem;font-weight:700;color:#4b5260;white-space:nowrap;margin-bottom:3px}
.graf12-rot{display:flex;gap:8px;margin-top:6px}
.graf12-rot span{flex:1;text-align:center;font-size:.72rem;color:var(--suave);min-width:0}
.ult td{padding:11px 10px}
.ult .num{white-space:nowrap}
.olho{display:inline-flex;color:var(--suave)}
.olho svg{width:18px;height:18px;fill:currentColor}
.olho:hover{color:var(--laranja-esc)}
@media (max-width:1150px){.doc-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.pn-linha{grid-template-columns:1fr}}
@media (max-width:560px){.doc-cards{grid-template-columns:1fr}.graf12 .b em{display:none}.graf12-rot span{font-size:.6rem}}

.conteudo{max-width:none}
.ult td:nth-child(2){white-space:nowrap}

.inat{border-top:1px solid var(--borda);padding-top:12px}
.inat h3{margin-bottom:8px}
.inat-info{background:#f7f8fa;border:1px solid var(--borda);border-radius:8px;padding:10px 12px;font-size:.88rem;color:#4b5260;margin:4px 0 10px}
.hist th,.hist td{padding:7px 8px;font-size:.84rem}
.modal-caixa{max-width:620px}

.modal{white-space:normal;text-align:left}

.acesso-copiar{border:2px solid #1fa855;background:#f3fbf6}
.acesso-copiar textarea{font-size:.95rem;background:#fff;margin-bottom:6px}

/* =========== PDV / caixa NFC-e =========== */
.pdv{display:grid;grid-template-columns:minmax(360px,44%) 1fr;gap:16px;align-items:stretch;min-height:calc(100vh - 130px)}
.pdv-esq{display:flex;flex-direction:column;gap:14px}
.pdv-card{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra);padding:18px}
.pdv kbd,.pdv-pag kbd{background:#eef0f3;color:#4b5260;border-radius:4px;padding:1px 6px;font-size:.72rem;font-family:inherit;font-weight:700}
.pdv-busca-topo{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.pdv-busca-topo label{font-size:.9rem;color:#4b5260}
.pdv-logo{max-height:38px;max-width:120px}
.pdv-busca{display:flex;align-items:stretch;border:1px solid #cfd3da;border-radius:8px;overflow:visible;background:#fff}
.pdv-busca:focus-within{outline:2px solid rgba(245,130,32,.35);border-color:var(--laranja)}
.pdv-busca>svg{width:46px;padding:12px;fill:#6b7280;background:#f4f5f7;border-radius:8px 0 0 8px;flex:none}
.pdv-busca .auto{flex:1}
.pdv-busca input{border:0;outline:0;font-size:1.25rem;padding:16px 14px;border-radius:0 8px 8px 0}
.pdv-busca input:focus{outline:0}
.pdv-sel{margin:10px 0 2px;font-size:.88rem;color:var(--suave);min-height:1.3em}
.pdv-sel.ok{color:var(--texto)}
.pdv-sel span{color:var(--suave);font-size:.8rem}
.pdv-campos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:10px 0 14px}
.pdv-campos label{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:.82rem;color:#4b5260}
.pdv-campos input{text-align:center;font-size:1.5rem;padding:16px 8px}
.pdv-campos input[readonly]{background:#e9eaed;border-color:#e0e2e6;color:#3b414b}
.pdv-incluir{width:100%;border:0;border-radius:8px;background:var(--laranja);color:#fff;font:inherit;font-size:1.05rem;font-weight:700;padding:16px;cursor:pointer;letter-spacing:.03em}
.pdv-incluir:hover{background:var(--laranja-esc)}
.pdv-incluir small{font-weight:500;opacity:.9}
.pdv-dica{font-size:.78rem;color:var(--suave);margin:10px 0 0}
.pdv-acoes{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pdv-tile{position:relative;background:#fff;border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra);padding:22px 10px 18px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:10px;font:inherit;font-size:1.05rem;font-weight:700}
.pdv-tile:hover{border-color:#c9ccd3;transform:translateY(-1px)}
.pdv-tile svg{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.pdv-tile kbd{position:absolute;top:10px;right:12px;background:none;color:#a0a6b1}
.t-cancelar{color:#c0392b}
.t-salvar{color:#2b2f38}
.t-finalizar{grid-column:1/-1;color:#2e7d32;padding:26px 10px 22px;font-size:1.2rem}
.t-finalizar svg{width:52px;height:52px}
.pdv-salvas{border:1px dashed var(--laranja);background:var(--laranja-claro);color:var(--laranja-esc);border-radius:8px;padding:10px;font:inherit;font-weight:700;cursor:pointer}
.pdv-dir{display:flex;flex-direction:column;gap:12px;min-height:0}
.pdv-itens{flex:1;background:#fff;border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra);overflow:auto;min-height:320px;max-height:calc(100vh - 230px);position:relative}
.pdv-itens table{width:100%}
.pdv-itens th{position:sticky;top:0;background:#fff;color:#2b2f38;font-size:.78rem}
.pdv-itens td{padding:10px 12px}
.pdv-itens td input{width:80px;text-align:right;padding:5px 6px}
.pdv-rm{border:0;background:none;color:#c0392b;font-size:1rem;cursor:pointer;padding:4px 8px;border-radius:6px}
.pdv-rm:hover{background:var(--vermelho-bg)}
.pdv-vazio{position:absolute;inset:60px 0 0;display:flex;align-items:center;justify-content:center;color:#a0a6b1;font-size:1.05rem}
.pdv-sub-desc{display:flex;justify-content:space-between;padding:0 22px;color:#c0392b;font-weight:600}
.pdv-subtotal{display:flex;justify-content:space-between;align-items:center;background:var(--laranja);color:#fff;border-radius:6px;padding:18px 22px}
.pdv-subtotal span{font-size:1.7rem;font-weight:300;letter-spacing:.02em}
.pdv-subtotal strong{font-size:2rem;font-variant-numeric:tabular-nums}
/* modal de pagamento */
.pdv-pag{max-width:560px}
.pdv-pag-topo{display:flex;justify-content:space-between;align-items:center}
.pdv-pag-topo h2{margin:0}
.pdv-pag-total{background:var(--laranja);color:#fff;border-radius:10px;padding:14px 18px;margin:14px 0;display:flex;justify-content:space-between;align-items:center}
.pdv-pag-total small{font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}
.pdv-pag-total strong{font-size:2rem}
.pdv-pag-valor{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.88rem}
.pdv-pag-valor input{font-size:1.6rem;text-align:center;padding:12px}
.pdv-formas{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}
.pdv-formas button{border:1px solid var(--borda);background:#fff;border-radius:10px;padding:14px 6px;font:inherit;font-weight:700;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px}
.pdv-formas button:hover{border-color:var(--laranja);background:var(--laranja-claro)}
.pdv-pag-lista div{display:flex;justify-content:space-between;padding:7px 2px;border-bottom:1px dashed var(--borda)}
.pdv-pag-lista button{border:0;background:none;color:#c0392b;cursor:pointer}
.pdv-pag-falta{font-size:1.1rem;margin:10px 0;text-align:right}
.pdv-pag-falta .troco{color:#1e8449}
.pdv-extra{border:1px solid var(--borda);border-radius:8px;padding:10px 12px;margin-bottom:12px}
.pdv-extra summary{cursor:pointer;font-weight:600}
.pdv-extra .form{display:flex;flex-direction:column;gap:5px;font-size:.85rem;font-weight:600}
.pdv-emitir{width:100%;border:0;border-radius:10px;background:#2e7d32;color:#fff;font:inherit;font-size:1.15rem;font-weight:800;padding:16px;cursor:pointer}
.pdv-emitir:disabled{background:#b9c2bb;cursor:not-allowed}
.pdv-salva{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--borda)}
.pdv-salva>div{flex:1}.pdv-salva small{display:block;color:var(--suave)}
@media (max-width:1000px){.pdv{grid-template-columns:1fr}.pdv-itens{max-height:none;min-height:220px}}
@media (max-width:560px){.pdv-campos input{font-size:1.15rem;padding:12px 4px}.pdv-formas{grid-template-columns:repeat(2,1fr)}.pdv-subtotal span{font-size:1.2rem}.pdv-subtotal strong{font-size:1.5rem}}
[hidden]{display:none!important}
.pdv-incluir small,.pdv-emitir small,.pdv-pag-total small{color:inherit;opacity:.85}
.pdv-itens{max-height:calc(100vh - 300px)}
.pdv>*{min-width:0}
@media (max-width:1000px){.pdv{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.pdv-busca-topo kbd,.pdv-dica{display:none}.pdv-itens th:nth-child(2),.pdv-itens td:nth-child(2){display:none}.pdv-tile{padding:16px 6px 14px;font-size:.95rem}}

/* ===== Tipografia leve (Poppins), no estilo do emissor antigo ===== */
body{font-family:"Poppins","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;font-size:14px;color:#3a3f4b;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-weight:500}
.pn-titulo h1,.cabecalho h1{font-weight:400;font-size:1.55rem;color:#2f333b}
.cartao h3,.doc-card h3,.pn-bloco h3{font-weight:400;color:#3a3f4b}
.doc-card h3{font-size:.95rem;color:#6b7180}
.doc-num{font-weight:500;font-size:1.45rem;color:var(--laranja)}
.doc-num small,.dica{font-weight:400}
.btn{font-weight:400;border-color:#c9ccd3;color:#5b616e}
.btn-primario,.btn.btn-primario{font-weight:500;color:#fff}
.btn-perigo{font-weight:500}
th{text-transform:none;letter-spacing:0;font-size:.85rem;font-weight:600;color:#2f333b;background:transparent}
td{font-weight:400}
.kpi small,.resumo-faixa small{text-transform:none;letter-spacing:0;font-size:.8rem;font-weight:400}
.kpi strong,.resumo-faixa strong{font-weight:500}
.graf12 .b em{font-weight:500}
.m-item{font-weight:500;letter-spacing:0;font-size:.68rem}
.m-sub a{font-weight:400}
.m-sub-tit{font-weight:500}
.m-suporte{font-weight:500}
.troca-emp select{font-weight:500}
.user-menu summary{font-weight:500}
.user-menu>div a{font-weight:400}
.form label,.filtros label{font-weight:500}
.form label.check{font-weight:400}
.abas a{font-weight:500}
.badge{font-weight:500}
.nav-titulo{font-weight:500}
.doc-ico b{font-weight:600}
input,select,textarea,button{font-family:inherit}

/* ===== Login novo ===== */
.lg{margin:0;min-height:100vh;background:#f4f5f8;font-family:"Poppins","Segoe UI",system-ui,sans-serif}
.lg-wrap{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.lg-marca{position:relative;overflow:hidden;color:#fff;display:flex;align-items:center;justify-content:center;padding:56px 48px;
  background:radial-gradient(900px 520px at 85% 110%,color-mix(in srgb,var(--laranja) 55%,transparent),transparent 60%),
             radial-gradient(600px 400px at 0% 0%,rgba(255,255,255,.06),transparent 60%),#1d2029}
.lg-marca:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse at 40% 50%,#000 30%,transparent 75%)}
.lg-marca-in{position:relative;max-width:520px;width:100%}
.lg-selo{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:500;color:#ffd2ad;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);padding:6px 14px;border-radius:30px}
.lg-selo i{width:7px;height:7px;border-radius:50%;background:#3ddc84;box-shadow:0 0 0 4px rgba(61,220,132,.18)}
.lg-marca h2{font-size:2.35rem;line-height:1.18;font-weight:600;margin:22px 0 14px;letter-spacing:-.01em}
.lg-marca h2 em{font-style:normal;color:var(--laranja)}
.lg-lead{color:#b9bdc8;font-size:1rem;font-weight:300;margin:0 0 34px;max-width:440px}
.lg-cena{position:relative;height:250px;margin:0 0 30px}
.lg-nota{position:absolute;left:30px;top:10px;width:300px;background:#fff;color:#2f333b;border-radius:16px;padding:18px 20px;box-shadow:0 30px 60px -20px rgba(0,0,0,.55);transform:rotate(-2.5deg)}
.lg-nota-topo{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.lg-tag{background:var(--laranja);color:#fff;font-size:.7rem;font-weight:600;padding:3px 9px;border-radius:6px}
.lg-ok{color:#1e8e4e;background:#e5f6ec;font-size:.72rem;font-weight:500;padding:3px 9px;border-radius:20px}
.lg-linha{height:8px;border-radius:6px;background:#eceef2;margin:7px 0}.lg-linha.l1{width:85%}.lg-linha.l2{width:60%}
.lg-nota-rodape{display:flex;justify-content:space-between;align-items:baseline;margin:14px 0 10px}
.lg-nota-rodape small{color:#8a90a0;font-size:.75rem}.lg-nota-rodape strong{font-size:1.25rem;font-weight:600}
.lg-barras{display:flex;align-items:flex-end;gap:6px;height:48px}
.lg-barras i{flex:1;border-radius:4px 4px 2px 2px;background:color-mix(in srgb,var(--laranja) 30%,#fff)}
.lg-barras i:nth-child(6){background:var(--laranja)}
.lg-chip{position:absolute;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:10px 14px;font-size:.82rem;line-height:1.25;box-shadow:0 14px 30px -12px rgba(0,0,0,.5)}
.lg-chip b{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--laranja);font-size:.95rem}
.lg-chip small{color:#c8ccd5;font-weight:300}
.lg-chip.c1{right:20px;top:0;animation:lgf 6s ease-in-out infinite}
.lg-chip.c2{right:60px;bottom:6px;animation:lgf 6s ease-in-out -3s infinite}
@keyframes lgf{50%{transform:translateY(-8px)}}
.lg-lista{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;padding:0;margin:0}
.lg-lista li{position:relative;padding-left:22px;color:#dfe2e8;font-size:.9rem}
.lg-lista li:before{content:"";position:absolute;left:0;top:4px;width:14px;height:14px;border-radius:50%;background:var(--laranja) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 6.2 5 8l4-4' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px no-repeat}
.lg-form{display:flex;align-items:center;justify-content:center;padding:40px 24px;background:#fff}
.lg-form-in{width:100%;max-width:380px}
.lg-logo .logo{height:50px;width:auto;max-width:240px;object-fit:contain}
.lg-form h1{font-size:1.65rem;font-weight:600;color:#1f232b;margin:34px 0 6px;letter-spacing:-.01em}
.lg-sub{color:#7a8090;margin:0 0 26px;font-size:.93rem}
.lg-campos{display:flex;flex-direction:column;gap:16px}
.lg-campo>span{display:block;font-size:.82rem;font-weight:500;color:#3a3f4b;margin-bottom:6px}
.lg-input{position:relative;display:flex;align-items:center}
.lg-input>svg{position:absolute;left:14px;width:19px;height:19px;color:#9aa0ad;pointer-events:none}
.lg-input input{width:100%;height:50px;border:1.5px solid #e2e5eb;border-radius:12px;background:#f8f9fb;padding:0 46px 0 44px;font:inherit;font-size:.95rem;color:#1f232b;transition:.15s}
.lg-input input::placeholder{color:#a9aebb}
.lg-input input:focus{outline:0;border-color:var(--laranja);background:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--laranja) 15%,transparent)}
.lg-input:focus-within>svg{color:var(--laranja)}
.lg-olho{position:absolute;right:8px;width:36px;height:36px;border:0;background:transparent;border-radius:8px;color:#9aa0ad;cursor:pointer;display:grid;place-items:center}
.lg-olho svg{width:19px;height:19px}.lg-olho:hover,.lg-olho.on{color:var(--laranja)}
.lg-entrar{margin-top:6px;height:52px;border:0;border-radius:12px;background:var(--laranja);color:#fff;font:inherit;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 12px 24px -10px color-mix(in srgb,var(--laranja) 80%,transparent);transition:.15s}
.lg-entrar:hover{filter:brightness(1.05);transform:translateY(-1px)}
.lg-entrar span{transition:.15s}.lg-entrar:hover span{transform:translateX(3px)}
.lg-links{display:flex;flex-direction:column;gap:10px;margin-top:22px;font-size:.88rem;color:#7a8090}
.lg-links a{color:var(--laranja-esc,var(--laranja));font-weight:500;text-decoration:none}.lg-links a:hover{text-decoration:underline}
.lg-rodape{margin:44px 0 0;font-size:.76rem;color:#a9aebb}
.lg .alerta{margin:0 0 16px;border-radius:10px}
@media (max-width:980px){.lg-wrap{grid-template-columns:1fr}.lg-marca{display:none}.lg-form{min-height:100vh;background:linear-gradient(180deg,#fff 0%,#f6f7f9 100%)}}

/* ===== Login (modelo cartão central) ===== */
.lx{margin:0;min-height:100vh;font-family:"Poppins","Segoe UI",system-ui,sans-serif;color:#3a3f4b;
  background:radial-gradient(700px 380px at 100% 100%,color-mix(in srgb,var(--laranja) 12%,transparent),transparent 70%),radial-gradient(600px 340px at 0% 0%,#eef0f5,transparent 70%),#f7f8fa}
.lx-pagina{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 16px 24px}
.lx-logo{margin-bottom:30px}.lx-logo .logo{height:64px;width:auto;max-width:300px;object-fit:contain}
.lx-card{width:100%;max-width:940px;display:grid;grid-template-columns:1.05fr 1fr;background:#fff;border-radius:18px;box-shadow:0 1px 2px rgba(20,24,33,.04),0 24px 60px -24px rgba(20,24,33,.22);overflow:hidden}
.lx-arte{display:flex;flex-direction:column;justify-content:center;padding:34px 30px 30px 34px;background:linear-gradient(180deg,#fff, #fbfbfc)}
.lx-ilu{width:100%;height:auto;display:block}
.lx-nota{animation:lxsobe 5s ease-in-out infinite;transform-origin:center}
@keyframes lxsobe{50%{transform:translateY(-6px)}}
.lx-pontos{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px;font-size:.86rem;color:#6b7180}
.lx-pontos li{position:relative;padding-left:24px}
.lx-pontos li:before{content:"";position:absolute;left:0;top:3px;width:15px;height:15px;border-radius:50%;background:var(--laranja) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 6.2 5 8l4-4' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px no-repeat}
.lx-pontos b{color:#2f333b;font-weight:600}
.lx-form{padding:42px 44px 38px;border-left:1px solid #f0f1f4;display:flex;flex-direction:column;justify-content:center}
.lx-icone{display:flex;justify-content:center;margin-bottom:16px}.lx-icone svg{width:56px;height:56px}
.lx-form h1{font-size:1.05rem;font-weight:600;color:#2f333b;margin:0 0 18px}
.lx-campos{display:flex;flex-direction:column;gap:14px}
.lx-input{position:relative;display:flex;align-items:stretch;border:1.5px solid #e2e5eb;border-radius:10px;background:#fff;transition:.15s;overflow:hidden}
.lx-input:focus-within{border-color:var(--laranja);box-shadow:0 0 0 4px color-mix(in srgb,var(--laranja) 14%,transparent)}
.lx-ad{width:46px;display:grid;place-items:center;background:#f5f6f8;border-right:1.5px solid #e2e5eb;color:#6b7180;transition:.15s}
.lx-ad svg{width:17px;height:17px;fill:currentColor}
.lx-input:focus-within .lx-ad{color:var(--laranja);background:color-mix(in srgb,var(--laranja) 8%,#fff)}
.lx-input input{flex:1;min-width:0;border:0;outline:0;height:48px;padding:0 44px 0 14px;font:inherit;font-size:.95rem;color:#1f232b;background:transparent}
.lx-input input::placeholder{color:#9ba1ae}
.lx-olho{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;background:transparent;border-radius:8px;color:#9ba1ae;cursor:pointer;display:grid;place-items:center}
.lx-olho svg{width:19px;height:19px}.lx-olho:hover,.lx-olho.on{color:var(--laranja)}
.lx-linha{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.84rem}
.lx-linha a{color:var(--laranja-esc,var(--laranja));text-decoration:none;font-weight:500}.lx-linha a:hover{text-decoration:underline}
.lx-check{display:flex;align-items:center;gap:8px;cursor:pointer;color:#4b5260}
.lx-check input{width:17px;height:17px;accent-color:var(--laranja);margin:0}
.lx-entrar{margin-top:6px;height:50px;border:0;border-radius:10px;background:#262a33;color:#fff;font:inherit;font-size:1.02rem;font-weight:600;cursor:pointer;transition:.15s;box-shadow:0 10px 20px -12px rgba(20,24,33,.6)}
.lx-entrar:hover{background:#1b1e25;transform:translateY(-1px)}
.lx-sep{height:1px;background:#e8eaef;margin:26px 0 16px}
.lx-novo{margin:0 0 10px;font-size:.92rem;color:#3a3f4b}
.lx-assinar{display:flex;align-items:center;justify-content:center;height:46px;border-radius:10px;color:#fff;text-decoration:none;font-weight:500;background:linear-gradient(90deg,var(--laranja-esc,var(--laranja)),var(--laranja));box-shadow:0 10px 22px -12px color-mix(in srgb,var(--laranja) 90%,transparent);transition:.15s}
.lx-assinar:hover{filter:brightness(1.06);transform:translateY(-1px)}
.lx .alerta{margin:0 0 14px;border-radius:10px;font-size:.88rem}
.lx-versao{margin:22px 0 0;font-size:.78rem;color:#9399a6;text-align:center}
@media (max-width:820px){.lx-card{grid-template-columns:1fr;max-width:440px}.lx-arte{display:none}.lx-form{border-left:0;padding:32px 24px 28px}.lx-logo .logo{height:52px}.lx-logo{margin-bottom:22px}}
.previa-mes{display:flex;flex-direction:column;justify-content:center;background:var(--laranja-claro);border-radius:10px;padding:8px 14px}
.previa-mes small{color:var(--suave);font-size:.75rem}.previa-mes strong{font-size:1.25rem;font-weight:600;color:var(--laranja-esc)}
.inline-det{display:inline-block;position:relative}.inline-det>summary{list-style:none}.inline-det>summary::-webkit-details-marker{display:none}
.inline-det[open]>form{position:absolute;right:0;top:110%;z-index:20;background:#fff;border:1px solid var(--borda);border-radius:10px;box-shadow:var(--sombra);padding:12px;width:260px;text-align:left;display:flex;flex-direction:column;gap:8px;white-space:normal}
.btn-verde,.btn-verde:hover,.btn-perigo{color:#fff}
