/* Cardápios Digitais — Gestão (salão, PDV, caixa, cozinha, hoje). Usa os tokens do painel.css */
.g-cabeca{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.g-cabeca .espaco{flex:1}
.g-cabeca h1 small{display:block;font-size:13px;font-weight:600;color:var(--texto2);margin-top:2px}
.g-filtros{display:flex;gap:6px;flex-wrap:wrap}
.g-filtros button{border:1px solid var(--linha);background:#fff;border-radius:999px;padding:6px 12px;font-weight:700;font-size:13px;color:var(--texto2)}
.g-filtros button.ativo{background:var(--texto);border-color:var(--texto);color:#fff}
.g-legenda{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--texto2);margin:-4px 0 14px}
.g-legenda i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}

/* ---------- mapa do salão ---------- */
.area-titulo{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--texto2);margin:6px 0 10px}
.mapa{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:22px}
.mesa{position:relative;border:0;text-align:left;background:var(--cartao);border-radius:16px;padding:14px;min-height:118px;box-shadow:var(--sombra);
  display:flex;flex-direction:column;gap:4px;outline:2px solid transparent;transition:transform .12s,outline-color .12s}
.mesa:hover{transform:translateY(-2px)}
.mesa:focus-visible{outline-color:var(--acento)}
.mesa .num{font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1}
.mesa .lug{font-size:12px;color:var(--texto2);display:flex;align-items:center;gap:4px}
.mesa .valor{margin-top:auto;font-weight:800;font-size:15px}
.mesa .tempo{font-size:12px;color:var(--texto2);display:flex;align-items:center;gap:4px}
.mesa.livre{background:#fff;box-shadow:none;border:1.5px dashed #d4d7de}
.mesa.livre .num{color:#9aa0ab}
.mesa.ocupada{background:linear-gradient(160deg,#eef3ff,#fff 70%);box-shadow:inset 4px 0 0 var(--azul),var(--sombra)}
.mesa.conta{background:linear-gradient(160deg,#fff4d6,#fff 70%);box-shadow:inset 4px 0 0 #d99a06,var(--sombra)}
.mesa .marcas{position:absolute;top:10px;right:10px;display:flex;gap:4px}
.mesa .marca{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;color:#fff}
.mesa .marca.chamando{background:var(--vermelho);animation:pulso 1.2s infinite}
.mesa .marca.pronto{background:var(--verde)}
.mesa .marca.qr{background:#7c3aed}
@keyframes pulso{0%{box-shadow:0 0 0 0 rgba(180,35,24,.5)}70%{box-shadow:0 0 0 9px rgba(180,35,24,0)}100%{box-shadow:0 0 0 0 rgba(180,35,24,0)}}
.balcao-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-bottom:22px}
.balcao-lista .mesa{min-height:84px}
.balcao-lista .mesa .num{font-size:17px}

/* ---------- gaveta lateral (comanda) ---------- */
.g-gaveta{position:fixed;inset:0;z-index:60;display:flex;justify-content:flex-end}
.g-gaveta[hidden]{display:none}
.g-gaveta .fundo{position:absolute;inset:0;background:rgba(15,17,23,.45);backdrop-filter:blur(2px)}
.g-gaveta .caixa{position:relative;width:min(560px,100%);height:100%;background:var(--fundo);display:flex;flex-direction:column;box-shadow:-10px 0 40px rgba(0,0,0,.2);animation:entra .18s ease-out}
@keyframes entra{from{transform:translateX(30px);opacity:.4}to{transform:none;opacity:1}}
.g-gaveta .topo-g{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#fff;border-bottom:1px solid var(--linha)}
.g-gaveta .topo-g h2{margin:0;font-size:19px}
.g-gaveta .topo-g small{display:block;color:var(--texto2);font-weight:600;font-size:12.5px}
.g-gaveta .corpo-g{flex:1;overflow-y:auto;padding:14px 16px}
.g-gaveta .rodape-g{padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--linha);display:grid;gap:8px}
.acoes-g{display:flex;gap:6px;flex-wrap:wrap}
.acoes-g .botao{flex:1 1 auto}
.rodada{background:#fff;border-radius:14px;padding:12px 14px;margin-bottom:10px;box-shadow:var(--sombra)}
.rodada.cancelada{opacity:.5}
.rodada .cab{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--texto2);font-weight:600;margin-bottom:6px}
.rodada .cab .espaco{flex:1}
.it-linha{display:flex;gap:8px;padding:5px 0;border-top:1px dashed var(--linha)}
.it-linha:first-of-type{border-top:0}
.it-linha .q{font-weight:800;min-width:26px}
.it-linha .n{flex:1}
.it-linha .n small{display:block;color:var(--texto2)}
.it-linha .v{font-weight:700;white-space:nowrap}
.estado{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:1px;background:#c5c9d1}
.estado.pronto{background:var(--verde)}.estado.entregue{background:#9aa0ab}.estado.pendente{background:#e0a106}
.totais-g{background:#fff;border-radius:14px;padding:12px 14px;box-shadow:var(--sombra)}
.totais-g .l{display:flex;justify-content:space-between;padding:3px 0}
.totais-g .l.total{font-size:20px;font-weight:800;border-top:1px solid var(--linha);margin-top:6px;padding-top:9px}
.totais-g .l.falta{color:var(--acento);font-weight:800}
.alerta-g{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;margin-bottom:10px;font-weight:600}
.alerta-g .botao{margin-left:auto}
.alerta-g.vermelho{background:var(--vermelho-f);color:var(--vermelho)}
.alerta-g.amarelo{background:var(--amarelo-f);color:var(--amarelo)}
.alerta-g.verde{background:var(--verde-f);color:var(--verde)}
.alerta-g.roxo{background:#f1eaff;color:#6d28d9}
.alerta-g.cinza{background:#eef0f3;color:#4b5160}

/* ---------- catálogo (lançar itens / PDV) ---------- */
.cat-busca{position:sticky;top:0;background:var(--fundo);padding-bottom:10px;z-index:2}
.cat-trilho{display:flex;gap:6px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:none}
.cat-trilho button{flex:none;border:1px solid var(--linha);background:#fff;border-radius:999px;padding:7px 12px;font-weight:700;font-size:13px;display:flex;gap:6px;align-items:center}
.cat-trilho button.ativo{background:var(--texto);border-color:var(--texto);color:#fff}
.prod-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.prod-btn{border:0;background:#fff;border-radius:14px;padding:0;text-align:left;box-shadow:var(--sombra);overflow:hidden;display:flex;flex-direction:column;position:relative}
.prod-btn:active{transform:scale(.98)}
.prod-btn .foto{aspect-ratio:4/3;background:#eef0f3 center/cover no-repeat;display:grid;place-items:center;color:#b3b8c2}
.prod-btn .info{padding:8px 10px 10px}
.prod-btn .info b{display:block;font-size:13.5px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.prod-btn .info span{font-weight:800;color:var(--acento);font-size:13.5px}
.prod-btn.esgotado{opacity:.45}
.prod-btn .qtd{position:absolute;top:8px;right:8px;background:var(--acento);color:#fff;min-width:24px;height:24px;border-radius:12px;font-weight:800;font-size:13px;display:grid;place-items:center;padding:0 6px}
.prod-grade.compacta{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.prod-grade.compacta .foto{display:none}

/* folha de opções (adicionais) */
.folha{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center}
.folha[hidden]{display:none}
.folha .fundo{position:absolute;inset:0;background:rgba(15,17,23,.5)}
.folha .caixa{position:relative;width:min(560px,100%);max-height:92vh;background:#fff;border-radius:20px 20px 0 0;display:flex;flex-direction:column;animation:sobe .18s ease-out}
@media (min-width:700px){.folha{align-items:center}.folha .caixa{border-radius:20px}}
@keyframes sobe{from{transform:translateY(30px);opacity:.4}to{transform:none;opacity:1}}
.folha .cab{padding:16px 18px 10px;display:flex;gap:10px;align-items:flex-start}
.folha .cab h3{margin:0;font-size:18px}
.folha .cab p{margin:4px 0 0;color:var(--texto2);font-size:13px}
.folha .corpo{overflow-y:auto;padding:0 18px 10px}
.folha .rod{padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--linha);display:flex;gap:10px;align-items:center}
.grupo-op{margin:12px 0}
.grupo-op h4{margin:0 0 6px;font-size:14px;display:flex;gap:8px;align-items:center}
.grupo-op h4 small{font-weight:600;color:var(--texto2)}
.op-linha{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--linha)}
.op-linha .n{flex:1}
.op-linha .n small{display:block;color:var(--texto2)}
.passo{display:inline-flex;align-items:center;border:1px solid var(--linha);border-radius:10px;overflow:hidden}
.passo button{border:0;background:#fff;width:34px;height:34px;display:grid;place-items:center}
.passo span{min-width:26px;text-align:center;font-weight:800}

/* carrinho do PDV / rodada */
.carrinho{background:#fff;border-radius:16px;box-shadow:var(--sombra);display:flex;flex-direction:column;min-height:0}
.carrinho .lista{flex:1;overflow-y:auto;padding:6px 14px}
.carrinho .vazio-c{color:var(--texto2);text-align:center;padding:30px 10px}
.c-item{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--linha)}
.c-item .n{flex:1;min-width:0}
.c-item .n small{display:block;color:var(--texto2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.c-item .v{font-weight:800;white-space:nowrap}

/* ---------- PDV ---------- */
.pdv{display:grid;grid-template-columns:1fr 380px;gap:16px;align-items:start}
.pdv .carrinho{position:sticky;top:76px;max-height:calc(100vh - 100px)}
.pdv .carrinho .cab-c{padding:14px 14px 6px;display:flex;align-items:center;gap:8px}
.pdv .carrinho .rod-c{padding:12px 14px;border-top:1px solid var(--linha);display:grid;gap:8px}
.pdv .total-pdv{display:flex;justify-content:space-between;align-items:baseline;font-weight:800;font-size:24px}
@media (max-width:980px){.pdv{grid-template-columns:1fr}.pdv .carrinho{position:fixed;left:0;right:0;bottom:62px;top:auto;max-height:60vh;border-radius:18px 18px 0 0;z-index:30;box-shadow:0 -8px 30px rgba(0,0,0,.15)}
  .pdv .carrinho.recolhido .lista,.pdv .carrinho.recolhido .cab-c{display:none}.pdv{padding-bottom:140px}}

/* ---------- pagamento ---------- */
.formas{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0 12px}
.formas button{border:1.5px solid var(--linha);background:#fff;border-radius:12px;padding:12px 6px;font-weight:700;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:13px}
.formas button.ativo{border-color:var(--acento);background:#fff4f1;color:var(--acento2)}
.valor-grande{font-size:26px!important;font-weight:800;text-align:center;padding:12px!important}
.atalhos-valor{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.atalhos-valor button{flex:1;border:1px solid var(--linha);background:#fff;border-radius:10px;padding:8px;font-weight:700;font-size:13px}
.pag-lista .l{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--linha)}
.troco-g{background:var(--verde-f);color:var(--verde);border-radius:12px;padding:12px;text-align:center;font-weight:800;font-size:18px;margin-top:10px}

/* ---------- caixa ---------- */
.caixa-estado{display:flex;align-items:center;gap:14px;padding:18px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#15803d,#0f5f2d);margin-bottom:16px}
.caixa-estado.fechado{background:linear-gradient(135deg,#3b404c,#1f222a)}
.caixa-estado .ic-g{width:52px;height:52px;border-radius:16px;background:rgba(255,255,255,.16);display:grid;place-items:center;flex:none}
.caixa-estado h2{margin:0;font-size:19px;color:#fff}
.caixa-estado p{margin:2px 0 0;opacity:.85}
.caixa-estado .acoes-g{margin-left:auto}
.caixa-estado .botao{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.25);color:#fff}
.caixa-estado .botao.claro{background:#fff;color:#14532d;border-color:#fff}
.mov{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--linha)}
.mov .ic-m{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex:none}
.mov .ic-m.venda{background:var(--verde-f);color:var(--verde)}
.mov .ic-m.sangria,.mov .ic-m.estorno{background:var(--vermelho-f);color:var(--vermelho)}
.mov .ic-m.suprimento{background:var(--azul-f);color:var(--azul)}
.mov .n{flex:1;min-width:0}
.mov .n small{display:block;color:var(--texto2)}
.mov .v{font-weight:800;white-space:nowrap}
.mov .v.sai{color:var(--vermelho)}
.formas-resumo{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.formas-resumo div{background:var(--fundo);border-radius:12px;padding:10px 12px}
.formas-resumo small{display:block;color:var(--texto2);font-weight:700;font-size:12px}
.formas-resumo b{font-size:17px}
.conferencia td,.conferencia th{text-align:right}
.conferencia td:first-child,.conferencia th:first-child{text-align:left}
.dif{font-weight:800}.dif.ok{color:var(--verde)}.dif.falta{color:var(--vermelho)}.dif.sobra{color:var(--azul)}

/* ---------- cozinha ---------- */
body.modo-cozinha{background:#0f1117}
body.modo-cozinha .conteudo{max-width:none}
.kds{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;align-items:start}
.ticket{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.ticket .t-cab{padding:10px 12px;display:flex;align-items:center;gap:8px;background:#262a35;color:#fff}
.ticket .t-cab b{font-size:18px}
.ticket .t-cab .espaco{flex:1}
.ticket .t-cab .tempo{font-weight:800;font-size:14px;padding:3px 8px;border-radius:8px;background:rgba(255,255,255,.12)}
.ticket.atencao .t-cab{background:#a16207}
.ticket.atrasado .t-cab{background:#b42318}
.ticket .t-sub{padding:6px 12px;font-size:12.5px;font-weight:700;color:var(--texto2);border-bottom:1px solid var(--linha);display:flex;gap:6px;align-items:center}
.ticket .t-it{display:flex;gap:10px;padding:10px 12px;border-bottom:1px solid var(--linha);cursor:pointer;align-items:flex-start;background:#fff;width:100%;border-left:0;border-right:0;border-top:0;text-align:left;font:inherit}
.ticket .t-it:hover{background:#f7f8fa}
.ticket .t-it .q{font-size:20px;font-weight:800;min-width:32px}
.ticket .t-it .n{flex:1;font-size:15.5px;font-weight:700}
.ticket .t-it .n small{display:block;font-weight:600;color:var(--texto2);font-size:13px}
.ticket .t-it .n .obs{display:inline-block;margin-top:4px;background:var(--amarelo-f);color:var(--amarelo);padding:2px 7px;border-radius:6px;font-size:12.5px}
.ticket .t-it.feito{opacity:.4;text-decoration:line-through}
.ticket .t-rod{padding:10px 12px}
.ticket .t-rod .botao{width:100%}
.kds-vazio{color:#9aa0ab;text-align:center;padding:80px 20px;font-size:17px}
.kds-vazio .ic{opacity:.5}
body.modo-cozinha .g-cabeca h1{color:#fff}
body.modo-cozinha .g-cabeca h1 small{color:#9aa0ab}
body.modo-cozinha .g-filtros button{background:#1d2029;border-color:#2c303b;color:#c9ccd4}
body.modo-cozinha .g-filtros button.ativo{background:#fff;color:#111;border-color:#fff}

/* ---------- Hoje ---------- */
.saudacao{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.saudacao h1{font-size:24px}
.saudacao .selo{font-size:13px;padding:5px 11px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
@media (max-width:980px){.kpis{grid-template-columns:repeat(2,1fr)}}
.kpi{background:#fff;border-radius:16px;padding:16px;box-shadow:var(--sombra);display:flex;flex-direction:column;gap:4px;text-decoration:none}
.kpi small{color:var(--texto2);font-weight:700;font-size:12.5px;display:flex;align-items:center;gap:6px}
.kpi strong{font-size:26px;letter-spacing:-.02em}
.kpi .sub{font-size:12.5px;color:var(--texto2)}
.kpi .var{font-size:12.5px;font-weight:700}
.kpi .var.sobe{color:var(--verde)}.kpi .var.desce{color:var(--vermelho)}
.medidor{height:8px;border-radius:4px;background:#eef0f3;overflow:hidden;margin-top:6px}
.medidor b{display:block;height:100%;background:var(--azul);border-radius:4px}
.horas{display:flex;align-items:flex-end;gap:3px;height:120px;margin-top:8px}
.horas div{flex:1;background:#e8492b22;border-radius:4px 4px 0 0;min-height:2px;position:relative}
.horas div.ag{background:var(--acento)}
.horas div.tem{background:#e8492b88}
.horas-eixo{display:flex;gap:3px;font-size:10.5px;color:var(--texto2);margin-top:4px}
.horas-eixo span{flex:1;text-align:center}
.fluxo{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.fluxo div{background:var(--fundo);border-radius:12px;padding:10px;text-align:center}
.fluxo b{display:block;font-size:22px}
.fluxo small{color:var(--texto2);font-weight:700;font-size:12px}
.atalhos-hoje{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.atalhos-hoje a{background:#fff;border-radius:14px;padding:14px;box-shadow:var(--sombra);text-decoration:none;font-weight:700;display:flex;flex-direction:column;gap:8px}
.atalhos-hoje a .ic{color:var(--acento)}

/* ---------- avisos rápidos ---------- */
.g-toast{position:fixed;left:50%;bottom:86px;transform:translateX(-50%);background:#16181d;color:#fff;padding:11px 16px;border-radius:12px;font-weight:700;z-index:120;box-shadow:0 8px 30px rgba(0,0,0,.3);max-width:calc(100% - 32px)}
.g-toast.erro{background:var(--vermelho)}
@media (min-width:900px){.g-toast{bottom:28px}}
.g-config-mesas td input{min-width:60px}
@media print{.lateral,.nav-inferior,.topo,.g-cabeca .botao{display:none!important}}

/* ---------- NFC-e (fase 2) ---------- */
.g-filtros a{border:1px solid var(--linha);background:#fff;border-radius:999px;padding:6px 12px;font-weight:700;font-size:13px;color:var(--texto2);text-decoration:none}
.g-filtros a.ativo{background:var(--texto);border-color:var(--texto);color:#fff}
.alerta-g.azul{background:var(--azul-f);color:var(--azul)}
.alerta-g span{font-weight:600}
.nf-bloco{margin-top:14px;padding:12px;border:1.5px dashed var(--linha);border-radius:14px;display:grid;gap:8px}
.nf-liga{display:flex;align-items:center;gap:8px;font-weight:800;cursor:pointer}
.nf-liga input{width:20px;height:20px;accent-color:var(--verde)}
.nf-bloco input#nfDoc{width:100%;padding:10px 12px;border:1px solid var(--linha);border-radius:10px;font-size:15px}
.nf-jornada{max-width:760px}
.nf-jornada-cab{display:flex;align-items:center;gap:14px}
.nf-jornada-cab h2{margin:0}
.nf-ic-grande{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,#fff1ec,#ffe1d6);color:var(--acento);display:grid;place-items:center;flex:none}
.nf-contagem{margin-left:auto;font-size:22px;color:var(--acento)}
.nf-linha{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-bottom:1px solid var(--linha)}
.nf-linha:last-child{border-bottom:0}
.nf-num{width:58px;flex:none;text-align:center;background:var(--fundo);border-radius:12px;padding:6px 4px}
.nf-num b{display:block;font-size:17px}.nf-num small{font-size:10.5px;color:var(--texto2)}
.nf-info{flex:1;min-width:0}
.nf-info>div:first-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nf-info small{color:var(--texto2)}
.nf-motivo{margin-top:6px;font-size:13px;padding:8px 10px;border-radius:10px;background:var(--fundo)}
.nf-motivo.vermelho{background:var(--vermelho-f);color:#7a1c1c}.nf-motivo.amarelo{background:var(--amarelo-f);color:#6b4a00}
.nf-acoes{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.nf-sem{display:grid;gap:8px}
.nf-sem-l{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--linha);border-radius:12px}
.nf-sem-l>div{flex:1}.nf-sem-l small{display:block;color:var(--texto2)}
.abas .nf-ok{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--verde-f);color:var(--verde);margin-right:6px;vertical-align:-3px}
.nf-form{max-width:860px}
.nf-cert{text-align:center;padding:24px}
.nf-cert-ic{width:64px;height:64px;border-radius:18px;margin:0 auto 10px;display:grid;place-items:center;background:var(--fundo);color:var(--texto2)}
.nf-cert.bom .nf-cert-ic{background:var(--verde-f);color:var(--verde)}
.nf-cert.vence .nf-cert-ic{background:var(--amarelo-f);color:var(--amarelo)}
.nf-cert.vencido .nf-cert-ic{background:var(--vermelho-f);color:var(--vermelho)}
.nf-validade{margin-top:12px;display:inline-flex;flex-direction:column;padding:10px 18px;border-radius:14px;background:var(--fundo)}
.nf-validade b{font-size:24px}.nf-validade small{color:var(--texto2)}
.nf-amb{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.nf-amb label{border:1.5px solid var(--linha);border-radius:14px;padding:12px;cursor:pointer;display:grid;gap:4px;transition:border-color .15s,background .15s}
.nf-amb label.on{border-color:var(--acento);background:#fff8f5}
.nf-amb input{position:absolute;opacity:0;pointer-events:none}
.nf-amb b{display:flex;align-items:center;gap:6px}.nf-amb small{color:var(--texto2)}
.nf-conf{margin-top:10px;padding:10px;border-radius:12px;background:var(--amarelo-f)}
.nf-liga-g{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid var(--linha)}
.nf-cat{border:1px solid var(--linha);border-radius:12px;margin-bottom:8px;background:#fff}
.nf-cat summary{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;list-style:none;flex-wrap:wrap}
.nf-cat summary::-webkit-details-marker{display:none}
.nf-cat[open] summary{border-bottom:1px solid var(--linha)}
.nf-cat-nome{flex:1;min-width:160px}.nf-cat-nome b{display:block}.nf-cat-nome small{color:var(--texto2);font-size:12px}
.nf-campos{display:flex;gap:6px;flex-wrap:wrap}
.nf-campos input{width:96px;padding:7px 8px;border:1px solid var(--linha);border-radius:9px;font-size:13px}
.nf-campos input.sugerido{border-color:var(--azul);background:var(--azul-f)}
.nf-campos input.falta{border-color:var(--amarelo);background:var(--amarelo-f)}
.nf-prod{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 22px;flex-wrap:wrap;font-size:13.5px}
.nf-prod>span:first-child{flex:1;min-width:140px}
.nf-salvar{position:sticky;bottom:12px;display:flex;justify-content:flex-end;margin-top:10px}
.nf-salvar .botao{box-shadow:var(--sombra)}
@media (max-width:640px){
  .nf-amb{grid-template-columns:1fr}
  .nf-linha{flex-wrap:wrap}.nf-acoes{width:100%;justify-content:flex-start;padding-left:70px}
  .nf-campos input{width:calc(50% - 3px)}
}
.nf-amb label.bloqueado{opacity:.6;cursor:not-allowed;background:var(--fundo)}

/* ---------- Estoque (fase 3) ---------- */
.es-abas a{display:inline-flex;align-items:center;gap:6px}
.es-filtro{margin-left:auto;border:1px solid var(--linha);border-radius:999px;padding:6px 12px;font-size:13px;min-width:160px}
.es-lista{padding-bottom:6px}
.es-item{display:flex;align-items:center;gap:14px;padding:10px 4px;border-top:1px solid var(--linha);text-decoration:none;color:inherit}
.es-item:hover{background:var(--fundo)}
.es-item-n{flex:1;min-width:0}.es-item-n b{display:block}.es-item-n small{color:var(--texto2);font-size:12.5px}
.es-barra{position:relative;width:140px;height:8px;border-radius:9px;background:var(--fundo);flex:none}
.es-barra b{display:block;height:100%;border-radius:9px;background:var(--verde)}
.es-barra.amarelo b{background:var(--amarelo)}.es-barra.vermelho b{background:var(--vermelho)}
.es-barra i{position:absolute;top:-3px;width:2px;height:14px;background:#9aa0ab;border-radius:2px}
.es-item-q{width:130px;text-align:right;flex:none}.es-item-q b{display:block;font-size:15px}.es-item-q small{color:var(--texto2);font-size:12px}
.es-item-q.amarelo b{color:var(--amarelo)}.es-item-q.vermelho b{color:var(--vermelho)}
/* lista do estoque repaginada: resumo numa faixa, ferramentas numa linha, tabela compacta ou grade */
.es-resumo{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}
.es-r{display:flex;align-items:center;gap:10px;background:#fff;border-radius:14px;padding:9px 12px;box-shadow:var(--sombra);text-decoration:none;color:inherit;min-width:0}
.es-r-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--fundo);color:var(--texto2);flex:none}
.es-r>span:nth-child(2){min-width:0}.es-r small{display:block;font-size:11.5px;color:var(--texto2);white-space:nowrap}.es-r b{font-size:17px;line-height:1.2}
.es-r em{margin-left:auto;font-style:normal;font-size:11.5px;color:var(--texto2);text-align:right}
.es-r.amarelo .es-r-ic{background:var(--amarelo-f);color:var(--amarelo)}.es-r.amarelo b{color:var(--amarelo)}
.es-r.vermelho .es-r-ic{background:var(--vermelho-f,#fde8e8);color:var(--vermelho)}.es-r.vermelho b{color:var(--vermelho)}
a.es-r:hover{box-shadow:0 0 0 2px var(--linha),var(--sombra)}
.es-ferr{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.es-ferr .g-filtros{margin:0}
.es-ferr select.es-sel{width:auto;max-width:200px;border:1px solid var(--linha);border-radius:999px;padding:6px 10px;font-size:13px;background:#fff;margin:0 0 0 auto;height:auto}
.es-busca2{display:flex;align-items:center;gap:6px;border:1px solid var(--linha);border-radius:999px;padding:0 10px;background:#fff;color:var(--texto2)}
.es-busca2 input{border:0;outline:0;padding:7px 0;font-size:13px;width:170px;background:none}
.es-busca2:focus-within{border-color:var(--acento)}
.es-ferr .g-filtros + .es-busca2{margin-left:auto}
.es-visao{display:flex;border:1px solid var(--linha);border-radius:999px;overflow:hidden;background:#fff}
.es-visao button{border:0;background:none;padding:6px 10px;cursor:pointer;color:var(--texto2);display:grid;place-items:center}
.es-visao button.ativo{background:var(--texto);color:#fff}
.es-tab{padding:4px 0 6px}
.es-cab,.es-l{display:grid;grid-template-columns:minmax(0,1fr) 110px 92px 80px 96px 54px;gap:12px;align-items:center;padding:0 16px}
.es-cab{font-size:11.5px;font-weight:700;color:var(--texto2);text-transform:uppercase;letter-spacing:.03em;padding-top:8px;padding-bottom:6px}
.es-cab .d,.es-l .d{text-align:right}
.es-gcab{display:flex;align-items:center;gap:6px;width:100%;border:0;border-top:1px solid var(--linha);background:var(--fundo);padding:5px 14px;font:inherit;font-size:12.5px;font-weight:700;color:var(--texto2);cursor:pointer;text-align:left}
.es-gcab span{background:#fff;border-radius:999px;padding:0 7px;font-size:11.5px}
.es-gcab svg{transition:transform .15s}
.es-grupo-l.fechado .es-gcab svg{transform:rotate(-90deg)}.es-grupo-l.fechado .es-linhas{display:none}
.es-l{min-height:38px;border-top:1px solid var(--linha);text-decoration:none;color:inherit;font-size:13.5px}
.es-l:hover,.es-l:focus{background:#fff7f3;outline:0}.es-l:focus{box-shadow:inset 3px 0 0 var(--acento)}
.es-l .n{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.es-l .n b{font-weight:600}
.es-l .tag{font-style:normal;font-size:10.5px;background:var(--azul-f);color:var(--azul);border-radius:6px;padding:1px 6px;margin-left:6px;vertical-align:1px}
.es-l .es-barra{width:auto;height:6px}.es-l .es-barra i{top:-3px;height:12px}
.es-l .q{font-weight:700}.es-l.amarelo .q{color:var(--amarelo)}.es-l.vermelho .q{color:var(--vermelho)}
.es-l .m,.es-l .c,.es-l .u{color:var(--texto2);font-size:12.5px}.es-l .c small{font-size:11px}.es-l .u.fora{color:var(--amarelo)}
.es-dica{margin:6px 2px 0;color:var(--texto2)}
/* ficha técnica sem permissão de mudar: só olhar */
#esFicha.so-leitura input,#esFicha.so-leitura button,#esFicha.so-leitura .es-busca{pointer-events:none}#esFicha.so-leitura .es-busca,#esFicha.so-leitura .es-add,#esFicha.so-leitura [data-del]{display:none}
/* imprimir a lista de compras: bobina e A4 juntos */
.es-impr{margin-left:auto;display:flex;gap:6px;flex:none}.es-impr .botao{margin:0!important}
/* fichas técnicas na mesma lista compacta (foto pequena no nome) */
.es-fichas .es-cab,.es-fichas .es-l{grid-template-columns:minmax(0,1fr) 110px 90px 90px 70px 100px}
.es-fichas .es-l .n{display:flex;align-items:center;gap:10px}
.es-fichas .es-l .n img,.es-fichas .es-l .n .sem-foto{width:28px;height:28px;border-radius:8px;object-fit:cover;background:var(--fundo);flex:none;display:block}
.es-fichas .es-l .n b{overflow:hidden;text-overflow:ellipsis}
.es-fichas .es-l .u .selo{font-style:normal;font-size:11px}
.es-fichas .es-l.verde .q{color:var(--verde)}
.es-tab.grade.es-fichas .es-l .n{flex-direction:column;align-items:stretch;gap:6px}
.es-tab.grade.es-fichas .es-l .n img,.es-tab.grade.es-fichas .es-l .n .sem-foto{width:100%;height:84px;border-radius:9px}
.es-tab.grade.es-fichas .es-l .u{display:block;text-align:left}.es-tab.grade.es-fichas .es-l .m{display:none}
.es-tab.grade.es-fichas .es-l .q::after{content:' de margem';font-size:12px;font-weight:600;color:var(--texto2)}.es-tab.grade.es-fichas .es-l .q.sem-m{display:none}
@media (max-width:640px){
  .es-fichas .es-l{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n q" "b u"}.es-fichas .es-l .u{display:block!important;grid-area:u}.es-fichas .es-l .m{display:none}
  .es-tab.grade.es-fichas .es-l .n img,.es-tab.grade.es-fichas .es-l .n .sem-foto{height:70px}
}
/* abas dos grupos do estoque, coladas na lista */
.es-gabas{display:flex;gap:4px;background:#fff;border-radius:14px 14px 0 0;padding:6px 6px 0;box-shadow:var(--sombra);overflow-x:auto;scrollbar-width:none;position:relative;z-index:1}
.es-gabas::-webkit-scrollbar{display:none}
.es-gabas.mais-dir{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 48px),transparent)}
.es-gabas.mais-esq{-webkit-mask-image:linear-gradient(90deg,transparent,#000 48px);mask-image:linear-gradient(90deg,transparent,#000 48px)}
.es-gabas.mais-dir.mais-esq{-webkit-mask-image:linear-gradient(90deg,transparent,#000 48px,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(90deg,transparent,#000 48px,#000 calc(100% - 48px),transparent)}
.es-gabas a{display:inline-flex;align-items:center;gap:6px;padding:9px 13px 10px;border-radius:10px 10px 0 0;text-decoration:none;color:var(--texto2);font-weight:700;font-size:13.5px;white-space:nowrap;border-bottom:2.5px solid transparent;position:relative}
.es-gabas a:hover{background:var(--fundo)}
.es-gabas a.ativa{color:var(--acento);border-bottom-color:var(--acento);background:#fff7f3}
.es-gabas a>span{background:var(--fundo);border-radius:999px;padding:0 7px;font-size:11.5px;color:var(--texto2)}
.es-gabas a.ativa>span{background:var(--acento);color:#fff}
.es-gabas .alerta{width:7px;height:7px;border-radius:50%;background:var(--amarelo);position:absolute;top:7px;right:5px}
.es-gabas kbd{font-size:10.5px;opacity:.55}
.es-gabas.buscando a.ativa{color:var(--texto2);border-bottom-color:transparent;background:none}.es-gabas.buscando a.ativa>span{background:var(--fundo);color:var(--texto2)}
.es-gabas + .es-tab{border-top-left-radius:0;border-top-right-radius:0;border-top:1px solid var(--linha)}
/* grade: cartõezinhos corridos (sem cabeçalho de grupo; o grupo vai escrito no cartão) */
.es-l .g{display:none}
.es-tab.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;padding:12px}
.es-tab.grade .es-cab,.es-tab.grade .es-gcab{display:none}
.es-tab.grade .es-grupo-l,.es-tab.grade .es-linhas,.es-tab.grade .es-grupo-l.fechado .es-linhas{display:contents}
.es-tab.grade .es-grupo-l[hidden],.es-tab.grade .es-l[hidden]{display:none}
.es-tab.grade .vazio{grid-column:1/-1}
.es-tab.grade .es-l{display:flex;flex-direction:column;align-items:stretch;gap:4px;border:1px solid var(--linha);border-radius:12px;padding:9px 11px;min-height:0}
.es-tab.grade .es-l .g{display:block;order:-3;font-size:10.5px;color:var(--texto2);text-transform:uppercase;letter-spacing:.03em;font-weight:700}
.es-tab.grade .es-l .q{order:-1;text-align:left;font-size:17px}
.es-tab.grade .es-l .n{order:-2}
.es-tab.grade .es-l .m{text-align:left}.es-tab.grade .es-l .m::before{content:'mín. '}
.es-tab.grade .es-l .c,.es-tab.grade .es-l .u{display:none}
.es-tab.grade .es-l.amarelo{border-color:var(--amarelo)}.es-tab.grade .es-l.vermelho{border-color:var(--vermelho)}
/* tela de UM item: caminho no lugar das abas gerais; o insumo tem as abas dele */
.es-trilha{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;color:var(--texto2);margin:0 0 14px}
.es-trilha a{color:var(--texto2);text-decoration:none;display:inline-flex;align-items:center;gap:5px;font-weight:600}.es-trilha a:hover{color:var(--acento)}
.es-trilha b{color:var(--texto);font-weight:700}
.ins-topo{display:flex;align-items:center;gap:16px;background:#fff;border-radius:18px;padding:16px 18px;box-shadow:var(--sombra);margin-bottom:10px}
.ins-ic{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;flex:none;background:var(--verde-f);color:var(--verde)}
.ins-ic.amarelo{background:var(--amarelo-f);color:var(--amarelo)}.ins-ic.vermelho{background:var(--vermelho-f);color:var(--vermelho)}
.ins-nome{flex:1;min-width:0}.ins-nome h1{margin:0 0 6px;font-size:24px}.ins-nome p{margin:0;display:flex;gap:6px;flex-wrap:wrap}
.ins-saldo{text-align:right}.ins-saldo small{display:block;font-size:12px;color:var(--texto2)}.ins-saldo b{display:block;font-size:28px;line-height:1.15}
.ins-saldo span{font-size:12.5px;color:var(--texto2)}.ins-saldo.amarelo b{color:var(--amarelo)}.ins-saldo.vermelho b{color:var(--vermelho)}
.ins-acoes{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.ins-so-ver{display:flex;align-items:center;gap:6px;margin:0 2px 12px}
.ins-acao{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--linha);border-radius:14px;padding:10px 12px;cursor:pointer;text-decoration:none;color:inherit;font:inherit;text-align:left}
.ins-acao:hover,.ins-acao:focus-visible{border-color:var(--acento);outline:0}.ins-acao>svg{color:var(--acento);flex:none}
.ins-acao span{flex:1;min-width:0}.ins-acao b{display:block;font-size:13.5px}.ins-acao small{display:block;font-size:11.5px;color:var(--texto2)}
.ins-acao.perigo>svg{color:var(--vermelho)}.ins-acao.perigo:hover{border-color:var(--vermelho)}
.ins-abas{display:flex;gap:4px;background:#fff;border-radius:14px;padding:5px;box-shadow:var(--sombra);margin-bottom:14px;overflow-x:auto;scrollbar-width:none}
.ins-abas a{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:10px;text-decoration:none;color:var(--texto2);font-weight:700;font-size:13.5px;white-space:nowrap}
.ins-abas a:hover{background:var(--fundo)}
.ins-abas a.ativa{background:var(--texto);color:#fff}
.ins-abas a>span{background:var(--fundo);color:var(--texto2);border-radius:999px;padding:0 7px;font-size:11.5px}
.ins-abas a.ativa>span{background:rgba(255,255,255,.18);color:#fff}
.ins-abas kbd{font-size:10.5px;opacity:.6}
.h-acao{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ins-graf{width:100%;height:130px;display:block}
.ins-graf .linha{fill:none;stroke:var(--verde);stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.ins-graf .area{fill:var(--verde-f);opacity:.7}
.ins-graf .linha.amarelo{stroke:var(--amarelo)}.ins-graf .area.amarelo{fill:var(--amarelo-f)}
.ins-graf .linha.vermelho{stroke:var(--vermelho)}.ins-graf .area.vermelho{fill:var(--vermelho-f)}
.ins-graf .minimo{stroke:#9aa0ab;stroke-dasharray:5 4;stroke-width:1.5;vector-effect:non-scaling-stroke}
.ins-graf-leg{display:flex;justify-content:space-between;font-size:11.5px;color:var(--texto2);margin-top:4px}
.ins-compra{display:grid;grid-template-columns:52px minmax(0,1fr) auto 110px;gap:12px;align-items:center;padding:9px 4px;border-top:1px solid var(--linha);text-decoration:none;color:inherit}
.ins-compra:hover{background:var(--fundo)}
.ins-compra .d{text-align:center;background:var(--fundo);border-radius:10px;padding:4px 0}.ins-compra .d b{display:block;font-size:13.5px}.ins-compra .d small{font-size:10.5px;color:var(--texto2)}
.ins-compra .f b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ins-compra .f small,.ins-compra .p small{font-size:12px;color:var(--texto2)}
.ins-compra .q{font-weight:700}.ins-compra .p{text-align:right}.ins-compra .p b{display:block}
.ins-compra .sobe{color:var(--vermelho)!important;font-weight:700}.ins-compra .desce{color:var(--verde)!important;font-weight:700}
.ins-dados{display:grid;grid-template-columns:140px 1fr;gap:8px 12px;margin:0;font-size:14px}.ins-dados dt{color:var(--texto2)}.ins-dados dd{margin:0;font-weight:600}
@media (max-width:640px){
  .ins-topo{flex-wrap:wrap;padding:14px}.ins-ic{width:44px;height:44px}.ins-nome h1{font-size:20px}
  .ins-saldo{width:100%;text-align:left;display:flex;align-items:baseline;gap:8px;border-top:1px solid var(--linha);padding-top:10px}.ins-saldo b{font-size:22px}
  .ins-acoes{grid-template-columns:1fr 1fr!important;gap:8px}.ins-acao kbd,.ins-abas kbd{display:none}.ins-acao small{display:none}
  .ins-compra{grid-template-columns:46px minmax(0,1fr) auto;row-gap:2px}.ins-compra .q{grid-column:3}.ins-compra .p{grid-column:2/4;text-align:left;display:flex;gap:8px;align-items:baseline}
  .ins-dados{grid-template-columns:1fr}.ins-dados dd{margin-bottom:6px}
}
@media (max-width:980px){.es-resumo{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){
  .es-resumo{gap:8px}.es-r{padding:8px 10px}.es-r em{display:none}.es-r-ic{width:28px;height:28px}
  .es-ferr .g-filtros{width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.es-ferr .g-filtros a{white-space:nowrap;flex:none}
  .es-busca2{flex:1;margin-left:0!important}.es-gabas kbd{display:none}.es-busca2 input{width:100%}.es-busca2 kbd{display:none}
  .es-cab{display:none}
  .es-l{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n q" "b m";row-gap:3px;padding:7px 14px}
  .es-l .n{grid-area:n}.es-l .q{grid-area:q}.es-l .es-barra{grid-area:b;align-self:center}.es-l .m{grid-area:m}.es-l .m::before{content:'mín. '}
  .es-l .c,.es-l .u{display:none}
  .es-tab.grade{grid-template-columns:repeat(2,1fr);padding:10px}
  .es-dica{display:none}
}
.m-boa{color:var(--verde)!important}.m-media{color:var(--amarelo)!important}.m-ruim{color:var(--vermelho)!important}
.es-uso{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--linha);text-decoration:none;color:inherit}
.es-grupo{margin:18px 0 8px;font-size:15px}.es-grupo small{color:var(--texto2);font-weight:600;font-size:12.5px}
.es-bloco{padding:14px 16px}
.es-bloco.opcao{border-left:4px solid var(--azul-f)}
.es-bloco-cab{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.es-bloco-cab small{display:block;color:var(--texto2);font-size:12.5px}
.es-custo{color:var(--texto2);font-size:13px}.es-custo b{color:var(--texto)}
.es-linha{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px dashed var(--linha)}
.es-linha .n{flex:1;min-width:0;font-weight:600}
.es-linha .es-q{width:110px;padding:7px 9px;border:1px solid var(--linha);border-radius:9px;text-align:right}
.es-linha .c{width:76px;text-align:right;color:var(--texto2);font-size:13px}
.es-add{margin-top:8px}
.es-busca{position:relative}
.es-busca input{width:100%;padding:9px 12px;border:1.5px dashed var(--linha);border-radius:10px;background:#fff}
.es-busca input:focus{border-style:solid;border-color:var(--acento);outline:0}
.es-sug{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);background:#fff;border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.16);max-height:280px;overflow:auto;padding:4px}
.es-sug button{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;border:0;background:none;padding:9px 10px;border-radius:9px;text-align:left;cursor:pointer}
.es-sug button:hover{background:var(--fundo)}.es-sug small{color:var(--texto2)}
.es-sug button.novo{color:var(--acento);font-weight:700;justify-content:flex-start}
#esSalvar.pulsa{animation:es-pulsa 1.6s infinite}
@keyframes es-pulsa{0%,100%{box-shadow:0 0 0 0 rgba(255,90,54,.45)}50%{box-shadow:0 0 0 8px rgba(255,90,54,0)}}
.es-xml-drop{display:flex;align-items:center;gap:14px;padding:16px;border:2px dashed var(--linha);border-radius:16px;background:#fff;cursor:pointer;margin-bottom:14px;transition:border-color .15s}
.es-xml-drop:hover{border-color:var(--acento)}.es-xml-drop b{display:block}.es-xml-drop small{color:var(--texto2)}
.es-cl{padding:10px 16px;border-bottom:1px solid var(--linha)}
.es-cl.falta{background:#fffaf0}
.es-xml{margin-bottom:6px}.es-xml b{display:block;font-size:13px}.es-xml small{color:var(--texto2);font-size:12px}
.es-cl-l{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.es-cl-ins{flex:1;min-width:200px;padding-bottom:6px}
.es-cl-l label small{display:block;font-size:11.5px;color:var(--texto2);font-weight:700}
.es-cl-l label input{width:100px;padding:7px 9px;border:1px solid var(--linha);border-radius:9px}
.es-cl-r{width:120px;text-align:right}.es-cl-r small{display:block;font-size:11.5px;color:var(--texto2)}
.es-cl-add{padding:12px 16px}
.es-compra{text-decoration:none;color:inherit;align-items:center}
.es-cont{display:flex;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--linha)}
.es-cont .n{flex:1;min-width:0}.es-cont .n b{display:block}.es-cont .n small{color:var(--texto2);font-size:12.5px}
.es-cont input{width:120px;padding:8px 10px;border:1px solid var(--linha);border-radius:9px;text-align:right}
.es-cont .d{width:90px;font-weight:800;font-size:13px}.es-cont .d.ok{color:var(--verde)}.es-cont .d.mais{color:var(--azul)}.es-cont .d.menos{color:var(--vermelho)}
@media (max-width:640px){
  .es-barra{width:64px}.es-item-q{width:96px}
  .es-filtro{margin-left:0;width:100%}
  .es-linha .es-q{width:90px}.es-linha .c{display:none}
  .es-cl-l label input{width:84px}
}
@media print{
  .lateral,.topo,.nav-inferior,.g-cabeca .botao,.es-abas,.g-filtros,.kpis,.alerta-g .botao,.nf-salvar,.es-resumo,.es-ferr,.es-dica,.es-gabas{display:none!important}
  .es-grupo-l.fechado .es-linhas{display:block!important}
  .cartao{box-shadow:none;border:1px solid #ccc;break-inside:avoid}
  .es-cont input{border:1px solid #000}
}
.es-pag-modo{grid-template-columns:repeat(3,1fr)}
.es-parc{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}
.es-parc-l{display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--linha);border-radius:10px}
.es-parc-l input{padding:6px 8px;border:1px solid var(--linha);border-radius:8px;width:130px}
@media (max-width:640px){.es-pag-modo{grid-template-columns:1fr}}

/* ---------- Contas (fase 4) ---------- */
kbd{display:inline-block;min-width:18px;padding:1px 5px;border:1px solid var(--linha);border-bottom-width:2px;border-radius:5px;background:#fff;font:700 11px/1.3 ui-monospace,monospace;color:var(--texto2);text-align:center;vertical-align:1px}
.botao kbd{margin-left:4px;opacity:.8}
.botao.primario kbd,.botao.verde kbd{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.4);color:#fff}
.atalhos-legenda{margin:12px 0;color:var(--texto2);font-size:12.5px;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.c-filtros{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:4px 0 8px}
.c-busca{margin-left:auto}.c-busca input{border:1px solid var(--linha);border-radius:999px;padding:7px 14px;min-width:220px}
.c-dia{padding:10px 16px 4px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--texto2)}
.c-dia.vermelho{color:var(--vermelho)}.c-dia.amarelo{color:var(--amarelo)}
.c-linha{display:flex;align-items:center;gap:12px;padding:10px 16px;border-left:3px solid transparent;outline:0}
.c-linha.sel{background:#fff8f5;border-left-color:var(--acento)}
.c-linha.feita{opacity:.75}
.c-ic{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex:none;background:var(--vermelho-f);color:var(--vermelho)}
.c-linha.receita .c-ic{background:var(--verde-f);color:var(--verde)}.c-linha.transferencia .c-ic{background:var(--azul-f);color:var(--azul)}
.c-info{flex:1;min-width:0}.c-info b{display:block}.c-info small{color:var(--texto2);font-size:12.5px;display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.c-valor{text-align:right;min-width:110px}.c-valor b{font-size:15px}.c-linha.receita .c-valor b{color:var(--verde)}.c-valor small{display:block;color:var(--texto2);font-size:11.5px}
.c-acoes{display:flex;gap:6px}
.c-total{display:flex;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--linha);font-weight:700;color:var(--texto2)}
.c-pag-v{font-size:28px;font-weight:800;margin-bottom:10px}.c-pag-v small{display:block;font-size:13px;color:var(--texto2);font-weight:600}
.c-rep{grid-template-columns:repeat(3,1fr);margin-top:6px}
.c-contas{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:14px}
.kpi.destaque{background:linear-gradient(135deg,#fff,#fff6f2);box-shadow:inset 0 0 0 1.5px #ffd9cc,var(--sombra)}
.c-graf{position:relative}
.c-linha-saldo{position:absolute;inset:0 0 18px 0;width:100%;height:calc(100% - 18px);color:var(--azul);pointer-events:none}
.c-barras{display:flex;align-items:flex-end;gap:2px;height:160px}
.c-b{flex:1;display:flex;align-items:flex-end;justify-content:center;gap:1px;height:100%;position:relative}
.c-b i{display:block;width:45%;border-radius:3px 3px 0 0;min-height:1px}
.c-b i.e{background:var(--verde)}.c-b i.s{background:var(--vermelho)}
.c-b.fut i{opacity:.35}.c-b.hoje{box-shadow:inset 0 -3px 0 var(--acento)}
.c-eixo{display:flex;justify-content:space-between;font-size:11.5px;color:var(--texto2);margin-top:4px}
.c-leg{display:inline-block;width:10px;height:10px;border-radius:3px;margin:0 3px 0 10px;vertical-align:-1px}.c-leg.e{background:var(--verde)}.c-leg.s{background:var(--vermelho)}.c-leg.l{background:var(--azul);height:3px;vertical-align:2px}
.c-mes{font-size:15px;min-width:150px;text-align:center}
.c-dre td,.c-dre th{padding:9px 10px}.c-dre .r{text-align:right;white-space:nowrap}.c-dre .p{color:var(--texto2);font-size:12.5px}
.c-dre tr.sub td:first-child{padding-left:24px;color:var(--texto2)}
.c-dre tr.tot td{border-top:1.5px solid var(--linha);background:var(--fundo)}
.c-dre tr.final td{font-size:16px;font-weight:800;border-top:2px solid var(--texto)}
.c-dre tr.final.pos td:nth-child(2){color:var(--verde)}.c-dre tr.final.neg td:nth-child(2){color:var(--vermelho)}
.c-var{font-size:12px;font-weight:800;color:var(--texto2)}.c-var.bom{color:var(--verde)}.c-var.ruim{color:var(--vermelho)}
.c-forma{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--linha)}
.c-forma>b{width:120px;padding-bottom:8px}
.c-forma label{display:flex;flex-direction:column;gap:3px;flex:1;min-width:110px}
.c-forma label.check{flex:0 0 auto;flex-direction:row;min-width:0;padding-bottom:8px}
.c-forma label small{font-size:11.5px;color:var(--texto2);font-weight:700}
.c-forma input,.c-forma select{padding:8px 10px;border:1px solid var(--linha);border-radius:9px;width:100%}
.c-saldo{padding-bottom:8px;color:var(--texto2);font-size:13px}
@media (max-width:640px){
  .c-linha{flex-wrap:wrap}.c-acoes{width:100%;padding-left:48px}.c-valor{min-width:0}
  .c-busca{margin-left:0;width:100%}.c-busca input{width:100%;min-width:0}
  .c-rep{grid-template-columns:1fr}.atalhos-legenda{display:none}
  .c-forma>b{width:100%;padding:0}
}

/* ---------- Teclado (todas as telas da operação) ---------- */
.atalhos-barra{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;padding:7px 18px;background:rgba(24,26,33,.94);color:#cfd3db;font-size:12.5px;font-weight:600;backdrop-filter:blur(6px)}
.atalhos-barra span{display:inline-flex;align-items:center;gap:5px}
.atalhos-barra kbd{background:#2b2f3a;border-color:#454b59;color:#fff}
body.com-atalhos .principal,body.com-atalhos .conteudo{padding-bottom:52px}
@media (min-width:900px){body.com-atalhos .atalhos-barra{left:var(--lateral-larg,232px)}}
@media (max-width:899px),(hover:none){.atalhos-barra{display:none}.op-dica{display:none}}
.prod-btn.foco{outline:3px solid var(--acento);outline-offset:2px}
.busca-l{position:relative;display:flex;align-items:center;gap:6px}
.busca-l input{flex:1}
.qtd-pref{background:var(--acento);color:#fff;font-weight:800;border-radius:9px;padding:6px 10px;margin-bottom:8px}
.op-linha{position:relative}
.op-n{margin-right:8px}
.op-linha:focus-within{background:#fff8f5;border-radius:10px}
.op-dica{padding:8px 16px 12px;color:var(--texto2);font-size:12px;display:flex;flex-wrap:wrap;gap:3px;align-items:center;justify-content:center}
.formas button{position:relative}
.formas button kbd{position:absolute;top:6px;right:6px;font-size:10px;padding:0 4px;min-width:0}
.c-item.sel{background:#fff8f5;box-shadow:inset 3px 0 0 var(--acento)}
#itens:focus{outline:2px solid var(--acento);outline-offset:-2px}
.aj-l{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--linha)}
.aj-l span{display:flex;gap:4px;flex-wrap:wrap}
.mesa:focus-visible,.ticket.foco{outline:3px solid var(--acento);outline-offset:3px}
.ir-mesa{position:fixed;left:50%;top:84px;transform:translateX(-50%);z-index:70;background:var(--texto);color:#fff;padding:10px 18px;border-radius:14px;font-weight:800;font-size:18px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.ir-mesa small{display:block;font-size:11.5px;font-weight:600;opacity:.75}
.t-it{position:relative}.t-n{margin-right:6px;background:#2b2f3a;border-color:#454b59;color:#fff}
.ticket.foco{outline-color:#fff}
.dica-teclado{margin:-4px 0 10px;display:flex;gap:4px;align-items:center;flex-wrap:wrap}@media (hover:none){.dica-teclado{display:none}}
@media (hover:none){.botao kbd,.formas kbd,.op-n,.t-n,.op-dica{display:none}}
.es-sug button.ativo{background:#fff1ec;box-shadow:inset 3px 0 0 var(--acento)}
.nf-linha.sel,.nf-sem-l.sel{background:#fff8f5;box-shadow:inset 3px 0 0 var(--acento)}
.frame-impressao{position:fixed;right:0;bottom:0;width:1px;height:1px;border:0;opacity:0;pointer-events:none}

/* ---------- correção 04/10: nada fica escondido atrás da barra de atalhos nem sai da tela ---------- */
.g-gaveta{z-index:72}                                   /* a comanda fica por cima da barra de atalhos (60); janelas (.folha) seguem por cima (80) */
.g-gaveta .caixa{height:100%;height:100dvh;max-height:100dvh}
.g-gaveta .corpo-g{min-height:0}                        /* sem isto a lista empurra o rodapé (Voltar/Enviar) para fora da tela */
.g-gaveta .rodape-g{flex:none;max-height:62%;overflow-y:auto}
.g-gaveta .rodape-g details{max-height:30vh!important}
@media (max-height:720px){.g-gaveta .rodape-g details{max-height:20vh!important}.g-gaveta .rodape-g{gap:6px;padding-top:8px}}
body.com-atalhos .pdv .carrinho{max-height:calc(100vh - 136px)}
body.com-atalhos .nf-salvar{bottom:52px}
.nf-mod{display:block;font-size:9.5px!important;font-weight:800;color:var(--acento)!important;letter-spacing:.03em}
.nfe-caixa{max-width:760px}
.nf-sem-l .botao+.botao{margin-left:4px}
/* PDV sem internet */
.pdv-off{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;border-radius:12px;margin-bottom:12px;font-size:13.5px}
.pdv-off.sem{background:var(--vermelho-f);color:#7a1c1c}.pdv-off.fila{background:var(--amarelo-f);color:#6b4a00}
.pdv-off .botao{margin-left:auto}
.pdv-off-erros{width:100%;display:grid;gap:6px}.pdv-off-erros>div{display:flex;align-items:center;gap:10px;background:#fff;border-radius:9px;padding:6px 10px}
.pdv-off-erros span{flex:1}
/* celular: a faixa de categorias (que rola para o lado) não pode alargar a coluna do PDV e cortar a grade */
.pdv>*,#pdvSeletor,.cat-busca{min-width:0}
.cat-trilho{max-width:100%}
@media (max-width:640px){
  .kpi strong{font-size:22px;word-break:break-word}
  .nf-sem-l{flex-wrap:wrap}.nf-sem-l>div{flex:1 1 60%}
}
@media (pointer:coarse){.es-campos input,.nf-campos input,.c-forma input,.c-forma select{min-height:40px}}
@media (pointer:coarse){.cat-trilho button,.g-filtros a,.g-filtros button{min-height:38px}}
/* dividir a conta por item */
.div-itens{display:grid;gap:6px}
.div-it{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1.5px solid var(--linha);border-radius:12px;cursor:pointer}
.div-it .n{flex:1;min-width:0}.div-it .n b{display:block}.div-it .n small{display:block;color:var(--texto2);font-size:12.5px}
.div-it input{width:22px;height:22px;accent-color:var(--verde)}
.div-it.foco{border-color:var(--acento)}.div-it.marcado{background:#effaf3;border-color:var(--verde)}
.it-linha.pago{opacity:.55}.it-linha small.pg{color:var(--verde);font-weight:800}
/* nomes na mesa */
.quem-mesa{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:10px 12px;background:#fff;border-radius:14px;margin-bottom:10px;color:var(--texto2)}
.quem-mesa .botao{margin-left:auto}
.tag-pessoa{display:inline-flex;align-items:center;gap:3px;border:0;border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:800;background:#e8f0ff;color:#1d4ed8;cursor:pointer;vertical-align:1px}
.tag-pessoa.fixa{cursor:default}.tag-pessoa.vazia{background:#eef0f3;color:#5d6270}
.para-quem{display:flex;align-items:center;gap:6px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none}
.para-quem button{flex:none;border:1.5px solid var(--linha);background:#fff;border-radius:999px;padding:7px 12px;font-weight:800;font-size:13px;color:var(--texto2)}
.para-quem button.ativo{background:#1d4ed8;border-color:#1d4ed8;color:#fff}
.por-pessoa{background:#fff;border-radius:14px;padding:10px 14px;margin-top:10px;display:grid;gap:4px}
.por-pessoa .l{display:flex;justify-content:space-between}
.t-pessoa{font-style:normal;color:#93c5fd;font-weight:700}
@media (pointer:coarse){.para-quem button{min-height:40px}}

/* ---------- Salão: mesa desenhada (vista de cima) ---------- */
.mapa{grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}
.mesa{display:flex;flex-direction:column;align-items:stretch;padding:10px 12px 12px;min-height:0;gap:2px}
.mesa .num,.mesa .lug{display:none}
.mesa-svg{width:100%;height:auto;display:block}
.mesa-svg .tampo{fill:url(#mesaMadeira);stroke:#d6bf9c;stroke-width:1.4}
.mesa-svg .tampo-borda{fill:none;stroke:#fff;stroke-opacity:.45;stroke-width:1}
.mesa-svg .assento{fill:#e4e6eb}.mesa-svg .encosto{fill:#cfd3da}
.mesa-svg .cad.cheia .assento{fill:#e4e6eb}.mesa-svg .cad.cheia .encosto{fill:#c3c8d0}
.mesa-svg .ombro{fill:var(--c-mesa,#9aa0ab)}.mesa-svg .cabeca{fill:var(--c-mesa,#9aa0ab);stroke:rgba(0,0,0,.18);stroke-width:1.2;filter:brightness(1.18)}
.mesa-svg .prato{fill:#fff;stroke:#d9cdb9;stroke-width:1;filter:drop-shadow(0 1px 1px rgba(91,66,36,.18))}.mesa-svg .prato-meio{fill:none;stroke:#e6dac6;stroke-width:1}
.mesa-svg .num-mesa{font-family:inherit;font-size:19px;font-weight:800;fill:#8a6a3f;letter-spacing:-.02em;paint-order:stroke;stroke:#f3e6d2;stroke-width:3}
.mesa-info{display:flex;justify-content:space-between;align-items:baseline;gap:6px;flex-wrap:wrap}
.mesa-info .valor{margin-top:0}
.mesa .livre-txt{color:#9aa0ab;font-weight:700;font-size:13px}
.mesa.livre .mesa-svg{opacity:.78}
.mesa.cor-ocupada{--c-mesa:#2563eb}.mesa.cor-ocupada .tampo{stroke:#6f9cf4;stroke-width:2.2}.mesa.cor-ocupada .num-mesa{fill:#1d4ed8}
.mesa.cor-conta{--c-mesa:#d99a06}.mesa.cor-conta .tampo{stroke:#e8b62c;stroke-width:2.2}.mesa.cor-conta .num-mesa{fill:#a16207}
.mesa.cor-chamando{--c-mesa:#dc2626}.mesa.cor-chamando .tampo{stroke:#ef4444;stroke-width:2.6;animation:mesa-pisca 1.2s infinite}.mesa.cor-chamando .num-mesa{fill:#b91c1c}
.mesa.cor-pronto{--c-mesa:#16a34a}.mesa.cor-pronto .tampo{stroke:#34c26a;stroke-width:2.4}.mesa.cor-pronto .num-mesa{fill:#15803d}
@keyframes mesa-pisca{0%,100%{stroke-opacity:1;stroke-width:2.6}50%{stroke-opacity:.35;stroke-width:5}}
@media (max-width:640px){.mapa{grid-template-columns:repeat(2,1fr);gap:10px}.mesa{padding:8px 10px 10px}}
/* Salão: escolha entre mapa e lista */
.seg-visual{display:inline-flex;border:1px solid var(--linha);border-radius:12px;overflow:hidden;background:#fff}
.seg-visual button{border:0;background:none;padding:8px 12px;font-weight:800;font-size:13px;color:var(--texto2);display:inline-flex;align-items:center;gap:5px}
.seg-visual button+button{border-left:1px solid var(--linha)}
.seg-visual button.ativo{background:var(--texto);color:#fff}
.lista-mesas{display:grid;gap:6px;margin-bottom:20px}
.mesa.linha{flex-direction:row;align-items:center;gap:12px;padding:10px 14px;min-height:0;border-radius:14px;box-shadow:var(--sombra)}
.mesa.linha:hover{transform:none}
.ml-num{width:46px;height:46px;flex:none;border-radius:12px;display:grid;place-items:center;font-size:20px;font-weight:800;background:#eef0f3;color:#9aa0ab}
.ml-info{flex:1;min-width:0;display:flex;flex-direction:column}
.ml-info b{font-size:14.5px}.ml-info small{color:var(--texto2);font-size:12.5px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.ml-marcas{display:flex;gap:4px}.ml-marcas .marca{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;color:#fff}
.ml-marcas .marca.chamando{background:var(--vermelho);animation:pulso 1.2s infinite}.ml-marcas .marca.pronto{background:var(--verde)}.ml-marcas .marca.qr{background:#7c3aed}
.ml-valor{font-weight:800;min-width:80px;text-align:right}
.mesa.linha.cor-livre{background:#fff;border:1.5px dashed #d4d7de;box-shadow:none}
.mesa.linha.cor-ocupada .ml-num{background:#e8f0ff;color:#1d4ed8}.mesa.linha.cor-ocupada .ml-info b{color:#1d4ed8}
.mesa.linha.cor-conta .ml-num{background:#fff4d6;color:#a16207}.mesa.linha.cor-conta .ml-info b{color:#a16207}
.mesa.linha.cor-chamando .ml-num{background:#ffe4e4;color:#b91c1c}.mesa.linha.cor-chamando .ml-info b{color:#b91c1c}
.mesa.linha.cor-pronto .ml-num{background:#e7f8ee;color:#15803d}.mesa.linha.cor-pronto .ml-info b{color:#15803d}
@media (max-width:640px){.mesa.linha{padding:8px 10px;gap:10px}.ml-num{width:40px;height:40px;font-size:18px}.ml-valor{min-width:0}}
@media (pointer:coarse){.seg-visual button{min-height:40px}}
/* ---------- tela personalizada de cada um ---------- */
.pz-botao{flex:none;margin-bottom:8px}
.pz-caixa{max-width:620px}
.pz-abas{display:flex;gap:4px;padding:0 16px;border-bottom:1px solid var(--linha);overflow-x:auto}
.pz-abas button{border:0;background:none;padding:10px 12px;font-weight:800;color:var(--texto2);border-bottom:2px solid transparent;white-space:nowrap}
.pz-abas button.ativo{color:var(--acento);border-color:var(--acento)}
.pz-l{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--linha)}
.pz-seg{display:inline-flex;border:1px solid var(--linha);border-radius:10px;overflow:hidden}
.pz-seg button{border:0;background:#fff;padding:8px 12px;font-weight:700;font-size:13px;color:var(--texto2)}
.pz-seg button+button{border-left:1px solid var(--linha)}.pz-seg button.ativo{background:var(--texto);color:#fff}
.pz-cat{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--linha);font-weight:700}
.pz-cat input{width:20px;height:20px;accent-color:var(--acento)}.pz-cat small{margin-left:auto;color:var(--texto2)}
.pz-favs{display:grid;gap:6px;max-height:46vh;overflow:auto}
.pz-fav{display:flex;align-items:center;gap:8px;border:1px solid var(--linha);background:#fff;border-radius:10px;padding:9px 12px;text-align:left;font-weight:700}
.pz-fav span{font-size:18px;color:#c9ccd4}.pz-fav.on{border-color:#f2c94c;background:#fffbea}.pz-fav.on span{color:#d99a06}.pz-fav small{margin-left:auto;color:var(--texto2);font-weight:600}
.fav-marca{position:absolute;top:6px;left:8px;color:#d99a06;font-size:16px;text-shadow:0 1px 2px #fff}
/* fotos pequenas / sem foto / sem preço / texto grande */
.prod-grade.fotos-pequena{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))}
.prod-grade.fotos-pequena .prod-btn .foto{aspect-ratio:16/9}
.prod-grade.fotos-nenhuma{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.prod-grade.fotos-nenhuma .prod-btn .foto{display:none}
.prod-grade.fotos-nenhuma .prod-btn .info{padding:12px;min-height:58px;display:flex;flex-direction:column;justify-content:center}
.prod-grade.sem-preco .prod-btn .info span{display:none}
.prod-grade.texto-grande .prod-btn .info b{font-size:16.5px}.prod-grade.texto-grande .prod-btn .info span{font-size:15.5px}
@media (max-width:640px){.prod-grade.fotos-nenhuma{grid-template-columns:1fr 1fr}.prod-grade.fotos-pequena{grid-template-columns:repeat(3,1fr)}}
/* observações rápidas */
.obs-rapidas{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.obs-rapidas button{border:1px solid var(--linha);background:#fff;border-radius:999px;padding:6px 11px;font-weight:700;font-size:12.5px;color:var(--texto2)}
.obs-rapidas button:active{background:#fff1ec}
@media (pointer:coarse){.obs-rapidas button,.pz-seg button,.pz-abas button{min-height:40px}}
.rodape-g .obs-rapidas{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.rodape-g .obs-rapidas button{flex:none}

/* Equipe: quem pode o quê */
.perm-tab{overflow-x:auto;margin-top:6px}
.perm-l{display:grid;grid-template-columns:minmax(220px,1fr) repeat(var(--cols,6),78px);align-items:center;gap:4px;padding:8px 4px;border-top:1px solid var(--linha);min-width:min-content}
.perm-l>span:first-child b{display:block;font-size:14px}.perm-l>span:first-child small{color:var(--texto2);font-size:12px}
.perm-l .c{text-align:center;display:grid;place-items:center}.perm-l input{width:19px;height:19px;accent-color:var(--acento);cursor:pointer}
.perm-cab{border-top:0;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--texto2);position:sticky;top:0;background:#fff}
.perm-g{font-size:12px;font-weight:800;color:var(--acento);text-transform:uppercase;letter-spacing:.05em;padding:14px 4px 4px}
.perm-l.sensivel{background:#fffaf0}.perm-l.sensivel>span:first-child b::after{content:'controle';margin-left:6px;font-size:10.5px;background:var(--amarelo-f);color:var(--amarelo);padding:1px 6px;border-radius:6px;vertical-align:1px}
.perm-l label.c{padding:6px 0;cursor:pointer;border-radius:8px}.perm-l label.c:hover{background:var(--fundo)}
.perm-alerta{margin-top:14px}

/* conferência da tributação */
.nf-conf-res{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 10px}
.nf-conf-res span{padding:6px 11px;border-radius:10px;font-size:13px;background:var(--fundo)}.nf-conf-res b{font-size:15px;margin-right:3px}
.nf-conf-res .vermelho{background:var(--vermelho-f);color:var(--vermelho)}.nf-conf-res .amarelo{background:var(--amarelo-f);color:var(--amarelo)}.nf-conf-res .verde{background:var(--verde-f);color:var(--verde)}
.nf-conf-l{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:12px;align-items:center;padding:10px 4px;border-top:1px solid var(--linha)}
.nf-conf-l.atencao{border-left:3px solid var(--vermelho);padding-left:10px}
.nf-conf-l .n b{display:block}.nf-conf-l .n small{display:block;color:var(--texto2);font-size:12.5px}.nf-conf-l .n em{display:block;font-style:normal;font-size:12.5px;color:var(--vermelho);margin-top:2px}
.nf-conf-l:not(.atencao) .n em{color:var(--amarelo)}
.nf-conf-l .s small{display:block;font-size:11px;color:var(--texto2)}.nf-conf-l .s b{color:var(--verde)}
.nf-conf-l .a{display:flex;gap:6px}
.nf-conf-pad{margin-top:10px;border-top:1px solid var(--linha);padding-top:10px}.nf-conf-pad summary{cursor:pointer;font-weight:700;font-size:13.5px;color:var(--texto2)}
.nf-conf-chips{display:flex;flex-wrap:wrap;gap:6px}.nf-conf-chips a{background:var(--fundo);border-radius:999px;padding:4px 10px;font-size:12.5px;color:inherit;text-decoration:none}.nf-conf-chips a:hover{background:var(--linha)}
@media (max-width:640px){.nf-conf-l{grid-template-columns:1fr auto}.nf-conf-l .s{grid-column:1;grid-row:2}.nf-conf-l .a{grid-row:1/3;grid-column:2}}

/* produto: dados fiscais */
.pf-fiscal .campo small[data-orig]{color:var(--texto2);font-weight:500}
.pf-fiscal input::placeholder{color:#9aa0ab}
.pf-sug{display:flex;align-items:center;gap:12px;background:var(--amarelo-f);color:#6b4a05;border-radius:12px;padding:10px 12px;margin-bottom:12px;font-size:13.5px}
.pf-sug span{flex:1}.pf-sug .botao{flex:none}

/* cozinha sem menu: tela inteira para os pedidos (papel Cozinha sempre; os outros pelo "Modo cozinha") */
body.cozinha-foco .lateral,body.cozinha-foco .topo,body.cozinha-foco .nav-inferior{display:none!important}
body.cozinha-foco .moldura{grid-template-columns:1fr}
body.cozinha-foco .conteudo{padding:10px 14px 14px}
body.cozinha-foco .kds-faixa{position:sticky;top:0;z-index:20;background:#0f1117;margin:-10px -14px 10px;padding:10px 14px;border-bottom:1px solid #22252e}
.kds-loja{display:none;color:#9aa0ab;font-weight:600}body.cozinha-foco .kds-loja{display:inline}
.kds-relogio{font-size:22px;font-weight:800;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.02em}
body:not(.modo-cozinha) .kds-relogio{color:var(--texto)}
.kds-menu-bt{position:relative;display:none}body.cozinha-foco .kds-menu-bt{display:inline-flex}
.kds-menu-bt .num-aviso{position:absolute;top:-6px;right:-6px}
body.modo-cozinha .kds-faixa .botao{background:#1d2029;border-color:#2c303b;color:#e5e7eb}
.kds-m{display:grid;gap:4px}
.kds-m-l{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;text-decoration:none;color:inherit;font-weight:600;background:var(--fundo);border:0;font:inherit;text-align:left;cursor:pointer;position:relative}
.kds-m-l:hover{background:var(--linha)}.kds-m-l .num-aviso{margin-left:auto;position:static}
@media (max-width:760px){body.cozinha-foco .baloes{bottom:14px}}

.cx-quem{display:flex;align-items:center;gap:6px;font-size:14px;margin:16px 0 8px;color:var(--texto2)}
/* maquininhas de cartão (Contas > Configurar) */
.maq-card{border:1px solid var(--linha);border-radius:14px;padding:12px 14px;margin-bottom:12px;background:var(--cartao)}
.maq-card.desligada{opacity:.6}
details.maq-card>summary{cursor:pointer;font-weight:800;display:flex;align-items:center;gap:8px;list-style:none}
details.maq-card[open]>summary{margin-bottom:10px}
.maq-topo{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding-bottom:8px}
.maq-topo label{display:flex;flex-direction:column;gap:3px;flex:1;min-width:150px}
.maq-topo label.maq-nome{flex:2}
.maq-topo label.check{flex:0 0 auto;flex-direction:row;align-items:center;min-width:0;padding-bottom:8px}
.maq-topo label small,.maq-parc>small{font-size:11.5px;color:var(--texto2);font-weight:700}
.maq-parc{padding:8px 0 4px;border-top:1px solid var(--linha)}
.maq-parc>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin-top:6px}
.maq-parc label{display:flex;align-items:center;gap:6px}
.maq-parc label span{font-weight:800;font-size:13px;min-width:26px}
.maq-parc input{width:100%}
/* receber: escolha da maquininha e das parcelas */
.pag-esc{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 2px}
.pag-esc>small{width:100%;font-size:12px;font-weight:800;color:var(--texto2)}
.pag-esc button{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:10px;border:1px solid var(--linha);background:var(--cartao);font:inherit;font-weight:700;font-size:13.5px;cursor:pointer;color:var(--texto)}
.pag-esc button.ativo{border-color:var(--acento);background:color-mix(in srgb,var(--acento) 10%,var(--cartao));color:var(--acento)}
.maq-card label.check{display:inline-flex;flex-direction:row;align-items:center;gap:6px;flex:0 0 auto;min-width:0;padding-bottom:10px;font-weight:700;font-size:13.5px;white-space:nowrap}
.maq-card label.check input{width:auto;margin:0}
/* abrir a mesa: pessoas e nomes (opcional) */
.abre-mesa .campo small{font-weight:600;color:var(--texto2)}
.qtd-pessoas{display:flex;align-items:center;gap:8px}
.qtd-pessoas input{width:90px;text-align:center;font-size:22px;font-weight:800;padding:8px}
.qtd-pessoas .botao{width:48px;height:48px;padding:0;justify-content:center}
.am-tags{display:flex;flex-wrap:wrap;gap:6px;min-height:4px;margin:-4px 0 8px}
.am-tags .tag-pessoa{font-size:13px;padding:4px 10px}
.para-quem button.pq-editar{padding:7px 9px}
.para-quem[hidden]{display:none}
/* pré-conta na tela (celular do garçom) */
.preconta{max-width:460px}
.preconta .corpo{padding-top:4px}
.pc-itens{display:grid;gap:2px;padding-bottom:10px;border-bottom:1px dashed var(--linha)}
.pc-l{display:flex;gap:10px;align-items:baseline;justify-content:space-between;padding:5px 0;font-size:15px}
.pc-q{font-weight:800;color:var(--texto2);min-width:28px}
.pc-n{flex:1}.pc-n small{display:block;color:var(--texto2);font-size:12.5px}
.pc-v{font-weight:700;white-space:nowrap}
.pc-soma{padding:8px 0}
.pc-soma .pc-l{font-size:14px;color:var(--texto2)}
.pc-total{display:flex;justify-content:space-between;align-items:baseline;margin:8px 0 4px;padding:12px 14px;border-radius:14px;background:var(--fundo)}
.pc-total span{font-weight:800;font-size:15px}.pc-total b{font-size:28px;letter-spacing:-.02em}
.pc-falta{color:var(--vermelho)!important}
.pc-cada{display:flex;align-items:center;gap:6px;justify-content:center;margin-top:8px;font-size:14px;color:var(--texto2)}
.pc-cada b{color:var(--texto);font-size:16px}
.pc-nomes{margin-top:8px;padding:12px 14px;border-radius:14px;border:1px solid var(--linha)}
.pc-nomes small{color:var(--texto2)}
.pc-aviso{text-align:center;margin-top:10px}
.pc-rod{flex-direction:column;align-items:stretch;gap:8px}
.pc-botoes{display:flex;gap:8px}.pc-botoes .botao{flex:1;justify-content:center}.pc-botoes .primario{flex:2}
.pc-estacao{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;color:var(--texto2)}
.pc-ponto{width:9px;height:9px;border-radius:50%;background:#c4c4cc}
.pc-estacao.ok .pc-ponto{background:var(--verde)}.pc-estacao.off .pc-ponto{background:var(--amarelo)}
.pc-rod .pc-botoes{width:100%}
/* estação de impressão: o que este computador imprime */
.est-opcoes{display:grid;gap:8px;margin-top:10px}
.est-opcoes .check{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--linha);border-radius:12px;margin:0}
.est-opcoes .check input{margin-top:3px}
.est-opcoes .check small{display:block;color:var(--texto2);font-size:12px}
.est-lista{display:grid;gap:6px}
.est-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:var(--fundo);font-size:13.5px}
.est-item small{color:var(--texto2);flex:1}.est-item em{font-style:normal;font-size:12px;color:var(--texto2)}
.est-item.ok .pc-ponto{background:var(--verde)}.est-item.ok em{color:var(--verde);font-weight:700}
.taxa-tirada{display:flex;align-items:center;gap:5px;margin:-2px 0 6px;color:var(--texto2)}
/* celular do garçom: janelas na altura visível da tela (a barra do navegador não esconde o X) e rodapé da rodada que cabe */
.folha .caixa{max-height:92dvh}
@media (max-width:699px){.folha .caixa{max-height:calc(100dvh - 8px)}.folha .cab{position:sticky;top:0;background:#fff;z-index:2;border-radius:20px 20px 0 0}}
.g-gaveta .rodape-g>*{min-width:0}
.rodada-lista summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14.5px;list-style:none;padding:2px 0}
.rodada-lista summary::-webkit-details-marker{display:none}
.rodada-lista summary::before{content:"▸";color:var(--texto2);transition:transform .15s}
.rodada-lista[open] summary::before{transform:rotate(90deg)}
.rodada-lista summary span{margin-left:auto;font-weight:800}
.rodada-lista[open]{max-height:34dvh;overflow:auto}
.acoes-lancar{flex-wrap:nowrap}
.acoes-lancar .botao{min-width:0;white-space:nowrap}
.acoes-lancar [data-voltar-conta]{flex:0 0 auto}
.acoes-lancar [data-enviar]{flex:1 1 auto;padding:12px;justify-content:center}
.obs-botao{justify-self:start}
.para-quem>.mini{white-space:nowrap;flex:none}
@media (max-width:560px){
  .so-larga{display:none}
  .acoes-lancar [data-voltar-conta]{width:52px;padding:0;justify-content:center}
  .g-gaveta .rodape-g .obs-rapidas{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  .g-gaveta .rodape-g .obs-rapidas button{flex:none}
  .g-gaveta .rodape-g{gap:7px;padding-top:9px}
}
/* cozinha: desfazer um "pronto" tocado errado */
.kds-prontos-wrap{position:relative}
.kds-prontos-wrap .kp-num{background:var(--amarelo,#d97706);color:#fff;border-radius:999px;padding:0 7px;font-size:12px;line-height:18px}
.kds-prontos{position:absolute;right:0;top:calc(100% + 8px);z-index:115;width:min(380px,calc(100vw - 24px));max-height:60vh;overflow:auto;background:#fff;color:var(--texto);border:1px solid var(--linha);border-radius:14px;box-shadow:0 16px 40px rgba(0,0,0,.3);padding:8px}
.kds-prontos .kr-tit{font-weight:800;font-size:13.5px;padding:6px 8px 8px}
.kds-prontos .kr-tit small{display:block;font-weight:600;color:var(--texto2);font-size:12px}
.kds-prontos .kr-it{display:flex;justify-content:space-between;gap:10px;width:100%;border:0;border-top:1px solid var(--linha);background:#fff;padding:10px 8px;font:inherit;font-size:14px;font-weight:700;text-align:left;cursor:pointer;color:var(--texto)}
.kds-prontos .kr-it:hover{background:#fffbeb}
.kds-prontos .kr-it small{color:var(--texto2);font-weight:600}
.kds-prontos .kr-vazio{padding:10px 8px;color:var(--texto2);font-size:13.5px}
.kds-desfazer{position:fixed;left:50%;transform:translateX(-50%);bottom:56px;z-index:110;display:flex;align-items:center;gap:14px;padding:10px 12px 10px 16px;border-radius:14px;background:#16181d;color:#fff;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.25);max-width:calc(100vw - 24px)}
.kds-desfazer span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kds-desfazer .botao{background:#fff;color:#16181d;border:0}
.kds-desfazer kbd{font-size:11px;padding:1px 5px;border-radius:4px;background:#e5e7eb;color:#111}
/* salão: calculadora de divisão */
.dv .corpo{display:grid;gap:12px;padding-bottom:16px}
.dv-bloco{border:1px solid var(--linha);border-radius:14px;padding:12px;display:grid;gap:8px}
.dv-linha{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap}
.dv-linha .entrada{flex:1;min-width:180px}
.dv-cada{font-size:15px}.dv-cada b{font-size:20px}.dv-cada small{display:block;color:var(--texto2);font-size:12px}
.dv-pag{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--linha)}
.dv-pag .dv-quem{flex:1;font-weight:700;display:inline-flex;align-items:center;gap:6px}
.dv-pag.pago{color:var(--verde)}.dv-pag.pago .dv-v{text-decoration:line-through;opacity:.7}
.dv-v{font-size:16px;min-width:86px;text-align:right}
.dv-add{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.dv-add button,.dv-nomes button{border:1.5px solid var(--linha);background:#fff;border-radius:999px;padding:7px 12px;font:inherit;font-weight:700;font-size:13.5px;cursor:pointer}
.dv-add button:hover,.dv-nomes button:hover{border-color:var(--acento)}
.dv-nomes{display:flex;flex-wrap:wrap;gap:6px}
.dv-nomes button small{color:var(--texto2);font-weight:600;margin-left:4px}
.dv-nomes button.on{border-color:var(--acento);background:#fff8f5}
.dv-resto{font-size:13.5px;color:var(--texto2)}.dv-resto b{color:var(--texto)}
.dv-resto.ok{color:var(--verde);display:flex;align-items:center;gap:6px;font-weight:700}
/* palavras rápidas numa linha: setas para quem usa mouse */
.obs-trilho{display:flex;align-items:center;gap:4px;min-width:0}
.obs-trilho .obs-rapidas{flex:1;min-width:0}
.obs-seta{flex:none;width:30px;height:30px;margin-top:8px;border:1px solid var(--linha);border-radius:50%;background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--texto2);box-shadow:0 2px 6px rgba(0,0,0,.08)}
.obs-seta:hover{color:var(--texto);border-color:var(--texto2)}
.obs-seta[hidden]{display:none}
/* PDV: menu do supervisor */
.sup-grade{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-bottom:16px}
.sup-op{position:relative;display:grid;gap:4px;justify-items:start;text-align:left;border:1.5px solid var(--linha);background:#fff;border-radius:14px;padding:14px;font:inherit;cursor:pointer;color:var(--texto)}
.sup-op:hover:not(:disabled){border-color:var(--acento);background:#fff8f5}
.sup-op:disabled{opacity:.45;cursor:not-allowed}
.sup-op small{color:var(--texto2);font-size:12.5px}
.sup-op kbd{position:absolute;top:10px;right:10px}
.pv-lista{display:grid;gap:0;padding-bottom:12px}
.pv-venda{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--linha)}
.pv-venda .pv-n{flex:1;min-width:0;display:grid;gap:2px}
.pv-venda .pv-n small{color:var(--texto2);font-size:12.5px}
.pv-venda .pv-v{font-size:16px;white-space:nowrap}
.pv-venda .pv-acoes{display:flex;gap:6px}
.pv-venda.cancelada .pv-v{text-decoration:line-through;color:var(--texto2)}
.pv-venda .pv-mot{color:var(--vermelho)!important}
.pdv-desc{display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:700;color:var(--verde);font-size:14px}
.pdv-desc[hidden]{display:none}
.pdv-desc span{display:inline-flex;align-items:center;gap:6px}
/* estoque: revenda com custo × preço de venda */
.rv-preco{margin-bottom:14px}
.rv-cab{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.rv-cab h2{margin:0;display:inline-flex;align-items:center;gap:8px}
.rv-grade{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.rv-grade>div{border:1px solid var(--linha);border-radius:12px;padding:10px 12px;display:grid;gap:2px}
.rv-grade small{color:var(--texto2);font-weight:700;font-size:12px}
.rv-grade b{font-size:20px}
.rv-grade em{font-style:normal;color:var(--texto2);font-size:12px}
.rv-grade .rv-verde b{color:var(--verde)}.rv-grade .rv-amarelo b{color:#b45309}.rv-grade .rv-vermelho b{color:var(--vermelho)}
.rv-sug{margin:10px 0 0}.rv-sug span{opacity:.7}
@media (max-width:640px){.rv-grade{grid-template-columns:1fr}}
.es-l .n small.rv-l{display:block;font-size:11.5px;color:var(--texto2);font-weight:600}
.es-l .n small.rv-l.baixa{color:var(--vermelho)}
/* ficha técnica: insumo do adicional e aviso do "todos viram insumo" */
.ia-modo{grid-template-columns:1fr 1fr}
.ia-rev{display:flex;align-items:center;gap:12px;margin:4px 0 12px;padding:12px 14px;border:1.5px solid var(--linha);border-radius:14px;cursor:pointer;transition:border-color .15s,background .15s}
.ia-rev input{position:absolute;opacity:0;pointer-events:none}
.ia-rev.on{border-color:var(--verde);background:#f0fdf4}
.ia-rev .ia-rev-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--fundo);color:var(--texto2);flex:none}
.ia-rev.on .ia-rev-ic{background:#dcfce7;color:var(--verde)}
.ia-rev>span:nth-of-type(2){flex:1;display:grid;gap:2px}
.ia-rev small{color:var(--texto2);font-size:12.5px;line-height:1.35}
.ia-sw{flex:none;width:42px;height:24px;border-radius:999px;background:#d1d5db;position:relative;transition:background .15s}
.ia-sw::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .15s}
.ia-rev.on .ia-sw{background:var(--verde)}.ia-rev.on .ia-sw::after{transform:translateX(18px)}
.ia-umpraum{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:8px;padding:12px;border-radius:14px;background:linear-gradient(135deg,#f0fdf4,#ecfeff);border:1px dashed #86efac;font-size:13.5px;font-weight:600;color:#14532d}
.ia-umpraum[hidden]{display:none}
.ia-umpraum span{display:inline-flex;align-items:center;gap:6px}
.ia-umpraum .ia-seta{font-size:20px;color:var(--verde);font-weight:800}
.ia-umpraum.grande{font-size:15.5px;padding:18px}
.ia-aviso{display:grid;gap:12px;padding-bottom:6px}
.ia-aviso>p{margin:0;font-size:14px;line-height:1.5}
.ia-lista{display:flex;flex-wrap:wrap;gap:6px;max-height:150px;overflow:auto}
.ia-lista span{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:var(--fundo);border:1px solid var(--linha);font-size:12.5px;font-weight:700}
.ia-cuidado{display:flex;gap:10px;padding:12px 14px;border-radius:14px;background:#fffbeb;border:1px solid #fde68a;color:#78350f;font-size:13px;line-height:1.5}
.ia-cuidado svg{flex:none;margin-top:2px}
/* salão: calculadora na tela (dividir a conta) */
.dv-visor{display:flex;align-items:baseline;gap:10px;padding:10px 12px;border:1.5px solid var(--linha);border-radius:12px;background:#fafbfc}
.dv-visor input{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:20px;font-weight:700;text-align:right;color:var(--texto);outline:none;padding:0}
.dv-visor .dv-v{font-size:18px;color:var(--verde);white-space:nowrap;min-width:0}
.dv-teclas{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.dv-teclas button{height:48px;border:1px solid var(--linha);border-radius:12px;background:#fff;font:inherit;font-size:20px;font-weight:700;color:var(--texto);cursor:pointer;touch-action:manipulation}
.dv-teclas button:active{transform:scale(.97);background:#f3f4f6}
.dv-teclas button.op{background:#f5f6f8;color:var(--acento)}
.dv-teclas button.lim{color:var(--vermelho)}
.dv-teclas button.igual{background:var(--acento);border-color:var(--acento);color:#fff}
@media (min-width:700px){.dv-teclas button{height:42px;font-size:18px}}
.dv-abre-calc{width:100%;justify-content:center;gap:8px;padding:12px}
