:root{--bg:#0b0d17;--bg-2:#11142a;--surface:#ffffff0b;--surface-2:#ffffff13;--surface-solid:#161a33;--border:#ffffff14;--border-strong:#ffffff29;--text:#eef0ff;--text-2:#b7bcdb;--muted:#7d83a8;--primary:#8b5cff;--primary-2:#3b82f6;--grad:linear-gradient(135deg, #8b5cff 0%, #3b82f6 100%);--grad-soft:linear-gradient(135deg, #8b5cff38, #3b82f62e);--success:#2dd4a4;--success-bg:#2dd4a421;--warning:#ffb547;--warning-bg:#ffb54721;--danger:#ff5c7a;--danger-bg:#ff5c7a21;--info:#5cc8ff;--info-bg:#5cc8ff21;--r-sm:10px;--r:16px;--r-lg:22px;--shadow:0 10px 30px -10px #0009;--glow:0 10px 30px -8px #8b5cff8c;--topbar-h:60px;--nav-h:68px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--app-w:480px;color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background:#05060c;font-family:Be Vietnam Pro,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{overscroll-behavior-y:none;min-height:100dvh}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}img,svg{display:block}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}#root{max-width:var(--app-w);background:radial-gradient(120% 60% at 100% 0%, #8b5cff29, transparent 60%), radial-gradient(90% 50% at 0% 10%, #3b82f61f, transparent 60%), var(--bg);min-height:100dvh;box-shadow:0 0 0 1px var(--border), 0 0 80px #0009;margin:0 auto;position:relative;overflow-x:hidden}.page{flex-direction:column;min-height:100dvh;animation:.28s pageIn;display:flex}@keyframes pageIn{0%{opacity:0}to{opacity:1}}.topbar{z-index:20;min-height:calc(var(--topbar-h) + var(--safe-t));padding:var(--safe-t) 12px 0 12px;-webkit-backdrop-filter:blur(18px)saturate(1.4);border-bottom:1px solid var(--border);background:#0b0d17b8;align-items:center;gap:8px;display:flex;position:sticky;top:0}.topbar-title{flex:1;min-width:0;padding-left:4px}.topbar-title h1{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:700;overflow:hidden}.topbar-title p{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:12px;overflow:hidden}.topbar-actions{gap:6px;display:flex}.page-body{flex-direction:column;flex:1;gap:14px;padding:16px 14px 24px;display:flex}.page.has-nav .page-body{padding-bottom:calc(var(--nav-h) + var(--safe-b) + 28px)}.page.has-footer .page-body{padding-bottom:calc(96px + var(--safe-b))}.page-footer{width:100%;max-width:var(--app-w);z-index:25;padding:12px 14px calc(12px + var(--safe-b));background:linear-gradient(#0b0d1700,#0b0d17fa 40%);gap:10px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav{width:100%;max-width:var(--app-w);z-index:30;height:calc(var(--nav-h) + var(--safe-b));padding-bottom:var(--safe-b);-webkit-backdrop-filter:blur(20px)saturate(1.5);border-top:1px solid var(--border);background:#0e1020db;grid-template-columns:repeat(5,1fr);align-items:center;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item{color:var(--muted);flex-direction:column;align-items:center;gap:4px;padding-top:6px;font-size:11px;font-weight:500;transition:color .2s;display:flex;position:relative}.nav-item svg{width:23px;height:23px;transition:transform .25s cubic-bezier(.3,1.6,.6,1)}.nav-item.active{color:var(--text)}.nav-item.active svg{stroke:url(#navgrad);transform:translateY(-2px)}.nav-item.active:before{content:"";background:var(--grad);border-radius:0 0 4px 4px;width:26px;height:3px;position:absolute;top:-1px}.nav-fab{background:var(--grad);color:#fff;width:62px;height:62px;box-shadow:var(--glow), inset 0 1px 0 #ffffff4d;border-radius:22px;justify-self:center;place-items:center;margin-top:-26px;transition:transform .2s;display:grid;position:relative}.nav-fab:active{transform:scale(.92)}.nav-fab svg{width:28px;height:28px}.nav-fab .count{background:var(--danger);color:#fff;border:2px solid var(--bg);border-radius:11px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:700;display:grid;position:absolute;top:-6px;right:-6px}.nav-fab-label{text-align:center;color:var(--text-2);margin-top:4px;font-size:11px;font-weight:600}.btn{white-space:nowrap;background:var(--surface-2);border:1px solid var(--border);-webkit-user-select:none;user-select:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;height:48px;padding:0 18px;font-size:15px;font-weight:600;transition:transform .12s,opacity .2s,background .2s,box-shadow .2s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;pointer-events:none}.btn svg{width:19px;height:19px}.btn-primary{background:var(--grad);color:#fff;box-shadow:var(--glow);border:0}.btn-success{color:#04261b;background:linear-gradient(135deg,#2dd4a4,#10b981);border:0;box-shadow:0 10px 26px -10px #2dd4a4b3}.btn-danger{background:var(--danger-bg);color:var(--danger);border-color:#ff5c7a40}.btn-ghost{background:0 0;border-color:#0000}.btn-block{width:100%}.btn-sm{border-radius:11px;height:36px;padding:0 12px;font-size:13px}.btn-sm svg{width:16px;height:16px}.btn-lg{border-radius:16px;height:54px;font-size:16px}.icon-btn{width:40px;height:40px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-shrink:0;place-items:center;transition:transform .12s,background .2s;display:grid}.icon-btn:active{background:var(--surface-2);transform:scale(.92)}.icon-btn svg{width:20px;height:20px}.icon-btn.sm{border-radius:10px;width:34px;height:34px}.icon-btn.sm svg{width:18px;height:18px}.icon-btn.danger{color:var(--danger)}.fab{z-index:26;right:max(18px, calc(50% - var(--app-w) / 2 + 18px));bottom:calc(var(--nav-h) + var(--safe-b) + 18px);color:#fff;background:var(--grad);width:56px;height:56px;box-shadow:var(--glow);border-radius:18px;place-items:center;transition:transform .15s;display:grid;position:fixed}.fab:active{transform:scale(.9)}.fab svg{width:26px;height:26px}.fab.no-nav{bottom:calc(var(--safe-b) + 20px)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:14px}.card-title{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.card-title h2,.card-title h3{font-size:15px;font-weight:700}.card-title a,.card-title .link{color:var(--primary);font-size:13px;font-weight:600}.section-title{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:4px 4px 0;font-size:13px;font-weight:600}.hero{border-radius:var(--r-lg);background:var(--grad);color:#fff;padding:18px;position:relative;overflow:hidden;box-shadow:0 18px 40px -16px #8b5cffb3}.hero:after{content:"";background:radial-gradient(circle,#ffffff47,#0000 70%);border-radius:50%;width:200px;height:200px;position:absolute;top:-60px;right:-50px}.hero-label{opacity:.85;font-size:13px;font-weight:500}.hero-value{letter-spacing:-.02em;margin:4px 0 14px;font-size:32px;font-weight:800}.hero-row{z-index:1;gap:10px;display:flex;position:relative}.hero-chip{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff29;border-radius:12px;flex:1;padding:9px 11px}.hero-chip span{opacity:.85;font-size:11px;display:block}.hero-chip b{font-size:15px;font-weight:700}.stats{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);flex-direction:column;gap:6px;padding:13px;display:flex}.stat-icon{border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.stat-icon svg{width:18px;height:18px}.stat-label{color:var(--muted);font-size:12px;font-weight:500}.stat-value{letter-spacing:-.01em;font-size:18px;font-weight:700}.tone-primary{background:var(--grad-soft);color:#b9a4ff}.tone-success{background:var(--success-bg);color:var(--success)}.tone-warning{background:var(--warning-bg);color:var(--warning)}.tone-danger{background:var(--danger-bg);color:var(--danger)}.tone-info{background:var(--info-bg);color:var(--info)}.quick{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.quick-item{border-radius:var(--r);background:var(--surface);border:1px solid var(--border);color:var(--text-2);text-align:center;flex-direction:column;align-items:center;gap:7px;padding:12px 4px;font-size:11.5px;font-weight:600;transition:transform .15s;display:flex}.quick-item:active{transform:scale(.94)}.quick-item .stat-icon{border-radius:13px;width:40px;height:40px}.quick-item .stat-icon svg{width:21px;height:21px}.list{flex-direction:column;gap:8px;display:flex}.list-item{border-radius:var(--r);background:var(--surface);border:1px solid var(--border);text-align:left;align-items:center;gap:12px;width:100%;padding:12px;transition:background .2s,transform .12s;display:flex}.list-item:active{background:var(--surface-2);transform:scale(.985)}.list-item .avatar{border-radius:13px;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:16px;font-weight:700;display:grid}.list-item .avatar svg{width:21px;height:21px}.li-main{flex:1;min-width:0}.li-title{white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:600;overflow:hidden}.li-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:12.5px;overflow:hidden}.li-end{text-align:right;flex-shrink:0}.li-end b{font-size:14.5px;font-weight:700;display:block}.li-end small{color:var(--muted);font-size:12px}.menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.menu-item{text-align:left;align-items:center;gap:12px;width:100%;padding:13px 14px;font-size:15px;font-weight:500;display:flex}.menu-item+.menu-item{border-top:1px solid var(--border)}.menu-item:active{background:var(--surface-2)}.menu-item .stat-icon{width:36px;height:36px}.menu-item>span{flex:1}.menu-item .chev{color:var(--muted);width:18px;height:18px}.kv{justify-content:space-between;align-items:center;gap:12px;padding:9px 0;font-size:14px;display:flex}.kv+.kv{border-top:1px dashed var(--border)}.kv span{color:var(--muted)}.kv b{text-align:right;font-weight:600}.badge{white-space:nowrap;border-radius:7px;align-items:center;gap:4px;height:22px;padding:0 8px;font-size:11.5px;font-weight:600;display:inline-flex}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-muted{background:var(--surface-2);color:var(--text-2)}.badge-primary{background:var(--grad-soft);color:#c4b2ff}.form{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field>label{color:var(--text-2);font-size:13px;font-weight:600}.field .hint{color:var(--muted);font-size:12px}.row{gap:10px;display:flex}.row>*{flex:1;min-width:0}.input,.field input,.field select,.field textarea{border:1px solid var(--border);background:#ffffff0a;border-radius:13px;outline:none;width:100%;height:48px;padding:0 14px;font-size:16px;transition:border-color .2s,box-shadow .2s,background .2s}.field textarea{resize:vertical;height:auto;min-height:80px;padding:12px 14px}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%237d83a8' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:38px}.field select option{background:var(--surface-solid)}.input:focus,.field input:focus,.field select:focus,.field textarea:focus{background:#8b5cff0f;border-color:#8b5cffb3;box-shadow:0 0 0 4px #8b5cff26}.input::placeholder,.field input::placeholder,.field textarea::placeholder{color:#5b6187}.input-group{align-items:center;display:flex;position:relative}.input-group input{padding-right:46px}.input-group .suffix{color:var(--muted);pointer-events:none;font-size:14px;position:absolute;right:14px}.search{background:var(--surface);border:1px solid var(--border);border-radius:14px;align-items:center;gap:8px;height:46px;padding:0 6px 0 14px;transition:border-color .2s,box-shadow .2s;display:flex}.search:focus-within{border-color:#8b5cff99;box-shadow:0 0 0 4px #8b5cff1f}.search>svg{width:19px;height:19px;color:var(--muted);flex-shrink:0}.search input{background:0 0;border:0;outline:none;flex:1;min-width:0;height:100%;font-size:16px}.search input::placeholder{color:#5b6187}.switch{justify-content:space-between;align-items:center;gap:12px;padding:4px 0;display:flex}.switch input{display:none}.switch .track{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;flex-shrink:0;width:48px;height:28px;transition:background .2s;position:relative}.switch .track:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .22s cubic-bezier(.3,1.4,.6,1);position:absolute;top:3px;left:3px}.switch input:checked+.track{background:var(--grad);border-color:#0000}.switch input:checked+.track:after{transform:translate(20px)}.chips{scrollbar-width:none;gap:8px;margin:0 -14px;padding:0 14px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{height:34px;color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:11px;flex-shrink:0;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.chip.active{background:var(--grad);color:#fff;border-color:#0000;box-shadow:0 6px 16px -8px #8b5cffcc}.chip .n{opacity:.8;font-size:11px}.segmented{background:var(--surface);border:1px solid var(--border);border-radius:14px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.segmented button{height:36px;color:var(--muted);border-radius:10px;font-size:13.5px;font-weight:600;transition:all .2s}.segmented button.active{background:var(--surface-2);color:var(--text);box-shadow:0 2px 8px #0000004d, inset 0 0 0 1px var(--border-strong)}.stepper{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;align-items:center;display:inline-flex;overflow:hidden}.stepper button{place-items:center;width:36px;height:36px;transition:background .15s;display:grid}.stepper button:active{background:#ffffff1a}.stepper button svg{width:16px;height:16px}.stepper input{text-align:center;background:0 0;border:0;outline:none;width:46px;height:36px;font-size:15px;font-weight:700}.sheet-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#03040a99;justify-content:center;align-items:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}}.sheet{width:100%;max-width:var(--app-w);border:1px solid var(--border-strong);background:linear-gradient(#191d3a,#12152b);border-bottom:0;border-radius:24px 24px 0 0;flex-direction:column;max-height:88dvh;animation:.32s cubic-bezier(.2,.9,.3,1.1) sheetUp;display:flex;box-shadow:0 -20px 60px #00000080}.sheet-full{height:94dvh;max-height:94dvh}@keyframes sheetUp{0%{transform:translateY(100%)}}.sheet-handle{background:var(--border-strong);border-radius:3px;flex-shrink:0;width:40px;height:5px;margin:8px auto 0}.sheet-head{flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px 10px 18px;display:flex}.sheet-head h2{font-size:17px;font-weight:700}.sheet-body{flex-direction:column;flex:1;gap:12px;padding:4px 16px 16px;display:flex;overflow-y:auto}.sheet-footer{padding:12px 16px calc(12px + var(--safe-b));border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:10px;display:flex}.dialog-backdrop{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#03040aa6;place-items:center;padding:24px;animation:.2s fadeIn;display:grid;position:fixed;inset:0}.dialog{border:1px solid var(--border-strong);text-align:center;background:#191d3a;border-radius:22px;width:100%;max-width:360px;padding:22px 18px 16px;animation:.25s cubic-bezier(.3,1.5,.6,1) pop}@keyframes pop{0%{opacity:0;transform:scale(.88)}}.dialog .stat-icon{border-radius:16px;width:52px;height:52px;margin:0 auto 12px}.dialog .stat-icon svg{width:26px;height:26px}.dialog h3{margin-bottom:6px;font-size:17px;font-weight:700}.dialog p{color:var(--text-2);margin-bottom:18px;font-size:14px;line-height:1.5}.dialog .row .btn{height:46px}.toasts{top:calc(var(--safe-t) + 12px);z-index:300;pointer-events:none;flex-direction:column;gap:8px;width:calc(100% - 28px);max-width:440px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--border-strong);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#191d3af5;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;font-size:14px;font-weight:500;animation:.35s cubic-bezier(.2,1.3,.4,1) toastIn;display:flex}.toast svg{flex-shrink:0;width:20px;height:20px}.toast.success svg{color:var(--success)}.toast.error svg{color:var(--danger)}.toast.error{border-color:#ff5c7a59}@keyframes toastIn{0%{opacity:0;transform:translateY(-20px)scale(.95)}}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:10px;padding:40px 20px;display:flex}.empty .stat-icon{border-radius:20px;width:64px;height:64px}.empty .stat-icon svg{width:30px;height:30px}.empty b{color:var(--text-2);font-size:15px}.empty p{font-size:13px}.loader{place-items:center;padding:40px;display:grid}.spinner{border:3px solid var(--surface-2);border-top-color:var(--primary);border-radius:50%;width:30px;height:30px;animation:.8s linear infinite spin}.btn .spinner{border-width:2px;border-color:#fff #ffffff4d #ffffff4d;width:18px;height:18px}@keyframes spin{to{transform:rotate(360deg)}}.error-box{background:var(--danger-bg);color:var(--danger);border:1px solid #ff5c7a40;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;font-size:14px;display:flex}.error-box svg{flex-shrink:0;width:20px;height:20px}.skeleton{background:linear-gradient(90deg, var(--surface) 25%, var(--surface-2) 50%, var(--surface) 75%);border-radius:var(--r);background-size:200% 100%;animation:1.3s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.bars{align-items:flex-end;gap:8px;height:140px;padding-top:18px;display:flex}.bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;min-width:0;height:100%;display:flex}.bar{background:var(--grad);transform-origin:bottom;border-radius:8px 8px 4px 4px;width:100%;max-width:30px;min-height:4px;animation:.7s cubic-bezier(.2,.9,.3,1) both grow;position:relative}.bar.muted{background:var(--surface-2)}.bar .tip{color:var(--text-2);white-space:nowrap;font-size:10px;font-weight:700;position:absolute;top:-18px;left:50%;transform:translate(-50%)}.bar-col small{color:var(--muted);font-size:10.5px}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.hbar{flex-direction:column;gap:5px;display:flex}.hbar+.hbar{margin-top:12px}.hbar-head{justify-content:space-between;gap:10px;font-size:13px;display:flex}.hbar-head span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hbar-head b{flex-shrink:0;font-weight:600}.hbar-track{background:var(--surface-2);border-radius:4px;height:8px;overflow:hidden}.hbar-fill{background:var(--grad);transform-origin:0;border-radius:4px;height:100%;animation:.8s cubic-bezier(.2,.9,.3,1) both growX}@keyframes growX{0%{transform:scaleX(0)}}.pos-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.pos-card{text-align:left;border-radius:var(--r);background:var(--surface);border:1px solid var(--border);flex-direction:column;justify-content:space-between;gap:2px;min-height:64px;padding:12px;transition:transform .12s,border-color .2s,background .2s;display:flex;position:relative;overflow:hidden}.pos-card:active{transform:scale(.95)}.pos-card.in-cart{background:#8b5cff14;border-color:#8b5cff99}.pos-card.disabled{opacity:.45}.pos-card .name{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13.5px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.pos-card.in-cart .name{padding-right:30px}.pos-card .price{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:15px;font-weight:700}.pos-card .meta{justify-content:space-between;align-items:center;gap:6px;display:flex}.pos-card .stock{color:var(--muted);font-size:11.5px}.pos-card .qty-badge{background:var(--grad);color:#fff;border-radius:12px;place-items:center;min-width:24px;height:24px;padding:0 7px;font-size:12px;font-weight:700;animation:.3s cubic-bezier(.3,1.6,.6,1) pop;display:grid;position:absolute;top:8px;right:8px}.pos-card .initial{border-radius:10px;place-items:center;width:34px;height:34px;font-size:14px;font-weight:800;display:grid}.cart-bar{z-index:40;left:50%;bottom:calc(14px + var(--safe-b));width:calc(100% - 28px);max-width:calc(var(--app-w) - 28px);background:var(--grad);color:#fff;border-radius:20px;align-items:center;gap:12px;height:62px;padding:0 8px 0 16px;animation:.35s cubic-bezier(.2,.9,.3,1.2) cartIn;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 16px 40px -10px #8b5cffcc}@keyframes cartIn{0%{transform:translate(-50%,140%)}to{transform:translate(-50%)}}.cart-bar .pop{animation:.3s cubic-bezier(.3,1.6,.6,1) pop}.cart-bar .cart-icon{position:relative}.cart-bar .cart-icon svg{width:26px;height:26px}.cart-bar .cart-icon .count{min-width:20px;height:20px;color:var(--primary);background:#fff;border-radius:10px;place-items:center;padding:0 5px;font-size:11.5px;font-weight:800;display:grid;position:absolute;top:-8px;right:-10px}.cart-bar .info{flex:1}.cart-bar .info small{opacity:.85;font-size:12px;display:block}.cart-bar .info b{font-size:18px;font-weight:800}.cart-bar .go{color:#fff;background:#fff3;border-radius:14px;align-items:center;gap:6px;height:46px;padding:0 16px;font-weight:700;display:flex}.cart-bar .go svg{width:18px;height:18px}.bump{animation:.35s cubic-bezier(.3,1.6,.6,1) bump}@keyframes bump{50%{transform:translate(-50%)scale(1.04)}}.cart-item{align-items:center;gap:10px;padding:12px 0;display:flex}.cart-item+.cart-item{border-top:1px solid var(--border)}.cart-item .ci-main{flex:1;min-width:0}.cart-item .ci-name{font-size:14px;font-weight:600;line-height:1.3}.cart-item .ci-price{color:var(--muted);align-items:center;gap:4px;margin-top:4px;font-size:12.5px;display:inline-flex}.cart-item .ci-price svg{width:12px;height:12px}.cart-item .ci-total{margin-top:6px;font-size:14px;font-weight:700}.total-box{border-radius:var(--r);background:var(--surface);border:1px solid var(--border);padding:4px 14px}.total-box .kv.big b{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:22px;font-weight:800}.pay-methods{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.pay-method{border:1px solid var(--border);background:var(--surface);height:54px;color:var(--text-2);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.pay-method svg{width:18px;height:18px}.pay-method.active{color:var(--text);background:#8b5cff24;border-color:#8b5cffcc}.quick-cash{flex-wrap:wrap;gap:6px;display:flex}.quick-cash .chip{height:32px;font-size:12.5px}.invoice{color:#111;background:#fff;border-radius:16px;padding:20px 16px;font-size:13px;position:relative}.invoice:after{content:"";background:radial-gradient(circle at 8px 0,#0000 8px,#fff 8.5px) 0 0/16px 16px repeat-x;height:16px;position:absolute;bottom:-8px;left:0;right:0;transform:rotate(180deg)}.invoice h2{text-align:center;text-transform:uppercase;font-size:17px;font-weight:800}.invoice .center{text-align:center}.invoice .muted{color:#666;font-size:12px}.invoice .title{text-align:center;letter-spacing:.05em;margin:12px 0 4px;font-size:15px;font-weight:800}.invoice hr{border:0;border-top:1px dashed #bbb;margin:10px 0}.invoice table{border-collapse:collapse;width:100%}.invoice th{text-align:left;color:#666;border-bottom:1px solid #ddd;padding:4px 0;font-size:11.5px;font-weight:600}.invoice td{vertical-align:top;padding:6px 0}.invoice .r{text-align:right}.invoice .line{justify-content:space-between;padding:3px 0;display:flex}.invoice .line.total{font-size:16px;font-weight:800}.invoice .cancelled-stamp{color:#dc262659;pointer-events:none;border:4px solid #dc262659;border-radius:10px;padding:4px 14px;font-size:34px;font-weight:900;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)rotate(-18deg)}.success-banner{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:18px;display:flex}.success-banner .check{color:#fff;background:linear-gradient(135deg,#2dd4a4,#10b981);border-radius:50%;place-items:center;width:72px;height:72px;animation:.5s cubic-bezier(.3,1.6,.6,1) pop;display:grid;box-shadow:0 14px 34px -10px #2dd4a4cc}.success-banner .check svg{stroke-width:3px;width:38px;height:38px}.success-banner h2{font-size:20px;font-weight:800}.success-banner p{color:var(--text-2);font-size:14px}.login{min-height:100dvh;padding:32px 22px calc(32px + var(--safe-b));flex-direction:column;justify-content:center;gap:28px;display:flex;position:relative;overflow:hidden}.login-orb{filter:blur(60px);opacity:.55;pointer-events:none;border-radius:50%;position:absolute}.login-orb.a{background:#8b5cff;width:260px;height:260px;animation:9s ease-in-out infinite float;top:-60px;right:-80px}.login-orb.b{background:#3b82f6;width:220px;height:220px;animation:11s ease-in-out infinite reverse float;bottom:40px;left:-90px}@keyframes float{50%{transform:translate(20px,30px)scale(1.1)}}.login-brand{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex;position:relative}.login-logo{width:84px;height:84px;box-shadow:var(--glow);border-radius:26px}.login-brand h1{letter-spacing:-.02em;font-size:28px;font-weight:800}.login-brand h1 span{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.login-brand p{color:var(--muted);font-size:14px}.login .card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#161a3399;padding:20px;position:relative}.muted{color:var(--muted)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-primary{color:#b9a4ff}.gradient-text{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.small{font-size:12.5px}.flex{align-items:center;gap:8px;display:flex}.between{justify-content:space-between;align-items:center;gap:8px;display:flex}.grow{flex:1;min-width:0}.mt-8{margin-top:8px}.center{text-align:center}.divider{background:var(--border);height:1px;margin:4px 0}.date-range{grid-template-columns:1fr 1fr;gap:8px;display:grid}.date-range input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;height:42px;font-size:14px}.profile{align-items:center;gap:14px;display:flex}.profile .avatar{background:var(--grad);color:#fff;width:56px;height:56px;box-shadow:var(--glow);border-radius:18px;place-items:center;font-size:22px;font-weight:800;display:grid}.profile b{font-size:17px}.file-input{display:none}.dot{border-radius:50%;width:6px;height:6px;display:inline-block}.wh-select{text-align:left;border-radius:var(--r);background:var(--surface);border:1px solid var(--border);align-items:center;gap:12px;width:100%;padding:11px 14px;transition:border-color .2s,background .2s,transform .15s;display:flex}.wh-select:active{background:var(--surface-2);transform:scale(.985)}.wh-select small{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11.5px;font-weight:600;display:block}.wh-select b{white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:15px;font-weight:700;display:block;overflow:hidden}.wh-select>svg{width:18px;height:18px;color:var(--muted);flex-shrink:0}.wh-select.empty{border-style:dashed;border-color:#8b5cff8c;animation:2s ease-in-out infinite whPulse}.wh-select.empty b{color:#b9a4ff}.wh-hint{color:var(--muted);margin-top:2px;font-size:12px;display:block}@keyframes whPulse{0%,to{box-shadow:0 0 #8b5cff00}50%{box-shadow:0 0 0 4px #8b5cff24}}.list-item.selected{background:#8b5cff1a;border-color:#8b5cff99}.list-item.selected .li-end svg{color:#b9a4ff;width:20px;height:20px}.wh-route{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.wh-route .arrow{background:var(--grad);color:#fff;width:34px;height:34px;box-shadow:var(--glow);border-radius:50%;place-items:center;display:grid}.wh-route .arrow svg{width:17px;height:17px}.wh-route .side{background:var(--surface);border:1px solid var(--border);border-radius:14px;min-width:0;padding:10px 12px}.wh-route .side small{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:600;display:block}.wh-route .side b{white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:14px;display:block;overflow:hidden}.wh-card{position:relative;overflow:hidden}.wh-card:before{content:"";background:var(--grad);opacity:.9;width:4px;position:absolute;inset:0 auto 0 0}.wh-card.inactive{opacity:.55}.wh-card.inactive:before{background:var(--border-strong)}.wh-metrics{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.wh-metrics div{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:8px 10px}.wh-metrics small{color:var(--muted);font-size:11px;display:block}.wh-metrics b{font-size:14.5px;font-weight:700}.wh-stock{align-items:center;gap:12px;padding:11px 0;display:flex}.wh-stock+.wh-stock{border-top:1px dashed var(--border)}.wh-stock .bar-wrap{background:var(--surface-2);border-radius:3px;height:6px;margin-top:6px;overflow:hidden}.wh-stock .bar-wrap span{background:var(--grad);transform-origin:0;border-radius:3px;height:100%;animation:.8s cubic-bezier(.2,.8,.2,1) both grow;display:block}.wh-stock .bar-wrap span.low{background:linear-gradient(90deg,#ffb547,#ff6b8b)}.check-list{flex-direction:column;gap:8px;display:flex}.check-item{background:var(--surface);border:1px solid var(--border);text-align:left;border-radius:13px;align-items:center;gap:12px;padding:11px 13px;transition:all .2s;display:flex}.check-item .box{border:2px solid var(--border-strong);border-radius:7px;flex-shrink:0;place-items:center;width:22px;height:22px;transition:all .2s;display:grid}.check-item .box svg{color:#fff;opacity:0;width:14px;height:14px;transition:opacity .2s}.check-item.on{background:#8b5cff1a;border-color:#8b5cff8c}.check-item.on .box{background:var(--grad);border-color:#0000}.check-item.on .box svg{opacity:1}.pl-item{align-items:flex-start}.pl-item.has-promo{background:linear-gradient(135deg,#ff5c7a12,#8b5cff0d);border-color:#ff5c7a47}.pl-promos{flex-direction:column;gap:6px;margin-top:10px;display:flex}.pl-promo{text-align:left;border-radius:10px;align-items:flex-start;gap:8px;padding:7px 10px;font-size:13px;line-height:1.4;display:flex}.pl-promo.gift{background:var(--danger-bg);color:#ffd0da}.pl-promo.discount{background:var(--warning-bg);color:#ffe2b5}.pl-promo b{color:#fff;font-weight:700}.pl-promo-ic{flex-shrink:0}.date-field{background:var(--surface-2);border:1px solid var(--border-strong);font-variant-numeric:tabular-nums;color:var(--text);border-radius:12px;flex-shrink:0;align-items:center;gap:8px;padding:5px 5px 5px 12px;font-size:15px;font-weight:700;transition:border-color .2s,transform .15s;display:inline-flex}.date-field:hover{border-color:#8b5cff99}.date-field:active{transform:scale(.97)}.date-field-btn{background:var(--grad);color:#fff;width:30px;height:30px;box-shadow:var(--glow);border-radius:9px;place-items:center;display:grid}.dp-wrap{justify-content:center;padding:4px 0 6px;display:flex}.dp-wrap .rdp-root{--rdp-accent-color:var(--primary);--rdp-accent-background-color:#8b5cff2e;--rdp-today-color:#b9a4ff;--rdp-day-height:44px;--rdp-day-width:44px;--rdp-day_button-height:40px;--rdp-day_button-width:40px;--rdp-selected-border:2px solid transparent;--rdp-disabled-opacity:.28;color:var(--text);margin:0;font-family:inherit}.dp-wrap .rdp-month_caption{text-transform:capitalize;font-size:16px;font-weight:700}.dp-wrap .rdp-dropdowns{gap:6px}.dp-wrap .rdp-dropdown_root{background:var(--surface-2);border:1px solid var(--border);text-transform:capitalize;border-radius:10px;padding:4px 8px}.dp-wrap .rdp-dropdown{background:var(--surface-solid);color:var(--text)}.dp-wrap .rdp-chevron{fill:#b9a4ff}.dp-wrap .rdp-button_previous,.dp-wrap .rdp-button_next{border-radius:10px}.dp-wrap .rdp-button_previous:hover,.dp-wrap .rdp-button_next:hover{background:var(--surface-2)}.dp-wrap .rdp-weekday{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:700}.dp-wrap .rdp-day_button{border-radius:12px;font-weight:600;transition:background .15s,transform .12s}.dp-wrap .rdp-day:not(.rdp-disabled) .rdp-day_button:hover{background:var(--surface-2)}.dp-wrap .rdp-day_button:active{transform:scale(.92)}.dp-wrap .rdp-today:not(.rdp-selected) .rdp-day_button{box-shadow:inset 0 0 0 1.5px #8b5cff99}.dp-wrap .rdp-selected{font-size:inherit}.dp-wrap .rdp-selected .rdp-day_button{background:var(--grad);color:#fff;box-shadow:var(--glow)}.dp-wrap .rdp-outside{opacity:.35}@media print{@page{size:80mm auto;margin:4mm}body,#root{box-shadow:none!important;background:#fff!important}body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{width:72mm;position:absolute;top:0;left:0;border-radius:0!important;padding:0!important}.print-area:after{display:none}}.rdp-root{--rdp-accent-color:blue;--rdp-accent-background-color:#f0f0ff;--rdp-day-height:44px;--rdp-day-width:44px;--rdp-day_button-border-radius:100%;--rdp-day_button-border:2px solid transparent;--rdp-day_button-height:42px;--rdp-day_button-width:42px;--rdp-selected-border:2px solid var(--rdp-accent-color);--rdp-disabled-opacity:.5;--rdp-outside-opacity:.75;--rdp-today-color:var(--rdp-accent-color);--rdp-dropdown-gap:.5rem;--rdp-months-gap:2rem;--rdp-nav_button-disabled-opacity:.5;--rdp-nav_button-height:2.25rem;--rdp-nav_button-width:2.25rem;--rdp-nav-height:2.75rem;--rdp-range_middle-background-color:var(--rdp-accent-background-color);--rdp-range_middle-color:inherit;--rdp-range_start-color:white;--rdp-range_start-background:linear-gradient(var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50%);--rdp-range_start-date-background-color:var(--rdp-accent-color);--rdp-range_end-background:linear-gradient(var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50%);--rdp-range_end-color:white;--rdp-range_end-date-background-color:var(--rdp-accent-color);--rdp-week_number-border-radius:100%;--rdp-week_number-border:2px solid transparent;--rdp-week_number-height:var(--rdp-day-height);--rdp-week_number-opacity:.75;--rdp-week_number-width:var(--rdp-day-width);--rdp-weeknumber-text-align:center;--rdp-weekday-opacity:.75;--rdp-weekday-padding:.5rem 0rem;--rdp-weekday-text-align:center;--rdp-gradient-direction:90deg;--rdp-animation_duration:.3s;--rdp-animation_timing:cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction:-90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity:unset}.rdp-root{box-sizing:border-box;position:relative}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{cursor:pointer;font:inherit;color:inherit;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius);background:0 0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;white-space:nowrap;border:0;align-items:center;display:inline-flex;position:relative}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{cursor:pointer;font:inherit;color:inherit;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:relative}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{fill:var(--rdp-accent-color);display:inline-block}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform-origin:50%;transform:rotate(180deg)}.rdp-dropdowns{align-items:center;gap:var(--rdp-dropdown-gap);display:inline-flex;position:relative}.rdp-dropdown{z-index:2;opacity:0;appearance:none;width:100%;cursor:inherit;line-height:inherit;border:none;margin:0;padding:0;position:absolute;inset-block:0;inset-inline-start:0}.rdp-dropdown_root{align-items:center;display:inline-flex;position:relative}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{height:var(--rdp-nav-height);align-content:center;font-size:large;font-weight:700;display:flex}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{inset-inline-start:0;height:var(--rdp-nav-height);display:inline-flex;position:absolute;top:0}.rdp-root[data-nav-layout=around] .rdp-button_next{inset-inline-end:0;height:var(--rdp-nav-height);justify-content:center;display:inline-flex;position:absolute;top:0}.rdp-months{gap:var(--rdp-months-gap);flex-wrap:wrap;max-width:fit-content;display:flex;position:relative}.rdp-month_grid{border-collapse:collapse}.rdp-nav{height:var(--rdp-nav-height);align-items:center;display:flex;position:absolute;inset-block-start:0;inset-inline-end:0}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform);font-size:smaller;font-weight:500}.rdp-week_number{opacity:var(--rdp-week_number-opacity);height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align);font-size:small;font-weight:400}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-size:large;font-weight:700}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}
