/* VF_PREMIUM_UI_FOUNDATION_V1
   Additive presentation layer only.
   No financial/business logic. */

:root{
  --vfp-bg:#f5f7fb;
  --vfp-bg-2:#eef2f8;
  --vfp-surface:rgba(255,255,255,.88);
  --vfp-surface-strong:#ffffff;
  --vfp-surface-soft:rgba(248,250,255,.88);
  --vfp-border:rgba(45,59,94,.09);
  --vfp-border-strong:rgba(45,59,94,.14);
  --vfp-ink:#10182c;
  --vfp-text:#34405c;
  --vfp-muted:#7b869d;
  --vfp-primary:#6359e8;
  --vfp-primary-2:#8e69ed;
  --vfp-cyan:#55ced8;
  --vfp-green:#20a982;
  --vfp-orange:#d68a25;
  --vfp-red:#d95c71;
  --vfp-sidebar:252px;
  --vfp-radius-xs:10px;
  --vfp-radius-sm:14px;
  --vfp-radius:18px;
  --vfp-radius-lg:24px;
  --vfp-radius-xl:30px;
  --vfp-shadow-sm:0 7px 20px rgba(39,51,88,.055);
  --vfp-shadow:0 18px 50px rgba(31,43,79,.095);
  --vfp-shadow-lg:0 32px 86px rgba(31,43,79,.14);
  --vfp-ease:cubic-bezier(.2,.8,.2,1);
  --vfp-safe-bottom:max(10px,env(safe-area-inset-bottom));
}

html{
  -webkit-text-size-adjust:100%;
  text-rendering:optimizeLegibility;
}

html,body{
  min-height:100%;
}

body.vf-premium-ui{
  background:
    radial-gradient(circle at 9% 7%,rgba(91,213,222,.11),transparent 31%),
    radial-gradient(circle at 87% 5%,rgba(151,105,237,.105),transparent 32%),
    radial-gradient(circle at 51% 103%,rgba(255,177,210,.085),transparent 31%),
    linear-gradient(180deg,#f8f9fc 0%,#f4f6fb 49%,#f6f7fb 100%) !important;
  color:var(--vfp-ink);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-feature-settings:"tnum" 1,"cv02" 1,"cv03" 1,"cv04" 1;
  overflow-x:hidden;
}

body.vf-premium-ui *,
body.vf-premium-ui *::before,
body.vf-premium-ui *::after{
  box-sizing:border-box;
}

body.vf-premium-ui ::selection{
  color:#fff;
  background:#7767ea;
}

/* ---------- authoritative shell ---------- */

html body.vf-premium-ui .vf-sidebar,
body.vf-premium-ui .vfp-sidebar{
  position:fixed !important;
  z-index:120 !important;
  top:14px !important;
  bottom:14px !important;
  left:14px !important;
  width:var(--vfp-sidebar) !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  padding:15px 12px 13px !important;
  border:1px solid rgba(255,255,255,.82) !important;
  border-radius:27px !important;
  background:rgba(255,255,255,.78) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 22px 58px rgba(40,52,91,.105) !important;
  -webkit-backdrop-filter:blur(25px) saturate(1.16) !important;
  backdrop-filter:blur(25px) saturate(1.16) !important;
}

body.vf-premium-ui .vfp-brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:54px;
  padding:4px 8px 13px;
  color:var(--vfp-ink);
  text-decoration:none;
}

body.vf-premium-ui .vfp-brand-mark{
  width:39px;
  height:39px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:13px;
  color:#fff;
  font-size:18px;
  font-weight:950;
  letter-spacing:-.06em;
  background:
    linear-gradient(145deg,#4fcbd2 0%,#6b80ef 50%,#9863e6 100%);
  box-shadow:
    inset 0 1px 1px rgba(255,255,255,.5),
    0 10px 22px rgba(105,99,223,.24);
}

body.vf-premium-ui .vfp-brand-name{
  font-size:18px;
  font-weight:950;
  letter-spacing:-.045em;
}

body.vf-premium-ui .vfp-brand-name span{
  background:linear-gradient(90deg,#5bbfd5,#6c82ef 45%,#9565e6);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

body.vf-premium-ui .vfp-nav-scroll{
  flex:1;
  min-height:0;
  overflow:auto;
  scrollbar-width:none;
  padding:2px 2px 8px;
}

body.vf-premium-ui .vfp-nav-scroll::-webkit-scrollbar{
  display:none;
}

body.vf-premium-ui .vfp-nav-label{
  margin:13px 10px 6px;
  color:#9aa3b6;
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

body.vf-premium-ui .vfp-nav{
  display:grid;
  gap:3px;
}

body.vf-premium-ui .vfp-nav a{
  min-height:43px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 11px;
  border-radius:13px;
  color:#4f5d76;
  text-decoration:none;
  font-size:12px;
  font-weight:800;
  transition:
    transform .18s var(--vfp-ease),
    color .18s ease,
    background .18s ease,
    box-shadow .18s ease;
}

body.vf-premium-ui .vfp-nav a:hover{
  color:#4039b8;
  background:rgba(104,91,224,.07);
  transform:translateX(2px);
}

body.vf-premium-ui .vfp-nav a.active{
  color:#fff;
  background:
    linear-gradient(110deg,#5762d9 0%,#765fe4 49%,#8d63e8 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    0 9px 22px rgba(102,86,211,.19);
}

body.vf-premium-ui .vfp-nav-icon{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
}

body.vf-premium-ui .vfp-nav-icon svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

body.vf-premium-ui .vfp-side-foot{
  padding:9px 2px 0;
  border-top:1px solid rgba(44,60,97,.07);
}

body.vf-premium-ui .vfp-side-foot .vfp-nav a{
  min-height:40px;
}

html body.vf-premium-ui .vf-main{
  width:auto !important;
  max-width:none !important;
  margin-left:calc(var(--vfp-sidebar) + 28px) !important;
  padding-left:18px !important;
  padding-right:22px !important;
}

html body.vf-premium-ui .vf-content{
  width:100% !important;
  max-width:1560px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

html body.vf-premium-ui .vf-topbar,
body.vf-premium-ui .vfp-topbar{
  position:sticky !important;
  z-index:105 !important;
  top:0 !important;
  min-height:74px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  padding:
    max(10px,env(safe-area-inset-top))
    0
    9px !important;
  border:0 !important;
  background:
    linear-gradient(
      180deg,
      rgba(247,249,253,.97) 0%,
      rgba(247,249,253,.89) 63%,
      rgba(247,249,253,0) 100%
    ) !important;
  box-shadow:none !important;
  -webkit-backdrop-filter:blur(12px) saturate(1.08) !important;
  backdrop-filter:blur(12px) saturate(1.08) !important;
}

body.vf-premium-ui .vfp-top-left,
body.vf-premium-ui .vfp-top-actions{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}

body.vf-premium-ui .vfp-mobile-brand{
  display:none;
  align-items:center;
  gap:8px;
  color:var(--vfp-ink);
  text-decoration:none;
  font-weight:950;
  letter-spacing:-.04em;
}

body.vf-premium-ui .vfp-mobile-brand .vfp-brand-mark{
  width:36px;
  height:36px;
  border-radius:12px;
}

body.vf-premium-ui .vf-search,
body.vf-premium-ui .vfp-search{
  min-width:240px;
  max-width:440px;
  height:44px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:0 13px;
  border:1px solid var(--vfp-border) !important;
  border-radius:14px !important;
  background:rgba(255,255,255,.79) !important;
  box-shadow:var(--vfp-shadow-sm) !important;
  transition:
    border-color .18s ease,
    box-shadow .18s ease,
    background .18s ease;
}

body.vf-premium-ui .vf-search:focus-within,
body.vf-premium-ui .vfp-search:focus-within{
  border-color:rgba(103,91,225,.28) !important;
  background:#fff !important;
  box-shadow:
    0 0 0 4px rgba(105,92,226,.055),
    var(--vfp-shadow-sm) !important;
}

body.vf-premium-ui .vf-search input,
body.vf-premium-ui .vfp-search input{
  width:100%;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--vfp-ink);
  font-size:12px;
}

body.vf-premium-ui .vf-search input::placeholder,
body.vf-premium-ui .vfp-search input::placeholder{
  color:#9aa3b5;
}

body.vf-premium-ui .vf-icon-btn,
body.vf-premium-ui .vfp-icon-btn{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  border:1px solid var(--vfp-border) !important;
  border-radius:13px !important;
  color:#4d5872 !important;
  background:rgba(255,255,255,.82) !important;
  box-shadow:var(--vfp-shadow-sm) !important;
  cursor:pointer;
  transition:
    transform .16s var(--vfp-ease),
    box-shadow .16s ease,
    border-color .16s ease;
}

body.vf-premium-ui .vf-icon-btn:hover,
body.vf-premium-ui .vfp-icon-btn:hover{
  transform:translateY(-1px);
  border-color:rgba(104,91,225,.18) !important;
  box-shadow:0 12px 25px rgba(42,55,91,.09) !important;
}

body.vf-premium-ui .vf-icon-btn svg,
body.vf-premium-ui .vfp-icon-btn svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

body.vf-premium-ui .vf-currency,
body.vf-premium-ui .vfp-currency{
  height:42px !important;
  min-width:78px;
  padding:0 30px 0 11px !important;
  border:1px solid var(--vfp-border) !important;
  border-radius:13px !important;
  outline:0;
  color:#43506a !important;
  background-color:rgba(255,255,255,.82) !important;
  box-shadow:var(--vfp-shadow-sm);
  font-size:11px !important;
  font-weight:850 !important;
  cursor:pointer;
}

body.vf-premium-ui .vfp-balance-chip{
  min-height:42px;
  min-width:142px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:7px 11px;
  border:1px solid var(--vfp-border);
  border-radius:13px;
  background:rgba(255,255,255,.82);
  box-shadow:var(--vfp-shadow-sm);
}

body.vf-premium-ui .vfp-balance-chip .vfp-balance-icon{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:9px;
  color:#5e58cf;
  background:linear-gradient(145deg,rgba(87,207,216,.15),rgba(141,98,233,.13));
}

body.vf-premium-ui .vfp-balance-chip small{
  display:block;
  margin:0 0 1px;
  color:var(--vfp-muted);
  font-size:8px;
  font-weight:800;
  letter-spacing:.035em;
}

body.vf-premium-ui .vfp-balance-chip strong{
  display:block;
  color:var(--vfp-ink);
  font-size:11px;
  font-weight:950;
  white-space:nowrap;
}

/* ---------- content polish ---------- */

body.vf-premium-ui .page-head,
body.vf-premium-ui .section-title{
  gap:14px;
}

body.vf-premium-ui .title,
body.vf-premium-ui h1{
  color:var(--vfp-ink);
  letter-spacing:-.045em;
}

body.vf-premium-ui .muted,
body.vf-premium-ui .subtitle{
  color:var(--vfp-muted);
}

body.vf-premium-ui .card,
body.vf-premium-ui .panel,
body.vf-premium-ui .box,
body.vf-premium-ui .glass-card,
body.vf-premium-ui .summary-card{
  border-color:var(--vfp-border) !important;
  box-shadow:var(--vfp-shadow-sm) !important;
}

body.vf-premium-ui button,
body.vf-premium-ui a,
body.vf-premium-ui input,
body.vf-premium-ui select,
body.vf-premium-ui textarea{
  -webkit-tap-highlight-color:transparent;
}

body.vf-premium-ui button:focus-visible,
body.vf-premium-ui a:focus-visible,
body.vf-premium-ui input:focus-visible,
body.vf-premium-ui select:focus-visible,
body.vf-premium-ui textarea:focus-visible{
  outline:3px solid rgba(104,91,225,.16) !important;
  outline-offset:2px !important;
}

body.vf-premium-ui .network-badge,
body.vf-premium-ui .vfp-network-badge{
  display:inline-flex !important;
  align-items:center;
  min-height:19px;
  gap:4px;
  padding:2px 7px !important;
  border:1px solid rgba(82,98,135,.10);
  border-radius:999px !important;
  color:#526079 !important;
  background:#f3f5f9 !important;
  font-size:8px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.02em;
  white-space:nowrap;
  vertical-align:middle;
}

body.vf-premium-ui .vfp-network-badge[data-network="ethereum"]{
  color:#4f5e8b !important;
  background:#f0f2fa !important;
}
body.vf-premium-ui .vfp-network-badge[data-network="tron"]{
  color:#bd3f50 !important;
  background:#fff0f2 !important;
}
body.vf-premium-ui .vfp-network-badge[data-network="solana"]{
  color:#6b45b4 !important;
  background:#f5efff !important;
}
body.vf-premium-ui .vfp-network-badge[data-network="bsc"]{
  color:#997410 !important;
  background:#fff8df !important;
}
body.vf-premium-ui .vfp-network-badge[data-network="polygon"]{
  color:#724abf !important;
  background:#f5efff !important;
}
body.vf-premium-ui .vfp-network-badge[data-network="base"]{
  color:#2156c9 !important;
  background:#eef4ff !important;
}
body.vf-premium-ui .vfp-network-badge[data-network="arbitrum"]{
  color:#27638e !important;
  background:#eef7fc !important;
}
body.vf-premium-ui .vfp-network-badge[data-network="avalanche"]{
  color:#bc3d49 !important;
  background:#fff0f1 !important;
}
body.vf-premium-ui .vfp-network-badge[data-network="optimism"]{
  color:#bd3043 !important;
  background:#fff0f2 !important;
}

body.vf-premium-ui .vfp-status-chip{
  display:inline-flex !important;
  align-items:center;
  gap:6px;
  min-height:24px;
  padding:4px 9px !important;
  border:1px solid transparent !important;
  border-radius:999px !important;
  font-size:9px !important;
  font-weight:900 !important;
  line-height:1 !important;
  white-space:nowrap;
}

body.vf-premium-ui .vfp-status-chip::before{
  content:"";
  width:6px;
  height:6px;
  flex:0 0 auto;
  border-radius:50%;
  background:currentColor;
  opacity:.86;
}

body.vf-premium-ui .vfp-status-chip[data-vfp-status="pending"],
body.vf-premium-ui .vfp-status-chip[data-vfp-status="queued"]{
  color:#a76c16 !important;
  background:#fff7e8 !important;
  border-color:#fae8be !important;
}

body.vf-premium-ui .vfp-status-chip[data-vfp-status="processing"],
body.vf-premium-ui .vfp-status-chip[data-vfp-status="broadcasting"]{
  color:#536fc8 !important;
  background:#eff4ff !important;
  border-color:#dce6ff !important;
}

body.vf-premium-ui .vfp-status-chip[data-vfp-status="confirmed"],
body.vf-premium-ui .vfp-status-chip[data-vfp-status="completed"],
body.vf-premium-ui .vfp-status-chip[data-vfp-status="success"]{
  color:#198261 !important;
  background:#eaf8f3 !important;
  border-color:#d2f0e5 !important;
}

body.vf-premium-ui .vfp-status-chip[data-vfp-status="failed"],
body.vf-premium-ui .vfp-status-chip[data-vfp-status="rejected"],
body.vf-premium-ui .vfp-status-chip[data-vfp-status="cancelled"]{
  color:#bc4a60 !important;
  background:#fff0f3 !important;
  border-color:#f8d9df !important;
}

/* ---------- toast ---------- */

body.vf-premium-ui .vfp-toast-stack{
  position:fixed;
  z-index:2200;
  top:max(16px,env(safe-area-inset-top));
  right:16px;
  width:min(390px,calc(100vw - 24px));
  display:grid;
  gap:9px;
  pointer-events:none;
}

body.vf-premium-ui .vfp-toast{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:10px;
  align-items:start;
  padding:12px;
  border:1px solid rgba(255,255,255,.84);
  border-radius:17px;
  color:var(--vfp-text);
  background:rgba(255,255,255,.94);
  box-shadow:var(--vfp-shadow);
  -webkit-backdrop-filter:blur(20px);
  backdrop-filter:blur(20px);
  pointer-events:auto;
  animation:vfpToastIn .22s var(--vfp-ease) both;
}

body.vf-premium-ui .vfp-toast-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:11px;
  color:#6259d7;
  background:rgba(101,89,220,.09);
}

body.vf-premium-ui .vfp-toast strong{
  display:block;
  margin:1px 0 3px;
  color:var(--vfp-ink);
  font-size:11px;
}

body.vf-premium-ui .vfp-toast p{
  margin:0;
  color:var(--vfp-muted);
  font-size:10px;
  line-height:1.45;
}

body.vf-premium-ui .vfp-toast-close{
  width:28px;
  height:28px;
  border:0;
  border-radius:9px;
  color:#8d96aa;
  background:transparent;
  cursor:pointer;
}

body.vf-premium-ui .vfp-toast[data-type="success"] .vfp-toast-icon{
  color:#16815f;
  background:#eaf8f3;
}
body.vf-premium-ui .vfp-toast[data-type="error"] .vfp-toast-icon{
  color:#bd4c61;
  background:#fff0f3;
}
body.vf-premium-ui .vfp-toast[data-type="warning"] .vfp-toast-icon{
  color:#a76c16;
  background:#fff7e8;
}

@keyframes vfpToastIn{
  from{opacity:0;transform:translateY(-8px) scale(.98)}
  to{opacity:1;transform:none}
}

/* ---------- drawers / overlays ---------- */

body.vf-premium-ui .vfp-overlay{
  position:fixed;
  z-index:2050;
  inset:0;
  display:block;
  visibility:hidden;
  opacity:0;
  background:rgba(14,22,42,.18);
  -webkit-backdrop-filter:blur(3px);
  backdrop-filter:blur(3px);
  transition:opacity .2s ease,visibility .2s ease;
}

body.vf-premium-ui .vfp-overlay.open{
  visibility:visible;
  opacity:1;
}

body.vf-premium-ui .vfp-drawer{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:min(430px,100vw);
  display:flex;
  flex-direction:column;
  border-left:1px solid rgba(255,255,255,.8);
  background:rgba(249,250,253,.97);
  box-shadow:-26px 0 70px rgba(31,43,79,.16);
  transform:translateX(104%);
  transition:transform .27s var(--vfp-ease);
  padding:
    max(14px,env(safe-area-inset-top))
    14px
    max(14px,env(safe-area-inset-bottom));
}

body.vf-premium-ui .vfp-overlay.open .vfp-drawer{
  transform:none;
}

body.vf-premium-ui .vfp-drawer-head{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:4px 3px 11px;
  border-bottom:1px solid var(--vfp-border);
}

body.vf-premium-ui .vfp-drawer-head h2{
  margin:0;
  color:var(--vfp-ink);
  font-size:17px;
  letter-spacing:-.03em;
}

body.vf-premium-ui .vfp-drawer-body{
  flex:1;
  min-height:0;
  overflow:auto;
  padding:13px 2px 2px;
  scrollbar-width:thin;
}

body.vf-premium-ui .vfp-close-btn{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid var(--vfp-border);
  border-radius:12px;
  color:#65718b;
  background:#fff;
  cursor:pointer;
}

body.vf-premium-ui .vfp-detail-card{
  padding:14px;
  margin-bottom:11px;
  border:1px solid var(--vfp-border);
  border-radius:17px;
  background:#fff;
  box-shadow:var(--vfp-shadow-sm);
}

body.vf-premium-ui .vfp-detail-row{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding:9px 0;
  border-bottom:1px solid rgba(45,59,94,.065);
}

body.vf-premium-ui .vfp-detail-row:last-child{
  border-bottom:0;
}

body.vf-premium-ui .vfp-detail-row span:first-child{
  color:var(--vfp-muted);
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.055em;
}

body.vf-premium-ui .vfp-detail-value{
  min-width:0;
  color:var(--vfp-ink);
  font-size:10px;
  font-weight:800;
  line-height:1.5;
  overflow-wrap:anywhere;
}

body.vf-premium-ui .vfp-detail-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

body.vf-premium-ui .vfp-mini-btn{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:0 11px;
  border:1px solid var(--vfp-border);
  border-radius:11px;
  color:#4c5871;
  background:#fff;
  box-shadow:var(--vfp-shadow-sm);
  font-size:9px;
  font-weight:900;
  text-decoration:none;
  cursor:pointer;
}

body.vf-premium-ui .vfp-mini-btn.primary{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(110deg,#5964dc,#8a61e5);
}

/* ---------- notification center ---------- */

body.vf-premium-ui .vfp-notification-item{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:10px;
  padding:12px 8px;
  border-bottom:1px solid rgba(45,59,94,.07);
}

body.vf-premium-ui .vfp-notification-item:last-child{
  border-bottom:0;
}

body.vf-premium-ui .vfp-notification-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:#6259d7;
  background:linear-gradient(145deg,rgba(84,207,216,.13),rgba(141,98,233,.11));
}

body.vf-premium-ui .vfp-notification-item strong{
  display:block;
  margin:1px 0 3px;
  color:var(--vfp-ink);
  font-size:10px;
}

body.vf-premium-ui .vfp-notification-item p{
  margin:0;
  color:var(--vfp-muted);
  font-size:9px;
  line-height:1.45;
}

body.vf-premium-ui .vfp-notification-item time{
  display:block;
  margin-top:4px;
  color:#a0a8ba;
  font-size:8px;
}

body.vf-premium-ui .vfp-empty{
  min-height:220px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:28px;
  border:1px dashed rgba(80,94,129,.14);
  border-radius:20px;
  color:var(--vfp-muted);
  background:
    linear-gradient(145deg,rgba(241,250,252,.65),rgba(247,243,255,.65));
}

body.vf-premium-ui .vfp-empty-icon{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  margin:0 auto 10px;
  border-radius:16px;
  color:#7166dc;
  background:#fff;
  box-shadow:var(--vfp-shadow-sm);
}

body.vf-premium-ui .vfp-empty strong{
  display:block;
  margin-bottom:5px;
  color:var(--vfp-ink);
  font-size:12px;
}

body.vf-premium-ui .vfp-empty p{
  margin:0;
  max-width:290px;
  font-size:10px;
  line-height:1.55;
}

/* ---------- confirmation modal ---------- */

body.vf-premium-ui .vfp-modal-shell{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  padding:18px;
}

body.vf-premium-ui .vfp-modal{
  width:min(460px,100%);
  padding:18px;
  border:1px solid rgba(255,255,255,.86);
  border-radius:24px;
  background:rgba(255,255,255,.98);
  box-shadow:var(--vfp-shadow-lg);
  transform:translateY(8px) scale(.985);
  transition:transform .22s var(--vfp-ease);
}

body.vf-premium-ui .vfp-overlay.open .vfp-modal{
  transform:none;
}

body.vf-premium-ui .vfp-modal-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  margin-bottom:13px;
  border-radius:15px;
  color:#a96d17;
  background:#fff7e8;
}

body.vf-premium-ui .vfp-modal h2{
  margin:0 0 7px;
  color:var(--vfp-ink);
  font-size:18px;
  letter-spacing:-.03em;
}

body.vf-premium-ui .vfp-modal p{
  margin:0;
  color:var(--vfp-muted);
  font-size:10px;
  line-height:1.6;
}

body.vf-premium-ui .vfp-modal-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-top:18px;
}

body.vf-premium-ui .vfp-modal-actions button{
  min-height:44px;
  border:1px solid var(--vfp-border);
  border-radius:13px;
  color:#4e5a72;
  background:#f7f8fb;
  font-size:10px;
  font-weight:900;
  cursor:pointer;
}

body.vf-premium-ui .vfp-modal-actions button.primary{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(110deg,#5964dc,#8a61e5);
}

/* ---------- skeleton ---------- */

body.vf-premium-ui .vfp-skeleton{
  position:relative;
  overflow:hidden;
  border-radius:11px;
  background:#edf0f5;
}

body.vf-premium-ui .vfp-skeleton::after{
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-100%);
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.76),
      transparent
    );
  animation:vfpShimmer 1.25s infinite;
}

@keyframes vfpShimmer{
  to{transform:translateX(100%)}
}

body.vf-premium-ui .vfp-skeleton-row{
  display:grid;
  grid-template-columns:42px 1fr 78px;
  gap:11px;
  align-items:center;
  padding:11px 3px;
}

body.vf-premium-ui .vfp-skeleton-row .vfp-skeleton:nth-child(1){
  width:42px;
  height:42px;
}
body.vf-premium-ui .vfp-skeleton-row .vfp-skeleton:nth-child(2){
  height:13px;
}
body.vf-premium-ui .vfp-skeleton-row .vfp-skeleton:nth-child(3){
  height:13px;
}

/* ---------- copy / explorer micro controls ---------- */

body.vf-premium-ui .vfp-inline-actions{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-left:6px;
  vertical-align:middle;
}

body.vf-premium-ui .vfp-copy-btn{
  width:27px;
  height:27px;
  display:inline-grid;
  place-items:center;
  border:1px solid var(--vfp-border);
  border-radius:9px;
  color:#69758c;
  background:#fff;
  cursor:pointer;
}

body.vf-premium-ui .vfp-copy-btn:hover{
  color:#5c52d0;
  border-color:rgba(104,91,225,.20);
}

/* ---------- mobile PWA-ready navigation ---------- */

body.vf-premium-ui .vfp-mobile-more{
  display:none;
}

@media(max-width:1080px){
  :root{
    --vfp-sidebar:222px;
  }

  html body.vf-premium-ui .vf-main{
    margin-left:calc(var(--vfp-sidebar) + 28px) !important;
  }

  body.vf-premium-ui .vfp-balance-chip{
    min-width:124px;
  }
}

@media(max-width:930px){
  html body.vf-premium-ui .vf-sidebar,
  body.vf-premium-ui .vfp-sidebar{
    display:none !important;
  }

  html body.vf-premium-ui .vf-main{
    margin-left:0 !important;
    padding-left:14px !important;
    padding-right:14px !important;
    padding-bottom:calc(92px + env(safe-area-inset-bottom)) !important;
  }

  html body.vf-premium-ui .vf-topbar,
  body.vf-premium-ui .vfp-topbar{
    min-height:68px !important;
  }

  body.vf-premium-ui .vfp-mobile-brand{
    display:flex;
  }

  body.vf-premium-ui .vf-search,
  body.vf-premium-ui .vfp-search{
    display:none !important;
  }

  body.vf-premium-ui .vfp-balance-chip{
    min-width:0;
    padding:6px 9px;
  }

  body.vf-premium-ui .vfp-balance-chip .vfp-balance-icon,
  body.vf-premium-ui .vfp-balance-chip small{
    display:none;
  }

  html body.vf-premium-ui .vf-mobile-nav,
  body.vf-premium-ui .vfp-mobile-nav{
    position:fixed !important;
    z-index:160 !important;
    left:10px !important;
    right:10px !important;
    bottom:var(--vfp-safe-bottom) !important;
    min-height:66px !important;
    display:grid !important;
    grid-template-columns:repeat(5,1fr) !important;
    gap:3px !important;
    padding:6px !important;
    border:1px solid rgba(255,255,255,.86) !important;
    border-radius:22px !important;
    background:rgba(255,255,255,.92) !important;
    box-shadow:0 22px 54px rgba(32,44,79,.18) !important;
    -webkit-backdrop-filter:blur(24px) saturate(1.15) !important;
    backdrop-filter:blur(24px) saturate(1.15) !important;
  }

  body.vf-premium-ui .vfp-mobile-nav a,
  body.vf-premium-ui .vfp-mobile-nav button,
  html body.vf-premium-ui .vf-mobile-nav a{
    min-height:52px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:3px !important;
    padding:4px 2px !important;
    border:0 !important;
    border-radius:15px !important;
    color:#798399 !important;
    background:transparent !important;
    font-size:8px !important;
    font-weight:900 !important;
    text-decoration:none !important;
  }

  body.vf-premium-ui .vfp-mobile-nav a.active,
  body.vf-premium-ui .vfp-mobile-nav button.active{
    color:#5f55d2 !important;
    background:
      linear-gradient(
        145deg,
        rgba(232,248,251,.94),
        rgba(241,236,255,.95)
      ) !important;
  }

  body.vf-premium-ui .vfp-mobile-nav svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  body.vf-premium-ui .vfp-mobile-more{
    position:fixed;
    z-index:180;
    left:10px;
    right:10px;
    bottom:calc(82px + var(--vfp-safe-bottom));
    display:block;
    visibility:hidden;
    opacity:0;
    padding:10px;
    border:1px solid rgba(255,255,255,.88);
    border-radius:22px;
    background:rgba(255,255,255,.96);
    box-shadow:0 26px 65px rgba(31,43,79,.20);
    -webkit-backdrop-filter:blur(22px);
    backdrop-filter:blur(22px);
    transform:translateY(9px) scale(.99);
    transition:
      opacity .18s ease,
      transform .18s var(--vfp-ease),
      visibility .18s ease;
  }

  body.vf-premium-ui .vfp-mobile-more.open{
    visibility:visible;
    opacity:1;
    transform:none;
  }

  body.vf-premium-ui .vfp-mobile-more-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:6px;
  }

  body.vf-premium-ui .vfp-mobile-more a{
    min-height:69px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:8px;
    border-radius:15px;
    color:#59657b;
    background:#f8f9fc;
    font-size:9px;
    font-weight:900;
    text-decoration:none;
  }

  body.vf-premium-ui .vfp-mobile-more a svg{
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
}

@media(max-width:620px){
  html body.vf-premium-ui .vf-main{
    padding-left:11px !important;
    padding-right:11px !important;
  }

  html body.vf-premium-ui .vf-content{
    max-width:100% !important;
  }

  body.vf-premium-ui .vfp-top-actions{
    gap:6px;
  }

  body.vf-premium-ui .vf-currency,
  body.vf-premium-ui .vfp-currency{
    min-width:68px;
    height:39px !important;
  }

  body.vf-premium-ui .vf-icon-btn,
  body.vf-premium-ui .vfp-icon-btn{
    width:39px !important;
    height:39px !important;
    min-width:39px !important;
    min-height:39px !important;
  }

  body.vf-premium-ui .vfp-balance-chip{
    min-height:39px;
  }

  body.vf-premium-ui .vfp-balance-chip strong{
    max-width:88px;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  body.vf-premium-ui .vfp-drawer{
    width:100vw;
  }

  body.vf-premium-ui .vfp-detail-row{
    grid-template-columns:88px minmax(0,1fr);
  }

  body.vf-premium-ui .vfp-toast-stack{
    top:auto;
    right:10px;
    left:10px;
    bottom:calc(84px + var(--vfp-safe-bottom));
    width:auto;
  }
}

@media(max-width:420px){
  body.vf-premium-ui .vfp-balance-chip{
    display:none;
  }

  body.vf-premium-ui .vfp-mobile-brand .vfp-brand-name{
    display:none;
  }
}

@media(prefers-reduced-motion:reduce){
  body.vf-premium-ui *,
  body.vf-premium-ui *::before,
  body.vf-premium-ui *::after{
    scroll-behavior:auto !important;
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
}
