/* =====================================================================
   VERTEX NEXT — "Terminal" console. The ONE stylesheet for every logged-in
   page, on top of nova.css (structural base). Replaces app.css.
   ---------------------------------------------------------------------
   Look: graphite ink surfaces (never #000), rgba hairlines, rail-headed
   panels with status LEDs, IBM Plex Mono for every number, Space Grotesk
   display + Inter UI. Dark-first; light = porcelain workspace with an ink
   sidebar and ink rails (designed, not inverted).
   Colour: every accent tint derives from var(--nv-accent) (admin picker,
   pp_accent_css :root inject) - --nv-accent itself is never remapped.
   JS state contract honoured (grep'd, not guessed):
     body.nv-drawer, body.lm-collapsed, body.lmxpm-open, .nv-dd.open,
     .nv-sub.open, .nv-catdd.open, .nv-srch-menu.show, .svc-fav.on,
     #dripfeedcheckbox:checked, #dripfeed-options.hidden, .lm-step.on,
     .lm-plat.active, .nv-tab.active, .lm-pay.active, #drFab.on/.claim,
     #drOv.open, .dr-lost.show, .dr-toast.show, #swPanel.open, html.nv-dark
   Stacking law: sidebar 60 > scrim 55 (59 while the drawer is open) >
   topbar 50; bottom nav 58. No blanket body-child lifts anywhere.
   ===================================================================== */

/* ---------- 1. TOKENS ------------------------------------------------- */
html{overflow-x:clip}
html.nv-html{ --vn-acc:var(--nv-accent,#E5484D) }
body.nv{
  --vn-font-d:'Space Grotesk',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --vn-font:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --vn-mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --vn-ease:cubic-bezier(.16,1,.3,1);
  --vn-acc:var(--nv-accent,#E5484D);
  --vn-acc-btn:color-mix(in srgb,var(--nv-accent,#E5484D) 88%,#000);
  --vn-acc-edge:color-mix(in srgb,var(--nv-accent,#E5484D) 62%,#000);
  --vn-glow:0 10px 26px -12px color-mix(in srgb,var(--nv-accent,#E5484D) 80%,transparent);
}
/* light values (porcelain workspace) */
body.nv{
  --vn-bg:#ECEEF2; --vn-bg-2:#E3E6EB;
  --vn-panel:#FFFFFF; --vn-panel-2:#F6F7F9; --vn-panel-3:#EDEFF3;
  --vn-well:#F4F5F8;
  --vn-line:rgba(12,16,24,.09); --vn-line-2:rgba(12,16,24,.16);
  --vn-ink:#0C0F15; --vn-ink-2:#3B4351; --vn-ink-3:#5B6474;
  --vn-acc-hi:color-mix(in srgb,var(--nv-accent,#E5484D) 84%,#000);
  --vn-acc-soft:color-mix(in srgb,var(--nv-accent,#E5484D) 10%,transparent);
  --vn-acc-line:color-mix(in srgb,var(--nv-accent,#E5484D) 38%,transparent);
  --vn-up:#08703E; --vn-up-soft:rgba(8,112,62,.10);
  --vn-warn:#875800; --vn-warn-soft:rgba(135,88,0,.12);
  --vn-info:#1F63C6; --vn-info-soft:rgba(31,99,198,.10);
  --vn-bad:#C62A2F; --vn-bad-soft:rgba(198,42,47,.10);
  --vn-dot:rgba(12,16,24,.085);
  --vn-sh:0 1px 2px rgba(12,16,24,.05),0 10px 28px -18px rgba(12,16,24,.25);
  --vn-sh-lg:0 28px 64px -28px rgba(12,16,24,.4);
  --vn-inset:inset 0 1px 2px rgba(12,16,24,.06);
  color-scheme:light;
}
/* ink values: dark mode everywhere, plus the ink zones of light mode */
html.nv-dark body.nv,
html:not(.nv-dark) body.nv .nv-sidebar,
html:not(.nv-dark) body.nv #drFab,
html:not(.nv-dark) body.nv .vn-ink{
  --vn-bg:#090B0F; --vn-bg-2:#0C0F14;
  --vn-panel:#11151C; --vn-panel-2:#161B24; --vn-panel-3:#1D2330;
  --vn-well:#0B0E13;
  --vn-line:rgba(255,255,255,.075); --vn-line-2:rgba(255,255,255,.14);
  --vn-ink:#ECEFF4; --vn-ink-2:#B3BAC7; --vn-ink-3:#868F9F;
  --vn-acc-hi:color-mix(in srgb,var(--nv-accent,#E5484D) 76%,#fff);
  --vn-acc-soft:color-mix(in srgb,var(--nv-accent,#E5484D) 15%,transparent);
  --vn-acc-line:color-mix(in srgb,var(--nv-accent,#E5484D) 45%,transparent);
  --vn-up:#34D47F; --vn-up-soft:rgba(52,212,127,.12);
  --vn-warn:#F2B544; --vn-warn-soft:rgba(242,181,68,.13);
  --vn-info:#6FB2FF; --vn-info-soft:rgba(111,178,255,.12);
  --vn-bad:#FF6B70; --vn-bad-soft:rgba(255,107,112,.12);
  --vn-dot:rgba(255,255,255,.05);
  --vn-sh:inset 0 1px 0 rgba(255,255,255,.03),0 14px 36px -22px rgba(0,0,0,.85);
  --vn-sh-lg:0 36px 80px -34px rgba(0,0,0,.95);
  --vn-inset:inset 0 1px 2px rgba(0,0,0,.35);
  color-scheme:dark;
}
/* the sidebar in light mode is a touch warmer ink than the page panels */
html:not(.nv-dark) body.nv .nv-sidebar{ --vn-bg-2:#0E1117; --vn-panel-2:#171B24 }
/* every consumer var (nova.css, template-inline blocks) resolves into the system.
   Declared on each scope so var() substitution happens with that scope's values. */
body.nv,
html:not(.nv-dark) body.nv .nv-sidebar,
html:not(.nv-dark) body.nv #drFab,
html:not(.nv-dark) body.nv .vn-ink{
  --nv-bg:var(--vn-bg); --nv-surface:var(--vn-panel); --nv-surface-2:var(--vn-panel-2); --nv-card:var(--vn-panel);
  --nv-text:var(--vn-ink); --nv-text-soft:var(--vn-ink-2); --nv-muted:var(--vn-ink-3);
  --nv-border:var(--vn-line); --nv-border-2:var(--vn-line-2);
  --nv-ok:var(--vn-up); --nv-okbg:var(--vn-up-soft); --nv-warn:var(--vn-warn); --nv-warnbg:var(--vn-warn-soft);
  --nv-bad:var(--vn-bad); --nv-badbg:var(--vn-bad-soft); --nv-info:var(--vn-info); --nv-infobg:var(--vn-info-soft);
  --nv-sh:var(--vn-sh); --nv-sh-lg:var(--vn-sh-lg);
  /* legacy Vertex / Lumen names still read by template-inline CSS */
  --vx-paper:var(--vn-panel); --vx-paper-2:var(--vn-panel-2); --vx-desk:var(--vn-bg);
  --vx-ink:var(--vn-ink); --vx-ink-2:var(--vn-ink-2); --vx-ink-3:var(--vn-ink-3);
  --vx-text-2:var(--vn-ink-2); --vx-text-3:var(--vn-ink-3); --vx-ok:var(--vn-up);
  --vx-edge:var(--vn-line-2); --vx-edge-soft:var(--vn-line); --vx-metal:var(--vn-panel-2);
  --vx-bevel:var(--vn-sh); --vx-bevel-deep:var(--vn-sh-lg); --vx-inset:var(--vn-inset);
  --vx-enamel:var(--vn-acc-btn); --vx-acc-edge:var(--vn-acc-edge); --vx-out:var(--vn-ease);
  --lm-grad:linear-gradient(135deg,var(--vn-acc-btn),color-mix(in srgb,var(--nv-accent,#E5484D) 72%,#000));
  --lm-glow:var(--vn-glow); --lm-ease:var(--vn-ease); --lm-glass:var(--vn-panel);
}
body.nv{
  --nv-r:12px; --nv-r-sm:9px; --nv-r-lg:14px;
  --nv-sb:248px; --nv-tb:60px;
  --nv-font:var(--vn-font);
  background:var(--vn-bg); color:var(--vn-ink);
  font-family:var(--vn-font); font-size:14.5px; line-height:1.5;
}

/* ---------- 2. BASE ---------------------------------------------------- */
/* backdrop: dot grid + a faint brand horizon. z:-1 so nova's stacking stays intact */
body.nv::before{
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background-image:radial-gradient(var(--vn-dot) 1px,transparent 1.2px); background-size:22px 22px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 70%); mask-image:linear-gradient(180deg,#000,transparent 70%);
}
body.nv::after{
  content:""; position:fixed; left:var(--nv-sb); right:0; top:-30vh; height:55vh; z-index:-1; pointer-events:none;
  background:radial-gradient(closest-side,color-mix(in srgb,var(--nv-accent,#E5484D) 10%,transparent),transparent);
}
html:not(.nv-dark) body.nv::after{ opacity:.6 }
.nv a{color:var(--vn-acc-hi)}
.nv h1,.nv h2,.nv h3,.nv h4{font-family:var(--vn-font-d);color:var(--vn-ink);letter-spacing:-.015em}
body.nv ::selection{background:color-mix(in srgb,var(--nv-accent,#E5484D) 30%,transparent)}
body.nv :focus-visible{outline:2px solid var(--vn-acc-hi);outline-offset:2px}
.nv ::-webkit-scrollbar{width:10px;height:10px}
.nv ::-webkit-scrollbar-thumb{background:var(--vn-line-2);border-radius:99px;border:2px solid transparent;background-clip:padding-box}
.nv ::-webkit-scrollbar-track{background:transparent}
body.nv kbd{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:5px;
  border:1px solid var(--vn-line-2);border-bottom-width:2px;background:var(--vn-panel-2);
  font:600 10.5px/1 var(--vn-mono);color:var(--vn-ink-2)}
.vn-num,body.nv .vn-num{font-family:var(--vn-mono);font-variant-numeric:tabular-nums}
body.nv code{font-family:var(--vn-mono);font-size:.9em;padding:1px 6px;border-radius:5px;background:var(--vn-panel-2);border:1px solid var(--vn-line);color:var(--vn-ink)}
.vn-led{position:relative;display:inline-block;width:7px;height:7px;border-radius:50%;flex:none;vertical-align:middle;
  background:var(--nv-accent,#E5484D);box-shadow:0 0 0 3px color-mix(in srgb,var(--nv-accent,#E5484D) 20%,transparent)}
.vn-led.up{background:var(--vn-up);box-shadow:0 0 0 3px var(--vn-up-soft)}
@keyframes lmIn{from{opacity:0;transform:translate3d(0,6px,0)}to{opacity:1;transform:none}}
@keyframes lmPop{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
@keyframes lmPulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes lmShimmer{to{transform:translateX(100%)}}

/* rails: the console signature, shared by ticket / receipt / news / cards that opt in */
.vn-rail{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;padding:0 14px;
  background:var(--vn-panel-2);border-bottom:1px solid var(--vn-line);border-radius:var(--nv-r) var(--nv-r) 0 0;margin:0}
.vn-rail-t,body.nv .vn-rail h3.vn-rail-t{display:inline-flex;align-items:center;gap:10px;margin:0;
  font:600 11px/1 var(--vn-mono)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--vn-ink-2)!important;white-space:nowrap}
.vn-rail-t i{font-size:11px;color:var(--vn-ink-3)}
.vn-rail-m{display:inline-flex;align-items:center;gap:7px;font:500 11.5px/1 var(--vn-mono);color:var(--vn-ink-3);white-space:nowrap}
html:not(.nv-dark) body.nv .vn-rail,
html:not(.nv-dark) body.nv .lm-sum-head{background:#131720;border-bottom-color:transparent}
html:not(.nv-dark) body.nv .vn-rail .vn-rail-t,html:not(.nv-dark) body.nv .lm-sum-head .vn-rail-t{color:#E9ECF2!important}
html:not(.nv-dark) body.nv .vn-rail .vn-rail-m,html:not(.nv-dark) body.nv .lm-sum-head .vn-rail-m{color:#A9B1BF}
html:not(.nv-dark) body.nv .vn-rail kbd{background:#1D2330;border-color:rgba(255,255,255,.16);color:#D5DBE6}

/* ---------- 3. SIDEBAR ------------------------------------------------- */
body.nv .nv-sidebar{
  width:var(--nv-sb); background:var(--vn-bg-2); color:var(--vn-ink);
  border-right:1px solid var(--vn-line); box-shadow:none;
  -webkit-backdrop-filter:none; backdrop-filter:none;
  display:flex; flex-direction:column;
}
/* hierarchy: brand -> NAV (the tool) -> wallet (reference) -> foot */
body.nv .nv-sidebar > .lm-collapse-btn{order:-1}
body.nv .nv-sidebar > .nv-brand{order:0;flex:0 0 auto}
body.nv .nv-sidebar > .nv-nav{order:1;flex:1 1 auto;overflow-y:auto;overflow-x:hidden}
body.nv .nv-sidebar > .lm-side-balance{order:2;flex:0 0 auto}
body.nv .nv-sidebar > .nv-side-foot{order:3;flex:0 0 auto}
body.nv .nv-brand{height:var(--nv-tb);padding:0 16px;border-bottom:1px solid var(--vn-line);gap:10px;font:700 17px/1 var(--vn-font-d);color:var(--vn-ink)}
body.nv .vn-brand-a{display:inline-flex;align-items:center;gap:9px;min-width:0;color:var(--vn-ink)!important}
body.nv .nv-brand img{max-height:28px;max-width:160px;width:auto;object-fit:contain;display:block}
body.nv .nv-sidebar .pp-logo-dark{display:none}
body.nv .nv-sidebar .pp-logo-light:not(:only-of-type){display:none}
body.nv .nv-sidebar .pp-logo-dark{display:block}
/* a panel with only a light logo: lift it on the ink rail (was UI_FIXES in header.twig) */
body.nv .nv-sidebar .pp-logo-light:only-of-type{filter:brightness(1.6) contrast(1.05)}
body.nv .lm-collapse-btn{
  position:absolute; right:-12px; top:18px; width:24px; height:24px; border-radius:7px; z-index:5;
  border:1px solid var(--vn-line-2); background:var(--vn-panel-2); color:var(--vn-ink-3);
  cursor:pointer; display:grid; place-items:center; font-size:10px; transition:color .15s ease,border-color .15s ease;
}
body.nv .lm-collapse-btn:hover{color:var(--vn-ink);border-color:var(--vn-ink-3)}
body.nv .nv-nav{padding:10px 10px 14px;scrollbar-width:thin}
body.nv .nv-nav-group{padding:14px 10px 7px;font:600 10.5px/1 var(--vn-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--vn-ink-3)}
body.nv .nv-nav-group:first-child{padding-top:6px}
body.nv .nv-nav a{
  position:relative; display:flex; align-items:center; gap:11px; min-height:38px; padding:4px 10px; margin-bottom:1px;
  border-radius:8px; color:var(--vn-ink-2)!important; font:500 14px/1.2 var(--vn-font);
  transition:background-color .15s ease,color .15s ease;
}
body.nv .nv-nav a > i:first-child{
  flex:0 0 26px; width:26px; height:26px; display:inline-grid; place-items:center; border-radius:7px;
  font-size:12px; opacity:1; color:var(--vn-ink-2); background:var(--vn-panel-2); border:1px solid var(--vn-line);
  transition:background-color .15s ease,color .15s ease,border-color .15s ease;
}
@media(hover:hover){
  body.nv .nv-nav a:hover{background:rgba(255,255,255,.045);color:var(--vn-ink)!important}
  body.nv .nv-nav a:hover > i:first-child{color:var(--vn-ink);border-color:var(--vn-line-2)}
}
body.nv .nv-nav a.active{background:var(--vn-acc-soft);color:var(--vn-ink)!important;font-weight:600}
body.nv .nv-nav a.active > i:first-child{background:var(--vn-acc-btn);border-color:var(--vn-acc-edge);color:#fff;box-shadow:0 6px 16px -8px color-mix(in srgb,var(--nv-accent,#E5484D) 90%,transparent)}
body.nv .nv-nav a.active::before{content:"";position:absolute;left:-10px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--nv-accent,#E5484D)}
body.nv .nv-nav a span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* collapsible groups (functional rules moved here from header.twig's inline block) */
body.nv .nv-sub-t{cursor:pointer}
body.nv .nv-sub-ar{margin-left:auto;font-size:10px!important;opacity:.55;transition:transform .2s var(--vn-ease)}
body.nv .nv-sub.open > .nv-sub-t .nv-sub-ar{transform:rotate(180deg)}
body.nv .nv-sub-m{display:none;margin:2px 0 4px 22px;padding-left:12px;border-left:1px solid var(--vn-line)}
body.nv .nv-sub.open > .nv-sub-m{display:block}
body.nv .nv-sub-m > a{min-height:34px;font-size:13.5px}
body.nv .nv-sub-m > a > i:first-child{flex-basis:22px;width:22px;height:22px;font-size:10px}
/* counts */
body.nv .nv-nav a .nv-nbadge{margin-left:auto;flex:0 0 auto;min-width:20px;height:19px;padding:0 6px;border-radius:6px;
  background:var(--vn-acc-btn);color:#fff;font:600 10.5px/19px var(--vn-mono);text-align:center;white-space:nowrap}
body.nv .nv-nav a.active .nv-nbadge{background:var(--vn-ink);color:var(--vn-bg)}
body.nv .nv-nav .nv-sub-t .nv-nbadge{margin-right:8px}
body.nv .nv-side-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-top:1px solid var(--vn-line);font-size:12px;color:var(--vn-ink-3)}
body.nv .nv-side-foot > span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.nv .vn-kbd-hint{display:inline-flex;align-items:center;gap:6px;flex:none;font:500 11px/1 var(--vn-mono)}
body.nv .vn-kbd-hint kbd{min-width:18px;height:18px}

/* wallet module (.lm-side-balance) - reference data docked at the bottom of the rail */
body.nv .lm-side-balance{
  margin:10px; padding:12px; border-radius:11px; position:relative; overflow:hidden;
  background:linear-gradient(180deg,var(--vn-panel-2),var(--vn-panel));
  border:1px solid var(--vn-line-2); color:var(--vn-ink);
  display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; column-gap:10px; row-gap:4px;
}
body.nv .lm-side-balance::after{content:"";position:absolute;right:-30px;top:-40px;width:120px;height:120px;border-radius:50%;
  background:radial-gradient(closest-side,color-mix(in srgb,var(--nv-accent,#E5484D) 20%,transparent),transparent);pointer-events:none}
body.nv .lm-side-balance .l{grid-column:1/-1;display:flex;align-items:center;gap:8px;font:600 10.5px/1 var(--vn-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--vn-ink-3)}
body.nv .lm-side-balance .v{grid-column:1;min-width:0;font:600 19px/1.25 var(--vn-mono);font-variant-numeric:tabular-nums;color:var(--vn-ink);overflow-wrap:anywhere}
body.nv .lm-side-balance > a{grid-column:2;grid-row:2;position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:7px;
  background:var(--vn-acc-btn);border:1px solid var(--vn-acc-edge);color:#fff!important;font:600 12px/1 var(--vn-font);white-space:nowrap}
body.nv .lm-side-balance > a i{font-size:10px}
body.nv .lm-side-balance > a:hover{filter:brightness(1.08)}
body.nv .lm-side-balance > .lm-xp{grid-column:1/-1;min-width:0}
/* XP (styles moved from header.twig inline; values re-authored) */
body.nv .lm-xp{margin-top:8px;padding-top:10px;border-top:1px solid var(--vn-line);position:relative;cursor:pointer}
body.nv .lm-xp-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;min-width:0}
body.nv .lm-xp-lvl{display:flex;align-items:center;gap:6px;min-width:0;font:600 12.5px/1.2 var(--vn-font);color:var(--vn-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.nv .lm-xp-lvl i{font-size:12px}
body.nv .lm-xp-badge{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;font:600 9.5px/1 var(--vn-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--vn-acc-hi);background:var(--vn-acc-soft);padding:4px 7px;border-radius:5px;white-space:nowrap}
body.nv .lm-xp-bar{height:4px;border-radius:99px;background:var(--vn-line-2);overflow:hidden;position:relative}
body.nv .lm-xp-bar > span{display:block;height:100%;border-radius:99px;background:var(--nv-accent,#E5484D);transition:width 1s var(--vn-ease)}
body.nv .lm-xp-meta{display:flex;justify-content:space-between;gap:8px;margin-top:6px;font:500 10px/1.2 var(--vn-mono);color:var(--vn-ink-3);min-width:0}
body.nv .lm-xp-meta > *{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.nv .lm-xp-float{position:absolute;top:4px;right:2px;font:700 12px/1 var(--vn-mono);color:var(--vn-acc-hi);pointer-events:none;animation:lmXpFloat 1.6s ease-out forwards}
@keyframes lmXpFloat{0%{opacity:0;transform:translateY(8px)}18%{opacity:1}100%{opacity:0;transform:translateY(-22px)}}
body.nv .lm-xp.levelup{animation:lmXpPulse .7s ease}
@keyframes lmXpPulse{0%,100%{transform:scale(1)}42%{transform:scale(1.02)}}
body.nv .lm-xp-more{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:0;border:0;background:none;color:var(--vn-ink-2);
  font:600 11px/1.6 var(--vn-font);cursor:pointer;text-decoration:underline;text-decoration-color:var(--vn-line-2);text-underline-offset:3px}
body.nv .lm-xp-more:hover{color:var(--vn-ink)}
body.nv .lm-xp-more i{font-size:10px;color:var(--vn-warn)}
/* XP modal */
body.lmxpm-open{overflow:hidden}
.lmxpm-ov{position:fixed;inset:0;z-index:99999;background:rgba(4,6,10,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:16px}
.lmxpm-ov[hidden]{display:none}
.lmxpm-box{width:100%;max-width:440px;max-height:88vh;display:flex;flex-direction:column;background:var(--vn-panel);color:var(--vn-ink);border:1px solid var(--vn-line-2);border-radius:14px;box-shadow:var(--vn-sh-lg);overflow:hidden;animation:lmxpmIn .22s var(--vn-ease)}
@keyframes lmxpmIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.lmxpm-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;background:var(--vn-panel-2);border-bottom:1px solid var(--vn-line)}
.lmxpm-hd-l{display:flex;align-items:center;gap:12px}
.lmxpm-hd-badge{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:var(--vn-acc-btn);color:#fff;font-size:17px}
.lmxpm-hd-lv{font:600 17px/1.2 var(--vn-font-d);color:var(--vn-ink)}
.lmxpm-hd-bn{font:600 10.5px/1.4 var(--vn-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--vn-ink-3)}
.lmxpm-x{background:transparent;border:1px solid var(--vn-line-2);color:var(--vn-ink-2);width:34px;height:34px;border-radius:8px;cursor:pointer;font-size:13px;flex:0 0 auto}
.lmxpm-x:hover{color:var(--vn-ink)}
.lmxpm-prog{padding:14px 16px 4px}
.lmxpm-pbar{height:6px;border-radius:99px;background:var(--vn-line-2);overflow:hidden}
.lmxpm-pbar > span{display:block;height:100%;border-radius:99px;background:var(--nv-accent,#E5484D)}
.lmxpm-pt{margin-top:8px;font:500 12px/1.4 var(--vn-mono);color:var(--vn-ink-3)}
.lmxpm-note{display:flex;align-items:center;gap:9px;margin:10px 16px 2px;padding:10px 12px;border-radius:9px;background:var(--vn-acc-soft);color:var(--vn-ink-2);font-size:12px;line-height:1.4}
.lmxpm-note i{color:var(--vn-acc-hi);flex:0 0 auto}
.lmxpm-list{overflow-y:auto;padding:10px 12px 16px;display:flex;flex-direction:column;gap:6px}
.lmxpm-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;background:var(--vn-panel-2);border:1px solid var(--vn-line)}
.lmxpm-row.done{background:color-mix(in srgb,var(--vn-up) 8%,var(--vn-panel-2))}
.lmxpm-row.cur{border-color:var(--vn-acc-line);box-shadow:0 0 0 2px var(--vn-acc-soft)}
.lmxpm-lv{display:flex;align-items:center;gap:7px;min-width:96px;font:600 12.5px/1.2 var(--vn-mono);color:var(--vn-ink)}
.lmxpm-mbadge{font-size:13px;line-height:1}
.lmxpm-rw{flex:1;font-size:12.5px;color:var(--vn-ink-2)}
.lmxpm-st{font-size:14px;flex:0 0 auto}
.lmxpm-row.done .lmxpm-st{color:var(--vn-up)}
.lmxpm-row:not(.done) .lmxpm-st{color:var(--vn-ink-3)}
/* collapsed rail (desktop only - see section 12 for the mobile reset) */
@media(min-width:861px){
  body.lm-collapsed{--nv-sb:72px}
  body.lm-collapsed .nv-sidebar{width:72px}
  body.lm-collapsed .nv-shell{margin-left:72px}
  body.lm-collapsed .nv-brand{justify-content:center;padding:0 8px}
  body.lm-collapsed .nv-brand img{max-width:40px;object-fit:cover;object-position:left center}
  body.lm-collapsed .nv-brand span,body.lm-collapsed .nv-nav a span,body.lm-collapsed .nv-nav-group,
  body.lm-collapsed .lm-side-balance,body.lm-collapsed .nv-side-foot,body.lm-collapsed .nv-sub-ar,body.lm-collapsed .nv-nbadge{display:none}
  body.lm-collapsed .nv-nav a{justify-content:center;padding:4px}
  body.lm-collapsed .nv-nav a > i:first-child{flex-basis:32px;width:32px;height:32px;font-size:13px}
  body.lm-collapsed .nv-nav a.active::before{display:none}
  body.lm-collapsed .lm-collapse-btn i{transform:rotate(180deg)}
  body.nv.lm-collapsed .pmx-bar{margin-left:72px}
}

/* ---------- 4. TOPBAR (command bar) ----------------------------------- */
body.nv .nv-topbar{
  height:var(--nv-tb); gap:12px; padding:0 22px;
  background:color-mix(in srgb,var(--vn-bg) 82%,transparent);
  -webkit-backdrop-filter:saturate(1.3) blur(12px); backdrop-filter:saturate(1.3) blur(12px);
  border-bottom:1px solid var(--vn-line); box-shadow:none;
}
body.nv .nv-page-title{flex:0 1 auto;font:600 16px/1.2 var(--vn-font-d);letter-spacing:-.01em;color:var(--vn-ink)}
body.nv .nv-burger{width:40px;height:40px;border-radius:9px;border:1px solid var(--vn-line);background:var(--vn-panel);color:var(--vn-ink);font-size:16px;padding:0;place-items:center}
/* command search */
body.nv .vn-cmdk{position:relative;flex:0 1 440px;min-width:200px;margin:0 auto 0 18px;display:flex;align-items:center}
body.nv .vn-cmdk > i{position:absolute;left:13px;font-size:13px;color:var(--vn-ink-3);pointer-events:none}
body.nv .vn-cmdk input{width:100%;height:38px;padding:0 44px 0 38px;border-radius:9px;border:1px solid var(--vn-line-2);background:var(--vn-panel);color:var(--vn-ink);
  font:500 14px/1 var(--vn-font);outline:none;transition:border-color .15s ease,box-shadow .15s ease}
body.nv .vn-cmdk input::placeholder{color:var(--vn-ink-3)}
body.nv .vn-cmdk input:focus{border-color:var(--vn-acc-line);box-shadow:0 0 0 3px var(--vn-acc-soft)}
body.nv .vn-cmdk kbd{position:absolute;right:9px;pointer-events:none}
body.nv .vn-cmdk input:focus ~ kbd{opacity:0}
body.nv .vn-cmd-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:80;display:none;max-height:min(420px,62vh);overflow:auto;padding:6px;
  background:var(--vn-panel);border:1px solid var(--vn-line-2);border-radius:12px;box-shadow:var(--vn-sh-lg)}
body.nv .vn-cmd-menu.show{display:block;animation:lmPop .14s ease}
body.nv .vn-cmd-menu .it{display:flex;align-items:center;gap:10px;min-height:40px;padding:6px 10px;border-radius:8px;color:var(--vn-ink)!important;font-size:13.5px}
body.nv .vn-cmd-menu .it b{flex:none;font:600 12px/1 var(--vn-mono);color:var(--vn-ink-3);min-width:52px}
body.nv .vn-cmd-menu .it span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.nv .vn-cmd-menu .it i{font-size:10px;color:var(--vn-ink-3);opacity:0}
body.nv .vn-cmd-menu .it.on,body.nv .vn-cmd-menu .it:hover{background:var(--vn-panel-2)}
body.nv .vn-cmd-menu .it.on i,body.nv .vn-cmd-menu .it:hover i{opacity:1}
body.nv .vn-cmd-menu .empty{padding:14px;text-align:center;color:var(--vn-ink-3);font-size:13px}
/* New Order has its own big search - no duplicate box */
body.nv:has(#svcGlobalSearch) .vn-cmdk{display:none}
body.nv .nv-top-right{gap:8px}
/* balance chip */
body.nv .vn-balchip{display:inline-flex;align-items:center;gap:10px;height:38px;padding:0 4px 0 12px;border-radius:9px;border:1px solid var(--vn-line-2);
  background:var(--vn-panel);color:var(--vn-ink)!important;white-space:nowrap;transition:border-color .15s ease}
body.nv .vn-balchip .k{font:600 10px/1 var(--vn-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--vn-ink-3)}
body.nv .vn-balchip .v{font:600 14px/1 var(--vn-mono);font-variant-numeric:tabular-nums}
body.nv .vn-balchip .p{width:28px;height:28px;display:grid;place-items:center;border-radius:6px;background:var(--vn-acc-btn);color:#fff;font-size:11px}
body.nv .vn-balchip:hover{border-color:var(--vn-ink-3)}
/* icon buttons + pills */
body.nv .nv-icon-btn,body.nv .nv-dd > button,body.nv .nv-pill{
  width:auto; min-width:38px; height:38px; padding:0 10px; gap:7px; border-radius:9px;
  display:inline-flex; align-items:center; justify-content:center; white-space:nowrap;
  background:var(--vn-panel); border:1px solid var(--vn-line-2); color:var(--vn-ink-2);
  font:600 13px/1 var(--vn-font); cursor:pointer; transition:color .15s ease,border-color .15s ease,background-color .15s ease;
}
body.nv .nv-icon-btn i,body.nv .nv-pill i{opacity:1;font-size:13px}
@media(hover:hover){ body.nv .nv-icon-btn:hover,body.nv .nv-dd > button:hover,body.nv .nv-pill:hover{color:var(--vn-ink);border-color:var(--vn-ink-3)} }
body.nv .nv-topbar .nv-pill.accent{display:none!important}
/* highlighted currency converter: accent-tinted, mono code */
body.nv .nv-topbar .nv-cur-hl{background:var(--vn-acc-soft)!important;border:1px solid var(--vn-acc-line)!important;color:var(--vn-acc-hi)!important;
  font:600 12.5px/1 var(--vn-mono)!important;box-shadow:none!important}
body.nv .nv-topbar .nv-cur-hl i{color:var(--vn-acc-hi)!important}
body.nv .vn-acc-btn{padding:0!important;width:38px;overflow:hidden}
body.nv .vn-av{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,var(--vn-acc-btn),color-mix(in srgb,var(--nv-accent,#E5484D) 55%,#000));
  color:#fff;font:700 15px/1 var(--vn-font-d)}
body.nv .nv-topbar a.nv-btn[href='/']{background:var(--vn-acc-btn)!important;border-color:var(--vn-acc-edge)!important;color:#fff!important}
/* dropdown menus */
body.nv .nv-dd-menu{top:calc(100% + 8px);min-width:220px;padding:6px;border-radius:12px;background:var(--vn-panel);border:1px solid var(--vn-line-2);box-shadow:var(--vn-sh-lg)}
body.nv .nv-dd.open .nv-dd-menu{animation:lmPop .14s ease}
body.nv .nv-dd-menu a{min-height:38px;padding:8px 10px;border-radius:8px;color:var(--vn-ink-2)!important;font:500 13.5px/1.3 var(--vn-font)}
body.nv .nv-dd-menu a:hover{background:var(--vn-panel-2);color:var(--vn-ink)!important}
body.nv .nv-dd-menu a i{width:16px;text-align:center;color:var(--vn-ink-3)}
body.nv .vn-dd-h{padding:8px 10px 6px;font:600 10.5px/1 var(--vn-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--vn-ink-3)}
body.nv .vn-dd-news{display:block!important}
body.nv .vn-dd-news b{display:block;font-size:13px;font-weight:600;color:var(--vn-ink);line-height:1.4}
body.nv .vn-dd-news span{font:500 11px/1.4 var(--vn-mono);color:var(--vn-ink-3)}
body.nv .vn-dd-empty{padding:12px 10px;color:var(--vn-ink-3);font-size:13px}
body.nv .vn-dd-user{padding:10px 10px 10px;margin-bottom:4px;border-bottom:1px solid var(--vn-line)}
body.nv .vn-dd-user b{display:block;font-size:14px;color:var(--vn-ink)}
body.nv .vn-dd-user span{display:block;font-size:12px;color:var(--vn-ink-3);overflow:hidden;text-overflow:ellipsis}
body.nv .nv-dd-menu a.vn-dd-out,body.nv .nv-dd-menu a.vn-dd-out i{color:var(--vn-bad)!important}
body.nv .currencies-item{display:flex;align-items:center;gap:9px;font-family:var(--vn-mono)!important;font-size:13px!important}

/* ---------- 5. CONTENT SCAFFOLD --------------------------------------- */
body.nv .nv-shell{margin-left:var(--nv-sb)}
body.nv main.nv-content{
  max-width:1480px; padding:20px 24px 44px;
  display:grid; grid-template-columns:minmax(0,1fr); gap:16px; align-content:start;
}
body.nv main.nv-content > *{grid-column:1/-1;min-width:0}
body.nv main.nv-content > .promo-slot{order:0;margin:0}
body.nv main.nv-content > .promo-slot:empty{display:none}
body.nv main.nv-content > .nv-cms-top{order:0}
body.nv main.nv-content > #ppBalNudge{order:1}
body.nv main.nv-content > .vn-deck{order:1}
body.nv main.nv-content > #lm-order{order:2;margin:0;scroll-margin-top:84px}
body.nv main.nv-content > #drWidget{display:contents}
body.nv main.nv-content > .dw{order:4;margin:0}
body.nv main.nv-content > .nv-cms-bottom{order:5}
body.nv .nv-cms{color:var(--vn-ink-2);max-width:100%}

/* ---------- 6. DECK (greeting + readouts) ----------------------------- */
body.nv .vn-deck{
  display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:stretch; gap:0;
  background:var(--vn-panel); border:1px solid var(--vn-line-2); border-radius:var(--nv-r); box-shadow:var(--vn-sh); overflow:hidden; margin:0;
}
body.nv .vx-cmd-greet{min-width:0;padding:16px 20px;display:flex;flex-direction:column;justify-content:center;gap:4px;
  background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--nv-accent,#E5484D) 9%,transparent),transparent 55%)}
body.nv .vn-deck-tag{display:inline-flex;align-items:center;gap:8px;font:600 10.5px/1 var(--vn-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--vn-ink-3)}
body.nv .vn-deck-tag .vn-num{letter-spacing:.04em;color:var(--vn-ink-2)}
body.nv #lmGreet{margin:4px 0 0;font:600 clamp(1.1rem,.9rem + .6vw,1.4rem)/1.2 var(--vn-font-d);letter-spacing:-.02em;color:var(--vn-ink)}
body.nv .vx-cmd-greet .sub{font-size:13px;color:var(--vn-ink-3);line-height:1.5}
body.nv .vx-cmd-stats.dash-stats{display:grid;grid-template-columns:repeat(4,minmax(128px,auto));gap:0;margin:0;border-left:1px solid var(--vn-line)}
body.nv .vx-cmd .dash-stat{
  position:relative; display:flex; flex-direction:column; justify-content:center; gap:7px; padding:14px 20px; min-width:0;
  background:none; border:0; border-radius:0; box-shadow:none; color:var(--vn-ink)!important; text-decoration:none;
  transition:background-color .15s ease;
}
body.nv .vx-cmd .dash-stat + .dash-stat{border-left:1px solid var(--vn-line)}
body.nv .vx-cmd a.dash-stat:hover{background:var(--vn-panel-2)}
body.nv .vx-cmd .dash-stat .ic{position:absolute;top:13px;right:14px;width:auto;height:auto;background:none;box-shadow:none;font-size:11px;color:var(--vn-ink-3)}
body.nv .vx-cmd .dash-stat .k{padding-right:20px;font:600 10.5px/1.2 var(--vn-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--vn-ink-3)}
body.nv .vx-cmd .dash-stat .v{font:600 17px/1.2 var(--vn-mono);font-variant-numeric:tabular-nums;color:var(--vn-ink);white-space:nowrap}
body.nv .vx-cmd .dash-stat .v .vn-tier{font-size:14px;margin-right:2px}
body.nv .vx-cmd .dash-stat:first-child .v{color:var(--vn-up)}
/* any page still using the plain block */
body.nv .dash-stats:not(.vx-cmd-stats){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}

/* ---------- 7. ORDER TICKET ------------------------------------------- */
body.nv #lm-order.nv-row.c2{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,380px);gap:16px;align-items:start}
body.nv #lm-order,body.nv #lm-order > div,body.nv #lm-order .nv-card,body.nv #np-single,body.nv #np-single form,body.nv .nv-field{min-width:0}
body.nv .nv-card{background:var(--vn-panel);border:1px solid var(--vn-line-2);border-radius:var(--nv-r);padding:20px;box-shadow:var(--vn-sh)}
body.nv .nv-card-h{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--vn-line)}
body.nv .nv-card-h h3{font:600 15px/1.3 var(--vn-font-d)}
body.nv .vn-ticket{padding:0;overflow:visible}
body.nv .vn-ticket-b{padding:18px 20px 22px}
body.nv .vn-kbds{gap:6px}
body.nv .vn-kbd-sep{width:1px;height:14px;background:var(--vn-line-2);margin:0 6px}
body.nv .vn-ticket-top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}
body.nv .vn-ticket-top .dw-h{margin:0}
body.nv .vn-ticket-top .dw-h h3{font:600 19px/1.2 var(--vn-font-d);letter-spacing:-.02em;gap:10px}
body.nv .vn-ticket-top .dw-h h3 i{font-size:15px;color:var(--vn-acc-hi)}
body.nv .vn-ticket-top .nv-tabs{margin:0;max-width:none}
/* segmented tabs */
body.nv .nv-tabs{display:inline-flex;gap:3px;padding:3px;border-radius:10px;background:var(--vn-well);border:1px solid var(--vn-line-2)}
body.nv .nv-tab{height:34px;padding:0 14px;border-radius:7px;border:0;background:none;color:var(--vn-ink-3);font:600 13.5px/1 var(--vn-font);
  display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:color .15s ease,background-color .15s ease}
body.nv .nv-tab i{font-size:11px}
body.nv .nv-tab:hover{color:var(--vn-ink)}
body.nv .nv-tab.active,body.nv .nv-tab[aria-selected="true"]{background:var(--vn-panel-3);color:var(--vn-ink);box-shadow:0 0 0 1px var(--vn-line-2)}
html:not(.nv-dark) body.nv .nv-tab.active{background:#fff;box-shadow:0 1px 2px rgba(12,16,24,.1),0 0 0 1px var(--vn-line)}
body.nv .nv-tab.active i{color:var(--vn-acc-hi)}
/* steps -> mono pipeline */
body.nv .lm-steps{display:flex;align-items:center;gap:8px;margin:0 0 14px;flex-wrap:wrap}
body.nv .lm-step{display:inline-flex;align-items:center;gap:8px;font:600 11px/1 var(--vn-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--vn-ink-3)}
body.nv .lm-step .n{width:20px;height:20px;display:grid;place-items:center;border-radius:5px;font:600 10.5px/1 var(--vn-mono);letter-spacing:0;
  border:1px solid var(--vn-line-2);background:var(--vn-panel-2);color:var(--vn-ink-3)}
body.nv .lm-step.on{color:var(--vn-ink)}
body.nv .lm-step.on .n{background:var(--vn-acc-btn);border-color:var(--vn-acc-edge);color:#fff}
body.nv .lm-step .sep{display:block;width:26px;height:1px;background:var(--vn-line-2)}
/* search-first */
body.nv .lm-search-wrap{position:relative;margin-bottom:14px}
body.nv .lm-search-wrap > i{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-size:14px;color:var(--vn-ink-3);pointer-events:none;z-index:2}
body.nv .lm-search-wrap input.nv-input{height:50px;padding:0 48px 0 44px;font-size:15px;border-radius:10px}
body.nv .lm-search-wrap .vn-kbd{position:absolute;right:13px;top:15px;pointer-events:none}
body.nv .lm-search-wrap input:focus ~ .vn-kbd{opacity:0}
body.nv .nv-srch-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:60;display:none;max-height:360px;overflow:auto;padding:6px;
  background:var(--vn-panel);border:1px solid var(--vn-line-2);border-radius:12px;box-shadow:var(--vn-sh-lg)}
body.nv .nv-srch-menu.show{display:block}
body.nv .nv-srch-menu .r{display:flex;align-items:center;gap:10px;min-height:42px;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:13.5px;color:var(--vn-ink);border:0}
body.nv .nv-srch-menu .r:hover,body.nv .nv-srch-menu .r.vn-on{background:var(--vn-panel-2)}
body.nv .nv-srch-menu .r.vn-on{box-shadow:inset 2px 0 0 var(--nv-accent,#E5484D)}
body.nv .nv-srch-menu .r .nm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--vn-ink)}
body.nv .nv-srch-menu .empty{padding:16px;color:var(--vn-ink-3);font-size:13px;text-align:center}
/* quick reorder rows */
body.nv .vn-quick{display:grid;gap:12px;margin:0 0 4px}
body.nv .vn-quick .dw{margin:0 0 10px}
body.nv .vn-qrow .dw-h{margin:0 0 8px}
body.nv .vn-qrow .dw-h h3{font:600 10.5px/1 var(--vn-mono)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--vn-ink-3)!important;gap:8px}
body.nv .vn-qrow .dw-h h3 i{font-size:11px;color:var(--vn-warn)}
body.nv .vn-qrow .dw-scroll{gap:8px;padding:0 0 6px}
body.nv .vn-qrow .svc-card{flex:0 0 288px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"pic nm nm" "pic pr go";
  align-items:center;gap:6px 10px;padding:10px 10px 10px 12px;border-radius:10px;background:var(--vn-panel-2)}
body.nv .vn-qrow .svc-card .top{display:contents}
body.nv .vn-qrow .svc-card .plat,body.nv .vn-qrow .svc-card .svc-tag{display:none}
body.nv .vn-qrow .svc-card .pic{grid-area:pic;align-self:start;width:30px;height:30px;font-size:13px;background:var(--vn-panel)!important;border:1px solid var(--vn-line)}
body.nv .vn-qrow .svc-card .nm{grid-area:nm;min-height:0;-webkit-line-clamp:2;font-size:12.5px;line-height:1.35;padding-right:20px}
body.nv .vn-qrow .svc-card .pr{grid-area:pr;font-size:12px;color:var(--vn-up);white-space:nowrap;overflow:hidden;text-overflow:clip}
body.nv .vn-qrow .svc-card .go{grid-area:go;margin:0;height:32px;padding:0 11px;font-size:12px}
body.nv .vn-qrow .svc-fav{top:6px;right:6px}
/* platform chips */
body.nv .lm-platforms{display:flex;flex-wrap:wrap;gap:7px;min-width:0}
body.nv .lm-platforms > *{flex:0 0 auto;max-width:100%}
body.nv .lm-plat{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 13px;border-radius:8px;cursor:pointer;
  background:var(--vn-panel-2);border:1px solid var(--vn-line-2);color:var(--vn-ink-2);font:600 13px/1 var(--vn-font);
  transition:border-color .15s ease,color .15s ease,background-color .15s ease}
body.nv .lm-plat i{font-size:14px}
body.nv .lm-plat .fa-tiktok,body.nv .lm-plat .fa-x-twitter,body.nv .lm-plat .fa-threads{color:var(--vn-ink)}
@media(hover:hover){ body.nv .lm-plat:hover{border-color:var(--vn-ink-3);color:var(--vn-ink)} }
body.nv .lm-plat.active{background:var(--vn-acc-soft);border-color:var(--vn-acc-line);color:var(--vn-ink);box-shadow:inset 0 -2px 0 var(--nv-accent,#E5484D)}
body.nv .lm-plat:active{transform:scale(.98)}
/* fields */
body.nv .nv-field{margin-bottom:16px}
body.nv .nv-label,body.nv .control-label,body.nv label.control-label,body.nv #neworder_fields label,body.nv #addfunds_fields label{
  display:block;margin-bottom:7px;font:600 12.5px/1.3 var(--vn-font);color:var(--vn-ink-2)}
body.nv .nv-input,body.nv .nv-select,body.nv .nv-textarea,body.nv textarea.nv-input,
body.nv #neworder_fields input,body.nv #neworder_fields select,body.nv #neworder_fields textarea,
body.nv #addfunds_fields input,body.nv #addfunds_fields select,body.nv #addfunds_fields textarea,body.nv .form-control{
  height:46px;min-height:46px;padding:0 14px;border-radius:9px;border:1px solid var(--vn-line-2);background:var(--vn-well);color:var(--vn-ink);
  font:500 14.5px/1.3 var(--vn-font);box-shadow:var(--vn-inset);transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}
body.nv textarea.nv-input,body.nv .nv-textarea,body.nv #neworder_fields textarea,body.nv #addfunds_fields textarea,body.nv textarea.form-control{height:auto;min-height:104px;padding:12px 14px;line-height:1.5}
body.nv .nv-input::placeholder,body.nv .nv-textarea::placeholder,body.nv .form-control::placeholder,body.nv #neworder_fields input::placeholder{color:var(--vn-ink-3);opacity:.85}
body.nv .nv-input:focus,body.nv .nv-select:focus,body.nv .nv-textarea:focus,body.nv .form-control:focus,
body.nv #neworder_fields input:focus,body.nv #neworder_fields textarea:focus,body.nv #addfunds_fields input:focus,body.nv #addfunds_fields select:focus{
  outline:none;border-color:var(--vn-acc-line);box-shadow:0 0 0 3px var(--vn-acc-soft);background:var(--vn-panel)}
body.nv select.nv-select:not([multiple]):not([size]),body.nv select.form-control:not([multiple]){-webkit-appearance:none;appearance:none;padding-right:38px;cursor:pointer;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23868F9F' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E") no-repeat right 13px center,var(--vn-well)}
body.nv .nv-select option,body.nv .form-control option{background:var(--vn-panel);color:var(--vn-ink)}
body.nv #neworder_quantity,body.nv #dripfeed-runs,body.nv #dripfeed-interval,body.nv #dripfeed-totalquantity,body.nv #neworder_answer,body.nv #order_count{font-family:var(--vn-mono);font-size:15px;font-variant-numeric:tabular-nums}
body.nv #neworder_fields input[disabled]{opacity:.6}
body.nv #neworder_fields{color:var(--vn-ink-2);font-size:14px}
body.nv #neworder_fields .fields,body.nv #neworder_fields > div{margin-bottom:14px}
body.nv #neworder_fields .form-group input{margin-bottom:0}
body.nv #neworder_fields .help-block,body.nv .help-block{display:block;font-size:12px;color:var(--vn-ink-3);margin-top:6px}
body.nv #neworder_fields .help-block.min-max,body.nv .min-max{display:inline-flex;align-items:center;gap:6px;margin:-6px 0 14px;padding:4px 8px;border-radius:6px;
  background:var(--vn-panel-2);border:1px solid var(--vn-line);font:500 11.5px/1.3 var(--vn-mono);color:var(--vn-ink-2)}
body.nv .panel-body.border-solid,body.nv #service_description{max-height:190px;overflow:auto;padding:12px 14px;border-radius:9px;
  background:var(--vn-panel-2);border:1px solid var(--vn-line);color:var(--vn-ink-2);font-size:13.5px;line-height:1.6}
body.nv #description .control-label{font:600 10.5px/1 var(--vn-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--vn-ink-3)}
body.nv #neworder_fields .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
/* service + category dropdowns (JS: .nv-catdd.open) */
body.nv .nv-catdd{position:relative}
body.nv .nv-catdd-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:48px;height:auto;padding:8px 14px;border-radius:9px;
  background:var(--vn-well);border:1px solid var(--vn-line-2);box-shadow:var(--vn-inset);color:var(--vn-ink);font:500 14px/1.35 var(--vn-font);text-align:left;cursor:pointer;
  transition:border-color .15s ease}
body.nv .nv-catdd-btn:hover{border-color:var(--vn-ink-3)}
body.nv .nv-catdd.open .nv-catdd-btn{border-color:var(--vn-acc-line);box-shadow:0 0 0 3px var(--vn-acc-soft)}
body.nv .nv-catdd-btn .cur{display:flex;align-items:center;gap:10px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
body.nv .nv-catdd-btn .cur > span{min-width:0;overflow:hidden;text-overflow:ellipsis}
body.nv .nv-catdd-btn .cur i,body.nv .nv-catdd-btn .cur img{font-size:15px;flex:none}
body.nv .nv-catdd-btn .ar{flex:none;color:var(--vn-ink-3);font-size:11px;transition:transform .2s var(--vn-ease)}
body.nv .nv-catdd.open .ar{transform:rotate(180deg)}
body.nv .nv-catdd-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:55;display:none;max-height:380px;overflow:auto;padding:6px;
  background:var(--vn-panel);border:1px solid var(--vn-line-2);border-radius:12px;box-shadow:var(--vn-sh-lg)}
body.nv .nv-catdd.open .nv-catdd-menu{display:block}
body.nv .nv-catdd-menu .it{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 10px;border-radius:8px;color:var(--vn-ink)!important;font-size:13.5px;cursor:pointer;line-height:1.4}
body.nv .nv-catdd-menu .it:hover{background:var(--vn-panel-2)}
body.nv .nv-catdd-menu .it .ic{flex:none;width:22px;display:grid;place-items:center}
body.nv .nv-catdd-menu .it .ic i{font-size:15px}
body.nv .nv-catdd-menu .it .ic img,body.nv .nv-catdd-btn .cur img{width:18px;height:18px;object-fit:contain;border-radius:4px}
body.nv #svcDDMenu .it .pr,body.nv #svcDDBtn .cur .pr{color:var(--vn-up)!important;font:600 12.5px/1.3 var(--vn-mono);padding-left:12px}
body.nv #svcDD .sid,body.nv #svcDDBtn .sid{font:600 12.5px/1 var(--vn-mono);color:var(--vn-ink-3)!important}
body.nv #svcDDBtn .cur .nm{min-width:0;overflow:hidden;text-overflow:ellipsis}
body.nv .nv-bdg{border-radius:5px;font:600 9.5px/1.7 var(--vn-mono);letter-spacing:.04em}
body.nv .nv-bdg-pop{background:var(--vn-warn-soft);color:var(--vn-warn)}
body.nv .nv-bdg-val{background:var(--vn-up-soft);color:var(--vn-up)}
body.nv .nv-bdg-ref{background:var(--vn-info-soft);color:var(--vn-info)}
/* category icons in lists (moved from header.twig inline UI_FIXES) */
.svc-cat-ic{width:38px;height:38px;flex:none;border-radius:10px;display:grid;place-items:center;background:var(--vn-acc-btn);color:#fff;margin-right:10px}
.svc-cat-ic i{color:#fff!important;font-size:16px!important;line-height:1}
.svc-cat-ic img{width:22px;height:22px;object-fit:contain;border-radius:5px;display:block}
/* drip feed (JS: #dripfeedcheckbox:checked, #dripfeed-options.hidden) */
body.nv #dripfeed{margin:4px 0 14px;border:1px solid var(--vn-line-2);border-radius:10px;overflow:hidden;background:var(--vn-panel-2)}
body.nv #dripfeed .nv-drip-head{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer}
body.nv #dripfeed .nv-drip-head .ti{flex:1 1 auto;min-width:0}
body.nv #dripfeed .nv-drip-head .ti b{display:block;color:var(--vn-ink);font-size:14px;font-weight:600}
body.nv #dripfeed .nv-drip-head .ti span{font-size:12px;color:var(--vn-ink-3)}
body.nv#nvbody #neworder_fields #dripfeedcheckbox,.nv #neworder_fields #dripfeedcheckbox{
  width:42px!important;height:24px!important;min-height:0!important;margin:0!important;padding:0!important;flex:0 0 42px;display:inline-block;
  -webkit-appearance:none!important;appearance:none!important;background:var(--vn-line-2);border:0!important;border-radius:99px!important;position:relative;cursor:pointer;box-shadow:none!important;transition:background .15s ease}
.nv #neworder_fields #dripfeedcheckbox:checked{background:var(--nv-accent,#E5484D)}
.nv #neworder_fields #dripfeedcheckbox::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.3);transition:transform .15s var(--vn-ease)}
.nv #neworder_fields #dripfeedcheckbox:checked::after{transform:translateX(18px)}
body.nv #dripfeed-options{padding:12px 14px 14px;display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--vn-line);background:var(--vn-panel)}
body.nv #dripfeed-options.hidden{display:none}
body.nv #dripfeed-options .form-group{margin:0}
body.nv #dripfeed-options .nv-drip-tq{grid-column:1/-1}
/* coupon preview card */
body.nv .nv-cpcard-ok{border:1px solid color-mix(in srgb,var(--vn-up) 45%,transparent);background:var(--vn-up-soft);border-radius:10px}
body.nv .nv-cpcard-ok .r b,body.nv .nv-cpcard-ok .r.total b{font-family:var(--vn-mono)}
body.nv .nv-cpcard-err{border:1px solid color-mix(in srgb,var(--vn-bad) 45%,transparent);background:var(--vn-bad-soft);color:var(--vn-bad)}
/* primary action */
body.nv .vn-place{height:54px!important;font-size:15.5px!important;margin-top:4px;position:relative}
body.nv .vn-place .vn-kbd-in{position:absolute;right:14px;top:50%;transform:translateY(-50%);height:24px;padding:0 8px;border-radius:6px;border:1px solid rgba(255,255,255,.3);border-bottom-width:1px;background:rgba(0,0,0,.14);color:rgba(255,255,255,.9);font-size:10.5px}
/* mass order */
body.nv #np-mass textarea{font-family:var(--vn-mono);font-size:13px;min-height:220px;line-height:1.7}
body.nv .nv-hint{font-size:12.5px;color:var(--vn-ink-3);margin-top:8px}
body.nv .ppm-panel{border-color:var(--vn-line-2)!important;border-radius:10px!important}
body.nv .ppm-stat .v{font-family:var(--vn-mono)}
/* alerts */
body.nv .nv-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;font-weight:500;font-size:14px;margin-bottom:14px;border:1px solid transparent}
body.nv .nv-alert.ok{background:var(--vn-up-soft);color:var(--vn-up);border-color:color-mix(in srgb,var(--vn-up) 30%,transparent)}
body.nv .nv-alert.err{background:var(--vn-bad-soft);color:var(--vn-bad);border-color:color-mix(in srgb,var(--vn-bad) 30%,transparent)}
body.nv .nv-alert i{margin-top:2px}
body.nv .nv-alert b{font-family:var(--vn-mono)}
/* mobile speed + charge card (lmMini is created by neworder.twig) */
body.nv #lmMini{border:1px solid var(--vn-line-2);border-radius:10px;background:var(--vn-panel-2);box-shadow:none}
body.nv #lmMini .mi + .mi{border-left:1px solid var(--vn-line)}
body.nv #lmMini .l{font:600 10px/1 var(--vn-mono);letter-spacing:.12em;color:var(--vn-ink-3)}
body.nv #lmMini .l i{color:var(--vn-up)}
body.nv #lmMini b{font:600 15px/1.3 var(--vn-mono);color:var(--vn-up)}
body.nv #lmMini .ch .l i{color:var(--vn-acc-hi)}
body.nv #lmMini .ch b{font-size:17px;color:var(--vn-acc-hi)}
html.nv-dark body.nv #lmMini .sp b,html.nv-dark body.nv #lmMini .sp .l i{color:var(--vn-up)}

/* ---------- 8. RECEIPT ------------------------------------------------- */
body.nv .lm-summary{position:sticky;top:calc(var(--nv-tb) + 16px)}
body.nv .lm-sum-card{background:var(--vn-panel);border:1px solid var(--vn-line-2);border-radius:var(--nv-r);box-shadow:var(--vn-sh-lg);overflow:hidden}
body.nv .lm-sum-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;padding:0 14px;background:var(--vn-panel-2);border-bottom:1px solid var(--vn-line);color:var(--vn-ink);box-shadow:none;text-shadow:none}
body.nv .lm-sum-body{padding:4px 16px 2px}
body.nv .nv-os .row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;font-size:13.5px;color:var(--vn-ink-2)}
body.nv .nv-os .row + .row{border-top:1px solid var(--vn-line)}
body.nv .nv-os .row > span{flex:none;display:inline-flex;align-items:center;gap:7px}
body.nv .nv-os .row > span i{font-size:11px;color:var(--vn-ink-3)}
body.nv .nv-os .row b{min-width:0;font:600 13.5px/1.35 var(--vn-mono);font-variant-numeric:tabular-nums;color:var(--vn-ink);text-align:right;overflow-wrap:anywhere}
body.nv .nv-os .vn-os-svc{flex-direction:column;align-items:stretch;gap:6px}
body.nv .nv-os .vn-os-svc > span{font:600 10.5px/1 var(--vn-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--vn-ink-3)}
body.nv .nv-os .vn-os-svc b{font:600 13.5px/1.45 var(--vn-font);text-align:left;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
body.nv .nv-os .vn-os-speed b{color:var(--vn-up)}
body.nv .nv-os .vn-os-speed > span i{color:var(--vn-up)}
body.nv .nv-os .row.total{margin-top:6px;padding:14px 0 12px;border-top:1px dashed var(--vn-line-2)!important;align-items:center}
body.nv .nv-os .row.total > span{font:600 10.5px/1 var(--vn-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--vn-ink-2)}
body.nv .nv-os .total b,body.nv .nv-os .row.total b{font:600 26px/1.1 var(--vn-mono);color:var(--vn-ink);letter-spacing:-.02em}
body.nv .vn-sum-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;background:var(--vn-panel-2);border-top:1px solid var(--vn-line)}
body.nv .vn-sum-bal{display:flex;flex-direction:column;gap:4px;min-width:0}
body.nv .vn-sum-bal span{font:600 10px/1 var(--vn-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--vn-ink-3)}
body.nv .vn-sum-bal b{font:600 15px/1.2 var(--vn-mono);color:var(--vn-ink);overflow-wrap:anywhere}
body.nv .vn-sum-add{flex:none;display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:8px;border:1px solid var(--vn-line-2);background:var(--vn-panel);color:var(--vn-ink)!important;font:600 12.5px/1 var(--vn-font)}
body.nv .vn-sum-add i{font-size:10px;color:var(--vn-acc-hi)}
body.nv .vn-sum-add:hover{border-color:var(--vn-ink-3)}
body.nv .vn-sum-notes{list-style:none;margin:0;padding:10px 16px 14px;display:grid;gap:8px;border-top:1px solid var(--vn-line)}
body.nv .vn-sum-notes li{display:flex;gap:9px;font-size:12px;line-height:1.45;color:var(--vn-ink-3)}
body.nv .vn-sum-notes li i{flex:none;margin-top:2px;font-size:11px;color:var(--vn-ink-3)}
body.nv .vn-sum-notes a{font-weight:600}
body.nv .vn-news{padding:0;overflow:hidden}
body.nv .vn-news .nv-card-h{margin:0;padding:0 14px;border-bottom:1px solid var(--vn-line)}
body.nv .vn-news > div:last-child{padding:0 16px 6px}
body.nv .vn-news > div:last-child > div:first-child{border-top:0!important}

/* ---------- 9. BUTTONS / BADGES / TABLES (every page) ----------------- */
body.nv .nv-btn{
  height:44px; padding:0 18px; border-radius:9px; gap:8px; font:600 14px/1 var(--vn-font); letter-spacing:.005em;
  background:var(--vn-acc-btn); color:#fff; border:1px solid var(--vn-acc-edge); text-shadow:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),var(--vn-glow);
  transition:background-color .15s ease,box-shadow .2s ease,transform .1s ease,filter .15s ease;
}
@media(hover:hover){ body.nv .nv-btn:hover{filter:brightness(1.08)} }
body.nv .nv-btn:active{transform:scale(.985)}
body.nv .nv-btn.ghost{background:var(--vn-panel);border-color:var(--vn-line-2);color:var(--vn-ink);box-shadow:none}
body.nv .nv-btn.ghost:hover{border-color:var(--vn-ink-3);filter:none}
body.nv .nv-btn.soft{background:var(--vn-acc-soft);border-color:var(--vn-acc-line);color:var(--vn-acc-hi);box-shadow:none}
body.nv .nv-btn.danger{background:var(--vn-bad);border-color:color-mix(in srgb,var(--vn-bad) 70%,#000);box-shadow:none}
body.nv .nv-btn.sm{height:36px;min-height:36px;padding:0 13px;font-size:13px;border-radius:8px}
body.nv .nv-btn[disabled]{opacity:.5;cursor:not-allowed}
.nv a.nv-btn,.nv a.nv-btn:hover{color:#fff}
.nv a.nv-btn.ghost{color:var(--vn-ink)} .nv a.nv-btn.soft{color:var(--vn-acc-hi)}
body.nv .btn.btn-primary,body.nv .btn-big-primary,body.nv button.btn-primary,body.nv a.btn-primary,
body.nv .qpo-btn.primary,body.nv button.pri,body.nv .sn-btn.pri{background:var(--vn-acc-btn);border:1px solid var(--vn-acc-edge);color:#fff;text-shadow:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),var(--vn-glow);border-radius:9px}
body.nv .qpo-wa{background:#1FA855;border:1px solid #178A42;color:#fff;text-shadow:none;border-radius:9px}
body.nv .nv-badge{padding:4px 10px;border-radius:6px;font:600 11.5px/1.4 var(--vn-font);box-shadow:none}
body.nv .nv-badge.b-run::before,body.nv .nv-badge.b-info::before{animation:lmPulse 1.6s infinite}
body.nv .nv-chip{height:36px;border-radius:8px;border:1px solid var(--vn-line-2);background:var(--vn-panel-2);color:var(--vn-ink-2);font-weight:600}
body.nv .nv-chip.active{background:var(--vn-acc-btn);border-color:var(--vn-acc-edge);color:#fff}
body.nv .nv-table-wrap{border:1px solid var(--vn-line-2);border-radius:var(--nv-r);background:var(--vn-panel)}
body.nv .nv-table th{padding:12px 16px;font:600 10.5px/1.2 var(--vn-mono);letter-spacing:.12em;color:var(--vn-ink-3);background:var(--vn-panel-2);border-bottom:1px solid var(--vn-line)}
body.nv .nv-table td{padding:13px 16px;font-size:13.5px;border-bottom:1px solid var(--vn-line);color:var(--vn-ink-2)}
@media(hover:hover){ body.nv .nv-table tbody tr:hover td{background:var(--vn-panel-2)} }
.nv .svc-cat .nv-table-wrap{border:0!important;background:none!important;box-shadow:none!important;overflow:visible!important}
body.nv .svc-acts .nv-btn,.nv tr.svc-row td[data-label=""] .nv-btn{flex:none;justify-content:center;min-height:36px}

/* ---------- 10. DASHBOARD WIDGETS + OTHER-PAGE COMPONENTS -------------- */
body.nv .dw{margin:0}
body.nv .dw-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}
body.nv .dw-h h3{display:flex;align-items:center;gap:9px;margin:0;font:600 16px/1.3 var(--vn-font-d);color:var(--vn-ink)}
body.nv .dw-h h3 i{color:var(--vn-acc-hi)}
body.nv .dw-h .lnk{font-size:12.5px;font-weight:600;white-space:nowrap}
body.nv .dw-scroll{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
body.nv .dw-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
body.nv .svc-card{scroll-snap-align:start;flex:0 0 210px;position:relative;display:flex;flex-direction:column;gap:9px;padding:14px;border-radius:11px;
  background:var(--vn-panel);border:1px solid var(--vn-line-2);box-shadow:none;transition:border-color .15s ease}
@media(hover:hover){ body.nv .svc-card:hover{border-color:var(--vn-ink-3)} }
body.nv .svc-card .top{display:flex;align-items:center;gap:9px}
body.nv .svc-card .pic{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;font-size:14px;flex:0 0 auto;background:var(--vn-panel-2)}
body.nv .svc-card .plat{font:600 10.5px/1 var(--vn-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--vn-ink-3)}
body.nv .svc-card .nm{font-size:13px;font-weight:600;color:var(--vn-ink);line-height:1.35;min-height:35px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.nv .svc-card .pr{font:600 14px/1.2 var(--vn-mono);color:var(--vn-ink)}
body.nv .svc-card .pr small{font-size:11px;color:var(--vn-ink-3);font-weight:500}
body.nv .svc-card .go{margin-top:auto;height:36px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;
  background:var(--vn-acc-soft);border:1px solid var(--vn-acc-line);color:var(--vn-acc-hi)!important;font:600 12.5px/1 var(--vn-font);cursor:pointer;text-decoration:none}
body.nv .svc-card .go:hover{background:var(--vn-acc-btn);color:#fff!important}
body.nv .svc-fav{position:absolute;top:10px;right:10px;z-index:2;border:0;background:transparent;color:var(--vn-line-2);cursor:pointer;font-size:13px;line-height:1;padding:4px}
body.nv .svc-fav:hover{color:var(--vn-ink-3)}
body.nv .svc-fav.on{color:#F2B544}
body.nv .svc-tag{position:absolute;top:-7px;left:12px;background:var(--vn-warn);color:#1A1200;font:600 9.5px/1 var(--vn-mono);padding:4px 7px;border-radius:5px}
body.nv .deal-card{background:radial-gradient(120% 140% at 100% 0%,color-mix(in srgb,var(--nv-accent,#E5484D) 35%,transparent),transparent 60%),var(--vn-panel-2);
  color:var(--vn-ink);border:1px solid var(--vn-acc-line);border-radius:12px;padding:18px;position:relative;overflow:hidden;box-shadow:none}
body.nv .deal-card .lbl{font:600 10.5px/1 var(--vn-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--vn-acc-hi)}
body.nv .deal-card .big{font:600 22px/1.2 var(--vn-font-d);margin:8px 0 2px;text-shadow:none}
body.nv .deal-card .code{display:inline-block;background:var(--vn-panel);border:1px dashed var(--vn-acc-line);border-radius:7px;padding:6px 11px;font:600 13px/1 var(--vn-mono);letter-spacing:.08em;cursor:pointer;margin-top:10px;color:var(--vn-ink)}
body.nv .deal-card .cd{display:flex;gap:6px;margin-top:14px}
body.nv .deal-card .cd div{background:var(--vn-panel);border:1px solid var(--vn-line);border-radius:7px;padding:6px 9px;text-align:center;min-width:48px}
body.nv .deal-card .cd b{display:block;font:600 17px/1.2 var(--vn-mono)}
body.nv .deal-card .cd span{font:500 9px/1 var(--vn-mono);text-transform:uppercase;color:var(--vn-ink-3)}
body.nv .cpn-list{display:flex;flex-direction:column;gap:9px}
body.nv .cpn{display:flex;align-items:center;gap:11px;background:var(--vn-panel);border:1px dashed var(--vn-line-2);border-radius:10px;padding:11px 13px}
body.nv .cpn .ic{width:32px;height:32px;border-radius:8px;background:var(--vn-acc-soft);color:var(--vn-acc-hi);display:grid;place-items:center;flex:0 0 auto}
body.nv .cpn .tl{flex:1;min-width:0}
body.nv .cpn .tl b{display:block;font-size:13px;font-weight:600;color:var(--vn-ink)}
body.nv .cpn .tl span{font-size:11.5px;color:var(--vn-ink-3)}
body.nv .cpn .cp-code{font:600 12px/1 var(--vn-mono);background:var(--vn-panel-2);border:1px solid var(--vn-line);border-radius:6px;padding:6px 9px;cursor:pointer;color:var(--vn-acc-hi);white-space:nowrap}
body.nv .ao-card,body.nv .rr-card,body.nv .live-c,body.nv .trust-c,body.nv .cat-card,body.nv .tx-card{background:var(--vn-panel);border:1px solid var(--vn-line-2);border-radius:11px;box-shadow:none}
body.nv .ao-card{padding:13px 15px;margin-bottom:10px}
body.nv .ao-card .r1{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:8px}
body.nv .ao-card .nm{font-size:13px;font-weight:600;color:var(--vn-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.nv .ao-card .st{font-size:10.5px;font-weight:600;padding:3px 8px;border-radius:5px;white-space:nowrap;text-transform:capitalize}
body.nv .st-inprogress,body.nv .st-processing{background:var(--vn-info-soft);color:var(--vn-info)}
body.nv .st-pending{background:var(--vn-warn-soft);color:var(--vn-warn)}
body.nv .st-partial{background:rgba(236,72,153,.12);color:#E0679F}
body.nv .ao-bar,body.nv .xp-bar,body.nv .lm-prog,body.nv .qpo-prog,body.nv .drp-bar{background:var(--vn-line-2);border-radius:99px;overflow:hidden;box-shadow:none}
body.nv .ao-bar{height:6px}
body.nv .ao-bar > span,body.nv .xp-bar > span,body.nv .lm-prog > span,body.nv .qpo-prog-bar,body.nv .drp-bar > span{background:var(--nv-accent,#E5484D);border-radius:99px}
body.nv .lm-prog{height:6px;flex:1;min-width:80px}
body.nv .lm-prog.done > span{background:var(--vn-up)}
body.nv .ao-card .r2{display:flex;justify-content:space-between;font:500 11.5px/1.3 var(--vn-mono);color:var(--vn-ink-3);margin-top:6px}
body.nv .cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}
body.nv .cat-card{padding:14px 10px;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;transition:border-color .15s ease}
body.nv .cat-card:hover{border-color:var(--vn-ink-3)}
body.nv .cat-card .ic{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;font-size:19px;color:#fff;box-shadow:none}
body.nv .cat-card .nm{font-size:12.5px;font-weight:600;color:var(--vn-ink)}
body.nv .cat-card .ct{font:500 10.5px/1 var(--vn-mono);color:var(--vn-ink-3)}
body.nv .tx-card{overflow:hidden}
body.nv .tx-item{display:flex;align-items:center;gap:12px;padding:12px 15px;border-bottom:1px solid var(--vn-line)}
body.nv .tx-item:last-child{border-bottom:0}
body.nv .tx-item .ti{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;font-size:13px;flex:0 0 auto}
body.nv .tx-in .ti{background:var(--vn-up-soft);color:var(--vn-up)}
body.nv .tx-out .ti{background:var(--vn-acc-soft);color:var(--vn-acc-hi)}
body.nv .tx-item .tl{flex:1;min-width:0}
body.nv .tx-item .tl b{display:block;font-size:13px;font-weight:600;color:var(--vn-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.nv .tx-item .tl span{font-size:11px;color:var(--vn-ink-3)}
body.nv .tx-item .amt{font:600 13.5px/1.2 var(--vn-mono);white-space:nowrap}
body.nv .tx-in .amt{color:var(--vn-up)} body.nv .tx-out .amt{color:var(--vn-ink)}
body.nv .rr-card{padding:18px}
body.nv .rr-badge{width:48px;height:48px;border-radius:11px;display:grid;place-items:center;font-size:21px;background:var(--vn-acc-btn);color:#fff;flex:0 0 auto;box-shadow:none}
body.nv .rr-card .lvl{font:600 17px/1.2 var(--vn-font-d);color:var(--vn-ink)}
body.nv .rr-stat{background:var(--vn-panel-2);border:1px solid var(--vn-line);border-radius:9px;padding:11px 13px;box-shadow:none}
body.nv .rr-stat .v{font:600 16px/1.2 var(--vn-mono);color:var(--vn-ink)}
body.nv .live-c{padding:15px;text-align:center}
body.nv .live-c .v{font:600 22px/1.2 var(--vn-mono);color:var(--vn-ink)}
body.nv .live-c .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--vn-up);margin-right:5px;animation:lmPulse 1.8s infinite}
body.nv .trust-c{display:flex;align-items:center;gap:10px;padding:12px 14px}
body.nv .trust-c i{font-size:17px;color:var(--vn-acc-hi);width:24px;text-align:center}
/* ported Lumen components used by the other pages */
body.nv .lm-hero{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}
body.nv .lm-hero h1{font:600 22px/1.2 var(--vn-font-d);letter-spacing:-.02em}
body.nv .lm-hero .sub{color:var(--vn-ink-3);font-size:13.5px;margin-top:3px}
body.nv .lm-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}
body.nv .lm-quick .q{background:var(--vn-panel);border:1px solid var(--vn-line-2);border-radius:11px;padding:15px 16px;display:flex;align-items:center;gap:13px;min-width:0}
body.nv .lm-quick .ic{width:40px;height:40px;flex:none;border-radius:10px;display:grid;place-items:center;font-size:16px;background:var(--vn-acc-soft);color:var(--vn-acc-hi)}
body.nv .lm-quick .q.g .ic{background:var(--vn-up-soft);color:var(--vn-up)}
body.nv .lm-quick .q.b .ic{background:var(--vn-info-soft);color:var(--vn-info)}
body.nv .lm-quick .q.v .ic{background:rgba(155,108,246,.14);color:#A98BF7}
body.nv .lm-quick .k{font:600 10.5px/1.2 var(--vn-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--vn-ink-3)}
body.nv .lm-quick .v{font:600 18px/1.25 var(--vn-mono);overflow-wrap:anywhere}
body.nv .lm-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:10px;margin-bottom:20px}
body.nv .lm-actions a{display:flex;flex-direction:column;align-items:center;gap:9px;padding:14px 8px;background:var(--vn-panel);border:1px solid var(--vn-line-2);border-radius:11px;color:var(--vn-ink-2)!important;font-weight:600;font-size:12px;text-align:center}
body.nv .lm-actions a i{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;font-size:15px;background:var(--vn-acc-soft);color:var(--vn-acc-hi)}
body.nv .lm-actions a:hover{border-color:var(--vn-ink-3);color:var(--vn-ink)!important}
body.nv .lm-paygrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
body.nv .lm-pay{display:flex;align-items:center;gap:11px;padding:13px;text-align:left;background:var(--vn-panel-2);border:1px solid var(--vn-line-2);border-radius:10px;
  cursor:pointer;font:600 13px/1.3 var(--vn-font);color:var(--vn-ink);box-shadow:none;transition:border-color .15s ease,background-color .15s ease}
body.nv .lm-pay img{width:auto;height:26px;max-width:70px;object-fit:contain;flex:none}
body.nv .lm-pay .fi{width:26px;height:26px;flex:none;display:grid;place-items:center;border-radius:7px;background:var(--vn-acc-soft);color:var(--vn-acc-hi);font-size:13px}
body.nv .lm-pay:hover{border-color:var(--vn-ink-3)}
body.nv .lm-pay.active{border-color:var(--vn-acc-line);background:var(--vn-acc-soft);box-shadow:inset 0 0 0 1px var(--vn-acc-line)}
body.nv .lm-pay .ck{margin-left:auto;width:18px;height:18px;flex:none;border-radius:50%;border:1.5px solid var(--vn-line-2);display:grid;place-items:center;font-size:9px;color:#fff}
body.nv .lm-pay.active .ck{background:var(--nv-accent,#E5484D);border-color:var(--nv-accent,#E5484D)}
body.nv .lm-chat{display:flex;flex-direction:column;gap:12px;max-height:56vh;overflow-y:auto;padding:4px 2px}
body.nv .lm-msg{display:flex;gap:10px;max-width:82%}
body.nv .lm-msg .av{width:32px;height:32px;flex:none;border-radius:9px;display:grid;place-items:center;font-size:13px;font-weight:700}
body.nv .lm-msg.them{align-self:flex-start}
body.nv .lm-msg.them .av{background:var(--vn-acc-soft);color:var(--vn-acc-hi)}
body.nv .lm-msg.me{align-self:flex-end;flex-direction:row-reverse}
body.nv .lm-msg.me .av{background:var(--vn-panel-2);color:var(--vn-ink-2)}
body.nv .lm-msg .bub{padding:11px 14px;border-radius:12px;font-size:13.5px;line-height:1.55;overflow-wrap:anywhere}
body.nv .lm-msg.them .bub{background:var(--vn-panel-2);border:1px solid var(--vn-line);color:var(--vn-ink);border-top-left-radius:4px}
body.nv .lm-msg.me .bub{background:var(--vn-acc-btn);color:#fff;border-top-right-radius:4px;box-shadow:none;text-shadow:none}
body.nv .lm-msg .meta{font:500 10.5px/1.3 var(--vn-mono);opacity:.7;margin-bottom:4px}
body.nv .lm-tl{position:relative;padding-left:22px}
body.nv .lm-tl::before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:1px;background:var(--vn-line-2)}
body.nv .lm-tl-item{position:relative;padding:0 0 16px}
body.nv .lm-tl-item::before{content:"";position:absolute;left:-20px;top:5px;width:11px;height:11px;border-radius:50%;background:var(--vn-panel);border:2px solid var(--nv-accent,#E5484D)}
body.nv .lm-tl-item.in::before{border-color:var(--vn-up)}
body.nv .lm-tl-item.out::before{border-color:var(--vn-bad)}
body.nv .lm-code{position:relative;background:#07090C;color:#D5DBE6;border-radius:11px;padding:16px 18px;font:500 12.5px/1.75 var(--vn-mono);overflow-x:auto;border:1px solid rgba(255,255,255,.09)}
body.nv .lm-code .cp{position:absolute;top:10px;right:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:#D5DBE6;border-radius:7px;padding:5px 10px;font:600 11.5px/1 var(--vn-font);cursor:pointer}
body.nv .lm-code .k{color:#8FD6FF} body.nv .lm-code .s{color:#5BE39A}
body.nv .lm-profile{display:flex;align-items:center;gap:16px;padding:20px;border-radius:12px;margin-bottom:18px;position:relative;overflow:hidden;color:var(--vn-ink);
  background:radial-gradient(120% 160% at 0% 0%,color-mix(in srgb,var(--nv-accent,#E5484D) 22%,transparent),transparent 60%),var(--vn-panel);border:1px solid var(--vn-line-2);box-shadow:none}
body.nv .lm-profile::after{display:none}
body.nv .lm-profile .av{width:56px;height:56px;flex:none;border-radius:12px;background:var(--vn-acc-btn);border:0;color:#fff;display:grid;place-items:center;font:700 22px/1 var(--vn-font-d)}
body.nv .lm-profile .nm{font:600 19px/1.2 var(--vn-font-d)}
body.nv .lm-profile .em{font-size:13px;color:var(--vn-ink-3)}
body.nv .lm-theme-seg{display:flex;gap:4px;background:var(--vn-well);border:1px solid var(--vn-line-2);border-radius:10px;padding:4px;box-shadow:none}
body.nv .lm-theme-seg button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;border:0;border-radius:7px;background:none;color:var(--vn-ink-3);font:600 13px/1 var(--vn-font);cursor:pointer}
body.nv .lm-theme-seg button.on{background:var(--vn-panel-3);color:var(--vn-ink);box-shadow:0 0 0 1px var(--vn-line-2)}
body.nv .lm-skel{position:relative;overflow:hidden;background:var(--vn-panel-2);border-radius:9px;min-height:14px}
body.nv .lm-skel::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);animation:lmShimmer 1.4s infinite}
html:not(.nv-dark) body.nv .lm-skel::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent)}
body.nv .lm-empty{text-align:center;padding:44px 18px;color:var(--vn-ink-3)}
body.nv .lm-empty .ic{width:60px;height:60px;border-radius:14px;display:inline-grid;place-items:center;font-size:22px;background:var(--vn-panel-2);border:1px solid var(--vn-line-2);color:var(--vn-ink-3);margin-bottom:14px;box-shadow:none}
body.nv .lm-empty .t{font:600 15.5px/1.3 var(--vn-font-d);color:var(--vn-ink);margin-bottom:4px}
/* page-namespace harmonization: card-grade containers + chips + drawers */
body.nv .ord-card,body.nv .fr-card,body.nv .fr-sec,body.nv .qpo-card,body.nv .qdf-card,body.nv .drp-card,body.nv .og-card,body.nv .og-panel,body.nv .qpo-act-card{
  background:var(--vn-panel);border:1px solid var(--vn-line-2);border-radius:12px;box-shadow:none}
body.nv .ord-card.open{border-color:var(--vn-acc-line)}
body.nv .drp-hero,body.nv .qpo-hi,body.nv .qdf-sum{background:var(--vn-panel);border:1px solid var(--vn-line-2);box-shadow:var(--vn-sh)}
body.nv .og-hero{border:1px solid var(--vn-line-2);box-shadow:none}
body.nv .tx-chip,body.nv .qpo-chip,body.nv .qdf-chip,body.nv .fr-tag{background:var(--vn-panel-2);border:1px solid var(--vn-line-2);box-shadow:none;color:var(--vn-ink-2)}
body.nv .tx-chip.active,body.nv .qpo-chip.active,body.nv .qdf-chip.active,
body.nv .ord-filters .active,body.nv .ord-filters .on,body.nv .qpo-mode .on,body.nv .qpo-presets .on,body.nv .qpo-chips .on,
body.nv .qdf-chips .on,body.nv .fr-tools .on,body.nv .fr-filter .on,body.nv .dr-cal .on{background:var(--vn-acc-btn);color:#fff;border-color:var(--vn-acc-edge);text-shadow:none;box-shadow:none}
body.nv .txd{background:var(--vn-panel);border-left:1px solid var(--vn-line-2);box-shadow:-20px 0 50px rgba(0,0,0,.4)}
body.nv .txd-h{border-bottom:1px solid var(--vn-line)}
body.nv .nv-keybtn{background:var(--vn-panel-2);border:1px solid var(--vn-line-2);box-shadow:none;border-radius:8px;color:var(--vn-ink)}
body.nv .ord-search input{height:46px}
body.nv .ord-empty,body.nv .qpo-empty,body.nv .qdf-empty,body.nv .fr-empty,body.nv .drp-empty{color:var(--vn-ink-3)}
body.nv input.og-toggle{width:42px;height:24px;margin:0;padding:0;-webkit-appearance:none;appearance:none;background:var(--vn-line-2);border:0;border-radius:99px;position:relative;cursor:pointer;flex:0 0 42px;transition:background .15s ease}
body.nv input.og-toggle:checked{background:var(--nv-accent,#E5484D)}
body.nv input.og-toggle::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.3);transition:transform .15s var(--vn-ease)}
body.nv input.og-toggle:checked::after{transform:translateX(18px)}
/* status pills that pages print as .ost / .ord-* use nova tokens; give them the mono voice */
body.nv .ost,body.nv .ord-id,body.nv .ord-qc{font-family:var(--vn-mono)}
/* Promotions alert bar starts where the fixed sidebar ends */
@media(min-width:861px){ body.nv .pmx-bar{width:auto;margin-left:var(--nv-sb)} }
/* support widget bubble text: clip cleanly */
body.nv #swBubble{text-overflow:ellipsis}
/* daily-reward FAB in console material (widget CSS stays inline in neworder.twig) */
body.nv #drFab{border-radius:12px;border-color:var(--vn-line-2);background:var(--vn-panel);box-shadow:var(--vn-sh-lg)}
body.nv #drFab .drf-ic{border-radius:9px;border-color:var(--vn-acc-edge);background:var(--vn-acc-btn);color:#fff;font-size:18px}
body.nv #drFab .drf-tx b{font-family:var(--vn-mono)}
body.nv #drFab .drf-dot{border-radius:50%;width:14px;height:14px;top:-5px;right:-5px;transform:none;border:2px solid var(--vn-panel)}

/* floaters: admin WhatsApp/Telegram buttons (.ppint-wrap, footerCode), daily reward, support.
   Desktop: integrations start where the fixed sidebar ends; the reward chip sits beside the
   support avatar instead of under its speech bubble. */
/* desktop floater DOCK: the rail's foot hosts the WhatsApp/Telegram buttons and the
   daily-reward chip, so no floater ever sits on the order form or the receipt */
@media(min-width:861px){
  body.nv:has(.ppint-wrap) .nv-side-foot,body.nv:has(#drFab.on) .nv-side-foot{min-height:74px}
  body.nv:has(.ppint-wrap) .nv-side-foot > *,body.nv:has(#drFab.on) .nv-side-foot > *{visibility:hidden}
  body.nv .ppint-wrap{left:14px;bottom:13px;gap:8px;flex-direction:row}
  body.nv .ppint-btn{width:48px;height:48px}
  body.nv .ppint-btn svg{width:26px;height:26px}
  body.nv #drFab{position:fixed;left:72px;right:auto;bottom:13px;height:48px;padding:6px 12px 6px 6px;gap:9px;max-width:164px}
  body.nv:not(:has(.ppint-wrap)) #drFab{left:14px}
  body.nv #drFab .drf-ic{width:36px;height:36px;font-size:16px}
  body.nv #drFab .drf-tx b{font-size:15px}
  body.nv #drFab .drf-tx small{font-size:9px;letter-spacing:.08em}
  body.lm-collapsed .ppint-wrap{left:12px;flex-direction:column}
  body.lm-collapsed #drFab{left:12px;bottom:128px;padding:5px}
  body.lm-collapsed:not(:has(.ppint-wrap)) #drFab{bottom:13px}
  body.lm-collapsed #drFab .drf-tx{display:none}
}
/* service picker: never squeeze the rate - the name wraps to two lines instead */
body.nv #svcDDBtn .cur{white-space:normal;align-items:center}
body.nv #svcDDBtn .cur .nm{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35}
body.nv #svcDDBtn .cur .pr{flex:none;white-space:nowrap}

/* ---------- 11. MOBILE CHROME (drawer, bottom nav, floaters) ----------- */
body.nv .lm-drawer-x{display:none}
body.nv .lm-fab{display:none}
@media(max-width:1180px){
  body.nv .vx-cmd-stats.dash-stats{grid-template-columns:repeat(4,minmax(110px,auto))}
  body.nv .vx-cmd .dash-stat{padding:14px 16px}
}
@media(max-width:1100px){
  body.nv #lm-order.nv-row.c2{grid-template-columns:minmax(0,1fr)}
  body.nv .lm-summary{position:static}
  body.nv .vn-deck{grid-template-columns:minmax(0,1fr)}
  body.nv .vx-cmd-stats.dash-stats{grid-template-columns:repeat(4,minmax(0,1fr));border-left:0;border-top:1px solid var(--vn-line)}
  body.nv .vn-cmdk{flex-basis:320px}
  body.nv .vn-balchip .k{display:none}
}
@media(max-width:860px){
  body.nv::after{left:0}
  /* the collapse state is a DESKTOP state: never let it leak onto phones */
  body.lm-collapsed .nv-shell{margin-left:0}
  body.lm-collapsed .nv-sidebar{width:min(86vw,320px)}
  body.nv .lm-collapse-btn{display:none}
  body.nv .nv-sidebar{width:min(86vw,320px);transition:transform .26s var(--vn-ease)}
  body.nv .nv-shell{margin-left:0}
  body.nv.nv-drawer{overflow:hidden}
  body.nv .nv-scrim{background:rgba(4,6,10,.58);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
  body.nv.nv-drawer .nv-scrim{z-index:59}
  body.nv.nv-drawer #drFab,body.nv.nv-drawer #swBtn,body.nv.nv-drawer #swPanel{visibility:hidden}
  body.nv .lm-drawer-x{display:grid;place-items:center;position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:9px;
    border:1px solid var(--vn-line-2);background:var(--vn-panel-2);color:var(--vn-ink-2);font-size:14px;cursor:pointer;z-index:2}
  body.nv .nv-brand{position:relative;padding-right:60px}
  body.nv .nv-sidebar .nv-brand img{max-width:180px;max-height:34px}
  body.nv .nv-nav a{min-height:44px}
  body.nv .vn-cmdk,body.nv .vn-balchip{display:none}
  body.nv .nv-topbar{padding:0 14px}
  body.nv .nv-page-title{flex:1 1 auto}
  body.nv main.nv-content{padding:14px 14px calc(100px + env(safe-area-inset-bottom,0px))}
  body.nv .vn-kbds,body.nv .vn-kbd,body.nv .vn-kbd-in,body.nv .vn-kbd-hint{display:none!important}
}
/* bottom nav: phones only; tablets keep the drawer */
@media(min-width:701px) and (max-width:860px){ body.nv .nv-bottomnav,body.nv .lm-fab{display:none!important} }
@media(max-width:700px){
  body.nv .nv-bottomnav{height:calc(62px + env(safe-area-inset-bottom,0px));padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));
    background:color-mix(in srgb,var(--vn-panel) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--vn-line-2)}
  body.nv .nv-bottomnav a{position:relative;justify-content:center;gap:4px;min-height:48px;border-radius:9px;color:var(--vn-ink-3)!important;font:600 10.5px/1 var(--vn-font)}
  body.nv .nv-bottomnav a i{font-size:17px}
  body.nv .nv-bottomnav a.active{color:var(--vn-ink)!important}
  body.nv .nv-bottomnav a.active i{color:var(--vn-acc-hi)}
  body.nv .nv-bottomnav a.active::before{content:"";position:absolute;top:-7px;left:30%;right:30%;height:2px;border-radius:0 0 2px 2px;background:var(--nv-accent,#E5484D)}
  body.nv .nv-bottomnav .lm-fab-slot{flex:0 0 68px}
  body.nv .lm-fab{display:grid;place-items:center;position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:58;
    width:54px;height:54px;border-radius:15px;background:var(--vn-acc-btn);border:1px solid var(--vn-acc-edge);color:#fff!important;font-size:19px;
    box-shadow:0 0 0 5px var(--vn-bg),0 14px 30px -10px color-mix(in srgb,var(--nv-accent,#E5484D) 85%,transparent)}
  body.nv .lm-fab:active{transform:translateX(-50%) scale(.94)}
  body.nv #drFab{position:fixed;left:10px;bottom:calc(128px + env(safe-area-inset-bottom,0px));padding:5px;gap:0}
  body.nv #drFab .drf-tx{display:none}
  body.nv #drFab .drf-ic{width:34px;height:34px;font-size:16px}
  body.nv #swBtn{right:6px!important;bottom:calc(72px + env(safe-area-inset-bottom,0px))!important;width:48px!important;height:48px!important}
  body.nv .ppint-wrap{left:10px;right:auto;bottom:calc(76px + env(safe-area-inset-bottom,0px));gap:8px}
  body.nv .ppint-btn{width:44px;height:44px}
  body.nv .ppint-btn svg{width:24px;height:24px}
  body.nv.nv-drawer .ppint-wrap{visibility:hidden}
  body.nv #swBtn .sw-avatar{width:44px;height:44px}
}
@media(max-width:640px){
  body.nv{--nv-tb:56px}
  body.nv .nv-topbar{height:56px;gap:8px}
  body.nv .nv-page-title{font-size:15px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body.nv .nv-top-right{gap:6px}
  body.nv .nv-icon-btn,body.nv .nv-dd > button,body.nv .nv-pill{min-width:38px;height:38px;padding:0 8px;font-size:12px}
  body.nv .vn-acc-btn{width:38px}
  body.nv main.nv-content{padding:12px 12px calc(100px + env(safe-area-inset-bottom,0px));gap:12px}
  body.nv .vx-cmd-greet{padding:14px 14px 12px}
  body.nv .vx-cmd-greet .sub{display:none}
  body.nv .vx-cmd-stats.dash-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.nv .vx-cmd .dash-stat{padding:12px 14px}
  body.nv .vx-cmd .dash-stat:nth-child(3){border-left:0}
  body.nv .vx-cmd .dash-stat:nth-child(n+3){border-top:1px solid var(--vn-line)}
  body.nv .vx-cmd .dash-stat .v{white-space:normal;overflow-wrap:anywhere;font-size:15px}
  body.nv .vn-ticket-b{padding:14px 14px 16px}
  body.nv .vn-ticket-top{margin-bottom:12px}
  body.nv .vn-ticket-top .dw-h h3{font-size:17px}
  body.nv .vn-ticket-top .nv-tabs{width:100%}
  body.nv .vn-ticket-top .nv-tab{flex:1;height:40px}
  /* steps become a 4-segment progress rail that always fits */
  body.nv .lm-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  body.nv .lm-steps > .lm-step:not([id]){display:none}
  body.nv .lm-step{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding-bottom:7px;font-size:9.5px;letter-spacing:.06em;
    border-bottom:2px solid var(--vn-line-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.nv .lm-step.on{border-bottom-color:var(--nv-accent,#E5484D)}
  body.nv .lm-platforms{gap:6px}
  body.nv .lm-plat{height:40px;padding:0 11px}
  body.nv .lm-search-wrap input.nv-input{height:48px}
  body.nv .nv-card{padding:14px}
  body.nv .vn-ticket{padding:0}
  body.nv .lm-sum-body{padding:2px 14px}
  body.nv .vn-qrow .svc-card{flex-basis:230px}
  body.nv #dripfeed-options{grid-template-columns:1fr}
  body.nv .dw-2{grid-template-columns:1fr}
  body.nv .lm-quick{grid-template-columns:repeat(2,minmax(0,1fr))}
  /* services toolbar (fallback template): selects must not set the rail width */
  body.nv .svc-toolbar .ctl{width:100%;min-width:0}
  body.nv .svc-toolbar .svc-cur{flex:1 1 100%;max-width:100%;min-width:0;overflow:hidden}
  body.nv .svc-toolbar .svc-cur select{width:100%;max-width:100%;min-width:0}
}
@media(max-width:400px){
  body.nv .nv-top-right .nv-pill > i{display:none}
  body.nv .nv-top-right .nv-pill{padding:0 9px}
  body.nv .nv-topbar{gap:6px}
}
@media(max-width:380px){
  body.nv .nv-top-right #nvLang{display:none}
  body.nv .lm-step{font-size:9px;letter-spacing:.02em}
}

/* ---------- 12. REDUCED MOTION ---------------------------------------- */
@media(prefers-reduced-motion:reduce){
  body.nv .nv-nav a,body.nv .nv-nav a > i:first-child,body.nv .lm-collapse-btn,body.nv .nv-sub-ar,
  body.nv .vn-cmdk input,body.nv .nv-icon-btn,body.nv .nv-dd > button,body.nv .nv-pill,body.nv .vn-balchip,
  body.nv .nv-tab,body.nv .lm-plat,body.nv .nv-catdd-btn,body.nv .nv-catdd-btn .ar,body.nv .nv-btn,body.nv .svc-card,
  body.nv .lm-pay,body.nv .cat-card,body.nv .nv-sidebar,body.nv .lm-xp-bar > span,body.nv .lm-theme-seg button,
  body.nv input.og-toggle,body.nv input.og-toggle::after,.nv #neworder_fields #dripfeedcheckbox,.nv #neworder_fields #dripfeedcheckbox::after,
  body.nv .vx-cmd .dash-stat,body.nv .vn-sum-add{transition:none}
  body.nv .vn-cmd-menu.show,body.nv .nv-dd.open .nv-dd-menu,.lmxpm-box,body.nv .lm-xp-float,body.nv .lm-xp.levelup,
  body.nv .lm-skel::after,body.nv .live-c .dot,body.nv .nv-badge.b-run::before,body.nv .nv-badge.b-info::before{animation:none}
  body.nv .lm-plat:active,body.nv .nv-btn:active,body.nv .lm-fab:active{transform:none}
  body.nv .lm-fab:active{transform:translateX(-50%)}
}

/* =====================================================================
   14. HARDWARE MATERIAL ("Skeuo pro console", round 2)
   Pure material layer over the round-1 layout and hooks: anodized
   graphite (dark) / brushed aluminium (light) panels with bevels and a
   few screws, recessed glass screens for every readout, recessed wells
   for inputs, glossy enamel keys that sink when pressed, segmented
   switches, physical toggles, lensed LEDs. CSS gradients + ONE inline
   SVG noise tile. Contrast measured at the MIDDLE stop of each gradient.
   ===================================================================== */
body.nv{
  --hw-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='128' height='128' filter='url(%23n)'/%3E%3C/svg%3E");
  --hw-screen:linear-gradient(180deg,rgba(255,255,255,.07) 0%,rgba(255,255,255,0) 42%),repeating-linear-gradient(0deg,rgba(255,255,255,.028) 0 1px,transparent 1px 3px),linear-gradient(180deg,#05070A 0%,#0B0E13 100%);
  --hw-scr-tx:#E6EDF5; --hw-scr-dim:#8A95A6; --hw-scr-up:#5BE39A; --hw-scr-acc:color-mix(in srgb,var(--nv-accent,#E5484D) 70%,#fff);
  --hw-enamel:linear-gradient(180deg,rgba(255,255,255,.26) 0%,rgba(255,255,255,.06) 36%,rgba(255,255,255,0) 40%),
    linear-gradient(180deg,color-mix(in srgb,var(--nv-accent,#E5484D) 96%,#fff) 0%,color-mix(in srgb,var(--nv-accent,#E5484D) 88%,#000) 50%,color-mix(in srgb,var(--nv-accent,#E5484D) 74%,#000) 100%);
  --hw-enamel-edge:color-mix(in srgb,var(--nv-accent,#E5484D) 55%,#000);
  --hw-enamel-bevel:inset 0 1px 0 rgba(255,255,255,.38),inset 0 -2px 0 rgba(0,0,0,.25),0 1px 0 rgba(0,0,0,.35),0 10px 22px -10px color-mix(in srgb,var(--nv-accent,#E5484D) 75%,transparent);
  --hw-enamel-press:inset 0 3px 7px rgba(0,0,0,.45),inset 0 -1px 0 rgba(255,255,255,.14),0 1px 0 rgba(255,255,255,.25);
  --hw-rail:linear-gradient(180deg,#2B3038 0%,#1C2026 100%);
}
/* brushed aluminium (light) */
body.nv{
  --vn-ink-3:#525B6A;
  --vn-acc-hi:color-mix(in srgb,var(--nv-accent,#E5484D) 80%,#000);
  --hw-page:linear-gradient(180deg,#E6E9ED 0%,#D9DDE2 100%);
  --hw-brush:repeating-linear-gradient(0deg,rgba(255,255,255,.34) 0 1px,rgba(0,0,0,.022) 1px 2px,transparent 2px 3px);
  --hw-metal-base:linear-gradient(180deg,#F6F7F9 0%,#EBEDF0 50%,#DFE2E6 100%);
  --hw-edge:rgba(38,46,58,.30);
  --hw-bevel:inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(0,0,0,.10),0 1px 1px rgba(20,28,40,.12),0 12px 26px -16px rgba(20,28,40,.40);
  --hw-key:linear-gradient(180deg,#FCFCFD 0%,#EDEFF2 55%,#E1E4E8 100%);
  --hw-key-bevel:inset 0 1px 0 #fff,inset 0 -1px 0 rgba(0,0,0,.13),0 1px 2px rgba(20,28,40,.20);
  --hw-key-press:inset 0 2px 4px rgba(20,28,40,.26),inset 0 1px 1px rgba(20,28,40,.2),0 1px 0 rgba(255,255,255,.85);
  --hw-well:linear-gradient(180deg,#E3E6EA 0%,#F3F4F6 38%);
  --hw-well-sh:inset 0 2px 3px rgba(20,28,40,.17),inset 0 1px 1px rgba(20,28,40,.12),0 1px 0 rgba(255,255,255,.9);
  --hw-screen-sh:inset 0 2px 6px rgba(0,0,0,.8),inset 0 0 0 1px rgba(0,0,0,.65),0 1px 0 rgba(255,255,255,.85);
  --hw-groove:0 1px 0 rgba(20,28,40,.10),0 2px 0 rgba(255,255,255,.75);
  --hw-screw:#9AA2AD;
}
/* anodized graphite (dark + the ink zones of light mode) */
html.nv-dark body.nv,
html:not(.nv-dark) body.nv .nv-sidebar,
html:not(.nv-dark) body.nv #drFab,
html:not(.nv-dark) body.nv .vn-ink{
  --vn-ink-3:#868F9F;
  --vn-acc-hi:color-mix(in srgb,var(--nv-accent,#E5484D) 76%,#fff);
  --hw-page:radial-gradient(120% 70% at 60% -10%,#1B1F26 0%,#0C0E12 55%,#08090C 100%);
  --hw-brush:repeating-linear-gradient(0deg,rgba(255,255,255,.016) 0 1px,rgba(0,0,0,.05) 1px 2px,transparent 2px 3px);
  --hw-metal-base:linear-gradient(180deg,#1F232A 0%,#181B21 50%,#131619 100%);
  --hw-edge:rgba(0,0,0,.72);
  --hw-bevel:inset 0 1px 0 rgba(255,255,255,.075),inset 0 -1px 0 rgba(0,0,0,.55),0 1px 0 rgba(255,255,255,.025),0 16px 32px -16px rgba(0,0,0,.95);
  --hw-key:linear-gradient(180deg,#2C3139 0%,#22262D 55%,#1C2026 100%);
  --hw-key-bevel:inset 0 1px 0 rgba(255,255,255,.10),inset 0 -1px 0 rgba(0,0,0,.5),0 1px 2px rgba(0,0,0,.65);
  --hw-key-press:inset 0 2px 5px rgba(0,0,0,.75),inset 0 1px 1px rgba(0,0,0,.6),0 1px 0 rgba(255,255,255,.05);
  --hw-well:linear-gradient(180deg,#06080B 0%,#0C0F13 40%);
  --hw-well-sh:inset 0 2px 4px rgba(0,0,0,.78),inset 0 1px 1px rgba(0,0,0,.6),0 1px 0 rgba(255,255,255,.055);
  --hw-screen-sh:inset 0 2px 7px rgba(0,0,0,.9),inset 0 0 0 1px rgba(0,0,0,.7),0 1px 0 rgba(255,255,255,.06);
  --hw-groove:0 1px 0 rgba(0,0,0,.32),0 2px 0 rgba(255,255,255,.035);
  --hw-screw:#6E7581;
}
/* composites are re-declared in every scope so var() resolves with that scope's values */
body.nv,html.nv-dark body.nv,html:not(.nv-dark) body.nv .nv-sidebar,html:not(.nv-dark) body.nv #drFab,html:not(.nv-dark) body.nv .vn-ink{
  --hw-metal:var(--hw-noise),var(--hw-brush),var(--hw-metal-base);
  --hw-screws:radial-gradient(circle at 9px calc(100% - 9px),var(--hw-screw) 0 1.3px,rgba(0,0,0,.55) 1.7px 2.9px,rgba(255,255,255,.16) 3.2px,transparent 3.8px),
    radial-gradient(circle at calc(100% - 9px) calc(100% - 9px),var(--hw-screw) 0 1.3px,rgba(0,0,0,.55) 1.7px 2.9px,rgba(255,255,255,.16) 3.2px,transparent 3.8px);
  --vx-bevel:var(--hw-bevel); --vx-inset:var(--hw-well-sh); --vx-enamel:var(--hw-enamel);
}

/* desk */
body.nv{background:var(--hw-noise),var(--hw-page);background-attachment:fixed}
body.nv::before{opacity:.45}

/* LEDs with a lens, a bezel and a glow */
.vn-led{width:8px;height:8px;color:var(--nv-accent,#E5484D);
  background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.95) 0 12%,color-mix(in srgb,currentColor 55%,#fff) 26%,currentColor 55%,color-mix(in srgb,currentColor 50%,#000) 100%);
  box-shadow:0 0 0 1.5px rgba(0,0,0,.6),0 0 0 2.5px rgba(255,255,255,.07),0 0 7px 1px color-mix(in srgb,currentColor 75%,transparent),0 0 16px 2px color-mix(in srgb,currentColor 32%,transparent)}
.vn-led.up{color:var(--vn-up);background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.95) 0 12%,color-mix(in srgb,currentColor 55%,#fff) 26%,currentColor 55%,color-mix(in srgb,currentColor 50%,#000) 100%);
  box-shadow:0 0 0 1.5px rgba(0,0,0,.6),0 0 0 2.5px rgba(255,255,255,.07),0 0 7px 1px color-mix(in srgb,currentColor 75%,transparent),0 0 16px 2px color-mix(in srgb,currentColor 32%,transparent)}

/* ---- sidebar: anodized side plate ---- */
body.nv .nv-sidebar{background:var(--hw-noise),repeating-linear-gradient(90deg,rgba(255,255,255,.012) 0 1px,rgba(0,0,0,.04) 1px 2px,transparent 2px 3px),linear-gradient(90deg,#15181D 0%,#111317 100%);
  border-right:1px solid rgba(0,0,0,.8);box-shadow:inset -1px 0 0 rgba(255,255,255,.05),4px 0 18px -8px rgba(0,0,0,.6)}
body.nv .nv-brand{background:var(--hw-noise),var(--hw-rail);border-bottom:1px solid rgba(0,0,0,.8);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 1px 0 rgba(255,255,255,.04)}
body.nv .nv-nav-group{color:#7C8595;text-shadow:0 -1px 0 rgba(0,0,0,.7)}
body.nv .nv-nav a > i:first-child{background:var(--hw-noise),var(--hw-key);box-shadow:var(--hw-key-bevel);border:1px solid var(--hw-edge);color:var(--vn-ink-2)}
@media(hover:hover){ body.nv .nv-nav a:hover{background:rgba(255,255,255,.035)} }
body.nv .nv-nav a.active{background:var(--hw-well);box-shadow:var(--hw-well-sh)}
body.nv .nv-nav a.active > i:first-child{background:var(--hw-enamel);border-color:var(--hw-enamel-edge);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 0 12px -2px color-mix(in srgb,var(--nv-accent,#E5484D) 80%,transparent)}
body.nv .nv-nav a.active::before{width:3px;border-radius:0 3px 3px 0;box-shadow:0 0 8px color-mix(in srgb,var(--nv-accent,#E5484D) 85%,transparent)}
body.nv .nv-nav a .nv-nbadge{background:var(--hw-enamel);box-shadow:inset 0 1px 0 rgba(255,255,255,.3);border:1px solid var(--hw-enamel-edge)}
body.nv .lm-collapse-btn{background:var(--hw-noise),var(--hw-key);box-shadow:var(--hw-key-bevel);border-color:var(--hw-edge)}
body.nv .nv-side-foot{background:var(--hw-noise),var(--hw-rail);border-top:1px solid rgba(0,0,0,.8);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
/* wallet module: a small device with a glass readout */
body.nv .lm-side-balance{background:var(--hw-screws),var(--hw-metal);border:1px solid var(--hw-edge);box-shadow:var(--hw-bevel);padding-bottom:14px}
body.nv .lm-side-balance::after{display:none}
body.nv .lm-side-balance .v{grid-column:1;padding:6px 9px;border-radius:6px;background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55);
  color:var(--hw-scr-up);font-size:17px;text-shadow:0 0 10px rgba(91,227,154,.3)}
body.nv .lm-side-balance > a{background:var(--hw-enamel);border:1px solid var(--hw-enamel-edge);box-shadow:var(--hw-enamel-bevel);text-shadow:0 -1px 0 rgba(0,0,0,.35)}
body.nv .lm-side-balance > a:active{box-shadow:var(--hw-enamel-press);transform:translateY(1px)}
body.nv .lm-side-balance .lm-xp{border-top:1px solid rgba(0,0,0,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
body.nv .lm-xp-bar{height:6px;background:var(--hw-well);box-shadow:var(--hw-well-sh);border-radius:3px}
body.nv .lm-xp-bar > span{box-shadow:0 0 8px color-mix(in srgb,var(--nv-accent,#E5484D) 70%,transparent)}
body.nv .lm-xp-badge{background:var(--hw-screen);box-shadow:var(--hw-screen-sh);color:var(--hw-scr-acc)}

/* ---- command bar: machined top plate ---- */
body.nv .nv-topbar{background:var(--hw-noise),var(--hw-brush),linear-gradient(180deg,#1C1F25 0%,#121519 100%);border-bottom:1px solid rgba(0,0,0,.8);
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.04),0 10px 20px -14px rgba(0,0,0,.8)}
html:not(.nv-dark) body.nv .nv-topbar{background:var(--hw-noise),var(--hw-brush),linear-gradient(180deg,#F4F5F7 0%,#E1E4E8 100%);border-bottom:1px solid rgba(38,46,58,.28);
  box-shadow:inset 0 1px 0 #fff,0 10px 20px -14px rgba(20,28,40,.4)}
body.nv .nv-page-title{text-shadow:0 -1px 0 rgba(0,0,0,.4)}
html:not(.nv-dark) body.nv .nv-page-title{text-shadow:0 1px 0 rgba(255,255,255,.8)}
body.nv .vn-cmdk input{background:var(--hw-well);box-shadow:var(--hw-well-sh);border:1px solid var(--hw-edge)}
body.nv .vn-cmdk input:focus{box-shadow:var(--hw-well-sh),0 0 0 3px var(--vn-acc-soft)}
body.nv .nv-icon-btn,body.nv .nv-dd > button,body.nv .nv-pill,body.nv .nv-burger,body.nv .vn-balchip{background:var(--hw-noise),var(--hw-key);border:1px solid var(--hw-edge);box-shadow:var(--hw-key-bevel)}
body.nv .nv-icon-btn:active,body.nv .nv-dd > button:active,body.nv .nv-dd.open > button,body.nv .nv-burger:active{box-shadow:var(--hw-key-press)}
body.nv .nv-topbar .nv-cur-hl{background:var(--hw-noise),var(--hw-key)!important;border:1px solid var(--hw-edge)!important;box-shadow:var(--hw-key-bevel)!important;color:var(--vn-acc-hi)!important}
body.nv .vn-balchip{padding:0 4px 0 8px;gap:8px}
body.nv .vn-balchip .v{padding:4px 8px;border-radius:5px;background:var(--hw-screen);box-shadow:var(--hw-screen-sh);color:var(--hw-scr-up);text-shadow:0 0 8px rgba(91,227,154,.3)}
body.nv .vn-balchip .p,body.nv .vn-av{background:var(--hw-enamel);box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
body.nv .nv-dd-menu,body.nv .vn-cmd-menu,body.nv .nv-srch-menu,body.nv .nv-catdd-menu{background:var(--hw-metal);border:1px solid var(--hw-edge);box-shadow:var(--hw-bevel),var(--vn-sh-lg)}

/* ---- panels ---- */
body.nv .nv-card,body.nv .vn-deck,body.nv .lm-sum-card,body.nv .ord-card,body.nv .fr-card,body.nv .fr-sec,body.nv .qpo-card,
body.nv .qdf-card,body.nv .drp-card,body.nv .og-card,body.nv .og-panel,body.nv .qpo-act-card,body.nv .tx-card,body.nv .rr-card,body.nv .ao-card,body.nv .lm-profile{
  background:var(--hw-screws),var(--hw-metal);border:1px solid var(--hw-edge);box-shadow:var(--hw-bevel)}
body.nv .vn-rail,body.nv .lm-sum-head,html:not(.nv-dark) body.nv .vn-rail,html:not(.nv-dark) body.nv .lm-sum-head{
  background:var(--hw-noise),var(--hw-rail);border-bottom:1px solid rgba(0,0,0,.78);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 1px 0 rgba(255,255,255,.05)}
body.nv .vn-rail .vn-rail-t,body.nv .lm-sum-head .vn-rail-t{color:#D9DFE8!important;text-shadow:0 -1px 0 rgba(0,0,0,.7)}
body.nv .vn-rail .vn-rail-m,body.nv .lm-sum-head .vn-rail-m{color:#9AA4B3}
body.nv .vn-rail kbd{background:linear-gradient(180deg,#343a43,#252a31);border-color:rgba(0,0,0,.7);color:#D5DBE6;box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
body.nv .nv-table th{background:var(--hw-noise),var(--hw-rail);color:#B9C1CE;border-bottom:1px solid rgba(0,0,0,.78)}
body.nv .nv-table td{border-bottom:1px solid transparent;box-shadow:var(--hw-groove)}
@media(min-width:861px){ body.nv .nv-table-wrap{background:var(--hw-metal);border:1px solid var(--hw-edge);box-shadow:var(--hw-bevel)} }
@media(max-width:860px){ body.nv .nv-table tr{background:var(--hw-screws),var(--hw-metal);border:1px solid var(--hw-edge);box-shadow:var(--hw-bevel)} body.nv .nv-table td{box-shadow:none;border-bottom:1px solid rgba(0,0,0,.18)} }
/* deck: greeting plate + four glass readouts */
body.nv .vx-cmd-greet{background:transparent}
body.nv .vx-cmd-stats.dash-stats{gap:8px;padding:10px;border-left:1px solid rgba(0,0,0,.35);box-shadow:inset 1px 0 0 rgba(255,255,255,.04)}
body.nv .vx-cmd .dash-stat,body.nv .vx-cmd .dash-stat + .dash-stat{background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55);border-radius:8px;padding:11px 14px}
body.nv .vx-cmd a.dash-stat:hover{background:var(--hw-screen);filter:brightness(1.18)}
body.nv .vx-cmd .dash-stat .k,body.nv .vx-cmd .dash-stat .ic{color:var(--hw-scr-dim)}
body.nv .vx-cmd .dash-stat .v{color:var(--hw-scr-tx);text-shadow:0 0 12px rgba(230,237,245,.16)}
body.nv .vx-cmd .dash-stat:first-child .v{color:var(--hw-scr-up);text-shadow:0 0 12px rgba(91,227,154,.3)}
body.nv .vn-deck-tag .vn-num{padding:2px 6px;border-radius:4px;background:var(--hw-screen);box-shadow:var(--hw-screen-sh);color:var(--hw-scr-up)}

/* ---- keys, switches, wells ---- */
body.nv .nv-tabs,body.nv .lm-theme-seg{background:var(--hw-well);box-shadow:var(--hw-well-sh);border:1px solid var(--hw-edge)}
body.nv .nv-tab{position:relative;color:var(--vn-ink-2)}
body.nv .nv-tab.active,body.nv .nv-tab[aria-selected="true"],html:not(.nv-dark) body.nv .nv-tab.active,body.nv .lm-theme-seg button.on{
  background:var(--hw-noise),var(--hw-key);box-shadow:var(--hw-key-bevel);border:1px solid var(--hw-edge);color:var(--vn-ink)}
body.nv .nv-tab.active::after{content:"";position:absolute;left:50%;bottom:4px;width:18px;height:2px;margin-left:-9px;border-radius:2px;background:var(--nv-accent,#E5484D);box-shadow:0 0 6px color-mix(in srgb,var(--nv-accent,#E5484D) 80%,transparent)}
body.nv .lm-step .n{background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55);color:var(--hw-scr-dim)}
body.nv .lm-step.on .n{background:var(--hw-screen);color:var(--hw-scr-acc);text-shadow:0 0 8px color-mix(in srgb,var(--nv-accent,#E5484D) 70%,transparent);border-color:rgba(0,0,0,.55)}
body.nv .lm-step .sep{height:2px;background:var(--hw-well);box-shadow:var(--hw-well-sh)}
body.nv .lm-plat{background:var(--hw-noise),var(--hw-key);box-shadow:var(--hw-key-bevel);border:1px solid var(--hw-edge);color:var(--vn-ink)}
@media(hover:hover){ body.nv .lm-plat:hover{border-color:var(--hw-edge);filter:brightness(1.06)} }
body.nv .lm-plat.active{background:var(--hw-well);box-shadow:var(--hw-well-sh),inset 0 -2px 0 var(--nv-accent,#E5484D);border-color:var(--hw-edge)}
body.nv .lm-plat:active{box-shadow:var(--hw-key-press)}
body.nv .nv-input,body.nv .nv-select,body.nv .nv-textarea,body.nv textarea.nv-input,body.nv .form-control,body.nv .nv-catdd-btn,
body.nv #neworder_fields input,body.nv #neworder_fields select,body.nv #neworder_fields textarea,
body.nv #addfunds_fields input,body.nv #addfunds_fields select,body.nv #addfunds_fields textarea{background:var(--hw-well);box-shadow:var(--hw-well-sh);border:1px solid var(--hw-edge)}
body.nv select.nv-select:not([multiple]):not([size]),body.nv select.form-control:not([multiple]){
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23868F9F' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E") no-repeat right 13px center,var(--hw-well)}
body.nv .nv-input:focus,body.nv .nv-select:focus,body.nv .nv-textarea:focus,body.nv .form-control:focus,body.nv .nv-catdd.open .nv-catdd-btn,
body.nv #neworder_fields input:focus,body.nv #neworder_fields textarea:focus,body.nv #addfunds_fields input:focus,body.nv #addfunds_fields select:focus{
  background:var(--hw-well);box-shadow:var(--hw-well-sh),0 0 0 3px var(--vn-acc-soft);border-color:var(--vn-acc-line)}
body.nv .panel-body.border-solid,body.nv #service_description{background:var(--hw-well);box-shadow:var(--hw-well-sh);border:1px solid var(--hw-edge)}
body.nv #neworder_fields .help-block.min-max,body.nv .min-max{background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55);color:var(--hw-scr-tx)}
body.nv #lmMini{background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.6)}
body.nv #lmMini .l{color:var(--hw-scr-dim)}
body.nv #lmMini b,html.nv-dark body.nv #lmMini .sp b{color:var(--hw-scr-up)}
body.nv #lmMini .ch b{color:var(--hw-scr-tx)}
body.nv #lmMini .mi + .mi{border-left:1px solid rgba(255,255,255,.07)}
/* physical toggles (drip-feed + organic growth) */
body.nv#nvbody #neworder_fields #dripfeedcheckbox,.nv #neworder_fields #dripfeedcheckbox,body.nv input.og-toggle{
  background:var(--hw-well)!important;box-shadow:var(--hw-well-sh)!important;border:1px solid var(--hw-edge)!important}
.nv #neworder_fields #dripfeedcheckbox:checked,body.nv input.og-toggle:checked{
  background:linear-gradient(180deg,color-mix(in srgb,var(--nv-accent,#E5484D) 70%,#000),color-mix(in srgb,var(--nv-accent,#E5484D) 90%,#000))!important;
  box-shadow:inset 0 2px 4px rgba(0,0,0,.45),0 0 10px -2px color-mix(in srgb,var(--nv-accent,#E5484D) 80%,transparent)!important}
.nv #neworder_fields #dripfeedcheckbox::after,body.nv input.og-toggle::after{top:2px;left:2px;background:linear-gradient(180deg,#FDFDFE 0%,#E3E6EA 55%,#CDD2D8 100%);
  box-shadow:inset 0 1px 0 #fff,0 1px 3px rgba(0,0,0,.5),0 0 0 1px rgba(0,0,0,.25)}
body.nv #dripfeed{background:var(--hw-metal);border:1px solid var(--hw-edge);box-shadow:var(--hw-bevel)}
body.nv #dripfeed-options{background:transparent;border-top:1px solid rgba(0,0,0,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
/* enamel buttons: label in the dark middle band, gloss above it, press sinks */
body.nv .nv-btn,body.nv .btn.btn-primary,body.nv .btn-big-primary,body.nv button.btn-primary,body.nv a.btn-primary,body.nv .qpo-btn.primary,body.nv button.pri,body.nv .sn-btn.pri{
  background:var(--hw-enamel);border:1px solid var(--hw-enamel-edge);box-shadow:var(--hw-enamel-bevel);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.35)}
body.nv .nv-btn:active,body.nv .btn.btn-primary:active,body.nv .qpo-btn.primary:active,body.nv button.pri:active{box-shadow:var(--hw-enamel-press);transform:translateY(1px)}
body.nv .nv-btn.ghost,body.nv .nv-btn.soft,body.nv .vn-sum-add{background:var(--hw-noise),var(--hw-key);border:1px solid var(--hw-edge);box-shadow:var(--hw-key-bevel);text-shadow:none}
body.nv .nv-btn.ghost:active,body.nv .nv-btn.soft:active,body.nv .vn-sum-add:active{box-shadow:var(--hw-key-press)}
body.nv .nv-btn.soft{color:var(--vn-acc-hi)}
body.nv .vn-place .vn-kbd-in{background:rgba(0,0,0,.22);border-color:rgba(255,255,255,.25);box-shadow:inset 0 1px 2px rgba(0,0,0,.3)}

/* ---- receipt: the order readout is a glass display ---- */
body.nv .lm-sum-body{margin:12px 12px 4px;padding:2px 14px;border-radius:9px;background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.6)}
body.nv .lm-sum-body.nv-os .row{color:var(--hw-scr-dim)}
body.nv .lm-sum-body.nv-os .row + .row{border-top:1px solid rgba(255,255,255,.07)}
body.nv .lm-sum-body.nv-os .row b{color:var(--hw-scr-tx)}
body.nv .lm-sum-body.nv-os .row > span i{color:var(--hw-scr-dim)}
body.nv .lm-sum-body.nv-os .vn-os-svc > span{color:var(--hw-scr-dim)}
body.nv .lm-sum-body.nv-os .vn-os-speed b,body.nv .lm-sum-body.nv-os .vn-os-speed > span i{color:var(--hw-scr-up)}
body.nv .lm-sum-body.nv-os .row.total{border-top:1px dashed rgba(255,255,255,.14)!important}
body.nv .lm-sum-body.nv-os .row.total > span{color:var(--hw-scr-dim)}
body.nv .lm-sum-body.nv-os .row.total b{color:var(--hw-scr-tx);text-shadow:0 0 14px rgba(230,237,245,.22)}
body.nv .vn-sum-foot{background:transparent;border-top:0;padding-top:10px}
body.nv .vn-sum-bal b{display:inline-block;margin-top:2px;padding:4px 8px;border-radius:5px;background:var(--hw-screen);box-shadow:var(--hw-screen-sh);color:var(--hw-scr-up)}
body.nv .vn-sum-notes{border-top:1px solid rgba(0,0,0,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}

/* ---- dashboard widgets + other pages ---- */
body.nv .svc-card,body.nv .lm-pay,body.nv .cat-card,body.nv .lm-quick .q,body.nv .lm-actions a,body.nv .cpn,body.nv .tx-chip,body.nv .qpo-chip,body.nv .qdf-chip,body.nv .fr-tag,body.nv .nv-keybtn,body.nv .trust-c,body.nv .live-c{
  background:var(--hw-noise),var(--hw-key);border:1px solid var(--hw-edge);box-shadow:var(--hw-key-bevel)}
body.nv .vn-qrow .svc-card{background:var(--hw-noise),var(--hw-key)}
body.nv .lm-pay.active{background:var(--hw-well);box-shadow:var(--hw-well-sh),inset 0 -2px 0 var(--nv-accent,#E5484D);border-color:var(--hw-edge)}
body.nv .tx-chip.active,body.nv .qpo-chip.active,body.nv .qdf-chip.active,body.nv .ord-filters .active,body.nv .ord-filters .on,body.nv .qpo-mode .on,body.nv .qpo-presets .on,
body.nv .qpo-chips .on,body.nv .qdf-chips .on,body.nv .fr-tools .on,body.nv .fr-filter .on,body.nv .dr-cal .on{background:var(--hw-enamel);border-color:var(--hw-enamel-edge);box-shadow:var(--hw-enamel-bevel)}
body.nv .svc-card .go{background:var(--hw-enamel);border-color:var(--hw-enamel-edge);color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.3);text-shadow:0 -1px 0 rgba(0,0,0,.35)}
body.nv .svc-card .pic{background:var(--hw-screen)!important;box-shadow:var(--hw-screen-sh)}
body.nv .deal-card{background:radial-gradient(120% 140% at 100% 0%,color-mix(in srgb,var(--nv-accent,#E5484D) 28%,transparent),transparent 60%),var(--hw-screws),var(--hw-metal);border:1px solid var(--hw-edge);box-shadow:var(--hw-bevel)}
body.nv .deal-card .code,body.nv .deal-card .cd div,body.nv .cpn .cp-code,body.nv .rr-stat,body.nv .lm-code{background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.6);color:var(--hw-scr-tx)}
body.nv .ao-bar,body.nv .xp-bar,body.nv .lm-prog,body.nv .qpo-prog,body.nv .drp-bar{background:var(--hw-well);box-shadow:var(--hw-well-sh)}
body.nv .lm-empty .ic{background:var(--hw-screen);box-shadow:var(--hw-screen-sh)}
body.nv .nv-alert{box-shadow:var(--hw-well-sh)}
.lmxpm-box{background:var(--hw-metal,#181B21);border-color:var(--hw-edge);box-shadow:var(--hw-bevel),var(--vn-sh-lg)}
.lmxpm-hd{background:var(--hw-noise),var(--hw-rail);border-bottom:1px solid rgba(0,0,0,.75)}
.lmxpm-hd-lv{color:#E6EDF5}
.lmxpm-hd-bn{color:#9AA4B3}
.lmxpm-row{background:var(--hw-well);box-shadow:var(--hw-well-sh)}
.lmxpm-pbar{background:var(--hw-well);box-shadow:var(--hw-well-sh)}
/* daily reward key */
body.nv #drFab{background:var(--hw-noise),var(--hw-key);border:1px solid var(--hw-edge);box-shadow:var(--hw-key-bevel),0 10px 24px -10px rgba(0,0,0,.7)}
body.nv #drFab .drf-ic{background:var(--hw-enamel);border:1px solid var(--hw-enamel-edge);box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
body.nv #drFab:active{box-shadow:var(--hw-key-press)}

/* ---- phones: bottom plate, enamel FAB, tidy floaters ---- */
@media(max-width:700px){
  body.nv .nv-bottomnav{background:var(--hw-noise),var(--hw-brush),linear-gradient(180deg,#1C1F25 0%,#121519 100%);border-top:1px solid rgba(0,0,0,.8);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 -10px 24px -14px rgba(0,0,0,.8)}
  html:not(.nv-dark) body.nv .nv-bottomnav{background:var(--hw-noise),var(--hw-brush),linear-gradient(180deg,#F4F5F7 0%,#E1E4E8 100%);border-top:1px solid rgba(38,46,58,.28);box-shadow:inset 0 1px 0 #fff,0 -10px 24px -14px rgba(20,28,40,.4)}
  body.nv .nv-bottomnav a.active::before{height:3px;box-shadow:0 0 8px color-mix(in srgb,var(--nv-accent,#E5484D) 85%,transparent)}
  body.nv .lm-fab{background:var(--hw-enamel);border:1px solid var(--hw-enamel-edge);box-shadow:0 0 0 5px var(--vn-bg),var(--hw-enamel-bevel)}
  html:not(.nv-dark) body.nv .lm-fab{box-shadow:0 0 0 5px #E3E6EA,var(--hw-enamel-bevel)}
  body.nv .lm-fab:active{box-shadow:0 0 0 5px var(--vn-bg),var(--hw-enamel-press)}
  /* FLOATERS: one slim right-hand column above the nav - support 44, WhatsApp/Telegram 40, reward 40.
     The support speech bubble is hidden on phones (it covered inputs), and every floater fades
     away while a form control is being used or a picker is open. */
  body.nv #swBtn{right:8px!important;bottom:calc(74px + env(safe-area-inset-bottom,0px))!important;width:44px!important;height:44px!important}
  body.nv #swBtn .sw-avatar{width:40px;height:40px}
  body.nv #swBtn #swBubble{display:none!important}
  body.nv .ppint-wrap{left:auto;right:10px;bottom:calc(126px + env(safe-area-inset-bottom,0px));gap:6px}
  body.nv .ppint-btn{width:40px;height:40px}
  body.nv .ppint-btn svg{width:22px;height:22px}
  body.nv #drFab{left:auto;right:9px;bottom:calc(172px + env(safe-area-inset-bottom,0px));padding:3px}
  body.nv:not(:has(.ppint-wrap)) #drFab{bottom:calc(126px + env(safe-area-inset-bottom,0px))}
  body.nv #drFab .drf-ic{width:32px;height:32px;font-size:15px}
  body.nv #swBtn,body.nv .ppint-wrap,body.nv #drFab{transition:opacity .18s ease}
  body.nv:has(main :is(input,select,textarea):focus,.nv-catdd.open,.nv-srch-menu.show,.nv-dd.open) :is(#swBtn,.ppint-wrap,#drFab){opacity:0;pointer-events:none}
}
@media(prefers-reduced-motion:reduce){ body.nv #swBtn,body.nv .ppint-wrap,body.nv #drFab{transition:none} }

/* VXFIX1: promo carousel - on touch phones the side arrows sat on the slide copy; swipe + dots remain */
@media(max-width:760px) and (hover:none){ body.nv .pmx-carousel .pmx-arrow{display:none} }
/* VXFIX1: phone floaters dock flush to the right edge as slim tabs, so they cover card padding, not text */
@media(max-width:700px){
  body.nv #swBtn{right:2px!important}
  body.nv .ppint-wrap{right:0;gap:4px}
  body.nv .ppint-btn{width:40px;height:44px;border-radius:12px 0 0 12px}
  body.nv #drFab{right:0;border-right:0;border-radius:12px 0 0 12px;padding:4px 3px 4px 4px}
  body.nv #drFab .drf-ic{width:34px;height:36px}
  body.nv:has(.ppint-wrap .ppint-btn + .ppint-btn) #drFab{bottom:calc(222px + env(safe-area-inset-bottom,0px))}
}

/* QRBOX: the Add Funds instructions box holds the payment QR - never cap its height (the QR was cut off) */
body.nv .panel-body.border-solid{max-height:none;overflow:visible}
/* VXFIX4: grid items may shrink to their track (platform pages were 15px wider than the column on phones) */
main.nv-content > *{min-width:0}
/* VXFIX4: the support button sits on the screen edge on phones - its pulse ring would spill past it */
@media(max-width:700px){ body.nv #swBtn .sw-glow{display:none} }
/* VXFIX5: public pages (.pubx) centre with auto margins, which made the grid item size to its content (15px too wide on phones) */
main.nv-content > .pubx{width:100%}

/* VXFIX6: promo carousel - on desktop the side arrows sat on the slide copy (the WELCOME10 code on Add Funds);
   they now flank the dots under the slide. Phones keep swipe + dots (VXFIX1). */
@media(min-width:761px){
  body.nv .pmx-carousel .pmx-arrow{top:auto;bottom:-7px;transform:none;width:26px;height:26px;font-size:17px}
  body.nv .pmx-carousel .pmx-arrow--prev{left:calc(50% - 72px)}
  body.nv .pmx-carousel .pmx-arrow--next{left:auto;right:calc(50% - 72px)}
}

/* ==== DRMODAL (2026-09-29, owner: "daily rewards card is old") - the Daily Rewards popup in the Vertex hardware
   material: glass streak screen, LED goal keys, recessed progress track, enamel claim button, key calendar.
   CSS only - every id/class the rewards script uses is unchanged. Light + dark follow the --hw / --vn tokens. ==== */
body.nv #drOv{background:rgba(8,10,14,.58);backdrop-filter:blur(3px)}
body.nv #drOv .dr-card{
  position:relative;width:100%;max-width:470px;padding:16px;border-radius:18px;
  background:var(--hw-noise),var(--hw-metal);border:1px solid var(--hw-edge);
  box-shadow:var(--hw-bevel),0 34px 80px -24px rgba(0,0,0,.65);color:var(--vn-ink);
}
body.nv #drOv .dr-x{
  position:absolute;top:12px;right:12px;z-index:3;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  background:var(--hw-noise),var(--hw-key);border:1px solid var(--hw-edge);box-shadow:var(--hw-key-bevel);
  color:var(--vn-ink-2);font-size:20px;line-height:1;cursor:pointer;
}
body.nv #drOv .dr-x:active{box-shadow:var(--hw-key-press)}
/* streak header = a glass screen */
body.nv #drOv .dr-top{
  margin:0 0 14px;padding:14px 58px 14px 16px;border-radius:13px;background:var(--hw-screen);box-shadow:var(--hw-screen-sh);
  border:1px solid rgba(0,0,0,.55);color:var(--hw-scr-tx);
}
body.nv #drOv .dr-flame .fi{
  width:48px;height:48px;border-radius:12px;font-size:22px;color:#FF7A45;
  background:radial-gradient(circle at 50% 35%,rgba(255,122,69,.28),rgba(255,122,69,.05) 60%,transparent 70%),#0C0F13;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 0 1px rgba(255,255,255,.05);text-shadow:0 0 14px rgba(255,122,69,.8);
}
body.nv #drOv .dr-flame .n{font-family:var(--vn-mono);font-size:36px;font-weight:600;color:var(--hw-scr-tx);text-shadow:0 0 16px rgba(230,237,245,.25)}
body.nv #drOv .dr-flame .l{font-family:var(--vn-mono);font-size:9.5px;font-weight:600;letter-spacing:.14em;color:var(--hw-scr-dim)}
body.nv #drOv .dr-hd{padding-right:0}
body.nv #drOv .dr-hd b{font-family:var(--vn-mono);font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--hw-scr-tx)}
body.nv #drOv .dr-hd small{font-size:11px;font-weight:500;color:var(--hw-scr-dim);margin-top:4px}
body.nv #drOv .dr-top,body.nv #drOv .dr-top .n{color:var(--hw-scr-tx)}
/* the two goals = keys with an LED */
body.nv #drOv .dr-prog{gap:10px;margin-bottom:14px}
body.nv #drOv .dr-step{
  border-radius:12px;padding:11px 12px;background:var(--hw-noise),var(--hw-key);border:1px solid var(--hw-edge);box-shadow:var(--hw-key-bevel);
}
body.nv #drOv .dr-step.done{background:var(--hw-noise),var(--hw-key)}
body.nv #drOv .dr-step .ck{
  width:28px;height:28px;border-radius:8px;border:1px solid var(--hw-edge);background:var(--hw-well);box-shadow:var(--hw-well-sh);
  font-family:var(--vn-mono);font-size:12px;font-weight:600;color:var(--vn-ink-3);
}
body.nv #drOv .dr-step.done .ck{
  border-color:#0F6B35;color:#04321A;font-size:12px;
  background:radial-gradient(circle at 35% 30%,#C6FFE0 0 14%,#34D399 46%,#0F8A4A 100%);
  box-shadow:0 0 0 1px rgba(0,0,0,.25),0 0 12px rgba(52,211,153,.65);
}
body.nv #drOv .dr-step .t b{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--vn-ink)}
body.nv #drOv .dr-step .t small{font-size:11px;font-weight:500;color:var(--vn-ink-3)}
/* progress = recessed track, red LED fill */
body.nv #drOv .dr-bar{height:12px;border-radius:99px;margin-bottom:8px;background:var(--hw-well);border:1px solid var(--hw-edge);box-shadow:var(--hw-well-sh)}
body.nv #drOv .dr-bar i{border-radius:99px;background:linear-gradient(90deg,#B3141A,var(--vn-acc,#E0141B) 55%,#FF5A5F);box-shadow:0 0 12px rgba(238,58,64,.55),inset 0 1px 0 rgba(255,255,255,.35)}
body.nv #drOv .dr-meta{font-family:var(--vn-mono);font-size:10.5px;font-weight:600;letter-spacing:.08em;color:var(--vn-ink-3)}
/* today's reward = a glass readout */
body.nv #drOv .dr-reward{
  display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;border-radius:13px;transform:none;
  background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55);
}
body.nv #drOv .dr-reward .rw-ic{
  width:42px;height:42px;border-radius:11px;font-size:18px;color:#fff;border:1px solid var(--hw-enamel-edge);
  background:var(--hw-enamel);box-shadow:inset 0 1px 0 rgba(255,255,255,.25);
}
body.nv #drOv .dr-reward .rw-t small{font-family:var(--vn-mono);font-size:9.5px;font-weight:600;letter-spacing:.14em;color:var(--hw-scr-dim)}
body.nv #drOv .dr-reward .rw-t b{font-family:var(--vn-mono);font-size:16px;font-weight:600;color:var(--hw-scr-tx);text-shadow:0 0 12px rgba(230,237,245,.2)}
/* claim = enamel key; locked = recessed */
body.nv #drOv .dr-claim{
  width:100%;height:50px;border-radius:13px;border:1px solid var(--hw-enamel-edge);background:var(--hw-enamel);box-shadow:var(--hw-enamel-bevel);
  color:#fff;font-weight:700;font-size:14px;letter-spacing:.03em;text-transform:none;cursor:pointer;
}
body.nv #drOv .dr-claim:active{box-shadow:var(--hw-enamel-press)}
body.nv #drOv .dr-claim[disabled]{
  background:var(--hw-well);box-shadow:var(--hw-well-sh);border:1px solid var(--hw-edge);color:var(--vn-ink-3);cursor:not-allowed;
  font-family:var(--vn-mono);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
}
/* calendar = a row of keys; today edged red, claimed days with a green LED */
body.nv #drOv .dr-cal{gap:8px;padding:14px 2px 8px}
body.nv #drOv .dr-day{
  position:relative;width:60px;border-radius:11px;padding:9px 4px 8px;
  background:var(--hw-noise),var(--hw-key);border:1px solid var(--hw-edge);box-shadow:var(--hw-key-bevel);color:var(--vn-ink);
}
body.nv #drOv .dr-day .d{font-family:var(--vn-mono);font-size:9.5px;font-weight:600;letter-spacing:.08em;color:var(--vn-ink-3)}
body.nv #drOv .dr-day .e{font-size:17px;color:var(--vn-ink-2)}
body.nv #drOv .dr-day .v{font-family:var(--vn-mono);font-size:10.5px;font-weight:600;color:var(--vn-ink)}
body.nv #drOv .dr-day.today{background:var(--hw-noise),var(--hw-key);color:var(--vn-ink);border-color:var(--vn-acc,#E0141B);box-shadow:var(--hw-key-bevel),0 0 0 1px var(--vn-acc,#E0141B),0 0 14px -2px rgba(238,58,64,.55)}
body.nv #drOv .dr-day.today .d{color:var(--vn-acc,#E0141B)}
body.nv #drOv .dr-day.today .e{color:var(--vn-acc,#E0141B)}
body.nv #drOv .dr-day.claimed{background:var(--hw-noise),var(--hw-key)}
body.nv #drOv .dr-day.claimed .e{color:#16A34A}
body.nv #drOv .dr-day.claimed::after{content:"";position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;background:#34D399;box-shadow:0 0 8px rgba(52,211,153,.8)}
body.nv #drOv .dr-foot{font-family:var(--vn-mono);font-size:10.5px;font-weight:600;letter-spacing:.06em;color:var(--vn-ink-3)}
body.nv #drOv .dr-foot a{color:var(--vn-acc,#E0141B);text-decoration:none;font-weight:600}
/* "streak lost" panel + toast */
body.nv #drOv .dr-lost{background:var(--hw-screen);color:var(--hw-scr-tx);border-radius:18px}
body.nv #drOv .dr-lost .big{color:#FF7A45;text-shadow:0 0 18px rgba(255,122,69,.7)}
body.nv #drOv .dr-lost button{border-radius:12px;border:1px solid var(--hw-enamel-edge);background:var(--hw-enamel);box-shadow:var(--hw-enamel-bevel);color:#fff;font-weight:700}
body.nv .dr-toast{background:linear-gradient(180deg,#22262C,#15181C);color:#fff;border:1px solid #0B0C0F;border-radius:12px;box-shadow:0 12px 30px -12px rgba(0,0,0,.6)}
@media(max-width:420px){ body.nv #drOv .dr-card{padding:14px;border-radius:16px} body.nv #drOv .dr-flame .n{font-size:30px} }

/* DRMODAL2: all 7 days visible (grid instead of a sideways-scrolling row - only when the cycle is 7 days or fewer),
   header labels never wrap, and on phones the two goals stay side by side so the popup is shorter. */
body.nv #drOv .dr-cal:not(:has(.dr-day:nth-child(8))){display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;overflow:visible}
body.nv #drOv .dr-cal:not(:has(.dr-day:nth-child(8))) .dr-day{width:auto;min-width:0}
body.nv #drOv .dr-flame .l,body.nv #drOv .dr-hd b{white-space:nowrap}
body.nv #drOv .dr-step{min-width:0}
@media(max-width:560px){
  body.nv #drOv .dr-top{padding:12px 50px 12px 12px}
  body.nv #drOv .dr-flame{gap:9px}
  body.nv #drOv .dr-flame .fi{width:42px;height:42px;font-size:19px}
  body.nv #drOv .dr-flame .l{letter-spacing:.1em}
  body.nv #drOv .dr-hd b{font-size:11px;letter-spacing:.1em}
  body.nv #drOv .dr-prog{flex-direction:row;gap:8px}
  body.nv #drOv .dr-step{flex:1 1 0;padding:10px}
  body.nv #drOv .dr-step .t b{font-size:11.5px}
  body.nv #drOv .dr-cal:not(:has(.dr-day:nth-child(8))){gap:5px}
  body.nv #drOv .dr-day{padding:8px 2px 7px;border-radius:9px}
  body.nv #drOv .dr-day .e i{font-size:16px}
}
