/* VF_PREMIUM_PAGE_POLISH_V2
   Dashboard + Wallet + Send.
   Additive visual layer only. */

body.vf-premium-ui.vfp2-page{
  --vfp2-card:#fff;
  --vfp2-card-soft:rgba(255,255,255,.83);
  --vfp2-line:rgba(46,59,95,.085);
  --vfp2-line-strong:rgba(46,59,95,.14);
  --vfp2-shadow:0 16px 42px rgba(36,49,84,.075);
  --vfp2-shadow-hover:0 24px 56px rgba(36,49,84,.115);
  --vfp2-indigo:#6259df;
  --vfp2-purple:#8b61e7;
  --vfp2-cyan:#4bc7d4;
  --vfp2-green:#1ea77e;
  --vfp2-text:#121a2e;
  --vfp2-muted:#7a859c;
}

body.vf-premium-ui.vfp2-page .vf-page{
  padding-top:7px;
}

body.vf-premium-ui.vfp2-page .vf-page-head,
body.vf-premium-ui.vfp2-page .vfp2-page-head{
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:22px;
  padding:19px 3px 22px;
}

body.vf-premium-ui.vfp2-page .vf-page-head::after{
  content:"";
  position:absolute;
  left:3px;
  right:3px;
  bottom:8px;
  height:1px;
  background:linear-gradient(90deg,rgba(91,83,215,.15),rgba(81,196,210,.08),transparent 72%);
}

body.vf-premium-ui.vfp2-page .vf-eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:4px 9px;
  margin-bottom:8px;
  border:1px solid rgba(96,88,218,.10);
  border-radius:999px;
  color:#6d66b9;
  background:rgba(103,92,222,.055);
  font-size:8px;
  font-weight:950;
  letter-spacing:.13em;
}

body.vf-premium-ui.vfp2-page .vf-title{
  max-width:820px;
  margin-top:0;
  margin-bottom:8px;
  color:var(--vfp2-text);
  font-size:clamp(29px,3.3vw,44px);
  line-height:1.02;
  letter-spacing:-.055em;
}

body.vf-premium-ui.vfp2-page .vf-sub{
  max-width:730px;
  color:var(--vfp2-muted);
  font-size:11px;
  line-height:1.65;
}

body.vf-premium-ui.vfp2-page .vf-live{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
  padding:7px 11px;
  border:1px solid rgba(27,166,126,.10);
  border-radius:999px;
  color:#24896c;
  background:rgba(32,169,126,.055);
  font-size:9px;
  font-weight:900;
}

body.vf-premium-ui.vfp2-page .vf-live i{
  width:7px;
  height:7px;
  display:block;
  border-radius:50%;
  background:#27b187;
  box-shadow:0 0 0 4px rgba(39,177,135,.10);
}

body.vf-premium-ui.vfp2-page .glass,
body.vf-premium-ui.vfp2-page .vf-card,
body.vf-premium-ui.vfp2-page .form-card{
  border:1px solid var(--vfp2-line) !important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.95),rgba(250,251,254,.88)) !important;
  box-shadow:var(--vfp2-shadow) !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.08);
  backdrop-filter:blur(18px) saturate(1.08);
}

body.vf-premium-ui.vfp2-page .vf-card,
body.vf-premium-ui.vfp2-page .form-card{
  border-radius:22px !important;
}

body.vf-premium-ui.vfp2-page .section-title h2{
  color:var(--vfp2-text);
  font-size:14px;
  letter-spacing:-.025em;
}

body.vf-premium-ui.vfp2-page .section-title p{
  color:var(--vfp2-muted);
  line-height:1.55;
}

body.vf-premium-ui.vfp2-page .btn{
  min-height:42px;
  border-radius:13px;
  box-shadow:none;
  transition:
    transform .16s cubic-bezier(.2,.8,.2,1),
    box-shadow .16s ease,
    filter .16s ease;
}

body.vf-premium-ui.vfp2-page .btn:hover{
  transform:translateY(-1px);
}

body.vf-premium-ui.vfp2-page .btn.primary{
  border:0;
  color:#fff;
  background:
    linear-gradient(110deg,#5362d9 0%,#755fe3 52%,#8d60e4 100%);
  box-shadow:0 12px 25px rgba(102,86,212,.18);
}

body.vf-premium-ui.vfp2-page .btn.primary:hover{
  box-shadow:0 16px 31px rgba(102,86,212,.24);
}

body.vf-premium-ui.vfp2-page .empty-state,
body.vf-premium-ui.vfp2-page .empty{
  border:1px dashed rgba(74,90,128,.13);
  border-radius:17px;
  color:var(--vfp2-muted);
  background:
    linear-gradient(145deg,rgba(239,250,251,.54),rgba(247,242,255,.55));
}

/* ---------------- DASHBOARD ---------------- */

body.vf-premium-ui.vfp2-dashboard .vfp2-portfolio-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.90) !important;
  border-radius:28px !important;
  background:
    radial-gradient(circle at 78% 4%,rgba(99,205,214,.27),transparent 32%),
    radial-gradient(circle at 96% 82%,rgba(145,95,228,.19),transparent 31%),
    linear-gradient(138deg,rgba(255,255,255,.98),rgba(246,248,253,.93)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 24px 65px rgba(36,49,84,.105) !important;
}

body.vf-premium-ui.vfp2-dashboard .vfp2-portfolio-hero::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:270px;
  height:270px;
  top:-150px;
  right:10%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(89,205,216,.18),transparent 69%);
}

body.vf-premium-ui.vfp2-dashboard .vfp2-portfolio-hero::after{
  content:"";
  position:absolute;
  z-index:-1;
  width:220px;
  height:220px;
  right:-80px;
  bottom:-100px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(139,97,231,.18),transparent 70%);
}

body.vf-premium-ui.vfp2-dashboard #portfolioValue,
body.vf-premium-ui.vfp2-dashboard .vf-balance,
body.vf-premium-ui.vfp2-dashboard .balance{
  color:#11192d;
  font-size:clamp(38px,5vw,62px);
  font-weight:950;
  line-height:1;
  letter-spacing:-.065em;
  font-variant-numeric:tabular-nums;
}

body.vf-premium-ui.vfp2-dashboard #portfolioStatus{
  max-width:660px;
  color:#7b869d;
  font-size:10px;
  line-height:1.55;
}

body.vf-premium-ui.vfp2-dashboard .portfolio-actions,
body.vf-premium-ui.vfp2-dashboard .hero-actions{
  gap:8px;
}

body.vf-premium-ui.vfp2-dashboard .vf-dashboard-menu-v12{
  margin:18px 0;
  padding:18px;
  border:1px solid var(--vfp2-line);
  border-radius:24px;
  background:rgba(255,255,255,.72);
  box-shadow:var(--vfp2-shadow);
}

body.vf-premium-ui.vfp2-dashboard .vf-dashboard-menu-v12-head{
  margin-bottom:13px;
}

body.vf-premium-ui.vfp2-dashboard .vf-dashboard-menu-v12-title{
  margin:0 0 4px;
  color:var(--vfp2-text);
  font-size:15px;
  letter-spacing:-.025em;
}

body.vf-premium-ui.vfp2-dashboard .vf-dashboard-menu-v12-sub{
  margin:0;
  color:var(--vfp2-muted);
  font-size:10px;
}

body.vf-premium-ui.vfp2-dashboard .vf-dashboard-menu-v12-grid,
body.vf-premium-ui.vfp2-dashboard .quick-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
}

body.vf-premium-ui.vfp2-dashboard .vf-dashboard-menu-v12-item,
body.vf-premium-ui.vfp2-dashboard .quick-card,
body.vf-premium-ui.vfp2-dashboard .quick{
  position:relative;
  min-height:108px;
  overflow:hidden;
  padding:14px !important;
  border:1px solid rgba(54,69,106,.075) !important;
  border-radius:18px !important;
  color:#35415c !important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.97),rgba(247,249,253,.92)) !important;
  box-shadow:0 8px 24px rgba(36,49,84,.052) !important;
  transition:
    transform .19s cubic-bezier(.2,.8,.2,1),
    box-shadow .19s ease,
    border-color .19s ease !important;
}

body.vf-premium-ui.vfp2-dashboard .vf-dashboard-menu-v12-item::after,
body.vf-premium-ui.vfp2-dashboard .quick-card::after,
body.vf-premium-ui.vfp2-dashboard .quick::after{
  content:"";
  position:absolute;
  width:80px;
  height:80px;
  right:-37px;
  bottom:-41px;
  border-radius:50%;
  background:
    radial-gradient(circle,rgba(106,93,225,.09),transparent 69%);
}

body.vf-premium-ui.vfp2-dashboard .vf-dashboard-menu-v12-item:hover,
body.vf-premium-ui.vfp2-dashboard .quick-card:hover,
body.vf-premium-ui.vfp2-dashboard .quick:hover{
  transform:translateY(-3px) !important;
  border-color:rgba(101,88,220,.13) !important;
  box-shadow:var(--vfp2-shadow-hover) !important;
}

body.vf-premium-ui.vfp2-dashboard .vfp2-asset-card,
body.vf-premium-ui.vfp2-dashboard .asset-row{
  min-height:64px;
  margin:3px 0;
  padding:10px 9px !important;
  border:1px solid transparent;
  border-radius:15px;
  transition:background .16s ease,border-color .16s ease,transform .16s ease;
}

body.vf-premium-ui.vfp2-dashboard .vfp2-asset-card:hover,
body.vf-premium-ui.vfp2-dashboard .asset-row:hover{
  border-color:rgba(70,84,119,.075);
  background:rgba(247,249,253,.92);
}

body.vf-premium-ui.vfp2-dashboard .asset-balance,
body.vf-premium-ui.vfp2-dashboard .asset-value{
  color:#1b2438;
  font-variant-numeric:tabular-nums;
}

/* ---------------- WALLET ---------------- */

body.vf-premium-ui.vfp2-wallet .vfp2-wallet-summary{
  margin-bottom:15px;
  padding:18px;
  border:1px solid var(--vfp2-line);
  border-radius:23px;
  background:
    radial-gradient(circle at 88% 9%,rgba(80,197,209,.13),transparent 30%),
    linear-gradient(145deg,#fff,#f8f9fd);
  box-shadow:var(--vfp2-shadow);
}

body.vf-premium-ui.vfp2-wallet .vfp2-wallet-summary-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
}

body.vf-premium-ui.vfp2-wallet .vfp2-wallet-summary .label{
  margin-bottom:4px;
  color:var(--vfp2-muted);
  font-size:9px;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}

body.vf-premium-ui.vfp2-wallet .vfp2-wallet-summary .value{
  color:var(--vfp2-text);
  font-size:clamp(28px,3.4vw,44px);
  font-weight:950;
  letter-spacing:-.055em;
  font-variant-numeric:tabular-nums;
}

body.vf-premium-ui.vfp2-wallet .vfp2-wallet-summary .hint{
  margin-top:6px;
  color:var(--vfp2-muted);
  font-size:9px;
}

body.vf-premium-ui.vfp2-wallet .vfp2-wallet-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:7px;
}

body.vf-premium-ui.vfp2-wallet .vfp2-wallet-actions a{
  min-height:39px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 13px;
  border:1px solid var(--vfp2-line);
  border-radius:12px;
  color:#47536d;
  background:#fff;
  box-shadow:0 6px 17px rgba(37,49,84,.05);
  font-size:9px;
  font-weight:900;
  text-decoration:none;
}

body.vf-premium-ui.vfp2-wallet .vfp2-wallet-actions a.primary{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(110deg,#5762db,#8a61e5);
}

body.vf-premium-ui.vfp2-wallet .vfp2-wallet-card,
body.vf-premium-ui.vfp2-wallet .asset-row,
body.vf-premium-ui.vfp2-wallet .wallet-row,
body.vf-premium-ui.vfp2-wallet .asset-card{
  position:relative;
  min-height:72px;
  margin:5px 0;
  padding:12px !important;
  border:1px solid rgba(51,66,102,.075) !important;
  border-radius:17px !important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.98),rgba(249,250,253,.93)) !important;
  box-shadow:0 7px 21px rgba(36,49,84,.045) !important;
  transition:
    transform .17s cubic-bezier(.2,.8,.2,1),
    border-color .17s ease,
    box-shadow .17s ease !important;
}

body.vf-premium-ui.vfp2-wallet .vfp2-wallet-card:hover,
body.vf-premium-ui.vfp2-wallet .asset-row:hover,
body.vf-premium-ui.vfp2-wallet .wallet-row:hover,
body.vf-premium-ui.vfp2-wallet .asset-card:hover{
  transform:translateY(-1px);
  border-color:rgba(96,83,215,.12) !important;
  box-shadow:0 13px 30px rgba(36,49,84,.075) !important;
}

body.vf-premium-ui.vfp2-wallet .asset-logo-wrap,
body.vf-premium-ui.vfp2-wallet .asset-icon{
  filter:drop-shadow(0 7px 12px rgba(41,54,91,.09));
}

body.vf-premium-ui.vfp2-wallet .asset-name,
body.vf-premium-ui.vfp2-wallet .wallet-asset-name{
  color:#1a2338;
  font-size:12px;
  font-weight:900;
}

body.vf-premium-ui.vfp2-wallet .asset-sub,
body.vf-premium-ui.vfp2-wallet .wallet-asset-sub{
  color:#8892a7;
  font-size:9px;
}

body.vf-premium-ui.vfp2-wallet .asset-value,
body.vf-premium-ui.vfp2-wallet .asset-balance{
  color:#192238;
  font-size:11px;
  font-weight:900;
  font-variant-numeric:tabular-nums;
}

/* ---------------- SEND ---------------- */

body.vf-premium-ui.vfp2-send .vf-grid.two{
  grid-template-columns:minmax(0,1.16fr) minmax(300px,.84fr);
  align-items:start;
  gap:15px;
}

body.vf-premium-ui.vfp2-send .form-card{
  position:relative;
  overflow:visible;
  padding:19px !important;
}

body.vf-premium-ui.vfp2-send .vfp2-send-progress{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:5px;
  margin-bottom:16px;
  padding:7px;
  border:1px solid rgba(52,67,104,.075);
  border-radius:15px;
  background:#f7f8fc;
}

body.vf-premium-ui.vfp2-send .vfp2-send-progress span{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:4px 6px;
  border-radius:10px;
  color:#7b8599;
  background:transparent;
  font-size:8px;
  font-weight:900;
  text-align:center;
}

body.vf-premium-ui.vfp2-send .vfp2-send-progress span:first-child{
  color:#6057cf;
  background:#fff;
  box-shadow:0 5px 14px rgba(37,49,84,.055);
}

body.vf-premium-ui.vfp2-send .vfp2-send-progress b{
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(145deg,#5cc5d4,#8063e5);
  font-size:8px;
}

body.vf-premium-ui.vfp2-send .form-step{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:7px;
  color:#55617a;
  font-size:9px;
  font-weight:900;
  letter-spacing:.025em;
}

body.vf-premium-ui.vfp2-send .step-num{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border:1px solid rgba(100,87,218,.10);
  border-radius:8px;
  color:#6459d8;
  background:rgba(99,87,217,.06);
  font-size:8px;
}

body.vf-premium-ui.vfp2-send .control,
body.vf-premium-ui.vfp2-send .amount-box{
  border:1px solid rgba(51,66,102,.10) !important;
  border-radius:15px !important;
  background:#fbfcfe !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
  transition:
    border-color .16s ease,
    box-shadow .16s ease,
    background .16s ease;
}

body.vf-premium-ui.vfp2-send .control:focus-within,
body.vf-premium-ui.vfp2-send .amount-box:focus-within{
  border-color:rgba(101,87,218,.27) !important;
  background:#fff !important;
  box-shadow:0 0 0 4px rgba(101,87,218,.05) !important;
}

body.vf-premium-ui.vfp2-send .control input,
body.vf-premium-ui.vfp2-send .control select{
  min-height:48px;
  color:#172136;
  font-size:12px;
}

body.vf-premium-ui.vfp2-send #vfSendPickerButton{
  width:100%;
  min-height:62px;
  padding:10px 12px;
  border:1px solid rgba(51,66,102,.10);
  border-radius:15px;
  color:#2c3850;
  background:
    linear-gradient(145deg,#fff,#f8f9fc);
  box-shadow:0 7px 20px rgba(36,49,84,.05);
}

body.vf-premium-ui.vfp2-send #vfSendPickerMenu{
  margin-top:7px;
  border:1px solid var(--vfp2-line-strong);
  border-radius:17px;
  background:rgba(255,255,255,.985);
  box-shadow:0 24px 60px rgba(33,46,81,.16);
  overflow:hidden;
}

body.vf-premium-ui.vfp2-send #vfSendPickerSearch{
  min-height:44px;
  border-radius:12px;
  background:#f7f8fb;
}

body.vf-premium-ui.vfp2-send #sendPreview{
  min-height:52px !important;
  margin-top:15px !important;
  border-radius:15px !important;
  font-size:11px;
  letter-spacing:.01em;
}

body.vf-premium-ui.vfp2-send #sendBalanceWarning,
body.vf-premium-ui.vfp2-send #sendQuoteStatus,
body.vf-premium-ui.vfp2-send .notice{
  border-radius:14px !important;
  font-size:9px !important;
  line-height:1.55 !important;
}

body.vf-premium-ui.vfp2-send #sendSelected{
  min-height:120px;
}

body.vf-premium-ui.vfp2-send .activity-item{
  padding:11px 8px;
  border-bottom-color:rgba(50,64,101,.065);
}

/* performance: defer paint for lower informational cards only */
body.vf-premium-ui.vfp2-page .vfp2-defer-paint{
  content-visibility:auto;
  contain-intrinsic-size:240px;
}

/* PWA/mobile-ready behavior */
body.vf-premium-ui.vfp2-page{
  overscroll-behavior-y:contain;
}

body.vf-premium-ui.vfp2-page button,
body.vf-premium-ui.vfp2-page a,
body.vf-premium-ui.vfp2-page input,
body.vf-premium-ui.vfp2-page select{
  touch-action:manipulation;
}

@media(max-width:1180px){
  body.vf-premium-ui.vfp2-dashboard .vf-dashboard-menu-v12-grid,
  body.vf-premium-ui.vfp2-dashboard .quick-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }

  body.vf-premium-ui.vfp2-send .vf-grid.two{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  body.vf-premium-ui.vfp2-page .vf-page{
    padding-top:1px;
  }

  body.vf-premium-ui.vfp2-page .vf-page-head,
  body.vf-premium-ui.vfp2-page .vfp2-page-head{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
    padding:12px 1px 18px;
  }

  body.vf-premium-ui.vfp2-page .vf-page-head::after{
    bottom:7px;
  }

  body.vf-premium-ui.vfp2-page .vf-title{
    font-size:31px;
  }

  body.vf-premium-ui.vfp2-page .vf-sub{
    font-size:10px;
  }

  body.vf-premium-ui.vfp2-dashboard .vf-dashboard-menu-v12{
    padding:13px;
    border-radius:20px;
  }

  body.vf-premium-ui.vfp2-dashboard .vf-dashboard-menu-v12-grid,
  body.vf-premium-ui.vfp2-dashboard .quick-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  body.vf-premium-ui.vfp2-dashboard .vf-dashboard-menu-v12-item,
  body.vf-premium-ui.vfp2-dashboard .quick-card,
  body.vf-premium-ui.vfp2-dashboard .quick{
    min-height:96px;
    padding:12px !important;
  }

  body.vf-premium-ui.vfp2-wallet .vfp2-wallet-summary{
    padding:15px;
    border-radius:19px;
  }

  body.vf-premium-ui.vfp2-wallet .vfp2-wallet-summary-grid{
    grid-template-columns:1fr;
    gap:12px;
  }

  body.vf-premium-ui.vfp2-wallet .vfp2-wallet-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    justify-content:stretch;
  }

  body.vf-premium-ui.vfp2-wallet .vfp2-wallet-actions a{
    min-height:44px;
  }

  body.vf-premium-ui.vfp2-send .form-card{
    padding:15px !important;
    border-radius:19px !important;
  }

  body.vf-premium-ui.vfp2-send .vfp2-send-progress{
    grid-template-columns:repeat(2,1fr);
  }

  body.vf-premium-ui.vfp2-send .control input,
  body.vf-premium-ui.vfp2-send .control select{
    min-height:52px;
    font-size:16px; /* prevents iOS zoom */
  }

  body.vf-premium-ui.vfp2-send #sendPreview{
    min-height:54px !important;
    font-size:12px;
  }
}

@media(max-width:420px){
  body.vf-premium-ui.vfp2-page .vf-title{
    font-size:28px;
  }

  body.vf-premium-ui.vfp2-dashboard .vf-dashboard-menu-v12-grid,
  body.vf-premium-ui.vfp2-dashboard .quick-grid{
    grid-template-columns:1fr 1fr !important;
  }

  body.vf-premium-ui.vfp2-wallet .vfp2-wallet-actions{
    grid-template-columns:1fr;
  }

  body.vf-premium-ui.vfp2-send .vfp2-send-progress{
    gap:4px;
    padding:5px;
  }

  body.vf-premium-ui.vfp2-send .vfp2-send-progress span{
    min-height:32px;
    font-size:7px;
  }
}

@media(prefers-reduced-motion:reduce){
  body.vf-premium-ui.vfp2-page .vf-dashboard-menu-v12-item,
  body.vf-premium-ui.vfp2-page .quick-card,
  body.vf-premium-ui.vfp2-page .quick,
  body.vf-premium-ui.vfp2-page .vfp2-wallet-card{
    transform:none !important;
  }
}
