:root{--bg-dark: #141210;--bg-card: #201C18;--bg-surface: #2A2520;--brand-red: #D32F2F;--brand-red-dark: #9A0007;--brand-red-gradient: linear-gradient(135deg, #E53935 0%, #B71C1C 100%);--btn-green-gradient: linear-gradient(135deg, #43A047 0%, #2E7D32 100%);--green-border: #66BB6A;--gold-primary: #F5A623;--hop-green: #4CAF50;--text-main: #FFFFFF;--text-muted: #BDB7AB;--border-color: #38322B}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}html,body,#root{width:100%;height:100%;margin:0;padding:0;background:var(--bg-dark);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text-main);overflow:hidden}.app-container{width:100%;height:100%;height:100dvh;background:var(--bg-dark);display:flex;flex-direction:column;position:relative;overflow:hidden;padding-top:env(safe-area-inset-top,0px)}.screen-viewport{flex:1;position:relative;overflow-y:auto;overflow-x:hidden;padding:12px 18px 24px;display:flex;flex-direction:column}.screen-viewport::-webkit-scrollbar{width:4px}.screen-viewport::-webkit-scrollbar-thumb{background:#38322b;border-radius:4px}.brand-title-slab{font-family:Russo One,sans-serif;font-size:20px;letter-spacing:.5px;color:#fff;text-shadow:2px 2px 0px #C62828;line-height:1.1;text-transform:uppercase;font-weight:700}.loyalty-virtual-card{border-radius:24px;padding:16px 18px 14px;position:relative;overflow:hidden;margin-bottom:16px;box-shadow:0 16px 36px #000000b3;transition:all .3s ease}.loyalty-virtual-card.tier-base{background:radial-gradient(circle at 30% 20%,#2a231c,#1e1a17 65%,#181512);border:1.5px solid #4D3C2C}.loyalty-virtual-card.tier-silver{background:radial-gradient(circle at 85% 15%,rgba(240,245,255,.16) 0%,transparent 55%),radial-gradient(circle at 15% 85%,rgba(180,195,210,.12) 0%,transparent 50%),repeating-linear-gradient(135deg,rgba(255,255,255,.018) 0px,rgba(255,255,255,.018) 1px,transparent 1px,transparent 4px),linear-gradient(145deg,#2d3339,#1f2428,#161a1d);border:1.5px solid #8B9CA8;box-shadow:0 16px 36px #000000b3,0 0 20px #b4cde11f}.loyalty-virtual-card.tier-gold{background:radial-gradient(circle at 85% 15%,rgba(255,215,0,.22) 0%,transparent 60%),radial-gradient(circle at 15% 85%,rgba(245,166,35,.15) 0%,transparent 50%),repeating-linear-gradient(135deg,rgba(255,215,0,.025) 0px,rgba(255,215,0,.025) 1px,transparent 1px,transparent 4px),linear-gradient(145deg,#3a2b14,#261b0b,#171107);border:1.5px solid #D4AF37;box-shadow:0 16px 36px #000000b3,0 0 22px #f5a62333}.card-cashback-badge{background:linear-gradient(145deg,#e53935,#c62828);color:#fff;padding:7px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.25);box-shadow:0 4px 16px #e5393573;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:82px;text-align:center;transition:transform .15s ease}.card-cashback-badge:active{transform:scale(.96)}.qr-scan-zone{background:#fff;border-radius:20px;padding:14px 16px 12px;text-align:center;box-shadow:0 8px 24px #0006;margin-bottom:14px;display:flex;flex-direction:column;align-items:center}.scan-hint-text{color:#444;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.card-code-numbers{font-family:Courier New,Courier,monospace;font-size:17px;font-weight:800;letter-spacing:3px;color:#111;margin-top:8px}.btn-green-action{width:100%;padding:14px;background:var(--btn-green-gradient);border:1px solid var(--green-border);border-radius:14px;color:#fff;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 4px 18px #2e7d3266;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s ease}.btn-green-action:active{transform:scale(.98)}.app-bottom-nav{min-height:60px;background:#171411;border-top:1px solid var(--border-color);display:flex;justify-content:space-around;align-items:center;padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px));z-index:20;flex-shrink:0}.nav-tab-item{display:flex;flex-direction:column;align-items:center;gap:3px;color:#7a7267;font-size:10px;font-weight:600;cursor:pointer;flex:1;padding:6px 0;transition:color .15s}.nav-tab-item.active{color:var(--gold-primary)}
