:root{color-scheme:light;--bg: #f5f4f3;--bg-accent: #ede9e8;--surface: #ffffff;--surface-veil: rgba(255, 255, 255, .82);--ink: #18181b;--muted: #71717a;--line: #e4e4e7;--line-strong: #d4d4d8;--brand: #FF2D55;--brand-deep: #d60028;--brand-soft: rgba(255, 45, 85, .1);--brand-softer: rgba(255, 45, 85, .05);--brand-ink: #ffffff;--brand-tint-a: #ffe0e8;--brand-tint-b: #fff5f7;--danger: #c0352b;--danger-soft: #fde8e6;--success: #0f7a4d;--success-soft: #e3f5ec;--info: #175cd3;--warn: #b54708;--warn-soft: #fff4e5;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow: 0 12px 28px rgba(0, 0, 0, .1);--shadow-nav: 0 10px 30px rgba(0, 0, 0, .18);--shadow-brand: 0 10px 20px rgba(255, 45, 85, .28);--radius: 20px;--radius-sm: 14px;--gutter: 16px;--nav-h: 84px;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px);--focus-ring: 0 0 0 3px var(--surface), 0 0 0 5px rgba(255, 45, 85, .5);--ease: cubic-bezier(.22, 1, .36, 1);--font: "Inter", "Segoe UI", system-ui, sans-serif;font-family:var(--font);line-height:1.4;font-weight:450;color:var(--ink);background:radial-gradient(1200px 420px at 10% -10%,rgba(255,45,85,.07),transparent 55%),radial-gradient(900px 380px at 100% 0%,rgba(214,0,40,.05),transparent 50%),var(--bg);-webkit-tap-highlight-color:transparent;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-height:100dvh;overscroll-behavior-y:none;background-image:linear-gradient(rgba(0,0,0,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.022) 1px,transparent 1px);background-size:28px 28px}body.sheet-open{overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}::selection{background:var(--brand-soft)}:focus{outline:none}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:12px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.app-shell{min-height:100dvh;padding-bottom:calc(var(--nav-h) + var(--safe-bottom) + 20px)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(16px + var(--safe-top)) 16px 12px;background:linear-gradient(180deg,#f5f4f3f5 40%,#f5f4f3b8);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-header{position:sticky;top:0;z-index:20;padding:calc(10px + var(--safe-top)) 16px 14px;background:linear-gradient(180deg,#f5f4f3f7 30%,#f5f4f3b8);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.app-header-main{padding:12px 14px;border-radius:22px;background:var(--surface-veil);border:1px solid rgba(228,228,231,.9);box-shadow:var(--shadow-sm)}.app-header-eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-deep);margin-bottom:4px}.app-header-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.app-header-title{margin:0;font-size:1.45rem;line-height:1.15;letter-spacing:-.03em;font-weight:800;color:var(--ink)}.app-header-subtitle{margin:4px 0 0;color:var(--muted);font-size:.88rem;font-weight:550}.app-header-actions{display:flex;gap:8px;flex-shrink:0}.header-icon-btn{width:42px;height:42px;border:0;border-radius:14px;background:var(--brand-soft);color:var(--brand-deep);display:grid;place-items:center;padding:0;transition:transform .12s ease,background .12s ease}.header-icon-btn svg{width:18px;height:18px}.header-icon-btn:active{transform:scale(.95)}.header-icon-btn.busy{opacity:.65}.brand{font-size:1.35rem;font-weight:800;letter-spacing:-.03em;color:var(--brand-deep)}.muted{color:var(--muted);font-size:.86rem}.search-wrap{padding:0 16px 12px;position:relative}.search-input{width:100%;border:1px solid transparent;background:var(--surface);border-radius:16px;padding:15px 76px 15px 16px;font-size:1rem;outline:none;box-shadow:var(--shadow-sm);transition:box-shadow .15s ease,border-color .15s ease}.search-input:focus{border-color:#ff2d5566;box-shadow:0 0 0 4px var(--brand-soft)}.search-input:focus-visible{border-color:#ff2d5566;box-shadow:0 0 0 4px var(--brand-soft)}.chip-row{display:flex;gap:8px;overflow-x:auto;padding:0 16px 14px;scrollbar-width:none}.chip-row::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:9px 15px;min-height:40px;white-space:nowrap;font-weight:650;box-shadow:var(--shadow-sm);transition:transform .12s var(--ease),background .15s ease,color .15s ease}.chip:active{transform:scale(.96)}.chip.active{background:#ff2d55;border-color:transparent;color:var(--brand-ink);box-shadow:0 8px 18px #ff2d5547}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 16px 100px}@media(min-width:720px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.product-card{border:0;background:var(--surface);border-radius:var(--radius);padding:0;text-align:left;min-height:148px;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .12s ease,box-shadow .12s ease}.product-card-main{border:0;background:transparent;padding:14px 14px 8px;text-align:left;display:flex;flex-direction:column;gap:10px;flex:1;min-width:0;color:inherit;font:inherit}.product-card-main:active{transform:scale(.98)}.product-card-main:disabled{opacity:.5}.product-edit-btn{border:0;border-top:1px solid var(--line);background:transparent;color:var(--muted);font:inherit;font-size:.78rem;font-weight:700;padding:9px 14px 10px;display:flex;align-items:center;gap:6px;transition:background .15s ease,color .15s ease}.product-edit-btn svg{width:13px;height:13px}.product-edit-btn:active{background:var(--brand-soft);color:var(--brand-deep)}.product-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.product-avatar{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;font-weight:800;color:var(--brand-deep);background:linear-gradient(145deg,var(--brand-tint-a),var(--brand-tint-b));flex:none}.product-thumb{width:40px;height:40px;border-radius:14px;object-fit:cover;background:var(--brand-soft);flex:none}.product-thumb.sm,.product-avatar.sm{width:34px;height:34px;border-radius:11px;font-size:.85rem}.thumb-picker{display:flex;align-items:flex-start;gap:12px}.thumb-preview{width:64px;height:64px;border-radius:16px;object-fit:cover;flex:none;background:var(--brand-soft)}.thumb-preview.empty{display:grid;place-items:center;font-size:1.4rem;font-weight:800;color:var(--brand-deep);background:linear-gradient(145deg,var(--brand-tint-a),var(--brand-tint-b))}.thumb-picker-actions{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.thumb-picker-actions input[type=file]{font-size:.85rem;max-width:100%}.stock-pill{font-size:.7rem;font-weight:700;color:var(--brand-deep);background:var(--brand-soft);border-radius:999px;padding:4px 8px;white-space:nowrap}.stock-pill.danger{color:var(--danger);background:var(--danger-soft)}.product-name{font-weight:700;font-size:.95rem;letter-spacing:-.01em;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-meta{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:8px}.price{font-weight:800;color:var(--ink);letter-spacing:-.02em}.add-hint{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-deep);font-weight:800;font-size:1.05rem}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:0 14px calc(10px + var(--safe-bottom));pointer-events:none}.bottom-nav-inner{pointer-events:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;max-width:480px;margin:0 auto;padding:8px;border-radius:28px;background:#ffffffeb;border:1px solid rgba(234,223,223,.95);box-shadow:var(--shadow-nav);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2)}.bottom-nav-inner--center{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:0;padding:10px 8px 8px;min-height:64px}.nav-side{display:flex;align-items:stretch;gap:2px;min-width:0}.nav-side--left{justify-content:flex-start}.nav-side--right{justify-content:flex-end}.nav-side .nav-btn{flex:1 1 0;max-width:88px}.nav-center-slot{position:relative;width:76px;min-height:52px;display:flex;justify-content:center}.nav-btn{border:0;background:transparent;color:var(--muted);min-height:52px;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 4px;transition:background .15s ease,color .15s ease,transform .12s ease}.nav-btn:active{transform:scale(.96)}.nav-btn.active{color:var(--brand-deep);background:var(--brand-soft)}.nav-icon-wrap{position:relative;width:28px;height:24px;display:grid;place-items:center}.nav-icon{width:22px;height:22px}.nav-icon-lg{width:26px;height:26px}.nav-label{font-size:.68rem;font-weight:700;letter-spacing:.01em}.nav-badge{position:absolute;top:-6px;right:-10px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:.62rem;font-weight:800;display:grid;place-items:center;line-height:1;box-shadow:0 0 0 2px #fff}.nav-center-btn{position:absolute;left:50%;bottom:2px;transform:translate(-50%);border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:2px;padding:0;color:var(--brand-deep);z-index:2}.nav-center-btn-inner{width:58px;height:58px;border-radius:22px;display:grid;place-items:center;color:#fff;background:#ff2d55;box-shadow:0 12px 24px #ff2d5561,0 0 0 5px #fffffff2;transition:transform .15s ease,box-shadow .15s ease;margin-top:-28px}.nav-center-btn:active .nav-center-btn-inner{transform:scale(.94)}.nav-center-btn.active .nav-center-btn-inner{box-shadow:0 14px 28px #ff2d5573,0 0 0 5px #fffffffa,0 0 0 8px #ff2d5529}.nav-center-label{font-size:.68rem;font-weight:800;letter-spacing:.02em;color:var(--brand-deep)}.fab-cart{position:fixed;left:50%;bottom:calc(var(--nav-h) + var(--safe-bottom) + 14px);transform:translate(-50%);z-index:35;border:0;border-radius:999px;background:#ff2d55;color:var(--brand-ink);padding:14px 22px;max-width:calc(100% - 32px);font-weight:800;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 14px 28px #ff2d5561;animation:fab-in .26s var(--ease)}.fab-cart:active{transform:translate(-50%) scale(.97)}@keyframes fab-in{0%{transform:translate(-50%) translateY(12px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.sheet-backdrop{position:fixed;inset:0;border:0;padding:0;background:#1a121275;z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .2s var(--ease)}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:51;max-height:min(88dvh,720px);overflow:auto;overscroll-behavior:contain;background:var(--surface);border-radius:28px 28px 0 0;padding:10px 16px calc(22px + var(--safe-bottom));box-shadow:var(--shadow);animation:sheet-up .28s var(--ease)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-up{0%{transform:translateY(14px);opacity:.6}to{transform:translateY(0);opacity:1}}.sheet-handle{width:42px;height:5px;border-radius:999px;background:var(--line-strong);margin:4px auto 12px}.sheet-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding-bottom:10px;background:var(--surface);border-bottom:1px solid var(--line)}.sheet-title{font-size:1.2rem;font-weight:800;letter-spacing:-.02em;margin:0}.sheet-close{width:34px;height:34px;flex:none;border:0;border-radius:12px;background:var(--bg-accent);color:var(--muted);display:grid;place-items:center;font-size:1.05rem;line-height:1}.sheet-close:active{background:var(--line)}.cart-line{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}.qty-controls{display:inline-flex;align-items:center;gap:8px}.qty-controls button{width:38px;height:38px;border-radius:12px;border:0;background:var(--bg-accent);font-size:1.1rem;font-weight:700;display:grid;place-items:center;transition:transform .12s var(--ease),background .15s ease}.qty-controls button:active{transform:scale(.94)}.qty-value{min-width:28px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums}.qty-remove{margin-left:auto;width:38px;height:38px;border:0;border-radius:12px;background:var(--danger-soft);color:var(--danger);display:grid;place-items:center}.qty-remove svg{width:16px;height:16px}.btn{border:0;border-radius:14px;padding:14px 16px;min-height:48px;font-weight:750;letter-spacing:-.01em;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center;transition:transform .12s var(--ease),box-shadow .15s ease,opacity .15s ease}.btn:active:not(:disabled){transform:scale(.975)}.btn:disabled{opacity:.55;box-shadow:none}.btn-block{width:100%}.btn-primary{background:#ff2d55;color:var(--brand-ink);box-shadow:var(--shadow-brand)}.btn-secondary{background:var(--bg-accent);color:var(--ink)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-ghost{background:transparent;color:var(--brand-deep)}.btn-icon{width:42px;height:42px;border-radius:14px;border:0;background:var(--surface);color:var(--brand-deep);box-shadow:var(--shadow-sm);display:grid;place-items:center;font-weight:800;font-size:1rem;padding:0}.btn-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.btn-row.three{grid-template-columns:repeat(3,1fr)}.totals{display:grid;gap:8px;margin-top:12px;padding:14px;border-radius:16px;background:var(--bg);border:1px solid var(--line);font-variant-numeric:tabular-nums}.totals div{display:flex;justify-content:space-between;gap:12px}.totals div:last-child:not(:only-child){margin-top:4px;padding-top:10px;border-top:1px solid var(--line);font-size:1.05rem}.price,.dash-sales-value,.copy-picker-total{font-variant-numeric:tabular-nums}.field{display:grid;gap:6px;margin-bottom:12px}.field label{font-size:.82rem;color:var(--muted);font-weight:700}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:14px;padding:13px 14px;min-height:48px;background:var(--bg);outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.field input:focus,.field select:focus,.field textarea:focus{background:var(--surface);border-color:#ff2d5573;box-shadow:0 0 0 3px var(--brand-soft)}.field input::placeholder{color:var(--muted);opacity:.75}.field-hint{font-size:.8rem;color:var(--muted);line-height:1.4}.pay-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.pay-chip{border:1px solid var(--line);background:var(--bg);border-radius:14px;padding:12px 8px;min-height:48px;font-weight:750;color:var(--muted);transition:transform .12s var(--ease),background .15s ease,color .15s ease}.pay-chip:active{transform:scale(.97)}.pay-chip.active{background:#ff2d55;border-color:transparent;color:var(--brand-ink);box-shadow:0 8px 16px #ff2d5540}.login-page{min-height:100dvh;display:grid;place-items:center;padding:calc(24px + var(--safe-top)) 24px calc(24px + var(--safe-bottom));background:radial-gradient(circle at 85% 10%,rgba(255,45,85,.2),transparent 35%),linear-gradient(165deg,#fff,#fff5f7 48%,#ff2d55 160%)}.login-card{width:min(420px,100%);background:var(--surface);border-radius:28px;padding:28px 22px;box-shadow:var(--shadow);animation:login-in .35s var(--ease)}@keyframes login-in{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.login-brand{display:flex;align-items:center;gap:14px}.login-logo{flex-shrink:0;border-radius:14px;box-shadow:0 10px 24px #ff2d5540}.login-card h1{margin:0 0 4px;font-size:1.75rem;letter-spacing:-.03em;color:var(--brand-deep)}.login-brand .muted{margin:0}.stack{display:grid;gap:12px;margin-top:18px}.toast-stack{position:fixed;bottom:calc(var(--nav-h) + var(--safe-bottom) + 12px);left:50%;transform:translate(-50%);z-index:80;display:grid;gap:8px;width:min(360px,calc(100% - 32px))}.toast{border:0;border-radius:16px;padding:12px 16px;font-weight:650;font-size:.875rem;letter-spacing:-.01em;text-align:left;line-height:1.4;display:flex;align-items:flex-start;gap:10px;background:#fff;box-shadow:0 4px 24px #0000001a,0 0 0 1px #0000000f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:toast-in .32s cubic-bezier(.16,1,.3,1)}.toast:before{content:"";width:8px;height:8px;border-radius:999px;flex-shrink:0;margin-top:4px}@keyframes toast-in{0%{transform:translateY(12px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.toast.success{color:var(--success);border-left:3px solid var(--success)}.toast.success:before{background:var(--success)}.toast.error{color:var(--danger);border-left:3px solid var(--danger)}.toast.error:before{background:var(--danger)}.toast.info{color:var(--ink);border-left:3px solid #FF2D55}.toast.info:before{background:#ff2d55}.pwa-update{position:fixed;left:12px;right:12px;top:calc(12px + env(safe-area-inset-top,0px));bottom:auto;z-index:60;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-radius:18px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-nav)}.pwa-update-copy{display:grid;gap:2px;min-width:0;flex:1 1 160px}.pwa-update-copy strong{font-size:.95rem;letter-spacing:-.02em;color:var(--ink)}.pwa-update-copy span{font-size:.82rem;color:var(--muted);font-weight:600;line-height:1.35}.pwa-update-actions{display:flex;gap:8px;flex:0 0 auto}.pwa-update-actions .btn{min-height:40px;padding:0 14px;font-size:.86rem}.empty-state{display:grid;justify-items:center;gap:6px;text-align:center;padding:44px 28px;color:var(--muted)}.empty-state-icon{width:56px;height:56px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,var(--brand-tint-a),var(--brand-tint-b));color:var(--brand-deep);margin-bottom:4px}.empty-state-icon svg{width:24px;height:24px}.empty-state-title{font-size:1.02rem;font-weight:800;letter-spacing:-.02em;color:var(--ink)}.empty-state-hint{font-size:.88rem;line-height:1.45;max-width:30ch}.empty-state-action{margin-top:12px}.empty-state.danger .empty-state-icon{background:var(--danger-soft);color:var(--danger)}.skeleton{position:relative;overflow:hidden;background:var(--bg-accent);border-radius:10px}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);animation:skeleton-sweep 1.3s infinite}@keyframes skeleton-sweep{to{transform:translate(100%)}}.skeleton-card{border-radius:var(--radius);min-height:148px;background:var(--surface);box-shadow:var(--shadow-sm);padding:14px;display:grid;gap:10px;align-content:start}.skeleton-row{margin:0 16px 12px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);padding:16px;display:grid;gap:10px}.sheet-loading{display:grid;gap:12px;justify-items:center;padding:8px 0 4px}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px;margin:0 16px 16px;padding:4px;border-radius:16px;background:var(--surface-veil);box-shadow:var(--shadow-sm);border:1px solid var(--line)}.segmented-btn{border:0;background:transparent;color:var(--muted);border-radius:12px;padding:10px 8px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-weight:650;min-width:0;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.segmented-btn:active{background:var(--brand-softer)}.segmented-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.segmented-count{min-width:1.4rem;height:1.4rem;padding:0 6px;border-radius:999px;display:inline-grid;place-items:center;font-size:.72rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;color:var(--brand-deep);background:var(--brand-soft)}.segmented-btn.active{background:#ff2d55;color:var(--brand-ink);box-shadow:0 6px 14px #ff2d5540}.segmented-btn.active .segmented-count{color:var(--brand-deep);background:#ffffffeb}.list-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin:0 16px 12px;box-shadow:var(--shadow-sm)}.list-card h3{margin:0 0 4px;font-size:1.02rem;letter-spacing:-.02em;overflow-wrap:anywhere}.party-suggestion{border:1px solid var(--line);width:100%;text-align:left;background:var(--bg);border-radius:12px;padding:12px 14px;margin-top:6px;min-height:46px;font-weight:600}.party-suggestion:active{background:var(--brand-soft);border-color:#ff2d554d}.topbar-actions{display:flex;gap:8px;align-items:center}.topbar-actions .btn{padding:10px 12px}.scan-btn{position:absolute;right:26px;top:50%;transform:translateY(-50%);border:0;background:var(--brand-soft);color:var(--brand-deep);border-radius:12px;padding:8px 12px;font-weight:800;font-size:.82rem}.offline-banner,.banner-soft{display:flex;align-items:center;gap:9px;margin:0 16px 10px;padding:11px 13px;border-radius:14px;font-size:.88rem;font-weight:700;line-height:1.35}.offline-banner{background:var(--warn-soft);color:var(--warn)}.offline-banner svg{width:17px;height:17px;flex:none}.banner-soft{background:var(--brand-soft);color:var(--brand-deep)}.qr-block{margin-top:16px;display:grid;gap:12px;justify-items:center;text-align:center}.qr-block img{border-radius:18px;box-shadow:var(--shadow-sm);background:#fff;padding:10px}.check-row{display:flex;align-items:center;gap:10px;margin:8px 0 4px;font-weight:700}.receipt{display:grid;gap:4px}.receipt-print-block{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line)}.copy-picker{display:grid;gap:14px}.copy-picker-meta{text-align:center;padding:4px 8px 2px}.copy-picker-total{font-size:1.8rem;font-weight:800;letter-spacing:-.03em;color:var(--brand-deep)}.copy-picker-hint{margin:12px 0 0;color:var(--muted);font-size:.92rem;font-weight:600}.copy-picker-actions{display:grid;gap:10px}.copy-picker-btn{width:100%;min-height:54px;font-size:1.02rem}.copy-picker-btn.done{background:var(--bg-accent);color:var(--ink)}.copy-picker-skip{width:100%}.dash{padding-bottom:24px}.dash-hero{margin:8px 16px 18px;padding:18px 16px 16px;border-radius:28px;background:#18181b;color:#fff;box-shadow:0 20px 50px -16px #0000008c;position:relative;overflow:hidden}.dash-hero-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}.dash-kicker{font-size:.78rem;font-weight:700;opacity:.85;letter-spacing:.04em;text-transform:uppercase}.dash-title{margin:4px 0 2px;font-size:1.55rem;line-height:1.15;letter-spacing:-.03em;font-weight:800}.dash-subtitle{margin:0;opacity:.82;font-size:.92rem}.dash-refresh{background:#ffffff1f;color:#fff;box-shadow:none;border:1px solid rgba(255,255,255,.1)}.dash-sales-card{width:100%;border:0;text-align:left;border-radius:20px;padding:14px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;background:#ffffff14;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08)}.dash-sales-label{font-size:.8rem;font-weight:700;opacity:.85}.dash-sales-value{margin-top:4px;font-size:1.7rem;font-weight:800;letter-spacing:-.03em}.dash-sales-meta{margin-top:4px;font-size:.78rem;opacity:.85}.dash-sales-cta{flex-shrink:0;font-weight:800;background:#ff2d55;color:#fff;border-radius:999px;padding:10px 14px}.dash-section{padding:0 16px 18px}.dash-section-title{font-size:.92rem;font-weight:800;letter-spacing:-.01em;margin:0 0 10px}.dash-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.dash-link{border:0;background:transparent;color:var(--brand-deep);font-weight:800;font-size:.86rem;padding:0}.dash-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dash-action{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:14px;text-align:left;box-shadow:var(--shadow-sm);display:grid;gap:8px;align-content:start;min-height:104px;position:relative;transition:transform .12s var(--ease)}.dash-action:active{transform:scale(.975)}.dash-action.primary{background:linear-gradient(160deg,var(--brand-tint-a),#ffffff);box-shadow:0 10px 22px #ff2d551a}.dash-action-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-deep)}.dash-action-icon svg{width:18px;height:18px}.dash-action-label{font-weight:800;letter-spacing:-.01em}.dash-action-chip{position:absolute;top:12px;right:12px;font-size:.68rem;font-weight:800;background:var(--brand-soft);color:var(--brand-deep);border-radius:999px;padding:4px 8px}.dash-action-chip.warn{background:var(--warn-soft);color:var(--warn)}.dash-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dash-stat{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:var(--shadow-sm);min-width:0}.dash-stat-value{font-size:1.45rem;font-weight:800;letter-spacing:-.03em;color:var(--brand-deep);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.dash-stat-label{margin-top:2px;color:var(--muted);font-size:.82rem;font-weight:650}.card-surface{background:var(--surface);border-radius:20px;box-shadow:var(--shadow-sm)}.dash-pace{padding:14px 12px 12px}.dash-pace-bars{height:84px;display:flex;align-items:flex-end;gap:3px}.dash-pace-bar{flex:1;min-width:0;border-radius:999px 999px 4px 4px;background:linear-gradient(180deg,#ff2d5580,#ff2d55);opacity:.9}.dash-pace-labels{margin-top:8px;display:flex;justify-content:space-between;color:var(--muted);font-size:.7rem;font-weight:700}.dash-recent{display:grid;gap:8px}.dash-recent-row{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;box-shadow:var(--shadow-sm);transition:transform .12s var(--ease)}.dash-recent-row:active{transform:scale(.985)}.dash-recent-title{font-weight:800;letter-spacing:-.01em}.more-page{padding-bottom:28px}.more-profile{margin:0 16px 18px;padding:16px;border-radius:24px;background:#18181b;color:#fff;display:flex;gap:14px;align-items:center;box-shadow:0 16px 30px #00000047}.more-avatar{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;font-weight:800;font-size:1.1rem;letter-spacing:.02em;background:#ffffff2e;border:1px solid rgba(255,255,255,.28);flex-shrink:0}.more-profile-text{min-width:0}.more-profile-text h2{margin:0;font-size:1.2rem;letter-spacing:-.02em}.more-profile-text p{margin:2px 0 0;opacity:.86;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.more-tag{font-size:.7rem;font-weight:750;padding:4px 8px;border-radius:999px;background:#ffffff29}.more-section{padding:0 16px 18px}.more-section-title{font-size:.9rem;font-weight:800;margin:0 0 10px;letter-spacing:-.01em}.more-menu{background:var(--surface);border-radius:22px;overflow:hidden;box-shadow:var(--shadow-sm)}.more-row{width:100%;border:0;background:transparent;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;text-align:left;padding:14px;border-bottom:1px solid var(--line)}.more-row:last-child{border-bottom:0}.more-row:active{background:var(--bg)}.more-row:focus-visible{border-radius:0}.more-row-icon{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-deep)}.more-row-icon svg{width:18px;height:18px}.more-row-body{display:grid;gap:2px;min-width:0}.more-row-body strong{font-size:.98rem;letter-spacing:-.01em}.more-row-body span{color:var(--muted);font-size:.82rem}.more-row-chevron{color:var(--muted);font-size:1.35rem;font-weight:500;line-height:1}.more-info-card{background:var(--surface);border-radius:20px;padding:4px 14px;box-shadow:var(--shadow-sm)}.more-info-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.9rem}.more-info-row:last-child{border-bottom:0}.more-info-row span{color:var(--muted);font-weight:650;flex-shrink:0}.more-info-row strong{text-align:right;font-weight:700;overflow-wrap:anywhere}.more-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.more-footnote{margin:10px 2px 0;color:var(--muted);font-size:.82rem;line-height:1.45}.more-footer{padding:4px 16px 0}.more-signout{width:100%}.held-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.held-age{font-size:.72rem;font-weight:800;color:var(--brand-deep);background:var(--brand-soft);border-radius:999px;padding:4px 8px;white-space:nowrap}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;letter-spacing:.01em}.printer-setup{display:grid;gap:14px;padding-bottom:8px}.printer-setup-banner,.printer-setup-hint{margin:0;line-height:1.45;font-size:.9rem}.printer-setup-banner{background:var(--brand-soft);color:var(--brand-deep);border-radius:14px;padding:12px 14px}.printer-setup-current{display:grid;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px}.printer-setup-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px}.printer-setup-current-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.printer-setup-empty{padding:18px 12px}.printer-setup-scan{width:100%}.printer-setup-error{color:var(--danger);background:var(--danger-soft);border-radius:12px;padding:10px 12px;font-size:.88rem;line-height:1.4}.printer-setup-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.printer-setup-device{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;color:inherit}.printer-setup-device span:first-child{display:grid;gap:2px;min-width:0}.printer-setup-device.active{border-color:var(--brand);background:var(--brand-soft)}.printer-setup-pick{font-size:.82rem;font-weight:700;color:var(--brand-deep);flex-shrink:0}.report-page{padding-bottom:28px}.report-section{margin:0 16px 18px}.report-range{margin:4px 16px 18px;padding:12px 14px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.report-range-field{display:flex;flex-direction:column;gap:4px}.report-range-field label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.report-range-field input{border:1px solid var(--line);border-radius:12px;padding:10px;font:inherit;background:var(--surface);min-width:0}.report-methods{padding:6px 14px}.report-method{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.report-method:last-child{border-bottom:0}.report-method-label{font-weight:700}.report-method-count{font-size:.82rem;color:var(--muted)}.report-trend{padding:14px}.report-trend-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.report-trend-bars{display:flex;align-items:flex-end;gap:6px;height:140px}.report-trend-col{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;min-width:20px;height:100%}.report-trend-track{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center}.report-trend-bar{width:70%;min-width:8px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--brand),var(--brand-deep))}.report-trend-label{font-size:.62rem;color:var(--muted);white-space:nowrap}.report-items{padding:6px 14px}.report-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.report-item:last-child{border-bottom:0}.report-item-rank{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;font-size:.8rem;font-weight:800;color:var(--brand-deep);background:var(--brand-soft);flex:none;margin-top:2px}.report-item-body{flex:1;min-width:0}.report-item-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.report-item-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-item-bar-track{height:8px;border-radius:999px;background:var(--brand-soft);margin:8px 0 4px;overflow:hidden}.report-item-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--brand-deep))}.report-item-qty{font-size:.8rem}.report-export-hint{margin:10px 2px 0;font-size:.8rem}
