:root{--bg-main:#fff;--bg-body:#f8fafc;--bg-card:#fff;--bg-card-hover:#fff;--border-color:#e2e8f0;--border-hover:#cbd5e1;--border-active:#09090b;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--accent:#0f172a;--accent-inverse:#fff;--accent-glow:rgba(15,23,42,.05);--danger:#ef4444;--success:#10b981;--warning:#f59e0b;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--transition:all 0.25s cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box;padding:0;margin:0;font-family:var(--font-family);-webkit-tap-highlight-color:transparent}body{background:var(--bg-body);color:var(--text-primary);justify-content:center;overflow-x:hidden;scroll-behavior:smooth}.app-container,body{min-height:100vh;display:flex}.app-container{width:100%;max-width:480px;background:var(--bg-main);border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);flex-direction:column;position:relative;box-shadow:0 10px 30px rgba(0,0,0,.02)}.content-area{flex:1 1;padding:24px 20px 100px;overflow-y:auto;scroll-behavior:smooth;overscroll-behavior-y:contain}h1{font-size:22px;font-weight:800;letter-spacing:-.03em}h1,h2{color:var(--text-primary)}h2{font-size:16px;font-weight:700;letter-spacing:-.02em}p{font-size:13.5px;color:var(--text-secondary);line-height:1.5}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px;transition:var(--transition);box-shadow:0 2px 4px rgba(0,0,0,.01),0 1px 2px rgba(0,0,0,.01)}.card:hover{transform:translateY(-2px);box-shadow:0 12px 20px -8px rgba(0,0,0,.06),0 4px 6px -2px rgba(0,0,0,.02);border-color:var(--border-hover)}.card-gold{background:linear-gradient(135deg,#1e1b4b,#0f172a);border:1px solid #1e293b;border-radius:var(--radius-md);padding:24px;position:relative;overflow:hidden;box-shadow:0 12px 25px -5px rgba(15,23,42,.25);color:#fff;transition:var(--transition)}.card-gold:hover{transform:translateY(-2px);box-shadow:0 20px 35px -8px rgba(15,23,42,.35)}.card-gold:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 70% 30%,hsla(0,0%,100%,.06) 0,transparent 60%);pointer-events:none}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition);border:1px solid transparent;width:100%;gap:8px}.btn-gold{background:var(--accent);color:var(--accent-inverse);font-weight:700;letter-spacing:-.01em;border:1px solid var(--accent)}.btn-gold:hover{background:#1e293b;border-color:#1e293b}.btn-gold:active{transform:scale(.98)}.btn-gold:disabled{background:#f1f5f9;color:var(--text-muted);border-color:var(--border-color);cursor:not-allowed}.btn-secondary{background:#fff;color:var(--text-primary);border:1px solid var(--border-color);box-shadow:0 1px 2px rgba(0,0,0,.02)}.btn-secondary:hover{background:#f8fafc;border-color:var(--border-hover)}.btn-secondary:active{transform:scale(.98)}.form-group{margin-bottom:20px;display:flex;flex-direction:column;gap:6px}.form-label{font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.form-input{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:12px 14px;font-size:14px;color:var(--text-primary);outline:none;transition:var(--transition)}.form-input:focus{border-color:var(--border-active);background:#fff;box-shadow:0 0 0 3px rgba(15,23,42,.04)}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;height:68px;background:hsla(0,0%,100%,.84);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border-top:1px solid var(--border-color);justify-content:space-around;z-index:100;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav,.nav-item{display:flex;align-items:center}.nav-item{flex-direction:column;gap:3px;color:var(--text-muted);cursor:pointer;transition:color .22s ease,transform .22s ease;font-size:10px;font-weight:600;width:20%;text-align:center;text-decoration:none}.nav-item.active{color:var(--accent);transform:translateY(-1px)}.nav-item svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2.2;transition:var(--transition)}.nav-item.active svg{stroke-width:2.5}.nav-qr-btn{background:var(--accent);color:var(--accent-inverse);width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;transform:translateY(-14px);border:4px solid var(--bg-main);transition:var(--transition);box-shadow:0 12px 24px rgba(15,23,42,.16);cursor:pointer}.nav-qr-btn svg{width:20px;height:20px;stroke:var(--accent-inverse)}.nav-qr-btn:hover{transform:translateY(-16px) scale(1.05);box-shadow:0 6px 15px rgba(0,0,0,.2)}.nav-qr-btn:active{transform:translateY(-14px) scale(.95)}.badge{display:inline-flex;padding:4px 8px;border-radius:6px;font-size:10.5px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.badge-gold{background:rgba(15,23,42,.08);color:var(--text-primary)}.badge-gold,.badge-silver{border:1px solid var(--border-color)}.badge-silver{background:#f8fafc;color:var(--text-secondary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .42s cubic-bezier(.16,1,.3,1) forwards}.page-stack{display:flex;flex-direction:column;gap:24px}.page-loading{color:var(--text-secondary);text-align:center;padding:40px 0}.page-subtitle{margin-top:4px;font-size:13px}.section-kicker{display:block;font-size:10px;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.home-header,.membership-section-header,.profile-card-header,.referral-meta,.section-title-row,.stamp-card-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.home-header h1{margin-top:2px}.membership-status,.quiet-pill{flex:0 0 auto;border:1px solid var(--border-color);background:#fff;color:var(--text-primary);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;letter-spacing:.02em}.membership-section{display:flex;flex-direction:column;margin-left:-20px;margin-right:-20px}.membership-section-header{padding:0 20px}.membership-section-header h2{margin-top:2px;font-size:18px}.membership-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(320px,86%);grid-gap:14px;gap:14px;padding:0 20px 6px;scroll-padding:20px}.campaign-rail::-webkit-scrollbar,.membership-carousel::-webkit-scrollbar{display:none}.membership-card{min-height:232px;border-radius:18px;padding:18px;color:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate;transform:translateZ(0);transition:transform .32s cubic-bezier(.16,1,.3,1),filter .32s ease,box-shadow .32s ease}.membership-card.is-active{box-shadow:0 24px 48px rgba(15,23,42,.18)}.membership-card.is-locked{filter:saturate(.75);opacity:.94}.membership-card:before{content:"";position:absolute;inset:0;z-index:-2}.membership-card:after{content:"";position:absolute;inset:1px;border-radius:17px;border:1px solid hsla(0,0%,100%,.18);pointer-events:none}.tier-bronze:before{background:linear-gradient(150deg,hsla(0,0%,100%,.14),transparent 38%),radial-gradient(circle at 82% 18%,hsla(31,63%,67%,.28),transparent 34%),linear-gradient(135deg,#6f5847,#3d3029 52%,#1f1d1a)}.tier-silver:before{background:linear-gradient(115deg,hsla(0,0%,100%,.38),transparent 24%,hsla(0,0%,100%,.08) 45%,transparent 62%),repeating-linear-gradient(100deg,hsla(0,0%,100%,.045) 0 1px,transparent 1px 5px),linear-gradient(135deg,#eef2f7,#8d99a8 34%,#2f3a49)}.tier-gold:before{background:linear-gradient(125deg,hsla(0,0%,100%,.25),transparent 28%,hsla(0,0%,100%,.08) 48%,transparent 66%),radial-gradient(circle at 78% 16%,rgba(255,230,153,.34),transparent 33%),linear-gradient(135deg,#f3d27a,#b07a24 42%,#4d2a0c)}.tier-platinum:before{background:linear-gradient(125deg,hsla(0,0%,100%,.16),transparent 22%,rgba(118,136,158,.12) 44%,transparent 64%),radial-gradient(circle at 78% 20%,rgba(205,213,224,.18),transparent 34%),linear-gradient(135deg,#161a20,#07080b 48%,#000)}.membership-card-sheen{position:absolute;inset:0;background:linear-gradient(110deg,transparent,hsla(0,0%,100%,.18) 38%,transparent 55%);opacity:.34;transform:translateX(-34%);pointer-events:none}.membership-card-bottom,.membership-card-center,.membership-card-top{display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative;z-index:1}.membership-brand{display:flex;align-items:center;gap:9px}.membership-brand img{width:38px;height:38px;border-radius:9px;border:1.5px solid hsla(0,0%,100%,.4);object-fit:contain;background:hsla(0,0%,100%,.08);padding:2px}.membership-brand span,.membership-card-bottom strong{display:block;color:#fff;font-size:13px;font-weight:800;letter-spacing:.04em}.membership-brand small,.membership-card-bottom small,.membership-perks small,.membership-points small{display:block;color:hsla(0,0%,100%,.68);font-size:9px;font-weight:800;text-transform:uppercase}.membership-tier-badge{display:inline-flex;align-items:center;gap:5px;border:1px solid hsla(0,0%,100%,.22);background:hsla(0,0%,100%,.11);font-size:10px;font-weight:800;letter-spacing:.04em}.tier-lock-icon{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2}.membership-chip{width:42px;height:30px;border-radius:7px;background:linear-gradient(135deg,hsla(0,0%,100%,.85),rgba(181,190,201,.52),hsla(0,0%,100%,.28));border:1px solid hsla(0,0%,100%,.32);position:relative;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.6),0 6px 14px rgba(0,0,0,.18)}.membership-chip span:first-child,.membership-chip span:last-child{position:absolute;background:rgba(15,23,42,.24)}.membership-chip span:first-child{top:50%;left:0;right:0;height:1px}.membership-chip span:last-child{top:0;bottom:0;left:50%;width:1px}.membership-points{text-align:right}.membership-points strong{color:#fff;display:inline-block;font-size:36px;font-weight:900;line-height:.95;letter-spacing:0}.membership-points span{margin-left:5px;color:hsla(0,0%,100%,.74);font-size:11px;font-weight:900}.membership-number{position:relative;z-index:1;color:hsla(0,0%,100%,.9);font-family:Courier New,monospace;font-size:14px;font-weight:700;letter-spacing:2px}.membership-card-bottom{border-top:1px solid hsla(0,0%,100%,.14);padding-top:11px}.membership-card-bottom div:last-child{text-align:right}.membership-perks{margin-top:14px;padding-top:12px;border-top:1px solid hsla(0,0%,100%,.14);display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px;position:relative;z-index:1}.membership-perks span{color:hsla(0,0%,100%,.72);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.membership-perks strong{display:block;margin-top:2px;color:#fff;font-size:13px}.membership-perks ul{list-style:none;display:grid;grid-gap:5px;gap:5px}.membership-perks li{color:hsla(0,0%,100%,.78);font-size:11px;line-height:1.35}.membership-perks li:before{content:"";width:4px;height:4px;border-radius:50%;background:hsla(0,0%,100%,.58);display:inline-block;margin-right:7px;transform:translateY(-2px)}.tier-progress-card{margin:0 20px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:#fff;padding:12px;display:grid;grid-gap:9px;gap:9px}.tier-progress-copy{display:flex;justify-content:space-between;gap:12px;font-size:12px}.tier-progress-copy span{color:var(--text-secondary);font-weight:700}.tier-progress-copy strong{color:var(--text-primary);font-size:12px}.tier-progress-track{height:6px;border-radius:999px;background:#edf0f4;overflow:hidden}.tier-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#15171c,#a58d55);transition:width .8s cubic-bezier(.16,1,.3,1)}.tier-dots{display:flex;justify-content:center;gap:6px}.tier-dots span{width:6px;height:6px;border-radius:999px;background:#dbe1e8}.tier-dots span.is-earned{background:#14171d}.stamp-card{display:grid;grid-gap:14px;gap:14px}.stamp-card-header h2{font-size:15px}.stamp-card-header p{margin-top:2px;font-size:12px}.stamp-card-header>span{border:1px solid var(--border-color);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.stamp-grid{display:grid;grid-template-columns:repeat(10,1fr);grid-gap:6px;gap:6px}.stamp-dot{aspect-ratio:1;border-radius:999px;border:1px dashed #cbd5e1;display:grid;place-items:center;background:#fff;color:var(--text-muted);font-size:9px;font-weight:800}.stamp-dot.is-stamped{border-style:solid;background:#111827;border-color:#111827;color:#fff;box-shadow:0 5px 12px rgba(17,24,39,.16)}.stamp-dot svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2}.campaign-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,72%);grid-gap:12px;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:none}.campaign-card{min-height:116px;scroll-snap-align:start;padding:16px;border-radius:var(--radius-md);border:1px solid #202735;background:linear-gradient(135deg,#121722,#232b39);color:#fff;display:flex;flex-direction:column;justify-content:space-between}.campaign-card span{align-self:flex-start;border:1px solid hsla(0,0%,100%,.16);border-radius:999px;padding:4px 8px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:hsla(0,0%,100%,.76)}.campaign-card strong{margin-top:10px;font-size:14px}.campaign-card p{margin-top:3px;font-size:11px;color:hsla(0,0%,100%,.68)}.quick-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.quick-action{display:grid;grid-gap:10px;gap:10px;padding:16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:#fff;color:var(--text-primary);text-decoration:none;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.quick-action:active{transform:scale(.985)}.quick-icon{width:32px;height:32px;border-radius:8px;background:#f3f5f7;display:grid;place-items:center}.outlet-note svg,.quick-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}.quick-action strong{font-size:14px}.quick-action small{color:var(--text-secondary);font-size:11px}.referral-card{display:grid;grid-gap:12px;gap:12px}.referral-code-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#f8fafc;padding:10px 12px}.referral-code-row strong{font-size:15px;letter-spacing:1px}.profile-card-header button,.referral-code-row button{border:0;background:#111827;color:#fff;border-radius:7px;padding:7px 11px;font-size:12px;font-weight:800;cursor:pointer}.referral-meta{border-top:1px solid var(--border-color);padding-top:10px;font-size:12px}.outlet-note,.referral-meta span{color:var(--text-secondary)}.outlet-note{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border-color);background:#f8fafc;border-radius:var(--radius-sm);padding:10px;font-size:12px}.success-banner{border:1px solid rgba(16,185,129,.22);background:rgba(16,185,129,.08);color:#047857;border-radius:var(--radius-sm);padding:11px 12px;text-align:center;font-size:13px;font-weight:700}.profile-card,.tier-benefits-card{display:grid;grid-gap:16px;gap:16px}.profile-card-header h2,.tier-benefits-card h2{font-size:15px}.profile-form{display:grid;grid-gap:14px;gap:14px}.profile-form .form-group{margin-bottom:0}.profile-info-list{display:grid;grid-gap:12px;gap:12px}.profile-info-list div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--border-color);padding-bottom:9px;font-size:13px}.profile-info-list div:last-child{border-bottom:0;padding-bottom:0}.profile-info-list span{color:var(--text-secondary)}.profile-info-list strong{text-align:right;font-weight:700}.tier-benefit-list{display:grid;grid-gap:9px;gap:9px}.tier-benefit-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:10px;gap:10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:10px 12px}.tier-benefit-row.is-current{border-color:#111827;background:#f8fafc}.tier-benefit-row strong{display:block;font-size:13px}.tier-benefit-row small{color:var(--text-secondary);font-size:11px}.tier-benefit-row em{color:var(--text-primary);font-size:12px;font-style:normal;font-weight:800}.tier-material-dot{width:10px;height:10px;border-radius:999px;display:block}.tier-material-dot.tier-bronze{background:#6f5847}.tier-material-dot.tier-silver{background:#8d99a8}.tier-material-dot.tier-gold{background:#b07a24}.tier-material-dot.tier-platinum{background:#111827}.logout-button{color:var(--danger);border-color:rgba(239,68,68,.2);background:rgba(239,68,68,.05)}@media (max-width:380px){.membership-carousel{grid-auto-columns:minmax(292px,88%)}.membership-card{padding:16px}.membership-points strong{font-size:31px}.stamp-grid{gap:5px}}.membership-card.is-locked:before{filter:grayscale(.72) brightness(.66)}.membership-card.is-locked .membership-card-bottom,.membership-card.is-locked .membership-card-center,.membership-card.is-locked .membership-card-top,.membership-card.is-locked .membership-number,.membership-card.is-locked .membership-perks{opacity:.58}.locked-card-layer{left:14px;top:50%;bottom:auto;transform:translateY(-50%);display:flex;justify-content:center;border:1px solid hsla(0,0%,100%,.2);background:rgba(8,11,16,.58);color:#fff;border-radius:12px;padding:12px 14px;font-size:11px;box-shadow:0 12px 24px rgba(0,0,0,.24)}.stamp-card{background:linear-gradient(180deg,#fff,#fafafa)}.stamp-grid{gap:9px;padding:12px;border:1px solid var(--border-color);border-radius:12px;background:#f8fafc}.stamp-dot{width:30px;max-width:30px;border:1px solid #d8dee8}.stamp-dot.is-stamped{background:linear-gradient(135deg,#171b22,#0d1016)}.stamp-dot svg{width:10px;height:10px}.qr-modal-heading{display:grid;grid-gap:5px;gap:5px;margin-bottom:18px}.qr-modal-heading h2{font-size:20px}.qr-modal-heading p{font-size:12.5px}.qr-shell{width:220px;height:220px;margin:0 auto 18px;position:relative;display:grid;place-items:center;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid var(--border-color);box-shadow:0 18px 36px rgba(15,23,42,.16)}.qr-shell>img{width:190px;height:190px}.qr-logo-mark{position:absolute;width:46px;height:46px;border-radius:12px;background:#fff;display:grid;place-items:center;border:1px solid #e2e8f0;box-shadow:0 8px 18px rgba(15,23,42,.16)}.qr-logo-mark img{width:32px;height:32px;border-radius:8px}.qr-security-note{display:grid;grid-gap:3px;gap:3px;border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:11px;margin-bottom:16px;background:#f8fafc}.qr-security-note span{color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.qr-security-note strong{color:var(--text-primary);font-size:13px}.reward-balance-card{border:1px solid var(--border-color);border-radius:14px;background:linear-gradient(135deg,#111827,#252b36);color:#fff;padding:18px;display:flex;align-items:flex-end;justify-content:space-between;box-shadow:0 14px 30px rgba(15,23,42,.16)}.reward-balance-card small,.reward-balance-card span{color:hsla(0,0%,100%,.66);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.reward-balance-card strong{display:block;margin-top:4px;font-size:34px;line-height:1;letter-spacing:0}.checkout-panel,.reward-checkout,.reward-list{display:grid;grid-gap:14px;gap:14px}.reward-option{width:100%;border:1px solid var(--border-color);border-radius:12px;background:#fff;color:var(--text-primary);padding:13px;display:grid;grid-template-columns:1fr auto;grid-gap:10px;gap:10px;text-align:left;cursor:pointer;position:relative;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.reward-option.is-selected{border-color:#111827;box-shadow:0 10px 22px rgba(15,23,42,.08)}.reward-option.is-locked{background:#f5f6f8}.reward-option span,.reward-option.is-locked small,.reward-option.is-locked strong{color:var(--text-muted)}.reward-option span{display:block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.reward-option strong{display:block;margin-top:4px;font-size:14px;color:var(--text-primary)}.reward-option small{display:block;margin-top:3px;color:var(--text-secondary);font-size:11.5px;line-height:1.4}.reward-option em{align-self:start;font-style:normal;border:1px solid var(--border-color);border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800;white-space:nowrap}.reward-option b{position:absolute;right:13px;bottom:11px;color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.checkout-panel{border:1px solid var(--border-color);border-radius:14px;background:#fff;padding:16px}.checkout-panel h2{margin-top:3px;font-size:16px}.checkout-line{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--border-color);padding-top:10px;font-size:12px}.checkout-line span{color:var(--text-secondary)}.checkout-line strong.is-danger{color:var(--danger)}.checkout-terms{display:grid;grid-gap:5px;gap:5px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#f8fafc;padding:10px}.checkout-terms span{font-size:10px;color:var(--text-muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.checkout-terms small{color:var(--text-secondary);font-size:11px}.checkout-terms small:before{content:"";width:4px;height:4px;border-radius:999px;display:inline-block;margin-right:7px;background:#94a3b8;transform:translateY(-2px)}.reward-success-overlay{position:fixed;inset:0;z-index:1001;background:rgba(15,23,42,.52);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;place-items:center;padding:20px}.reward-success-card{width:100%;max-width:340px;border-radius:16px;border:1px solid var(--border-color);background:#fff;padding:22px;text-align:center;display:grid;grid-gap:12px;gap:12px;box-shadow:0 20px 45px rgba(15,23,42,.2)}.success-mark{width:42px;height:42px;border-radius:999px;background:#111827;color:#fff;display:grid;place-items:center;margin:0 auto;font-weight:900}.membership-section{margin-left:0;margin-right:0;gap:12px}.membership-section-header{padding:0}.membership-carousel{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x mandatory;scroll-padding:2px;scrollbar-width:none}.membership-card{flex-grow:0;flex-shrink:0;flex-basis:calc(100% - 28px);min-height:220px;max-width:100%;border-radius:14px;padding:17px;box-shadow:0 16px 32px rgba(15,23,42,.14);scroll-snap-align:start;border:1px solid hsla(0,0%,100%,.16)}.membership-card.is-current{box-shadow:0 18px 38px rgba(15,23,42,.22)}.membership-card.is-locked{opacity:1;filter:none}.membership-card.is-locked:before{filter:grayscale(.55) brightness(.78)}.membership-card:after{inset:0;border-radius:inherit;border-color:hsla(0,0%,100%,.18)}.tier-bronze:before{background:linear-gradient(135deg,#5f4a3c,#2f2823)}.tier-silver:before{background:linear-gradient(135deg,#d8dee7,#6f7d8e 48%,#2d3644)}.tier-gold:before{background:linear-gradient(135deg,#d7b663,#9a6922 48%,#3f230b)}.tier-platinum:before{background:linear-gradient(135deg,#272d36,#090b0f)}.membership-card-sheen{display:none}.membership-brand span,.membership-card-bottom strong{font-size:12px;letter-spacing:.02em}.membership-brand small,.membership-card-bottom small,.membership-perks small,.membership-points small{font-size:8px;letter-spacing:.08em}.membership-brand img{width:32px;height:32px;border-radius:7px;border:1.2px solid hsla(0,0%,100%,.4)}.membership-tier-badge{border-radius:999px;padding:5px 9px;font-size:9px;background:hsla(0,0%,100%,.12);border-color:hsla(0,0%,100%,.2)}.membership-tier-badge.is-locked{background:rgba(0,0,0,.2)}.membership-card-center{margin-top:10px}.membership-chip{width:38px;height:27px;border-radius:6px;opacity:.9}.membership-points strong{font-size:32px}.membership-number{margin-top:10px;font-size:12px;letter-spacing:1.6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.membership-card-bottom,.membership-perks{margin-top:12px;padding-top:10px}.membership-perks{gap:8px}.membership-perks strong{font-size:12px}.membership-perks ul{gap:4px}.membership-perks li{font-size:10.5px}.locked-card-layer{position:absolute;right:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;gap:6px;border:1px solid hsla(0,0%,100%,.16);background:rgba(0,0,0,.24);color:hsla(0,0%,100%,.9);border-radius:999px;padding:6px 9px;font-size:9px;font-weight:800;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.locked-card-layer .tier-lock-icon{width:11px;height:11px}.tier-progress-card{margin:0}.tier-dots span{width:18px;height:3px}.stamp-grid{grid-template-columns:repeat(5,1fr);gap:8px}.stamp-dot{max-width:34px;justify-self:center}.stamp-dot svg{width:11px;height:11px}.profile-card{margin-top:0}@media (max-width:380px){.membership-card{flex-basis:calc(100% - 20px);min-height:216px;padding:15px}.membership-points strong{font-size:29px}.locked-card-layer{max-width:calc(100% - 28px)}}.content-area::-webkit-scrollbar{width:4px}.content-area::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.active-vouchers-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;margin-bottom:24px}.active-vouchers-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);padding-bottom:10px}.active-vouchers-header h3{font-size:13px;font-weight:800;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em}.active-vouchers-header span.badge{font-size:10px;font-weight:800;background:var(--accent);color:var(--accent-inverse);padding:2px 8px;border-radius:10px}.vouchers-slider{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:12px 0 4px;scrollbar-width:none}.vouchers-slider::-webkit-scrollbar{display:none}.voucher-item-card{flex:0 0 100%;scroll-snap-align:start;background:var(--bg-main);border:1px solid var(--border-color);border-left:4px solid var(--accent);border-radius:var(--radius-md);padding:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;transition:var(--transition)}.voucher-item-info{display:flex;flex-direction:column;gap:4px;flex:1 1}.voucher-item-info span.category{font-size:8.5px;font-weight:800;text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em}.voucher-item-info h4{font-size:13px;font-weight:700;color:var(--text-primary);margin:0;line-height:1.35}.voucher-item-info span.code{font-family:monospace;font-size:10.5px;color:var(--text-secondary)}.voucher-item-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.voucher-checkbox-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.voucher-checkbox-label input{display:none}.custom-box{width:16px;height:16px;border:1.5px solid var(--border-color);border-radius:4px;background:#fff;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.voucher-checkbox-label input:checked+.custom-box{background:var(--text-primary);border-color:var(--text-primary)}.custom-box svg{width:10px;height:10px;stroke:#fff;opacity:0;transform:scale(.6);transition:var(--transition)}.voucher-checkbox-label input:checked+.custom-box svg{opacity:1;transform:scale(1)}.voucher-item-actions button.btn-scan-link{background:var(--accent);color:var(--accent-inverse);font-size:11px;font-weight:700;padding:6px 12px;border-radius:20px;border:none;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:4px}.voucher-item-actions button.btn-scan-link:hover{opacity:.9}.voucher-item-actions button.btn-refund-link{background:transparent;color:var(--danger);font-size:10px;font-weight:700;padding:4px 8px;border:1px solid rgba(239,68,68,.16);border-radius:6px;cursor:pointer;transition:var(--transition)}.voucher-item-actions button.btn-refund-link:hover{background:rgba(239,68,68,.05)}.qr-gallery-btn{background:linear-gradient(135deg,#f3d27a,#b07a24);color:#000;border:none;font-size:13px;font-weight:800;border-radius:12px;padding:10px 16px;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 4px 12px rgba(176,122,36,.2)}.qr-gallery-btn:hover{opacity:.95;transform:translateY(-1px)}.bottom-sheet-backdrop{position:fixed;inset:0;background:rgba(10,14,20,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:2000;opacity:0;pointer-events:none;transition:opacity .35s cubic-bezier(.32,.94,.6,1)}.bottom-sheet-backdrop.is-open{opacity:1;pointer-events:auto}.bottom-sheet-drawer{position:fixed;left:0;right:0;bottom:0;max-height:85vh;background:var(--bg-card);border-top:1.5px solid var(--border-color);border-radius:28px 28px 0 0;padding:24px 24px 34px;z-index:2001;transform:translateY(100%);transition:transform .45s cubic-bezier(.32,.94,.6,1);overflow-y:auto;box-shadow:0 -12px 48px rgba(0,0,0,.5);display:flex;flex-direction:column;color:var(--text-primary)}.bottom-sheet-drawer.is-open{transform:translateY(0)}.drawer-drag-handle{width:40px;height:5px;border-radius:99px;background:var(--border-color);margin:0 auto 20px;flex-shrink:0}.drawer-close-btn{position:absolute;top:20px;right:20px;background:hsla(0,0%,100%,.05);border:1.2px solid var(--border-color);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;transition:var(--transition);z-index:10}.drawer-close-btn:hover{background:hsla(0,0%,100%,.1);color:#fff}.drawer-image{width:100%;height:180px;object-fit:cover;border-radius:16px;margin-bottom:20px;border:1px solid var(--border-color)}.drawer-category{font-size:10px;font-weight:800;color:#f3d27a;text-transform:uppercase;letter-spacing:.15em;margin-bottom:6px;display:inline-block;text-align:left}.drawer-title{font-size:22px;font-weight:900;color:#fff;letter-spacing:-.02em;margin:0 0 10px;line-height:1.2;text-align:left}.drawer-desc{font-size:13px;color:var(--text-secondary);line-height:1.5;margin:0 0 20px;text-align:left}.drawer-points-bar{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-top:1.2px dashed var(--border-color)}.drawer-points-bar span{font-size:13px;color:var(--text-secondary);font-weight:600}.drawer-points-bar strong{font-size:16px;color:#fff;font-weight:800}.drawer-points-bar strong.is-danger{color:var(--danger)}.drawer-terms{display:flex;flex-direction:column;gap:6px;padding:16px;background:hsla(0,0%,100%,.02);border:1px solid var(--border-color);border-radius:12px;margin-bottom:24px}.drawer-terms span{font-size:11px;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px;text-align:left}.drawer-terms small{font-size:12px;color:var(--text-secondary);display:flex;align-items:flex-start;gap:6px;text-align:left}.drawer-terms small:before{content:"•";color:#f3d27a;font-weight:900}@media (min-width:768px){.bottom-sheet-drawer{left:50%;right:auto;width:440px;max-height:85vh;border-radius:24px;border:1.5px solid var(--border-color);bottom:auto;top:50%;transform:translate(-50%,-40%) scale(.95);opacity:0;pointer-events:none;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s ease}.bottom-sheet-drawer.is-open{transform:translate(-50%,-50%) scale(1);opacity:1;pointer-events:auto}}.rewards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:20px;gap:20px;padding:4px 0}.reward-card-premium{position:relative;display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:transform .22s cubic-bezier(.16,1,.3,1),border-color .22s ease,box-shadow .22s ease;min-height:270px}.reward-card-premium:hover{transform:translateY(-4px);border-color:#f3d27a;box-shadow:0 12px 30px rgba(0,0,0,.25)}.reward-image-container{position:relative;width:100%;height:160px;background:#111827;overflow:hidden}.reward-image-container img{object-fit:cover;transition:transform .4s ease}.reward-card-premium:hover .reward-image-container img{transform:scale(1.05)}.reward-category-tag{top:12px;left:12px;background:rgba(15,23,42,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.1);color:#f3d27a;font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.reward-category-tag,.reward-cost-badge{position:absolute;padding:4px 10px;border-radius:999px;z-index:5}.reward-cost-badge{bottom:12px;right:12px;background:linear-gradient(135deg,#f3d27a,#b07a24);color:#000;font-size:11px;font-weight:900;box-shadow:0 4px 10px rgba(176,122,36,.25)}.reward-card-details{padding:16px;display:flex;flex-direction:column;gap:6px;flex:1 1}.reward-card-title{font-size:15px;font-weight:800;color:#fff;margin:0;line-height:1.3}.reward-card-desc{font-size:12px;color:var(--text-secondary);line-height:1.4;margin:0}.lock-glass-overlay{position:absolute;inset:0;background:rgba(10,14,20,.72);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:8;display:grid;place-items:center;padding:20px;transition:opacity .25s ease}.lock-box{text-align:center;flex-direction:column;gap:8px;color:#fff}.lock-box,.lock-icon-container{display:flex;align-items:center}.lock-icon-container{width:36px;height:36px;border-radius:50%;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.15);justify-content:center;color:hsla(0,0%,100%,.7);box-shadow:0 4px 12px rgba(0,0,0,.2)}.lock-box span{font-size:10px;font-weight:800;text-transform:uppercase;color:var(--text-muted);letter-spacing:.08em}.lock-box p{font-size:11px;color:var(--text-secondary);margin:0}.lock-progress-bg{width:100px;height:4px;background:hsla(0,0%,100%,.1);border-radius:99px;overflow:hidden;margin-top:4px}.lock-progress-fill{height:100%;background:linear-gradient(90deg,#f3d27a,#b07a24);border-radius:inherit}