:root{--creme:#f7efe4;--creme2:#efe2d0;--marrom:#7a5235;--marrom-esc:#4a3020;--caramelo:#c99a6b;--branco:#fffaf3;--texto:#3b2a1e;--suave:#8b7360;--verde:#2e9e5b;--raio:18px;color:var(--texto);-webkit-tap-highlight-color:transparent;font-family:Nunito,system-ui,sans-serif}*{box-sizing:border-box;margin:0}body{background:var(--creme)}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}input,select{font:inherit;color:inherit}h1,h2,h3,.titulo{color:var(--marrom-esc);font-family:Fredoka,sans-serif}.app{max-width:560px;min-height:100dvh;margin:0 auto;padding-bottom:150px}main{padding:0 16px}.topo{padding:calc(14px + env(safe-area-inset-top)) 16px 12px;z-index:5;background:var(--creme);align-items:center;gap:12px;display:flex;position:sticky;top:0}.logo{border-radius:14px;width:46px;height:46px}.topo h1{font-size:24px;line-height:1}.topo span{color:var(--suave);font-size:13px}.intro{background:var(--marrom);color:var(--creme);border-radius:var(--raio);margin-bottom:14px;padding:16px}.intro p{font-weight:700}.intro small{opacity:.8}.busca,.form input,.form select,.manual input{border:1.5px solid var(--creme2);background:var(--branco);border-radius:14px;outline:none;width:100%;padding:13px 14px}.busca:focus,.form input:focus,.manual input:focus{border-color:var(--caramelo)}.chips{scrollbar-width:none;gap:8px;padding:12px 0;display:flex;overflow-x:auto}.chips button{background:var(--branco);border:1.5px solid var(--creme2);white-space:nowrap;color:var(--suave);border-radius:99px;padding:8px 16px;font-weight:700}.chips button.on{background:var(--marrom);border-color:var(--marrom);color:var(--creme)}.grade{grid-template-columns:1fr 1fr;gap:12px;display:grid}.card{text-align:left;background:var(--branco);border-radius:var(--raio);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 2px 10px #4a302012}.card:active{transform:scale(.98)}.foto{aspect-ratio:1;position:relative}.ilustra{object-fit:cover;width:100%;height:100%;display:block}.selo{background:var(--marrom);color:#fff;border-radius:99px;place-items:center;min-width:26px;height:26px;padding:0 6px;font-size:13px;font-weight:700;display:grid;position:absolute;top:8px;right:8px}.info{flex-direction:column;flex:1;gap:2px;padding:10px 12px 12px;display:flex}.info small{color:var(--suave);letter-spacing:.04em;font-size:11px;font-weight:700}.info h3{flex:1;font-size:15px;font-weight:600;line-height:1.2}.linha{justify-content:space-between;align-items:center;margin-top:6px;display:flex}.linha strong{color:var(--marrom)}.est{color:var(--verde);font-size:11px;font-weight:700}.est.zero{color:#c0392b}.vazio{color:var(--suave);text-align:center;grid-column:1/-1;padding:20px 0}.barra-carrinho{left:50%;bottom:calc(78px + env(safe-area-inset-bottom));background:var(--marrom-esc);width:calc(100% - 32px);max-width:528px;color:var(--creme);z-index:6;border-radius:16px;justify-content:space-between;align-items:center;padding:15px 18px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #4a302059}.abas{background:var(--branco);border-top:1px solid var(--creme2);padding:8px 16px calc(8px + env(safe-area-inset-bottom));z-index:7;justify-content:center;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.abas button{max-width:264px;color:var(--suave);border-radius:14px;flex-direction:column;flex:1;align-items:center;padding:8px;font-size:13px;font-weight:700;display:flex}.abas .ic{filter:grayscale();opacity:.6;font-size:20px}.abas button.on{background:var(--creme);color:var(--marrom)}.abas button.on .ic{filter:none;opacity:1}.fundo{z-index:10;background:#28190f73;justify-content:center;align-items:flex-end;animation:.2s fade;display:flex;position:fixed;inset:0}.sheet{background:var(--creme);width:100%;max-width:560px;padding:10px 18px calc(18px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;flex-direction:column;gap:10px;max-height:92dvh;animation:.25s ease-out sobe;display:flex;overflow-y:auto}.sheet.alto{min-height:70dvh}.puxador{background:var(--creme2);border-radius:9px;width:42px;height:5px;margin:0 auto 6px}.sheet-topo{align-items:center;gap:14px;display:flex}.sheet-topo h2{font-size:20px;line-height:1.15}.sheet-topo small{color:var(--suave);font-size:12px;font-weight:700}.mini{border-radius:14px;flex-shrink:0;width:92px;height:92px;overflow:hidden}.mini.p{border-radius:10px;width:52px;height:52px}.preco{color:var(--marrom);font-size:18px}.preco em{color:var(--suave);font-size:13px;font-style:normal;font-weight:400}h4{color:var(--marrom-esc);margin-top:6px}.tam{background:var(--branco);border-radius:14px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.tam b{color:var(--marrom);font-family:Fredoka,sans-serif;font-size:18px;display:block}.tam small{color:var(--suave);font-size:12px}.stepper{background:var(--creme);border-radius:12px;align-items:center;gap:4px;padding:4px;display:flex}.stepper button{background:var(--branco);width:36px;height:36px;color:var(--marrom);border-radius:10px;font-size:20px;font-weight:700}.stepper button:disabled{opacity:.35}.stepper span,.stepper input{text-align:center;background:0 0;border:0;width:50px;min-width:34px;font-weight:700}.stepper.peq button{width:30px;height:30px}.btn{border-radius:14px;width:100%;padding:15px;font-size:16px;font-weight:700}.btn.primario{background:var(--marrom);color:var(--creme)}.btn.secundario{background:var(--branco);color:var(--marrom);border:1.5px solid var(--creme2)}.btn.whats{color:#fff;background:#25d366}.btn:disabled{opacity:.45}.btn.grande{padding:22px;font-size:18px}.link{color:var(--marrom);padding:6px 0;font-weight:700;text-decoration:underline}.cab{justify-content:space-between;align-items:center;display:flex}.itens{flex-direction:column;gap:8px;display:flex}.item{background:var(--branco);border-radius:14px;align-items:center;gap:10px;padding:8px;display:flex}.item .meio{flex:1;min-width:0}.item b{font-size:14px;display:block}.item small{color:var(--suave);font-size:12px}.resumo{justify-content:space-between;padding:8px 4px;font-size:18px;display:flex}.resumo strong{color:var(--marrom);font-family:Fredoka,sans-serif;font-size:22px}.alerta{color:#9a5a12;background:#fdecd8;border-radius:12px;padding:10px 12px;font-size:14px;font-weight:600}.form{flex-direction:column;gap:8px;display:flex}.duas{grid-template-columns:1fr 1fr;gap:8px;display:grid}.titulo{margin-top:4px;font-size:24px}.sub{color:var(--suave);margin:4px 0 14px}.scanner{flex-direction:column;gap:10px;display:flex}#leitor{border-radius:var(--raio);background:#000;display:none;overflow:hidden}#leitor.vis{display:block}#leitor video{display:block;width:100%!important}.manual{gap:8px;margin-top:10px;display:flex}.manual .btn{width:auto;padding:0 18px}.painel{background:var(--branco);border-radius:var(--raio);flex-direction:column;gap:10px;padding:16px;display:flex;box-shadow:0 2px 10px #4a302014}.painel label{color:var(--marrom-esc);margin-top:4px;font-size:14px;font-weight:700}.painel p{color:var(--suave);margin-top:4px;font-size:14px}.painel .form input,.painel .form select{background:var(--creme);border-color:#0000}.tag{border-radius:99px;align-self:flex-start;padding:5px 12px;font-size:12px;font-weight:700}.tag.ok{color:var(--verde);background:#e1f4e8}.tag.novo{color:#9a5a12;background:#fdecd8}.seg{background:var(--creme);border-radius:12px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.seg button{color:var(--suave);border-radius:10px;padding:10px;font-size:14px;font-weight:700}.seg button.on{background:var(--branco);color:var(--marrom)}.foto-in{border:2px dashed var(--creme2);height:150px;color:var(--suave);border-radius:14px;place-items:center;font-weight:700;display:grid;overflow:hidden;margin:0!important}.foto-in img{object-fit:cover;width:100%;height:100%}.qtd{justify-content:space-between;align-items:center;gap:8px;display:flex}.atalhos{gap:6px;display:flex}.atalhos button{background:var(--creme);color:var(--marrom);border-radius:10px;padding:9px 12px;font-weight:700}.painel .chips{padding:0}.secao{margin:22px 0 10px;font-size:18px}.log{flex-direction:column;gap:8px;padding:0;list-style:none;display:flex}.log li{background:var(--branco);border-radius:14px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.log b{font-size:14px;display:block}.log small{color:var(--suave);font-size:12px;display:block}.log span{color:var(--verde);text-align:right;font-family:Fredoka,sans-serif;font-size:18px}.codigos{background:var(--branco);border-radius:14px;margin-top:22px;padding:12px 14px}.codigos summary{color:var(--marrom);font-weight:700}.cod-prod{margin-top:10px}.cod-prod b{margin-bottom:4px;font-size:13px;display:block}.cod-prod button{background:var(--creme);border-radius:8px;margin:0 4px 4px 0;padding:5px 8px;font-family:monospace;font-size:12px}.toast{top:calc(16px + env(safe-area-inset-top));background:var(--marrom-esc);color:var(--creme);z-index:20;border-radius:12px;max-width:90%;padding:12px 18px;font-weight:700;animation:.2s fade;position:fixed;left:50%;transform:translate(-50%)}@keyframes sobe{0%{opacity:0;transform:translateY(40px)}}@keyframes fade{0%{opacity:0}}.cab-entrada{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.contador{background:var(--marrom);color:var(--creme);text-align:center;border-radius:14px;flex-shrink:0;padding:8px 14px}.contador b{font-family:Fredoka,sans-serif;font-size:24px;line-height:1;display:block}.contador small{opacity:.8;font-size:11px}.por-bipe{background:var(--branco);color:var(--marrom-esc);border-radius:14px;justify-content:space-between;align-items:center;margin-bottom:10px;padding:8px 8px 8px 14px;font-size:14px;font-weight:700;display:flex}.atalhos button.on{background:var(--marrom);color:var(--creme)}.visor{border-radius:var(--raio);aspect-ratio:4/3;background:#000;display:none;position:relative;overflow:hidden}.visor.vis{display:block}.visor video{object-fit:cover;width:100%;height:100%}.visor #leitor-compat video{width:100%!important}.visor.flash:after{content:"";background:#2e9e5b73;position:absolute;inset:0}.mira{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.mira span{border:3px solid #ffffffe6;border-radius:14px;width:86%;height:34%;position:relative;box-shadow:0 0 0 999px #00000059}.mira span:after{content:"";background:#ff4d4d;height:2px;animation:1.4s ease-in-out infinite alternate varre;position:absolute;top:50%;left:6%;right:6%}@keyframes varre{0%{transform:translateY(-30px)}to{transform:translateY(30px)}}.lanterna{color:#fff;background:#0000008c;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:700;position:absolute;top:10px;right:10px}.pausa{color:#fff;background:#0009;place-items:center;font-weight:700;display:grid;position:absolute;inset:0}.ultima{background:#e1f4e8;border-radius:14px;align-items:center;gap:10px;margin-top:10px;padding:8px;animation:.2s sobe;display:flex}.ultima .meio{flex:1;min-width:0}.ultima b{font-size:14px;display:block}.ultima small{color:var(--suave);font-size:12px}.ultima .mais{color:var(--verde);padding-right:8px;font-family:Fredoka,sans-serif;font-size:26px}.desfazer{color:var(--suave);margin-left:auto;font-family:Nunito,sans-serif;font-size:11px;text-decoration:underline;display:block}.dica{color:var(--suave);margin-top:6px;font-size:12px}.scanner+.painel{margin-top:10px}.usb{border-radius:var(--raio);cursor:pointer;border:2px solid #0000;align-items:center;gap:14px;margin-bottom:10px;padding:18px;transition:background .15s;display:flex}.usb.ok{background:#e1f4e8;border-color:#b9e3c9}.usb.off{background:#fdecd8;border-color:#f3cfa4}.usb b{color:var(--marrom-esc);font-size:17px;display:block}.usb small{color:var(--suave);font-size:13px}.led{border-radius:99px;flex-shrink:0;width:16px;height:16px}.usb.ok .led{background:var(--verde);animation:1.8s infinite led;box-shadow:0 0 #2e9e5b99}.usb.off .led{background:#e08a2b}.usb.pulso{background:#c8edd6}@keyframes led{70%{box-shadow:0 0 0 10px #2e9e5b00}to{box-shadow:0 0 #2e9e5b00}}.camera{background:var(--branco);border-radius:14px;margin-top:12px;padding:12px 14px}.camera summary{color:var(--marrom);font-weight:700}.camera .scanner{margin-top:10px}.visor #leitor-compat video{object-fit:cover;height:100%!important}.ultima{padding:14px 10px}.ultima b{font-size:16px}@media (width>=900px){.app{max-width:720px}.grade{grid-template-columns:repeat(3,1fr)}}
