*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#16a34a;--primary-light:#dcfce7;--primary-dark:#15803d;--success:#22c55e;--warning:#f59e0b;--warning-light:#fef9c3;--danger:#ef4444;--danger-light:#fee2e2;--bg:#f8fafc;--card-bg:#fff;--surface:#f1f5f9;--text:#0f172a;--text-secondary:#475569;--muted:#94a3b8;--border:#e2e8f0;--shadow-sm:0 1px 3px rgba(15,23,42,.05),0 1px 2px rgba(15,23,42,.03);--shadow:0 4px 16px rgba(15,23,42,.08),0 2px 6px rgba(15,23,42,.04);--shadow-lg:0 12px 32px rgba(15,23,42,.1),0 4px 12px rgba(15,23,42,.05);--radius:20px;--radius-sm:14px;--radius-xs:10px;--green:#16a34a;--green-light:#dcfce7;--accent:#16a34a;--accent-light:#dcfce7;--blue:#3b82f6;--blue-light:#dbeafe;--red:#ef4444;--red-light:#fee2e2;--gray:#f1f5f9;--white:#fff}.app-header{border-bottom:1px solid var(--border)}.app-header,.app-nav{background:var(--card-bg)}.app-nav{border-top:1px solid var(--border)}[data-theme=dark],[data-theme=light]{color:var(--text)}[data-theme=dark]{--primary:#22c55e;--primary-light:rgba(34,197,94,.14);--primary-dark:#4ade80;--success:#22c55e;--warning:#f59e0b;--warning-light:rgba(245,158,11,.14);--danger:#f87171;--danger-light:hsla(0,91%,71%,.14);--bg:#0f172a;--card-bg:#1e293b;--surface:#283548;--text:#f1f5f9;--text-secondary:#94a3b8;--muted:#64748b;--border:#334155;--shadow-sm:0 1px 3px rgba(0,0,0,.35),0 1px 2px rgba(0,0,0,.25);--shadow:0 4px 16px rgba(0,0,0,.35),0 2px 6px rgba(0,0,0,.2);--shadow-lg:0 12px 32px rgba(0,0,0,.45),0 4px 12px rgba(0,0,0,.25);--green:#22c55e;--green-light:rgba(34,197,94,.14);--accent:#22c55e;--accent-light:rgba(34,197,94,.14);--blue:#60a5fa;--blue-light:rgba(96,165,250,.14);--red:#f87171;--red-light:hsla(0,91%,71%,.14);--gray:#283548;--white:#1e293b}[data-theme=dark] .app-header,[data-theme=dark] .app-nav{background:#1e293b!important;border-color:#334155!important}[data-theme=dark] .sheet-body{background:#1e293b!important}[data-theme=dark] .alert{background:rgba(245,158,11,.1)!important;border-color:rgba(245,158,11,.25)!important;color:#fcd34d!important}[data-theme=dark] .skeleton{background:linear-gradient(90deg,#1e293b 25%,#283548 50%,#1e293b 75%)!important;background-size:200% 100%!important}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;background:var(--bg);color:var(--text);max-width:430px;margin:0 auto;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select{font-family:inherit;font-size:16px}input,select{width:100%;padding:13px 16px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg);color:var(--text);outline:none;transition:border-color .15s ease,box-shadow .15s ease;font-size:15px}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(22,163,74,.1)}input::placeholder{color:var(--muted)}.btn{width:100%;padding:14px 18px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--card-bg);cursor:pointer;font-size:15px;font-weight:600;color:var(--text-secondary);transition:transform .12s cubic-bezier(.34,1.56,.64,1),box-shadow .12s ease-out,opacity .12s;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.97)!important;opacity:.88}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 2px 10px rgba(22,163,74,.28)}.btn-primary:active{box-shadow:0 1px 4px rgba(22,163,74,.18)!important}.btn-success{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 2px 8px rgba(22,163,74,.22)}.btn-sm{padding:8px 14px;font-size:13px;width:auto;border-radius:var(--radius-xs)}.btn-danger{background:var(--danger-light);color:#b91c1c;border-color:transparent}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:12px;box-shadow:var(--shadow-sm)}.stat-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-bottom:14px}.stat-card{background:var(--card-bg);border-radius:var(--radius-sm);padding:16px;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.stat-label{font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:500;letter-spacing:.01em}.stat-value{font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--text)}.section-title{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}.row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.row:last-child{border:none}.gap{gap:10px}.gap,.gap-sm{display:flex;flex-direction:column}.gap-sm{gap:6px}.row-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.badge{font-size:11px;padding:3px 9px;border-radius:99px;font-weight:600}.badge-cash{background:var(--primary-light);color:#15803d}.badge-kaspi{background:var(--blue-light);color:#1d4ed8}.badge-low{background:var(--danger-light);color:#b91c1c}.badge-active{background:var(--primary-light);color:#15803d}.alert{background:#fff7ed;border:1px solid #fed7aa;border-radius:var(--radius-sm);padding:12px 16px;margin-bottom:12px;font-size:13px;color:#92400e;line-height:1.5}.text-red{color:var(--danger)}.text-green{color:var(--primary)}.text-blue{color:var(--blue)}.text-muted{color:var(--muted);font-size:13px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e8edf3 50%,#f1f5f9 75%);background-size:200% 100%;animation:shimmer 1.6s linear infinite;border-radius:var(--radius-xs)}.skeleton-text{height:14px;margin-bottom:8px}.skeleton-value{height:26px;width:60%}@keyframes waveShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.hero-wave{background:linear-gradient(-45deg,#15803d,#16a34a,#22c55e,#166534,#16a34a);background-size:400% 400%;animation:waveShift 10s ease infinite}@keyframes subtlePulse{0%,to{box-shadow:0 0 0 0 rgba(239,68,68,.1),0 2px 8px rgba(0,0,0,.06)}50%{box-shadow:0 0 0 8px rgba(239,68,68,0),0 2px 8px rgba(0,0,0,.06)}}.pulse-danger{animation:subtlePulse 2.4s ease-in-out infinite}@keyframes appOpen{0%{opacity:0;transform:perspective(800px) translateZ(-40px) rotateX(4deg)}to{opacity:1;transform:perspective(800px) translateZ(0) rotateX(0deg)}}@keyframes stagger3dIn{0%{opacity:0;transform:perspective(600px) translateZ(-24px) rotateX(8deg) translateY(10px)}60%{transform:perspective(600px) translateZ(2px) rotateX(-1deg) translateY(-1px)}to{opacity:1;transform:perspective(600px) translateZ(0) rotateX(0deg) translateY(0)}}@keyframes totalFlip{0%{opacity:0;transform:perspective(300px) rotateX(-70deg) scaleY(.6)}60%{transform:perspective(300px) rotateX(6deg) scaleY(1.04)}to{opacity:1;transform:perspective(300px) rotateX(0deg) scaleY(1)}}@keyframes successFlip{0%{opacity:0;transform:perspective(500px) rotateY(-80deg) scale(.9)}65%{transform:perspective(500px) rotateY(6deg) scale(1.02)}to{opacity:1;transform:perspective(500px) rotateY(0deg) scale(1)}}@keyframes cartBounce{0%{transform:perspective(300px) scale(1) translateZ(0)}30%{transform:perspective(300px) scale(1.18) translateZ(10px)}60%{transform:perspective(300px) scale(.95) translateZ(-2px)}80%{transform:perspective(300px) scale(1.06) translateZ(4px)}to{transform:perspective(300px) scale(1) translateZ(0)}}@keyframes bottomSheetIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fabIn{0%{opacity:0;transform:scale(.7) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes pageSlideIn{0%{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}@keyframes shake{0%,to{transform:translateX(0)}15%{transform:translateX(-7px)}35%{transform:translateX(7px)}55%{transform:translateX(-4px)}75%{transform:translateX(4px)}90%{transform:translateX(-2px)}}@keyframes popIn{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes ptrSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes ptrBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.anim-app-open{animation:appOpen .42s cubic-bezier(.22,1,.36,1) both}.anim-slide-up{animation:slideUp .26s cubic-bezier(.22,1,.36,1) both}.anim-fade-in{animation:fadeIn .2s ease-out both}.anim-success{animation:successFlip .36s cubic-bezier(.22,1,.36,1) both}.total-pop{display:inline-block;animation:totalFlip .26s cubic-bezier(.22,1,.36,1) both}.cart-bounce{display:inline-block;animation:cartBounce .36s cubic-bezier(.22,1,.36,1)}.pressable{-webkit-tap-highlight-color:transparent;cursor:pointer;transform-style:preserve-3d;transition:transform .13s cubic-bezier(.34,1.56,.64,1),box-shadow .13s ease-out}.pressable:active{transform:perspective(400px) rotateX(8deg) scale(.96) translateY(2px)!important;box-shadow:0 1px 4px rgba(0,0,0,.1)!important}.sheet-overlay{position:fixed;inset:0;background:rgba(15,23,42,.48);z-index:1000;display:flex;align-items:flex-end;animation:fadeIn .2s ease-out both}.sheet-body{width:100%;background:var(--card-bg);border-radius:24px 24px 0 0;padding:20px 20px 36px;animation:bottomSheetIn .34s cubic-bezier(.22,1,.36,1) both}.sheet-handle{width:36px;height:4px;border-radius:99px;background:var(--border);margin:0 auto 20px}.stagger-list>*{animation:stagger3dIn .3s cubic-bezier(.22,1,.36,1) both}.stagger-list>:first-child{animation-delay:0ms}.stagger-list>:nth-child(2){animation-delay:50ms}.stagger-list>:nth-child(3){animation-delay:.1s}.stagger-list>:nth-child(4){animation-delay:.15s}.stagger-list>:nth-child(5){animation-delay:.2s}.stagger-list>:nth-child(6){animation-delay:.25s}.stagger-list>:nth-child(7){animation-delay:.3s}.stagger-list>:nth-child(8){animation-delay:.35s}.stagger-list>:nth-child(n+9){animation-delay:.39s}.fab{position:fixed;bottom:86px;right:50%;transform:translateX(50%);animation:fabIn .28s cubic-bezier(.34,1.56,.64,1) both;z-index:100;width:auto;max-width:200px;padding:15px 28px;border-radius:99px;border:none;background:var(--primary);color:#fff;font-size:16px;font-weight:700;box-shadow:0 6px 20px rgba(22,163,74,.38),0 2px 6px rgba(22,163,74,.22);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .12s cubic-bezier(.34,1.56,.64,1),box-shadow .12s;display:flex;align-items:center;gap:8px;white-space:nowrap}.fab:active{transform:translateX(50%) scale(.95)!important;box-shadow:0 3px 10px rgba(22,163,74,.28)!important}.anim-page-in{animation:pageSlideIn .2s cubic-bezier(.22,1,.36,1) both}.anim-shake{animation:shake .3s cubic-bezier(.36,.07,.19,.97) both}.anim-pop-in{animation:popIn .18s cubic-bezier(.34,1.56,.64,1) both}.card-pressable{-webkit-tap-highlight-color:transparent;cursor:pointer;transition:transform .12s cubic-bezier(.34,1.56,.64,1),box-shadow .12s ease-out;will-change:transform}.card-pressable:active{transform:scale(.98)!important;box-shadow:0 1px 4px rgba(15,23,42,.06)!important}.ptr-indicator{display:flex;justify-content:center;align-items:center;overflow:hidden;transition:height 80ms ease-out}.ptr-spinner{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--primary-light);border-top-color:var(--primary);animation:ptrSpin .7s linear infinite}.ptr-check{color:var(--primary);font-size:18px;animation:ptrBounce .4s ease both}@keyframes rippleExpand{0%{transform:translate(-50%,-50%) scale(0);opacity:.3}to{transform:translate(-50%,-50%) scale(4);opacity:0}}.ripple-wave{position:absolute;width:80px;height:80px;border-radius:50%;background:rgba(22,163,74,.2);pointer-events:none;animation:rippleExpand .38s cubic-bezier(.22,1,.36,1) forwards}@keyframes successFloat{0%{opacity:0;transform:scale(.78) translateY(18px)}55%{transform:scale(1.05) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes successFadeOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.9) translateY(-10px)}}.anim-success-card-in{animation:successFloat .3s cubic-bezier(.34,1.56,.64,1) both}.anim-success-card-out{animation:successFadeOut .2s ease-in both}@keyframes checkmarkPop{0%{transform:scale(0) rotate(-15deg);opacity:0}55%{transform:scale(1.3) rotate(5deg);opacity:1}to{transform:scale(1) rotate(0deg);opacity:1}}.anim-checkmark{animation:checkmarkPop .38s cubic-bezier(.34,1.56,.64,1) both}@keyframes breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.92)}}.anim-breathe{animation:breathe 2.2s ease-in-out infinite}@keyframes dotGlow{0%,to{box-shadow:0 0 0 0 rgba(239,68,68,.5)}50%{box-shadow:0 0 0 5px rgba(239,68,68,0)}}.low-stock-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--danger);margin-right:5px;vertical-align:middle;animation:dotGlow 2.4s ease-in-out infinite}@keyframes filterIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.filter-in{animation:filterIn .16s cubic-bezier(.22,1,.36,1) both}@keyframes numFlash{0%{color:var(--primary)}to{color:inherit}}.home-stagger>*{animation:slideUp .26s cubic-bezier(.22,1,.36,1) both}.home-stagger>:first-child{animation-delay:0ms}.home-stagger>:nth-child(2){animation-delay:60ms}.home-stagger>:nth-child(3){animation-delay:.12s}.home-stagger>:nth-child(4){animation-delay:.18s}.home-stagger>:nth-child(5){animation-delay:.24s}