/* ============================================================
   Zeon Cash Giver — Complete Stylesheet
   ============================================================ */
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%}
body{
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  background:#0a0a14;color:#e8eefc;overflow-x:hidden;
}
a{color:#f472b6;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
img,svg{display:block;max-width:100%}

/* ============================================================
   AUTH PAGES
   ============================================================ */
.page{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  padding:24px;background:radial-gradient(circle at top,#1a0f2e 0%,#0a0a14 60%);
}
.card{
  width:100%;max-width:420px;background:#12121f;border:1px solid #1f1f33;
  border-radius:20px;padding:28px 22px;box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.logo-box{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:18px}
.logo-box svg{width:44px;height:44px}
.logo-text{font-size:22px;font-weight:900;color:#fff;letter-spacing:-.5px}
.title{font-size:22px;font-weight:800;text-align:center;margin-bottom:4px}
.subtitle{font-size:13px;color:#8a93b8;text-align:center;margin-bottom:22px}

.field{margin-bottom:14px}
.field label{display:block;font-size:12px;font-weight:600;color:#a8b0cc;margin-bottom:6px}
.field input,.field select{
  width:100%;padding:13px 14px;background:#0f0f1c;border:1px solid #23233a;
  border-radius:12px;color:#fff;font-size:14px;outline:none;transition:.2s;
}
.field input:focus,.field select:focus{border-color:#f472b6;box-shadow:0 0 0 3px rgba(244,114,182,.15)}

.btn-continue{
  padding:14px;background:linear-gradient(135deg,#ec4899,#8b5cf6);
  border-radius:12px;color:#fff;font-size:15px;font-weight:700;
  transition:.2s;width:100%;
}
.btn-continue:active{transform:scale(.98)}
.btn-continue:disabled{opacity:.6;cursor:not-allowed}

.msg{text-align:center;font-size:13px;margin-top:12px;min-height:18px;font-weight:600}

/* ============================================================
   DASHBOARD
   ============================================================ */
.dash-wrap{max-width:520px;margin:0 auto;padding:16px 16px 100px}

.dash-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.menu-btn{
  width:42px;height:42px;border-radius:12px;background:#12121f;
  display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;
  border:1px solid #1f1f33;
}
.menu-btn span{width:18px;height:2px;background:#e8eefc;border-radius:2px}

.user-chip{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;background:#12121f;border:1px solid #1f1f33;border-radius:30px}
.user-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#ec4899,#8b5cf6);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;color:#fff}
.user-label{font-size:13px;font-weight:700;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.online-btn{
  position:relative;width:42px;height:42px;border-radius:12px;background:#12121f;
  display:flex;align-items:center;justify-content:center;border:1px solid #1f1f33;font-size:18px;
}
.online-dot{position:absolute;top:8px;right:8px;width:8px;height:8px;background:#22c55e;border-radius:50%;box-shadow:0 0 0 2px #12121f;animation:pulse 1.6s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* ---------- Profit grid ---------- */
.profit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.profit-box{background:linear-gradient(145deg,#16162a,#111124);border:1px solid #23233a;border-radius:16px;padding:14px}
.profit-box.profit-wide{grid-column:span 2;background:linear-gradient(135deg,#2a0f3a,#1a0f2e);border-color:#3a1f50}
.pb-label{display:block;font-size:11px;color:#8a93b8;font-weight:600;margin-bottom:6px}
.pb-value{display:block;font-size:18px;font-weight:800;color:#fff}
.pb-value.pb-big{font-size:26px;background:linear-gradient(135deg,#f472b6,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent}

/* ---------- Action buttons ---------- */
.action-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.action-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;border-radius:16px;font-size:14px;font-weight:700;transition:.2s}
.action-btn:active{transform:scale(.98)}
.action-deposit{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 8px 24px rgba(34,197,94,.25)}
.action-withdraw{background:linear-gradient(135deg,#ec4899,#be185d);color:#fff;box-shadow:0 8px 24px rgba(236,72,153,.25)}
.ab-icon{font-size:18px}

/* ---------- Banner carousel ---------- */
.banner-box{position:relative;border-radius:18px;overflow:hidden;margin-bottom:14px;background:#12121f;border:1px solid #1f1f33}
.banner-track{display:flex;transition:transform .5s ease}
.banner-slide{flex:0 0 100%;display:flex;align-items:center;justify-content:space-between;padding:20px;gap:12px;min-height:120px;cursor:pointer}
.banner-text h3{font-size:15px;font-weight:800;margin-bottom:4px}
.banner-text p{font-size:12px;color:#8a93b8}
.banner-art svg{width:70px;height:70px}
.banner-dots{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);display:flex;gap:5px}
.bd{width:6px;height:6px;border-radius:50%;background:#3a3a55;transition:.3s}
.bd.active{background:#f472b6;width:16px;border-radius:3px}

/* ---------- Bottom row ---------- */
.bottom-row{display:flex;gap:10px;margin-bottom:14px}
.secure-chip{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:14px;background:#12121f;border:1px solid #1f1f33;border-radius:14px;font-size:13px;font-weight:700}
.join-btn{flex:1;padding:14px;background:linear-gradient(135deg,#facc15,#f59e0b);border-radius:14px;color:#000;font-weight:800;font-size:13px}

/* ---------- Bottom nav ---------- */
.bottom-nav{
  position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:space-around;
  background:rgba(18,18,31,.95);backdrop-filter:blur(20px);border-top:1px solid #1f1f33;
  padding:8px 0 max(8px, env(safe-area-inset-bottom));z-index:50;
}
.nav-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 20px;border-radius:12px;transition:.2s;color:#8a93b8}
.nav-btn.active{color:#f472b6;background:rgba(244,114,182,.1)}
.nav-ico{font-size:18px}
.nav-txt{font-size:10px;font-weight:700}

/* ============================================================
   DRAWER
   ============================================================ */
.drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);opacity:0;pointer-events:none;transition:.3s;z-index:90}
.drawer-overlay.open{opacity:1;pointer-events:auto}
.drawer{
  position:fixed;top:0;left:0;bottom:0;width:280px;max-width:82vw;background:#12121f;
  border-right:1px solid #1f1f33;transform:translateX(-100%);transition:.3s cubic-bezier(.4,0,.2,1);
  z-index:100;display:flex;flex-direction:column;padding:20px;
}
.drawer.open{transform:translateX(0)}
.drawer-header{display:flex;align-items:center;gap:10px;padding-bottom:20px;border-bottom:1px solid #1f1f33;margin-bottom:16px}
.drawer-logo{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#ec4899,#8b5cf6);display:flex;align-items:center;justify-content:center}
.drawer-logo svg{width:30px;height:30px}
.drawer-title{font-size:16px;font-weight:800}
.drawer-nav{flex:1;display:flex;flex-direction:column;gap:6px}
.drawer-item{display:flex;align-items:center;gap:12px;padding:14px;border-radius:12px;text-align:left;transition:.2s;font-size:14px;font-weight:600;width:100%}
.drawer-item:active{background:#1a1a2e}
.di-icon{font-size:18px}
.di-text{flex:1}
.di-arrow{color:#8a93b8;font-size:14px}
.drawer-back{padding:14px;background:#1a1a2e;border-radius:12px;font-size:14px;font-weight:700;color:#a8b0cc;margin-top:12px}

/* ============================================================
   GENERIC PAGE LAYOUT
   ============================================================ */
.pg-wrap{max-width:520px;margin:0 auto;padding:16px 16px 100px}
.pg-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.pg-back{width:42px;height:42px;border-radius:12px;background:#12121f;border:1px solid #1f1f33;display:flex;align-items:center;justify-content:center;font-size:18px;color:#e8eefc}
.pg-title{font-size:18px;font-weight:800}

.list-item{display:flex;align-items:center;gap:12px;padding:14px;background:#12121f;border:1px solid #1f1f33;border-radius:14px;margin-bottom:10px}
.li-icon{width:40px;height:40px;border-radius:12px;background:#1a1a2e;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.li-body{flex:1;min-width:0}
.li-title{font-size:14px;font-weight:700;margin-bottom:2px}
.li-sub{font-size:11px;color:#8a93b8}
.li-value{font-size:14px;font-weight:800;text-align:right}

.status{padding:3px 8px;border-radius:6px;font-size:10px;font-weight:800;text-transform:uppercase}
.status.pending{background:rgba(250,204,21,.15);color:#facc15}
.status.success{background:rgba(34,197,94,.15);color:#22c55e}
.status.failed{background:rgba(239,68,68,.15);color:#ef4444}

.empty-state{text-align:center;padding:60px 20px;color:#8a93b8}
.empty-state .es-icon{font-size:48px;margin-bottom:12px;opacity:.5}
.empty-state .es-title{font-size:15px;font-weight:700;color:#e8eefc;margin-bottom:6px}
.empty-state .es-sub{font-size:12px}

/* ============================================================
   DEPOSIT PAGE
   ============================================================ */
.record-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.back-icon{width:42px;height:42px;border-radius:12px;background:#12121f;border:1px solid #1f1f33;display:flex;align-items:center;justify-content:center;font-size:18px;color:#e8eefc}
.record-title-wrap{flex:1;display:flex;align-items:center;gap:8px}
.logo-mini{display:flex;align-items:center;gap:4px}
.logo-mini svg{width:26px;height:26px}
.logo-mini-text{font-size:15px;font-weight:900;color:#fff}
.record-title{font-size:17px;font-weight:800}

.deposit-page-label{font-size:11px;color:#8a93b8;font-weight:700;letter-spacing:.5px;text-transform:uppercase;margin-bottom:6px;text-align:center}
.deposit-note{font-size:12px;color:#8a93b8;text-align:center;margin-bottom:18px;line-height:1.6}
.deposit-note b{color:#f472b6}
.transfer-label{font-size:12px;font-weight:700;color:#a8b0cc;margin:16px 0 8px}

.pay-options{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.pay-option{display:flex;align-items:center;gap:10px;padding:14px;background:#12121f;border:1px solid #1f1f33;border-radius:12px;cursor:pointer;transition:.2s}
.pay-option input{display:none}
.pay-radio{width:18px;height:18px;border-radius:50%;border:2px solid #3a3a55;position:relative;flex-shrink:0;transition:.2s}
.pay-option input:checked + .pay-radio{border-color:#f472b6}
.pay-option input:checked + .pay-radio::after{content:'';position:absolute;inset:3px;background:#f472b6;border-radius:50%}
.pay-text{font-size:13px;font-weight:600}
.pay-option:has(input:checked){border-color:#f472b6;background:#1a1020}

.process-row{margin-top:8px}
.btn-process{width:100%;padding:15px;background:linear-gradient(135deg,#ec4899,#8b5cf6);border-radius:12px;color:#fff;font-size:15px;font-weight:800;transition:.2s}
.btn-process:active{transform:scale(.98)}
.btn-process:disabled{opacity:.6;cursor:not-allowed}

.bank-header{font-size:11px;color:#8a93b8;font-weight:700;letter-spacing:.5px;text-transform:uppercase;text-align:center;margin-bottom:6px}
.bank-note{font-size:12px;color:#8a93b8;text-align:center;margin-bottom:12px}
.timer-display{text-align:center;font-size:26px;font-weight:900;color:#f472b6;letter-spacing:2px;margin-bottom:16px;font-variant-numeric:tabular-nums}

.bank-card{background:#12121f;border:1px solid #1f1f33;border-radius:14px;padding:6px 16px;margin-bottom:18px}
.bank-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #1f1f33}
.bank-row:last-child{border-bottom:none}
.bank-label{font-size:12px;color:#8a93b8;font-weight:600}
.bank-value-row{display:flex;align-items:center;gap:10px}
.bank-value{font-size:13px;font-weight:800;color:#e8eefc;font-variant-numeric:tabular-nums}
.copy-btn{padding:5px 10px;background:#1a1a2e;border-radius:8px;font-size:10px;font-weight:800;color:#f472b6;letter-spacing:.5px;transition:.2s}
.copy-btn:active{background:#2a2a44}

.paid-check{display:flex;align-items:center;gap:10px;padding:14px;background:#12121f;border:1px solid #1f1f33;border-radius:12px;cursor:pointer;margin-bottom:12px}
.paid-check input{display:none}
.paid-box{width:20px;height:20px;border-radius:6px;border:2px solid #3a3a55;position:relative;flex-shrink:0;transition:.2s}
.paid-check input:checked + .paid-box{background:#22c55e;border-color:#22c55e}
.paid-check input:checked + .paid-box::after{content:'✓';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:900}
.paid-text{font-size:13px;font-weight:700}
.paid-check:has(input:checked){border-color:#22c55e;background:#0f1a12}

.status-box{text-align:center;padding:60px 20px;display:flex;flex-direction:column;align-items:center;gap:14px}
.spinner{font-size:42px;color:#f472b6;animation:spin 1.2s linear infinite}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.status-text{font-size:17px;font-weight:800;letter-spacing:.5px}
.progress{width:100%;max-width:220px;height:6px;background:#1f1f33;border-radius:3px;overflow:hidden}
.progress-fill{height:100%;width:0;background:linear-gradient(90deg,#ec4899,#8b5cf6);transition:width 3s ease}

.status-icon{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:900;color:#fff}
.sent-icon{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 12px 32px rgba(34,197,94,.35)}
.sent-subtext{font-size:12px;color:#8a93b8}

/* ============================================================
   WITHDRAW PAGE
   ============================================================ */
.wd-balance-box{
  text-align:center;padding:22px 16px;
  background:linear-gradient(135deg,#2a0f3a,#1a0f2e);
  border:1px solid #3a1f50;border-radius:18px;margin-bottom:16px;
}
.wd-balance-amount{
  font-size:32px;font-weight:900;
  background:linear-gradient(135deg,#f472b6,#a78bfa);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  font-variant-numeric:tabular-nums;
}
.wd-balance-label{font-size:11px;color:#8a93b8;font-weight:600;margin-top:4px}

.add-bank-btn{
  display:flex;align-items:center;gap:10px;width:100%;padding:14px;
  background:#12121f;border:1px dashed #3a3a55;border-radius:12px;
  color:#e8eefc;font-size:14px;font-weight:700;margin-bottom:16px;
  transition:.2s;
}
.add-bank-btn:active{background:#1a1a2e}
.ab-circle{
  width:28px;height:28px;border-radius:50%;
  background:linear-gradient(135deg,#ec4899,#8b5cf6);
  display:flex;align-items:center;justify-content:center;
  font-size:18px;font-weight:900;color:#fff;flex-shrink:0;
}

.transfer-to-box{
  background:#12121f;border:1px solid #1f1f33;border-radius:14px;
  padding:14px 16px;margin-bottom:16px;
}
.transfer-row{display:flex;align-items:center;gap:10px;padding:6px 0}
.tr-arrow{color:#f472b6;font-weight:900;font-size:14px;flex-shrink:0}
.tr-value{font-size:13px;font-weight:700;color:#e8eefc}

.no-bank-hint{
  text-align:center;padding:32px 16px;background:#12121f;
  border:1px dashed #3a3a55;border-radius:14px;margin-bottom:16px;
}
.nb-icon{font-size:32px;margin-bottom:6px}
.nb-text{font-size:14px;font-weight:700;color:#e8eefc;margin-bottom:2px}
.nb-sub{font-size:12px;color:#8a93b8}
.nb-sub strong{color:#f472b6}

/* ============================================================
   ADD BANK POPUP
   ============================================================ */
.popup-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.75);
  backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;
  padding:24px;z-index:200;
}
.popup-card{
  background:#12121f;border:1px solid #1f1f33;
  border-radius:20px;padding:32px 28px;
  width:100%;max-width:320px;text-align:center;
  box-shadow:0 20px 60px rgba(0,0,0,.6);
}
.update-view{display:flex;flex-direction:column;align-items:center;gap:14px}
.update-text{font-size:15px;font-weight:800;letter-spacing:.5px;color:#e8eefc}
.updated-text{color:#22c55e}
.updated-icon{
  width:64px;height:64px;border-radius:50%;
  background:linear-gradient(135deg,#22c55e,#16a34a);
  display:flex;align-items:center;justify-content:center;
  font-size:30px;font-weight:900;color:#fff;
  box-shadow:0 12px 32px rgba(34,197,94,.35);
  animation:popIn .35s cubic-bezier(.34,1.56,.64,1);
}
@keyframes popIn{
  0%{transform:scale(0);opacity:0}
  100%{transform:scale(1);opacity:1}
}
.popup-card .btn-process{margin-top:6px;padding:12px 24px;font-size:14px}

/* ============================================================
   TASKS / WATCH & EARN PAGE
   ============================================================ */
.task-progress-top{
  background:#12121f;border:1px solid #1f1f33;border-radius:14px;
  padding:12px 14px;margin-bottom:16px;
}
.tp-label{
  display:flex;justify-content:space-between;
  font-size:11px;font-weight:700;color:#8a93b8;
  margin-bottom:8px;letter-spacing:.3px;
}
.tp-label span:last-child{color:#f472b6}
.tp-bar{height:6px;background:#1f1f33;border-radius:3px;overflow:hidden}
.tp-fill{
  height:100%;width:0;border-radius:3px;
  background:linear-gradient(90deg,#ec4899,#8b5cf6);
  transition:width .4s ease;
}

.video-wrap{
  position:relative;background:#000;border-radius:16px;
  overflow:hidden;margin-bottom:16px;aspect-ratio:16/9;
  border:1px solid #1f1f33;
}
.task-video{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-badge{
  position:absolute;top:10px;left:10px;z-index:5;
  background:rgba(0,0,0,.7);backdrop-filter:blur(8px);
  color:#fff;font-size:11px;font-weight:800;
  padding:5px 10px;border-radius:20px;
  border:1px solid rgba(255,255,255,.15);
}
.video-done-overlay{
  position:absolute;inset:0;z-index:10;
  background:rgba(10,10,20,.92);backdrop-filter:blur(8px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;text-align:center;padding:20px;
}
.vdo-icon{
  width:64px;height:64px;border-radius:50%;
  background:linear-gradient(135deg,#22c55e,#16a34a);
  display:flex;align-items:center;justify-content:center;
  font-size:30px;font-weight:900;color:#fff;
  box-shadow:0 12px 32px rgba(34,197,94,.35);
  animation:popIn .35s cubic-bezier(.34,1.56,.64,1);
}
.vdo-text{font-size:15px;font-weight:800;color:#fff}
.vdo-earned{font-size:13px;color:#8a93b8}
.vdo-earned span{color:#22c55e;font-weight:800}

.video-loader{
  position:absolute;inset:0;z-index:8;
  background:rgba(10,10,20,.95);
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:10px;
  color:#8a93b8;font-size:13px;
}
.video-loader .spinner{font-size:36px;color:#f472b6}

.task-info-box{
  background:#12121f;border:1px solid #1f1f33;border-radius:14px;
  padding:4px 16px;margin-bottom:12px;
}
.ti-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:12px 0;border-bottom:1px solid #1f1f33;
}
.ti-row:last-child{border-bottom:none}
.ti-label{font-size:12px;color:#8a93b8;font-weight:600}
.ti-value{font-size:13px;font-weight:800;color:#e8eefc}
.ti-value.gold{color:#facc15}

.task-status-box{
  background:#12121f;border:1px solid #1f1f33;border-radius:14px;
  padding:4px 16px;margin-bottom:16px;
}
.ts-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:12px 0;border-bottom:1px solid #1f1f33;
}
.ts-row:last-child{border-bottom:none}
.ts-label{font-size:12px;color:#8a93b8;font-weight:600}
.ts-value{font-size:13px;font-weight:800;color:#e8eefc}
.ts-value.gold{color:#facc15}

.ts-badge{
  padding:4px 10px;border-radius:20px;
  font-size:11px;font-weight:800;letter-spacing:.3px;
  text-transform:uppercase;
}
.ts-badge.ts-ready{background:rgba(139,92,246,.15);color:#a78bfa}
.ts-badge.ts-running{background:rgba(244,114,182,.15);color:#f472b6;animation:pulse 1.4s infinite}
.ts-badge.ts-paused{background:rgba(250,204,21,.15);color:#facc15}
.ts-badge.ts-done{background:rgba(34,197,94,.15);color:#22c55e}

/* ============================================================
   VIP PLANS PAGE
   ============================================================ */
.vip-balance-bar{
  display:flex;justify-content:space-between;align-items:center;
  background:linear-gradient(135deg,#2a0f3a,#1a0f2e);
  border:1px solid #3a1f50;border-radius:16px;
  padding:16px 18px;margin-bottom:14px;
}
.vbb-label{
  font-size:10px;color:#8a93b8;font-weight:700;
  text-transform:uppercase;letter-spacing:.5px;
}
.vbb-level{
  font-size:22px;font-weight:900;margin-top:2px;
  background:linear-gradient(135deg,#f472b6,#a78bfa);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.vbb-value{
  font-size:20px;font-weight:900;color:#22c55e;
  margin-top:2px;font-variant-numeric:tabular-nums;
}

.vip-quick-stats{
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:16px;
}
.vqs-item{
  background:#12121f;border:1px solid #1f1f33;border-radius:12px;
  padding:10px 6px;text-align:center;
}
.vqs-icon{display:block;font-size:16px;margin-bottom:2px}
.vqs-label{
  display:block;font-size:9px;color:#8a93b8;font-weight:700;
  text-transform:uppercase;letter-spacing:.3px;
}
.vqs-value{
  display:block;font-size:11px;font-weight:800;color:#facc15;margin-top:2px;
}

.vip-cards{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}

.vip-card{
  background:linear-gradient(145deg,#16162a,#111124);
  border:1px solid #23233a;border-radius:16px;
  padding:14px 16px;transition:.2s;
}
.vip-card.current{
  border-color:#f472b6;
  box-shadow:0 0 0 2px rgba(244,114,182,.15),0 8px 24px rgba(244,114,182,.15);
}

.vip-card-top{
  display:flex;justify-content:space-between;align-items:center;
  padding-bottom:12px;border-bottom:1px solid #1f1f33;margin-bottom:12px;
}
.vip-card-name{font-size:16px;font-weight:900;color:#e8eefc}
.vip-card-price{
  font-size:15px;font-weight:900;
  background:linear-gradient(135deg,#f472b6,#a78bfa);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}

.vip-card-body{
  display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-bottom:12px;
}
.vip-card-stat{display:flex;justify-content:space-between;align-items:baseline}
.vcs-label{font-size:9px;color:#8a93b8;font-weight:700;letter-spacing:.3px}
.vcs-value{font-size:12px;font-weight:800;color:#e8eefc}
.vcs-value.gold{color:#facc15}

.vip-card-footer{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding-top:12px;border-top:1px solid #1f1f33;
}
.vcf-day{font-size:11px;color:#8a93b8;font-weight:700}

.vip-apply{
  padding:9px 16px;border-radius:10px;
  font-size:12px;font-weight:900;letter-spacing:.3px;
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff;transition:.2s;
}
.vip-apply:active{transform:scale(.97)}
.vip-apply.current{background:#1a1a2e;color:#22c55e}
.vip-apply.locked{background:#1a1a2e;color:#8a93b8;font-size:11px}
.vip-apply:disabled{cursor:default;opacity:.85}

.vip-info-banner{
  display:flex;align-items:center;gap:10px;
  background:#12121f;border:1px solid #1f1f33;border-radius:12px;
  padding:12px 14px;margin-top:6px;
}
.vib-icon{font-size:16px}
.vib-text{font-size:12px;color:#8a93b8;font-weight:600}
.vib-text b{color:#f472b6}
/* ============================================================
   VIP purchase modal
   ============================================================ */
.vip-purchase-card{
  max-width:360px;
}
.vip-purchase-icon{
  font-size:44px;
  margin-bottom:6px;
  filter:drop-shadow(0 4px 12px rgba(244,114,182,.4));
}
.vip-purchase-greeting{
  font-size:15px;
  font-weight:800;
  color:#f472b6;
  margin-bottom:6px;
}
.vip-purchase-text{
  font-size:13px;
  color:#c9d1e9;
  line-height:1.55;
  margin-bottom:16px;
}
.vip-purchase-text b{color:#fff}
.vip-purchase-text b.gold{color:#facc15}

.vip-purchase-summary{
  background:#0f0f1c;
  border:1px solid #23233a;
  border-radius:12px;
  padding:12px 14px;
  margin-bottom:16px;
}
.vps-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:6px 0;
  font-size:12px;
  color:#8a93b8;
  font-weight:600;
}
.vps-row span:last-child{color:#e8eefc;font-weight:800}
.vps-row span.red{color:#ef4444}
.vps-row span.green{color:#22c55e}
.vps-total{
  border-top:1px solid #23233a;
  margin-top:4px;
  padding-top:10px;
  font-size:13px;
}

.vip-purchase-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.vip-cancel-btn{
  background:#1a1a2e;
  color:#a8b0cc;
}
.vip-apply-btn{
  background:linear-gradient(135deg,#22c55e,#16a34a);
  box-shadow:0 8px 24px rgba(34,197,94,.3);
}

/* ============================================================
   Withdraw record list
   ============================================================ */
.record-list{display:flex;flex-direction:column;gap:10px}
.empty-msg{
  text-align:center;
  padding:60px 20px;
  font-size:13px;
  color:#8a93b8;
}
.record-item{
  background:#12121f;
  border:1px solid #1f1f33;
  border-radius:14px;
  padding:14px 16px;
}
.record-top{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:10px;
}
.record-amount{
  font-size:18px;font-weight:900;color:#fff;
  font-variant-numeric:tabular-nums;
}
.record-status-badge{
  padding:4px 10px;border-radius:20px;
  font-size:10px;font-weight:800;letter-spacing:.4px;
  text-transform:uppercase;
}
.record-status-badge.status-pending{
  background:rgba(250,204,21,.15);color:#facc15;
}
.record-status-badge.status-approved{
  background:rgba(34,197,94,.15);color:#22c55e;
}
.record-status-badge.status-failed{
  background:rgba(239,68,68,.15);color:#ef4444;
}
.record-bottom{
  display:flex;justify-content:space-between;align-items:center;
  font-size:11px;color:#8a93b8;
  padding-top:10px;
  border-top:1px solid #1f1f33;
  gap:10px;
}
.record-label{
  flex:1;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:600;
}
.record-datetime{
  font-weight:700;
  color:#a8b0cc;
  font-variant-numeric:tabular-nums;
  flex-shrink:0;
}
/* ============================================================
   PROFILE PAGE
   ============================================================ */
.profile-avatar-wrap{
  display:flex;flex-direction:column;align-items:center;
  padding:20px 0 24px;margin-bottom:8px;
}
.profile-avatar{
  position:relative;width:100px;height:100px;
  display:block;cursor:pointer;
}
.profile-avatar-preview{
  width:100%;height:100%;border-radius:50%;
  background:linear-gradient(135deg,#2a0f3a,#1a0f2e);
  border:2px solid #3a1f50;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  box-shadow:0 8px 32px rgba(244,114,182,.15);
}
.profile-avatar-preview svg{width:44px;height:44px;opacity:.9}
.profile-camera-badge{
  position:absolute;bottom:0;right:0;
  width:32px;height:32px;border-radius:50%;
  background:linear-gradient(135deg,#ec4899,#8b5cf6);
  display:flex;align-items:center;justify-content:center;
  font-size:14px;border:3px solid #0a0a14;
  box-shadow:0 4px 12px rgba(236,72,153,.4);
}
.profile-greet{
  margin-top:14px;font-size:15px;font-weight:800;color:#e8eefc;
}
.profile-greet span{
  background:linear-gradient(135deg,#f472b6,#a78bfa);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.change-photo-btn{
  margin-top:10px;padding:9px 18px;
  background:#1a1a2e;border:1px solid #2a2a44;
  border-radius:20px;color:#f472b6;
  font-size:12px;font-weight:800;
  transition:.2s;
}
.change-photo-btn:active{background:#2a2a44}

/* Info row (phone / level / balance) */
.profile-info-row{
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;
  margin-bottom:20px;
}
.pir-item{
  background:#12121f;border:1px solid #1f1f33;
  border-radius:12px;padding:12px 8px;text-align:center;
}
.pir-label{
  display:block;font-size:9px;color:#8a93b8;
  font-weight:800;letter-spacing:.4px;text-transform:uppercase;
  margin-bottom:4px;
}
.pir-value{
  display:block;font-size:12px;font-weight:800;color:#e8eefc;
  font-variant-numeric:tabular-nums;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.pir-value.gold{color:#facc15}
.pir-value.green{color:#22c55e}

/* Logout full-width */
.btn-logout-full{
  width:100%;padding:15px;
  background:#1a0f15;border:1px solid #4a1f2e;
  border-radius:12px;color:#ef4444;
  font-size:14px;font-weight:800;
  margin-top:24px;transition:.2s;
}
.btn-logout-full:active{background:#2a0f15}

/* ============================================================
   REFERRAL PAGE
   ============================================================ */
.referral-code-box{
  background:linear-gradient(145deg,#16162a,#111124);
  border:1px solid #23233a;border-radius:18px;
  padding:22px 20px;text-align:center;
  margin-bottom:16px;
}
.ref-label{
  font-size:10px;color:#8a93b8;font-weight:800;
  letter-spacing:1.2px;text-transform:uppercase;
  margin-bottom:10px;
}
.ref-code{
  font-size:26px;font-weight:900;
  letter-spacing:3px;
  background:linear-gradient(135deg,#f472b6,#a78bfa);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  font-variant-numeric:tabular-nums;
  margin-bottom:16px;
  word-break:break-all;
}
.ref-btn-row{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
}
.btn-soft{
  padding:12px;border-radius:12px;
  background:#1a1a2e;border:1px solid #2a2a44;
  color:#e8eefc;font-size:13px;font-weight:800;
  transition:.2s;
}
.btn-soft:active{background:#2a2a44}
.btn-green{
  padding:12px;border-radius:12px;
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff;font-size:13px;font-weight:800;
  box-shadow:0 6px 18px rgba(34,197,94,.25);
  transition:.2s;
}
.btn-green:active{transform:scale(.98)}

/* Referral stats */
.referral-stats{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
  margin-bottom:16px;
}
.stat-box{
  background:#12121f;border:1px solid #1f1f33;
  border-radius:14px;padding:16px;text-align:center;
}
.stat-label{
  display:block;font-size:10px;color:#8a93b8;
  font-weight:800;letter-spacing:.5px;text-transform:uppercase;
  margin-bottom:6px;
}
.stat-value{
  display:block;font-size:22px;font-weight:900;
  color:#e8eefc;font-variant-numeric:tabular-nums;
}
.stat-value.gold{color:#facc15}

/* Referral info card */
.referral-info{
  background:#12121f;border:1px solid #1f1f33;
  border-radius:14px;padding:18px;
}
.referral-info h3{
  font-size:14px;font-weight:800;
  color:#e8eefc;margin-bottom:14px;
}
.referral-list{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:12px;
}
.referral-list li{
  display:flex;align-items:center;gap:12px;
  font-size:13px;color:#c9d1e9;font-weight:600;
}
.step-num{
  width:26px;height:26px;border-radius:50%;
  background:linear-gradient(135deg,#ec4899,#8b5cf6);
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:900;color:#fff;
  flex-shrink:0;
}
/* ============================================================
   Join Group page
   ============================================================ */
.jg-hero{
  text-align:center;padding:28px 20px;
  background:linear-gradient(135deg,#2a2a0f,#1a0f2a);
  border:1px solid #4a4a1a;border-radius:18px;
  margin-bottom:16px;
}
.jg-hero-icon{
  font-size:52px;margin-bottom:10px;
  filter:drop-shadow(0 6px 20px rgba(250,204,21,.4));
}
.jg-hero-title{font-size:17px;font-weight:900;color:#fff;margin-bottom:4px}
.jg-hero-sub{font-size:12px;color:#8a93b8}

.jg-benefits{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}
.jg-benefit{
  display:flex;align-items:center;gap:12px;
  background:#12121f;border:1px solid #1f1f33;
  border-radius:14px;padding:14px;
}
.jgb-icon{
  width:40px;height:40px;border-radius:12px;
  background:linear-gradient(135deg,#2a2a0f,#4a4a1a);
  display:flex;align-items:center;justify-content:center;
  font-size:18px;flex-shrink:0;
}
.jgb-body{flex:1;min-width:0}
.jgb-title{font-size:13px;font-weight:800;color:#e8eefc;margin-bottom:2px}
.jgb-sub{font-size:11px;color:#8a93b8}

.jg-note{
  display:flex;align-items:flex-start;gap:10px;
  background:#12121f;border:1px solid #1f1f33;
  border-radius:12px;padding:12px 14px;
  margin-top:20px;margin-bottom:12px;
  font-size:12px;color:#8a93b8;line-height:1.5;
}
.jg-note span:first-child{font-size:14px;flex-shrink:0}

.jg-link-card{
  background:#12121f;border:1px dashed #3a3a55;
  border-radius:14px;padding:16px;
  text-align:center;
}
.jgl-label{
  font-size:10px;color:#8a93b8;font-weight:800;
  letter-spacing:1px;text-transform:uppercase;margin-bottom:8px;
}
.jgl-value{
  font-size:11px;color:#e8eefc;
  font-weight:700;word-break:break-all;
  margin-bottom:12px;line-height:1.5;
}
/* Telegram button blue */
.jg-btn{
  background:linear-gradient(135deg,#0088cc,#006699) !important;
  box-shadow:0 8px 24px rgba(0,136,204,.3);
}
/* ============================================================
   Join Group page
   ============================================================ */
.jg-hero{
  text-align:center;padding:28px 20px;
  background:linear-gradient(135deg,#2a2a0f,#1a0f2a);
  border:1px solid #4a4a1a;border-radius:18px;
  margin-bottom:16px;
}
.jg-hero-icon{
  font-size:52px;margin-bottom:10px;
  filter:drop-shadow(0 6px 20px rgba(250,204,21,.4));
}
.jg-hero-title{font-size:17px;font-weight:900;color:#fff;margin-bottom:4px}
.jg-hero-sub{font-size:12px;color:#8a93b8}

.jg-benefits{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}
.jg-benefit{
  display:flex;align-items:center;gap:12px;
  background:#12121f;border:1px solid #1f1f33;
  border-radius:14px;padding:14px;
}
.jgb-icon{
  width:40px;height:40px;border-radius:12px;
  background:linear-gradient(135deg,#2a2a0f,#4a4a1a);
  display:flex;align-items:center;justify-content:center;
  font-size:18px;flex-shrink:0;
}
.jgb-body{flex:1;min-width:0}
.jgb-title{font-size:13px;font-weight:800;color:#e8eefc;margin-bottom:2px}
.jgb-sub{font-size:11px;color:#8a93b8}

.jg-note{
  display:flex;align-items:flex-start;gap:10px;
  background:#12121f;border:1px solid #1f1f33;
  border-radius:12px;padding:12px 14px;
  margin-top:20px;margin-bottom:12px;
  font-size:12px;color:#8a93b8;line-height:1.5;
}
.jg-note span:first-child{font-size:14px;flex-shrink:0}

.jg-link-card{
  background:#12121f;border:1px dashed #3a3a55;
  border-radius:14px;padding:16px;
  text-align:center;
}
.jgl-label{
  font-size:10px;color:#8a93b8;font-weight:800;
  letter-spacing:1px;text-transform:uppercase;margin-bottom:8px;
}
.jgl-value{
  font-size:11px;color:#e8eefc;
  font-weight:700;word-break:break-all;
  margin-bottom:12px;line-height:1.5;
}