
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#0a0f1e;--bg2:#111827;--bg3:#1a2332;--bg4:#232d3f;
  --lime:#c8ff00;--lime-d:#a3d400;--lime-glow:rgba(200,255,0,.15);--lime-soft:rgba(200,255,0,.08);
  --coral:#ff4d4d;--coral-soft:rgba(255,77,77,.1);
  --teal:#0bd6b9;--teal-soft:rgba(11,214,185,.1);
  --w:#fff;--w90:rgba(255,255,255,.9);--w70:rgba(255,255,255,.7);--w50:rgba(255,255,255,.5);--w30:rgba(255,255,255,.3);--w15:rgba(255,255,255,.15);--w08:rgba(255,255,255,.08);--w04:rgba(255,255,255,.04);
  --hd:'Space Grotesk',system-ui,sans-serif;--bd:'Inter',system-ui,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);--bounce:cubic-bezier(.34,1.56,.64,1);--snap:cubic-bezier(.4,0,.2,1);
  --r-pill:100px;--r-card:20px;--r-btn:16px;--r-input:14px;
  --sat:env(safe-area-inset-top);--sab:env(safe-area-inset-bottom);
}
html{height:100%;-webkit-tap-highlight-color:transparent}
body{height:100%;font-family:var(--bd);color:var(--w);background:var(--bg);overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none}
::-webkit-scrollbar{width:0;display:none}
.app{height:100%;display:flex;flex-direction:column;max-width:480px;margin:0 auto;position:relative;overflow:hidden}

/* Tap targets */
button,a,.tap{-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none}
button:active:not(:disabled){transform:scale(.96)}

/* Ripple effect */
.ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.2);transform:scale(0);animation:rippleOut .6s ease-out;pointer-events:none}
@keyframes rippleOut{to{transform:scale(4);opacity:0}}

/* ===== HERO ===== */
.hero{position:absolute;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 1.5rem;transition:opacity .6s var(--ease),transform .6s var(--ease)}
.hero.hide{opacity:0;transform:translateY(-40px);pointer-events:none}
.hero-canvas{position:absolute;inset:0;z-index:0;opacity:.35}
.hero-grad{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,rgba(200,255,0,.05) 0%,transparent 50%),radial-gradient(ellipse at 30% 70%,rgba(11,214,185,.04) 0%,transparent 40%),linear-gradient(180deg,transparent 60%,var(--bg) 100%);z-index:1}
.hero-content{position:relative;z-index:2;max-width:380px}
.hero-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem;background:var(--lime-soft);border:1px solid rgba(200,255,0,.18);border-radius:var(--r-pill);font-family:var(--hd);font-size:.68rem;font-weight:600;color:var(--lime);margin-bottom:1.4rem;animation:fadeUp .7s var(--ease) .2s both}
.hero-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--lime);animation:pulse 2s ease infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.hero h1{font-family:var(--hd);font-size:clamp(2.2rem,7vw,3rem);font-weight:700;line-height:1.05;letter-spacing:-.04em;margin-bottom:.5rem;animation:fadeUp .7s var(--ease) .35s both}
.hero h1 span{color:var(--lime);display:inline-block}
.hero-sub{font-size:1rem;color:var(--w70);line-height:1.5;margin-bottom:1.8rem;animation:fadeUp .7s var(--ease) .5s both}
.hero-sub strong{color:var(--w);font-weight:600}

/* Hero CTA */
.hero-cta{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:.5rem;padding:1.05rem 2rem;background:var(--lime);color:var(--bg);font-family:var(--hd);font-size:1rem;font-weight:700;letter-spacing:-.01em;border:none;border-radius:var(--r-pill);cursor:pointer;transition:all .3s var(--ease);box-shadow:0 0 40px rgba(200,255,0,.2),0 4px 20px rgba(0,0,0,.3);animation:fadeUp .7s var(--ease) .65s both}
.hero-cta:hover{box-shadow:0 0 60px rgba(200,255,0,.3),0 8px 30px rgba(0,0,0,.4)}
.hero-cta:active{transform:scale(.97) !important}
.hero-cta svg{width:18px;height:18px;flex-shrink:0}
.hero-cta-pulse{position:absolute;inset:0;border-radius:var(--r-pill);box-shadow:0 0 0 0 rgba(200,255,0,.4);animation:ctaPulse 3s ease-out 2s infinite}
@keyframes ctaPulse{0%{box-shadow:0 0 0 0 rgba(200,255,0,.4)}70%{box-shadow:0 0 0 15px rgba(200,255,0,0)}100%{box-shadow:0 0 0 0 rgba(200,255,0,0)}}

.hero-trust{margin-top:1rem;font-size:.78rem;color:var(--w30);line-height:1.5;animation:fadeUp .7s var(--ease) .8s both}

/* Trust stats */
.hero-stats{display:flex;align-items:center;justify-content:center;gap:1.2rem;margin-top:1.4rem;animation:fadeUp .7s var(--ease) .95s both}
.hero-stat{text-align:center;padding:0 .4rem}
.hero-stat-v{font-family:var(--hd);font-size:1rem;font-weight:700;color:var(--lime)}
.hero-stat-l{font-size:.6rem;color:var(--w30);margin-top:.05rem;letter-spacing:.02em}
.hero-stat-sep{width:1px;height:24px;background:var(--w08)}

/* Scroll hint */
.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.3rem;animation:fadeUp .7s var(--ease) 1.2s both;z-index:2}
.hero-scroll-line{width:1px;height:24px;background:linear-gradient(180deg,var(--lime),transparent);animation:scrollHint 2s ease infinite}
@keyframes scrollHint{0%,100%{opacity:.3;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}

@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

/* ===== ORDER FLOW ===== */
.flow{position:absolute;inset:0;z-index:90;display:flex;flex-direction:column;background:var(--bg);opacity:0;transform:translateY(30px);pointer-events:none;transition:opacity .45s var(--ease),transform .45s var(--ease)}
.flow.show{opacity:1;transform:translateY(0);pointer-events:all}

.flow-hdr{padding:.65rem 1rem;display:flex;align-items:center;gap:.7rem;border-bottom:1px solid var(--w08);flex-shrink:0;background:var(--bg)}
.flow-back{width:36px;height:36px;border-radius:50%;background:var(--w08);border:none;color:var(--w);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;flex-shrink:0}
.flow-back:hover{background:var(--w15)}
.flow-back svg{width:18px;height:18px}
.flow-title{font-family:var(--hd);font-size:.82rem;font-weight:600;letter-spacing:-.01em;flex:1}
.flow-step-lbl{font-family:var(--hd);font-size:.65rem;font-weight:600;color:var(--lime);white-space:nowrap}

.flow-progress{height:3px;background:var(--w04);flex-shrink:0}
.flow-prog-fill{height:100%;background:var(--lime);border-radius:0 3px 3px 0;transition:width .5s var(--ease);box-shadow:0 0 8px rgba(200,255,0,.3)}

.flow-body{flex:1;overflow-y:auto;padding:1.4rem 1.2rem;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
.step{display:none;animation:stepSlide .35s var(--ease)}
.step.active{display:block}
@keyframes stepSlide{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}
.step-title{font-family:var(--hd);font-size:1.4rem;font-weight:700;letter-spacing:-.03em;margin-bottom:.25rem}
.step-desc{font-size:.82rem;color:var(--w50);margin-bottom:1.4rem;line-height:1.5}

/* Step 1: Bags */
.bag-visual{display:flex;justify-content:center;margin-bottom:.3rem;opacity:.12}
.bag-visual svg{width:100px;height:100px;color:var(--lime)}
.bag-selector{display:flex;align-items:center;justify-content:center;gap:1.8rem;padding:1rem 0}
.bag-btn{width:52px;height:52px;border-radius:50%;background:var(--bg3);border:2px solid var(--w15);color:var(--w);font-family:var(--hd);font-size:1.4rem;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s var(--ease)}
.bag-btn:hover{border-color:var(--lime);color:var(--lime)}
.bag-count{font-family:var(--hd);font-size:3.5rem;font-weight:700;min-width:70px;text-align:center;line-height:1}
.bag-count.bump{animation:bump .3s var(--bounce)}
@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.15)}100%{transform:scale(1)}}
.bag-info{text-align:center;margin-top:.5rem}
.bag-price{font-family:var(--hd);font-size:1.15rem;color:var(--w50)}
.bag-price strong{color:var(--lime);font-weight:700;font-size:1.4rem}
.bag-note{font-size:.7rem;color:var(--w30);margin-top:.4rem}

/* Step 2: Time */
.day-row{display:flex;gap:.45rem;margin-bottom:1.1rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}
.day-chip{min-width:72px;flex-shrink:0;padding:.65rem .4rem;background:var(--bg3);border:2px solid var(--w08);border-radius:var(--r-btn);text-align:center;cursor:pointer;transition:all .2s var(--ease);scroll-snap-align:start}
.day-chip.on{border-color:var(--lime);background:var(--lime-soft)}
.day-lbl{font-family:var(--hd);font-size:.55rem;font-weight:600;color:var(--w50);letter-spacing:.04em;text-transform:uppercase}
.day-chip.on .day-lbl{color:var(--lime)}
.day-num{font-family:var(--hd);font-size:1.15rem;font-weight:700;margin-top:.05rem}
.day-chip.on .day-num{color:var(--lime)}
.time-grid{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}
.time-slot{padding:.8rem .5rem;background:var(--bg3);border:2px solid var(--w08);border-radius:var(--r-btn);text-align:center;cursor:pointer;transition:all .2s var(--ease);font-family:var(--hd);font-size:.78rem;font-weight:600;color:var(--w70);position:relative;overflow:hidden}
.time-slot.on{border-color:var(--lime);color:var(--lime);background:var(--lime-soft);box-shadow:0 0 0 1px var(--lime)}
.time-slot-sub{font-size:.55rem;color:var(--w30);font-weight:500;margin-top:.1rem}
.time-slot.on .time-slot-sub{color:rgba(200,255,0,.5)}

/* Step 3: Checkout */
.form-group{margin-bottom:.9rem}
.form-label{font-family:var(--hd);font-size:.65rem;font-weight:600;color:var(--w50);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.35rem;display:block}
.form-input{width:100%;padding:.8rem .9rem;background:var(--bg3);border:2px solid var(--w08);border-radius:var(--r-input);color:var(--w);font-family:var(--bd);font-size:.88rem;outline:none;transition:all .2s var(--ease)}
.form-input::placeholder{color:var(--w30)}
.form-input:focus{border-color:var(--lime);box-shadow:0 0 0 3px rgba(200,255,0,.06)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}

/* Promo auto-applied */
.promo-bar{display:flex;align-items:center;gap:.5rem;padding:.6rem .85rem;background:linear-gradient(135deg,rgba(200,255,0,.06),rgba(200,255,0,.02));border:1px solid rgba(200,255,0,.15);border-radius:var(--r-btn);margin-bottom:1.1rem}
.promo-ico{font-size:1.1rem}
.promo-txt{flex:1;font-size:.75rem;color:var(--w70)}.promo-txt strong{color:var(--lime);font-weight:600}
.promo-code{font-family:var(--hd);font-weight:700;letter-spacing:.03em}

/* Payment */
.pay-btns{display:flex;flex-direction:column;gap:.45rem;margin-bottom:.8rem}
.pay-btn{padding:.85rem;border-radius:var(--r-btn);border:2px solid var(--w08);background:var(--bg3);color:var(--w);font-family:var(--hd);font-size:.82rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s var(--ease);position:relative;overflow:hidden}
.pay-btn:hover{border-color:var(--w30)}
.pay-btn.apple{background:#fff;color:#000;border-color:#fff}
.pay-btn.apple:hover{opacity:.9}
.pay-btn.google{background:#1a1a2e;border-color:var(--w15)}
.pay-divider{display:flex;align-items:center;gap:.7rem;margin:.7rem 0;color:var(--w30);font-size:.7rem}
.pay-divider::before,.pay-divider::after{content:'';flex:1;height:1px;background:var(--w08)}

/* Order summary */
.order-sum{background:var(--bg3);border:1px solid var(--w08);border-radius:var(--r-card);padding:.9rem;margin-top:1rem}
.sum-row{display:flex;justify-content:space-between;padding:.35rem 0;font-size:.82rem;color:var(--w50)}
.sum-row:not(:last-child){border-bottom:1px solid var(--w04)}
.sum-row strong{color:var(--w);font-weight:600}
.sum-discount{color:var(--lime) !important;font-weight:600 !important}
.sum-total{font-family:var(--hd);font-size:1.25rem;font-weight:700;color:var(--lime)}
.sum-total-row{padding-top:.5rem !important;margin-top:.2rem;border-top:1px solid var(--w15) !important}
.sum-free{font-size:.6rem;color:var(--lime);text-align:center;margin-top:.4rem;font-weight:500}

/* Flow footer */
.flow-footer{padding:.8rem 1rem;border-top:1px solid var(--w08);flex-shrink:0;background:var(--bg);padding-bottom:calc(.8rem + var(--sab,0px))}
.flow-cta{width:100%;padding:.95rem;background:var(--lime);color:var(--bg);font-family:var(--hd);font-size:.92rem;font-weight:700;border:none;border-radius:var(--r-pill);cursor:pointer;transition:all .2s var(--ease);display:flex;align-items:center;justify-content:center;gap:.4rem;position:relative;overflow:hidden;box-shadow:0 0 20px rgba(200,255,0,.15)}
.flow-cta:hover{box-shadow:0 0 30px rgba(200,255,0,.25)}
.flow-cta:active{transform:scale(.97) !important}
.flow-cta:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}
.flow-cta svg{width:18px;height:18px}

/* ===== CONFIRMATION ===== */
.confirm{position:fixed;inset:0;z-index:200;background:var(--bg);display:none;flex-direction:column;align-items:center;justify-content:flex-start;padding:2rem 1.5rem;text-align:center;overflow-y:auto;overscroll-behavior:none}
.confirm.show{display:flex}
.confetti-cv{position:fixed;inset:0;z-index:0;pointer-events:none}
.confirm-inner{position:relative;z-index:1;width:100%;max-width:360px;padding-top:2rem}
.confirm-ring{width:80px;height:80px;border-radius:50%;background:var(--lime-soft);border:3px solid var(--lime);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;animation:confirmPop .5s var(--bounce) .15s both;box-shadow:0 0 30px rgba(200,255,0,.2)}
.confirm-ring svg{width:36px;height:36px;color:var(--lime);stroke-dasharray:50;stroke-dashoffset:50;animation:drawCheck .4s ease .5s forwards}
@keyframes confirmPop{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes drawCheck{to{stroke-dashoffset:0}}
.confirm-h{font-family:var(--hd);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.25rem;animation:fadeUp .4s var(--ease) .3s both}
.confirm-id{display:inline-flex;padding:.25rem .7rem;background:var(--lime-soft);border:1px solid rgba(200,255,0,.2);border-radius:var(--r-pill);font-family:var(--hd);font-size:.7rem;font-weight:600;color:var(--lime);margin:.5rem 0;animation:fadeUp .4s var(--ease) .4s both}
.confirm-p{font-size:.85rem;color:var(--w50);margin-bottom:1rem;line-height:1.5;animation:fadeUp .4s var(--ease) .5s both}
.confirm-dets{background:var(--bg3);border:1px solid var(--w08);border-radius:var(--r-card);padding:.9rem;text-align:left;margin-bottom:1.2rem;animation:fadeUp .4s var(--ease) .55s both}
.confirm-row{display:flex;justify-content:space-between;padding:.3rem 0;font-size:.78rem;color:var(--w50)}
.confirm-row strong{color:var(--w);font-weight:600}
.confirm-btns{display:flex;flex-direction:column;gap:.5rem;animation:fadeUp .4s var(--ease) .65s both}
.confirm-sms{width:100%;padding:.85rem;background:var(--bg3);border:2px solid var(--w15);border-radius:var(--r-pill);color:var(--w);font-family:var(--hd);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s var(--ease);display:flex;align-items:center;justify-content:center;gap:.4rem}
.confirm-sms:hover{border-color:var(--lime);background:var(--lime-soft)}
.confirm-acct{width:100%;padding:.85rem;background:var(--lime);border:none;border-radius:var(--r-pill);color:var(--bg);font-family:var(--hd);font-size:.82rem;font-weight:700;cursor:pointer;transition:all .2s var(--ease);display:flex;align-items:center;justify-content:center;gap:.4rem}
.confirm-acct:hover{box-shadow:0 0 25px rgba(200,255,0,.25)}
.confirm-skip{margin-top:.4rem;background:none;border:none;color:var(--w30);font-size:.72rem;cursor:pointer;text-decoration:underline}

/* ===== MAIN APP ===== */
.main-app{display:none;flex-direction:column;height:100%}
.main-app.show{display:flex}

.app-hdr{padding:.55rem 1rem;display:flex;align-items:center;gap:.55rem;border-bottom:1px solid var(--w08);flex-shrink:0;background:var(--bg);padding-top:calc(.55rem + var(--sat,0px))}
.app-logo{font-family:var(--hd);font-size:.95rem;font-weight:700;letter-spacing:-.02em;flex:1}
.app-logo span{color:var(--lime)}
.hdr-streak{display:inline-flex;align-items:center;gap:.2rem;padding:.2rem .5rem;background:var(--lime-soft);border:1px solid rgba(200,255,0,.12);border-radius:var(--r-pill);font-family:var(--hd);font-size:.6rem;font-weight:700;color:var(--lime)}
.hdr-streak em{font-style:normal;animation:flamePulse 1s ease infinite}
@keyframes flamePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15) rotate(5deg)}}
.hdr-bell{position:relative;width:32px;height:32px;border-radius:50%;background:var(--w04);border:none;color:var(--w);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem;transition:.2s}
.hdr-bell:hover{background:var(--w08)}
.hdr-bell-dot{position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:50%;background:var(--coral);border:2px solid var(--bg)}
.hdr-av{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--lime),var(--teal));display:flex;align-items:center;justify-content:center;font-family:var(--hd);font-size:.55rem;font-weight:700;color:var(--bg)}

.app-body{flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
.screen{display:none;padding:1rem 1rem 2rem;animation:screenIn .25s var(--ease)}
.screen.active{display:block}
@keyframes screenIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

/* Tab bar */
.tab-bar{display:flex;border-top:1px solid var(--w08);background:var(--bg);flex-shrink:0;padding:.3rem .4rem;padding-bottom:calc(.3rem + var(--sab,0px))}
.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.35rem 0;background:none;border:none;color:var(--w30);font-family:var(--hd);font-size:.5rem;font-weight:600;letter-spacing:.03em;cursor:pointer;transition:.2s;border-radius:10px}
.tab svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;transition:.2s}
.tab.on{color:var(--lime);background:var(--lime-soft)}

/* ===== HOME SCREEN ===== */
.home-hero{background:var(--bg2);border:1px solid var(--w08);border-radius:var(--r-card);padding:1.1rem;margin-bottom:.8rem;position:relative;overflow:hidden}
.home-hero::before{content:'';position:absolute;top:-40%;right:-20%;width:150px;height:150px;background:var(--lime);opacity:.04;border-radius:50%;filter:blur(40px)}
.home-greet{font-family:var(--hd);font-size:.6rem;font-weight:600;color:var(--w30);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.1rem}
.home-hl{font-family:var(--hd);font-size:1.35rem;font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-bottom:.3rem}
.home-hl span{color:var(--lime)}
.home-sub{font-size:.72rem;color:var(--w50);margin-bottom:.7rem}
.home-cta{width:100%;padding:.75rem;background:var(--lime);color:var(--bg);font-family:var(--hd);font-size:.78rem;font-weight:700;border:none;border-radius:var(--r-pill);cursor:pointer;transition:all .2s var(--ease);display:flex;align-items:center;justify-content:center;gap:.35rem;position:relative;overflow:hidden}
.home-cta:hover{box-shadow:0 0 20px rgba(200,255,0,.2)}

/* Stats */
.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin-bottom:.8rem}
.stat-card{background:var(--bg2);border:1px solid var(--w08);border-radius:14px;padding:.6rem .4rem;text-align:center;position:relative;overflow:hidden}
.stat-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px}
.stat-card:nth-child(1)::after{background:var(--lime)}
.stat-card:nth-child(2)::after{background:var(--teal)}
.stat-card:nth-child(3)::after{background:#a855f7}
.stat-val{font-family:var(--hd);font-size:1.25rem;font-weight:700}
.stat-card:nth-child(1) .stat-val{color:var(--lime)}
.stat-card:nth-child(2) .stat-val{color:var(--teal)}
.stat-card:nth-child(3) .stat-val{color:#a855f7}
.stat-lbl{font-family:var(--hd);font-size:.4rem;font-weight:600;color:var(--w30);letter-spacing:.1em;text-transform:uppercase;margin-top:.05rem}

/* Reward */
.reward-card{background:linear-gradient(135deg,rgba(168,85,247,.05),rgba(11,214,185,.03));border:1px solid rgba(168,85,247,.12);border-radius:var(--r-card);padding:.85rem;margin-bottom:.8rem;position:relative;overflow:hidden}
.reward-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#a855f7,var(--teal))}
.reward-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}
.reward-tier{font-family:var(--hd);font-size:.7rem;font-weight:700;background:linear-gradient(135deg,#a855f7,var(--teal));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.reward-next{font-size:.6rem;color:var(--w30)}
.reward-bar{height:5px;background:var(--w08);border-radius:3px;overflow:hidden}
.reward-fill{height:100%;background:linear-gradient(90deg,#a855f7,var(--teal));border-radius:3px;transition:width 1.2s var(--ease)}

/* Active order */
.active-order{background:var(--bg2);border:1px solid var(--w08);border-radius:var(--r-card);padding:.9rem;margin-bottom:.8rem}
.ao-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}
.ao-id{font-family:var(--hd);font-size:.7rem;font-weight:700}
.ao-badge{padding:.18rem .45rem;background:var(--lime-soft);border:1px solid rgba(200,255,0,.18);border-radius:var(--r-pill);font-family:var(--hd);font-size:.5rem;font-weight:700;color:var(--lime)}
.ao-desc{font-size:.72rem;color:var(--w50);margin-bottom:.5rem}
.ao-prog{display:flex;gap:.15rem;margin-bottom:.2rem}
.ao-step{flex:1;height:3px;border-radius:3px;background:var(--w08)}
.ao-step.done{background:var(--lime)}
.ao-step.cur{background:var(--lime);animation:progPulse 1.5s ease infinite}
@keyframes progPulse{0%,100%{opacity:1}50%{opacity:.35}}
.ao-labels{display:flex;justify-content:space-between}
.ao-lbl{font-family:var(--hd);font-size:.38rem;font-weight:600;color:var(--w15);text-transform:uppercase;letter-spacing:.03em}
.ao-lbl.done{color:var(--lime)}.ao-lbl.cur{color:var(--lime)}

/* Section titles */
.sec-title{font-family:var(--hd);font-size:.52rem;font-weight:700;color:var(--w30);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.4rem}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:.8rem}
.quick-card{background:var(--bg2);border:1px solid var(--w08);border-radius:14px;padding:.7rem;display:flex;align-items:center;gap:.45rem;cursor:pointer;transition:all .2s var(--ease);position:relative;overflow:hidden}
.quick-card:hover{background:var(--bg3);border-color:var(--w15)}
.quick-ico{font-size:1.2rem}
.quick-txt{font-family:var(--hd);font-size:.65rem;font-weight:600}
.quick-sub{font-size:.52rem;color:var(--w30);margin-top:.02rem}

/* ===== ORDERS ===== */
.oc{background:var(--bg2);border:1px solid var(--w08);border-radius:var(--r-card);padding:.9rem;margin-bottom:.5rem}
.oc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.2rem}
.oc-id{font-family:var(--hd);font-size:.7rem;font-weight:700}
.oc-st{padding:.18rem .4rem;border-radius:var(--r-pill);font-family:var(--hd);font-size:.45rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.oc-st.active{background:var(--lime-soft);border:1px solid rgba(200,255,0,.18);color:var(--lime)}
.oc-st.done{background:rgba(11,214,185,.08);border:1px solid rgba(11,214,185,.15);color:var(--teal)}
.oc-desc{font-size:.72rem;color:var(--w50);margin-bottom:.35rem}
.oc-reorder{width:100%;padding:.5rem;background:var(--w04);border:1px solid var(--w08);border-radius:12px;color:var(--w50);font-family:var(--hd);font-size:.65rem;font-weight:600;cursor:pointer;transition:all .2s var(--ease);display:flex;align-items:center;justify-content:center;gap:.25rem}
.oc-reorder:hover{color:var(--lime);border-color:rgba(200,255,0,.18);background:var(--lime-soft)}

/* ===== PROFILE ===== */
.pf-card{background:var(--bg2);border:1px solid var(--w08);border-radius:var(--r-card);padding:1.3rem;text-align:center;margin-bottom:.8rem}
.pf-av{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--lime),var(--teal));margin:0 auto .5rem;display:flex;align-items:center;justify-content:center;font-family:var(--hd);font-size:1.1rem;font-weight:700;color:var(--bg)}
.pf-name{font-family:var(--hd);font-size:1rem;font-weight:700}
.pf-loc{font-size:.65rem;color:var(--w30);margin-top:.1rem}
.pf-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;margin-top:.7rem}
.pf-st{padding:.4rem;background:var(--bg3);border-radius:10px}
.pf-st-v{font-family:var(--hd);font-size:.9rem;font-weight:700;color:var(--lime)}
.pf-st-l{font-family:var(--hd);font-size:.38rem;font-weight:600;color:var(--w30);letter-spacing:.08em;text-transform:uppercase;margin-top:.05rem}
.pf-menu{background:var(--bg2);border:1px solid var(--w08);border-radius:var(--r-card);overflow:hidden}
.pf-item{padding:.7rem .85rem;display:flex;align-items:center;gap:.5rem;border-bottom:1px solid var(--w04);cursor:pointer;transition:.15s}
.pf-item:last-child{border:none}
.pf-item:hover{background:var(--bg3)}
.pf-item-i{font-size:.9rem}
.pf-item-t{flex:1;font-family:var(--hd);font-size:.68rem;font-weight:600}
.pf-item-a{color:var(--w15);font-size:.7rem}

/* Notif panel */
.notif-panel{display:none;position:absolute;top:46px;right:.5rem;width:290px;background:var(--bg2);border:1px solid var(--w08);border-radius:var(--r-card);z-index:150;box-shadow:0 12px 35px rgba(0,0,0,.5);overflow:hidden}
.notif-panel.open{display:block;animation:fadeUp .2s var(--ease)}
.notif-hdr{padding:.5rem .8rem;font-family:var(--hd);font-size:.55rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--w30);border-bottom:1px solid var(--w08)}
.notif-item{padding:.5rem .8rem;border-bottom:1px solid var(--w04);display:flex;gap:.4rem}
.notif-item:last-child{border:none}
.notif-ico{font-size:.9rem;flex-shrink:0}
.notif-txt{flex:1;font-size:.65rem;color:var(--w50);line-height:1.4}.notif-txt strong{color:var(--w);font-weight:600}
.notif-time{font-size:.48rem;color:var(--w15);flex-shrink:0}

/* Credit */
.credit{text-align:center;padding:.8rem 0 .3rem;font-size:.48rem;color:var(--w08)}
.credit a{color:rgba(11,214,185,.25);text-decoration:none}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}
