:root {
  --bg: #08070f; --bg-soft: #0e0c1a; --surface: rgba(18,16,34,0.72);
  --surface-2: rgba(28,24,50,0.68); --surface-3: rgba(38,34,62,0.65);
  --glass: rgba(18,16,34,0.82); --glass-border: rgba(255,255,255,0.06);
  --glass-hover: rgba(255,255,255,0.10); --b-1: rgba(255,255,255,0.06);
  --b-2: rgba(167,139,250,0.15); --b-3: rgba(167,139,250,0.25);
  --primary: #8b5cf6; --primary-light: #a78bfa; --primary-dark: #7c3aed;
  --primary-soft: rgba(139,92,246,0.12); --primary-glow: rgba(139,92,246,0.35);
  --vip-gold: #f59e0b; --vip-gold-2: #fbbf24; --vip-gold-soft: rgba(245,158,11,0.12);
  --vip-orange: #fb923c; --success: #10b981; --green: #10b981;
  --warning: #f59e0b; --amber: #fbbf24; --danger: #ef4444; --pink: #ec4899;
  --cyan: #22d3ee; --blue: #3b82f6; --neon-purple: rgba(139,92,246,0.6);
  --neon-cyan: rgba(34,211,238,0.5); --neon-pink: rgba(236,72,153,0.5);
  --t-1: #f1f5f9; --t-2: #cbd5e1; --t-3: #94a3b8; --t-4: #64748b; --t-5: #475569;
  --r-xs: 8px; --r-sm: 12px; --r-md: 16px; --r-lg: 20px; --r-xl: 28px; --r-pill: 999px;
  --nav-h: 72px; --hd-h: 64px; --pad: 16px; --font: 'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-mono: 'JetBrains Mono', 'SF Mono', Consolas, monospace;
}

/* ─── PERFORMANCE OPTIMIZATIONS ─── */
/* backdrop-filter là nguyên nhân chính gây lag trên WebView mobile.
   Giữ blur trên structural elements (header, nav, modal, toast),
   loại bỏ khỏi card/tile/list items để giảm GPU compositing layers. */
.page,.vip-card,.pcard,.product,.cat-pill,.cat-tile,.feed-item,.feed-row,
.dep-method-card,.dep-btn,.dep-hist-item,.txn-item,.txn-row,.lb-item,
.info-card,.stat-tile,.prof-stat,.ord-item,.ord-card,.order-card,
.bank-item,.ref-link-box,.ref-row,.ref-stat-box,.cat-pick-item,.pkg-row,
.select-card,.wallet-hero,.dep-grid>*,.card-amount-grid>*,.card-telco-grid>*,
.voucher-input,.card-rates-table,.vip-tab-pills,.dep-input-vip,.dep-input,.card-input,
.card-est-box,.tab-bar,.lb-filter,.modal-sheet .suc-key,
.qr-wrap,.warn-box,.pdetail-desc,.ibox,.page-hero,
.txn-status-dot,.feed-swipe-indicator,.pcard-out,.pcard-type
{will-change:auto;contain:layout style}
.page-hero-icon{will-change:transform}
#bottomNav .nav-item i{will-change:transform}
.hd-balance-vip::before{will-change:transform}
.product-buy::before,.btn-main::before,.btn-vip-primary::before,.btn-buy::before,.btn-buy-full::before{will-change:transform}
body::before{will-change:background-position;animation-duration:40s}
.pcard-stock-bar-fill{will-change:width}
.modal-sheet{will-change:transform}
.toast{will-change:transform,opacity}
.stagger-item{opacity:1!important;transform:none!important;animation:none!important}
@media(max-width:768px){
  .page{-webkit-overflow-scrolling:touch}
  body::before{animation-duration:60s}
  .star{animation-duration:6s!important}
  #bottomNav .nav-item i{transition-duration:.2s!important}
  .hd-balance-vip::before{animation-duration:6s!important}
  .product-buy::before,.btn-main::before,.btn-vip-primary::before,.btn-buy::before,.btn-buy-full::before{animation-duration:6s!important}
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:auto;overscroll-behavior-y:contain}
body{
  background:var(--bg);color:var(--t-1);
  font-family:var(--font);font-size:14px;line-height:1.55;
  min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;
  letter-spacing:-0.01em;position:relative;
}

/* ─── ANIMATED GRADIENT MESH ─── */
body::before{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(800px 600px at 20% -10%, rgba(139,92,246,0.12), transparent 55%),
    radial-gradient(700px 500px at 80% 30%, rgba(34,211,238,0.07), transparent 50%),
    radial-gradient(600px 500px at 50% 90%, rgba(245,158,11,0.06), transparent 55%),
    radial-gradient(500px 400px at 10% 60%, rgba(236,72,153,0.05), transparent 50%);
  animation:none!important;
}
@keyframes mesh-drift{
  0%{background-position:0% 0%,0% 0%,0% 0%,0% 0%}
  25%{background-position:10% 5%,-5% 10%,8% -3%,-8% 5%}
  50%{background-position:-8% 12%,12% -5%,-5% 8%,10% -8%}
  75%{background-position:12% -8%,-8% 12%,10% -5%,-5% 10%}
  100%{background-position:-5% 5%,5% -8%,-8% 10%,8% -5%}
}

/* ─── NOISE TEXTURE ─── */
body::after{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  opacity:0.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:256px 256px;
}

/* ─── STARFIELD ─── */
#starfield{
  position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;
}
.star{
  position:absolute;border-radius:50%;background:#fff;
  animation:star-twinkle var(--dur,4s) ease-in-out infinite alternate;
}
@keyframes star-twinkle{
  0%{opacity:0.2;transform:scale(0.8)}
  100%{opacity:0.9;transform:scale(1.2)}
}

::-webkit-scrollbar{width:0;height:0}
button,input,textarea{font-family:inherit}
button{background:none;border:none;color:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}

/* ─── LOADING SCREEN VIP 3.0 (COSMIC LUXURY 3-SECOND INTRO) ─── */
#loadingScreen {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  height: 100vh !important;
  height: 100dvh !important;
  z-index: 99999999 !important;
  background-color: #060818 !important; /* 100% KÍN ĐẶC, KHÔNG LÀM MỜ THẤY BÊN TRONG */
  background: radial-gradient(circle at 50% 38%, #161a3d 0%, #0d1028 55%, #050614 100%) !important; /* 100% SOLID HEX KHÔNG TRONG SUỐT */
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  pointer-events: auto !important;
  opacity: 1 !important;
  transform: scale(1) !important;
  transition: opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1), transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.45s !important;
  box-sizing: border-box !important;
}

#loadingScreen::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-color: #060818 !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

#loadingScreen.ls-hidden {
  opacity: 0 !important;
  transform: scale(1.04) !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

/* Ambient glow & backdrop nebula */
.ls-nebula-glow {
  position: absolute;
  z-index: 1;
  top: 38%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(139, 92, 246, 0.35) 0%, rgba(56, 189, 248, 0.18) 45%, transparent 70%);
  filter: blur(55px);
  pointer-events: none;
  animation: lsPulseGlow 3.5s ease-in-out infinite alternate;
}

@keyframes lsPulseGlow {
  0% { transform: translate(-50%, -50%) scale(0.85); opacity: 0.5; }
  100% { transform: translate(-50%, -50%) scale(1.18); opacity: 0.85; }
}

/* Floating particles */
.ls-particles {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.ls-p {
  position: absolute;
  border-radius: 50%;
  filter: blur(0.5px);
}
.ls-p.p1 { top: 20%; left: 18%; width: 4px; height: 4px; background: #38bdf8; box-shadow: 0 0 8px #38bdf8; animation: lsFloatP 4s ease-in-out infinite alternate; }
.ls-p.p2 { top: 32%; right: 20%; width: 6px; height: 6px; background: #c084fc; box-shadow: 0 0 10px #c084fc; animation: lsFloatP 3.2s ease-in-out infinite alternate-reverse; }
.ls-p.p3 { top: 68%; left: 24%; width: 5px; height: 5px; background: #34d399; box-shadow: 0 0 8px #34d399; animation: lsFloatP 4.5s ease-in-out infinite alternate; }
.ls-p.p4 { top: 75%; right: 22%; width: 4px; height: 4px; background: #fbbf24; box-shadow: 0 0 8px #fbbf24; animation: lsFloatP 3.8s ease-in-out infinite alternate-reverse; }
.ls-p.p5 { top: 15%; right: 38%; width: 3px; height: 3px; background: #f472b6; box-shadow: 0 0 6px #f472b6; animation: lsFloatP 5s ease-in-out infinite alternate; }

@keyframes lsFloatP {
  0% { transform: translateY(0) translateX(0); opacity: 0.3; }
  100% { transform: translateY(-18px) translateX(10px); opacity: 0.9; }
}

/* Center Content */
.ls-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 20px;
}

/* Hologram container & rings */
.ls-hologram {
  position: relative;
  width: 120px;
  height: 120px;
  margin: 0 auto 22px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ls-orbit-outer {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1.5px solid transparent;
  border-top-color: #38bdf8;
  border-right-color: rgba(56, 189, 248, 0.4);
  box-shadow: 0 0 20px rgba(56, 189, 248, 0.35);
  animation: lsSpin 2.6s linear infinite;
}

.ls-orbit-inner {
  position: absolute;
  inset: 12px;
  border-radius: 50%;
  border: 1.5px solid transparent;
  border-bottom-color: #a855f7;
  border-left-color: rgba(168, 85, 247, 0.4);
  box-shadow: 0 0 16px rgba(168, 85, 247, 0.35);
  animation: lsSpinReverse 2s linear infinite;
}

.ls-core-ring {
  position: absolute;
  inset: 22px;
  border-radius: 50%;
  border: 1px dashed rgba(251, 191, 36, 0.55);
  animation: lsSpin 4.8s linear infinite;
}

@keyframes lsSpin {
  to { transform: rotate(360deg); }
}
@keyframes lsSpinReverse {
  to { transform: rotate(-360deg); }
}

/* Center VIP icon badge */
.ls-avatar-box {
  position: relative;
  z-index: 3;
  width: 58px;
  height: 58px;
  border-radius: 20px;
  background: linear-gradient(135deg, #7c3aed 0%, #3b82f6 50%, #06b6d4 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 30px rgba(124, 58, 237, 0.55), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.4);
  border: 1.5px solid rgba(255, 255, 255, 0.32);
  overflow: hidden;
}

.ls-avatar-shimmer {
  position: absolute;
  top: -60%;
  left: -70%;
  width: 50%;
  height: 220%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.65), transparent);
  transform: rotate(25deg);
  animation: lsShimmer 2.2s ease-in-out infinite;
}

@keyframes lsShimmer {
  0% { left: -70%; }
  60%, 100% { left: 140%; }
}

.ls-center-icon {
  position: relative;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ls-svg-icon {
  width: 28px;
  height: 28px;
  color: #fff;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,0.35));
}

/* Brand styling */
.ls-brand {
  margin-bottom: 6px;
}
.ls-brand-title {
  font-family: 'Space Grotesk', var(--font), -apple-system, sans-serif;
  font-size: 26px;
  font-weight: 900;
  letter-spacing: 2.2px;
  background: linear-gradient(135deg, #ffffff 0%, #f1f5f9 35%, #c084fc 70%, #38bdf8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 14px rgba(192, 132, 252, 0.45));
  margin: 0 0 8px;
  text-transform: uppercase;
}

.ls-brand-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 14px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.2px;
  color: #cbd5e1;
}

.ls-badge-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 8px #10b981;
  animation: live-pulse 1.2s infinite;
}

/* Progress card */
.ls-progress-card {
  width: 270px;
  margin-top: 26px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ls-progress-track {
  width: 100%;
  height: 6px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.09);
  overflow: hidden;
  position: relative;
}

.ls-progress-fill {
  height: 100%;
  width: 0%;
  border-radius: 10px;
  background: linear-gradient(90deg, #7c3aed 0%, #a855f7 35%, #38bdf8 70%, #34d399 100%);
  box-shadow: 0 0 16px rgba(56, 189, 248, 0.65);
  transition: width 0.12s linear;
  position: relative;
}

.ls-progress-flare {
  position: absolute;
  right: -2px;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 10px #fff, 0 0 18px #38bdf8;
}

.ls-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
  font-weight: 600;
  color: #94a3b8;
  padding: 0 2px;
}

.ls-status-txt {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 215px;
  color: #cbd5e1;
  font-size: 11.5px;
}

.ls-percent {
  font-family: 'Space Grotesk', var(--font-mono), monospace;
  font-weight: 800;
  color: #38bdf8;
  font-size: 12px;
}

/* Security footer badge */
.ls-security-tag {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 26px;
  font-size: 11px;
  color: rgba(148, 163, 184, 0.65);
  font-weight: 500;
}

/* ─── HEADER DYNAMIC ISLAND ─── */
#appHeader{
  position:sticky;top:0;z-index:100;height:var(--hd-h);
  padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;
  gap:10px;
  background:rgba(8,7,15,0.72);backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--glass-border);
  transform:translateZ(0);-webkit-transform:translateZ(0);
  will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden;
  transition:background .2s ease,box-shadow .2s ease,border-color .2s ease;
}
#appHeader.scrolled{
  height:var(--hd-h);
  background:rgba(8,7,15,0.92);
  box-shadow:0 6px 20px rgba(0,0,0,0.38);
  border-bottom-color:rgba(255,255,255,0.1);
}
.vip-header-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.vip-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}
.vip-header-stack{display:flex;flex-direction:column;align-items:flex-end;gap:1px}
.hd-avatar{
  width:40px;height:40px;border-radius:50%;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  border:2px solid rgba(167,139,250,0.35);display:flex;align-items:center;
  justify-content:center;color:#fff;font-weight:800;font-size:15px;
  overflow:hidden;flex-shrink:0;
  box-shadow:0 0 20px rgba(139,92,246,0.4);
}
#appHeader.scrolled .hd-avatar{width:40px;height:40px;font-size:15px}
.hd-avatar img{width:100%;height:100%;object-fit:cover}
.hd-user-info{flex:1;min-width:0;overflow:hidden}
.hd-user-name{
  font-size:14px;font-weight:700;color:var(--t-1);
  white-space:nowrap;overflow:hidden;
  background:linear-gradient(90deg,var(--t-1),var(--primary-light));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hd-user-id{font-size:10px;color:var(--t-4);font-family:var(--font-mono)}
.hd-balance-vip{
  font-size:15px;font-weight:800;
  background:linear-gradient(135deg,var(--vip-gold),var(--vip-gold-2));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  padding:6px 14px;border-radius:var(--r-pill);
  background-color:var(--vip-gold-soft);border:1.5px solid rgba(245,158,11,0.2);
  cursor:pointer;position:relative;overflow:hidden;transition:all .3s;
}
.hd-balance-vip::before{
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:conic-gradient(from 0deg,transparent,rgba(245,158,11,0.15),transparent 60%);
  animation:rotate-glow 3s linear infinite;
}
@keyframes rotate-glow{to{transform:rotate(360deg)}}
.hd-balance-vip:active{transform:scale(.95)}
.vip-badge{
  display:inline-flex;align-items:center;gap:4px;padding:2px 8px;
  border-radius:var(--r-pill);background:var(--primary-soft);
  border:1px solid rgba(167,139,250,0.25);color:var(--primary-light);
  font-size:9px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
}
.vip-badge.gold{background:var(--vip-gold-soft);border-color:rgba(245,158,11,0.25);color:var(--vip-gold-2)}
.vip-badge.seller-vip{
  background:linear-gradient(135deg,rgba(245,158,11,0.25),rgba(239,68,68,0.25))!important;
  border-color:rgba(245,158,11,0.7)!important;
  color:#fcd34d!important;
  box-shadow:0 0 10px rgba(245,158,11,0.4)!important;
  text-shadow:0 0 6px rgba(245,158,11,0.6);
}
.vip-badge.seller-regular{
  background:linear-gradient(135deg,rgba(59,130,246,0.2),rgba(139,92,246,0.2))!important;
  border-color:rgba(96,165,250,0.6)!important;
  color:#93c5fd!important;
  box-shadow:0 0 8px rgba(59,130,246,0.3)!important;
}
.vip-badge.admin{
  background:linear-gradient(135deg,rgba(236,72,153,0.25),rgba(168,85,247,0.25))!important;
  border-color:rgba(236,72,153,0.6)!important;
  color:#f472b6!important;
  box-shadow:0 0 10px rgba(236,72,153,0.35)!important;
}

/* Profile VIP Header & Role Badges */
.prof-header-card{
  background:linear-gradient(145deg,rgba(22,19,48,0.92) 0%,rgba(13,11,28,0.96) 100%);
  border:1px solid rgba(139,92,246,0.28);
  box-shadow:0 8px 24px rgba(0,0,0,0.4),inset 0 1px 0 rgba(255,255,255,0.08);
  padding:16px;border-radius:18px;position:relative;overflow:hidden;
}
.prof-header-card::before{
  content:'';position:absolute;top:-30px;right:-30px;width:110px;height:110px;
  background:radial-gradient(circle,rgba(168,85,247,0.25) 0%,transparent 70%);
  pointer-events:none;
}
.prof-header-flex{display:flex;align-items:center;gap:14px}
.prof-avatar-outer{position:relative;flex-shrink:0}
.prof-avatar-box{
  width:52px;height:52px;border-radius:50%;
  background:linear-gradient(135deg,#7c3aed,#ec4899);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:20px;font-weight:800;
  border:2px solid rgba(168,85,247,0.5);
  box-shadow:0 0 14px rgba(124,58,237,0.35);overflow:hidden;
}
.prof-avatar-box img{width:100%;height:100%;object-fit:cover}
.prof-info-box{flex:1;min-width:0}
.prof-top-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.prof-display-name{
  font-size:16px;font-weight:800;color:#fff;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  letter-spacing:-0.2px;
}
.prof-sub-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.prof-username-text{font-size:12px;color:var(--t-3);font-weight:500}
.prof-id-badge{
  display:inline-flex;align-items:center;gap:4px;
  background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);
  border-radius:6px;padding:2px 7px;font-size:11px;color:var(--t-2);
  cursor:pointer;transition:all 0.2s ease;
}
.prof-id-badge:active{background:rgba(168,85,247,0.2);border-color:rgba(168,85,247,0.4)}
.prof-id-badge code{font-family:inherit;color:#c084fc;font-weight:600}
.prof-id-badge .copy-ico{width:11px;height:11px;opacity:0.7}

.vip-role-tag{
  display:inline-flex;align-items:center;gap:4px;padding:3px 9px;
  border-radius:20px;font-size:10.5px;font-weight:700;
  letter-spacing:0.3px;white-space:nowrap;flex-shrink:0;
}
.vip-role-tag i,.vip-role-tag svg{width:12px;height:12px}
.vip-role-tag.role-seller-vip{
  background:linear-gradient(135deg,rgba(245,158,11,0.25),rgba(239,68,68,0.25));
  border:1px solid rgba(245,158,11,0.6);color:#fbbf24;
  box-shadow:0 0 12px rgba(245,158,11,0.35);text-shadow:0 0 8px rgba(245,158,11,0.5);
}
.vip-role-tag.role-seller{
  background:linear-gradient(135deg,rgba(59,130,246,0.2),rgba(139,92,246,0.2));
  border:1px solid rgba(96,165,250,0.5);color:#93c5fd;
  box-shadow:0 0 10px rgba(59,130,246,0.25);
}
.vip-role-tag.role-admin{
  background:linear-gradient(135deg,rgba(236,72,153,0.25),rgba(168,85,247,0.25));
  border:1px solid rgba(236,72,153,0.6);color:#f472b6;
  box-shadow:0 0 12px rgba(236,72,153,0.35);
}
.vip-role-tag.role-user{
  background:rgba(148,163,184,0.12);border:1px solid rgba(148,163,184,0.25);
  color:#cbd5e1;
}

/* ─── PAGE ─── */
.page{
  display:none;padding:20px var(--pad) calc(var(--nav-h) + 28px);
  position:relative;z-index:1;
  animation:page-enter .14s ease-out;
}
.page.active{display:block}
.page.exit-left{animation:page-exit-left .35s ease both}
.page.exit-right{animation:page-exit-right .35s ease both}
@keyframes page-enter{from{opacity:.65;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@keyframes page-exit-left{to{opacity:0;transform:translateX(-30px)}}
@keyframes page-exit-right{to{opacity:0;transform:translateX(30px)}}

.mb-16{margin-bottom:18px}

/* ─── HERO 3D TILT ─── */
.page-hero{
  display:flex;align-items:center;gap:16px;margin-bottom:24px;
  padding:18px;border-radius:var(--r-xl);
  background:rgba(20,24,57,0.88);border:1px solid var(--glass-border);
  box-shadow:0 8px 30px rgba(4,8,33,0.22);
  transition:box-shadow .3s;
}
.page-hero:hover{box-shadow:0 8px 32px rgba(139,92,246,0.2)}
.page-hero-icon{
  width:60px;height:60px;border-radius:18px;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  display:flex;align-items:center;justify-content:center;font-size:28px;
  box-shadow:0 8px 24px rgba(139,92,246,0.35),inset 0 1px 0 rgba(255,255,255,0.15);
  flex-shrink:0;animation:float 3s ease-in-out infinite;
}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.page-hero-text{flex:1;min-width:0}
.page-hero-title{
  font-size:24px;font-weight:800;
  background:linear-gradient(135deg,#fff 30%,var(--primary-light) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  letter-spacing:-0.5px;margin-bottom:2px;
}
.page-hero-sub{font-size:12px;color:var(--t-3)}

/* ─── VIP CARD GLASSMORPHISM ─── */
.vip-card{
  position:relative;padding:18px;margin-bottom:16px;
  background:var(--glass);backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  border:1px solid var(--glass-border);border-radius:var(--r-lg);
  overflow:hidden;transition:all .35s cubic-bezier(0.16,1,0.3,1);
}
.vip-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(167,139,250,0.2),transparent);
}
.vip-card:hover{
  border-color:rgba(255,255,255,0.10);
  box-shadow:0 8px 32px rgba(139,92,246,0.10);
}
.vip-card-title{
  display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;
  color:var(--t-1);text-transform:uppercase;letter-spacing:0.8px;margin-bottom:14px;
}
.vip-card-title .ico{
  width:28px;height:28px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;font-size:14px;
}
.vip-card.vip-card-gold{
  background:linear-gradient(135deg,rgba(245,158,11,0.06),rgba(251,146,60,0.03));
  border-color:rgba(245,158,11,0.2);
}
.vip-card.vip-card-gold::before{background:linear-gradient(90deg,transparent,rgba(245,158,11,0.3),transparent)}
.vip-card.vip-card-gold:hover{border-color:rgba(245,158,11,0.35);box-shadow:0 8px 32px rgba(245,158,11,0.12)}

/* ─── SELECT CARD ─── */
.select-card{
  display:flex;align-items:center;gap:12px;padding:14px;
  background:linear-gradient(135deg,rgba(139,92,246,0.04),rgba(139,92,246,0.01));
  border:1px solid rgba(139,92,246,0.15);border-radius:var(--r-md);
  cursor:pointer;transition:all .25s;
}
.select-card:active{transform:scale(.98)}
.select-card:hover{border-color:rgba(139,92,246,0.35);box-shadow:0 6px 24px rgba(139,92,246,0.10)}
.select-card-ico{
  width:48px;height:48px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;font-size:22px;
  flex-shrink:0;overflow:hidden;
}
.select-card-ico img{width:100%;height:100%;object-fit:cover;border-radius:14px}
.select-card-body{flex:1;min-width:0}
.select-card-title{font-size:15px;font-weight:700;color:var(--t-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.select-card-sub{font-size:12px;color:#34d399;margin-top:2px}
.select-card-arrow{font-size:24px;color:var(--t-4);flex-shrink:0}

/* ─── PKG ROW ─── */
.pkg-row{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:14px;background:var(--glass);border:1px solid var(--glass-border);
  border-radius:var(--r-md);cursor:pointer;transition:all .25s;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.pkg-row:hover{border-color:rgba(139,92,246,0.3);background:var(--surface-2)}
.pkg-row.selected{
  border-color:var(--primary);background:rgba(139,92,246,0.06);
  box-shadow:0 0 0 3px rgba(139,92,246,0.12),0 0 20px rgba(139,92,246,0.08);
}
.pkg-info{flex:1;min-width:0}
.pkg-name{font-size:15px;font-weight:700;color:var(--t-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pkg-stock{font-size:11px;color:var(--t-3);margin-top:3px}
.pkg-stock b{color:#34d399;font-weight:700}
.pkg-price{
  background:rgba(16,185,129,0.08);padding:8px 14px;border-radius:10px;
  font-weight:800;color:#34d399;font-size:14px;flex-shrink:0;
  font-family:var(--font);font-variant-numeric:tabular-nums;
}

/* ─── QTY ─── */
/* Compact two-column package picker with low-cost motion. */
#homeProducts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;contain:layout paint}
#homeProducts > .empty-box,#homeProducts > .skeleton{grid-column:1/-1}
#homeProducts .pkg-row{min-width:0;min-height:108px;padding:12px 10px;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:10px;border-radius:14px;background:linear-gradient(145deg,rgba(28,33,70,.78),rgba(14,19,48,.72));box-shadow:inset 0 1px 0 rgba(255,255,255,.045);transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;will-change:transform;-webkit-user-select:none;user-select:none}
#homeProducts .pkg-row:hover{transform:translateY(-2px);border-color:rgba(138,222,255,.42);background:linear-gradient(145deg,rgba(48,56,108,.82),rgba(19,29,62,.78));box-shadow:0 8px 18px rgba(38,112,170,.14),inset 0 1px 0 rgba(255,255,255,.08)}
#homeProducts .pkg-row:active{transform:scale(.965);transition-duration:.08s}
#homeProducts .pkg-row.selected{transform:translateY(-1px);border-color:rgba(138,222,255,.72);background:linear-gradient(145deg,rgba(121,104,238,.38),rgba(61,169,205,.25));box-shadow:0 0 0 2px rgba(138,222,255,.14),0 9px 20px rgba(39,130,181,.2)}
#homeProducts .pkg-info{width:100%;min-width:0}
#homeProducts .pkg-name{font-size:14px;line-height:1.25;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
#homeProducts .pkg-stock{margin-top:5px;font-size:10px}
#homeProducts .pkg-price{align-self:flex-end;padding:7px 10px;border-radius:9px;font-size:13px;line-height:1;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
@media(max-width:340px){#homeProducts{gap:6px}#homeProducts .pkg-row{min-height:102px;padding:10px 8px}#homeProducts .pkg-price{font-size:12px;padding:7px 8px}}
@media(prefers-reduced-motion:reduce){#homeProducts .pkg-row{transition:none!important;transform:none!important}}
.qty-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.qty-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--t-1);text-transform:uppercase;letter-spacing:0.6px}
.qty-label .ico{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px}
.qty-selector{display:flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--b-1);border-radius:var(--r-md);padding:4px}
.qty-btn{
  width:36px;height:36px;border-radius:var(--r-sm);background:var(--surface-3);
  color:var(--t-1);border:none;cursor:pointer;font-size:18px;font-weight:700;
  display:flex;align-items:center;justify-content:center;transition:all .15s;
}
.qty-btn:active{transform:scale(.88);background:rgba(139,92,246,0.2);color:var(--primary-light)}
.qty-input{width:46px;height:36px;background:none;border:none;color:var(--t-1);font-size:15px;font-weight:700;text-align:center;outline:none}

/* ─── ACTION ROW ─── */
.action-row{display:flex;gap:8px;margin-bottom:4px}
.btn-buy-cta{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:2px;padding:12px 18px;border-radius:var(--r-md);
  background:var(--surface-2);border:1px solid var(--b-1);color:var(--t-3);
  cursor:not-allowed;transition:all .25s;min-height:54px;position:relative;overflow:hidden;
}
.btn-buy-cta:not(:disabled){
  background:linear-gradient(135deg,var(--vip-orange),var(--vip-gold));color:#fff;
  border-color:transparent;cursor:pointer;
  box-shadow:0 8px 24px rgba(245,158,11,0.3),inset 0 1px 0 rgba(255,255,255,0.2);
  animation:cta-pulse 2s ease-in-out infinite;
}
@keyframes cta-pulse{0%,100%{box-shadow:0 8px 24px rgba(245,158,11,0.3)}50%{box-shadow:0 8px 32px rgba(245,158,11,0.5)}}
.btn-buy-cta:not(:disabled)::before{
  content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.15),transparent);
  animation:shimmer-sweep 3s ease-in-out infinite;
}
@keyframes shimmer-sweep{0%{transform:translateX(0)}100%{transform:translateX(200%)}}
.btn-buy-cta:not(:disabled):active{transform:translateY(1px) scale(.99)}
.btn-buy-cta-title{font-size:14px;font-weight:800;letter-spacing:0.3px;position:relative;z-index:1}
.btn-buy-cta-sub{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.8px;opacity:.85;position:relative;z-index:1}
.btn-buy-cta:disabled::before{display:none}

/* ─── ACTION ICON BUTTON (Download) ─── */
.btn-action-icon{
  width:48px;height:48px;min-width:48px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  border-radius:var(--r-md);
  background:var(--surface-2);border:1px solid var(--b-1);
  color:var(--t-2);cursor:pointer;
  transition:all .25s;position:relative;overflow:hidden;
  font-size:18px;
}
.btn-action-icon:active{transform:scale(.92)}
.btn-action-icon:not(:disabled):hover{
  background:var(--surface-3);border-color:var(--b-2);color:var(--primary-light);
}
.btn-action-icon:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}
.btn-action-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ─── CAT PICKER ─── */
.cat-picker-list{display:flex;flex-direction:column;gap:8px;padding:4px 0 8px}
.cat-pick-item{
  display:flex;align-items:center;gap:14px;padding:14px 16px;
  background:var(--glass);border:1px solid var(--glass-border);
  border-radius:var(--r-lg);cursor:pointer;transition:all .25s;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.cat-pick-item:active{transform:scale(.98)}
.cat-pick-item:hover{border-color:rgba(139,92,246,0.3);background:var(--surface-2)}
.cat-pick-item-ico{
  width:48px;height:48px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;font-size:22px;
  flex-shrink:0;overflow:hidden;background:var(--surface-3);
}
.cat-pick-item-ico img{width:100%;height:100%;object-fit:cover;border-radius:14px}
.cat-pick-item-name{flex:1;min-width:0;font-size:15px;font-weight:700;color:var(--t-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cat-pick-item-arrow{font-size:20px;color:var(--t-4);flex-shrink:0}

/* ─── BOTTOM NAV LIQUID ─── */
#bottomNav{
  position:fixed;bottom:0;left:0;right:0;height:64px;
  padding:4px 8px calc(4px + env(safe-area-inset-bottom));
  z-index:100;display:flex;align-items:stretch;
  background:rgba(8,7,15,0.6);backdrop-filter:blur(28px);
  -webkit-backdrop-filter:blur(28px);
  border-top:1px solid var(--glass-border);
}
#bottomNav .nav-item{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;padding:4px 2px;cursor:pointer;color:var(--t-4);
  position:relative;z-index:1;transition:color .35s cubic-bezier(0.16,1,0.3,1);
  text-decoration:none;user-select:none;-webkit-tap-highlight-color:transparent;
}
#bottomNav .nav-item i{
  font-size:18px;line-height:1;width:24px;height:24px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:transform .35s cubic-bezier(0.34,1.56,0.64,1),filter .35s;
}
#bottomNav .nav-item.active i{transform:scale(1.15);filter:drop-shadow(0 0 10px var(--primary-glow))}
#bottomNav .nav-item:not(.active) i{filter:saturate(.6)}
#bottomNav .nav-item span{
  font-size:10px;font-weight:600;letter-spacing:0;line-height:1.2;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center;
}
#bottomNav .nav-item.active{color:var(--primary-light)}
#blobIndicator{
  position:absolute;bottom:calc(50% + 2px);left:0;
  width:48px;height:32px;border-radius:16px;
  background:rgba(139,92,246,0.15);
  border:1px solid rgba(139,92,246,0.2);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  transform:translateY(50%);pointer-events:none;
  transition:left .45s cubic-bezier(0.34,1.56,0.64,1),width .45s cubic-bezier(0.34,1.56,0.64,1);
  z-index:-1;
}

/* ─── SECTION TITLE ─── */
.sec-title{
  display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;
  color:var(--t-1);margin:18px 0 12px;letter-spacing:-0.2px;
}
.sec-title .badge{
  font-size:9px;font-weight:700;padding:3px 8px;border-radius:var(--r-pill);
  background:var(--primary-soft);color:var(--primary-light);
  text-transform:uppercase;letter-spacing:0.5px;border:1px solid rgba(99,102,241,0.25);
}
.divider{height:1px;background:var(--b-1);margin:22px 0}

/* ─── CATEGORIES ─── */
.cat-scroll{display:flex;gap:8px;overflow-x:auto;margin:0 calc(-1 * var(--pad));padding:4px var(--pad);scroll-snap-type:x mandatory}
.cat-pill{
  display:inline-flex;align-items:center;gap:8px;padding:10px 16px;
  border-radius:var(--r-pill);background:var(--glass);border:1px solid var(--glass-border);
  font-size:13px;font-weight:600;white-space:nowrap;scroll-snap-align:start;
  transition:all .2s;flex-shrink:0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.cat-pill .icon{font-size:15px}
.cat-pill:hover,.cat-pill.active{background:var(--primary-soft);border-color:rgba(99,102,241,0.4);color:var(--primary-light)}
.cat-pill:active{transform:scale(.96)}
.cat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px}
.cat-grid .cat-pill{width:100%;justify-content:flex-start;padding:14px 16px}

/* ─── PRODUCT CINEMATIC ─── */
.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.pcard{
  position:relative;border-radius:var(--r-lg);overflow:hidden;
  background:var(--glass);border:1px solid var(--glass-border);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  transition:all .4s cubic-bezier(0.16,1,0.3,1);cursor:pointer;
}
.pcard:hover{border-color:rgba(255,255,255,0.10);box-shadow:0 12px 40px rgba(139,92,246,0.10);transform:translateY(-4px)}
.pcard:active{transform:scale(.97)}
.pcard-thumb{
  position:relative;width:100%;height:120px;overflow:hidden;
  background:linear-gradient(135deg,var(--surface-2),var(--surface-3));
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.pcard-thumb img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .6s cubic-bezier(0.16,1,0.3,1);
}
.pcard:hover .pcard-thumb img{transform:scale(1.08)}
.pcard-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,0.5));
  pointer-events:none;transition:background .4s;
}
.pcard:hover .pcard-overlay{background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,0.6))}
.pcard-type{
  position:absolute;bottom:6px;left:6px;font-size:9px;font-weight:700;
  padding:3px 7px;border-radius:var(--r-pill);
  background:rgba(0,0,0,0.5);color:#fff;letter-spacing:0.3px;
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.pcard-type.key{background:rgba(99,102,241,0.85)}
.pcard-type.account{background:rgba(16,185,129,0.85)}
.pcard-type.link{background:rgba(6,182,212,0.85)}
.pcard-hot{
  position:absolute;top:6px;right:6px;font-size:9px;font-weight:800;
  padding:3px 8px;border-radius:var(--r-pill);
  background:linear-gradient(135deg,#ef4444,#f97316);color:#fff;
  box-shadow:0 3px 8px rgba(239,68,68,0.4);
  animation:flame-flicker 1.5s ease-in-out infinite;
}
@keyframes flame-flicker{0%,100%{opacity:1;transform:scale(1)}30%{opacity:.9;transform:scale(1.05)}60%{opacity:.95;transform:scale(.98)}80%{opacity:.85;transform:scale(1.02)}}
.pcard-out{
  position:absolute;top:8px;left:8px;inset:auto;display:inline-flex;align-items:center;justify-content:center;
  background:rgba(220,38,38,0.92);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:0.5px;
  padding:3px 8px;border-radius:6px;box-shadow:0 2px 8px rgba(220,38,38,0.4);border:1px solid rgba(255,255,255,0.2);
  backdrop-filter:none;-webkit-backdrop-filter:none;z-index:5;
}
.pcard-body{padding:11px 12px 14px}
.pcard-name{
  font-size:13px;font-weight:700;color:var(--t-1);margin-bottom:4px;
  display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;line-height:1.3;min-height:34px;
}
.pcard-price{
  font-size:15px;font-weight:800;color:var(--primary-light);margin-bottom:4px;
  font-variant-numeric:tabular-nums;
}
.pcard-stock{font-size:10px;margin-bottom:8px}
.pcard-stock.ok{color:var(--success)}.pcard-stock.low{color:var(--warning)}.pcard-stock.out{color:var(--danger)}
.pcard-stock::after{content:'';display:block;width:100%;height:5px;border-radius:999px;background:rgba(255,255,255,0.05);margin-top:4px;overflow:hidden;position:relative}
.pcard-stock.ok::after{background:linear-gradient(90deg,var(--success),rgba(16,185,129,0.3));background-size:70% 100%;background-repeat:no-repeat}
.pcard-stock.low::after{background:linear-gradient(90deg,var(--warning),rgba(245,158,11,0.3));background-size:35% 100%;background-repeat:no-repeat}
.pcard-stock.out::after{background:var(--danger);background-size:5% 100%;background-repeat:no-repeat;opacity:.4}
.pcard-stock-bar{width:100%;height:5px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,0.06);margin-top:2px}
.pcard-stock-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--danger),var(--warning),var(--success));transition:width .6s cubic-bezier(0.16,1,0.3,1)}

/* ─── LEGACY PRODUCT CLASS ─── */
.product{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-lg);overflow:hidden;transition:all .25s;position:relative;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.product:active{transform:scale(.98)}
.product:hover{border-color:var(--b-2);transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,0.3)}
.product-img{width:100%;height:110px;object-fit:cover;background:var(--surface-2)}
.product-img-empty{height:110px;background:linear-gradient(135deg,var(--surface-2),var(--surface-3));display:flex;align-items:center;justify-content:center;font-size:36px;opacity:0.4}
.product-body{padding:12px 13px 13px}
.product-name{font-size:13px;font-weight:700;color:var(--t-1);margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35;min-height:35px}
.product-price{font-size:15px;font-weight:800;color:var(--primary-light);letter-spacing:-0.3px;margin-bottom:8px;font-variant-numeric:tabular-nums}
.product-stock{font-size:10px;color:var(--t-4);margin-bottom:8px;display:flex;align-items:center;gap:4px}
.product-buy{width:100%;padding:8px;border-radius:var(--r-sm);background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;font-size:12px;font-weight:700;transition:all .2s;box-shadow:0 4px 14px rgba(99,102,241,0.3);position:relative;overflow:hidden}
.product-buy:active{transform:scale(.96)}
.product-buy::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.12),transparent);animation:shimmer-sweep 4s ease-in-out infinite}
.product-buy:disabled{background:var(--surface-2);color:var(--t-4);box-shadow:none}
.product-buy:disabled::before{display:none}
.product-hot-badge{position:absolute;top:8px;left:8px;background:linear-gradient(135deg,#ef4444,#f97316);color:#fff;font-size:9px;font-weight:800;padding:3px 8px;border-radius:var(--r-pill);letter-spacing:0.4px;box-shadow:0 4px 10px rgba(239,68,68,0.4);animation:flame-flicker 1.5s ease-in-out infinite}

/* ─── ACTIVITY FEED ─── */
.feed-list{display:flex;flex-direction:column;gap:8px}
.feed-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-md);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.feed-ico{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.feed-ico.buy{background:rgba(99,102,241,0.14);color:var(--primary-light)}
.feed-ico.dep{background:rgba(16,185,129,0.14);color:#34d399}
.feed-body{flex:1;min-width:0}
.feed-text{font-size:12px;color:var(--t-2);line-height:1.45}
.feed-text b{color:var(--t-1);font-weight:700}
.feed-time{font-size:10px;color:var(--t-5);margin-top:2px}
.feed-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--glass);border:1px solid var(--glass-border);border-left:3px solid var(--success);border-radius:var(--r-sm);margin-bottom:6px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.feed-row-ico{width:32px;height:32px;border-radius:8px;background:rgba(16,185,129,0.12);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.feed-row-body{flex:1;min-width:0}
.feed-row-text{font-size:12px;color:var(--t-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.feed-row-text b{color:var(--t-1);font-weight:700}
.feed-row-amt{font-size:13px;font-weight:800;color:#34d399;margin-left:4px}
.feed-row-time{font-size:10px;color:var(--t-5);flex-shrink:0}

/* ─── WALLET ─── */
.wallet-hero{
  position:relative;border-radius:var(--r-xl);padding:26px 22px;overflow:hidden;
  background:linear-gradient(135deg,rgba(99,102,241,0.12),rgba(16,185,129,0.06));
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border:1px solid var(--glass-border);
}
.wallet-hero::before{content:'';position:absolute;top:-80px;right:-50px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(129,140,248,0.2),transparent 65%);pointer-events:none}
.wh-inner{position:relative;z-index:1}
.wh-label{font-size:12px;color:var(--t-3);text-transform:uppercase;letter-spacing:1px;font-weight:600;margin-bottom:6px}
.wh-balance{font-size:36px;font-weight:800;letter-spacing:-1px;background:linear-gradient(135deg,#fff,var(--primary-light));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:6px;font-variant-numeric:tabular-nums}
.wh-sub{font-size:12px;color:var(--t-3);margin-bottom:18px}
.wh-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wh-stat{background:rgba(255,255,255,0.03);border:1px solid var(--glass-border);border-radius:var(--r-md);padding:12px 14px}
.wh-stat-val{font-size:16px;font-weight:800;color:var(--t-1);display:block;font-variant-numeric:tabular-nums}
.wh-stat-label{font-size:10px;color:var(--t-4);text-transform:uppercase;letter-spacing:0.6px;font-weight:600;margin-top:2px;display:block}

/* ─── METHOD CARDS ─── */
.dep-method-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}
.dep-method-card{display:flex;align-items:center;gap:10px;padding:14px;background:var(--glass);border:1.5px solid var(--glass-border);border-radius:var(--r-md);cursor:pointer;transition:all .2s;position:relative;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.dep-method-card:active{transform:scale(.98)}
.dep-method-card.active{background:var(--primary-soft);border-color:var(--primary);box-shadow:0 0 0 4px rgba(99,102,241,0.12)}
.dmc-ico{width:40px;height:40px;border-radius:12px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}
.dep-method-card.active .dmc-ico{background:linear-gradient(135deg,var(--primary),var(--primary-light));box-shadow:0 4px 12px rgba(99,102,241,0.35)}
.dmc-txt{flex:1;min-width:0}
.dmc-label{font-size:13px;font-weight:700;color:var(--t-1)}
.dmc-sub{font-size:10px;color:var(--t-4);margin-top:1px}
.dmc-check{width:22px;height:22px;border-radius:50%;background:var(--surface-2);color:transparent;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;transition:all .2s}
.dep-method-card.active .dmc-check{background:var(--primary);color:#fff}
.wallet-info-divider{position:relative;text-align:center;margin:22px 0 14px}
.wallet-info-divider::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:var(--b-1)}
.wallet-info-divider span{position:relative;background:var(--bg);padding:0 12px;font-size:11px;color:var(--t-4);text-transform:uppercase;letter-spacing:1px;font-weight:600}

/* ─── TABS ─── */
.tab-bar{display:flex;gap:6px;background:var(--glass);border:1px solid var(--glass-border);padding:4px;border-radius:var(--r-md);margin-bottom:16px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.tab-btn{flex:1;padding:10px 12px;border-radius:var(--r-sm);font-size:12px;font-weight:600;color:var(--t-3);transition:all .2s}
.tab-btn.active{background:var(--primary-soft);color:var(--primary-light)}
.tab-pane{display:none}
.tab-pane.active{display:block;animation:fade-up .3s ease}

/* ─── DEPOSIT ─── */
.dep-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.dep-btn{padding:14px 8px;border-radius:var(--r-md);background:var(--glass);border:1.5px solid var(--glass-border);text-align:center;cursor:pointer;transition:all .2s;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.dep-btn:active{transform:scale(.96)}
.dep-btn.active{background:var(--primary-soft);border-color:var(--primary);box-shadow:0 0 0 4px rgba(99,102,241,0.12)}
.dep-btn-val{font-size:16px;font-weight:800;color:var(--t-1);letter-spacing:-0.4px;font-variant-numeric:tabular-nums}
.dep-btn.active .dep-btn-val{color:var(--primary-light)}
.dep-btn-sub{font-size:10px;color:var(--t-4);margin-top:2px}
.dep-input-wrap{position:relative;margin-bottom:4px}
.dep-input-ico{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:18px;pointer-events:none;z-index:1}
.dep-input-vip{padding-left:44px!important;background:var(--glass)!important;border:1.5px solid var(--glass-border)!important;border-radius:var(--r-md)!important;font-size:14px;color:var(--t-1);height:50px;width:100%;outline:none;transition:all .25s!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important}
.dep-input-vip:focus{border-color:var(--vip-gold)!important;box-shadow:0 0 0 4px rgba(245,158,11,0.12),0 0 20px rgba(245,158,11,0.08)!important}
.dep-input-vip::placeholder{color:var(--t-4)}

/* ─── BUTTONS ─── */
.btn-main,.btn-vip-primary,.btn-buy,.btn-buy-full{position:relative;overflow:hidden}
.btn-main::before,.btn-vip-primary::before,.btn-buy::before,.btn-buy-full::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.1),transparent);animation:shimmer-sweep 4s ease-in-out infinite;pointer-events:none}
.btn-main{width:100%;padding:15px;border-radius:var(--r-md);background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 8px 24px rgba(99,102,241,0.35);letter-spacing:-0.1px}
.btn-main:active{transform:translateY(1px)}
.btn-main:hover{box-shadow:0 12px 28px rgba(99,102,241,0.45)}
.btn-vip-primary{width:100%;padding:15px;border-radius:var(--r-md);background:linear-gradient(135deg,var(--vip-orange),var(--vip-gold));color:#fff;font-size:14px;font-weight:800;letter-spacing:0.5px;text-transform:uppercase;cursor:pointer;border:none;transition:all .25s;box-shadow:0 8px 24px rgba(245,158,11,0.4),inset 0 1px 0 rgba(255,255,255,0.2)}
.btn-vip-primary:active{transform:translateY(1px) scale(.99)}
.btn-buy,.btn-buy-full{width:100%;padding:9px 12px;border-radius:var(--r-sm);background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;font-size:12px;font-weight:700;border:none;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px rgba(99,102,241,0.3)}
.btn-buy:active,.btn-buy-full:active{transform:scale(.96)}
.btn-buy-full{padding:13px;font-size:14px;border-radius:var(--r-md)}
.btn-buy:disabled,.btn-buy-full:disabled{background:rgba(239,68,68,0.12)!important;color:#f87171!important;border:1px solid rgba(239,68,68,0.3)!important;box-shadow:none;cursor:not-allowed}
.btn-buy:disabled::before,.btn-buy-full:disabled::before{display:none}
.btn-apply-voucher{width:100%;padding:10px;border-radius:var(--r-sm);background:rgba(245,158,11,0.12);border:1px solid rgba(245,158,11,0.35);color:var(--warning);font-size:12px;font-weight:700;cursor:pointer;margin-bottom:8px}
.btn-vip-secondary{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 18px;border-radius:var(--r-md);background:var(--surface-2);border:1.5px solid var(--b-2);color:var(--t-1);font-size:13px;font-weight:700;cursor:pointer;transition:all .2s}
.btn-vip-secondary:active{transform:scale(.97)}
.btn-vip-secondary:hover{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-light)}

/* ─── DEPOSIT HISTORY ─── */
.dep-hist-list{display:flex;flex-direction:column;gap:8px}
.dep-hist-item{display:flex;align-items:center;gap:12px;padding:14px;background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-md);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.dep-hist-ico,.dep-hist-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.dep-hist-ico.success,.dep-hist-icon.success{background:rgba(16,185,129,0.14);color:#34d399}
.dep-hist-ico.pending,.dep-hist-icon.pending{background:rgba(245,158,11,0.14);color:#fbbf24}
.dep-hist-ico.expired,.dep-hist-icon.expired{background:rgba(239,68,68,0.14);color:#f87171}
.dep-hist-body{flex:1;min-width:0}
.dep-hist-amount{font-size:14px;font-weight:800;color:var(--t-1);font-variant-numeric:tabular-nums}
.dep-hist-meta{font-size:11px;color:var(--t-4);margin-top:2px}
.dep-hist-status{font-size:10px;font-weight:700;padding:4px 10px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:0.4px}
.dep-hist-status.success{background:rgba(16,185,129,0.14);color:#34d399}
.dep-hist-status.pending{background:rgba(245,158,11,0.14);color:#fbbf24}
.dep-hist-status.expired{background:rgba(239,68,68,0.14);color:#f87171}

/* ─── TRANSACTION TIMELINE ─── */
.txn-list{display:flex;flex-direction:column;gap:0;position:relative}
.txn-list::before{content:'';position:absolute;top:24px;bottom:24px;left:28px;width:2px;background:linear-gradient(180deg,var(--primary),rgba(139,92,246,0.1));border-radius:2px}
.txn-item,.txn-row{
  display:flex;align-items:center;gap:12px;padding:12px 14px;
  background:var(--glass);border:1px solid var(--glass-border);
  border-radius:var(--r-md);margin-bottom:8px;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  transition:all .25s;
}
.txn-item:hover,.txn-row:hover{border-color:rgba(255,255,255,0.10)}
.txn-icon,.txn-ico{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.txn-icon.deposit,.txn-ico.dep{background:rgba(16,185,129,0.14);color:#34d399}
.txn-icon.purchase,.txn-ico.buy{background:rgba(99,102,241,0.14);color:var(--primary-light)}
.txn-icon.refund,.txn-ico.refund{background:rgba(245,158,11,0.14);color:var(--warning)}
.txn-icon.bonus,.txn-ico.bonus{background:rgba(6,182,212,0.14);color:var(--cyan)}
.txn-main,.txn-body,.txn-info{flex:1;min-width:0}
.txn-name,.txn-title{font-size:13px;font-weight:700;color:var(--t-1)}
.txn-time,.txn-date{font-size:11px;color:var(--t-4);margin-top:2px}
.txn-amount,.txn-amt{font-size:14px;font-weight:800;flex-shrink:0;font-variant-numeric:tabular-nums}
.txn-amount.plus,.txn-amt.plus{color:var(--success)}
.txn-amount.minus,.txn-amt.minus{color:var(--danger)}

/* ─── TIMELINE DOTS for status ─── */
.txn-status-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}
.txn-status-dot.pending{background:var(--warning);animation:dot-pulse 1.6s ease-in-out infinite}
.txn-status-dot.success{background:var(--success);animation:check-bounce .5s cubic-bezier(0.34,1.56,0.64,1)}
@keyframes dot-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}
@keyframes check-bounce{0%{transform:scale(0)}50%{transform:scale(1.3)}100%{transform:scale(1)}}
.txn-swipe-hint{font-size:9px;color:var(--t-5);text-align:center;margin-top:2px;opacity:0;transition:opacity .3s}
.txn-row:hover .txn-swipe-hint{opacity:1}

/* ─── CARD CHARGE ─── */
.card-telco-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}
.card-telco-btn{padding:16px 8px;border-radius:var(--r-md);background:var(--glass);border:1.5px solid var(--glass-border);text-align:center;cursor:pointer;transition:all .2s;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.card-telco-btn:active{transform:scale(.96)}
.card-telco-btn.active{background:var(--primary-soft);border-color:var(--primary);box-shadow:0 0 0 4px rgba(99,102,241,0.12)}
.card-telco-name{font-size:12px;font-weight:800;letter-spacing:-0.2px}
.card-amount-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.card-amount-btn{padding:14px 8px;border-radius:var(--r-md);background:var(--glass);border:1.5px solid var(--glass-border);text-align:center;cursor:pointer;transition:all .2s;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.card-amount-btn:active{transform:scale(.96)}
.card-amount-btn.active{background:var(--primary-soft);border-color:var(--primary);box-shadow:0 0 0 4px rgba(99,102,241,0.12)}
.card-amount-val{font-size:14px;font-weight:800;color:var(--t-1)}
.card-amount-btn.active .card-amount-val{color:var(--primary-light)}
.card-amount-recv{font-size:10px;color:var(--success);margin-top:2px;font-weight:600}
.card-est-box{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:linear-gradient(135deg,rgba(16,185,129,0.1),rgba(16,185,129,0.03));border:1px solid rgba(16,185,129,0.25);border-radius:var(--r-md);margin-bottom:14px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.card-est-label{font-size:12px;color:var(--t-3)}
.card-est-val{font-size:18px;font-weight:800;color:#34d399;font-variant-numeric:tabular-nums}
.dep-input,.card-input{width:100%;padding:14px 16px;background:var(--glass);border:1.5px solid var(--glass-border);border-radius:var(--r-md);color:var(--t-1);font-size:14px;margin-bottom:12px;outline:none;transition:all .25s;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.dep-input:focus,.card-input:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(99,102,241,0.12),0 0 20px rgba(139,92,246,0.06)}
.dep-input::placeholder,.card-input::placeholder{color:var(--t-5)}

/* ─── SKELETON SHIMMER MESH ─── */
.skeleton{background:linear-gradient(110deg,var(--surface) 25%,rgba(167,139,250,0.06) 40%,var(--surface) 55%);background-size:250% 100%;animation:shimmer 1.6s ease-in-out infinite;border-radius:var(--r-sm)}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ─── TOAST ─── */
#toastWrap{position:fixed;top:70px;left:50%;transform:translateX(-50%);z-index:9000;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:92%}
.toast{padding:12px 18px;background:rgba(18,16,34,0.75);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:var(--r-md);color:var(--t-1);font-size:13px;font-weight:600;box-shadow:0 12px 40px rgba(0,0,0,0.5);animation:toast-in .35s cubic-bezier(0.16,1,0.3,1);pointer-events:auto;max-width:360px}
.toast.success{border-color:rgba(16,185,129,0.4);background:rgba(16,185,129,0.08)}
.toast.error{border-color:rgba(239,68,68,0.4);background:rgba(239,68,68,0.08)}
.toast.info{border-color:rgba(99,102,241,0.4);background:rgba(99,102,241,0.08)}
@keyframes toast-in{from{opacity:0;transform:translateY(-12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}

/* ─── SUCCESS OVERLAY (SUPER PREMIUM RECEIPT MODAL) ─── */
#successOverlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: rgba(8, 7, 18, 0.88);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.3s;
}
#successOverlay.show {
  opacity: 1;
  visibility: visible;
}
.suc-receipt-card {
  background: linear-gradient(145deg, #111428 0%, #0d0b1a 100%);
  border: 1px solid rgba(236, 72, 153, 0.5);
  box-shadow: 0 0 30px rgba(236, 72, 153, 0.25), 0 0 60px rgba(6, 182, 212, 0.15);
  border-radius: 24px;
  width: 100%;
  max-width: 380px;
  padding: 24px 20px;
  color: #fff;
  transform: scale(0.85);
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-sizing: border-box;
}
#successOverlay.show .suc-receipt-card {
  transform: scale(1);
}
.suc-receipt-header {
  text-align: left;
  margin-bottom: 18px;
}
.suc-receipt-title {
  font-size: 20px;
  font-weight: 800;
  color: #ffffff;
  margin: 0 0 4px 0;
  letter-spacing: 0.3px;
}
.suc-receipt-sub {
  font-size: 11px;
  font-weight: 700;
  color: #94a3b8;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.suc-receipt-box {
  background: rgba(255, 255, 255, 0.03);
  border: 1px dashed rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  padding: 14px 16px;
  margin-bottom: 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.suc-receipt-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
}
.suc-receipt-label {
  color: #94a3b8;
  font-weight: 500;
}
.suc-receipt-val {
  color: #f8fafc;
  font-weight: 600;
  text-align: right;
}
.suc-receipt-val.green {
  color: #34d399;
  font-weight: 800;
  font-size: 15px;
}
.suc-receipt-val a {
  color: #22d3ee;
  text-decoration: none;
  font-weight: 700;
}
.suc-key-sec {
  margin-bottom: 20px;
}
.suc-key-sec-title {
  font-size: 11px;
  font-weight: 700;
  color: #64748b;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.suc-key-card-item {
  background: rgba(16, 185, 129, 0.08);
  border: 1px solid rgba(16, 185, 129, 0.4);
  border-radius: 12px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.suc-key-card-item .key-text {
  font-family: SFMono-Regular, Consolas, monospace;
  font-size: 13px;
  color: #34d399;
  font-weight: 700;
  word-break: break-all;
}
.suc-key-card-item .btn-copy-suc {
  background: rgba(16, 185, 129, 0.2);
  border: 1px solid rgba(16, 185, 129, 0.5);
  color: #34d399;
  border-radius: 8px;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: transform 0.15s ease;
}
.suc-key-card-item .btn-copy-suc:active {
  transform: scale(0.9);
}
.suc-receipt-close-btn {
  width: 100%;
  background: rgba(6, 182, 212, 0.05);
  border: 1px solid #06b6d4;
  color: #06b6d4;
  font-size: 13px;
  font-weight: 800;
  padding: 13px;
  border-radius: 25px;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: center;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}
.suc-receipt-close-btn:active {
  background: rgba(6, 182, 212, 0.25);
  transform: scale(0.98);
}

/* ─── MODAL SHEET SPRING ─── */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9400;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.modal-backdrop.show,.modal-backdrop.open{opacity:1;visibility:visible}
.modal-sheet{
  position:fixed;left:0;right:0;bottom:0;z-index:9500;
  background:rgba(18,16,34,0.85);backdrop-filter:blur(32px);
  -webkit-backdrop-filter:blur(32px);
  border-top:1px solid var(--glass-border);
  border-radius:var(--r-xl) var(--r-xl) 0 0;
  padding:14px 18px calc(20px + env(safe-area-inset-bottom));
  max-height:88vh;overflow-y:auto;
  transform:translateY(100%);
  transition:transform .45s cubic-bezier(0.34,1.56,0.64,1);
  box-shadow:0 -16px 48px rgba(0,0,0,0.6);
  -webkit-overflow-scrolling:touch;
}
.modal-sheet.dragging{transition:none!important}
.modal-sheet.show,.modal-sheet.open{transform:translateY(0)}
.modal-handle-wrap{display:flex;justify-content:center;padding:4px 0 12px;margin:-4px 0 0;cursor:grab;touch-action:none}
.modal-handle{width:44px;height:5px;background:rgba(255,255,255,0.15);border-radius:999px}
.modal-title{font-size:17px;font-weight:700;color:var(--t-1);margin-bottom:14px;letter-spacing:-0.3px}
.modal-close{position:relative;width:100%;margin-top:16px;padding:13px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--b-1);color:var(--t-2);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}
.modal-close:active{transform:scale(.98)}
.modal-close:hover{background:var(--surface-3);color:var(--t-1)}
.stagger-item{opacity:1!important;transform:none!important;animation:none!important}
@keyframes stagger-in{to{opacity:1;transform:translateY(0)}}

/* ─── PROFILE ─── */
.prof-top{text-align:center;padding:20px 0 18px}
.prof-ava-wrap{display:inline-block;padding:4px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-light));margin-bottom:12px;box-shadow:0 8px 32px rgba(139,92,246,0.4)}
.prof-ava{width:80px;height:80px;border-radius:50%;background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:36px;border:3px solid var(--bg)}
.prof-name{font-size:19px;font-weight:800;color:var(--t-1);letter-spacing:-0.4px;margin-bottom:2px}
.prof-id{font-size:12px;color:var(--t-4)}
.prof-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.prof-stat{padding:14px 8px;background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-md);text-align:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.prof-stat-val{display:block;font-size:16px;font-weight:800;color:var(--primary-light);letter-spacing:-0.3px;font-variant-numeric:tabular-nums}
.prof-stat-label{display:block;font-size:10px;color:var(--t-4);text-transform:uppercase;letter-spacing:0.5px;font-weight:600;margin-top:2px}

/* ─── INFO CARD ─── */
.info-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-md);margin-bottom:12px;overflow:hidden;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.info-row{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--b-1);transition:background .15s}
.info-row:last-child{border-bottom:none}
.info-row:hover{background:var(--surface-2)}
.info-label{font-size:13px;color:var(--t-3)}
.info-val{font-size:13px;font-weight:700;color:var(--t-1);text-align:right;word-break:break-all;max-width:60%}
.info-val.accent{color:var(--primary-light)}

/* ─── EMPTY STATE ─── */
.empty{text-align:center;padding:40px 16px;color:var(--t-4)}
.empty-ico{display:block;font-size:56px;margin-bottom:12px;animation:empty-bounce 2s ease-in-out infinite}
@keyframes empty-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.empty-title{font-size:14px;font-weight:700;color:var(--t-2);margin-bottom:4px}
.empty-desc{font-size:12px;color:var(--t-4)}
.empty-box{border:1.5px dashed rgba(167,139,250,0.18);border-radius:var(--r-md);padding:28px 16px;text-align:center;color:var(--t-4);background:rgba(167,139,250,0.02)}
.empty-box-ico{width:54px;height:54px;border-radius:14px;background:var(--surface-2);display:inline-flex;align-items:center;justify-content:center;font-size:22px;color:var(--t-4);margin-bottom:10px;animation:float 3s ease-in-out infinite}
.empty-box-text{font-size:13px;color:var(--t-4)}
.empty-state{text-align:center;padding:36px 16px;color:var(--t-4)}
.empty-state .empty-icon{display:block;font-size:48px;margin-bottom:12px;opacity:0.6;animation:empty-bounce 2s ease-in-out infinite}
.empty-state h3{font-size:16px;color:var(--t-2);margin-bottom:4px;font-weight:700}
.empty-state p{font-size:12px;color:var(--t-4)}

/* ─── LEADERBOARD ─── */
.lb-filter{display:flex;gap:6px;margin-bottom:12px;background:var(--glass);border:1px solid var(--glass-border);padding:4px;border-radius:var(--r-md);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.lb-filter-btn{flex:1;padding:8px 12px;border-radius:var(--r-sm);font-size:12px;font-weight:600;color:var(--t-3);transition:all .2s}
.lb-filter-btn.active{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;box-shadow:0 4px 12px rgba(99,102,241,0.35)}
.lb-list{display:flex;flex-direction:column;gap:8px}
.lb-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-md);transition:all .2s;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.lb-item:hover{background:var(--surface-2)}
.lb-rank{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;background:var(--surface-2);color:var(--t-3);flex-shrink:0}
.lb-item[data-rank="1"] .lb-rank,.lb-rank.rank-1{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;box-shadow:0 4px 12px rgba(245,158,11,0.4)}
.lb-item[data-rank="2"] .lb-rank,.lb-rank.rank-2{background:linear-gradient(135deg,#cbd5e1,#94a3b8);color:#fff}
.lb-item[data-rank="3"] .lb-rank,.lb-rank.rank-3{background:linear-gradient(135deg,#fb923c,#ea580c);color:#fff}
.lb-body{flex:1;min-width:0}
.lb-name{font-size:13px;font-weight:700;color:var(--t-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lb-sub{font-size:11px;color:var(--t-4);margin-top:1px}
.lb-val{font-size:14px;font-weight:800;color:var(--primary-light);letter-spacing:-0.3px;font-variant-numeric:tabular-nums}
.lb-info{flex:1;min-width:0}
.lb-hint{font-size:11px;color:var(--t-4);margin-top:2px}
.lb-right{text-align:right;flex-shrink:0}
.lb-amount{font-size:14px;font-weight:800;color:var(--primary-light);letter-spacing:-0.3px}
.lb-count{font-size:10px;color:var(--t-4);margin-top:2px}
.lb-rank.gold{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;box-shadow:0 4px 12px rgba(245,158,11,0.4)}
.lb-rank.silver{background:linear-gradient(135deg,#cbd5e1,#94a3b8);color:#fff}
.lb-rank.bronze{background:linear-gradient(135deg,#fb923c,#ea580c);color:#fff}
.lb-me{border-color:rgba(99,102,241,0.4)!important;background:rgba(99,102,241,0.06)!important}
.lb-list-vip{display:flex;flex-direction:column;gap:10px}
.lb-list-vip .lb-item{padding:14px 16px;border-radius:var(--r-lg)}
.lb-list-vip .lb-item.rank-1{background:linear-gradient(135deg,rgba(245,158,11,0.1),rgba(245,158,11,0.02));border-color:rgba(245,158,11,0.3);box-shadow:0 6px 24px rgba(245,158,11,0.12)}
.lb-list-vip .lb-item.rank-2{background:linear-gradient(135deg,rgba(148,163,184,0.08),rgba(148,163,184,0.02));border-color:rgba(148,163,184,0.25)}
.lb-list-vip .lb-item.rank-3{background:linear-gradient(135deg,rgba(251,146,60,0.08),rgba(251,146,60,0.02));border-color:rgba(251,146,60,0.25)}
.lb-avatar{width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex-shrink:0}

/* ─── TIMELINE STYLES ─── */
.ord-card,.order-card{
  background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-md);
  padding:14px;margin-bottom:10px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  transition:all .25s;
}
.ord-card:hover,.order-card:hover{border-color:rgba(255,255,255,0.10)}
.ord-head,.order-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}
.ord-product,.order-product{font-size:14px;font-weight:700;color:var(--t-1);flex:1;min-width:0}
.ord-date,.order-date{font-size:11px;color:var(--t-4);flex-shrink:0}
.ord-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.ord-price,.order-price{font-size:15px;font-weight:800;color:var(--primary-light);font-variant-numeric:tabular-nums}
.ord-code{font-size:10px;color:var(--t-4);font-family:var(--font-mono);margin-bottom:8px}
.ord-key-row{margin-top:8px;background:var(--bg);border:1px solid var(--b-1);border-radius:var(--r-sm);padding:10px 12px}
.ord-key-label{font-size:11px;color:var(--t-3);margin-bottom:6px}
.ord-key-val{font-family:var(--font-mono);font-size:12px;color:transparent;background:var(--surface-2);padding:8px 10px;border-radius:var(--r-sm);cursor:pointer;word-break:break-all;user-select:all;filter:blur(5px);transition:filter .2s}
.ord-key-val.revealed{color:var(--primary-light);filter:blur(0)}

/* ─── MISC ─── */
.ref-link-box{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-sm);padding:12px;font-size:12px;color:var(--primary-light);word-break:break-all;font-family:var(--font-mono);margin-bottom:12px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.ref-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-sm);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ref-row-label{font-size:12px;color:var(--t-3)}
.ref-row-val{font-size:14px;font-weight:800;background:linear-gradient(135deg,#10b981,#34d399);-webkit-background-clip:text;background-clip:text;color:transparent}
.ref-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.ref-stat-box{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-sm);padding:12px;text-align:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ref-stat-val{font-size:16px;font-weight:800;color:var(--primary-light)}
.ref-stat-label{font-size:10px;color:var(--t-4);text-transform:uppercase;letter-spacing:0.5px;font-weight:600;margin-top:2px}
.ref-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.btn-ref-action{padding:11px;border-radius:var(--r-sm);font-size:12px;font-weight:700;cursor:pointer;transition:all .2s;min-height:44px}
.btn-ref-action:active{transform:scale(.96)}
.btn-ref-copy{background:var(--surface-2);border:1px solid var(--b-2);color:var(--t-2)}
.btn-ref-share{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;box-shadow:0 4px 14px rgba(99,102,241,0.3)}
.lang-toggle{display:inline-flex;background:var(--surface-2);border:1px solid var(--b-1);border-radius:var(--r-pill);padding:2px;font-size:10px;font-weight:700}
.lang-toggle button{border:none;background:none;color:var(--t-4);padding:4px 10px;border-radius:var(--r-pill);cursor:pointer}
.lang-toggle button.active{background:var(--primary);color:#fff}
.pkg-list{display:flex;flex-direction:column;gap:8px}
.bank-item{
  background:var(--glass);border:1px solid var(--glass-border);
  border-radius:var(--r-lg);padding:16px;margin-bottom:10px;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  position:relative;overflow:hidden;transition:all .25s;
}
.bank-item::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(167,139,250,0.15),transparent)}
.bank-item:hover{border-color:rgba(255,255,255,0.10);box-shadow:0 8px 24px rgba(139,92,246,0.06)}
.bank-item-name{font-size:13px;font-weight:700;color:var(--t-1);margin-bottom:10px;letter-spacing:-0.2px}
.bank-item .ibox-row{border-bottom-color:rgba(255,255,255,0.04)}
.bank-item .ibox-row:last-child{border-bottom:none}
.badge-pill{display:inline-flex;align-items:center;font-size:10px;font-weight:700;padding:3px 8px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--t-3)}
.badge-pill.hot{background:linear-gradient(135deg,#ef4444,#f97316);color:#fff;animation:flame-flicker 1.5s ease-in-out infinite}
.badge-pill.new{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff}
.badge-pill.success{background:rgba(16,185,129,0.14);color:#34d399}
.warn-box{background:rgba(245,158,11,0.05);border:1px solid rgba(245,158,11,0.12);border-radius:var(--r-md);padding:14px 16px;font-size:11px;color:var(--t-3);line-height:1.7;margin-top:12px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.warn-box strong{color:var(--vip-gold-2);font-weight:800}
.copy-chip{font-size:10px;padding:4px 10px;border-radius:var(--r-pill);background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;font-weight:700;margin-left:6px;border:none;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px rgba(139,92,246,0.25);display:inline-flex;align-items:center;gap:4px}
.copy-chip svg{width:12px;height:12px;pointer-events:none}
.copy-chip:active{transform:scale(.9)}
.copy-chip:hover{box-shadow:0 4px 12px rgba(139,92,246,0.35)}
.copy-chip.copied{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 8px rgba(16,185,129,0.25)}
.qr-wrap{text-align:center;margin:14px 0 4px;padding:18px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.06);border-radius:var(--r-md);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);position:relative;overflow:hidden}
.qr-wrap::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,0.03),transparent 60%);pointer-events:none}
.qr-wrap img{width:100%;max-width:180px;border-radius:12px;display:block;margin:0 auto;position:relative;z-index:1;box-shadow:0 4px 16px rgba(0,0,0,0.3)}
.qr-hint{font-size:10px;color:var(--t-4);margin-top:8px;font-weight:600;position:relative;z-index:1}

/* ─── IBOX (payment/product detail info card) ─── */
.ibox{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-md);padding:4px 16px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.bank-item .ibox{margin-top:8px}
.ibox-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.04)}
.ibox-row:last-child{border-bottom:none}
.ibox-l{font-size:12px;color:var(--t-3);flex-shrink:0;display:flex;align-items:center;gap:6px}
.ibox-r{font-size:13px;font-weight:700;color:var(--t-1);text-align:right;word-break:break-all;max-width:60%}
.ibox-r.accent{color:var(--primary-light)}.ibox-r.gold{font-size:17px;font-weight:800;background:linear-gradient(135deg,var(--vip-gold),var(--vip-gold-2));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 20px rgba(245,158,11,0.3)}.ibox-r.purple{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--primary-light);letter-spacing:-0.3px;background:rgba(139,92,246,0.06);padding:4px 10px;border-radius:var(--r-sm);border:1px solid rgba(139,92,246,0.1)}.ibox-r.green{color:var(--success);font-weight:700}
.ibox-r .copy-chip{margin-left:8px}

/* ─── STAT TILE (profile overview) ─── */
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:4px}
.stat-tile{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-md);padding:14px 6px;text-align:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:relative;overflow:hidden;transition:all .25s;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:90px;gap:4px}
.stat-tile::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(167,139,250,0.12),transparent)}
.stat-tile:hover{border-color:rgba(255,255,255,0.10);box-shadow:0 4px 16px rgba(139,92,246,0.06)}
.stat-tile-ico{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;margin-bottom:0;flex-shrink:0}
.stat-tile-ico.purple{background:rgba(139,92,246,0.15);color:var(--primary-light)}
.stat-tile-ico.gold{background:rgba(245,158,11,0.15);color:var(--vip-gold-2)}
.stat-tile-ico.green{background:rgba(16,185,129,0.15);color:#34d399}
.stat-tile-val{font-size:17px;font-weight:800;color:var(--t-1);margin-bottom:2px;font-variant-numeric:tabular-nums;letter-spacing:-0.3px}
.stat-tile-label{font-size:10px;color:var(--t-4);text-transform:uppercase;letter-spacing:0.6px;font-weight:600}

/* ─── ORDER ITEM (profile inventory) ─── */
.ord-item{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-lg);padding:16px;margin-bottom:10px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all .25s;position:relative;overflow:hidden}
.ord-item::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(167,139,250,0.12),transparent)}
.ord-item:hover{border-color:rgba(255,255,255,0.10);box-shadow:0 8px 24px rgba(139,92,246,0.06)}
.ord-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px}
.ord-name{font-size:15px;font-weight:700;color:var(--t-1);flex:1;min-width:0;letter-spacing:-0.2px}
.ord-price{font-size:17px;font-weight:800;color:var(--primary-light);flex-shrink:0;font-variant-numeric:tabular-nums}
.ord-meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--t-4);margin-top:6px;padding-top:8px;border-top:1px solid rgba(255,255,255,0.04)}
.ord-key-wrap{margin-top:12px;display:flex;align-items:center;gap:8px}
.ord-key{flex:1;min-width:0;padding:12px 14px;background:rgba(0,0,0,0.2);border:1px solid rgba(139,92,246,0.1);border-radius:var(--r-sm);font-family:var(--font-mono);font-size:12px;color:var(--primary-light);word-break:break-all;cursor:pointer;transition:all .25s;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);user-select:all}
.ord-key:hover{border-color:rgba(139,92,246,0.3);background:rgba(139,92,246,0.04)}
.btn-copy-key{width:38px;height:38px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--b-2);color:var(--primary-light);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0}
.btn-copy-key:active{transform:scale(.9)}
.btn-copy-key svg{width:16px;height:16px;pointer-events:none}
.btn-copy-key.copied{background:rgba(16,185,129,.14);border-color:rgba(16,185,129,.3);color:#34d399}
#profileInventory .ord-item:last-child{margin-bottom:0}

/* ─── ORDER CARD (loadOrders) ─── */
.ord-card,.order-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-md);padding:16px;margin-bottom:10px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all .25s;position:relative;overflow:hidden}
.ord-card::before,.order-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(167,139,250,0.12),transparent)}
.ord-card:hover,.order-card:hover{border-color:rgba(255,255,255,0.10);box-shadow:0 8px 24px rgba(139,92,246,0.06)}
.ord-head,.order-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}
.ord-product,.order-product{font-size:14px;font-weight:700;color:var(--t-1);flex:1;min-width:0}
.ord-date,.order-date{font-size:11px;color:var(--t-4);flex-shrink:0}
.ord-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.ord-price,.order-price{font-size:15px;font-weight:800;color:var(--primary-light);font-variant-numeric:tabular-nums}
.ord-code{font-size:10px;color:var(--t-4);font-family:var(--font-mono);margin-bottom:8px}
.ord-key-row{margin-top:8px;background:var(--bg);border:1px solid var(--b-1);border-radius:var(--r-sm);padding:10px 12px}
.ord-key-label{font-size:11px;color:var(--t-3);margin-bottom:6px}
.ord-key-val{font-family:var(--font-mono);font-size:12px;color:transparent;background:var(--surface-2);padding:8px 10px;border-radius:var(--r-sm);cursor:pointer;word-break:break-all;user-select:all;filter:blur(5px);transition:filter .2s}
.ord-key-val.revealed{color:var(--primary-light);filter:blur(0)}

/* ─── PRODUCT DETAIL ─── */
.pdetail-img{width:100%;border-radius:var(--r-md);margin-bottom:14px;background:var(--surface-2)}
.pdetail-title{font-size:18px;font-weight:800;color:var(--t-1);margin-bottom:6px;letter-spacing:-0.3px}
.pdetail-price{font-size:24px;font-weight:800;color:var(--primary-light);margin-bottom:14px;font-variant-numeric:tabular-nums}
.pdetail-desc{font-size:12px;color:var(--t-3);line-height:1.7;margin-bottom:14px;padding:12px 14px;background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-sm);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}

/* ─── ORDER TYPE BADGE ─── */
.ord-type-badge{font-size:10px;font-weight:700;padding:3px 8px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--t-3);display:inline-block;margin-right:6px}
.ord-type-badge.key{background:rgba(99,102,241,0.14);color:var(--primary-light)}
.ord-type-badge.account{background:rgba(16,185,129,0.14);color:#34d399}
.ord-type-badge.link{background:rgba(6,182,212,0.14);color:var(--cyan)}
.ord-status-refunded{font-size:10px;font-weight:700;padding:3px 8px;border-radius:var(--r-pill);background:rgba(245,158,11,0.14);color:var(--warning)}
.btn-reopen-deposit{display:inline-block;margin-top:6px;padding:4px 10px;border-radius:var(--r-pill);background:var(--primary-soft);border:1px solid rgba(139,92,246,0.3);color:var(--primary-light);font-size:11px;font-weight:700;cursor:pointer;transition:all .2s}
.btn-reopen-deposit:active{transform:scale(.95)}
.btn-reopen-deposit:hover{background:var(--primary);color:#fff}

/* ─── VIP TAB PILLS (leaderboard period tabs) ─── */
.vip-tab-pills{display:flex;gap:8px;margin-bottom:18px;padding:4px;background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-pill);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.vip-tab-pill{flex:1;padding:10px 14px;border-radius:var(--r-pill);font-size:12px;font-weight:700;color:var(--t-3);background:none;border:none;cursor:pointer;transition:all .25s;text-align:center}
.vip-tab-pill.active{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;box-shadow:0 4px 14px rgba(139,92,246,0.4)}
.vip-tab-pill:active{transform:scale(.96)}

/* ─── CATEGORY TILE (shop grid) ─── */
.cat-tile{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-md);padding:16px 12px;text-align:center;cursor:pointer;transition:all .2s;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.cat-tile:active{transform:scale(.96)}
.cat-tile:hover,.cat-tile.active{background:var(--primary-soft);border-color:rgba(99,102,241,0.4)}
.cat-tile-icon{font-size:28px;margin-bottom:6px;display:block}
.cat-tile-name{font-size:12px;font-weight:700;color:var(--t-1)}
.cat-tile-count{font-size:10px;color:var(--t-4);margin-top:3px;text-transform:uppercase;letter-spacing:0.4px}

/* ─── FEED ACTION + AMOUNT ─── */
.feed-action{font-size:11px;font-weight:700;padding:3px 8px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--t-3)}
.feed-action.buy{background:rgba(99,102,241,0.14);color:var(--primary-light)}
.feed-action.dep{background:rgba(16,185,129,0.14);color:#34d399}
.feed-amount{font-size:13px;font-weight:800;color:var(--primary-light);margin-left:auto;flex-shrink:0}

/* ─── DEPOSIT HISTORY EXTRA ─── */
.dep-hist-ref{font-family:var(--font-mono);font-size:10px;color:var(--t-4)}
.dep-hist-date{font-size:10px;color:var(--t-5)}
.dep-hist-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}

/* ─── CARD RATES TABLE ─── */
.card-rates-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--glass);border-radius:var(--r-md);overflow:hidden;font-size:12px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.card-rates-table th{background:var(--surface-2);color:var(--t-3);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.4px;padding:8px 10px;text-align:left}
.card-rates-table td{padding:8px 10px;border-top:1px solid var(--b-1);color:var(--t-2)}
.card-rates-table tr:hover td{background:var(--surface-2)}
.card-rates-recv{font-weight:800;color:var(--success)}
.tc-ico{font-size:18px;margin-bottom:4px;display:block}
.receive{font-weight:700;color:var(--success)}

/* ─── VOUCHER ─── */
.voucher-row{display:flex;gap:8px;margin-bottom:10px}
.voucher-input{flex:1;padding:10px 12px;background:var(--glass);border:1.5px solid var(--glass-border);border-radius:var(--r-sm);color:var(--t-1);font-size:13px;outline:none;transition:all .2s;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.voucher-input:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(99,102,241,0.12)}
.voucher-result{font-size:12px;padding:8px 0 4px;margin-bottom:8px}
.voucher-result.ok{color:#34d399;font-weight:700}
.voucher-result.err{color:var(--danger);font-weight:600}

.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-muted{color:var(--t-4)}
.fade-out{opacity:0;transition:opacity .3s}
.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mb-12{margin-bottom:12px}

/* ─── RESPONSIVE ─── */
@media(min-width:768px){
  .product-grid{grid-template-columns:repeat(3,1fr)}
  body{max-width:600px;margin:0 auto;box-shadow:0 0 60px rgba(0,0,0,0.4);min-height:100vh;position:relative}
  #appHeader,#bottomNav{max-width:600px!important;margin-left:auto!important;margin-right:auto!important}
  #bottomNav{border-radius:16px 16px 0 0;left:50%!important;right:auto!important;transform:translateX(-50%)}
  body::before{max-width:600px;margin:0 auto;left:50%!important;transform:translateX(-50%)}
}
@media(min-width:1024px){body{box-shadow:0 0 80px rgba(0,0,0,0.5)}}
@media(max-width:379.98px){
  .hero-title{font-size:24px}.wh-balance{font-size:30px}
  .dep-grid{grid-template-columns:repeat(2,1fr)}.card-amount-grid{grid-template-columns:repeat(2,1fr)}.card-telco-grid{grid-template-columns:repeat(2,1fr)}
  .page{padding:16px 12px calc(var(--nav-h) + 24px)}.hero,.wallet-hero{padding:22px 16px 20px}.product-grid{gap:8px}.modal-sheet{padding:12px 14px calc(16px + env(safe-area-inset-bottom))}
}
@media(max-width:339.98px){
  body{font-size:13px}.hero-title{font-size:20px}.wh-balance{font-size:26px}
  .hero-stat-n{font-size:16px}.dep-btn-val,.card-amount-val{font-size:14px}.btn-main{font-size:13px;padding:12px}
  .page{padding:14px 10px calc(var(--nav-h) + 20px)}
}
@media(max-width:480px){
  #appHeader,#bottomNav{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
}
.btn-main,.btn-buy,.btn-buy-full,.dep-btn,.card-telco-btn,.card-amount-btn,.tab-btn,.lb-filter-btn,.btn-ref-action{min-height:44px}
.product-buy{min-height:38px}.copy-btn,.copy-chip{min-height:28px}

/* COMPACT INLINE APP PICKER */
.app-picker-card{padding:9px!important;overflow:hidden}.app-picker-trigger{width:100%;min-height:58px;padding:7px 8px 7px 10px;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--t-1);font:inherit;text-align:left;cursor:pointer}.app-picker-label{display:flex;align-items:center;gap:8px;min-width:0;font-size:13px;font-weight:750}.app-picker-label-ico{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;border-radius:7px;background:rgba(139,92,246,.16);color:#c4b5fd;font-size:12px}.app-picker-current{max-width:58%;min-width:0;padding:8px 10px;display:flex;align-items:center;gap:8px;border:1px solid rgba(196,181,253,.22);border-radius:18px;background:rgba(255,255,255,.055)}.app-picker-current-ico{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex:0 0 24px;overflow:hidden;border-radius:7px;background:rgba(139,92,246,.13);font-size:13px}.app-picker-current-ico img{width:100%;height:100%;object-fit:cover}.app-picker-current-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800}.app-picker-chevron{width:8px;height:8px;flex:0 0 8px;border-right:2px solid #ddd6fe;border-bottom:2px solid #ddd6fe;transform:rotate(45deg) translateY(-2px);transition:transform .2s ease}.app-picker-card.open .app-picker-chevron{transform:rotate(225deg) translate(-1px,-1px)}.app-picker-panel{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .22s ease,opacity .18s ease}.app-picker-panel.open{grid-template-rows:1fr;opacity:1}.app-picker-panel>.cat-picker-list{max-height:420px;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-y:auto!important;touch-action:pan-y!important;padding-right:4px}.app-picker-card .cat-picker-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 0 0;border-top:1px solid transparent}.app-picker-card.open .cat-picker-list{border-top-color:rgba(139,92,246,.14)}.app-picker-card .cat-pick-item{width:100%;min-width:0;min-height:58px;padding:9px 10px;display:flex;align-items:center;gap:8px;border:1px solid rgba(196,181,253,.18);border-radius:12px;background:rgba(255,255,255,.035);color:var(--t-1);font:inherit;text-align:left;cursor:pointer}.app-picker-card .cat-pick-item.selected{border-color:rgba(216,180,254,.75);background:linear-gradient(135deg,#d467df,#9459ed)}.app-picker-card .cat-pick-item-ico{width:26px;height:26px;flex:0 0 26px;border-radius:7px;background:rgba(255,255,255,.08);font-size:14px}.app-picker-card .cat-pick-item-ico img{width:100%;height:100%;object-fit:cover;border-radius:7px}.app-picker-card .cat-pick-item-name{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.25;font-size:12.5px;font-weight:800;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.app-picker-empty{grid-column:1/-1;padding:16px;text-align:center;color:var(--t-3);font-size:13px}.app-picker-loading{height:58px;border-radius:12px;background:rgba(255,255,255,.05)}

/* COSMIC COMMERCE V1 */
:root{--bg:#090b1d;--bg-soft:#11142d;--surface:rgba(24,27,57,.82);--surface-2:rgba(38,41,78,.78);--glass:rgba(20,23,51,.74);--glass-border:rgba(181,206,255,.16);--b-1:rgba(190,211,255,.13);--primary:#7c6cf2;--primary-light:#b7adff;--primary-dark:#6554d9;--primary-soft:rgba(124,108,242,.18);--primary-glow:rgba(128,210,255,.38);--t-1:#f8faff;--t-2:#dce5f7;--t-3:#aebbd4;--t-4:#8190ae;--t-5:#65718d}
body{background:linear-gradient(180deg,#10142d 0%,#090b1d 48%,#101329 100%);letter-spacing:0}
body::before{background:radial-gradient(580px 420px at 82% 7%,rgba(105,224,255,.16),transparent 68%),radial-gradient(620px 520px at 9% 35%,rgba(142,103,255,.16),transparent 70%),radial-gradient(560px 420px at 82% 76%,rgba(255,183,97,.08),transparent 65%);animation:none!important}
body::after{opacity:.04}@keyframes cosmic-ambient{to{filter:hue-rotate(10deg) brightness(1.08);transform:scale(1.04)}}
.cosmic-scene{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;perspective:900px}.cosmic-nebula{position:absolute;border-radius:50%;filter:blur(38px);opacity:.42;animation:nebula-breathe 10s ease-in-out infinite alternate}.cosmic-nebula-a{width:250px;height:170px;right:-65px;top:72px;background:rgba(83,207,255,.22);transform:rotate(-24deg)}.cosmic-nebula-b{width:260px;height:210px;left:-110px;top:44%;background:rgba(140,94,255,.2);animation-delay:-4s}@keyframes nebula-breathe{to{opacity:.68;transform:translate3d(12px,-8px,0) scale(1.1)}}
.cosmic-planet{position:absolute;width:210px;height:210px;right:-72px;top:82px;transform:rotateX(8deg) rotateZ(-14deg);transform-style:preserve-3d;animation:planet-float 8s ease-in-out infinite}.cosmic-planet-glow{position:absolute;inset:-26px;border-radius:50%;background:radial-gradient(circle,rgba(107,226,255,.24),rgba(117,101,244,.12) 42%,transparent 68%);filter:blur(8px)}.cosmic-planet-body{position:absolute;inset:30px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 30% 24%,#e8fbff 0 3%,#71d8f0 11%,#7769e8 42%,#27285d 71%,#121633 100%);box-shadow:inset -26px -20px 36px rgba(4,6,25,.65),inset 12px 10px 22px rgba(255,255,255,.2),0 0 34px rgba(92,213,255,.3)}.cosmic-planet-body::before{content:'';position:absolute;inset:12% -10%;border-radius:50%;background:repeating-linear-gradient(168deg,transparent 0 13px,rgba(255,255,255,.12) 15px,transparent 20px);filter:blur(3px);transform:rotate(12deg)}.cosmic-planet-ring{position:absolute;width:230px;height:70px;left:-10px;top:70px;border:9px solid rgba(189,232,255,.44);border-left-color:rgba(143,115,255,.28);border-right-color:rgba(255,196,114,.36);border-radius:50%;box-shadow:0 0 18px rgba(116,214,255,.18);transform:rotateX(64deg);z-index:2}
.cosmic-orbit{position:absolute;border:1px solid rgba(167,214,255,.12);border-radius:50%;transform:rotateX(62deg) rotateZ(-12deg)}.cosmic-orbit-a{width:460px;height:190px;right:-210px;top:82px}.cosmic-orbit-b{width:350px;height:140px;left:-210px;top:48%}.cosmic-orbit span{position:absolute;width:5px;height:5px;border-radius:50%;left:18%;top:-3px;background:#f9e5a4;box-shadow:0 0 12px #ffd86b}.cosmic-horizon{position:absolute;left:-20%;right:-20%;bottom:-125px;height:235px;border-radius:50% 50% 0 0;background:radial-gradient(ellipse at 50% 0,rgba(105,116,231,.28),rgba(25,28,66,.4) 38%,rgba(9,11,29,.1) 68%);border-top:1px solid rgba(150,213,255,.18);box-shadow:0 -14px 45px rgba(94,113,238,.12)}@keyframes planet-float{50%{transform:translate3d(-8px,10px,0) rotateX(8deg) rotateZ(-10deg)}}
#starfield{opacity:.8;transform:translateZ(-40px) scale(1.06)}.star:nth-child(3n){box-shadow:0 0 7px rgba(116,224,255,.9);background:#bceeff}.star:nth-child(5n){box-shadow:0 0 6px rgba(255,214,130,.75);background:#ffe2a1}#appHeader{background:rgba(13,16,39,.76);border-bottom-color:rgba(179,211,255,.14);box-shadow:0 10px 30px rgba(4,6,25,.18)}.page{z-index:2}.page-hero{background:linear-gradient(135deg,rgba(38,42,82,.82),rgba(20,24,57,.68));border-color:rgba(174,213,255,.18);box-shadow:0 18px 45px rgba(4,8,33,.2),inset 0 1px rgba(255,255,255,.07)}.vip-card,.ord-card,.order-card,.ord-item,.txn-row,.dep-method-card,.cat-tile{box-shadow:0 14px 35px rgba(4,7,30,.18),inset 0 1px rgba(255,255,255,.055)}.app-picker-card{background:linear-gradient(145deg,rgba(31,35,72,.9),rgba(20,24,55,.82));border-color:rgba(168,211,255,.22)}.app-picker-current{background:rgba(129,111,240,.14);border-color:rgba(187,180,255,.3)}.app-picker-card .cat-pick-item{background:rgba(49,53,92,.68);border-color:rgba(187,212,255,.15)}.app-picker-card .cat-pick-item.selected{background:linear-gradient(135deg,#8e72ef,#5ebde2);border-color:rgba(225,246,255,.75);box-shadow:0 8px 20px rgba(83,176,220,.24)}.pkg-row.selected{background:linear-gradient(135deg,rgba(121,104,238,.34),rgba(61,169,205,.22));border-color:rgba(138,222,255,.5);box-shadow:0 7px 22px rgba(39,130,181,.16)}.btn-buy-cta,.btn-vip-primary,.btn-main{box-shadow:0 10px 28px rgba(89,106,233,.28)}#bottomNav{background:rgba(16,19,45,.88);border-top-color:rgba(180,213,255,.16);box-shadow:0 -12px 34px rgba(4,6,25,.28)}#bottomNav .nav-item.active{color:#bfefff}#bottomNav .nav-item.active i{filter:drop-shadow(0 0 9px rgba(103,221,255,.72))}
@media(max-width:480px){.cosmic-planet{right:-92px;top:75px;transform:scale(.88) rotateX(8deg) rotateZ(-14deg)}.cosmic-orbit-a{right:-250px}.cosmic-nebula{filter:blur(28px)}}@media(prefers-reduced-motion:reduce){body::before,.cosmic-nebula,.cosmic-planet,.star{animation:none!important}.cosmic-scene{transform:none}}

/* COSMIC PARTICLE SPHERE V2 */
.cosmic-planet{width:190px;height:190px;right:-48px;top:92px;transform-style:preserve-3d;animation:particle-sphere-float 9s ease-in-out infinite}
.cosmic-planet-body{display:none!important}
.cosmic-dot-sphere{position:absolute;left:50%;top:50%;width:1px;height:1px;display:block;transform-style:preserve-3d;animation:particle-sphere-spin 18s linear infinite}
.cosmic-dot-sphere i{position:absolute;left:0;top:0;width:var(--dot);height:var(--dot);margin:calc(var(--dot)/-2);border-radius:50%;background:#c9f6ff;opacity:var(--alpha);transform:translate3d(var(--x),var(--y),var(--z));box-shadow:0 0 5px rgba(115,226,255,.95),0 0 11px rgba(137,112,255,.45);backface-visibility:visible}
.cosmic-dot-sphere i:nth-child(4n){background:#c9bfff;box-shadow:0 0 6px rgba(172,145,255,.95)}
.cosmic-dot-sphere i:nth-child(9n){background:#ffe2a1;box-shadow:0 0 7px rgba(255,207,115,.9)}
.cosmic-planet-glow{inset:5px;background:radial-gradient(circle,rgba(94,216,255,.05) 0 42%,rgba(120,104,245,.12) 56%,transparent 72%);filter:blur(5px);animation:sphere-pulse 4.5s ease-in-out infinite alternate}
.cosmic-planet-ring{width:218px;height:66px;left:-14px;top:62px;border-width:2px;border-color:rgba(174,229,255,.32);border-left-color:rgba(146,115,255,.5);border-right-color:rgba(255,211,135,.4);transform:rotateX(68deg) rotateZ(-8deg);box-shadow:0 0 14px rgba(111,219,255,.18)}
@keyframes particle-sphere-spin{from{transform:rotateX(-13deg) rotateY(0deg) rotateZ(4deg)}to{transform:rotateX(-13deg) rotateY(360deg) rotateZ(4deg)}}
@keyframes particle-sphere-float{0%,100%{transform:translate3d(0,0,0) rotateZ(-8deg)}50%{transform:translate3d(-10px,12px,0) rotateZ(-3deg)}}
@keyframes sphere-pulse{to{opacity:.85;transform:scale(1.14)}}
#starfield{opacity:1;transform:none;perspective:700px}
.star{animation-name:star-flight,star-twinkle!important;animation-duration:var(--dur),3.2s!important;animation-delay:var(--delay),var(--delay)!important;animation-timing-function:linear,ease-in-out!important;animation-iteration-count:infinite,infinite!important;animation-direction:normal,alternate!important}
.star-depth-0{opacity:.24;filter:blur(.25px)}.star-depth-1{opacity:.48;box-shadow:0 0 5px rgba(167,224,255,.55)}.star-depth-2{opacity:.88;box-shadow:0 0 8px rgba(126,225,255,.9)}
@keyframes star-flight{0%{translate:0 -18vh;scale:.65}100%{translate:var(--drift-x) var(--drift-y);scale:1.35}}
@media(max-width:480px){.cosmic-planet{right:-58px;top:92px;transform:scale(.92)}.cosmic-planet-ring{left:-14px}}
@media(prefers-reduced-motion:reduce){.cosmic-dot-sphere,.cosmic-planet-glow,.star{animation-play-state:paused!important}}
/* COSMIC CANVAS V3 */
#cosmicCanvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;display:block;opacity:1}
#starfield,.cosmic-planet,.cosmic-orbit{display:none!important}
.cosmic-scene{z-index:0}.cosmic-nebula{opacity:.24;filter:blur(52px)}
.page-hero{background:linear-gradient(135deg,rgba(35,39,78,.76),rgba(17,21,49,.67))}
.vip-card{background:rgba(20,23,51,.7);border-color:rgba(181,206,255,.17)}
.app-picker-card{background:linear-gradient(145deg,rgba(31,35,72,.82),rgba(20,24,55,.72))}
@media(max-width:480px){#cosmicCanvas{opacity:.96}.vip-card{background:rgba(20,23,51,.74)}}
@media(prefers-reduced-motion:reduce){#cosmicCanvas{opacity:.82}}
.page,.vip-card,.pcard,.product,.cat-pill,.cat-tile,.feed-item,.feed-row,.dep-method-card,.dep-btn,.dep-hist-item,.txn-item,.txn-row,.lb-item,.info-card,.stat-tile,.prof-stat,.ord-item,.ord-card,.order-card,.bank-item,.ref-link-box,.ref-row,.ref-stat-box,.cat-pick-item,.pkg-row,.select-card,.wallet-hero,.dep-grid>*,.card-amount-grid>*,.card-telco-grid>*{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
/* PACKAGE GRID V2 - compact centered cards matching the reference style */
#homeProducts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:2px}
#homeProducts .pkg-row{min-height:84px;height:84px;padding:10px 8px;display:flex;align-items:center;justify-content:center;gap:3px;border-radius:18px;border:1px solid rgba(177,151,224,.28);background:linear-gradient(145deg,rgba(30,10,48,.96),rgba(18,7,34,.92));box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 8px 18px rgba(8,2,20,.18);transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}
#homeProducts .pkg-row:hover{transform:translateY(-2px);border-color:rgba(179,146,244,.58);background:linear-gradient(145deg,rgba(43,15,67,.98),rgba(21,8,40,.96));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 22px rgba(98,45,151,.2)}
#homeProducts .pkg-row:active{transform:scale(.96);transition-duration:.07s}
#homeProducts .pkg-row.selected{transform:translateY(-1px);border-color:rgba(128,232,255,.78);background:linear-gradient(145deg,rgba(48,19,75,.98),rgba(20,13,55,.96));box-shadow:0 0 0 2px rgba(116,219,255,.14),0 10px 24px rgba(63,120,190,.22)}
#homeProducts .pkg-info{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
#homeProducts .pkg-name{font-size:16px;line-height:1.15;font-weight:800;letter-spacing:0;color:#f8f5ff;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
#homeProducts .pkg-row:nth-child(even) .pkg-name{color:#7eeaff}
#homeProducts .pkg-stock{display:block;margin-top:3px;font-size:11px;color:var(--t-3);text-align:center}
#homeProducts .pkg-row:disabled,#homeProducts .pkg-row.is-out{opacity:1!important;cursor:not-allowed;border-color:rgba(239,68,68,0.32)!important;background:linear-gradient(145deg,rgba(34,18,38,0.92),rgba(20,12,26,0.88))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,0.04)!important}
#homeProducts .pkg-row:disabled:hover,#homeProducts .pkg-row.is-out:hover{transform:none!important;box-shadow:none!important;border-color:rgba(239,68,68,0.32)!important}
.pkg-out-badge{display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#ff6b6b;background:rgba(239,68,68,0.16);border:1px solid rgba(239,68,68,0.4);padding:5px 9px;border-radius:8px;letter-spacing:0.4px;text-transform:uppercase;box-shadow:0 0 10px rgba(239,68,68,0.18);white-space:nowrap}
#homeProducts .pkg-price{align-self:auto;padding:0;background:none;border:0;border-radius:0;color:#fff;font-size:14px;line-height:1.15;font-weight:700;box-shadow:none}
@media(max-width:340px){#homeProducts{gap:7px}#homeProducts .pkg-row{height:78px;min-height:78px;border-radius:15px}#homeProducts .pkg-name{font-size:14px}#homeProducts .pkg-price{font-size:13px}}
@media(prefers-reduced-motion:reduce){#homeProducts .pkg-row{transition:none!important;transform:none!important}}
/* PACKAGE GRID V3 - keep the current cosmic palette */
#homeProducts .pkg-row{border-color:rgba(181,206,255,.22);background:linear-gradient(145deg,rgba(31,35,72,.9),rgba(20,24,55,.86));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 18px rgba(4,8,33,.2)}
#homeProducts .pkg-row:hover{border-color:rgba(138,222,255,.5);background:linear-gradient(145deg,rgba(48,56,108,.92),rgba(24,34,72,.9));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 22px rgba(39,130,181,.18)}
#homeProducts .pkg-row.selected{border-color:rgba(138,222,255,.72);background:linear-gradient(145deg,rgba(121,104,238,.34),rgba(61,169,205,.22));box-shadow:0 0 0 2px rgba(138,222,255,.14),0 10px 24px rgba(39,130,181,.2)}
#homeProducts .pkg-name{color:#f8faff}
#homeProducts .pkg-row:nth-child(even) .pkg-name{color:#8de7ff}
#homeProducts .pkg-price{color:#dce5f7}
/* SELLER DISCOUNT PRICE DISPLAY */
#homeProducts .pkg-row.has-discount{height:auto;min-height:84px;padding-top:8px;padding-bottom:8px}
.pkg-price-group{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1.1}
.pkg-price-current{font-size:14px;font-weight:800;color:#8de7ff}
.pkg-price-original{font-size:11px;font-weight:500;color:#94a3b8;text-decoration:line-through;opacity:.85}
.pcard-price-group{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-bottom:6px}
.pcard-original-price{font-size:11px;font-weight:500;color:#94a3b8;text-decoration:line-through;opacity:.85}
.pdetail-price-group{display:flex;flex-direction:column;align-items:center;gap:4px}
.pdetail-original-price{font-size:13px;font-weight:500;color:#94a3b8;text-decoration:line-through;opacity:.85}

/* ============================================================ */
/*  SECURITY SHIELD & SELECTION PROTECTION                      */
/* ============================================================ */
body {
  -webkit-user-select: none !important;
  user-select: none !important;
  -webkit-touch-callout: none !important;
}
input, textarea, [contenteditable="true"], .key-mono, .key-item, .bank-val, .order-code, .selectable, [data-selectable="true"], .copy-target, .ord-code, .suc-receipt-key, .suc-kv-v {
  -webkit-user-select: text !important;
  user-select: text !important;
  -webkit-touch-callout: default !important;
}
.security-toast-hud {
  position: fixed !important;
  bottom: 30px !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(30px) !important;
  background: rgba(14, 18, 38, 0.96) !important;
  border: 1px solid rgba(244, 63, 94, 0.5) !important;
  color: #f8fafc !important;
  padding: 12px 22px !important;
  border-radius: 14px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.7), 0 0 20px rgba(244, 63, 94, 0.3) !important;
  z-index: 9999999 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.security-toast-hud.active {
  opacity: 1 !important;
  transform: translateX(-50%) translateY(0) !important;
}
.security-toast-hud svg {
  color: #f43f5e !important;
  flex-shrink: 0 !important;
}

/* ============================================================ */
.update-toast {
  position: fixed !important;
  bottom: 80px !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(100px) !important;
  background: linear-gradient(135deg, #7c3aed, #ec4899) !important;
  color: #fff !important;
  padding: 10px 14px 10px 18px !important;
  border-radius: 50px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6), 0 0 20px rgba(236, 72, 153, 0.4) !important;
  z-index: 99999999 !important;
  opacity: 0 !important;
  transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1), transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  pointer-events: none !important;
}
.update-toast.is-visible {
  opacity: 1 !important;
  transform: translateX(-50%) translateY(0) !important;
  pointer-events: auto !important;
}
.update-toast button {
  background: #fff !important;
  color: #7c3aed !important;
  border: none !important;
  padding: 6px 14px !important;
  border-radius: 30px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  font-size: 12px !important;
  flex-shrink: 0 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
  transition: transform 0.15s ease !important;
}
.update-toast button:active {
  transform: scale(0.94) !important;
}
@media (max-width: 480px) {
  .update-toast {
    left: 16px !important;
    right: 16px !important;
    transform: translateY(100px) !important;
    width: auto !important;
    justify-content: space-between !important;
  }
  .update-toast.is-visible {
    transform: translateY(0) !important;
  }
}

/* ============================================================ */
/*  LUCIDE VECTOR ICONS STANDARDIZATION                         */
/* ============================================================ */
.lucide, [data-lucide] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
  stroke-width: 2.2px !important;
  stroke: currentColor !important;
  fill: none !important;
  width: 18px;
  height: 18px;
}
.page-hero-icon svg, .page-hero-icon [data-lucide] {
  width: 26px !important;
  height: 26px !important;
  color: #ffffff !important;
}
.stat-tile-ico svg, .stat-tile-ico [data-lucide] {
  width: 22px !important;
  height: 22px !important;
}
.app-picker-label-ico svg, .app-picker-label-ico [data-lucide] {
  width: 16px !important;
  height: 16px !important;
  color: #a78bfa !important;
}
.app-picker-current-ico svg, .app-picker-current-ico [data-lucide] {
  width: 18px !important;
  height: 18px !important;
}
.vip-card-title .ico svg, .vip-card-title .ico [data-lucide] {
  width: 16px !important;
  height: 16px !important;
}
.dep-input-ico svg, .dep-input-ico [data-lucide] {
  width: 18px !important;
  height: 18px !important;
}
.dmc-ico svg, .dmc-ico [data-lucide] {
  width: 24px !important;
  height: 24px !important;
}
#bottomNav .nav-item svg, #bottomNav .nav-item [data-lucide] {
  width: 20px !important;
  height: 20px !important;
  stroke-width: 2.2px !important;
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), stroke 0.2s ease !important;
}
#bottomNav .nav-item.active svg, #bottomNav .nav-item.active [data-lucide] {
  transform: translateY(-2px) scale(1.1) !important;
  color: var(--primary-light) !important;
}
/* Additional Lucide icons sizing & alignment */
.empty-ico svg, .empty-box-ico svg {
  width: 36px !important;
  height: 36px !important;
  stroke-width: 1.8px !important;
  opacity: 0.85;
}
.dep-hist-icon svg, .txn-ico svg {
  width: 18px !important;
  height: 18px !important;
}
.feed-ico svg {
  width: 16px !important;
  height: 16px !important;
}
.tab-btn svg {
  width: 15px !important;
  height: 15px !important;
  vertical-align: -2px !important;
  margin-right: 4px !important;
}
.btn-copy-suc svg, .btn-copy-key svg {
  width: 14px !important;
  height: 14px !important;
}
.toast-msg svg {
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
}
.ord-type-badge svg {
  width: 12px !important;
  height: 12px !important;
  vertical-align: -2px !important;
  margin-right: 3px !important;
}
.cat-pick-item-ico svg {
  width: 20px !important;
  height: 20px !important;
}

/* ============================================================ */
/*  ULTRA SMOOTH 60-120 FPS PERFORMANCE OPTIMIZATIONS          */
/* ============================================================ */
html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overscroll-behavior-y: auto;
}

/* Fast tap response (0ms delay) on all clickable elements */
button, a, .nav-item, .cat-pick-item, .pkg-row, .tab-btn, .game-chip, .qty-btn, .btn-buy-cta, .copy-chip, .btn-copy-suc {
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
  cursor: pointer;
}

/* Native smooth momentum scrolling */
.game-chips-list, .cat-picker-grid, .dep-hist-list, #txnList, #activityFeed {
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
}
.cat-picker-list {
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: auto !important;
}

/* Mobile GPU optimization */
@media (max-width: 640px) {
  /* Replace heavy multi-layered backdrop-filters with solid high-performance dark backgrounds */
  .vip-card, .pcard, .cat-pick-item, .dep-hist-item, .txn-item, .feed-item, .empty-box {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: rgba(14, 16, 36, 0.95) !important;
  }

  /* Keep backdrop-filter light on fixed top/bottom bars only */
  #appHeader, #bottomNav {
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
  }

  /* GPU compositing layers */
  #bottomNav, #appHeader {
    transform: translateZ(0);
  }

  /* Contain layout reflows */
  .page {
    contain: layout style;
  }
}

/* ============================================================ */
/*  VIP WALLET & PAYMENT MODAL REDESIGN                         */
/* ============================================================ */
.vip-method-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 16px;
}
.vip-method-tab {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: var(--r-md);
  background: rgba(255, 255, 255, 0.04);
  border: 1.5px solid rgba(255, 255, 255, 0.08);
  color: var(--t-2);
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  text-align: left;
  position: relative;
}
.vip-method-tab:active {
  transform: scale(0.97);
}
.vip-method-tab.active {
  background: linear-gradient(135deg, rgba(124, 58, 237, 0.18), rgba(6, 182, 212, 0.12)) !important;
  border-color: rgba(167, 139, 250, 0.6) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 20px rgba(124, 58, 237, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
}
.vip-method-tab.active svg {
  color: #a78bfa !important;
}
.vmt-text {
  flex: 1;
  min-width: 0;
}
.vmt-title {
  display: block;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.3;
}
.vmt-sub {
  display: block;
  font-size: 10.5px;
  color: var(--t-4);
  margin-top: 2px;
}
.vip-method-tab.active .vmt-sub {
  color: #c4b5fd;
}
.vmt-radio {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.2s ease;
}
.vip-method-tab.active .vmt-radio {
  border-color: #a78bfa;
  background: #7c3aed;
  box-shadow: 0 0 10px rgba(124, 58, 237, 0.6);
}
.vip-method-tab.active .vmt-radio::after {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ffffff;
}

/* Quick Amount Grid */
.dep-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 14px;
}
@media (max-width: 380px) {
  .dep-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.dep-btn {
  padding: 12px 6px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: var(--t-2);
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  text-align: center;
}
.dep-btn:hover {
  border-color: rgba(167, 139, 250, 0.4);
  background: rgba(167, 139, 250, 0.08);
}
.dep-btn:active {
  transform: scale(0.96);
}
.dep-btn.sel, .dep-btn.active {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.18), rgba(124, 58, 237, 0.18)) !important;
  border-color: rgba(245, 158, 11, 0.85) !important;
  color: #fff !important;
  box-shadow: 0 0 16px rgba(245, 158, 11, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
}
.dep-btn-val {
  font-size: 13.5px;
  font-weight: 800;
  letter-spacing: -0.2px;
  font-variant-numeric: tabular-nums;
}
.dep-btn.sel .dep-btn-val, .dep-btn.active .dep-btn-val {
  color: var(--vip-gold-2);
}

/* Suffix for custom amount input */
.dep-input-wrap {
  position: relative;
  margin-bottom: 6px;
}
.dep-input-suffix {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--vip-gold-2);
  font-weight: 800;
  font-size: 12px;
  pointer-events: none;
  letter-spacing: 0.5px;
}
.dep-input-vip {
  padding-left: 42px !important;
  padding-right: 56px !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 14px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  height: 52px !important;
  width: 100% !important;
  outline: none !important;
  transition: all 0.25s ease !important;
}
.dep-input-vip:focus {
  border-color: var(--vip-gold) !important;
  background: rgba(245, 158, 11, 0.04) !important;
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.15), 0 0 20px rgba(245, 158, 11, 0.1) !important;
}

.dep-guarantee-note {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11.5px;
  color: var(--t-3);
  background: rgba(16, 185, 129, 0.06);
  border: 1px solid rgba(16, 185, 129, 0.2);
  border-radius: 12px;
  padding: 10px 14px;
  margin-top: 14px;
  line-height: 1.5;
}

/* Payment Modal (VietQR) Improvements */
.pay-highlight-card {
  background: linear-gradient(145deg, rgba(124, 58, 237, 0.15), rgba(6, 182, 212, 0.1));
  border: 1px solid rgba(167, 139, 250, 0.35);
  border-radius: 18px;
  padding: 16px;
  margin-bottom: 14px;
}
.pay-amount-box {
  text-align: center;
  padding-bottom: 12px;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.1);
  margin-bottom: 12px;
}
.pay-amount-lbl {
  font-size: 10.5px;
  font-weight: 700;
  color: #a78bfa;
  letter-spacing: 1px;
  text-transform: uppercase;
  display: block;
  margin-bottom: 4px;
}
.pay-amount-num {
  font-size: 28px;
  font-weight: 900;
  background: linear-gradient(135deg, #ffd166, #ff9f1c);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.5px;
}
.pay-memo-box {
  background: rgba(10, 8, 24, 0.85);
  border: 1.5px solid rgba(192, 132, 252, 0.5);
  border-radius: 14px;
  padding: 12px 14px;
  box-shadow: 0 0 20px rgba(124, 58, 237, 0.2);
}
.pay-memo-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  font-size: 11px;
  font-weight: 700;
  color: #c084fc;
}
.pay-memo-req {
  font-size: 9px;
  font-weight: 800;
  background: #ef4444;
  color: #fff;
  padding: 2px 6px;
  border-radius: 6px;
  letter-spacing: 0.5px;
}
.pay-memo-body {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  padding: 8px 12px;
}
.pay-memo-code {
  font-family: var(--font-mono, monospace);
  font-size: 18px;
  font-weight: 900;
  color: #38bdf8;
  letter-spacing: 1px;
}
.btn-copy-memo {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  border-radius: 8px;
  background: linear-gradient(135deg, #7c3aed, #9333ea);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  border: none;
  cursor: pointer;
  transition: transform 0.15s ease;
}
.btn-copy-memo:active {
  transform: scale(0.95);
}
.pay-memo-warn {
  font-size: 11px;
  color: var(--t-3);
  margin-top: 8px;
  line-height: 1.4;
}
.pay-bank-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 14px;
  margin-bottom: 12px;
}
.pay-bank-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.pay-bank-logo-text {
  display: flex;
  align-items: center;
  gap: 8px;
}
.pay-bank-badge {
  background: rgba(56, 189, 248, 0.15);
  border: 1px solid rgba(56, 189, 248, 0.4);
  color: #38bdf8;
  padding: 3px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 800;
}
.pay-bank-name {
  font-size: 13px;
  font-weight: 750;
  color: var(--t-1);
}
.pay-qr-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 12px 0;
}
.pay-qr-frame {
  background: #ffffff;
  padding: 12px;
  border-radius: 16px;
  box-shadow: 0 0 25px rgba(56, 189, 248, 0.25);
  display: inline-block;
  position: relative;
  max-width: 210px;
  width: 100%;
}
.pay-qr-img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}
.pay-qr-subtext {
  font-size: 11px;
  color: var(--t-3);
  margin-top: 8px;
  text-align: center;
  font-weight: 600;
}
.pay-info-table {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  padding: 4px 12px;
  margin-top: 10px;
}
.pay-info-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  font-size: 12px;
}
.pay-info-row:last-child {
  border-bottom: none;
}
.pay-info-label {
  color: var(--t-4);
  font-weight: 500;
}
.pay-info-val {
  color: var(--t-1);
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 6px;
}
.btn-copy-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 6px;
  background: rgba(56, 189, 248, 0.15);
  border: 1px solid rgba(56, 189, 248, 0.35);
  color: #38bdf8;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
}
.btn-copy-chip:active {
  transform: scale(0.95);
}
.pay-status-hud {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 12px;
  background: rgba(16, 185, 129, 0.08);
  border: 1px solid rgba(16, 185, 129, 0.25);
  color: #34d399;
  font-size: 11.5px;
  font-weight: 600;
  margin-top: 10px;
  text-align: center;
}
.pay-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #34d399;
  box-shadow: 0 0 8px #34d399;
  animation: live-pulse 1.5s infinite;
  flex-shrink: 0;
}

/* ══════════════════════════════════════════════════
   VIP ACTIVITY HISTORY (LỊCH SỬ NẠP & GIAO DỊCH VIP)
   ══════════════════════════════════════════════════ */
.vip-subtabs {
  display: flex;
  gap: 6px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 4px;
  border-radius: 14px;
  margin-bottom: 14px;
}
.vip-subtab-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--t-3);
  background: transparent;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.2s ease;
}
.vip-subtab-btn:active {
  transform: scale(0.97);
}
.vip-subtab-btn.active {
  background: linear-gradient(135deg, rgba(124, 58, 237, 0.35), rgba(167, 139, 250, 0.15));
  border-color: rgba(167, 139, 250, 0.45);
  color: #ffffff;
  box-shadow: 0 2px 10px rgba(124, 58, 237, 0.2);
}

.vip-hist-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 14px;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.vip-hist-card:active {
  transform: scale(0.98);
}
.vip-hist-ico {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.vip-hist-ico.success, .vip-hist-ico.dep, .vip-hist-ico.deposit {
  background: rgba(16, 185, 129, 0.14);
  border: 1px solid rgba(16, 185, 129, 0.3);
  color: #34d399;
}
.vip-hist-ico.pending {
  background: rgba(245, 158, 11, 0.14);
  border: 1px solid rgba(245, 158, 11, 0.3);
  color: #fbbf24;
}
.vip-hist-ico.expired, .vip-hist-ico.failed {
  background: rgba(239, 68, 68, 0.12);
  border: 1px solid rgba(239, 68, 68, 0.25);
  color: #f87171;
}
.vip-hist-ico.buy, .vip-hist-ico.purchase {
  background: rgba(124, 58, 237, 0.16);
  border: 1px solid rgba(124, 58, 237, 0.35);
  color: #c084fc;
}
.vip-hist-ico.bonus {
  background: rgba(6, 182, 212, 0.14);
  border: 1px solid rgba(6, 182, 212, 0.3);
  color: #38bdf8;
}
.vip-hist-ico.refund {
  background: rgba(245, 158, 11, 0.14);
  border: 1px solid rgba(245, 158, 11, 0.3);
  color: #fbbf24;
}
.vip-hist-main {
  flex: 1;
  min-width: 0;
}
.vip-hist-title {
  font-size: 13px;
  font-weight: 750;
  color: var(--t-1);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 3px;
}
.vip-hist-sub {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 10.5px;
  color: var(--t-4);
}
.vip-hist-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  flex-shrink: 0;
}
.vip-hist-amt {
  font-size: 14px;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.2px;
}
.vip-hist-amt.plus { color: #34d399; }
.vip-hist-amt.minus { color: #f43f5e; }
.vip-hist-amt.success { color: #34d399; }
.vip-hist-amt.pending { color: #fbbf24; }
.vip-hist-amt.expired, .vip-hist-amt.failed { color: var(--t-4); text-decoration: line-through; }

.vip-badge-pill {
  font-size: 9.5px;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 999px;
  letter-spacing: 0.3px;
  text-transform: uppercase;
}
.vip-badge-pill.success {
  background: rgba(16, 185, 129, 0.15);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.3);
}
.vip-badge-pill.pending {
  background: rgba(245, 158, 11, 0.15);
  color: #fbbf24;
  border: 1px solid rgba(245, 158, 11, 0.3);
}
.vip-badge-pill.expired, .vip-badge-pill.failed {
  background: rgba(239, 68, 68, 0.12);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.25);
}

.vip-hist-bal {
  font-size: 10.5px;
  color: var(--t-4);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.btn-vip-reopen {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px 8px;
  border-radius: 6px;
  background: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(56, 189, 248, 0.35);
  color: #38bdf8;
  font-size: 10.5px;
  font-weight: 700;
  cursor: pointer;
  margin-top: 2px;
  transition: all 0.15s;
}
.btn-vip-reopen:active {
  transform: scale(0.95);
}


/* ============================================================ */
/*  VIP ULTRA 120FPS SILKY SMOOTH OPTIMIZATION ENGINE           */
/* ============================================================ */
/* 1. Purge GPU-lagging backdrop-filter from repeating cards and list rows */
.page, .vip-card, .pcard, .product, .cat-pill, .cat-tile, .feed-item, .feed-row,
.dep-method-card, .dep-btn, .dep-hist-item, .txn-item, .txn-row, .lb-item,
.info-card, .stat-tile, .prof-stat, .ord-item, .ord-card, .order-card,
.bank-item, .ref-link-box, .ref-row, .ref-stat-box, .cat-pick-item, .pkg-row,
.select-card, .wallet-hero, .dep-grid>*, .card-amount-grid>*, .card-telco-grid>*,
.voucher-input, .card-rates-table, .vip-tab-pills, .dep-input-vip, .dep-input, .card-input,
.card-est-box, .tab-bar, .lb-filter, .modal-sheet .suc-key,
.qr-wrap, .warn-box, .pdetail-desc, .ibox, .page-hero,
.txn-status-dot, .feed-swipe-indicator, .pcard-out, .pcard-type,
.vip-hist-card, .vip-subtabs, .vip-quick-amt, .game-chip, .step-placeholder-box {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  will-change: auto !important;
}

/* 2. Only keep lightweight backdrop-filter on fixed chrome bars & sheets */
#appHeader, #bottomNav, .modal-sheet, .toast {
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  transform: translateZ(0);
}

/* 3. Smooth Hardware 60-120 FPS Rendering - NO jumpy scroll shifts */
.product, .vip-hist-card, .ord-card, .dep-hist-item, .txn-item, .feed-item, .feed-row, .lb-item, .ord-item {
  content-visibility: visible !important;
  contain-intrinsic-size: none !important;
}

/* 4. Native hardware scrolling momentum & buttery smooth scroll */
html, body {
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior-y: auto !important;
  overscroll-behavior-x: none !important;
  scroll-behavior: auto !important;
}
.page {
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior-y: auto !important;
  overscroll-behavior-x: none !important;
  contain: none !important;
}
.app-picker-panel.open > .cat-picker-list {
  max-height: 420px !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior-y: auto !important;
  touch-action: pan-y !important;
}
.app-picker-card .cat-pick-item {
  touch-action: pan-y !important;
  -webkit-user-select: none;
  user-select: none;
}
.cat-picker-list::-webkit-scrollbar {
  width: 4px;
}
.cat-picker-list::-webkit-scrollbar-thumb {
  background: rgba(167, 139, 250, 0.4);
  border-radius: 4px;
}

/* 5. Force all stagger items to stay immediate */
.stagger-item {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

/* ══════════════════════════════════════════════════════════
   6. MODAL NẠP TIỀN THÀNH CÔNG VIP (DEPOSIT SUCCESS OVERLAY)
   ══════════════════════════════════════════════════════════ */
.dep-suc-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.3s !important;
  box-sizing: border-box !important;
}
.dep-suc-overlay.show {
  opacity: 1 !important;
  visibility: visible !important;
}
.dep-suc-backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(6, 4, 16, 0.88) !important;
  backdrop-filter: blur(24px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
}
.dep-suc-card {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: 375px !important;
  background: linear-gradient(150deg, #10192e 0%, #0c0f1e 50%, #070914 100%) !important;
  border: 1.5px solid rgba(52, 211, 153, 0.5) !important;
  border-radius: 28px !important;
  padding: 26px 20px 22px !important;
  text-align: center !important;
  box-shadow: 0 0 45px rgba(16, 185, 129, 0.28), 0 0 90px rgba(6, 182, 212, 0.15), 0 25px 60px rgba(0,0,0,0.7) !important;
  transform: scale(0.82) translateY(15px) !important;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
.dep-suc-overlay.show .dep-suc-card {
  transform: scale(1) translateY(0) !important;
}

/* Ambient glow & Confetti */
.dep-suc-glow {
  position: absolute;
  top: -60px;
  left: 50%;
  transform: translateX(-50%);
  width: 220px;
  height: 160px;
  background: radial-gradient(circle, rgba(16, 185, 129, 0.35) 0%, transparent 70%);
  pointer-events: none;
}
.dep-confetti-container {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.c-dot {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  opacity: 0.8;
  animation: floatConfetti 3s ease-in-out infinite alternate;
}
.c-dot.c1 { top: 15%; left: 12%; background: #34d399; animation-delay: 0.2s; }
.c-dot.c2 { top: 22%; right: 14%; background: #fbbf24; animation-delay: 0.5s; width: 8px; height: 8px; }
.c-dot.c3 { top: 60%; left: 8%; background: #a78bfa; animation-delay: 0.9s; }
.c-dot.c4 { top: 75%; right: 10%; background: #38bdf8; animation-delay: 0.4s; width: 7px; height: 7px; }
.c-dot.c5 { top: 38%; left: 85%; background: #f472b6; animation-delay: 0.7s; }
.c-dot.c6 { top: 85%; left: 45%; background: #34d399; animation-delay: 1.1s; }

@keyframes floatConfetti {
  0% { transform: translateY(0) rotate(0deg); opacity: 0.4; }
  100% { transform: translateY(-14px) rotate(180deg); opacity: 0.9; }
}

/* Checkmark pulse */
.dep-suc-icon-wrap {
  position: relative;
  width: 72px;
  height: 72px;
  margin: 0 auto 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dep-suc-icon-pulse {
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(16, 185, 129, 0.4) 0%, transparent 75%);
  animation: depPulse 2s ease-in-out infinite alternate;
}
@keyframes depPulse {
  0% { transform: scale(0.9); opacity: 0.5; }
  100% { transform: scale(1.15); opacity: 1; }
}
.dep-suc-icon-circle {
  position: relative;
  z-index: 1;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 25px rgba(16, 185, 129, 0.55), inset 0 2px 0 rgba(255,255,255,0.3);
  border: 2px solid rgba(255, 255, 255, 0.2);
}
.dep-suc-ico {
  width: 34px;
  height: 34px;
  color: #fff;
}

.dep-suc-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 12px;
  border-radius: 20px;
  background: rgba(245, 158, 11, 0.12);
  border: 1px solid rgba(245, 158, 11, 0.35);
  color: #fbbf24;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.dep-suc-sub {
  font-size: 13px;
  color: var(--t-3);
  font-weight: 500;
}
.dep-suc-amount {
  font-family: 'Space Grotesk', var(--font);
  font-size: 34px;
  font-weight: 900;
  background: linear-gradient(135deg, #34d399, #10b981, #6ee7b7);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 16px rgba(16, 185, 129, 0.45));
  margin: 4px 0 16px;
  letter-spacing: -0.5px;
}

/* Receipt box */
.dep-suc-receipt {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 16px;
  padding: 12px 14px;
  margin-bottom: 20px;
  text-align: left;
}
.dep-rec-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 0;
  font-size: 12.5px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}
.dep-rec-row:last-child {
  border-bottom: none;
}
.dep-rec-lbl {
  color: var(--t-3);
  display: flex;
  align-items: center;
  gap: 6px;
}
.dep-rec-val {
  font-weight: 700;
  color: #fff;
}
.dep-rec-val.text-gold {
  color: #fbbf24;
}
.dep-rec-val.text-success {
  color: #34d399;
  display: flex;
  align-items: center;
  gap: 5px;
}
.live-dot.green {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #34d399;
  box-shadow: 0 0 6px #34d399;
  display: inline-block;
  animation: live-pulse 1.5s infinite;
}

/* Actions */
.dep-suc-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.btn-dep-primary {
  width: 100%;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: #fff;
  border: none;
  padding: 12px 16px;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-shadow: 0 4px 16px rgba(16, 185, 129, 0.4);
  cursor: pointer;
  transition: all 0.2s ease;
}
.btn-dep-primary:active {
  transform: scale(0.97);
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.3);
}
.btn-dep-secondary {
  width: 100%;
  background: rgba(255, 255, 255, 0.05);
  color: var(--t-2);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 10px 16px;
  border-radius: 14px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}
.btn-dep-secondary:active {
  background: rgba(255, 255, 255, 0.1);
}

/* ══════════════════════════════════════════════════════════
   7. MÀN HÌNH BẢO TRÌ HỆ THỐNG VIP (MAINTENANCE OVERLAY)
   ══════════════════════════════════════════════════════════ */
.maint-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  background: #080716 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.35s ease, visibility 0.35s !important;
  box-sizing: border-box !important;
}
.maint-overlay.show {
  opacity: 1 !important;
  visibility: visible !important;
}
.maint-card {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: 400px !important;
  background: linear-gradient(150deg, #13172e 0%, #0a0c1a 100%) !important;
  border: 1.5px solid rgba(245, 158, 11, 0.45) !important;
  border-radius: 28px !important;
  padding: 32px 24px 24px !important;
  text-align: center !important;
  box-shadow: 0 0 50px rgba(245, 158, 11, 0.25), 0 0 100px rgba(124, 58, 237, 0.15), 0 25px 60px rgba(0,0,0,0.8) !important;
  box-sizing: border-box !important;
}
.maint-ico-wrap {
  position: relative;
  width: 80px;
  height: 80px;
  margin: 0 auto 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.maint-cog-glow {
  position: absolute;
  inset: -8px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245, 158, 11, 0.35) 0%, transparent 75%);
  animation: maintGlow 2.5s ease-in-out infinite alternate;
}
@keyframes maintGlow {
  0% { transform: scale(0.9); opacity: 0.4; }
  100% { transform: scale(1.2); opacity: 0.9; }
}
.maint-icon-circle {
  position: relative;
  z-index: 1;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 25px rgba(245, 158, 11, 0.5), inset 0 2px 0 rgba(255,255,255,0.3);
  border: 2px solid rgba(255, 255, 255, 0.2);
}
.maint-wrench {
  width: 32px;
  height: 32px;
  color: #fff;
  animation: maintWrenchSwing 3s ease-in-out infinite alternate;
}
.maint-cog {
  position: absolute;
  bottom: 2px;
  right: 2px;
  width: 22px;
  height: 22px;
  color: #fef3c7;
  animation: spin 6s linear infinite;
}
@keyframes maintWrenchSwing {
  0% { transform: rotate(-10deg); }
  100% { transform: rotate(20deg); }
}

.maint-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  border-radius: 20px;
  background: rgba(239, 68, 68, 0.14);
  border: 1px solid rgba(239, 68, 68, 0.4);
  color: #fca5a5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.maint-pulse-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ef4444;
  box-shadow: 0 0 6px #ef4444;
  display: inline-block;
  animation: live-pulse 1.2s infinite;
}
.maint-title {
  font-size: 20px;
  font-weight: 800;
  color: #fff;
  margin: 0 0 10px;
  letter-spacing: -0.3px;
}
.maint-message {
  font-size: 13.5px;
  color: var(--t-2);
  line-height: 1.55;
  margin: 0 0 16px;
  white-space: pre-line;
}
.maint-eta-box {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(245, 158, 11, 0.1);
  border: 1px solid rgba(245, 158, 11, 0.25);
  border-radius: 10px;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 600;
  color: #fbbf24;
  margin-bottom: 20px;
}
.maint-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.btn-maint-reload {
  width: 100%;
  background: linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%);
  color: #fff;
  border: none;
  padding: 12px;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-shadow: 0 4px 16px rgba(124, 58, 237, 0.4);
  cursor: pointer;
  transition: all 0.2s ease;
}
.btn-maint-reload.loading .maint-reload-ico {
  animation: spin 0.8s linear infinite;
}
.btn-maint-contact {
  width: 100%;
  background: rgba(255, 255, 255, 0.05);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 11px;
  border-radius: 14px;
  font-size: 13px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-decoration: none;
  transition: all 0.2s ease;
}
.btn-maint-contact:active {
  background: rgba(255, 255, 255, 0.1);
}
.maint-footer {
  margin-top: 18px;
  font-size: 11.5px;
  color: var(--t-4);
}

/* ══════════════════════════════════════════════════════════
   8. ADMIN MAINTENANCE BANNER (TOP STICKY)
   ══════════════════════════════════════════════════════════ */
.admin-maint-banner {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 999999 !important;
  background: linear-gradient(90deg, #b45309, #d97706) !important;
  color: #fff !important;
  padding: 8px 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  font-size: 12px !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.3) !important;
}
.amb-content {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex: 1 !important;
}
.amb-close {
  background: transparent !important;
  border: none !important;
  color: #fff !important;
  font-size: 15px !important;
  cursor: pointer !important;
  padding: 2px 6px !important;
}

/* ══════════════════════════════════════════════════════════
   9. KẾT NỐI API CHO SELLER / SHOP INTEGRATION
   ══════════════════════════════════════════════════════════ */
.api-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 9px;
  border-radius: var(--r-pill);
  background: rgba(16, 185, 129, 0.15);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.35);
}
.api-status-badge.inactive {
  background: rgba(239, 68, 68, 0.15);
  color: #f87171;
  border-color: rgba(239, 68, 68, 0.35);
}
.api-status-badge i, .api-status-badge svg {
  width: 12px;
  height: 12px;
}

.api-token-container {
  background: rgba(11, 15, 30, 0.7);
  border: 1px solid rgba(139, 92, 246, 0.22);
  border-radius: var(--r-md);
  padding: 12px;
  margin-top: 4px;
}
.api-token-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.api-token-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--t-2);
  display: flex;
  align-items: center;
  gap: 5px;
}
.api-token-label svg, .api-token-label i {
  width: 13px;
  height: 13px;
  color: var(--primary-light);
}
.api-token-hint {
  font-size: 11px;
  color: var(--t-4);
}

.api-token-input-group {
  display: flex;
  align-items: center;
  gap: 6px;
}
.api-token-input {
  flex: 1;
  background: rgba(20, 24, 45, 0.9) !important;
  border: 1px solid rgba(139, 92, 246, 0.3) !important;
  border-radius: var(--r-sm) !important;
  color: #38bdf8 !important;
  font-family: var(--font-mono) !important;
  font-size: 12.5px !important;
  padding: 8px 12px !important;
  letter-spacing: 0.5px;
  outline: none;
  user-select: all;
  box-sizing: border-box;
}
.api-token-input:focus {
  border-color: var(--primary-light) !important;
  box-shadow: 0 0 10px rgba(139, 92, 246, 0.3);
}

.btn-api-icon {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--r-sm);
  color: var(--t-2);
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
  flex-shrink: 0;
}
.btn-api-icon:active {
  transform: scale(0.92);
  background: rgba(139, 92, 246, 0.2);
  border-color: var(--primary-light);
  color: #fff;
}
.btn-api-icon svg, .btn-api-icon i, .btn-api-icon path {
  width: 15px;
  height: 15px;
  pointer-events: none;
}

.api-btn-row {
  display: flex;
  gap: 8px;
  align-items: center;
}

/* Modal Tài Liệu API */
#apiDocsModal {
  max-height: 88dvh;
  overflow-y: auto;
}
.api-docs-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}
.api-docs-title {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 8px;
}
.api-docs-title svg, .api-docs-title i {
  color: #60a5fa;
  width: 20px;
  height: 20px;
}

.api-endpoint-card {
  background: rgba(18, 22, 45, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--r-sm);
  padding: 10px 12px;
  margin-bottom: 10px;
}
.api-ep-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.api-method-pill {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 4px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.api-method-pill.get {
  background: rgba(16, 185, 129, 0.2);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.4);
}
.api-method-pill.post {
  background: rgba(59, 130, 246, 0.2);
  color: #60a5fa;
  border: 1px solid rgba(59, 130, 246, 0.4);
}
.api-ep-path {
  font-family: var(--font-mono);
  font-size: 12px;
  color: #f1f5f9;
  word-break: break-all;
}
.api-ep-desc {
  font-size: 12px;
  color: var(--t-3);
  line-height: 1.45;
}

.api-code-nav {
  display: flex;
  gap: 6px;
  background: rgba(10, 12, 24, 0.8);
  padding: 4px;
  border-radius: var(--r-sm);
  margin-bottom: 10px;
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.api-code-tab-btn {
  flex: 1;
  padding: 6px 4px;
  font-size: 11.5px;
  font-weight: 600;
  border-radius: var(--r-xs);
  color: var(--t-3);
  text-align: center;
  cursor: pointer;
  transition: all 0.2s;
}
.api-code-tab-btn.active {
  background: rgba(139, 92, 246, 0.25);
  color: #fff;
  border: 1px solid rgba(167, 139, 250, 0.4);
  box-shadow: 0 0 10px rgba(139, 92, 246, 0.2);
}

.api-code-box {
  position: relative;
  background: #090d1a;
  border: 1px solid rgba(139, 92, 246, 0.25);
  border-radius: var(--r-sm);
  padding: 12px;
  margin-bottom: 12px;
}
.api-code-pre {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 11.5px;
  line-height: 1.6;
  color: #e2e8f0;
  white-space: pre-wrap;
  word-break: break-word;
  overflow-x: auto;
}
.btn-copy-code {
  position: absolute;
  top: 8px;
  right: 8px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: var(--t-2);
  padding: 4px 8px;
  font-size: 11px;
  border-radius: 6px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: all 0.2s;
}
.btn-copy-code:active {
  transform: scale(0.92);
  background: rgba(16, 185, 129, 0.2);
  border-color: #34d399;
  color: #34d399;
}

/* ══════════════════════════════════════════════════════════
   VIP LEADERBOARD PODIUM & MODERN RANKING STYLES
   ══════════════════════════════════════════════════════════ */
.lb-podium-wrap {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  margin: 16px 0 16px 0;
  padding: 16px 6px 0;
  background: radial-gradient(ellipse at center bottom, rgba(124, 58, 237, 0.22), transparent 72%);
  border-radius: 20px;
}

.lb-podium-col {
  flex: 1;
  max-width: 125px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
}

.lb-podium-col.rank-1 {
  order: 2;
  z-index: 3;
}
.lb-podium-col.rank-2 {
  order: 1;
  z-index: 2;
}
.lb-podium-col.rank-3 {
  order: 3;
  z-index: 1;
}

.lb-podium-crown-halo {
  font-size: 22px;
  line-height: 1;
  margin-bottom: -3px;
  z-index: 4;
  animation: crownHover 2.2s ease-in-out infinite alternate;
  filter: drop-shadow(0 0 10px rgba(251, 191, 36, 0.85));
}
@keyframes crownHover {
  0% { transform: translateY(0) scale(1); }
  100% { transform: translateY(-3px) scale(1.08); }
}

.lb-podium-user {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin-bottom: 5px;
  position: relative;
}

/* AVATAR RING WITH REAL PHOTO */
.lb-podium-avatar-ring {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 5px;
  background: #1e1b4b;
  flex-shrink: 0;
}

.lb-podium-col.rank-1 .lb-podium-avatar-ring {
  width: 48px;
  height: 48px;
  border: 2px solid #fbbf24;
  box-shadow: 0 0 16px rgba(251, 191, 36, 0.5), inset 0 0 8px rgba(251, 191, 36, 0.25);
  background: linear-gradient(135deg, #312e81, #1e1b4b);
}

.lb-podium-col.rank-2 .lb-podium-avatar-ring {
  border: 2px solid #cbd5e1;
  box-shadow: 0 0 12px rgba(203, 213, 225, 0.45);
  background: linear-gradient(135deg, #1e293b, #0f172a);
}

.lb-podium-col.rank-3 .lb-podium-avatar-ring {
  border: 2px solid #fb923c;
  box-shadow: 0 0 12px rgba(251, 146, 60, 0.45);
  background: linear-gradient(135deg, #2a1b12, #180d07);
}

.lb-podium-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  display: block;
}

.lb-podium-avatar-fallback {
  font-size: 15px;
  font-weight: 800;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}
.lb-podium-col.rank-1 .lb-podium-avatar-fallback {
  font-size: 17px;
}

.lb-podium-badge-icon {
  position: absolute;
  bottom: -4px;
  right: -4px;
  font-size: 13px;
  line-height: 1;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.6));
}

.lb-podium-badge-wrap {
  margin-bottom: 2px;
  line-height: 1;
}

.lb-podium-name {
  font-size: 11px;
  font-weight: 700;
  color: #f8fafc;
  width: 100%;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
  margin-bottom: 2px;
  display: block;
  padding: 0 2px;
  box-sizing: border-box;
}

.lb-podium-king-badge {
  display: inline-block;
  font-size: 8px;
  font-weight: 800;
  padding: 1.5px 5px;
  border-radius: 4px;
  background: linear-gradient(135deg, #f59e0b, #ef4444);
  color: #fff;
  letter-spacing: 0.5px;
  line-height: 1.2;
}

.lb-podium-amt {
  font-size: 11.5px;
  font-weight: 800;
  color: #38bdf8;
  white-space: nowrap;
  text-align: center;
  width: 100%;
}

.lb-podium-col.rank-1 .lb-podium-amt {
  font-size: 12.5px;
  background: linear-gradient(135deg, #fef08a, #f59e0b);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 900;
}

.lb-podium-txns {
  font-size: 9px;
  color: #94a3b8;
  margin-bottom: 4px;
  text-align: center;
  width: 100%;
}

/* ══════════════════════════════════════════════════════════
   PODIUM 3 ANIME CHARACTERS (TOP 1 2 3 ON PODIUM PILLARS)
   ══════════════════════════════════════════════════════════ */
.lb-podium-char-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  margin-bottom: -3px;
  z-index: 2;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}

.lb-podium-char-img {
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.45));
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
  will-change: transform;
}

/* Top 1 character (Center - Tallest) */
.lb-podium-char-img.rank-1 {
  height: 94px;
  filter: drop-shadow(0 0 12px rgba(251, 191, 36, 0.55)) drop-shadow(0 6px 12px rgba(0, 0, 0, 0.5));
}

/* Top 2 character (Left - Medium) */
.lb-podium-char-img.rank-2 {
  height: 80px;
  filter: drop-shadow(0 0 10px rgba(203, 213, 225, 0.45)) drop-shadow(0 5px 10px rgba(0, 0, 0, 0.45));
}

/* Top 3 character (Right - Cute/Compact) */
.lb-podium-char-img.rank-3 {
  height: 74px;
  filter: drop-shadow(0 0 10px rgba(251, 146, 60, 0.45)) drop-shadow(0 5px 10px rgba(0, 0, 0, 0.45));
}

/* Contact shadow & glow light on top of pillar */
.lb-podium-char-contact {
  width: 58px;
  height: 7px;
  border-radius: 50%;
  margin-top: -3px;
  opacity: 0.85;
}
.lb-podium-char-contact.gold {
  background: radial-gradient(ellipse at center, rgba(251, 191, 36, 0.85), transparent 70%);
  box-shadow: 0 0 10px rgba(251, 191, 36, 0.5);
}
.lb-podium-char-contact.silver {
  background: radial-gradient(ellipse at center, rgba(203, 213, 225, 0.8), transparent 70%);
  box-shadow: 0 0 8px rgba(203, 213, 225, 0.4);
}
.lb-podium-char-contact.bronze {
  background: radial-gradient(ellipse at center, rgba(251, 146, 60, 0.8), transparent 70%);
  box-shadow: 0 0 8px rgba(251, 146, 60, 0.4);
}

/* Empty position placeholder */
.lb-podium-char-empty-placeholder {
  width: 48px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1.5px dashed rgba(255, 255, 255, 0.25);
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.3);
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 4px;
}

/* Mini avatar tag */
.lb-podium-mini-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  font-size: 9px;
  font-weight: 800;
  color: #fff;
  vertical-align: middle;
  margin-right: 3px;
  flex-shrink: 0;
}
.lb-podium-mini-avatar.gold {
  background: #312e81;
  border: 1px solid #fbbf24;
}
.lb-podium-mini-avatar.silver {
  background: #1e293b;
  border: 1px solid #cbd5e1;
}
.lb-podium-mini-avatar.bronze {
  background: #2a1b12;
  border: 1px solid #fb923c;
}

/* Speech bubble for tapped character */
.lb-podium-char-speech {
  display: none;
  position: absolute;
  bottom: calc(100% + 4px);
  left: 50%;
  transform: translateX(-50%);
  background: rgba(15, 23, 42, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 9px;
  padding: 4px 7px;
  font-size: 9.5px;
  font-weight: 700;
  color: #f8fafc;
  line-height: 1.3;
  width: max-content;
  max-width: 105px;
  text-align: center;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.6), 0 0 10px rgba(124, 58, 237, 0.3);
  z-index: 10;
  pointer-events: none;
  animation: speechPopIn 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.lb-podium-char-speech::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-width: 4px;
  border-style: solid;
  border-color: rgba(15, 23, 42, 0.96) transparent transparent transparent;
}
@keyframes speechPopIn {
  from { opacity: 0; transform: translateX(-50%) translateY(4px) scale(0.85); }
  to { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); }
}

/* Tap bounce animation */
.lb-char-bounce {
  animation: charBounce 0.45s ease;
}
@keyframes charBounce {
  0% { transform: scale(1); }
  35% { transform: translateY(-8px) scale(1.08); }
  65% { transform: translateY(2px) scale(0.96); }
  100% { transform: translateY(0) scale(1); }
}

.lb-podium-pillar {
  width: 100%;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 10px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.lb-podium-pillar.gold {
  height: 78px;
  background: linear-gradient(180deg, rgba(245, 158, 11, 0.48) 0%, rgba(180, 83, 9, 0.16) 100%);
  border: 1px solid rgba(251, 191, 36, 0.5);
  border-bottom: none;
}

.lb-podium-pillar.silver {
  height: 60px;
  background: linear-gradient(180deg, rgba(148, 163, 184, 0.38) 0%, rgba(51, 65, 85, 0.14) 100%);
  border: 1px solid rgba(203, 213, 225, 0.4);
  border-bottom: none;
}

.lb-podium-pillar.bronze {
  height: 48px;
  background: linear-gradient(180deg, rgba(234, 88, 12, 0.38) 0%, rgba(124, 45, 18, 0.14) 100%);
  border: 1px solid rgba(251, 146, 60, 0.4);
  border-bottom: none;
}

.lb-podium-num {
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
  opacity: 0.85;
}
.lb-podium-pillar.gold .lb-podium-num { color: #fef08a; text-shadow: 0 0 10px rgba(251, 191, 36, 0.6); }
.lb-podium-pillar.silver .lb-podium-num { color: #f1f5f9; text-shadow: 0 0 8px rgba(203, 213, 225, 0.6); }
.lb-podium-pillar.bronze .lb-podium-num { color: #fed7aa; text-shadow: 0 0 8px rgba(251, 146, 60, 0.6); }

/* RANK 4 - 10 ROWS */
.lb-rows-wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 4px;
}

.lb-row-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 14px;
  background: linear-gradient(145deg, rgba(24, 28, 58, 0.8), rgba(16, 20, 44, 0.75));
  border: 1px solid rgba(139, 92, 246, 0.2);
  border-radius: 14px;
  box-shadow: 0 4px 14px rgba(4, 6, 20, 0.2);
  transition: transform 0.16s ease, border-color 0.16s ease;
}

.lb-row-card.is-me {
  background: linear-gradient(145deg, rgba(124, 58, 237, 0.26), rgba(6, 182, 212, 0.14)) !important;
  border-color: rgba(167, 139, 250, 0.7) !important;
  box-shadow: 0 0 18px rgba(139, 92, 246, 0.3) !important;
}

.lb-row-rank {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.06);
  color: #94a3b8;
  font-size: 12px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.lb-row-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: linear-gradient(135deg, #4f46e5, #7c3aed);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 0 10px rgba(99, 102, 241, 0.3);
  overflow: hidden;
  position: relative;
}

.lb-row-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  display: block;
}

.lb-row-meta {
  flex: 1;
  min-width: 0;
}

.lb-row-name {
  font-size: 13px;
  font-weight: 700;
  color: #f1f5f9;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: flex;
  align-items: center;
  gap: 6px;
}

.lb-me-tag {
  font-size: 10px;
  font-weight: 800;
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.16);
  border: 1px solid rgba(56, 189, 248, 0.35);
  padding: 1px 6px;
  border-radius: 6px;
}

.lb-row-sub {
  font-size: 11px;
  color: #64748b;
  margin-top: 1px;
}

.lb-row-right {
  text-align: right;
  flex-shrink: 0;
}

.lb-row-amt {
  font-size: 13.5px;
  font-weight: 800;
  color: #34d399;
}

.lb-row-count {
  font-size: 10px;
  color: #94a3b8;
  margin-top: 1px;
}

/* PERKS / MOTIVATION CARD */
.lb-perks-card {
  margin-top: 20px;
  background: linear-gradient(145deg, rgba(30, 24, 54, 0.85), rgba(16, 14, 34, 0.8));
  border: 1px solid rgba(251, 191, 36, 0.3);
  border-radius: 16px;
  padding: 14px 16px;
  box-shadow: 0 8px 24px rgba(4, 6, 20, 0.25);
}

.lb-perks-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

.lb-perks-ico {
  font-size: 18px;
  line-height: 1;
}

.lb-perks-title {
  font-size: 12.5px;
  font-weight: 800;
  color: #fbbf24;
  letter-spacing: 0.3px;
  text-transform: uppercase;
}

.lb-perks-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.lb-perk-item {
  font-size: 11.5px;
  color: #cbd5e1;
  line-height: 1.4;
}

/* EMPTY STATE */
.lb-empty-state {
  text-align: center;
  padding: 36px 16px;
  background: linear-gradient(145deg, rgba(24, 28, 58, 0.65), rgba(16, 20, 44, 0.55));
  border: 1px dashed rgba(139, 92, 246, 0.3);
  border-radius: 18px;
  margin-top: 12px;
}

.lb-empty-icon {
  font-size: 42px;
  line-height: 1;
  margin-bottom: 10px;
  animation: crownHover 2s ease-in-out infinite alternate;
}

.lb-empty-title {
  font-size: 15px;
  font-weight: 800;
  color: #f8fafc;
  margin-bottom: 4px;
}

.lb-empty-desc {
  font-size: 12px;
  color: #94a3b8;
  max-width: 280px;
  margin: 0 auto 16px;
  line-height: 1.4;
}

.btn-lb-deposit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 20px;
  border-radius: 20px;
  background: linear-gradient(135deg, #8b5cf6, #3b82f6);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(139, 92, 246, 0.4);
  transition: transform 0.15s ease;
}
.btn-lb-deposit:active {
  transform: scale(0.96);
}
