@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2)format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2)format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff)format("woff")}:root{--background:#f7f9fb;--card:#fff;--foreground:#0f172a;--muted:#f1f5f9;--muted-foreground:#64748b;--border:#e2e8f0;--primary:#22578d;--primary-foreground:#f8fafc;--primary-soft:#e8f0f8;--brand-ink:#071836;--brand-accent:#22578d;--destructive:#dc2626;--destructive-soft:#fef2f2;--success:#16a34a;--success-soft:#f0fdf4;--warning:#b45309;--warning-soft:#fffbeb;--overlay:#07183673;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--font-brand:"Manrope", system-ui, sans-serif;--font-ui:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--background:#030712;--card:#0b1220;--foreground:#f8fafc;--muted:#1e293b;--muted-foreground:#94a3b8;--border:#1e293b;--primary:#5b8fc7;--primary-foreground:#f8fafc;--primary-soft:#13243a;--brand-ink:#f1f5f9;--brand-accent:#8bb4d9;--destructive:#f87171;--destructive-soft:#2a1215;--success:#4ade80;--success-soft:#0f2419;--warning:#fbbf24;--warning-soft:#2a2110;--overlay:#0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--background);color:var(--foreground);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;-webkit-user-select:none;user-select:none;font-size:15px;line-height:1.4}input,textarea{-webkit-user-select:text;user-select:text}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.screen{background:var(--background);flex-direction:column;max-width:640px;height:100%;margin:0 auto;display:flex}.appbar{min-height:calc(56px + var(--safe-top));padding:var(--safe-top) 8px 0;background:var(--card);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:4px;display:flex}.appbar-title{min-width:0;font-family:var(--font-brand);white-space:nowrap;text-overflow:ellipsis;flex:1;padding:0 8px;font-size:18px;font-weight:600;overflow:hidden}.appbar-title.tab{font-size:20px;font-weight:700}.appbar-back{border-radius:var(--radius-md);width:44px;height:44px;color:var(--primary);justify-content:center;align-items:center;display:flex}.appbar-back:active{background:var(--muted)}.content{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.pad{flex-direction:column;gap:16px;padding:16px;display:flex}.pad.tight{gap:12px}.pad.bottom-space{padding-bottom:64px}.tabbar{background:var(--card);border-top:1px solid var(--border);padding-bottom:var(--safe-bottom);flex:none;display:flex}.tab-link{color:var(--muted-foreground);flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0 6px;font-size:11px;font-weight:500;text-decoration:none;display:flex}.tab-link.active{color:var(--primary)}.footer-bar{padding:16px 16px calc(16px + var(--safe-bottom));background:var(--card);border-top:1px solid var(--border);flex:none;align-items:center;gap:12px;display:flex}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px}.card.flush{padding:0}.stack{flex-direction:column;display:flex}.row{align-items:center;gap:8px;display:flex}.between{justify-content:space-between}.grow{flex:1;min-width:0}.muted{color:var(--muted-foreground)}.text-sm{font-size:13px}.text-md{font-size:14px}.w-500{font-weight:500}.w-600{font-weight:600}.w-700{font-weight:700}.ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.text-danger{color:var(--destructive)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-primary{color:var(--primary)}.title{font-family:var(--font-brand);margin:0;font-size:22px;font-weight:700}.btn{border-radius:var(--radius-md);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 16px;font-size:15px;font-weight:600;transition:opacity .1s;display:inline-flex}.btn:active:not(:disabled){opacity:.85}.btn:disabled{opacity:.55;cursor:default}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.btn.secondary{background:var(--card);border-color:var(--border);color:var(--foreground)}.btn.ghost{color:var(--primary);background:0 0}.btn.danger{background:var(--destructive-soft);border-color:var(--destructive-soft);color:var(--destructive)}.btn.small{min-height:36px}.btn.block{width:100%}.spinner{border:2.5px solid;border-right-color:#0000;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--muted-foreground);font-size:13px;font-weight:500}.input{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card);width:100%;min-height:48px;color:var(--foreground);font:inherit;outline:none;padding:0 12px;font-size:16px}.input:focus{border-color:var(--primary)}.input.error{border-color:var(--destructive)}textarea.input{resize:vertical;min-height:80px;padding:12px;font-size:16px}input[type=date].input{appearance:none;align-items:center;line-height:46px;display:flex}select.input{padding-right:8px}.input::placeholder{color:var(--muted-foreground)}.search{border-radius:var(--radius-md);background:var(--muted);width:100%;min-height:44px;color:var(--foreground);font:inherit;border:0;outline:none;padding:0 12px;font-size:16px}.search::placeholder{color:var(--muted-foreground)}.badge{white-space:nowrap;border-radius:999px;flex:none;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.badge.neutral{background:var(--muted);color:var(--muted-foreground)}.badge.primary{background:var(--primary-soft);color:var(--primary)}.badge.success{background:var(--success-soft);color:var(--success)}.badge.warning{background:var(--warning-soft);color:var(--warning)}.badge.danger{background:var(--destructive-soft);color:var(--destructive)}.empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:32px 24px;display:flex}.separator{background:var(--border);height:1px}.list{background:var(--card)}.list-item{text-align:left;align-items:center;gap:12px;width:100%;padding:12px 16px;display:flex}button.list-item:active,.pressable:active{background:var(--muted)}.pressable-card{text-align:left;flex-direction:column;gap:4px;width:100%;display:flex}.pressable-card:active{opacity:.8}.segmented{border-radius:var(--radius-md);background:var(--muted);padding:3px;display:flex}.segment{color:var(--muted-foreground);border-radius:8px;flex:1;padding:8px 0;font-size:14px;font-weight:500}.segment.active{background:var(--card);color:var(--foreground);font-weight:600}.sync-banner{text-align:left;border-radius:var(--radius-md);width:100%;padding:8px 12px;font-size:13px;font-weight:500}.sync-banner.muted{background:var(--muted);color:var(--muted-foreground)}.sync-banner.warning{background:var(--warning-soft);color:var(--warning)}.sync-banner.danger{background:var(--destructive-soft);color:var(--destructive)}.fab{right:max(24px,50% - 296px);bottom:calc(24px + 58px + var(--safe-bottom));background:var(--primary);width:58px;height:58px;color:var(--primary-foreground);border-radius:18px;justify-content:center;align-items:center;display:flex;position:fixed;box-shadow:0 4px 12px #07183640}.fab:active{opacity:.85}.qty-btn{border-radius:var(--radius-md);background:var(--muted);width:38px;height:38px;color:var(--primary);justify-content:center;align-items:center;display:flex}.qty-btn:active{background:var(--primary-soft)}.icon-btn{border-radius:var(--radius-md);padding:8px;display:flex}.icon-btn:active{background:var(--muted)}.dialog-backdrop{z-index:50;background:var(--overlay);justify-content:center;align-items:flex-end;animation:.15s ease-out fade;display:flex;position:fixed;inset:0}.dialog{background:var(--card);width:100%;max-width:640px;max-height:85vh;padding:20px 16px calc(16px + var(--safe-bottom));border-radius:18px 18px 0 0;flex-direction:column;gap:8px;animation:.18s ease-out slide-up;display:flex;overflow-y:auto}.dialog-title{font-family:var(--font-brand);margin:0 4px;font-size:18px;font-weight:700}.dialog-message{color:var(--muted-foreground);margin:0 4px 8px}@keyframes fade{0%{opacity:0}}@keyframes slide-up{0%{opacity:0;transform:translateY(24px)}}.toast{left:50%;bottom:calc(96px + var(--safe-bottom));z-index:60;border-radius:var(--radius-md);background:var(--brand-ink);width:calc(100% - 32px);max-width:480px;color:var(--card);align-items:center;gap:12px;padding:12px 12px 12px 16px;font-size:14px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 6px 20px #0718364d}.toast .btn{background:var(--card);min-height:36px;color:var(--foreground)}.splash{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100%;padding:24px;display:flex}.login{min-height:100%;padding:calc(24px + var(--safe-top)) 24px calc(24px + var(--safe-bottom));flex-direction:column;justify-content:center;gap:32px;max-width:480px;margin:0 auto;display:flex}.install-hint{align-items:center;gap:12px;display:flex}.logo{align-items:center;gap:10px;display:flex}.logo-word{font-family:var(--font-brand);letter-spacing:-.5px;color:var(--brand-ink);font-weight:700}.logo-suffix{letter-spacing:0;color:var(--brand-accent);font-weight:600}.cart{border-radius:var(--radius-md);background:var(--primary-soft);width:44px;height:44px;color:var(--primary);flex:none;justify-content:center;align-items:center;display:flex;position:relative}.cart-count{background:var(--primary);min-width:20px;height:20px;color:var(--primary-foreground);text-align:center;border:2px solid var(--card);box-sizing:content-box;border-radius:999px;padding:0 5px;font-size:11px;font-weight:700;line-height:20px;position:absolute;top:-6px;right:-6px}.in-order{background:var(--primary-soft);color:var(--primary);border-radius:999px;align-self:flex-start;align-items:center;gap:3px;margin-top:2px;padding:1px 8px 1px 6px;font-size:12px;font-weight:600;animation:.3s ease-out pop;display:inline-flex}@keyframes pop{0%{opacity:0;transform:scale(.7)}60%{opacity:1;transform:scale(1.08)}}.fly-x{z-index:70;pointer-events:none;width:0;height:0;position:fixed}.fly-dot{background:var(--primary);width:34px;height:34px;color:var(--primary-foreground);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex;position:absolute;top:-17px;left:-17px;box-shadow:0 4px 12px #0718364d}@media (prefers-reduced-motion:reduce){.in-order{animation:none}}.scanner{z-index:60;color:#fff;background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.scanner-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.scanner-top{padding:calc(env(safe-area-inset-top) + 12px) 16px 0;justify-content:space-between;display:flex;position:relative}.scanner-round{color:#fff;background:#00000073;border:none;border-radius:999px;place-items:center;width:48px;height:48px;display:grid}.scanner-round.on{color:#000;background:#fff}.scanner-frame{border:2px solid #ffffffe6;border-radius:16px;height:34vw;max-height:200px;margin:auto 32px;position:relative;box-shadow:0 0 0 100vmax #00000059}.scanner-bottom{padding:16px 16px calc(env(safe-area-inset-bottom) + 16px);background:linear-gradient(#0000,#000000b3 30%);flex-direction:column;gap:12px;display:flex;position:relative}.scanner-msg{text-align:center;background:#0000008c;border-radius:12px;align-self:center;padding:10px 16px;font-size:15px;line-height:1.35}.scanner-msg.ok{background:#15803d}.scanner-msg.error{background:#b91c1c}.scanner-msg.pop{animation:.25s ease-out scanner-pop}@keyframes scanner-pop{0%{opacity:.4;transform:scale(.9)}}.scan-button{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card);width:48px;height:48px;color:var(--primary);flex:none;place-items:center;display:grid}:root{--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}.btn,.fab,.qty-btn,.icon-btn,.scan-button,.pressable-card,.segment,.tab-link,.appbar-back,.toast-action{transition:transform .12s var(--ease-out), opacity .12s, background-color .15s, color .15s}.btn:active:not(:disabled),.qty-btn:active,.icon-btn:active,.scan-button:active,.appbar-back:active,.toast-action:active{transform:scale(.96)}.pressable-card:active{transform:scale(.985)}.fab{animation:fab-in .35s var(--ease-spring) backwards;transition:transform .15s var(--ease-out)}.fab:active{transform:scale(.9)rotate(90deg)}.has-toast .fab{transform:translateY(-64px)}@keyframes fab-in{0%{opacity:0;transform:scale(.4)rotate(-90deg)}}.screen.stack{animation:screen-in .26s var(--ease-out) both}@keyframes screen-in{0%{opacity:0;transform:translate(28px)}}.tab-body{animation:tab-in .2s var(--ease-out) both}@keyframes tab-in{0%{opacity:0}}.tab-link.active svg{animation:tab-bounce .35s var(--ease-spring)}@keyframes tab-bounce{40%{transform:translateY(-3px)scale(1.12)}}.segmented{position:relative}.segmented:before{content:"";background:var(--card);width:calc(50% - 3px);transition:transform .25s var(--ease-out);border-radius:8px;position:absolute;top:3px;bottom:3px;left:3px;box-shadow:0 1px 3px #07183614}.segmented[data-active="1"]:before{transform:translate(100%)}.segment{z-index:1;position:relative}.segment.active{background:0 0}.rise{animation:rise .28s var(--ease-out) both;animation-delay:calc(min(var(--i,0), 8) * 30ms)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.item-enter{animation:rise .25s var(--ease-out) both}.reveal{animation:reveal .2s var(--ease-out) both}@keyframes reveal{0%{opacity:0;transform:translateY(-6px)}}.value-tick{animation:value-tick .45s var(--ease-out);display:inline-block}@keyframes value-tick{0%{color:var(--primary);transform:translateY(-4px)scale(1.06)}to{transform:none}}.qty-pop{animation:qty-pop .3s var(--ease-spring);display:inline-block}@keyframes qty-pop{0%{opacity:.3;transform:scale(.6)}}.sync-progress{pointer-events:none;height:2px;margin-top:-2px;position:relative;overflow:hidden}.sync-progress:after{content:"";background:var(--primary);border-radius:2px;width:40%;animation:1.1s ease-in-out infinite progress;position:absolute;top:0;bottom:0}@keyframes progress{0%{left:-40%}to{left:100%}}.sync-banner{align-items:center;gap:8px;transition:background-color .3s,color .3s;display:flex}.sync-banner.success{background:var(--success-soft);color:var(--success)}.sync-banner .spin{animation:.9s linear infinite spin;display:flex}.pop-in{animation:pop .35s var(--ease-spring);display:flex}.sync-text{animation:.25s ease-out fade}.dialog-backdrop.closing{animation:.16s ease-in forwards fade-out}.dialog-backdrop.closing .dialog{animation:.16s ease-in forwards slide-down}.dialog{animation:sheet-up .26s var(--ease-out)}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes fade-out{to{opacity:0}}@keyframes slide-down{to{opacity:0;transform:translateY(40%)}}.toaster{left:0;right:0;bottom:calc(88px + var(--safe-bottom));z-index:80;pointer-events:none;flex-direction:column;align-items:center;gap:8px;padding:0 16px;display:flex;position:fixed}.toast-item{pointer-events:auto;border-radius:var(--radius-md);background:var(--brand-ink);width:100%;max-width:480px;min-height:48px;color:var(--card);animation:toast-in .3s var(--ease-spring) both;align-items:center;gap:10px;padding:10px 10px 10px 12px;font-size:14px;font-weight:500;display:flex;box-shadow:0 8px 24px #07183647}.toast-item.leaving{animation:.18s ease-in forwards toast-out}@keyframes toast-in{0%{opacity:0;transform:translateY(24px)scale(.96)}}@keyframes toast-out{to{opacity:0;transform:translateY(12px)scale(.97)}}.toast-icon{color:#fff;width:26px;height:26px;animation:pop .4s 80ms var(--ease-spring) both;border-radius:50%;flex:none;place-items:center;display:grid}.toast-icon.success{background:#16a34a}.toast-icon.info{background:#22578d}.toast-icon.warning{background:#b45309}.toast-icon.danger{background:#dc2626}.toast-action{color:#8bb4d9;border-radius:8px;flex:none;padding:8px 12px;font-weight:700}.toast-action:active{background:#ffffff1a}.skeleton{background:linear-gradient(90deg, var(--muted) 0%, var(--border) 50%, var(--muted) 100%);background-size:200% 100%;border-radius:6px;animation:1.2s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.btn .spinner{animation:.7s linear infinite spin,.15s ease-out fade}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.spinner,.sync-progress:after,.sync-banner .spin{animation-duration:.9s!important;animation-iteration-count:infinite!important}}
