/* ============================================================
   Vesto UI — member interface refresh (loaded last, overrides
   legacy page styles). White base, ink panels, rose accents.
   ============================================================ */
:root{
  --vu-ink:#1b0f18;
  --vu-ink-2:#2c1524;
  --vu-rose:#c2185b;
  --vu-rose-dark:#9c0f47;
  --vu-rose-soft:#fdf2f7;
  --vu-line:#ece4ea;
  --vu-muted:#8b7f88;
  --vu-green:#0f9d58;
  --vu-radius:20px;
  --vu-shadow:0 10px 30px -20px rgba(27,15,24,.55);
}

body{
  background:#fff !important;
  color:var(--vu-ink) !important;
  font-family:'Figtree','Outfit',system-ui,-apple-system,'Segoe UI',sans-serif !important;
  -webkit-font-smoothing:antialiased;
}

/* ---------- page shells ---------- */
body .container,
body .main-container,
body .vip-container,
body .dash{
  max-width:480px !important;
  margin:0 auto !important;
  padding:18px 18px 110px !important;
}

/* ---------- headers ---------- */
body .header,
body .header-banner,
body .header-top-bar,
body .profile-header-banner,
body .page-header,
body .dashboard-header{
  background:#fff !important;
  color:var(--vu-ink) !important;
  border:0 !important;
  border-bottom:1px solid var(--vu-line) !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:16px 18px !important;
}
body .header-inner,
body .header-top{
  max-width:480px !important;
  margin:0 auto !important;
  padding:0 !important;
}
body .header-title,
body .header-title h1,
body .header-page-title,
body .card-title,
body .benefits-title,
body .section-label,
body .feed-label{
  color:var(--vu-ink) !important;
}
body .header-title h1,
body .header-page-title{
  font-family:'Outfit',sans-serif !important;
  font-weight:800 !important;
  font-size:20px !important;
  letter-spacing:-.2px !important;
}
body .header-title p,
body .header-subtitle{
  color:var(--vu-muted) !important;
  font-size:12px !important;
  font-weight:600 !important;
}
body .feed-label,
body .section-label{
  text-transform:uppercase !important;
  letter-spacing:.14em !important;
  font-size:10.5px !important;
  font-weight:800 !important;
  color:var(--vu-muted) !important;
  margin:22px 0 10px !important;
}
body .back-btn,
body .header-icon-btn{
  background:#faf5f8 !important;
  color:var(--vu-ink) !important;
  border:1px solid var(--vu-line) !important;
  border-radius:14px !important;
  width:40px !important;height:40px !important;
  display:grid !important;place-items:center !important;
  box-shadow:none !important;
}

/* ---------- ink balance panels ---------- */
body .balance-card,
body .balance-widget,
body .summary-card,
body .user-info-card,
body .user-bal-box,
body .acct-card{
  background:linear-gradient(150deg,var(--vu-ink) 0%,var(--vu-ink-2) 55%,#4a1330 100%) !important;
  color:#fff !important;
  border:0 !important;
  border-radius:24px !important;
  box-shadow:var(--vu-shadow) !important;
  padding:20px !important;
}
body .balance-card *,
body .balance-widget *,
body .summary-card *,
body .user-info-card *,
body .acct-card *{
  color:#fff !important;
  border-color:rgba(255,255,255,.14) !important;
}
body .balance-label,
body .acct-label,
body .row-label,
body .bal-lbl,
body .balance-header{
  color:rgba(255,255,255,.66) !important;
  text-transform:uppercase !important;
  letter-spacing:.13em !important;
  font-size:10px !important;
  font-weight:800 !important;
}
body .balance-val,
body .bal-val,
body .acct-value,
body .row-val{
  font-family:'Outfit',sans-serif !important;
  font-weight:800 !important;
}
body .balance-val,
body .balance-val.big{font-size:32px !important;line-height:1.1 !important;}
body .card-row{
  border-bottom:1px dashed rgba(255,255,255,.16) !important;
  padding:12px 0 !important;
}
body .card-row:last-of-type{border-bottom:0 !important;}
body .summary-card .menu-icon,
body .summary-card i{color:#ffb3d1 !important;}

/* ---------- white cards ---------- */
body .card,
body .plan-card,
body .vip-card,
body .benefits-card,
body .menu-list,
body .empty-card,
body .claim-box,
body .profile-user-card,
body .bank-details-grid,
body .acct-badge{
  background:#fff !important;
  border:1px solid var(--vu-line) !important;
  border-radius:var(--vu-radius) !important;
  box-shadow:0 6px 22px -18px rgba(27,15,24,.5) !important;
  padding:18px !important;
  margin-bottom:14px !important;
}
body .profile-user-card{background:#fff !important;color:var(--vu-ink) !important;}
body .card-title,
body .benefits-title,
body .claim-label,
body .plan-name{
  font-family:'Outfit',sans-serif !important;
  font-weight:800 !important;
}

/* ---------- plan cards ---------- */
body .plan-card{position:relative !important;overflow:hidden !important;}
body .plan-card:before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:4px;
  background:linear-gradient(180deg,var(--vu-rose),#ff8fbd);
}
body .plan-card-logo,
body .brand-header-logo{display:none !important;}
body .plan-name{font-size:19px !important;color:var(--vu-ink) !important;}
body .plan-tag{
  color:var(--vu-muted) !important;text-transform:uppercase !important;
  letter-spacing:.12em !important;font-size:10px !important;font-weight:800 !important;
}
body .tier-badge{
  background:var(--vu-rose-soft) !important;color:var(--vu-rose) !important;
  border:1px solid #f6d6e5 !important;border-radius:999px !important;
  padding:6px 12px !important;font-size:11px !important;font-weight:800 !important;
  text-transform:uppercase !important;letter-spacing:.08em !important;
}
body .plan-stats-grid{
  background:#fbf7f9 !important;border:1px solid var(--vu-line) !important;
  border-radius:16px !important;padding:14px !important;margin:14px 0 !important;
}
body .stat-lbl{
  color:var(--vu-muted) !important;text-transform:uppercase !important;
  font-size:9.5px !important;letter-spacing:.1em !important;font-weight:800 !important;
}
body .stat-val{font-family:'Outfit',sans-serif !important;font-weight:800 !important;font-size:16px !important;}
body .stat-val.cyan{color:var(--vu-ink) !important;}
body .stat-val.green{color:var(--vu-green) !important;}
body .benefits-grid .benefit-item{
  background:#fbf7f9 !important;border:1px solid var(--vu-line) !important;
  border-radius:14px !important;color:var(--vu-ink) !important;font-weight:700 !important;
}
body .benefits-grid .benefit-item i{color:var(--vu-rose) !important;}

/* ---------- buttons ---------- */
body .plan-btn,
body .submit-btn,
body .btn-action,
body .btn-claim,
body .pill-btn-primary,
body .vip-unlock-btn,
body .copy-btn,
body .modal-btn-confirm,
body .modal-btn-ok{
  background:linear-gradient(135deg,var(--vu-rose),var(--vu-rose-dark)) !important;
  color:#fff !important;border:0 !important;
  border-radius:16px !important;font-weight:800 !important;
  letter-spacing:.01em !important;
  box-shadow:0 12px 26px -16px rgba(194,24,91,.85) !important;
}
body .plan-btn.owned,
body .btn-claim:disabled,
body .plan-btn:disabled{
  background:#f4eef1 !important;color:var(--vu-muted) !important;box-shadow:none !important;
}
body .pill-btn-secondary,
body .modal-btn-cancel,
body .edit-bank-link{
  background:#fff !important;color:var(--vu-ink) !important;
  border:1.5px solid var(--vu-line) !important;border-radius:16px !important;font-weight:800 !important;
}
body .quick-btn,
body .amount-btn{
  background:#fff !important;border:1.5px solid var(--vu-line) !important;
  border-radius:14px !important;color:var(--vu-ink) !important;font-weight:800 !important;
}
body .quick-btn:hover,body .amount-btn:hover,
body .quick-btn.active,body .amount-btn.active{
  border-color:var(--vu-rose) !important;background:var(--vu-rose-soft) !important;color:var(--vu-rose) !important;
}

/* ---------- inputs ---------- */
body .form-input,
body .input-box,
body .select-box,
body .amount-input,
body .input-group,
body .input-wrapper{
  background:#fff !important;
  border:1.5px solid var(--vu-line) !important;
  border-radius:16px !important;
  color:var(--vu-ink) !important;
}
body .form-input:focus,
body .input-box:focus,
body .select-box:focus{
  border-color:var(--vu-rose) !important;
  box-shadow:0 0 0 4px rgba(194,24,91,.09) !important;
  outline:none !important;
}
body .form-label{
  color:var(--vu-ink) !important;font-weight:800 !important;
  font-size:11px !important;text-transform:uppercase !important;letter-spacing:.1em !important;
}

/* ---------- profile / menu rows ---------- */
body .menu-list{padding:4px 0 !important;}
body .menu-item{
  border-bottom:1px solid var(--vu-line) !important;
  padding:14px 16px !important;background:#fff !important;
}
body .menu-item:last-child{border-bottom:0 !important;}
body .menu-icon{
  background:var(--vu-rose-soft) !important;color:var(--vu-rose) !important;
  border-radius:14px !important;
}
body .menu-text{color:var(--vu-ink) !important;font-weight:700 !important;}
body .menu-chevron{color:#c9bcc5 !important;}
body .user-display-name{font-family:'Outfit',sans-serif !important;font-weight:800 !important;}
body .user-ref-id{color:var(--vu-rose) !important;font-weight:800 !important;letter-spacing:.08em !important;}
body .vip-badge{
  background:var(--vu-ink) !important;color:#fff !important;border:0 !important;
  border-radius:999px !important;font-weight:800 !important;letter-spacing:.06em !important;
}
body .avatar-frame,body .user-avatar{
  border-radius:20px !important;border:2px solid var(--vu-line) !important;background:var(--vu-rose-soft) !important;
}
body .btn-signout{
  background:#fff !important;color:var(--vu-rose) !important;
  border:1.5px solid #f6d6e5 !important;border-radius:16px !important;font-weight:800 !important;
}

/* ---------- misc ---------- */
body .user-pill,
body .balance-badge,
body .amount-tag,
body .claimed-badge{
  background:var(--vu-rose-soft) !important;color:var(--vu-rose) !important;
  border:1px solid #f6d6e5 !important;border-radius:999px !important;font-weight:800 !important;
}
body .empty-card{text-align:center !important;padding:36px 20px !important;}
body .modal-card{border-radius:24px !important;}
body .highlight{color:var(--vu-rose) !important;}
body .success-banner,body .alert-success{background:#effaf3 !important;color:#0b7040 !important;border:1px solid #c8ecd7 !important;border-radius:16px !important;}
body .alert-pending{background:#fff8ec !important;color:#96660a !important;border:1px solid #f5e2bd !important;border-radius:16px !important;}
body .alert-error{background:#fef2f4 !important;color:#a3123a !important;border:1px solid #f6ccd7 !important;border-radius:16px !important;}

/* ---------- rebuilt high-priority member screens ---------- */
body.vesto-profile-page,
body.vesto-withdraw-page,
body.vesto-invest-page,
body.vesto-deposit-page,
body.vesto-tasks-page{background:#f8f5f7 !important;}

body.vesto-profile-page .profile-header-banner{
  max-width:480px !important;margin:0 auto !important;padding:22px 20px 50px !important;
  background:var(--vu-ink) !important;border:0 !important;border-radius:0 0 32px 32px !important;
}
body.vesto-profile-page .profile-header-banner:before{display:none !important;}
body.vesto-profile-page .header-top-bar{background:transparent !important;border:0 !important;padding:0 !important;}
body.vesto-profile-page .header-page-title,
body.vesto-profile-page .user-display-name{color:#fff !important;}
body.vesto-profile-page .header-icon-btn{background:rgba(255,255,255,.1) !important;color:#fff !important;border-color:rgba(255,255,255,.14) !important;}
body.vesto-profile-page .profile-user-card{background:transparent !important;border:0 !important;box-shadow:none !important;padding:0 !important;margin:0 !important;color:#fff !important;}
body.vesto-profile-page .user-contact-sub{color:rgba(255,255,255,.66) !important;}
body.vesto-profile-page .user-ref-id{color:#ffb3d1 !important;}
body.vesto-profile-page .avatar-frame{border-color:rgba(255,255,255,.18) !important;background:#fff !important;}
body.vesto-profile-page .summary-card-wrapper{max-width:480px !important;margin:-28px auto 4px !important;padding:0 18px !important;}
body.vesto-profile-page .summary-card{background:linear-gradient(145deg,#61173c,#3c1028) !important;border:1px solid rgba(255,255,255,.08) !important;}
body.vesto-profile-page .menu-section,
body.vesto-profile-page .signout-section{max-width:480px !important;padding-left:18px !important;padding-right:18px !important;}
body.vesto-profile-page .menu-list{padding:6px !important;border-radius:18px !important;}
body.vesto-profile-page .menu-item{display:grid !important;grid-template-columns:42px minmax(0,1fr) 18px !important;gap:12px !important;border:0 !important;border-radius:14px !important;margin:2px 0 !important;}
body.vesto-profile-page .menu-item:active{background:var(--vu-rose-soft) !important;}
body .menu-note{margin-top:3px;color:var(--vu-muted);font-size:11px;line-height:1.35;}

body.vesto-withdraw-page .page-header,
body.vesto-deposit-page .header-banner,
body.vesto-tasks-page .header{
  max-width:480px !important;margin:0 auto !important;padding:20px 18px 26px !important;
  background:#fff !important;border-bottom:1px solid var(--vu-line) !important;
}
body.vesto-withdraw-page .header-title,
body.vesto-deposit-page .header-title,
body.vesto-tasks-page .header-title h1{color:var(--vu-ink) !important;font-family:'Outfit',sans-serif !important;font-size:22px !important;}
body.vesto-withdraw-page .container{margin:0 auto !important;padding-top:20px !important;}
body.vesto-withdraw-page .balance-card{background:linear-gradient(145deg,#61173c,#3c1028) !important;margin-bottom:18px !important;}
body.vesto-withdraw-page .card{border-radius:18px !important;padding:6px !important;}
body.vesto-withdraw-page .card-header{padding:14px 12px 12px !important;margin:0 !important;border-bottom:0 !important;}
body.vesto-withdraw-page .bank-details-grid{border:0 !important;background:#f8f5f7 !important;box-shadow:none !important;margin:0 !important;}
body.vesto-withdraw-page .bank-detail-item{padding:8px 2px !important;border-bottom:1px solid var(--vu-line) !important;}
body.vesto-withdraw-page .bank-detail-item:last-child{border-bottom:0 !important;}
body.vesto-withdraw-page form{padding:0 12px 12px;}
body.vesto-withdraw-page .card-title-icon{background:var(--vu-rose-soft) !important;color:var(--vu-rose) !important;border-radius:12px !important;}

body.vesto-deposit-page .container{padding-top:20px !important;}
body.vesto-deposit-page .balance-widget{background:linear-gradient(145deg,#61173c,#3c1028) !important;}
body.vesto-deposit-page .card{border-radius:18px !important;padding:20px !important;}
body .step-label{display:inline-flex;margin-bottom:10px;padding:5px 9px;border-radius:8px;background:var(--vu-rose-soft);color:var(--vu-rose);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;}
body .step-label-dark{background:rgba(255,255,255,.12);color:#ffb3d1;}
body.vesto-deposit-page .acct-card{background:linear-gradient(145deg,#61173c,#3c1028) !important;padding:22px !important;}
body.vesto-deposit-page .acct-badge{display:flex !important;padding:0 0 16px !important;background:transparent !important;border:0 !important;border-bottom:1px solid rgba(255,255,255,.14) !important;border-radius:0 !important;box-shadow:none !important;}
body.vesto-deposit-page .acct-row{padding:4px 0 !important;}
body.vesto-deposit-page .info-note{background:#fff !important;border:1px solid var(--vu-line) !important;border-radius:16px !important;color:var(--vu-muted) !important;}
body.vesto-deposit-page .info-note i{color:var(--vu-rose) !important;}

body.vesto-invest-page .header-banner{max-width:480px !important;margin:0 auto !important;background:var(--vu-ink) !important;border:0 !important;border-radius:0 0 28px 28px !important;padding:20px 18px !important;}
body.vesto-invest-page .header-banner:before{display:none !important;}
body.vesto-invest-page .brand-row{margin:0 0 14px !important;}
body.vesto-invest-page .header-title{color:#fff !important;font-size:20px !important;}
body.vesto-invest-page .user-info-card{background:rgba(255,255,255,.08) !important;border:1px solid rgba(255,255,255,.12) !important;padding:12px !important;}
body.vesto-invest-page .invest-intro{padding:6px 2px 4px;margin-bottom:16px;}
body.vesto-invest-page .invest-intro span{color:var(--vu-rose);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;}
body.vesto-invest-page .invest-intro h1{font-family:'Outfit',sans-serif;font-size:25px;line-height:1.12;margin:7px 0;color:var(--vu-ink);}
body.vesto-invest-page .invest-intro p{font-size:13px;line-height:1.55;color:var(--vu-muted);}
body.vesto-invest-page .benefits-card{display:none !important;}
body.vesto-invest-page .plan-card{border:0 !important;border-radius:18px !important;box-shadow:0 10px 30px -24px rgba(27,15,24,.65) !important;padding:18px !important;}
body.vesto-invest-page .plan-card:before{width:3px;background:var(--vu-rose);}
body .plan-number{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:var(--vu-ink);color:#fff;font:800 13px 'Outfit',sans-serif;}
body.vesto-invest-page .plan-stats-grid{grid-template-columns:1fr 1fr !important;text-align:left !important;gap:12px !important;}
body.vesto-invest-page .stat-col:first-child{grid-column:1/-1;padding-bottom:10px;border-bottom:1px solid var(--vu-line);}

body.vesto-tasks-page .header{display:flex !important;border-radius:0 !important;}
body.vesto-tasks-page .main-container{padding-top:20px !important;}
body.vesto-tasks-page .plan-card{border:0 !important;border-radius:18px !important;padding:18px !important;}
body.vesto-tasks-page .plan-emoji{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:var(--vu-rose-soft);font-size:18px !important;}
body.vesto-tasks-page .claim-box{box-shadow:none !important;background:#f8f5f7 !important;margin:0 !important;}
body .empty-icon{display:grid;width:58px;height:58px;place-items:center;margin:0 auto 14px;border-radius:18px;background:var(--vu-rose-soft);color:var(--vu-rose);font-size:22px;}

@media (min-width:600px){
  body.vesto-profile-page,body.vesto-withdraw-page,body.vesto-invest-page,body.vesto-deposit-page,body.vesto-tasks-page{background:#eee8ec !important;}
  body.vesto-profile-page .profile-header-banner,body.vesto-withdraw-page .page-header,body.vesto-deposit-page .header-banner,body.vesto-invest-page .header-banner,body.vesto-tasks-page .header{margin-top:24px !important;border-radius:24px 24px 0 0 !important;}
}

/* Final flyer-rose balance treatment shared by dashboard and profile */
body .wallet,
body.vesto-profile-page .summary-card{background:#e15b8b !important;color:#fff !important;border:0 !important;box-shadow:0 18px 36px -24px rgba(190,45,103,.70) !important;}
body .wallet *,body.vesto-profile-page .summary-card *{color:#fff !important;border-color:rgba(255,255,255,.20) !important;}
body.vesto-profile-page .profile-user-card{display:block !important;}
body.vesto-profile-page .profile-header-banner{background:#fff !important;color:#351326 !important;border-bottom:1px solid #f0dce5 !important;}
body.vesto-profile-page .profile-user-card *,body.vesto-profile-page .header-page-title{color:#351326 !important;}
body.vesto-profile-page .user-contact-sub{color:#8e7583 !important;}
body.vesto-profile-page .user-ref-id{color:#be2d67 !important;}
