:root{--bg:#f3efe6;--paper:#fbf9f4;--ink:#1a1612;--ink2:#2e2822;--muted:#6a6257;--line:#ddd6c8;--line2:#cfc7b8;--accent:#ff6a3d;--ok:#7ed957;--warn:#f5b700;--mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);margin:0;font-family:Bricolage Grotesque,ui-sans-serif,system-ui,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.noscroll::-webkit-scrollbar{display:none}@keyframes rise{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes sweep{0%{top:10%}50%{top:86%}to{top:10%}}.app{flex-direction:column;height:100%;display:flex}.main{flex:1;min-height:0;overflow-y:auto}.page{flex-direction:column;gap:16px;width:100%;max-width:980px;margin:0 auto;padding:22px 16px 120px;display:flex}.eyebrow{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:12px}h1{letter-spacing:-.025em;margin:0;font-size:32px;font-weight:800;line-height:1.05}h2{letter-spacing:-.02em;margin:0;font-size:24px;font-weight:800}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.grow{flex:1;min-width:0}.tabs{grid-template-columns:repeat(var(--n,4), minmax(0, 1fr));height:72px;padding:0 6px env(safe-area-inset-bottom);background:var(--paper);border-top:1.5px solid var(--line);flex:none;display:grid}.tab{color:var(--muted);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.tab span{border-radius:999px;justify-content:center;align-items:center;width:52px;height:30px;display:flex}.tab[aria-current=page]{color:var(--ink)}.tab[aria-current=page] span{background:var(--accent);color:var(--ink)}@media (width>=900px){.app{flex-direction:row-reverse}.tabs{border-top:0;border-left:1.5px solid var(--line);background:var(--ink);grid-template-columns:1fr;grid-auto-rows:72px;align-content:start;width:92px;height:auto;padding:16px 6px}.tab{color:var(--line2)}.tab[aria-current=page]{color:var(--bg)}}.btn{background:var(--ink);height:56px;color:var(--bg);border:0;border-radius:18px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:16px;font-weight:800;display:inline-flex}.btn.accent{background:var(--accent);color:var(--ink)}.btn.ghost{color:var(--ink);border:2px solid var(--ink);background:0 0;font-weight:700}.btn.soft{color:var(--ink);border:1.5px solid var(--line);background:0 0;font-weight:700}.btn.sm{border-radius:14px;height:44px;padding:0 14px;font-size:14px}.btn.block{width:100%}.icon-btn{border:1.5px solid var(--line);background:var(--paper);width:46px;height:46px;color:var(--ink);border-radius:15px;flex:none;justify-content:center;align-items:center;display:flex}.chip{border:1.5px solid var(--line2);background:0 0;border-radius:999px;flex:none;height:40px;padding:0 18px;font-size:15px;font-weight:600}.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chips{flex-wrap:nowrap;gap:8px;display:flex;overflow-x:auto}.chips.wrap{flex-wrap:wrap}.field{flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.input{border:1.5px solid var(--line);background:var(--paper);border-radius:14px;width:100%;height:52px;padding:0 14px;font-size:16px;font-weight:400}.input.big{height:68px;font-family:var(--mono);border:2px solid var(--ink);font-size:30px;font-weight:700}textarea.input{resize:vertical;height:auto;padding:12px 14px;line-height:1.4}.search{background:var(--paper);border:1.5px solid var(--line);border-radius:18px;flex:1;align-items:center;gap:10px;height:54px;padding:0 16px;display:flex}.search input{background:0 0;border:0;outline:none;flex:1;min-width:0;height:100%;font-size:16px}.seg{gap:8px;display:grid}.seg>button{border:2px solid var(--line);background:var(--paper);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:52px;font-size:14px;font-weight:700;display:flex}.seg>button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.seg>button small{font-family:var(--mono);opacity:.75;font-size:11px;font-weight:600}.switch{border:0;border-bottom:1.5px dashed var(--line);text-align:left;background:0 0;align-items:center;gap:12px;width:100%;padding:14px 0;display:flex}.switch .track{background:var(--line2);border-radius:999px;flex:none;justify-content:flex-start;align-items:center;width:50px;height:30px;padding:3px;display:flex}.switch[aria-checked=true] .track{background:var(--ink)}.switch .track:after{content:"";background:var(--paper);border-radius:50%;width:24px;height:24px}.card{background:var(--paper);border:1.5px solid var(--line);border-radius:20px;padding:16px}.card.dark{background:var(--ink);color:var(--bg);border-color:var(--ink)}.list{flex-direction:column;gap:8px;display:flex}.item{background:var(--paper);border:1.5px solid var(--line);text-align:left;border-radius:18px;align-items:center;gap:12px;width:100%;padding:13px 15px;display:flex}.pill{font-family:var(--mono);text-align:center;border:1.5px solid var(--line);border-radius:999px;min-width:80px;padding:5px 8px;font-size:12px;font-weight:600}.pill.hot{background:var(--accent);border-color:var(--accent)}.dashed>*+*{border-top:1.5px dashed var(--line)}.kv{justify-content:space-between;padding:12px 0;display:flex}.empty{text-align:center;color:var(--muted);padding:40px 12px;font-size:16px}.bar{background:#e8e2d6;border-radius:999px;flex:1;height:10px;overflow:hidden}.bar>span{background:var(--ink);border-radius:0 4px 4px 0;height:100%;display:block}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.prod{text-align:left;background:var(--paper);border:2px solid var(--line);border-radius:22px;flex-direction:column;justify-content:space-between;height:128px;padding:14px;display:flex;position:relative}.prod.on{border-color:var(--ink)}.prod .name{font-size:16px;font-weight:650;line-height:1.15}.prod .price{font-family:var(--mono);color:var(--muted);font-size:15px;font-weight:600}.prod .tag{font-family:var(--mono);letter-spacing:.06em;color:var(--muted);font-size:10px}.qty{font-family:var(--mono);background:var(--ink);min-width:32px;height:32px;color:var(--bg);border-radius:999px;justify-content:center;align-items:center;padding:0 8px;font-size:14px;font-weight:700;animation:.25s ease-out pop;display:inline-flex}.sale-layout{min-height:100%;display:flex}.sale-layout>.page{flex:1}.side-ticket{display:none}@media (width>=900px){.side-ticket{background:var(--paper);border-left:1.5px solid var(--line);flex-direction:column;flex:none;gap:12px;width:360px;height:100vh;padding:20px;display:flex;position:sticky;top:0}.floating-bar{display:none!important}}.floating-bar{left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom));background:var(--ink);height:66px;color:var(--bg);z-index:5;border:0;border-radius:22px;align-items:center;gap:12px;padding:0 10px 0 12px;animation:.25s ease-out rise;display:flex;position:fixed;box-shadow:0 14px 30px -12px #1a16128c}.lines{border-top:1.5px dashed var(--line2);flex:1;min-height:0;overflow-y:auto}.line{border-bottom:1.5px dashed var(--line2);align-items:center;gap:10px;padding:12px 0;display:flex}.stepper{background:var(--bg);border-radius:14px;align-items:center;gap:4px;padding:3px;display:flex}.stepper button{background:var(--paper);border:0;border-radius:11px;width:36px;height:36px;font-size:18px;font-weight:700}.stepper button+span+button{background:var(--ink);color:var(--bg)}.overlay{z-index:30;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.overlay>.scrim{background:#1a161280;border:0;position:absolute;inset:0}.sheet{max-height:92%;padding:22px 20px calc(22px + env(safe-area-inset-bottom));background:var(--paper);border-radius:28px 28px 0 0;flex-direction:column;gap:14px;width:100%;max-width:560px;margin:0 auto;animation:.25s ease-out rise;display:flex;position:relative;overflow-y:auto}@media (width>=700px){.overlay{justify-content:center;padding:24px}.sheet{border-radius:28px}}.full{z-index:40;padding:20px 16px calc(22px + env(safe-area-inset-bottom));background:var(--bg);flex-direction:column;gap:16px;animation:.25s ease-out rise;display:flex;position:fixed;inset:0;overflow-y:auto}.full>.inner{flex-direction:column;flex:1;gap:16px;width:100%;max-width:560px;margin:0 auto;display:flex}.done{background:var(--accent)}.scanner{color:var(--bg);background:#0f0d0a}.toast{z-index:60;background:var(--ink);color:var(--bg);border-radius:14px;max-width:calc(100% - 32px);padding:12px 18px;font-weight:600;animation:.2s ease-out pop;position:fixed;bottom:100px;left:50%;transform:translate(-50%)}.print-only{display:none}@media print{@page{size:80mm auto;margin:4mm}body{background:#fff}body *{visibility:hidden}.print-only,.print-only *{visibility:visible}.print-only{width:72mm;font-family:var(--mono);color:#000;font-size:11px;display:block;position:absolute;top:0;left:0}}.ticket{flex-direction:column;gap:6px;display:flex}.ticket .sep{border-top:1px dashed #000}.ticket .r{justify-content:space-between;gap:6px;display:flex}.ticket .c{text-align:center}.avisos{top:calc(12px + env(safe-area-inset-top));z-index:70;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;left:12px;right:12px}.aviso{pointer-events:auto;background:var(--paper);width:100%;max-width:380px;color:var(--ink);border:1.5px solid var(--line);border-left:6px solid var(--accent);border-radius:18px;padding:14px 14px 14px 16px;animation:.28s ease-out entra;box-shadow:0 18px 40px -18px #1a16128c}@keyframes entra{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.aviso{animation:none}}:root{--suave:cubic-bezier(.2, .8, .2, 1);--rebote:cubic-bezier(.34, 1.56, .64, 1)}@keyframes aparece{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes funde{0%{opacity:0}to{opacity:1}}@keyframes latido{0%{transform:scale(1)}40%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes sube-hoja{0%{transform:translateY(100%)}to{transform:none}}@keyframes centro{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:none}}@keyframes cambio{0%{opacity:.35;transform:translateY(-4px)}to{opacity:1;transform:none}}.page{animation:aparece .22s var(--suave) backwards}.list>*,.grid>*{animation:aparece .26s var(--suave) backwards}.list>:nth-child(2),.grid>:nth-child(2){animation-delay:25ms}.list>:nth-child(3),.grid>:nth-child(3){animation-delay:50ms}.list>:nth-child(4),.grid>:nth-child(4){animation-delay:75ms}.list>:nth-child(5),.grid>:nth-child(5){animation-delay:.1s}.list>:nth-child(6),.grid>:nth-child(6){animation-delay:.125s}.list>:nth-child(7),.grid>:nth-child(7){animation-delay:.15s}.list>:nth-child(n+8),.grid>:nth-child(n+8){animation-delay:.175s}.btn,.chip,.prod,.item,.icon-btn,.tab,.seg>button,.stepper button,.switch,.floating-bar{transition:transform .14s var(--suave), background-color .18s, color .18s, border-color .18s, box-shadow .18s, opacity .18s}.btn:active:not(:disabled),.chip:active,.icon-btn:active,.seg>button:active,.stepper button:active{transform:scale(.96)}.prod:active,.item:active{transform:scale(.98)}.floating-bar:active{transform:scale(.985)}@media (hover:hover){.prod:hover,.item:hover{border-color:var(--line2)}.btn:hover:not(:disabled){box-shadow:0 8px 18px -12px #1a161280}}.prod.on{animation:latido .28s var(--rebote)}.tab span{transition:background-color .2s, transform .25s var(--rebote)}.tab[aria-current=page] span{transform:scale(1.06)}.switch .track{justify-content:flex-start!important}.switch .track:after{transition:transform .22s var(--rebote)}.switch[aria-checked=true] .track:after{transform:translate(20px)}.switch .track{transition:background-color .2s}.overlay>.scrim{animation:.2s ease-out backwards funde}.sheet{animation:sube-hoja .3s var(--suave) backwards}@media (width>=700px){.sheet{animation:centro .24s var(--suave) backwards}}.full{animation:aparece .24s var(--suave) backwards}.done>.inner>*{animation:aparece .3s var(--suave) backwards}.done>.inner>:nth-child(2){animation-delay:60ms}.done>.inner>:nth-child(3){animation-delay:.11s}.cambia{animation:cambio .22s var(--suave);display:inline-block}.empty{animation:.3s ease-out backwards funde}.card{transition:background-color .2s,border-color .2s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-delay:0s!important}}@page hoja{size:letter;margin:12mm}@media print{.print-only.hoja{page:hoja;width:auto;font-family:sans-serif;position:static}}.sheet>*,.full>*,.full>.inner>*,.page>*,.side-ticket>:not(.lines){flex-shrink:0}
