:root{--paper:#0f1216;--panel:#171b21;--panel-2:#1d222a;--ink:#eef0f2;--ink-2:#a3a9b2;--line:#2a3038;--signal:#ffc400;--on-signal:#0f1216;--ok:#3ecf6e;--bad:#ff6b5b;--font:"Archivo", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--font);margin:0;font-size:15px;line-height:1.5}h1,h2,p,ul{margin:0}ul{padding:0;list-style:none}button,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--signal);outline-offset:2px}.mono{font-family:var(--mono)}.app{grid-template-rows:auto 1fr;min-height:100dvh;display:grid}.chrome{z-index:10}@media (width>=62rem){.chrome{position:sticky;top:0}}.top{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);align-items:center;gap:1rem;padding:.6rem clamp(.75rem,3vw,1.5rem);display:flex}.brand{white-space:nowrap;align-items:center;gap:.5rem;font-weight:800;font-stretch:125%;display:flex}.mark{background:var(--signal);width:.7rem;height:.7rem}.badge{border:1px solid var(--signal);color:var(--signal);font-family:var(--mono);padding:.05rem .4rem;font-size:.7rem;font-weight:500;font-stretch:100%}.tabs{gap:.25rem;margin-inline:auto;display:flex}.tabs button{min-height:2.5rem;color:var(--ink-2);background:0 0;border:1px solid #0000;align-items:center;gap:.4rem;padding:0 .9rem;font-weight:600;display:inline-flex}.tabs button:hover{color:var(--ink)}.tabs [aria-current=page]{border-color:var(--line);background:var(--panel);color:var(--ink)}.count{background:var(--line);min-width:1.3rem;font-family:var(--mono);text-align:center;padding:0 .3rem;font-size:.7rem}.count.warn{background:var(--bad);color:var(--paper)}.back{color:var(--ink-2);font-family:var(--mono);white-space:nowrap;font-size:.78rem;text-decoration:none}.back:hover{color:var(--ink)}.notice{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--signal) 8%, var(--paper));color:var(--ink-2);padding:.5rem clamp(.75rem,3vw,1.5rem);font-size:.82rem}.link{color:var(--signal);text-underline-offset:.2em;background:0 0;border:0;padding:0;text-decoration:underline}.btn{border:1px solid var(--line);background:var(--panel);white-space:nowrap;justify-content:center;align-items:center;gap:.5rem;min-height:2.75rem;padding:0 1rem;font-weight:650;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--ink-2)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--signal);border-color:var(--signal);color:var(--on-signal)}.btn.primary:hover:not(:disabled){background:#ffd54a}.btn.big{width:100%;min-height:3.25rem;font-size:1.05rem}.btn.small{min-height:2rem;font-family:var(--mono);padding:0 .6rem;font-size:.78rem}.empty{color:var(--ink-2);padding:2rem 0}.register{min-height:0;display:grid}@media (width>=62rem){.register{grid-template-columns:minmax(0,1fr) 24rem}}.catalog{min-width:0;padding:1rem clamp(.75rem,3vw,1.5rem) 6rem}@media (width>=62rem){.catalog{padding-bottom:1.5rem}}.scanner{border:1px solid var(--line);background:var(--panel);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem;display:flex}.scanner input{border:1px solid var(--line);background:var(--paper);min-width:0;min-height:2.75rem;font-family:var(--mono);letter-spacing:.04em;flex:12rem;padding:0 .75rem}.laser-icon{background:repeating-linear-gradient(90deg, var(--ink) 0 2px, transparent 2px 4px);width:1.4rem;height:1rem;box-shadow:inset 0 -2px 0 var(--bad);flex:none}.chips{scrollbar-width:none;gap:.4rem;margin:1rem 0;display:flex;overflow-x:auto}.chips button{border:1px solid var(--line);min-height:2.25rem;color:var(--ink-2);font-family:var(--mono);background:0 0;flex:none;padding:0 .8rem;font-size:.8rem}.chips [aria-pressed=true]{background:var(--signal);border-color:var(--signal);color:var(--on-signal)}.grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.6rem;display:grid}.product{border:1px solid var(--line);background:var(--panel);text-align:left;gap:.2rem;width:100%;height:100%;padding:.8rem;transition:border-color .15s,transform .15s;display:grid;position:relative;overflow:hidden}.product:hover{border-color:var(--ink-2)}.product:active{transform:scale(.98)}.product[data-empty]{opacity:.5}.icon{font-size:1.8rem;line-height:1.2}.pname{font-weight:650;line-height:1.25}.price{font-family:var(--mono);font-size:.85rem}.stock{font-family:var(--mono);color:var(--ok);font-size:.72rem}.stock.low{color:var(--signal)}.stock.out{color:var(--bad)}.laser{pointer-events:none;background:linear-gradient(#0000 45%,#ff3c3ce6 50%,#0000 55%) 0 0/100% 200%;animation:.45s ease-out both sweep;position:absolute;inset:0}.laser:after{content:"";border:2px solid var(--ok);animation:.7s ease-out both fade;position:absolute;inset:0}.laser.bad:after{border-color:var(--bad)}@keyframes sweep{0%{background-position:0 100%}to{background-position:0 0}}@keyframes fade{to{opacity:0}}.ticket{border-top:1px solid var(--line);background:var(--panel);grid-template-rows:auto auto 1fr auto;gap:.75rem;padding:1rem clamp(.75rem,3vw,1.5rem);display:grid}@media (width>=62rem){.ticket{top:var(--chrome-h,6rem);height:calc(100dvh - var(--chrome-h,6rem));border-top:0;border-left:1px solid var(--line);position:sticky}}.ticket-head{justify-content:space-between;align-items:baseline;display:flex}.ticket-head h2{font-family:var(--mono);font-size:1rem}.status{border:1px dashed var(--line);color:var(--ink-2);font-family:var(--mono);padding:.5rem .7rem;font-size:.8rem}.status.ok{border-color:var(--ok);color:var(--ok)}.status.bad{border-color:var(--bad);color:var(--bad)}.lines{align-content:start;gap:.4rem;min-height:0;display:grid;overflow-y:auto}.lines li{border:1px solid var(--line);background:var(--paper);grid-template-columns:1fr auto;gap:.2rem .75rem;padding:.55rem .6rem;display:grid}.lines .bump{animation:.5s ease-out bump}@keyframes bump{0%{background:color-mix(in srgb, var(--ok) 25%, var(--paper))}}.lname{grid-column:1/-1;font-weight:600}.qty{font-family:var(--mono);align-items:center;gap:.2rem;display:inline-flex}.qty button{border:1px solid var(--line);background:var(--panel);width:2rem;height:2rem}.qty button:disabled{opacity:.35}.qty span{text-align:center;min-width:2rem}.amount{font-family:var(--mono);text-align:right;align-self:center}.totals{border-top:1px solid var(--line);gap:.4rem;padding-top:.75rem;display:grid}.totals p{color:var(--ink-2);font-family:var(--mono);justify-content:space-between;display:flex}.totals .grand{color:var(--ink);font-size:1.25rem;font-weight:700}.mobile-bar{z-index:5;padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--panel);font-family:var(--mono);justify-content:space-between;align-items:center;gap:1rem;font-size:.85rem;display:flex;position:fixed;inset:auto 0 0}@media (width>=62rem){.mobile-bar{display:none}}.modal{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0009;place-items:center;padding:1rem;animation:.2s both fade-in;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.sheet{border:1px solid var(--line);background:var(--panel);gap:.9rem;width:min(100%,26rem);padding:1.25rem;animation:.25s ease-out both rise;display:grid}.sheet h2{font-size:1.2rem}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.due{font-family:var(--mono);color:var(--ink-2)}.due b{color:var(--ink);font-size:1.5rem}.seg,.quick{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}:is(.seg,.quick) button{border:1px solid var(--line);background:var(--paper);min-height:2.75rem;font-weight:600}:is(.seg,.quick) [aria-pressed=true]{border-color:var(--signal);background:color-mix(in srgb, var(--signal) 15%, var(--paper))}.quick button{font-family:var(--mono);font-size:.82rem}.label{color:var(--ink-2);font-size:.82rem}.change{font-family:var(--mono);color:var(--ink-2)}.change b{color:var(--ok)}.terminal{border:1px dashed var(--line);color:var(--ink-2);text-align:center;padding:1rem}.actions{justify-content:flex-end;gap:.5rem;display:flex}.spinner{border:2px solid #00000040;border-top-color:var(--on-signal);border-radius:50%;width:1rem;height:1rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(1turn)}}.receipt-wrap{gap:.75rem;width:min(100%,20rem);max-height:100%;display:grid}.receipt{color:#1a1a1a;font-family:var(--mono);background:#fbfaf5;padding:1.25rem 1rem 1.5rem;font-size:.8rem;line-height:1.55;animation:.7s cubic-bezier(.16,1,.3,1) both print;overflow-y:auto;box-shadow:0 30px 60px -20px #000;-webkit-mask-image:linear-gradient(#000 calc(100% - 10px),#0000),none;mask-image:linear-gradient(#000 calc(100% - 10px),#0000),none}.receipt hr{border:0;border-top:1px dashed #999;margin:.5rem 0}@keyframes print{0%{clip-path:inset(0 0 100%);transform:translateY(-20px)}to{clip-path:inset(0)}}.r-center{text-align:center}.r-title{letter-spacing:.1em;font-size:1rem;font-weight:700}.r-line{justify-content:space-between;gap:.75rem;display:flex}.r-total{font-size:.95rem;font-weight:700}.r-bars{justify-content:center;height:2.5rem;margin:.75rem 0 .5rem;display:flex}.r-bars i{background:#1a1a1a;display:block}.receipt-wrap .actions{justify-content:stretch}.receipt-wrap .actions .btn{flex:1}@media print{body *{visibility:hidden}#receipt,#receipt *{visibility:visible}#receipt{width:80mm;box-shadow:none;animation:none;position:absolute;inset:0 auto auto 0;-webkit-mask-image:none;mask-image:none}}.page{align-content:start;gap:1rem;padding:1rem clamp(.75rem,3vw,1.5rem) 2rem;display:grid}.kpis{border:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=48rem){.kpis{grid-template-columns:repeat(4,1fr)}}.kpis p{border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink-2);font-family:var(--mono);margin:0 -1px -1px 0;padding:.9rem 1rem;font-size:.78rem;display:grid}.kpis b{color:var(--signal);font-family:var(--font);font-size:1.4rem}.kpis .warn b{color:var(--bad)}.table-wrap{border:1px solid var(--line);overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:40rem}table th,table td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:.6rem .8rem}table th{color:var(--ink-2);font-family:var(--mono);font-size:.72rem;font-weight:500}table .num{text-align:right;font-family:var(--mono)}table .lowrow td:first-child{color:var(--signal)}.tag{background:var(--signal);color:var(--on-signal);font-family:var(--mono);margin-left:.5rem;padding:0 .35rem;font-size:.68rem}.tag.out{background:var(--bad)}.bar{background:var(--line);vertical-align:middle;width:5rem;height:.4rem;margin-right:.6rem;display:inline-block}.bar i{background:var(--ok);height:100%;display:block}.sales{gap:.4rem;display:grid}.sales button{border:1px solid var(--line);background:var(--panel);text-align:left;grid-template-columns:auto 1fr auto;gap:.3rem 1rem;width:100%;padding:.75rem 1rem;display:grid}@media (width>=48rem){.sales button{grid-template-columns:5rem 9rem 6rem 6rem 1fr auto}}.sales button:hover{border-color:var(--ink-2)}.sales .view{color:var(--signal);font-family:var(--mono);font-size:.8rem}@media (width<=40rem){.top{flex-wrap:wrap;gap:.5rem}.tabs{order:3;width:100%;margin:0}.tabs button{flex:1;justify-content:center}.back{margin-left:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.summary{font-family:var(--mono);text-align:left;background:0 0;border:0;padding:.4rem 0}.ticket{padding-bottom:5rem;scroll-margin-top:.5rem}@media (width>=62rem){.ticket{padding-bottom:1rem}}
