/* ensure hidden attribute works across browsers */
[hidden]{display:none !important;}
:root{
  color-scheme: dark;
  /* Cryptovelix — deep slate/ink + electric lime (dense terminal tokens) */
  --bg: #070b10;
  --bg2: #0c1219;
  --bg3: #101820;
  --panel: rgba(255,255,255,.045);
  --panel2: rgba(255,255,255,.03);
  --panel-solid: #0e151d;
  --border: rgba(255,255,255,.10);
  --border-strong: rgba(184,240,0,.22);
  --text: rgba(245,248,252,.94);
  --muted: rgba(245,248,252,.68);
  --muted2: rgba(245,248,252,.55);
  --accent1: #B8F000;
  --accent2: #D4FF4A;
  --accent-ink: #0a1204;
  --cyan: #3DDCFF;
  --good: #2EE6A6;
  --bad: #FF5C6C;
  --warn: #F0B429;
  --shadow: rgba(0,0,0,.38);
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 22px;
  --density: 1;
  --r8: 8px;
  --r12: 12px;
  --r14: 14px;
  --r18: 16px;
  --r24: 20px;
  --font-display: "Syne", "Avenir Next", "Segoe UI", sans-serif;
  --font-body: "Sora", "Avenir Next", "Segoe UI", sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
html, body{ overflow-x:hidden; }
body{
  margin:0;
  font-family: var(--font-body);
  background:
    radial-gradient(920px 540px at 12% -8%, rgba(184,240,0,.10), transparent 58%),
    radial-gradient(780px 480px at 92% 8%, rgba(61,220,255,.08), transparent 55%),
    linear-gradient(180deg, #05080c 0%, var(--bg) 42%, var(--bg2) 100%);
  color:var(--text);
  background-attachment: fixed;
}

.container{ max-width:1360px; margin:0 auto; padding:0 18px; }
.page{ padding:24px 0 34px; }
.page--home{ padding-top: 0; }
.page:has(.hero--landing){ padding-top: 0; }
.homeBody{ padding-top: 8px; }

.reveal{ opacity:0; transform: translateY(10px); transition: 420ms ease; }
.reveal.is-in{ opacity:1; transform:none; }

.topnav{
  /* NOTE: .topnav uses backdrop-filter which creates a stacking context.
     Keep it ABOVE the mobile overlay so the drawer stays clickable. */
  position:sticky; top:0; z-index:1000;
  backdrop-filter: blur(12px);
  background: rgba(7,11,16,.78);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.topnav__inner{
  display:flex; align-items:center; gap:18px;
  padding:11px 0;
}

.navToggle{
  display:none;
  width:44px; height:44px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  align-items:center; justify-content:center;
  margin-left:auto;
}
.navToggle span{
  display:block; width:18px; height:2px;
  background: rgba(255,255,255,.86);
  border-radius:999px;
  margin:2px 0;
}

.navWrap{ display:flex; align-items:center; gap:14px; flex:1; }

.brand{
  display:inline-flex; align-items:center; gap:10px;
  text-decoration:none; color:inherit;
}
.brand__dot{
  width:12px; height:12px; border-radius:3px;
  background: linear-gradient(135deg, var(--accent1), var(--cyan));
}
.brand__dot--sm{ width:10px; height:10px; }
.brand__name{
  font-family: var(--font-display);
  font-weight:800;
  letter-spacing:-.02em;
  font-size:17px;
  line-height:1;
}
.brand__y, .brand__accent{ color: var(--accent1); }
.brand__badge{
  font-size:12px; padding:2px 8px; border-radius: var(--r8);
  background: rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.82);
}

.nav{ display:flex; gap:8px; margin-left:10px; flex:1; align-items:center; }
.nav__link{
  font-size:14px; text-decoration:none;
  color: rgba(255,255,255,.72);
  padding:8px 10px; border-radius:10px;
  transition:160ms ease;
}
.nav__link:hover{
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.92);
}
.nav__actions{ display:flex; gap:10px; align-items:center; }
.nav__textLink{
  appearance:none;
  background:transparent;
  border:0;
  cursor:pointer;
  font: inherit;
  font-size:14px;
  font-weight:600;
  letter-spacing:.01em;
  text-decoration:none;
  color: rgba(255,255,255,.72);
  padding:8px 6px;
  transition: color 160ms ease;
}
.nav__textLink:hover{ color: var(--accent1); }
.langBtn.nav__textLink{ display:inline-flex; align-items:center; gap:6px; padding:8px 4px; }

.nav__dd{ position:relative; }
.nav__link--dd{
  background: transparent;
  border:0;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.chev{ opacity:.75; font-size:12px; }
.ddMenu{
  position:absolute;
  top: calc(100% + 10px);
  left:0;
  min-width: 220px;
  background: rgba(10,12,18,.94);
  border:1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  padding:8px;
  box-shadow: 0 20px 70px rgba(0,0,0,.45);
  display:none;
  backdrop-filter: blur(10px);
}
.nav__dd.open .ddMenu{ display:block; animation: ddIn 160ms ease; }
.ddLink{
  display:block;
  padding:10px 10px;
  border-radius:12px;
  text-decoration:none;
  color: rgba(255,255,255,.84);
  font-weight:800;
  font-size:14px;
}
.ddLink:hover{ background: rgba(255,255,255,.06); }
.ddHr{ height:1px; background: rgba(255,255,255,.10); margin:6px 6px; }

@keyframes ddIn{
  from{ transform: translateY(-6px); opacity:0; }
  to{ transform: translateY(0); opacity:1; }
}

/* Mobile menu */
@media (max-width: 980px){
  .navToggle{ display:inline-flex; }
  .navWrap{
    position: fixed;
    top:0; right:-340px;
    width:320px;
    height:100vh;
    padding: 76px 14px 18px;
    flex-direction:column;
    align-items:stretch;
    background: rgba(10,12,18,.98);
    border-left:1px solid rgba(255,255,255,.08);
    box-shadow: -20px 0 80px rgba(0,0,0,.45);
    transition: right 200ms ease;
    z-index:80;
    overflow-y:auto;
    -webkit-overflow-scrolling: touch;
  }
  body.nav-open .navWrap{ right:0; }
  .nav{ flex-direction:column; align-items:stretch; margin-left:0; }
  .nav__link{ width:100%; justify-content:space-between; }
  .ddMenu{ position:static; box-shadow:none; margin-top:6px; }
  .nav__actions{ flex-direction:column; }
}

.navOverlay{
  position:fixed;
  inset:0;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(2px);
  /* below topnav (z-index:1000), above page content */
  z-index:900;
  display:none;
}
body.nav-open .navOverlay{ display:block; }

/* lock page scroll when drawer is open */
body.nav-open{ overflow:hidden; }

.btn{
  height:38px; padding:0 16px;
  border-radius: 10px;
  border:1px solid rgba(255,255,255,.12);
  cursor:pointer;
  text-decoration:none;
  display:inline-flex; align-items:center; justify-content:center;
  font-weight:700;
  letter-spacing:.01em;
  transition: background 160ms ease, border-color 160ms ease, filter 160ms ease, color 160ms ease;
}
.btn--ghost{
  background: transparent;
  color: rgba(255,255,255,.88);
  border-color: rgba(255,255,255,.18);
}
.btn--ghost:hover{ background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.28); }

.btn--primary{
  background: var(--accent1);
  color: var(--accent-ink);
  border:1px solid rgba(184,240,0,.45);
}
.btn--primary:hover{ filter:brightness(1.06); }
.btn--primary:active{ filter:brightness(.97); }
.btn:focus-visible{
  outline: 2px solid rgba(184,240,0,.55);
  outline-offset: 2px;
}

.btn--buy{
  width:100%;
  background: linear-gradient(135deg, rgba(46,230,166,.92), rgba(184,240,0,.84));
  color:#07120d;
}
.btn--sell{
  width:100%;
  background: linear-gradient(135deg, rgba(255,92,108,.92), rgba(255,140,160,.82));
  color:#14070b;
}

.pill{
  display:inline-flex;
  font-size:13px;
  padding:8px 12px;
  border-radius: var(--r8);
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.84);
}

.noticebar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:12px 14px;
  border-radius: 20px;
  background: rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
  position:relative;
  overflow:hidden;
}
.noticebar::before{
  content:"";
  position:absolute;
  inset:-60px;
  background:
    radial-gradient(260px 260px at 18% 40%, rgba(184,240,0,.18), transparent 60%),
    radial-gradient(240px 240px at 85% 20%, rgba(61,220,255,.10), transparent 65%);
  opacity:.9;
  animation: noticeDrift 10s ease-in-out infinite;
  pointer-events:none;
}
@keyframes noticeDrift{
  0%,100%{ transform: translate3d(0,0,0); opacity:.85; }
  50%{ transform: translate3d(0,-8px,0); opacity:1; }
}
.noticebar__left,.noticebar__right{ position:relative; z-index:1; }
.noticebar__left{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.noticePill{
  font-size:12px;
  padding:6px 10px;
  border-radius: var(--r8);
  background: rgba(184,240,0,.10);
  border:1px solid rgba(184,240,0,.22);
  font-weight:800;
  font-family: var(--font-display);
}
.noticeText{ color: rgba(255,255,255,.72); font-size:13px; }
.noticebar__right{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.noticeLink{ color: rgba(255,255,255,.9); text-decoration:none; font-weight:900; }
.noticeLink:hover{ text-decoration:underline; }
.dot{ width:6px; height:6px; border-radius:999px; background: rgba(255,255,255,.28); }

.quickGrid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:10px;
}
.quickCard{
  display:block;
  text-decoration:none;
  border-radius: 18px;
  background: rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
  padding:14px;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.quickCard:hover{ transform: translateY(-2px); background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.12); }
.quickCard__t{ font-weight:900; }
.quickCard__d{ margin-top:6px; color: rgba(255,255,255,.68); font-size:13px; line-height:1.5; }

@media (max-width: 980px){
  .quickGrid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px){
  .quickGrid{ grid-template-columns: 1fr; }
}

.h1{
  margin:14px 0 10px;
  font-family: var(--font-display);
  font-weight:800;
  font-size:clamp(34px, 5vw, 56px);
  line-height:1.05;
  letter-spacing:-.03em;
}
.grad{
  background: linear-gradient(105deg, var(--accent1), var(--cyan));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.sub{
  margin:0;
  max-width:520px;
  color: var(--muted);
  line-height:1.65;
  font-size:16px;
}

.hero__buttons{ display:flex; gap:12px; margin-top:22px; flex-wrap:wrap; }

.stats{
  margin-top:18px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:12px;
}
.stat{
  border-radius: var(--r18);
  background: rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  padding:14px;
}
.stat__value{ font-weight:900; font-size:18px; }
.stat__label{ margin-top:6px; font-size:13px; color: rgba(255,255,255,.68); }

.preview{
  width:100%;
  border-radius: var(--r18);
  background: var(--panel);
  border:1px solid var(--border);
  box-shadow: 0 24px 80px var(--shadow);
  overflow:hidden;
}
.preview__top{
  display:flex; justify-content:space-between; align-items:center;
  padding:14px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background: var(--panel2);
}
.preview__title{ font-weight:900; }
.badge{
  font-size:12px;
  padding:4px 10px;
  border-radius:999px;
  background: rgba(120,210,255,.12);
  border:1px solid rgba(120,210,255,.22);
  color: rgba(180,225,255,.92);
}
.badge--soft{
  background: rgba(120,210,255,.10);
  border-color: rgba(120,210,255,.18);
}
.preview__grid{
  padding:14px;
  display:grid;
  gap:12px;
  grid-template-columns: 1.4fr 1fr;
}
.box{
  border-radius: var(--r14);
  background: rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.06);
  padding:12px;
  min-height:110px;
}
.box__title{ font-size:12px; color: rgba(255,255,255,.72); margin-bottom:10px; }

.fake-chart{
  height:84px; border-radius:12px;
  background:
    linear-gradient(180deg, rgba(120,210,255,.22), transparent 60%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.06), rgba(255,255,255,.06) 1px, transparent 1px, transparent 14px);
}
.fake-lines{
  height:84px; border-radius:12px;
  background:
    repeating-linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.10) 1px, transparent 1px, transparent 12px);
  opacity:.65;
}
.fake-lines2{
  height:84px; border-radius:12px;
  background:
    repeating-linear-gradient(180deg, rgba(61,220,255,.18), rgba(61,220,255,.18) 1px, transparent 1px, transparent 12px);
  opacity:.7;
}
.fake-form{
  height:84px; border-radius:12px;
  background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border:1px dashed rgba(255,255,255,.10);
}
.note{ padding:12px 14px 14px; font-size:12px; color: rgba(255,255,255,.62); }

.pageHead{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:14px;
  flex-wrap:wrap;
  padding:18px;
  border-radius: var(--r24);
  background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.08);
}
.pageHead__actions{ display:flex; gap:10px; flex-wrap:wrap; }
.pageKicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family: var(--font-display);
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding:6px 10px;
  border-radius: var(--r8);
  background: rgba(184,240,0,.08);
  border:1px solid rgba(184,240,0,.20);
  color: rgba(245,248,252,.82);
}
.pageTitle{
  margin:10px 0 0;
  font-family: var(--font-display);
  font-weight:800;
  font-size:clamp(26px, 3.5vw, 34px);
  letter-spacing:-.03em;
}
.pageSub{ margin-top:8px; max-width:820px; color: rgba(255,255,255,.68); line-height:1.6; }

.marketsToolbar{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  padding:12px;
  border-radius: var(--r18);
  background: rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
}
.input--search{ min-width: 260px; flex: 1; }

.chips{ display:flex; gap:8px; flex-wrap:wrap; }
.chip{
  font-size:12px;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.78);
}
.chip--soft{ background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.08); }

.section{ margin-top:34px; }
.section__top{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:14px;
  flex-wrap:wrap;
}
.section__top > div{ min-width: 260px; }

.section__head{ display:flex; justify-content:space-between; gap:12px; align-items:flex-end; flex-wrap:wrap; }
.section__title{
  font-family: var(--font-display);
  font-size:18px;
  font-weight:800;
  letter-spacing:-.02em;
}
.section__sub{ margin-top:6px; color: rgba(255,255,255,.64); font-size:14px; }

.table{
  margin-top:14px;
  border-radius: var(--r18);
  background: var(--panel);
  border:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}
.table__head, .table__row{
  display:grid;
  grid-template-columns: 1.1fr 1fr .8fr .9fr;
  gap:10px;
  padding:12px 14px;
}
.table__head{
  background: var(--panel2);
  color: rgba(255,255,255,.66);
  font-size:12px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.table__row{ border-bottom:1px solid rgba(255,255,255,.06); }
.table__row:last-child{ border-bottom:none; }
.table__sym{ font-weight:900; }
.link{ color: rgba(255,255,255,.92); text-decoration:none; }
.link:hover{ text-decoration:underline; }

.plus{ color: var(--good); font-weight:900; }
.minus{ color: var(--bad); font-weight:900; }

.grid2{
  margin-top:14px;
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:12px;
}
.card{
  border-radius: var(--r18);
  background: rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  padding:16px;
}
.card__title{ font-weight:900; }
.card__text{ margin-top:8px; color: rgba(255,255,255,.68); line-height:1.6; font-size:14px; }

/* Home: Promo / Invite card */
.promoCard{
  position: relative;
  border-radius: var(--r18);
  padding:18px;
  border:1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  overflow:hidden;
}
.promoCard__glow{
  position:absolute; inset:-2px;
  background:
    radial-gradient(680px 260px at 18% 0%, rgba(184,240,0,.16), transparent 62%),
    radial-gradient(520px 260px at 92% 25%, rgba(61,220,255,.10), transparent 60%),
    radial-gradient(600px 360px at 50% 110%, rgba(255,255,255,.04), transparent 55%);
  pointer-events:none;
  opacity:.9;
}
.promoCard__head{
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.promoCard__title{ font-weight:1000; letter-spacing:.2px; }
.promoCard__subtitle{
  margin-top:4px;
  color: rgba(255,255,255,.62);
  font-size:13px;
  line-height:1.45;
  max-width: 520px;
}
.promoBadges{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; justify-content:flex-end; }
.promoBadge{
  padding:6px 10px;
  border-radius: var(--r8);
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.78);
  font-size:12px;
  white-space:nowrap;
}
.promoBadge--accent{
  background: rgba(255,179,0,.14);
  border-color: rgba(255,179,0,.24);
  color: rgba(255,232,180,.96);
}
.promoCard__body{
  position:relative;
  margin-top:14px;
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:14px;
  align-items:stretch;
}
.promoMetric__label{
  font-size:12px;
  letter-spacing:.4px;
  text-transform: uppercase;
  color: rgba(255,255,255,.6);
}
.promoMetric__value{
  margin-top:6px;
  font-weight:1000;
  font-size:28px;
  letter-spacing:.2px;
}
.promoMetric__value span{
  font-size:12px;
  font-weight:800;
  color: rgba(255,255,255,.6);
  margin-left:6px;
}
.promoPoints{ margin-top:12px; display:grid; gap:8px; }
.promoPoint{
  color: rgba(255,255,255,.72);
  font-size:13px;
  line-height:1.5;
}
.promoPoint b{ color: rgba(255,255,255,.92); font-weight:900; }
.promoCard__actions{ margin-top:14px; display:flex; gap:10px; flex-wrap:wrap; }
.promoFine{ margin-top:10px; color: rgba(255,255,255,.54); font-size:12px; line-height:1.5; }
.promoRight{ display:flex; flex-direction:column; gap:10px; }
.promoTimer{
  border-radius: 18px;
  background: rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.10);
  padding:12px 14px;
  backdrop-filter: blur(10px);
}
.promoTimer__label{
  font-size:11px;
  letter-spacing:.4px;
  text-transform: uppercase;
  color: rgba(255,255,255,.6);
}
.promoTimer__time{
  margin-top:8px;
  font-weight:1000;
  font-size:24px;
  letter-spacing:.8px;
  font-variant-numeric: tabular-nums;
  display:inline-block;
  padding:10px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
}
.promoTimer__time.is-done{ opacity:.7; }
.promoTimer__note{ margin-top:8px; color: rgba(255,255,255,.70); font-size:13px; line-height:1.45; }
.promoMiniCards{ display:grid; gap:10px; }
.promoMini{
  text-decoration:none;
  color: inherit;
  border-radius: 16px;
  background: rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  padding:12px 14px;
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.promoMini:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
}
.promoMini__t{ font-weight:900; }
.promoMini__d{ margin-top:6px; color: rgba(255,255,255,.62); font-size:13px; line-height:1.45; }

@media (max-width: 860px){
  .promoCard__body{ grid-template-columns: 1fr; }
  .promoBadges{ justify-content:flex-start; }
  .promoMetric__value{ font-size:26px; }
}

.faq{ margin-top:12px; display:grid; gap:10px; }
.faq__item{
  border-radius: 16px;
  background: rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  padding:12px 14px;
}
.faq__item summary{ cursor:pointer; font-weight:900; }
.faq__body{ margin-top:10px; color: rgba(255,255,255,.7); line-height:1.6; font-size:14px; }

.footer{
  margin-top:40px;
  padding:18px 0;
  border-top:1px solid rgba(255,255,255,.08);
}
.footer__inner{
  display:flex; justify-content:space-between; gap:12px; align-items:center;
  flex-wrap:wrap;
}
.footer__brand{ display:inline-flex; align-items:center; gap:10px; font-weight:900; }
.footer__text{ color: rgba(255,255,255,.6); font-size:13px; }

/* New footer layout */
.footerGrid{
  display:grid;
  grid-template-columns: 1.2fr repeat(3, .8fr);
  gap:18px;
  align-items:start;
}
.footerBrand{ display:flex; align-items:center; gap:10px; }
.footerText{ margin-top:10px; max-width: 520px; color: rgba(255,255,255,.60); font-size:13px; line-height:1.6; }
.footerCol__t{ font-weight:900; letter-spacing:.2px; margin-bottom:10px; }
.footerLink{ display:block; text-decoration:none; color: rgba(255,255,255,.72); padding:6px 0; transition: color 150ms ease; }
.footerLink:hover{ color: var(--accent1); }
.footerBottom{ margin-top:16px; padding-top:12px; border-top:1px solid rgba(255,255,255,.08); display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; color: rgba(255,255,255,.58); font-size:13px; }
.footerNote{ color: rgba(255,255,255,.54); }

@media (max-width: 900px){
  .footerGrid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px){
  .footerGrid{ grid-template-columns: 1fr; }
}

.list{ display:grid; gap:8px; }
.list__a{ display:block; padding:10px 12px; border-radius:14px; background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10); text-decoration:none; color: rgba(255,255,255,.86); font-weight:900; }
.list__a:hover{ background: rgba(255,255,255,.08); }

.contact{ border-radius: 16px; background: rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); padding:12px; }
.contactHotline{
 display:flex; align-items:center; gap:12px; flex-wrap:wrap;
 margin-top:12px;
}
.contactHotline__phone{
 display:inline-flex; align-items:center;
 padding:10px 16px;
 border-radius:999px;
 background: rgba(0,0,0,.45);
 border:1px solid rgba(255,255,255,.12);
 color:#fff; font-weight:900; font-size:15px;
 text-decoration:none; letter-spacing:.02em;
 white-space:nowrap;
}
.contactHotline__phone:hover{ background: rgba(0,0,0,.6); }
.contactHotline__apps{ display:flex; align-items:center; gap:10px; }
.contactApp{
 width:42px; height:42px; border-radius:50%;
 display:grid; place-items:center;
 color:#fff; text-decoration:none;
 box-shadow: 0 6px 18px rgba(0,0,0,.28);
 transition: transform .15s ease, box-shadow .15s ease;
}
.contactApp:hover{ transform: translateY(-1px); box-shadow: 0 10px 22px rgba(0,0,0,.34); }
.contactApp--wa{ background:#25D366; }
.contactApp--viber{ background:#7360f2; }
.contactApp--tg{ background:#229ED9; }
.contactRow{ display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.06); }
.contactRow:last-child{ border-bottom:none; }

/* Admin: visit analytics */
.geoStats{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:12px; }
.geoStat__l{ font-size:12px; color: rgba(255,255,255,.60); }
.geoStat__v{ margin-top:6px; font-size:26px; font-weight:900; font-variant-numeric: tabular-nums; }
.geoList{ display:grid; gap:10px; }
.geoRow{ display:flex; gap:12px; align-items:center; }
.geoRow__n{ width:24px; text-align:right; color: rgba(255,255,255,.45); font-weight:900; font-variant-numeric: tabular-nums; }
.geoRow__main{ flex:1; min-width:0; }
.geoRow__top{ display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.geoRow__city{ font-weight:900; }
.geoRow__nums{ font-variant-numeric: tabular-nums; }
.geoBar{ margin-top:6px; height:8px; border-radius:999px; background: rgba(255,255,255,.06); overflow:hidden; }
.geoBar__fill{ height:100%; border-radius:999px; background: linear-gradient(90deg, #f7a600, #ffcf4d); }
@media (max-width: 560px){
  .geoStats{ grid-template-columns: 1fr; }
}

.codeBlock{ margin-top:10px; padding:12px; border-radius: 16px; background: rgba(0,0,0,.30); border:1px solid rgba(255,255,255,.08); overflow:auto; }
.codeBlock code{ color: rgba(255,255,255,.86); }

/* Terminal */
.terminalTop{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:12px; flex-wrap:wrap;
  padding: 6px 0 18px;
}

/* Bybit-like compact header row for terminal */
.terminalTop--bybit{
  align-items:center;
  padding: 6px 0 12px;
}
.terminalPair{ display:flex; flex-direction:column; gap:6px; min-width: 220px; }
.terminalKpis{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:stretch;
  flex: 1;
}
.tKpi{
  border-radius: 14px;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
  min-width: 98px;
}
.tKpi__l{ font-size: 11px; color: rgba(255,255,255,.60); }
.tKpi__v{ margin-top: 3px; font-weight: 900; font-variant-numeric: tabular-nums; }
.terminalActions{ display:flex; align-items:center; gap:10px; }
.terminalUpdate{ font-size: 12px; color: rgba(255,255,255,.60); }
.label{ font-size:12px; color: rgba(255,255,255,.64); }
.select{
  height:40px; padding:0 12px;
  border-radius: var(--r14);
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.92);
  outline:none;
  color-scheme: dark;
}
.select option{ background-color: #0f141a; color: rgba(255,255,255,.92); }

@media (max-width: 560px){
  /* Make terminal header compact on phones */
  .terminalPair{ min-width: 0; width:100%; }
  .terminalPair .select{ width:100%; }
  .terminalKpis{ display:grid; grid-template-columns: 1fr 1fr; gap:8px; }
  .tKpi{ min-width: 0; }
  .terminalActions{ width:100%; justify-content:space-between; }
  #refreshBtn{ height:38px; padding:0 12px; border-radius: 14px; }
}

.kpi{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.kpi__item{
  border-radius: var(--r14);
  padding:10px 12px;
  background: rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  min-width:120px;
}
.kpi__label{ font-size:12px; color: rgba(255,255,255,.62); }
.kpi__value{ margin-top:4px; font-weight:900; }

.grid3{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:12px;
}
@media (max-width: 980px){
  .grid3{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px){
  .grid3{ grid-template-columns: 1fr; }
}

.panel{
  border-radius: var(--r18);
  background: var(--panel);
  border:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}
.panel--big{ grid-row: 1 / span 2; }
.panel__top{
  display:flex; justify-content:space-between; align-items:baseline;
  padding:12px 14px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background: var(--panel2);
}
.panel__title{ font-weight:900; }
.panel__hint{ font-size:12px; color: rgba(255,255,255,.6); }

.chartArea{ position:relative; height:360px; padding:14px; }
.chartGlow{
  position:absolute; inset:12px; border-radius:16px;
  background:
    radial-gradient(500px 220px at 20% 30%, rgba(120,210,255,.20), transparent 70%),
    radial-gradient(540px 240px at 80% 60%, rgba(61,220,255,.16), transparent 70%);
}
.chartGrid{
  position:absolute; inset:14px; border-radius:16px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.06), rgba(255,255,255,.06) 1px, transparent 1px, transparent 18px),
    repeating-linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.06) 1px, transparent 1px, transparent 18px);
  opacity:.9;
}

.positions{ padding:12px 14px 14px; border-top:1px solid rgba(255,255,255,.08); }
.posRow{
  margin-top:10px;
  border-radius: var(--r14);
  background: rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.06);
  padding:12px;
  display:flex; justify-content:space-between; gap:10px;
}
.posSym{ font-weight:900; }
.posMeta{ color: rgba(255,255,255,.66); }

.book{ padding:10px 12px 12px; }
.book__head{
  display:grid; grid-template-columns:1fr 1fr; gap:10px;
  font-size:12px; color: rgba(255,255,255,.62);
  padding:0 2px 8px;
}
.bookRow{
  display:grid; grid-template-columns:1fr 1fr; gap:10px;
  padding:6px 2px; border-radius:10px;
}
.bookRow:hover{ background: rgba(255,255,255,.04); }
.ask{ color: var(--bad); font-weight:900; }
.bid{ color: var(--good); font-weight:900; }
.size{ color: rgba(255,255,255,.76); }

.midRow{
  margin:8px 0; padding:10px 12px;
  border-radius: var(--r14);
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  display:flex; justify-content:space-between;
}
.mid{ font-weight:900; }

.trades{ padding:10px 12px 12px; display:grid; gap:6px; }
.tradeRow{
  display:grid;
  grid-template-columns: .7fr 1fr .8fr;
  gap:10px;
  padding:8px 10px;
  border-radius: var(--r14);
  background: rgba(0,0,0,.26);
  border:1px solid rgba(255,255,255,.06);
}
.tradePrice, .tradeQty{ color: rgba(255,255,255,.78); }

.tabs{
  display:grid; grid-template-columns:1fr 1fr; gap:8px;
  padding:12px 12px 0;
}
.tabs--row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:0;
}
.tab{
  height:38px;
  border-radius: var(--r14);
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.86);
  cursor:pointer; font-weight:900;
}
.tab--active{
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.14);
}

.tabs--row .tab{
  height:34px;
  padding:0 12px;
  border-radius:999px;
}

.tabs--row .tab{
  height:34px;
  padding:0 12px;
  border-radius:999px;
  width:auto;
}

.chips{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
.chip{
  display:inline-flex;
  height:34px;
  align-items:center;
  padding:0 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.82);
}
.chip--soft{
  background: rgba(120,210,255,.10);
  border-color: rgba(120,210,255,.18);
  color: rgba(180,225,255,.92);
}

.form{ padding:12px; display:grid; gap:10px; }
.field{ display:grid; gap:6px; }
.field__label{ font-size:12px; color: rgba(255,255,255,.62); }
.input{
  height:42px; padding:0 12px;
  border-radius: var(--r14);
  background: rgba(0,0,0,.26);
  border:1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.92);
  outline:none;
}
.input:focus{
  border-color: rgba(120,210,255,.35);
  box-shadow: 0 0 0 4px rgba(120,210,255,.10);
}

.summary{
  border-radius: 16px;
  padding:10px 12px;
  background: rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
}
.sumRow{
  display:flex; justify-content:space-between;
  color: rgba(255,255,255,.74);
  font-size:13px;
  padding:4px 0;
}
.disclaimer{
  font-size:12px;
  color: rgba(255,255,255,.58);
  line-height:1.5;
}

@media (max-width: 980px){
  .hero{ grid-template-columns: 1fr; }
}
@media (max-width: 1100px){
  .grid3{ grid-template-columns: 1fr; }
  .panel--big{ grid-row:auto; }
}
/* old breakpoint removed: mobile menu is handled by .navWrap */
@media (max-width: 760px){
  .h1{ font-size: 36px; }
  .stats{ grid-template-columns: 1fr; }
  body.hasTermTabs .grid2{ grid-template-columns: 1fr; }
  .table__head, .table__row{ grid-template-columns: 1.2fr 1fr .7fr; }
  .table__head div:last-child, .table__row div:last-child{ display:none; }
}

/* --- Alerts / Auth --- */
.alert{
  margin:14px 0 0;
  padding:12px 14px;
  border-radius: 16px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.86);
}
.alert--success{ border-color: rgba(120,255,200,.22); }
.alert--error{ border-color: rgba(255,140,160,.22); }
.alert--warn{ border-color: rgba(240,180,41,.28); background: rgba(240,180,41,.06); }

.authCard{
  max-width:480px;
  margin: 36px auto 0;
  border-radius: 16px;
  background:
    linear-gradient(165deg, rgba(184,240,0,.07), transparent 40%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.11);
  padding:28px 24px;
  box-shadow: 0 24px 64px rgba(0,0,0,.28);
}
.authCard .btn--primary{ width:100%; margin-top: 6px; height:42px; }
.authCard .input:focus{
  border-color: rgba(184,240,0,.35);
  box-shadow: 0 0 0 3px rgba(184,240,0,.08);
}

/* --- Admin additions --- */
.adminHeader {
  margin-top: 18px;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:12px;
  flex-wrap:wrap;
}

.kbd {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 12px;
  color: rgba(255,255,255,.74);
  background: rgba(0,0,0,.28);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  padding: 6px 10px;
}

.actionsRow {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.btn--danger{
  background: rgba(255,140,160,.14);
  border-color: rgba(255,140,160,.22);
  color: rgba(255,255,255,.92);
}
.btn--danger:hover{ background: rgba(255,140,160,.18); }

.btn--ok{
  background: rgba(120,255,200,.14);
  border-color: rgba(120,255,200,.22);
  color: rgba(255,255,255,.92);
}
.btn--ok:hover{ background: rgba(120,255,200,.18); }

.miniForm{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:flex-end;
}

.smallInput{
  height:38px;
  padding:0 12px;
  border-radius: 14px;
  background: rgba(0,0,0,.26);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.92);
  outline:none;
}
.smallInput:focus{
  border-color: rgba(120,210,255,.35);
  box-shadow: 0 0 0 4px rgba(120,210,255,.10);
}


/* Cryptovelix brand extras */
.brand__logo{ width:92px; height:26px; display:block; }
.brand__badge{
  background: rgba(184,240,0,.14);
  border: 1px solid rgba(184,240,0,.25);
  color: rgba(255,255,255,.92);
}

.btn--primary{
  background: var(--accent1);
  color: var(--accent-ink);
  border: 1px solid rgba(184,240,0,.4);
}
.btn--primary:hover{ filter: brightness(1.05); }

.pill{ border-color: rgba(184,240,0,.22); }
.pill--active{
  background: rgba(184,240,0,.14);
  border-color: rgba(184,240,0,.35);
  color: rgba(255,255,255,.95);
}

.marketTools{
  display:flex;
  gap:10px;
  padding:12px 12px 0;
  align-items:center;
  flex-wrap:wrap;
}

.marketItem__left{ display:flex; align-items:center; gap:10px; }
.marketItem__meta{ display:flex; flex-direction:column; gap:2px; }

.starBtn{
  width:30px; height:30px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.55);
  cursor:pointer;
}
.starBtn:hover{ background: rgba(255,255,255,.08); color: rgba(255,255,255,.72); }
.starBtn--on{
  background: rgba(184,240,0,.14);
  border-color: rgba(184,240,0,.30);
  color: rgba(212,255,74,.98);
}

/* Home "Live markets" compact rows (Bybit-like) */
.homeRow{
  display:grid;
  grid-template-columns: 34px 1fr .85fr .85fr .55fr;
  gap: 10px;
  padding: 10px 8px;
  align-items: center;
  border-top: 1px solid rgba(255,255,255,.06);
}
.homeRow:first-child{ border-top: 0; }
.homeRow__symMain{ font-weight: 900; letter-spacing: .2px; }
.homeRow__symSub{ font-size: 12px; color: rgba(255,255,255,.55); margin-top: 2px; }
.homeRow__k{ font-size: 11px; color: rgba(255,255,255,.55); }
.homeRow__v{ font-weight: 900; }
.homeRow__v.good{ color: var(--good); }

@media (max-width: 980px){
  .homeRow{ grid-template-columns: 34px 1fr .9fr .6fr; }
  .homeRow__col--our{ display:none; }
}

.spark{
  width: 64px;
  height: 22px;
  opacity: .95;
}
.spark svg{ width:100%; height:100%; display:block; }

.check input:disabled + span{ opacity:.6; }

/* ===== Full-bleed Cryptovelix hero — exchange-grade density ===== */
.hero--landing{
  position: relative;
  isolation: isolate;
  width: 100%;
  min-height: calc(100dvh - 58px);
  min-height: calc(100svh - 58px);
  display: flex;
  align-items: center;
  overflow: hidden;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background:
    radial-gradient(1200px 700px at 82% 18%, rgba(184,240,0,.16), transparent 55%),
    radial-gradient(900px 600px at 8% 88%, rgba(61,220,255,.12), transparent 50%),
    radial-gradient(700px 480px at 48% 100%, rgba(184,240,0,.08), transparent 60%),
    linear-gradient(165deg, #03060a 0%, #070b10 38%, #0a121a 72%, #061018 100%);
}
.heroStage{
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.heroCanvas{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.heroStage__mesh{
  position: absolute;
  inset: -12%;
  background:
    repeating-linear-gradient(90deg, rgba(184,240,0,.045) 0 1px, transparent 1px 48px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.03) 0 1px, transparent 1px 48px);
  mask-image: radial-gradient(ellipse 80% 70% at 60% 45%, #000 20%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse 80% 70% at 60% 45%, #000 20%, transparent 75%);
  opacity: .85;
  transition: transform 480ms ease-out;
  will-change: transform;
  animation: heroMeshDrift 18s ease-in-out infinite alternate;
}
.heroStage__shafts{
  position: absolute;
  inset: 0;
  background:
    linear-gradient(118deg, transparent 42%, rgba(184,240,0,.045) 49%, transparent 56%),
    linear-gradient(98deg, transparent 58%, rgba(61,220,255,.035) 64%, transparent 70%);
  mix-blend-mode: screen;
  animation: heroShaft 14s ease-in-out infinite;
  opacity: .9;
}
.heroStage__orb{
  position: absolute;
  border-radius: 50%;
  filter: blur(56px);
  opacity: .7;
  animation: heroOrb 11s ease-in-out infinite;
}
.heroStage__orb--lime{
  width: min(68vw, 720px);
  height: min(68vw, 720px);
  right: -12%;
  top: -6%;
  background: radial-gradient(circle, rgba(184,240,0,.38), rgba(184,240,0,.08) 45%, transparent 70%);
}
.heroStage__orb--cyan{
  width: min(52vw, 540px);
  height: min(52vw, 540px);
  left: -6%;
  bottom: -10%;
  background: radial-gradient(circle, rgba(61,220,255,.26), transparent 68%);
  animation-delay: -5s;
}
.heroStage__glow{
  position: absolute;
  inset: auto 0 0 0;
  height: 42%;
  background:
    linear-gradient(0deg, rgba(184,240,0,.07), transparent 70%),
    radial-gradient(ellipse 90% 80% at 70% 100%, rgba(61,220,255,.08), transparent 60%);
  pointer-events: none;
}
.heroStage__vignette{
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(3,6,10,.82) 0%, rgba(3,6,10,.45) 28%, rgba(3,6,10,.08) 52%, rgba(3,6,10,.25) 100%),
    linear-gradient(180deg, rgba(3,6,10,.45) 0%, transparent 22%, transparent 58%, rgba(3,6,10,.78) 100%);
}
@keyframes heroOrb{
  0%,100%{ transform: translate3d(0,0,0) scale(1); opacity:.62; }
  50%{ transform: translate3d(-12px,-22px,0) scale(1.08); opacity:.88; }
}
@keyframes heroMeshDrift{
  from{ transform: translate3d(-1.2%, -.6%, 0); }
  to{ transform: translate3d(1.4%, .8%, 0); }
}
@keyframes heroShaft{
  0%,100%{ opacity:.55; transform: translateX(0); }
  50%{ opacity:.95; transform: translateX(18px); }
}

.heroInner{
  position: relative;
  z-index: 2;
  width: 100%;
  padding-top: clamp(48px, 10vh, 110px);
  padding-bottom: clamp(56px, 12vh, 120px);
}
.hero__copy{
  max-width: 620px;
  position: relative;
}
.hero__copy::before{
  content:"";
  position:absolute;
  inset: -36px -40px -48px -28px;
  background:
    radial-gradient(520px 340px at 18% 35%, rgba(3,6,10,.72), transparent 72%);
  z-index: -1;
  pointer-events: none;
}
.heroBrand{
  font-family: var(--font-display);
  font-weight:800;
  font-size: clamp(28px, 4.2vw, 44px);
  letter-spacing: -.04em;
  line-height: 1;
  margin: 0 0 18px;
  text-shadow: 0 2px 48px rgba(0,0,0,.45);
  animation: heroBrandIn .9s cubic-bezier(.22,1,.36,1) both;
}
.heroBrand .brand__accent{ color: var(--accent1); }
@keyframes heroBrandIn{
  from{ opacity:0; transform: translateY(14px); letter-spacing: -.02em; }
  to{ opacity:1; transform: none; letter-spacing: -.04em; }
}
.hero__copy .h1{
  margin: 0;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(34px, 5.2vw, 58px);
  letter-spacing: -.038em;
  line-height: 1.05;
  max-width: 13ch;
  text-shadow: 0 4px 40px rgba(0,0,0,.4);
  animation: heroBrandIn 1s .08s cubic-bezier(.22,1,.36,1) both;
}
.hero__copy .sub{
  margin-top: 18px;
  max-width: 40ch;
  font-size: 16px;
  line-height: 1.65;
  color: rgba(245,248,252,.78);
  animation: heroBrandIn 1s .16s cubic-bezier(.22,1,.36,1) both;
}
.hero__buttons{
  margin-top: 28px;
  animation: heroBrandIn 1s .22s cubic-bezier(.22,1,.36,1) both;
}
.hero__buttons .btn{ min-width: 156px; border-radius: 10px; }
.hero__buttons .btn--primary,
.heroCta{
  box-shadow: 0 0 0 1px rgba(184,240,0,.28), 0 16px 48px rgba(184,240,0,.18);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.hero__buttons .btn--primary:hover,
.heroCta:hover{
  filter: brightness(1.07);
  transform: translateY(-2px);
  box-shadow: 0 0 0 1px rgba(184,240,0,.45), 0 20px 56px rgba(184,240,0,.28);
}
.hero__buttons .btn--ghost{
  border-color: rgba(255,255,255,.22);
  background: rgba(255,255,255,.04);
  backdrop-filter: blur(8px);
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.hero__buttons .btn--ghost:hover{
  transform: translateY(-2px);
  border-color: rgba(184,240,0,.35);
  background: rgba(184,240,0,.06);
}

/* Slim market strip under hero — not inside hero clutter */
.heroTicker{
  width: 100%;
  border-top: 1px solid rgba(184,240,0,.12);
  border-bottom: 1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(90deg, rgba(184,240,0,.04), transparent 18%, transparent 82%, rgba(61,220,255,.04)),
    rgba(5,8,12,.92);
  overflow: hidden;
}
.heroTicker__track{
  display: flex;
  gap: 28px;
  padding: 11px 18px;
  width: max-content;
  animation: marquee 28s linear infinite;
}
.heroTicker__item{
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12.5px;
  color: rgba(255,255,255,.86);
  white-space: nowrap;
  font-family: var(--font-body);
}
.heroTicker__sym{ font-weight: 700; letter-spacing: .02em; color: rgba(255,255,255,.95); }
.heroTicker__price{ color: rgba(255,255,255,.7); font-variant-numeric: tabular-nums; }
.heroTicker__chg.plus{ color: var(--good); font-weight: 600; }
.heroTicker__chg.minus{ color: var(--bad); font-weight: 600; }

@media (max-width: 980px){
  .hero--landing{
    min-height: calc(100dvh - 56px);
    min-height: calc(100svh - 56px);
    align-items: flex-end;
  }
  .heroInner{
    padding-top: 56px;
    padding-bottom: 40px;
  }
  .hero__copy{ max-width: 100%; }
  .hero__copy .h1{ max-width: 14ch; font-size: clamp(30px, 9vw, 42px); }
  .heroBrand{ font-size: clamp(24px, 7vw, 34px); }
  .heroStage__orb--lime{ width: 90vw; height: 90vw; top: -8%; right: -28%; opacity: .55; }
  .heroStage__orb--cyan{ width: 70vw; height: 70vw; opacity: .45; }
  .heroStage__shafts{ opacity: .55; }
  .heroStage__mesh{ opacity: .55; }
  .heroStage__vignette{
    background:
      linear-gradient(180deg, rgba(3,6,10,.3) 0%, rgba(3,6,10,.15) 28%, rgba(3,6,10,.78) 68%, rgba(3,6,10,.94) 100%),
      linear-gradient(90deg, rgba(3,6,10,.55) 0%, transparent 55%);
  }
  .heroTicker__track{ gap: 20px; padding: 10px 14px; animation-duration: 22s; }
}
@media (prefers-reduced-motion: reduce){
  .heroStage__orb,
  .heroStage__mesh,
  .heroStage__shafts,
  .heroBrand,
  .hero__copy .h1,
  .hero__copy .sub,
  .hero__buttons,
  .heroTicker__track{ animation: none; }
}

.ticker{
  margin-top: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  border-radius: var(--r12);
  overflow: hidden;
}
.ticker__track{
  display:flex; gap:18px;
  padding: 10px 14px;
  width: max-content;
  animation: marquee 22s linear infinite;
}
.ticker__item{
  display:flex; align-items:center; gap:10px;
  font-size: 13px;
  color: rgba(255,255,255,.88);
  white-space: nowrap;
}
.ticker__sym{ font-weight: 900; letter-spacing:.3px; }
.ticker__chg.plus{ color: var(--good); }
.ticker__chg.minus{ color: var(--bad); }

@keyframes marquee{
  0%{ transform: translateX(0); }
  100%{ transform: translateX(-50%); }
}

.grid3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
@media (max-width: 900px){
  .grid3{ grid-template-columns: 1fr; }
}

.feature{
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  border-radius: 18px;
  padding: 16px;
  position: relative;
  overflow: hidden;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.feature:hover{
  transform: translateY(-2px);
  border-color: rgba(184,240,0,.22);
  background: rgba(255,255,255,.04);
}
.feature::after{
  content:"";
  position:absolute; inset:-40px;
  background: radial-gradient(220px 220px at 20% 10%, rgba(184,240,0,.10), transparent 60%);
  opacity:.8;
  transform: rotate(8deg);
}
.feature__t{ font-weight: 900; font-size: 14px; position:relative; }
.feature__d{ margin-top:8px; color: rgba(255,255,255,.70); font-size: 13px; position:relative; }

.steps{ display:grid; grid-template-columns: repeat(3,1fr); gap:14px; margin-top:14px; }
@media (max-width: 900px){ .steps{ grid-template-columns:1fr; } }
.step{
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  border-radius: 18px;
  padding: 16px;
}
.step__n{
  display:inline-flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius: 10px;
  background: rgba(184,240,0,.16);
  border:1px solid rgba(184,240,0,.25);
  font-weight: 900;
  margin-bottom: 10px;
}

.pulseDot{
  display:inline-block;
  width:8px; height:8px; border-radius: 999px;
  background: var(--good);
  box-shadow: 0 0 0 rgba(0,192,135,.0);
  animation: pulse 1.8s ease-out infinite;
}
@keyframes pulse{
  0%{ box-shadow: 0 0 0 0 rgba(0,192,135,.0); opacity:.9; }
  35%{ box-shadow: 0 0 0 8px rgba(0,192,135,.18); opacity:1; }
  100%{ box-shadow: 0 0 0 18px rgba(0,192,135,0); opacity:.7; }
}

.count{
  font-weight: 900;
  font-size: 26px;
  letter-spacing: .3px;
}
.countSub{ color: rgba(255,255,255,.70); font-size: 12px; margin-top:4px; }

.table__head > div:nth-child(5),
.bookRow > div:nth-child(5){ text-align:right; }

.table--markets .table__head, .table--markets .table__row{ grid-template-columns: 1.1fr 1fr .8fr .9fr 1.1fr; }


/* terminal pro */
.terminalShell{
  display:grid;
  grid-template-columns: 260px 1fr 340px;
  gap:14px;
  align-items:start;
}

/* Right column: stack panels neatly */
.terminalRight{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-width: 0;
}

.terminalShell--bybit{ grid-template-columns: 280px 1fr 380px; }
.terminalShell--bybit .terminalMain{ grid-template-rows: auto auto; }
.termPanel{ border-radius: 16px; }
@media (max-width: 1100px){
  .terminalShell{ grid-template-columns: 1fr; }
  .terminalRight{ order: 3; }
  .terminalMain{ order: 2; }
}

.terminalMain{
  display:grid;
  grid-template-rows: auto auto;
  gap:14px;
}

.marketList{
padding: 8px 8px 10px;
  max-height: 520px;
  overflow-y:auto;
  overflow-x:hidden;

}
.marketItem{
  display:grid;
  grid-template-columns: 1fr 56px auto;
  align-items:center;
  gap:10px;
  padding:10px 10px;
  border-radius: 14px;
  cursor:pointer;
  border:1px solid transparent;
  min-width:0;
}
.marketItem__left{ min-width:0; }
.marketItem__sym{ font-weight: 900; letter-spacing:.3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.marketItem__right{ text-align:right; min-width:92px; }
.marketItem__id{ font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:92px; display:block; margin-left:auto; }
.spark{ width:56px; opacity:.95; }
.marketItem:hover{
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.08);
}
.marketItem--active{
  background: rgba(184,240,0,.08);
  border-color: rgba(184,240,0,.22);
}
.marketItem__sym{ font-weight: 900; letter-spacing:.3px; }
.marketItem__p{ color: rgba(255,255,255,.88); font-variant-numeric: tabular-nums; }
.marketItem__chg.plus{ color: var(--good); font-weight:900; }
.marketItem__chg.minus{ color: var(--bad); font-weight:900; }

.chartHead{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding: 12px 14px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
@media (max-width: 900px){
  .chartHead{ flex-direction:column; }
}
.chartPrice__v{
  font-weight: 900;
  font-size: 30px;
  letter-spacing: .3px;
  font-variant-numeric: tabular-nums;
}
.chartPrice__m{
  margin-top: 4px;
  font-size: 13px;
  font-weight: 900;
}
.chartPrice__m.plus{ color: var(--good); }
.chartPrice__m.minus{ color: var(--bad); }

.chartStats{
  display:flex; gap:12px; flex-wrap:wrap;
}
.kv{
  display:flex; flex-direction:column;
  padding: 8px 10px;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
  min-width: 120px;
}
.kv span{ color: rgba(255,255,255,.62); font-size: 12px; }
.kv b{ margin-top: 4px; font-variant-numeric: tabular-nums; }

.tf{ display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.tf__btn{
  height:30px; padding:0 10px;
  border-radius: 12px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.82);
  cursor:pointer;
  font-weight: 900;
}
.tf__btn--active{
  background: rgba(184,240,0,.12);
  border-color: rgba(184,240,0,.25);
  color: rgba(255,255,255,.92);
}

.tf--compact{ justify-content:flex-end; }
.tf--compact .tf__btn{ height:28px; border-radius: 10px; padding: 0 9px; font-size: 12px; }

.chartWrap{ padding: 10px 14px 14px; }
.chartWrap--tall{ padding: 12px 14px 14px; }
#priceChart,.tvChart{ height:180px; }
.chartWrap--tall #priceChart,
.chartWrap--tall .tvChart{ height:240px; }
#priceChart,.tvChart{
  width:100%;
  border-radius: 16px;
  border:1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.22);
  overflow:hidden;
}
.ddLink--soon{
  opacity:.55;
  cursor:default;
  pointer-events:none;
}
.footerLink--muted{
  opacity:.55;
  cursor:default;
}

.tradeBox{ padding: 12px; display:grid; gap:10px; }
/* Order form rows (avoid conflict with .tradeRow used in "Recent trades" list) */
.orderRow{ display:grid; gap:6px; }
/* grid2 is used inside order form; global .grid2 has margin-top which breaks alignment */
.tradeBox .grid2{ margin-top: 0; }
.tradeRow{ display:grid; gap:6px; }
.quickPct{ display:flex; gap:8px; flex-wrap:wrap; }
.btn--sm{ height:32px; padding:0 10px; border-radius: 12px; font-weight: 900; }

.check{
  display:flex; gap:10px; align-items:flex-start;
  padding: 10px 12px;
  border:1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
  border-radius: 16px;
}
.check input{ margin-top: 3px; }

.split{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
}
@media (max-width: 900px){
  .split{ grid-template-columns: 1fr; }
}
.subTitle{
  font-weight: 900;
  font-size: 13px;
  margin: 8px 0;
  color: rgba(255,255,255,.86);
}

.miniTable{
  border-radius: 16px;
  border:1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.20);
  overflow:hidden;
}
.miniRow{
  display:grid;
  grid-template-columns: 1.2fr .8fr .8fr;
  gap:10px;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  font-size: 13px;
}
.miniRow:last-child{ border-bottom: none; }
.miniRow b{ font-variant-numeric: tabular-nums; }
.miniRow .plus{ color: var(--good); font-weight: 900; }
.miniRow .minus{ color: var(--bad); font-weight: 900; }
.miniRow .muted{ color: rgba(255,255,255,.62); }

.bookRow{
  position: relative;
  overflow:hidden;
}
.bookRow::before{
  content:"";
  position:absolute; inset:0;
  width: var(--bar, 0%);
  background: rgba(255,255,255,.04);
  pointer-events:none;
}
.bookRow .ask, .bookRow .bid, .bookRow .size{ position: relative; }

.trades .tradeRow{ grid-template-columns: .7fr 1fr .8fr .8fr; }
.tradeSide.plus{ color: var(--good); font-weight:900; }
.tradeSide.minus{ color: var(--bad); font-weight:900; }
.tradeTime{ text-align:right; color: rgba(255,255,255,.62); font-variant-numeric: tabular-nums; }

.brand{display:flex;align-items:center;gap:10px}
.brand__mark{width:22px;height:22px;display:block}
.brand__mark--sm{width:18px;height:18px}
.brand__name{
  font-family:var(--font-display);
  font-weight:800;
  letter-spacing:-.02em;
  font-size:16px;
  line-height:1;
}
.brand__y,.brand__accent{color:var(--accent1)}
.brand__logo{display:none}

.topnav{position:sticky;top:0;z-index:1000;backdrop-filter: blur(14px);-webkit-backdrop-filter: blur(14px)}
.topnav::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,12,16,.92),rgba(10,12,16,.62));border-bottom:1px solid rgba(255,255,255,.06);pointer-events:none}
.topnav__inner{position:relative}

/* home markets tables */
.table--ledger .table__head,.table--ledger .table__row{grid-template-columns:90px 90px 120px 1.8fr 170px}
.table--ledger .table__row>:nth-child(4){color: rgba(255,255,255,.70); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}

@media (max-width:760px){
  .table--ledger .table__head,.table--ledger .table__row{grid-template-columns:80px 70px 90px 1fr !important;}
  .table--ledger .table__head>:nth-child(4),.table--ledger .table__row>:nth-child(4){display:none !important;}
  .table--ledger .table__head>:nth-child(5),.table--ledger .table__row>:nth-child(5){display:block !important;}
}

.table--markets .table__head,.table--markets .table__row{grid-template-columns:1.1fr 1fr .8fr .9fr 1.1fr}
.table--markets2 .table__head,.table--markets2 .table__row{grid-template-columns:1.1fr 1fr 1fr .9fr}

/* admin users list */
.table--users .table__head,.table--users .table__row{grid-template-columns:1.8fr 90px 90px 120px 140px 1.6fr}

@media (max-width:860px){
  .table--markets .table__head,.table--markets .table__row{grid-template-columns:1.1fr 1fr}
  .table--markets .table__head>:nth-child(n+3),.table--markets .table__row>:nth-child(n+3){display:none}
  .table--markets2 .table__head,.table--markets2 .table__row{grid-template-columns:1.1fr 1fr}
  .table--markets2 .table__head>:nth-child(n+3),.table--markets2 .table__row>:nth-child(n+3){display:none}
}

@media (max-width:920px){
  .table--users .table__head,.table--users .table__row{grid-template-columns:1.7fr 80px 80px 110px 130px 1.5fr}
}

@media (max-width:720px){
  .table--users{ overflow-x:auto; }
  .table--users .table__head,.table--users .table__row{ min-width: 980px; }
}


/* small table */
.table--small .table__head, .table--small .table__row{ grid-template-columns: 70px 90px 1fr 1.2fr 120px; }
@media (max-width: 720px){ .table--small .table__head, .table--small .table__row{ grid-template-columns: 60px 80px 1fr 1fr 100px; } }


/* admin tables */
.table--admin .table__head, .table--admin .table__row{ grid-template-columns: 70px 2.2fr 90px 110px 110px 1.2fr 170px 1.6fr; }
.table--admin2 .table__head, .table--admin2 .table__row{ grid-template-columns: 70px 2fr 90px 110px 1.8fr 170px 1.6fr; }
.table--admin3 .table__head, .table--admin3 .table__row{ grid-template-columns: 2fr 110px 110px 1fr 170px 2fr; }
@media (max-width: 920px){
  .table--admin .table__head, .table--admin .table__row{ grid-template-columns: 60px 1.6fr 80px 90px 90px 1fr 140px 1.6fr; }
  .table--admin2 .table__head, .table--admin2 .table__row{ grid-template-columns: 60px 1.6fr 80px 90px 1.4fr 140px 1.6fr; }
  .table--admin3 .table__head, .table--admin3 .table__row{ grid-template-columns: 1.6fr 100px 100px 1fr 140px 1.6fr; }
}
@media (max-width: 720px){
  .table--admin, .table--admin2, .table--admin3{ overflow-x:auto; }
  .table--admin .table__head, .table--admin .table__row{ min-width: 920px; }
  .table--admin2 .table__head, .table--admin2 .table__row{ min-width: 840px; }
  .table--admin3 .table__head, .table--admin3 .table__row{ min-width: 860px; }
}

/* terminal order button spacing */
#placeOrderBtn{ width:100%; margin-top: 6px; }
.tradeBox{ gap:12px; }

/* Compact Bybit-like alignment for desktop trade form */
@media (min-width: 981px){
  .tradeBox .orderRow{
    grid-template-columns: 96px 1fr;
    align-items:center;
    gap: 10px;
  }
  .tradeBox .orderRow .label{ margin:0; }
  .tradeBox .orderRow > .label + *{ min-width:0; }
  .tradeBox .quickPct{ margin-left: 96px; }
  .tradeBox .check{ padding: 10px 12px; }
}

/* Book tabs (orderbook / depth / trades) */
.bookTabs{
  display:flex;
  gap:8px;
  padding: 12px;
  padding-top: 0;
}
.bookTab{
  height:32px;
  padding: 0 12px;
  border-radius: 8px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  color: rgba(255,255,255,.86);
  cursor:pointer;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .01em;
  transition: background 140ms ease, border-color 140ms ease, color 140ms ease;
}
.bookTab:hover{ background: rgba(255,255,255,.06); }
.bookTab--active{
  background: rgba(184,240,0,.10);
  border-color: rgba(184,240,0,.28);
  color: rgba(255,255,255,.95);
}
.bookPane{ padding: 0 12px 12px; }
.bookPane[hidden]{ display:none; }


/* ledger mobile override */
@media (max-width: 760px){
  .table--ledger .table__head,.table--ledger .table__row{grid-template-columns:80px 70px 90px 1fr}
  .table--ledger .table__head>:nth-child(4),.table--ledger .table__row>:nth-child(4){display:none}
  .table--ledger .table__head>:nth-child(5),.table--ledger .table__row>:nth-child(5){display:block !important}
}


/* Depth chart */
.depthWrap{ padding:12px 14px; }
.depthCanvas{ width:100%; height:180px; display:block; }
.depthLegend{
  display:flex; gap:12px; align-items:center;
  margin-top:8px; font-size:12px;
  color: rgba(255,255,255,.70);
}
.depthLegend .muted{ margin-left:auto; color: rgba(255,255,255,.55); }


/* Cabinet: portfolio + tabs */
.pfChartWrap{
  border-radius: var(--r18);
  background: rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  padding:10px;
}
#pfChart{ width:100%; height:140px; display:block; }

.pfAlloc{ display:grid; gap:10px; }
.pfAllocRow{ display:grid; grid-template-columns: 1.2fr 2.4fr 70px; gap:10px; align-items:center; }
.pfAllocLeft{ display:flex; justify-content:space-between; gap:10px; color: rgba(255,255,255,.86); font-size:13px; }
.pfAllocSym{ font-weight:900; }
.pfAllocUsd{ color: rgba(255,255,255,.62); }
.pfAllocBar{
  height:10px; border-radius:999px;
  background: rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}
.pfAllocFill{
  height:100%;
  background: linear-gradient(90deg, var(--accent1), var(--accent2));
  border-radius:999px;
}
.pfAllocPct{ text-align:right; color: rgba(255,255,255,.70); font-weight:900; font-size:12px; }

.tabsRow{ display:flex; gap:8px; flex-wrap:wrap; }
.tabPill{
  height:36px; padding:0 12px;
  border-radius: 999px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.86);
  cursor:pointer;
  font-weight:900;
}
.tabPill:hover{ background: rgba(255,255,255,.08); }
.tabPill--active{
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.16);
}
.tabPanel{ display:none; }
.tabPanel.is-active{ display:block; }

.badge--ok{ background: rgba(0,192,135,.16); border-color: rgba(0,192,135,.32); color: rgba(0,192,135,.95); }

.table--orders{ overflow:auto; }
.table--orders .table__head,.table--orders .table__row{
  grid-template-columns:120px 90px 70px 120px 120px 120px 90px 170px;
  min-width: 980px;
}
.table--trades{ overflow:auto; }
.table--trades .table__head,.table--trades .table__row{
  grid-template-columns:170px 120px 90px 120px 120px 140px;
  min-width: 860px;
}
.table--reqs{ overflow:auto; }
.table--reqs .table__head,.table--reqs .table__row{
  grid-template-columns:90px 90px 120px 1.6fr 120px 170px;
  min-width: 920px;
}
@media (max-width:760px){
  .pfAllocRow{ grid-template-columns: 1fr 1.6fr 60px; }
  #pfChart{ height:120px; }
}


/* Floating support FAB removed — support lives in header/footer only */


/* Home 'buy cheaper' block */
.dealBox{
  border-radius: var(--r18);
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.09);
  padding: 12px;
}
.dealBox__t{
  font-weight: 900;
  margin-bottom: 10px;
}
.dealBox__row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.dealBox__prices{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.dealPrice{
  background: rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.08);
  padding: 8px 10px;
  border-radius: 14px;
  font-weight: 900;
}
.dealPrice--good{
  background: rgba(24,255,136,.08);
  border-color: rgba(24,255,136,.20);
}
.dealBox__hint{ margin-top:10px; font-size:12px; color: rgba(255,255,255,.62); }


/* Toast notifications (UI) */
.toastHost{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 10px;
  pointer-events: none;
  max-width: min(420px, calc(100vw - 36px));
}
.toast{
  pointer-events: auto;
  background: rgba(12,16,22,.92);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  padding: 12px 12px;
  box-shadow: 0 18px 40px rgba(0,0,0,.45);
  backdrop-filter: blur(10px);
  display: grid;
  grid-template-columns: 20px 1fr auto;
  gap: 10px;
  align-items: start;
  transform: translateY(6px);
  opacity: 0;
  transition: opacity .18s ease, transform .18s ease;
}
.toast.show{
  opacity: 1;
  transform: translateY(0);
}
.toast__i{
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  font-size: 14px;
  margin-top: 1px;
}
.toast__t{
  font-weight: 700;
  font-size: 13px;
  line-height: 1.25;
}
.toast__m{
  font-size: 12.5px;
  line-height: 1.35;
  opacity: .92;
  margin-top: 2px;
  word-break: break-word;
}
.toast__x{
  appearance: none;
  border: 0;
  background: transparent;
  color: rgba(255,255,255,.75);
  cursor: pointer;
  padding: 4px 6px;
  border-radius: 10px;
  margin-left: 6px;
}
.toast__x:hover{
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.95);
}
.toast--success .toast__i{ background: rgba(0,200,140,.18); color: rgba(0,200,140,.95); }
.toast--error   .toast__i{ background: rgba(255,90,90,.16); color: rgba(255,90,90,.95); }
.toast--warn    .toast__i{ background: rgba(255,200,80,.16); color: rgba(255,200,80,.95); }
.toast--info    .toast__i{ background: rgba(120,180,255,.16); color: rgba(120,180,255,.95); }

@media (max-width: 560px){
  .toastHost{ right: 12px; left: 12px; max-width: unset; bottom: 78px; }
  .toast{ grid-template-columns: 20px 1fr auto; }
}


/* ---------------- Promo / Invite page ---------------- */
.promoHero{
  position: relative;
  border-radius: 22px;
  border: 1px solid var(--border);
  background: radial-gradient(1200px 480px at 15% 20%, rgba(96, 214, 255, .16), transparent 60%),
              radial-gradient(900px 420px at 85% 10%, rgba(151, 113, 255, .18), transparent 55%),
              linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
  padding: 18px;
  overflow: hidden;
}
.promoHero__bg{
  position: absolute;
  inset: -2px;
  background: radial-gradient(600px 220px at 10% 10%, rgba(0, 200, 255, .14), transparent 65%),
              radial-gradient(600px 220px at 90% 0%, rgba(255, 110, 210, .12), transparent 60%);
  filter: blur(0px);
  pointer-events: none;
}
.promoHero__grid{
  position: relative;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 16px;
  align-items: start;
}
.promoHero__left{ padding: 10px; }
.promoHero__right{ padding: 10px; }
.promoHero__cta{ display:flex; gap:10px; flex-wrap:wrap; }

.promoInvite{
  border-radius: 18px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.02);
  padding: 12px;
}
.promoInvite__t{ font-weight: 700; }
.promoInvite__row{ display:flex; gap:10px; margin-top:10px; }
.promoInvite__row .input{ flex: 1; min-width: 220px; }

.promoCard{
  border-radius: 22px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  padding: 14px;
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
}
.promoCard__top{ padding: 6px 6px 0 6px; }
.promoCard__badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  font-size: 12px;
}
.promoCard__amount{
  font-size: 38px;
  font-weight: 800;
  letter-spacing: -0.02em;
  margin-top: 10px;
}
.promoCard__desc{ margin-top: 6px; color: var(--muted); }

.promoSteps{ display:grid; gap:10px; }
.promoStep{
  display:grid;
  grid-template-columns: 32px 1fr;
  gap:10px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.18);
  border-radius: 18px;
  padding: 10px;
}
.promoStep__n{
  width: 32px; height: 32px;
  border-radius: 12px;
  display:grid;
  place-items:center;
  font-weight: 800;
  background: rgba(96, 214, 255, .14);
  border: 1px solid rgba(96, 214, 255, .22);
}
.promoStep__t{ font-weight: 700; }
.promoStep__d{ color: var(--muted); font-size: 13px; margin-top: 2px; }
.promoCard__actions{ display:flex; gap:10px; flex-wrap:wrap; }
.promoCard__fineprint{ border-top: 1px dashed rgba(255,255,255,.10); padding-top: 12px; }

@media (max-width: 980px){
  .promoHero__grid{ grid-template-columns: 1fr; }
}

@media (max-width: 560px){
  .promoInvite__row{ flex-direction: column; }
  .promoCard__amount{ font-size: 34px; }
}


/* Promo countdown */
.countdownBox{
  min-width: 220px;
  text-align:right;
  padding:12px 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.28);
  backdrop-filter: blur(10px);
}
.countdownBox__label{
  font-size: 11px;
  letter-spacing: .4px;
  text-transform: uppercase;
  color: rgba(255,255,255,.6);
}
.countdownBox__time{
  font-weight: 1000;
  font-size: 22px;
  letter-spacing: .6px;
  margin-top:6px;
  display:inline-block;
  padding: 8px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}
.countdownBox__time.is-done{ opacity: .65; }
.countdownInline .countdownBox__time{ text-align:left; }

@media (max-width: 680px){
  .countdownBox{ width: 100%; text-align:left; }
}

/* Language switcher */
.langBtn__c{ font-weight:700; letter-spacing:.08em; font-size:12px; opacity:.9; text-transform:uppercase; }

/* Modal */
.modalOverlay{ position:fixed; inset:0; background: rgba(0,0,0,.6); backdrop-filter: blur(6px); z-index: 9998; }
.modal{ position:fixed; inset:0; display:flex; align-items:center; justify-content:center; z-index: 9999; padding: 18px; }
.modalCard{ width: 100%; max-width: 420px; border-radius: 16px; border: 1px solid rgba(255,255,255,.10); background: rgba(18,18,22,.96); box-shadow: 0 22px 90px rgba(0,0,0,.55); overflow:hidden; }
.modalHead{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding: 14px 14px; border-bottom: 1px solid rgba(255,255,255,.08); }
.modalTitle{ font-weight: 800; font-size: 14px; letter-spacing: .02em; }
.modalClose{ width: 36px; height: 36px; border-radius: 10px; border: 1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.04); color: rgba(255,255,255,.92); cursor:pointer; }
.modalClose:hover{ background: rgba(255,255,255,.08); }
.modalBody{ padding: 10px 10px 14px; display:grid; gap: 8px; }
.langItem{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding: 12px 12px; border-radius: 12px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.03); color: rgba(255,255,255,.92); text-decoration:none; }
.langItem:hover{ background: rgba(255,255,255,.06); }
.modal-open{ overflow:hidden; }


/* ============================
   Cabinet (v10.24 redesign)
   ============================ */
.cabHeader{ display:flex; align-items:flex-end; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.cabHeader__actions{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }

.cabLayout{ display:grid; grid-template-columns: 320px 1fr; gap:14px; }
.cabSide{ display:flex; flex-direction:column; gap:12px; }
.cabMain{ min-width: 0; }

.cabUserCard{
  border-radius: 18px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  padding: 14px;
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
}
.cabAvatar{
  width: 46px; height:46px;
  display:grid; place-items:center;
  border-radius: 14px;
  background: radial-gradient(120px 50px at 20% 10%, rgba(212,255,74,.22), transparent 70%), rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
  font-weight: 1000;
  letter-spacing:.04em;
}
.cabUserMeta{ display:flex; flex-direction:column; gap:4px; margin-top:10px; }
.cabUserName{ font-weight: 1000; font-size: 14px; letter-spacing:.01em; }
.cabUserSub{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; color: rgba(255,255,255,.70); font-size: 12px; }
.cabDot{ opacity:.6; }
.cabUserBadges{ display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }

.cabMenu{ display:flex; flex-direction:column; gap:8px; }
.cabMenuBtn{
  display:flex; align-items:center; gap:10px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  color: rgba(255,255,255,.90);
  cursor:pointer;
  font-weight: 900;
  text-align:left;
  position:relative;
}
.cabMenuBtn:hover{ background: rgba(255,255,255,.06); }
.cabMenuBtn--active{
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.18);
}
.cabMenuI{ width: 22px; height:22px; display:grid; place-items:center; color: rgba(255,255,255,.86); }
.cabMenuBadge{
  margin-left:auto;
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.76);
}
.cabMenuBadge.ok{ background: rgba(0,192,135,.16); border-color: rgba(0,192,135,.30); color: rgba(0,192,135,.92); }
.cabMenuBadge.warn{ background: rgba(212,255,74,.14); border-color: rgba(212,255,74,.28); color: rgba(212,255,74,.95); }

.cabSideHint{
  border-radius: 18px;
  border:1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.22);
  padding: 12px;
}
.cabSideHintRow{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:8px; }

.cabPanel{ display:none; }
.cabPanel.is-active{ display:block; }

.cabGrid2{ display:grid; gap:14px; grid-template-columns: 1fr 1fr; }
@media (max-width: 980px){
  .cabLayout{ grid-template-columns: 1fr; }
  .cabGrid2{ grid-template-columns: 1fr; }
}

.pfChartWrap{
  width: 100%;
  border-radius: 14px;
  background: rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}
#pfChart{ width:100%; height:140px; display:block; }

.pfAlloc{
  display:grid;
  gap:8px;
  padding:10px;
  border-radius: 18px;
  background: rgba(0,0,0,.14);
  border:1px solid rgba(255,255,255,.08);
}
.pfAllocRow{
  display:grid;
  grid-template-columns: 170px 1fr 56px;
  gap:12px;
  align-items:center;
  padding:8px 8px;
  border-radius: 14px;
}
.pfAllocRow:hover{ background: rgba(255,255,255,.03); }
.pfAllocLeft{ display:grid; gap:2px; align-items:start; }
.pfAllocSym{ font-weight: 1000; letter-spacing:.2px; }
.pfAllocUsd{ color: rgba(255,255,255,.70); font-size: 12px; }
.pfAllocBar{ height: 8px; border-radius: 999px; background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); overflow:hidden; }
.pfAllocFill{ height:100%; border-radius: 999px; background: linear-gradient(90deg, rgba(184,240,0,.9), rgba(212,255,74,.95)); }
.pfAllocPct{ text-align:right; color: rgba(255,255,255,.78); font-size: 12px; font-weight: 1000; font-variant-numeric: tabular-nums; }

.cabQuick{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:10px;
  padding:10px;
  border-radius: 18px;
  background: rgba(0,0,0,.14);
  border:1px solid rgba(255,255,255,.08);
}
.cabQuickBtn{
  display:flex; align-items:center; justify-content:center;
  gap:10px;
  height: 44px;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.92);
  text-decoration:none;
  font-weight: 900;
  font-size: 13px;
}
.cabQuickBtn:hover{ background: rgba(255,255,255,.07); }
.cabQuickI{ width: 26px; height:26px; border-radius: 10px; display:grid; place-items:center; background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10); font-size: 14px; }
@media (max-width: 680px){ .cabQuick{ grid-template-columns: 1fr 1fr; } }

.cabKycRow{ display:flex; gap:14px; justify-content:space-between; flex-wrap:wrap; }
.cabKycStatus{ margin-top:6px; }

.cabSteps{ display:grid; gap:10px; }
.cabStep{ display:flex; gap:12px; align-items:flex-start; padding: 10px 10px; border-radius: 14px; border:1px solid rgba(255,255,255,.08); background: rgba(0,0,0,.18); }
.cabStepN{ width: 28px; height:28px; border-radius: 10px; display:grid; place-items:center; font-weight:1000; background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10); }
.cabStepT{ font-weight: 1000; }
.cabStep.is-done{ border-color: rgba(0,192,135,.22); background: rgba(0,192,135,.08); }
.cabStep.is-done .cabStepN{ background: rgba(0,192,135,.16); border-color: rgba(0,192,135,.30); }
.cabStep.is-warn{ border-color: rgba(212,255,74,.22); background: rgba(212,255,74,.06); }
.cabStep.is-warn .cabStepN{ background: rgba(212,255,74,.14); border-color: rgba(212,255,74,.28); }

.cabKycBanner{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; padding: 12px; border-radius: 18px; border:1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.03); }
.cabKycBig{ margin-top:6px; }
@media (max-width: 820px){ .cabKycBanner{ grid-template-columns: 1fr; } }

.badge--warn{ background: rgba(212,255,74,.14); border-color: rgba(212,255,74,.28); color: rgba(212,255,74,.95); }
.badge--bad{ background: rgba(255,90,90,.14); border-color: rgba(255,90,90,.28); color: rgba(255,120,120,.95); }
.badge--muted{ background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.14); color: rgba(255,255,255,.80); }

/* KYC page */
.kycLayout{ display:grid; grid-template-columns: 1fr 1fr; gap:14px; }
@media (max-width: 980px){ .kycLayout{ grid-template-columns: 1fr; } }
.kycStatusLine{ display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.kycCost{ display:flex; align-items:flex-end; justify-content:space-between; gap:10px; flex-wrap:wrap; padding: 10px 10px; border-radius: 14px; border:1px solid rgba(255,255,255,.08); background: rgba(0,0,0,.18); }
.kycCostV{ font-weight: 1000; }
.kycHelpList{ display:grid; gap:10px; margin-top:10px; }
.kycHelpItem{ padding: 10px 10px; border-radius: 14px; border:1px solid rgba(255,255,255,.08); background: rgba(0,0,0,.14); color: rgba(255,255,255,.80); }

/* KYC file picker (verify.php) */
.fileBlock{ display:grid; gap:8px; }
.fileField{ position:relative; display:flex; align-items:center; gap:10px; padding: 10px; border-radius: 14px; border:1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.03); }
.fileField__input{ position:absolute; opacity:0; pointer-events:none; width:0; height:0; }
.fileField__btn{ cursor:pointer; display:inline-flex; align-items:center; justify-content:center; height:40px; padding: 0 14px; border-radius: 12px; border:1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.06); color: rgba(255,255,255,.92); font-weight:1000; white-space:nowrap; }
.fileField__btn:hover{ background: rgba(255,255,255,.09); }
.fileField__name{ flex:1; min-width:0; font-size:13px; color: rgba(255,255,255,.72); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fileField.is-picked .fileField__name{ color: rgba(255,255,255,.92); }
.fileHint{ margin-top:6px; font-size:13px; color: rgba(255,255,255,.78); }
.fileMeta{ font-size:12px; }
@media (max-width: 520px){
  .fileField{ flex-wrap:wrap; }
  .fileField__name{ flex: 1 1 100%; }
}

/* Portfolio polish */
.pfHead{ display:flex; align-items:flex-end; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.pfHeadVal{ margin-top:4px; }
.pfValueKbd{ display:inline-flex; align-items:center; padding: 7px 12px; border-radius: 14px; border:1px solid rgba(255,255,255,.14); background: rgba(0,0,0,.22); color: rgba(255,255,255,.94); font-weight:1000; font-size: 18px; letter-spacing: .2px; }
.pfHeadMeta{ text-align:right; }
.pfHeadMetaV{ font-weight: 900; color: rgba(255,255,255,.86); }

.pfChartWrap{ padding: 8px; }
#pfChart{ display:block; width:100%; height:156px; border-radius: 12px; background: rgba(255,255,255,.02); }

.pfAllocRow{ grid-template-columns: 160px 1fr 56px; }
.pfAllocLeft{ display:grid; gap:2px; align-items:start; }
.pfAllocSym{ display:inline-flex; align-items:center; gap:8px; font-weight:1000; letter-spacing:.2px; }
.pfAllocSym:before{ content:""; width:8px; height:8px; border-radius:999px; background: rgba(255,255,255,.26); border:1px solid rgba(255,255,255,.18); }
.pfAllocUsd{ font-size: 12px; color: rgba(255,255,255,.70); }

@media (max-width: 920px){
  .pfAllocRow{ grid-template-columns: 140px 1fr 52px; }
}
@media (max-width: 520px){
  .pfHeadMeta{ text-align:left; }
  .pfAllocRow{ grid-template-columns: 1fr; gap:8px; }
  .pfAllocPct{ justify-self:start; }
}

/* ===== v10.24.5: Portfolio UI tweaks (alloc list + quick actions) ===== */
.pfAllocRow{
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.06);
}
.pfAllocRow:hover{
  background: rgba(255,255,255,.035);
  border-color: rgba(255,255,255,.10);
}
.pfAllocSym{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 4px 10px;
  border-radius: 999px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.22);
  width: fit-content;
}
.pfAllocSym:before{
  width: 10px;
  height: 10px;
  border: 0;
  background: linear-gradient(90deg, rgba(184,240,0,.9), rgba(212,255,74,.95));
}
.pfAllocUsd{
  font-variant-numeric: tabular-nums;
}
.pfAllocBar{ height: 10px; }

.cabQuick{
  background: rgba(0,0,0,.12);
}
.cabQuickBtn{
  justify-content:flex-start;
  padding: 0 12px;
}
.cabQuickI{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: rgba(212,255,74,.12);
  border-color: rgba(212,255,74,.22);
  color: rgba(212,255,74,.95);
}
.cabQuickBtn:hover .cabQuickI{
  background: rgba(212,255,74,.18);
  border-color: rgba(212,255,74,.30);
}
.cabQuickI svg{ width:18px; height:18px; }

/* ===== v10.25: Topup UI (Crypto / Broker) ===== */
.depShell{
  margin-top: 14px;
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 12px;
  align-items:start;
}
.depTabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.depTab{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.86);
  text-decoration:none;
  font-weight: 900;
}
.depTab:hover{ background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.14); }
.depTab--on{
  background: rgba(212,255,74,.14);
  border-color: rgba(212,255,74,.28);
  color: rgba(255,232,180,.98);
}
.depTab svg{ width:18px; height:18px; opacity:.92; }

.depTitle{ font-weight: 1000; letter-spacing:-.2px; }
.depSub{ margin-top:6px; color: rgba(255,255,255,.66); line-height:1.6; font-size:14px; }

.depFormGrid{
  margin-top: 12px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.depFormGrid .input, .depFormGrid select{ width:100%; }
.depSpan2{ grid-column: 1 / -1; }

.depSummary{
  margin-top: 12px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  padding: 10px 12px;
  border-radius: var(--r18);
  background: rgba(0,0,0,.16);
  border: 1px solid rgba(255,255,255,.08);
}
.depBadge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.84);
  font-size: 12px;
  font-weight: 900;
}
.depBadge b{ color: rgba(255,255,255,.94); }

.depAddr{
  margin-top: 12px;
  display:grid;
  grid-template-columns: 1fr 160px;
  gap: 12px;
  align-items:stretch;
}
.depAddrBox{
  border-radius: var(--r18);
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  padding: 12px;
}
.depAddrLabel{ color: rgba(255,255,255,.62); font-size: 12px; }
.depAddrValue{
  margin-top: 8px;
  font-weight: 900;
  word-break: break-all;
  font-variant-numeric: tabular-nums;
}
.depAddrActions{ margin-top: 10px; display:flex; gap:10px; flex-wrap:wrap; }

.depQr{
  border-radius: var(--r18);
  background: rgba(0,0,0,.16);
  border: 1px solid rgba(255,255,255,.10);
  padding: 10px;
  display:flex;
  flex-direction:column;
  gap: 8px;
  align-items:center;
  justify-content:center;
}
.depQrBox{
  width: 132px;
  height: 132px;
  border-radius: 14px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.10) 1px, transparent 1px) 0 0/10px 10px,
    linear-gradient(rgba(255,255,255,.10) 1px, transparent 1px) 0 0/10px 10px,
    radial-gradient(70px 60px at 30% 35%, rgba(212,255,74,.18), transparent 60%),
    radial-gradient(70px 60px at 70% 65%, rgba(0,229,255,.10), transparent 60%),
    rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.12);
}
.depQrHint{ color: rgba(255,255,255,.58); font-size: 12px; text-align:center; line-height:1.35; }

.depCheck{
  margin-top: 12px;
  display:grid;
  gap: 8px;
}
.depCheckItem{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding: 10px 12px;
  border-radius: var(--r18);
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.74);
  line-height:1.45;
}
.depCheckDot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  margin-top: 5px;
  background: rgba(212,255,74,.9);
  box-shadow: 0 0 0 3px rgba(212,255,74,.18);
  flex: 0 0 auto;
}

.brokerGrid{
  margin-top: 10px;
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
}
.brokerCard{
  border-radius: var(--r18);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  padding: 12px;
  cursor:pointer;
  display:flex;
  gap: 12px;
  align-items:center;
}
.brokerCard:hover{ background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.14); }
.brokerCard--on{
  background: rgba(212,255,74,.10);
  border-color: rgba(212,255,74,.22);
}
.brokerAva{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 1000;
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.9);
}
.brokerMeta{ min-width: 0; }
.brokerName{ font-weight: 1000; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.brokerEmail{ margin-top: 4px; color: rgba(255,255,255,.62); font-size: 12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.depSideCard .list{ margin-top: 10px; }

@media (max-width: 980px){
  .depShell{ grid-template-columns: 1fr; }
}
@media (max-width: 560px){
  .depFormGrid{ grid-template-columns: 1fr; }
  .depAddr{ grid-template-columns: 1fr; }
  .brokerGrid{ grid-template-columns: 1fr; }
}

/* --- PWA install button --- */
.installFab{
  position: fixed;
  right: 18px;
  bottom: 86px;
  z-index: 1199;
  display:flex;
  align-items:center;
  gap:10px;
  padding: 10px 12px;
  border-radius: 999px;
  color: rgba(255,255,255,.92);
  background: rgba(0,0,0,.32);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 14px 50px rgba(0,0,0,.38);
  font-weight: 900;
  cursor: pointer;
  backdrop-filter: blur(10px);
}
.installFab__i{ font-size: 16px; line-height: 1; }
.installFab__t{ font-size: 13px; }
.installFab:hover{ transform: translateY(-1px); }
.installFab:disabled{ opacity:.55; cursor: default; }
@media (max-width: 740px){
  .installFab__t{ display:none; }
  .installFab{ padding: 12px; }
}
body.nav-open .installFab,
body.modal-open .installFab{
  opacity: 0;
  pointer-events: none;
}


/* terminal mobile tabs + advanced trade UI */
.termMobileTabs{ display:none; }
.termTab{ }
/* Terminal-only grid2: prevent overflow in trade panel (TP/SL + Advanced) */
body.hasTermTabs .grid2{
  margin-top: 0;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:10px;
}
body.hasTermTabs .grid2 > *{ min-width:0; }
body.hasTermTabs .grid2 .input,
body.hasTermTabs .grid2 .select{ width:100%; box-sizing:border-box; }
body.hasTermTabs .grid2 .check{ width:100%; box-sizing:border-box; }

.levWrap{ display:flex; align-items:center; gap:10px; width:100%; }
.range{ width:100%; }
.termTabBtn{ flex:1; border:1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.03); color: rgba(255,255,255,.86);
  padding:10px 8px; border-radius: 14px; font-weight: 900; font-size: 12px; letter-spacing: .2px; }
.termTabBtn--active{ background: rgba(184,240,0,.10); border-color: rgba(184,240,0,.28); color:#fff; }

@media (max-width: 980px){
  body.hasTermTabs .page{ padding-bottom: 84px; }
  .termMobileTabs{
    display:flex;
    position:fixed;
    left:12px; right:12px; bottom:12px;
    z-index: 50;
    gap:8px;
    padding:10px;
    border-radius: 20px;
    background: rgba(10,14,22,.88);
    border: 1px solid rgba(255,255,255,.10);
    backdrop-filter: blur(10px);
  }
  .termTab{ display:none; }
  .termTab.termTab--active{ display:block; }
  /* Make sticky terminal header opaque (prevents content from showing through while scrolling) */
  .terminalTop{
    position:sticky;
    top: var(--topnav-h, 58px);
    z-index: 30;
    background: rgba(10,14,22,.92);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 18px;
    padding: 10px 12px 12px;
    margin-top: 8px;
    backdrop-filter: blur(10px);
  }

  /* Default: stack grid2 on phones, but keep Advanced switches in 2 columns */
  body.hasTermTabs .grid2{ grid-template-columns: 1fr; }
  body.hasTermTabs [data-term-tab="trade"] #advRow .grid2{ grid-template-columns: repeat(2, minmax(0, 1fr)); }

  /* Keep Buy/Sell tabs visible while scrolling the order form */
  body.hasTermTabs [data-term-tab="trade"] .tabs--row{
    position: sticky;
    top: calc(var(--topnav-h, 58px) + var(--termTop-h, 0px) + 10px);
    z-index: 28;
    margin: 10px 12px 0;
    padding: 10px !important;
    background: rgba(10,14,22,.88);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 16px;
    backdrop-filter: blur(10px);
  }

  /* Keep CTA/button visible above the bottom tab bar */
  body.hasTermTabs [data-term-tab="trade"] .tradeBox{
    padding-bottom: calc(120px + env(safe-area-inset-bottom, 0px));
  }
  body.hasTermTabs [data-term-tab="trade"] #placeOrderBtn{
    position: sticky;
    bottom: calc(84px + env(safe-area-inset-bottom, 0px) + 12px);
    z-index: 5;
  }

  /* Avoid Support FAB covering bottom tabs */
}

/* ===== Terminal premium polish ===== */
.page:has(.terminalShell){
  padding-top: 14px;
}
.terminalTop--bybit{
  padding: 4px 0 14px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  margin-bottom: 14px;
}
.tKpi{
  border-radius: 10px;
  padding: 8px 12px;
  background: rgba(255,255,255,.028);
  border: 1px solid rgba(255,255,255,.07);
  min-width: 104px;
  transition: border-color 160ms ease, background 160ms ease;
}
.tKpi:hover{
  border-color: rgba(184,240,0,.18);
  background: rgba(184,240,0,.04);
}
.tKpi__l{
  font-size: 10px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(255,255,255,.48);
  font-weight: 600;
}
.tKpi__v{
  margin-top: 4px;
  font-family: var(--font-display);
  font-weight: 750;
  font-size: 15px;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.01em;
}
.terminalShell--bybit{
  gap: 12px;
  align-items: stretch;
}
.terminalShell--bybit .termPanel{
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.09);
}
.terminalShell--bybit .panel__top{
  padding: 10px 12px;
  background: rgba(0,0,0,.18);
}
.terminalShell--bybit .panel__title{
  font-family: var(--font-display);
  font-weight: 750;
  letter-spacing: -.01em;
  font-size: 14px;
}
.chartWrap--tall{
  position: relative;
  padding: 8px 10px 12px;
  background:
    radial-gradient(520px 220px at 50% 0%, rgba(184,240,0,.05), transparent 60%),
    rgba(0,0,0,.16);
}
.chartWrap--tall #priceChart,
.chartWrap--tall .tvChart{
  height: min(42vh, 420px);
  min-height: 280px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.07);
  background:
    linear-gradient(180deg, rgba(255,255,255,.02), transparent),
    rgba(0,0,0,.28);
  position: relative;
}
.chartWrap--tall .tvChart iframe,
.chartWrap--tall .tvChart > div{
  width: 100% !important;
  height: 100% !important;
}
.lwChartHost{
  width: 100%;
  height: 100%;
  min-height: 260px;
  position: relative;
}
/* Center column: order book + recent trades side-by-side */
.termDepthGrid{
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 0;
  min-height: 280px;
}
.termDepthCol{
  min-width: 0;
  border-right: 1px solid rgba(255,255,255,.07);
}
.termDepthCol--trades{
  border-right: none;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.termDepthCol--trades .trades{
  flex: 1;
  max-height: 320px;
  overflow-y: auto;
  padding: 8px 10px 12px;
}
.termDepthPanel .book{
  max-height: 320px;
  overflow-y: auto;
}
@media (max-width: 900px){
  .termDepthGrid{ grid-template-columns: 1fr; }
  .termDepthCol{ border-right: none; border-bottom: 1px solid rgba(255,255,255,.07); }
}
.tf--compact .tf__btn{
  height: 26px;
  border-radius: 7px;
  padding: 0 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .02em;
}
.tf__btn--active{
  background: rgba(184,240,0,.14);
  border-color: rgba(184,240,0,.32);
  color: #fff;
}
.marketList{
  max-height: min(62vh, 560px);
  scrollbar-width: thin;
  scrollbar-color: rgba(184,240,0,.25) transparent;
}
.marketItem{
  border-radius: 10px;
  padding: 9px 10px;
  transition: background 140ms ease, border-color 140ms ease;
}
.marketItem--active{
  background: rgba(184,240,0,.09);
  border-color: rgba(184,240,0,.28);
  box-shadow: inset 2px 0 0 var(--accent1);
}
.termEmpty{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  padding: 18px 14px;
  color: rgba(255,255,255,.55);
  font-size: 13px;
  line-height: 1.45;
  border: 1px dashed rgba(255,255,255,.1);
  border-radius: 10px;
  background: rgba(255,255,255,.02);
  margin: 4px;
}
.termEmpty__t{
  font-family: var(--font-display);
  font-weight: 700;
  color: rgba(255,255,255,.78);
  font-size: 13px;
}
.termEmpty__d{ color: rgba(255,255,255,.48); font-size: 12px; }
.termLoading{
  padding: 14px;
  display: grid;
  gap: 8px;
}
.termLoading__bar{
  height: 10px;
  border-radius: 6px;
  background: linear-gradient(90deg, rgba(255,255,255,.04), rgba(184,240,0,.08), rgba(255,255,255,.04));
  background-size: 200% 100%;
  animation: termShimmer 1.2s ease-in-out infinite;
}
@keyframes termShimmer{
  0%{ background-position: 100% 0; }
  100%{ background-position: -100% 0; }
}
.bookRow{
  font-variant-numeric: tabular-nums;
  font-size: 12.5px;
  padding: 3px 8px;
  transition: background 80ms ease;
}
.bookRow:hover{ background: rgba(255,255,255,.04); }
.bookRow::before{
  background: linear-gradient(90deg, transparent, rgba(184,240,0,.10));
}
.book .ask{ color: var(--bad); }
.book .bid{ color: var(--good); }
.midRow .mid{
  font-family: var(--font-display);
  font-weight: 750;
  font-size: 16px;
  letter-spacing: -.02em;
}
.tabs--row .tab{
  border-radius: 8px;
  font-weight: 700;
  transition: background 140ms ease, color 140ms ease;
}
.tradeBox .input,
.tradeBox .select{
  border-radius: 8px;
  height: 38px;
  transition: border-color 140ms ease, box-shadow 140ms ease;
}
.tradeBox .input:focus,
.tradeBox .select:focus{
  border-color: rgba(184,240,0,.35);
  box-shadow: 0 0 0 3px rgba(184,240,0,.08);
  outline: none;
}
.quickPct .btn--sm{
  border-radius: 7px;
  flex: 1;
  min-width: 0;
  font-weight: 700;
  font-size: 12px;
}
.quickPct .btn--sm:hover{
  border-color: rgba(184,240,0,.3);
  color: #fff;
}
#placeOrderBtn{
  height: 42px;
  border-radius: 10px;
  font-weight: 800;
  letter-spacing: .02em;
}
.summary{
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.22);
  padding: 10px 12px;
}
.sumRow{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 12.5px;
  padding: 4px 0;
  color: rgba(255,255,255,.62);
}
.sumRow b{
  color: rgba(255,255,255,.92);
  font-variant-numeric: tabular-nums;
}
.nav__link:hover{
  background: rgba(184,240,0,.06);
  color: rgba(255,255,255,.95);
}
.nav__link[aria-current="page"],
.nav__link.is-active{
  color: var(--accent1);
}
.topnav{
  border-bottom-color: rgba(255,255,255,.07);
}
.footer{
  margin-top: 56px;
  padding: 28px 0 22px;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.22));
}
.footerCol__t{
  font-family: var(--font-display);
  font-size: 13px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: rgba(255,255,255,.78);
}
.noticebar{
  border-radius: 14px;
}
.pill{
  border-radius: 8px;
}
.pill--active{
  background: rgba(184,240,0,.12);
  border-color: rgba(184,240,0,.28);
  color: #fff;
}
@media (min-width: 1101px){
  .terminalShell--bybit{ grid-template-columns: 260px minmax(0,1fr) 360px; }
  .terminalRight{ gap: 12px; }
}
@media (prefers-reduced-motion: reduce){
  .termLoading__bar{ animation: none; }
}

/* ===== Cryptovelix v11.6 polish ===== */
.terminalTop--sticky{
  position: sticky;
  top: var(--topnav-h, 58px);
  z-index: 40;
  margin: 0 -4px;
  padding: 8px 4px 10px;
  background: linear-gradient(180deg, rgba(7,11,16,.96), rgba(7,11,16,.88));
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.termStatusStrip{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 10px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.28);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}
.termStatusStrip__item b{ color: rgba(255,255,255,.92); font-weight: 700; }
.termStatusStrip__sep{
  width: 1px; height: 12px;
  background: rgba(255,255,255,.12);
}
.termStatusStrip--warn{
  border-color: rgba(245,158,11,.35);
  background: rgba(245,158,11,.08);
}
.book--dense .book__head,
.book--dense .bookRow{
  grid-template-columns: 1.1fr .9fr .9fr;
  gap: 6px;
}
.book--dense .book__head{
  font-size: 11px;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: rgba(255,255,255,.48);
  padding: 0 8px 6px;
}
.book--dense .bookRow{
  padding: 2px 8px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 12px;
}
.book--dense .total{
  text-align: right;
  color: rgba(255,255,255,.55);
  font-variant-numeric: tabular-nums;
}
.bookRow--ask::before{
  left: auto; right: 0;
  background: linear-gradient(270deg, rgba(239,68,68,.22), transparent);
}
.bookRow--bid::before{
  background: linear-gradient(90deg, transparent, rgba(34,197,94,.22));
}
.bookRow--ask:hover{ background: rgba(239,68,68,.06); }
.bookRow--bid:hover{ background: rgba(34,197,94,.06); }
.midRow{
  margin: 4px 0;
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(184,240,0,.06);
  border-color: rgba(184,255,0,.14);
}
.trades .tradeRow{
  grid-template-columns: 28px 1fr .85fr .7fr;
  gap: 6px;
  padding: 4px 6px;
  border-radius: 6px;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(255,255,255,.04);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
.trades .tradeRow:hover{ background: rgba(255,255,255,.03); }
.check--quiet{
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px dashed rgba(255,255,255,.10);
  background: rgba(255,255,255,.02);
  font-size: 12px;
  color: rgba(255,255,255,.62);
}
.check--quiet b{ color: var(--accent1); font-weight: 800; }
.discountQuiet{ line-height: 1.35; }
.ordersTabs{
  display: flex;
  gap: 2px;
  padding: 0 0 10px;
  border-bottom: 1px solid rgba(255,255,255,.07);
  margin-bottom: 10px;
}
.ordersTab{
  height: 30px;
  padding: 0 12px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: rgba(255,255,255,.58);
  font-weight: 700;
  font-size: 12px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color 140ms ease, background 140ms ease;
}
.ordersTab:hover{ color: rgba(255,255,255,.88); background: rgba(255,255,255,.04); }
.ordersTab--active{
  color: #fff;
  background: rgba(184,240,0,.10);
}
.ordersPane[hidden]{ display: none; }
.ooBadge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 6px;
  background: rgba(184,240,0,.18);
  border: 1px solid rgba(184,240,0,.32);
  color: var(--accent1);
  font-size: 11px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.ooBadge--inline{ margin-left: 2px; }
.miniTable--orders{ border-radius: 10px; }
.miniRow--order{
  grid-template-columns: 1.2fr 1.4fr auto;
  align-items: center;
  padding: 8px 10px;
  font-size: 12.5px;
  transition: background 180ms ease, opacity 180ms ease, transform 180ms ease;
}
.miniRow__act{ text-align: right; }
.btnCancel{
  height: 26px;
  padding: 0 10px;
  border-radius: 6px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.78);
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  transition: border-color 120ms ease, background 120ms ease, color 120ms ease;
}
.btnCancel:hover{
  border-color: rgba(239,68,68,.4);
  background: rgba(239,68,68,.12);
  color: #fff;
}
.miniRow--gone{ opacity: 0; transform: translateX(8px); }
.miniTable--flash{
  animation: ooFlash .65s ease;
}
@keyframes ooFlash{
  0%{ box-shadow: inset 0 0 0 1px rgba(184,240,0,.0); }
  35%{ box-shadow: inset 0 0 0 1px rgba(184,240,0,.45); background: rgba(184,240,0,.06); }
  100%{ box-shadow: inset 0 0 0 1px rgba(184,240,0,.0); }
}
.btn--buy{ /* default primary */ }
.btn--sell{
  background: linear-gradient(135deg, #ef4444, #f97316) !important;
  color: #fff !important;
  border-color: transparent !important;
}
.tradeBox--orders{ padding-top: 4px; }

/* Markets pro table */
.marketsToolbar{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.marketsToolbar .input--search{ flex: 1; min-width: 180px; max-width: 320px; }
.marketsTabs{ display: flex; flex-wrap: wrap; gap: 4px; }
.mTab{
  height: 32px;
  padding: 0 12px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  color: rgba(255,255,255,.72);
  font-weight: 700;
  font-size: 12px;
  cursor: pointer;
  transition: background 140ms ease, border-color 140ms ease, color 140ms ease;
}
.mTab:hover{ background: rgba(255,255,255,.06); color: #fff; }
.mTab--active{
  background: rgba(184,240,0,.12);
  border-color: rgba(184,240,0,.3);
  color: #fff;
}
.marketsSort{ display: flex; align-items: center; gap: 8px; margin-left: auto; }
.select--sm{ height: 32px; border-radius: 8px; font-size: 12px; }
.table--marketsPro .table__head,
.table--marketsPro .table__row{
  grid-template-columns: 1.35fr .95fr .7fr .7fr 1fr .95fr .7fr !important;
  gap: 8px;
  align-items: center;
}
.table--marketsPro .table__row{
  padding: 10px 12px;
  border-radius: 10px;
  transition: background 140ms ease, border-color 140ms ease;
  border: 1px solid transparent;
}
.table--marketsPro .table__row:hover{
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.08);
}
.table--marketsPro .mRow--sel{
  background: rgba(184,240,0,.07);
  border-color: rgba(184,240,0,.22);
}
.mCol--pair{ display: flex; align-items: center; gap: 8px; min-width: 0; }
.mCol--pair .mSym{ font-weight: 800; }
.mBase{ font-size: 11px; }
.mSpark{ display: block; width: 56px; height: 22px; }
.mSpark svg{ width: 100%; height: 100%; display: block; }
.mEmpty{
  margin-top: 16px;
  padding: 24px;
  border-radius: 12px;
  border: 1px dashed rgba(255,255,255,.12);
  background: rgba(255,255,255,.02);
}
.starBtn{
  width: 28px; height: 28px;
  border-radius: 7px;
  border: 1px solid transparent;
  background: transparent;
  color: rgba(255,255,255,.28);
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  transition: color 120ms ease, background 120ms ease;
}
.starBtn:hover{ color: rgba(255,255,255,.7); background: rgba(255,255,255,.05); }
.starBtn--on{ color: var(--accent1); }

@media (max-width: 900px){
  .table--marketsPro .mCol--spark,
  .table--marketsPro .mCol--our,
  .table--marketsPro .mHead .mCol--spark,
  .table--marketsPro .mHead .mCol--our{ display: none; }
  .table--marketsPro .table__head,
  .table--marketsPro .table__row{
    grid-template-columns: 1.3fr .9fr .7fr .9fr .65fr !important;
  }
}
@media (max-width: 640px){
  .marketsSort{ width: 100%; margin-left: 0; }
  .table--marketsPro .table__head{ display: none; }
  .table--marketsPro .table__row{
    display: grid;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px 12px;
    padding: 14px;
    margin-bottom: 8px;
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.08);
  }
  .table--marketsPro .mCol--pair{ grid-column: 1 / -1; }
  .table--marketsPro .mCol--act{ grid-column: 1 / -1; text-align: right; }
  .table--marketsPro .mCol--spark,
  .table--marketsPro .mCol--our{ display: none; }
  .table--marketsPro .mCol--price::before,
  .table--marketsPro .mCol--chg::before,
  .table--marketsPro .mCol--vol::before{
    content: attr(data-label);
    display: block;
    font-size: 10px;
    color: rgba(255,255,255,.45);
    margin-bottom: 2px;
    text-transform: uppercase;
  }
}

/* Auth split */
.page--auth{ min-height: calc(100vh - 160px); }
.authSplit{
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 18px;
  align-items: stretch;
  margin: 28px auto 0;
  max-width: 980px;
}
.authSplit__brand{
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  padding: 32px 28px;
  border: 1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(160deg, rgba(184,240,0,.10), transparent 42%),
    linear-gradient(200deg, rgba(0,0,0,.35), rgba(255,255,255,.03)),
    radial-gradient(600px 280px at 10% 0%, rgba(184,240,0,.12), transparent 55%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 420px;
}
.authSplit__glow{
  position: absolute;
  inset: auto -20% -30% 20%;
  height: 60%;
  background: radial-gradient(circle, rgba(184,240,0,.16), transparent 65%);
  pointer-events: none;
  animation: authGlow 8s ease-in-out infinite alternate;
}
@keyframes authGlow{
  from{ transform: translateY(0); opacity: .7; }
  to{ transform: translateY(-12px); opacity: 1; }
}
.authSplit__kicker{
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
  color: rgba(255,255,255,.55);
}
.authSplit__title{
  margin: 12px 0 0;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(28px, 4vw, 40px);
  line-height: 1.08;
  letter-spacing: -.03em;
}
.authSplit__accent{ color: var(--accent1); }
.authSplit__sub{
  margin-top: 12px;
  color: rgba(255,255,255,.62);
  line-height: 1.55;
  max-width: 36ch;
}
.authSplit__points{
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}
.authSplit__points li{
  padding: 8px 0 8px 14px;
  border-left: 2px solid rgba(184,240,0,.45);
  color: rgba(255,255,255,.78);
  font-size: 13px;
  font-weight: 600;
}
.authCard--split{
  margin: 0;
  max-width: none;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 860px){
  .authSplit{ grid-template-columns: 1fr; }
  .authSplit__brand{ min-height: 0; padding: 22px 20px; }
  .authSplit__title{ font-size: 26px; }
}

/* Soon pages */
.soonHero{
  margin-top: 18px;
  padding: 28px 24px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(145deg, rgba(184,240,0,.08), transparent 40%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  position: relative;
  overflow: hidden;
}
.soonHero::after{
  content: "";
  position: absolute;
  right: -10%;
  top: -30%;
  width: 42%;
  height: 120%;
  background: radial-gradient(circle, rgba(184,240,0,.12), transparent 60%);
  pointer-events: none;
  animation: authGlow 9s ease-in-out infinite alternate;
}
.soonHero__kicker{
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.5);
  font-weight: 700;
}
.soonHero__title{
  margin: 8px 0 0;
  font-family: var(--font-display);
  font-size: clamp(32px, 5vw, 48px);
  font-weight: 800;
  letter-spacing: -.03em;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.soonBadge{
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 10px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  background: rgba(184,240,0,.12);
  border: 1px solid rgba(184,240,0,.28);
  color: var(--accent1);
}
.soonHero__sub{
  margin-top: 12px;
  max-width: 52ch;
  color: rgba(255,255,255,.62);
  line-height: 1.55;
}
.soonHero__cta{ margin-top: 18px; display: flex; gap: 10px; flex-wrap: wrap; }
.soonGrid{
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
}
.soonTile{
  padding: 16px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
}
.soonTile__t{ font-weight: 800; font-family: var(--font-display); }
.soonTile__d{ margin-top: 6px; color: rgba(255,255,255,.58); font-size: 13px; line-height: 1.45; }
@media (max-width: 800px){
  .soonGrid{ grid-template-columns: 1fr; }
}

/* Wallet / empty */
.walletSummary{
  display: flex;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding: 18px 20px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(135deg, rgba(184,240,0,.07), transparent 45%),
    rgba(255,255,255,.03);
}
.walletSummary__val{
  margin-top: 4px;
  font-family: var(--font-display);
  font-size: 32px;
  font-weight: 800;
  letter-spacing: -.03em;
}
.walletSummary__note{ margin-top: 8px; color: rgba(255,255,255,.55); font-size: 13px; max-width: 48ch; }
.walletSummary__actions{ display: flex; gap: 8px; flex-wrap: wrap; align-items: flex-start; }
.table--wallet .table__head,
.table--wallet .table__row{ grid-template-columns: .8fr 1fr .9fr 1.2fr; }
.walletRowActs{ display: flex; gap: 12px; justify-content: flex-end; }
.emptyState{
  padding: 28px 22px;
  border-radius: 14px;
  border: 1px dashed rgba(255,255,255,.14);
  background: rgba(255,255,255,.02);
  text-align: left;
}
.emptyState__t{ font-family: var(--font-display); font-weight: 800; font-size: 18px; }
.emptyState__d{ margin: 8px 0 14px; color: rgba(255,255,255,.55); }

/* Header / footer micro */
.nav__link{
  transition: color 140ms ease, background 140ms ease, transform 140ms ease;
}
.nav__link.is-active{
  background: rgba(184,240,0,.08);
}
.btn.is-active{
  box-shadow: inset 0 0 0 1px rgba(184,240,0,.35);
}
.footerLink{
  transition: color 140ms ease, transform 140ms ease;
}
.footerLink:hover{ transform: translateX(2px); }
.brand__mark{
  transition: transform 200ms ease;
}
.brand:hover .brand__mark{ transform: rotate(-8deg) scale(1.04); }

.pfHeadVal .pfValueKbd{
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -.02em;
}
.cabUserCard{
  border-radius: 14px;
}

@media (prefers-reduced-motion: reduce){
  .authSplit__glow, .soonHero::after, .miniTable--flash, .brand__mark{ animation: none !important; transition: none !important; }
}

/* ===== v11.7 Trust / cabinet / depth ===== */
.feesHero{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
  margin-top:16px;
}
.feesHero__card{
  padding:16px 18px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(145deg, rgba(184,240,0,.07), transparent 50%),
    rgba(255,255,255,.03);
}
.feesHero__val{
  margin-top:6px;
  font-family: var(--font-display);
  font-size:28px;
  font-weight:800;
  letter-spacing:-.03em;
}
.feesHero__val--sm{ font-size:16px; letter-spacing:0; }
.feesHero__hint{ margin-top:6px; color: rgba(255,255,255,.55); font-size:13px; }
.feesTableHead{ display:flex; justify-content:space-between; gap:12px; align-items:flex-start; flex-wrap:wrap; }
.feesTable{ display:grid; gap:0; border:1px solid rgba(255,255,255,.08); border-radius:12px; overflow:hidden; }
.feesTable__head,
.feesTable__row{
  display:grid;
  grid-template-columns: .7fr 1fr .6fr .6fr;
  gap:10px;
  padding:11px 14px;
  align-items:center;
}
.feesTable__head{
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.55);
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.feesTable__row{ border-top:1px solid rgba(255,255,255,.06); }
.feesTable__row--on{
  background: rgba(184,240,0,.07);
  box-shadow: inset 2px 0 0 var(--accent1);
}
.feesTable__tier{ font-weight:800; font-family: var(--font-display); }
.feesNotes{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
  margin-top:16px;
}
.feesNote{
  padding:14px 16px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.025);
}
.feesNote__t{ font-weight:800; font-family: var(--font-display); }
.feesNote__d{ margin-top:6px; color: rgba(255,255,255,.58); font-size:13px; line-height:1.5; }
@media (max-width:900px){
  .feesHero, .feesNotes{ grid-template-columns:1fr; }
  .feesTable__head, .feesTable__row{ grid-template-columns: .8fr 1fr .55fr .55fr; font-size:13px; }
}

.helpLayout{
  display:grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(260px, .9fr);
  gap:14px;
  margin-top:14px;
  align-items:start;
}
.helpSearchBar{ display:grid; gap:10px; }
.helpCats{ display:flex; flex-wrap:wrap; gap:6px; }
.helpCat{
  appearance:none;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  color: rgba(255,255,255,.78);
  padding:7px 10px;
  border-radius:8px;
  font: inherit;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}
.helpCat--on{
  border-color: rgba(184,240,0,.35);
  background: rgba(184,240,0,.10);
  color: var(--text);
}
.faq--dense{ gap:8px; }
.faq--dense .faq__item{
  padding:10px 12px;
  border-radius:10px;
}
.faq__cat{
  display:inline-block;
  margin-right:8px;
  padding:2px 7px;
  border-radius:6px;
  background: rgba(184,240,0,.10);
  color: var(--accent1);
  font-size:11px;
  font-weight:800;
  vertical-align:middle;
}
.faqEmpty{
  padding:16px;
  color: rgba(255,255,255,.55);
  border:1px dashed rgba(255,255,255,.12);
  border-radius:10px;
}
@media (max-width:960px){
  .helpLayout{ grid-template-columns:1fr; }
}

.legalPage .legalCard{
  margin-top:14px;
  padding:22px 24px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  max-width:860px;
}
.legalCard h2{
  margin:22px 0 8px;
  font-family: var(--font-display);
  font-size:18px;
  font-weight:800;
}
.legalCard h2:first-child{ margin-top:0; }
.legalCard p, .legalCard li{
  color: rgba(255,255,255,.72);
  line-height:1.65;
  font-size:14px;
}
.legalCard ul{ padding-left:18px; }

.footerLegal{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  flex-wrap:wrap;
  gap:8px 10px;
  align-items:baseline;
  font-size:13px;
}
.footerLegal__a{
  color: rgba(255,255,255,.78);
  text-decoration:none;
  font-weight:700;
}
.footerLegal__a:hover{ color: var(--accent1); }
.footerLegal__sep{ color: rgba(255,255,255,.28); }
.footerLegal__risk{ color: rgba(255,255,255,.48); max-width:62ch; }

.statusBanner{
  margin-top:14px;
  display:flex;
  gap:12px;
  align-items:center;
  padding:16px 18px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
}
.statusBanner--ok{ box-shadow: inset 3px 0 0 var(--good); }
.statusBanner--degraded{ box-shadow: inset 3px 0 0 #F0B429; }
.statusDot{
  width:10px; height:10px; border-radius:50%;
  background: var(--good);
  box-shadow: 0 0 0 4px rgba(46,230,166,.15);
  flex:0 0 auto;
}
.statusBanner--degraded .statusDot{
  background:#F0B429;
  box-shadow: 0 0 0 4px rgba(240,180,41,.15);
}
.statusBanner__t{ font-family: var(--font-display); font-weight:800; font-size:18px; }
.statusGrid{
  margin-top:14px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:12px;
}
.statusCard{
  padding:14px 16px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.03);
}
.statusCard--bad{ border-color: rgba(255,92,108,.28); }
.statusCard__top{ display:flex; gap:10px; align-items:center; }
.statusPill{
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  padding:3px 7px;
  border-radius:6px;
  background: rgba(46,230,166,.12);
  color: var(--good);
}
.statusCard--bad .statusPill{
  background: rgba(255,92,108,.14);
  color: var(--bad);
}
.statusCard__t{ font-weight:800; }
.statusCard__d{ margin-top:8px; color: rgba(255,255,255,.55); font-size:13px; }
@media (max-width:800px){
  .statusGrid{ grid-template-columns:1fr; }
}

.cabStatRow{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap:10px;
}
.cabStat{
  padding:14px 16px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.09);
  background:
    linear-gradient(160deg, rgba(184,240,0,.06), transparent 55%),
    rgba(255,255,255,.03);
}
.cabStat__v{
  margin-top:4px;
  font-family: var(--font-display);
  font-size:22px;
  font-weight:800;
  letter-spacing:-.02em;
}
.cabStat--cta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  justify-content:flex-start;
}
.cabTimeline{ list-style:none; margin:10px 0 0; padding:0; display:grid; gap:0; }
.cabTimeline__item{
  display:grid;
  grid-template-columns: 14px minmax(0,1fr) auto;
  gap:10px;
  padding:10px 0;
  border-top:1px solid rgba(255,255,255,.06);
  align-items:start;
}
.cabTimeline__item:first-child{ border-top:0; }
.cabTimeline__dot{
  width:8px; height:8px; border-radius:50%;
  margin-top:6px;
  background: rgba(255,255,255,.35);
}
.cabTimeline__dot--plus{ background: var(--good); }
.cabTimeline__dot--minus{ background: var(--bad); }
.cabTimeline__t{ font-weight:700; font-size:13px; }
.cabTimeline__m{ font-size:12px; margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cabTimeline__at{ font-size:11px; white-space:nowrap; }
@media (max-width:900px){
  .cabStatRow{ grid-template-columns:1fr 1fr; }
  .cabTimeline__item{ grid-template-columns: 14px minmax(0,1fr); }
  .cabTimeline__at{ grid-column:2; }
}

.flowSteps{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.flowStep{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.02);
  color: rgba(255,255,255,.55);
  font-size:13px;
}
.flowStep__n{
  width:22px; height:22px;
  display:inline-grid; place-items:center;
  border-radius:7px;
  background: rgba(255,255,255,.06);
  font-weight:800;
  font-size:12px;
}
.flowStep--on{
  color: var(--text);
  border-color: rgba(184,240,0,.28);
  background: rgba(184,240,0,.08);
}
.flowStep--on .flowStep__n,
.flowStep--done .flowStep__n{
  background: rgba(184,240,0,.18);
  color: var(--accent-ink);
}
.flowStep--done{ color: rgba(255,255,255,.72); }
.flowAvail{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 12px;
}

.kycWizardBar{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap:8px;
}
.kycWizardStep{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.02);
  color: rgba(255,255,255,.5);
  font-size:13px;
}
.kycWizardStep__n{
  width:22px; height:22px; border-radius:7px;
  display:inline-grid; place-items:center;
  background: rgba(255,255,255,.06);
  font-weight:800; font-size:12px;
}
.kycWizardStep.is-on{
  color: var(--text);
  border-color: rgba(184,240,0,.25);
  background: rgba(184,240,0,.07);
}
.kycWizardStep.is-done .kycWizardStep__n{
  background: rgba(46,230,166,.2);
  color: #062016;
}
.kycWizardStep.is-warn .kycWizardStep__n{
  background: rgba(240,180,41,.22);
  color: #1a1404;
}
@media (max-width:700px){
  .kycWizardBar{ grid-template-columns:1fr 1fr; }
}

.bookSplit{
  display:grid;
  grid-template-columns: minmax(0,1.15fr) minmax(140px,.85fr);
  gap:0;
  align-items:stretch;
}
.depthMini{
  border-left:1px solid rgba(255,255,255,.07);
  padding:10px 12px 12px;
  display:flex;
  flex-direction:column;
  min-height:180px;
}
.depthMini__label{
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color: rgba(255,255,255,.48);
  margin-bottom:8px;
}
.depthSvg{
  width:100%;
  flex:1;
  min-height:120px;
  display:block;
  border-radius:8px;
  background: rgba(0,0,0,.18);
}
.depthLegend--mini{
  margin-top:8px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  font-size:11px;
}
.bookTabs{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; padding:10px 12px 0; }
.termSoundBtn{ margin-left:auto; font-size:12px; }
.termSoundBtn--on{
  border-color: rgba(184,240,0,.3);
  color: var(--accent1);
}
@media (max-width:1100px){
  .bookSplit{ grid-template-columns:1fr; }
  .depthMini{
    border-left:none;
    border-top:1px solid rgba(255,255,255,.07);
    min-height:140px;
  }
}

.toast--quiet{
  backdrop-filter: blur(8px);
  box-shadow: 0 10px 28px rgba(0,0,0,.28);
}
.toast__x{ opacity:.55; }
.toast__x:hover{ opacity:1; }
.btn--sm{ padding:8px 12px; font-size:13px; }

/* ===== v11.8 Referral / Convert / Notif / Admin / Mobile terminal ===== */
.feature--link{
  text-decoration:none;
  color:inherit;
  display:block;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}
.feature--link:hover{
  transform: translateY(-2px);
  border-color: rgba(184,240,0,.28);
}
.homeSoftCard{
  background:
    linear-gradient(145deg, rgba(184,240,0,.05), transparent 48%),
    rgba(255,255,255,.03);
}
.homeFeatures .feature__t{ font-family: var(--font-display); }

.refHero, .cvHero{
  position:relative;
  padding: 22px 4px 8px;
  overflow:hidden;
}
.refHero__glow{
  position:absolute; inset:-40% -10% auto;
  height:220px;
  background: radial-gradient(closest-side, rgba(184,240,0,.18), transparent 70%);
  pointer-events:none;
}
.refHero__kicker, .cvHero__kicker{
  color: rgba(255,255,255,.55);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.refHero__title, .cvHero__title{
  margin:10px 0 0;
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 42px);
  font-weight:800;
  letter-spacing:-.03em;
}
.refHero__sub, .cvHero__sub{
  margin-top:10px;
  max-width:52ch;
  color: rgba(255,255,255,.62);
  line-height:1.55;
}
.refGrid{
  display:grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(240px, .9fr);
  gap:14px;
  align-items:start;
}
.refStats{ display:grid; gap:10px; }
.refStat{
  padding:14px 16px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(145deg, rgba(184,240,0,.07), transparent 55%),
    rgba(255,255,255,.03);
}
.refStat__l{ color: rgba(255,255,255,.5); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.refStat__v{ margin-top:6px; font-family: var(--font-display); font-size:34px; font-weight:800; letter-spacing:-.03em; }
.refStat__v--sm{ font-size:22px; }
.refStat__d{ margin-top:4px; color: rgba(255,255,255,.55); font-size:13px; }
.refCodeRow{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.table--ref .table__head,
.table--ref .table__row{ grid-template-columns: 1.4fr .7fr 1fr; }
@media (max-width:900px){
  .refGrid{ grid-template-columns:1fr; }
}

.cvLayout{
  display:grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, .9fr);
  gap:14px;
  align-items:start;
}
.cvDirs{ display:flex; gap:8px; }
.cvDir{
  flex:1;
  appearance:none;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  color: rgba(255,255,255,.78);
  padding:10px 12px;
  border-radius:12px;
  font: inherit;
  font-weight:800;
  cursor:pointer;
}
.cvDir--on{
  border-color: rgba(184,240,0,.35);
  background: rgba(184,240,0,.10);
  color: var(--text);
}
.cvPreview{
  margin-top:14px;
  display:grid;
  gap:8px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.18);
}
.cvPreview__row{ display:flex; justify-content:space-between; gap:12px; align-items:center; }
.cvSteps{ margin:12px 0 0; padding-left:18px; color: rgba(255,255,255,.68); line-height:1.6; }
.cvSteps li{ margin:6px 0; }
@media (max-width:900px){
  .cvLayout{ grid-template-columns:1fr; }
}

.notifBell{ position:relative; }
.notifBell__btn{
  appearance:none;
  width:38px; height:38px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.86);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  position:relative;
}
.notifBell__btn:hover{ border-color: rgba(184,240,0,.28); background: rgba(184,240,0,.08); }
.notifBell__dot{
  position:absolute; top:7px; right:7px;
  width:7px; height:7px; border-radius:50%;
  background: var(--accent1);
  box-shadow: 0 0 0 3px rgba(184,240,0,.18);
}
.notifPanel{
  position:absolute;
  right:0; top: calc(100% + 8px);
  width: min(340px, calc(100vw - 28px));
  z-index: 80;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(10,14,22,.96);
  box-shadow: 0 18px 48px rgba(0,0,0,.45);
  backdrop-filter: blur(12px);
  overflow:hidden;
}
.notifPanel__head{
  display:flex; justify-content:space-between; align-items:center; gap:10px;
  padding:12px 14px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.notifPanel__t{ font-weight:800; font-family: var(--font-display); }
.notifPanel__list{ max-height: 360px; overflow:auto; }
.notifItem{
  display:block;
  padding:11px 14px;
  text-decoration:none;
  color: inherit;
  border-bottom:1px solid rgba(255,255,255,.06);
  transition: background 140ms ease;
}
.notifItem:hover{ background: rgba(255,255,255,.04); }
.notifItem__t{ font-weight:800; font-size:13px; }
.notifItem__m, .notifItem__at{ margin-top:3px; font-size:12px; }
.notifItem--success{ box-shadow: inset 2px 0 0 var(--good, #2ee6a6); }
.notifItem--error{ box-shadow: inset 2px 0 0 #ff5c6c; }
.notifItem--warn{ box-shadow: inset 2px 0 0 #F0B429; }
.notifItem--info{ box-shadow: inset 2px 0 0 rgba(184,240,0,.55); }
.notifEmpty{ padding:18px 14px; font-size:13px; }

.adminHeader{
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(135deg, rgba(184,240,0,.06), transparent 42%),
    rgba(255,255,255,.03);
  align-items: center;
}
.adminHeader .section__title{ font-family: var(--font-display); }
.adminHeader .actionsRow .btn{ border-radius: 10px; }
.table--users .table__head,
.table--admin .table__head{
  background: rgba(255,255,255,.035);
  border-radius: 10px 10px 0 0;
}
.table--users .table__row:hover,
.table--admin .table__row:hover{
  background: rgba(184,240,0,.04);
}
.adminEmpty{
  padding: 28px 20px;
  border: 1px dashed rgba(255,255,255,.14);
  border-radius: 12px;
  background: rgba(255,255,255,.02);
  text-align: left;
}
.adminEmpty__t{ font-family: var(--font-display); font-weight:800; font-size:18px; }
.adminEmpty__d{ margin-top:8px; color: rgba(255,255,255,.55); max-width:48ch; }

@media (max-width: 980px){
  .termTabBtn{
    min-height: 44px;
    padding: 12px 6px;
    font-size: 11px;
    border-radius: 12px;
    touch-action: manipulation;
  }
  .termMobileTabs{
    gap:6px;
    padding: 8px;
    bottom: calc(8px + env(safe-area-inset-bottom, 0px));
  }
  body.hasTermTabs .lwChartHost,
  body.hasTermTabs #tv_chart_container,
  body.hasTermTabs [data-term-tab="chart"] .panel__body,
  body.hasTermTabs [data-term-tab="chart"]{
    min-height: min(52vh, 420px);
  }
  body.hasTermTabs .lwChartHost{ min-height: min(48vh, 380px); }
  body.hasTermTabs .tf__btn{
    min-height: 36px;
    min-width: 40px;
    padding: 8px 10px;
  }
  body.hasTermTabs .terminalPair .select,
  body.hasTermTabs .input,
  body.hasTermTabs .select{
    min-height: 44px;
  }
  body.hasTermTabs #placeOrderBtn{
    min-height: 48px;
    font-size: 15px;
  }
  .notifPanel{ right: -8px; }
  .notifBell__btn{ width:40px; height:40px; }
}

/* ---- v11.9 density / security / heatmap / admin queue ---- */
.heatStrip{ display:grid; gap:8px; }
.heatStrip__label{ font-size:12px; letter-spacing:.04em; text-transform:uppercase; }
.heatStrip__grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
  gap:8px;
}
.heatStrip__grid--home{ grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); }
.heatCell{
  display:flex; flex-direction:column; gap:4px;
  padding:10px 10px 9px;
  border-radius: var(--r12);
  border:1px solid var(--border);
  text-decoration:none; color:inherit;
  min-height:64px;
  transition: transform 160ms ease, border-color 160ms ease;
}
.heatCell:hover{ transform: translateY(-1px); border-color: var(--border-strong); }
.heatCell__sym{ font-weight:800; font-size:12px; font-family: var(--font-display); letter-spacing:-.02em; }
.heatCell__chg{ font-size:12px; font-variant-numeric: tabular-nums; }

.apcBanner{
  margin: 0 0 14px;
  padding: 12px 14px;
  border-radius: var(--r12);
  border: 1px solid rgba(184,240,0,.28);
  background: linear-gradient(135deg, rgba(184,240,0,.10), rgba(61,220,255,.06));
}
.apcBanner__l{ font-size:11px; text-transform:uppercase; letter-spacing:.06em; color: var(--muted); }
.apcBanner__v{
  margin-top:4px; font-family: var(--font-display); font-weight:800; font-size:22px;
  color: var(--accent1); letter-spacing:-.02em;
}
.apcBanner__h{ margin-top:6px; font-size:12px; line-height:1.4; }
.apcPreview{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:10px 12px; border-radius: var(--r12);
  background: var(--panel-solid); border:1px solid var(--border);
}
.apcPreview__code{ font-family: var(--font-display); font-weight:800; color: var(--accent1); font-size:18px; }

.sessList{ display:grid; gap:10px; }
.sessRow{
  display:flex; align-items:flex-start; justify-content:space-between; gap:12px;
  padding:12px; border-radius: var(--r12);
  background: var(--panel2); border:1px solid var(--border);
}
.sessRow--current{ border-color: rgba(184,240,0,.28); box-shadow: inset 2px 0 0 var(--accent1); }
.sessRow__t{ font-weight:700; font-size:13px; }
.sessRow__m{ font-size:12px; margin-top:3px; max-width:42ch; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.paWidget{
  padding:12px; border-radius: var(--r14);
  background: var(--panel); border:1px solid var(--border);
}
.paWidget__head{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:10px; }
.paWidget__form{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.paWidget__form .select, .paWidget__form .input{ min-width:0; }
.paWidget__form #paPrice{ width:110px; }
.paItem{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  padding:8px 0; border-bottom:1px solid rgba(255,255,255,.06); font-size:13px;
}
.paItem:last-child{ border-bottom:0; }
.input--sm, .select--sm{ min-height:36px; font-size:13px; padding:6px 10px; }

.adminQueueToggle{ display:inline-flex; align-items:center; gap:10px; flex-wrap:wrap; }
.adminQueueBadge{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:22px; height:22px; padding:0 7px; border-radius:999px;
  background: var(--accent1); color: var(--accent-ink);
  font-size:12px; font-weight:800; vertical-align:middle;
}
.card--adminQueue{ background: var(--panel-solid); }
.geoStats--dense{
  display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:10px;
}
.geoStats--dense .geoStat{
  padding:14px 16px; border-radius: var(--r14);
  background: var(--panel-solid); border:1px solid var(--border);
}
.geoStats--dense .geoStat__l{ font-size:12px; color: var(--muted); }
.geoStats--dense .geoStat__v{
  margin-top:6px; font-family: var(--font-display); font-weight:800;
  font-size:28px; letter-spacing:-.03em; color: var(--text);
}
.card--analytics .geoRow__city{ font-weight:700; }
.card--analytics .geoBar{
  height:6px; border-radius:999px; background: rgba(255,255,255,.06); overflow:hidden; margin-top:6px;
}
.card--analytics .geoBar__fill{
  height:100%; border-radius:999px;
  background: linear-gradient(90deg, var(--accent1), var(--cyan));
}
@media (max-width: 800px){
  .geoStats--dense{ grid-template-columns: 1fr; }
  .sessRow{ flex-direction:column; }
}

/* --- v12: announcements, skeletons, address book, confirm, price tick --- */
.annBar{
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: rgba(184,240,0,.08);
  color: rgba(255,255,255,.9);
  font-size: 13px;
  font-weight: 600;
}
.annBar--warn{ background: rgba(240,180,41,.12); }
.annBar--ok{ background: rgba(46,230,166,.10); }
.annBar--info{ background: rgba(90,180,255,.10); }
.annBar__inner{ padding: 8px 0; }
.annBar__txt{ letter-spacing: .01em; }

.checkRow{
  display:flex; align-items:center; gap:10px;
  font-size: 13.5px; color: rgba(255,255,255,.88); cursor:pointer;
}
.checkRow input{ width:16px; height:16px; accent-color: var(--accent1); }

.addrList{ display:grid; gap:8px; }
.addrRow{
  display:flex; align-items:flex-start; justify-content:space-between; gap:10px;
  padding:10px 12px; border-radius:12px;
  border:1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.03);
}
.addrRow__t{ font-weight:700; font-size:13px; }
.addrRow__m{ font-size:12px; word-break:break-all; margin-top:2px; }

.confirmRow{
  display:flex; justify-content:space-between; gap:12px;
  padding:8px 2px; border-bottom:1px solid rgba(255,255,255,.06);
  font-size:13px;
}
.confirmRow b{ font-variant-numeric: tabular-nums; text-align:right; }

.priceTick--up{
  color: var(--good) !important;
  animation: priceFlashUp .4s ease;
}
.priceTick--down{
  color: var(--bad) !important;
  animation: priceFlashDown .4s ease;
}
@keyframes priceFlashUp{
  0%{ text-shadow: 0 0 0 transparent; transform: translateY(2px); opacity:.7; }
  40%{ text-shadow: 0 0 12px rgba(46,230,166,.35); }
  100%{ text-shadow: none; transform:none; opacity:1; }
}
@keyframes priceFlashDown{
  0%{ text-shadow: 0 0 0 transparent; transform: translateY(-2px); opacity:.7; }
  40%{ text-shadow: 0 0 12px rgba(255,92,108,.35); }
  100%{ text-shadow: none; transform:none; opacity:1; }
}

.chartSkeleton{
  position:absolute; inset:12px; z-index:2; pointer-events:none;
  display:grid; align-content:end; gap:10px; padding:12px;
  background: linear-gradient(180deg, rgba(8,12,18,.15), rgba(8,12,18,.55));
  border-radius: 12px;
  transition: opacity .35s ease;
}
.chartSkeleton.skel--done{ opacity:0; visibility:hidden; }
.chartWrap{ position: relative; }
.skel__bar{
  height: 10px; border-radius: 6px;
  background: linear-gradient(90deg, rgba(255,255,255,.04), rgba(184,240,0,.08), rgba(255,255,255,.04));
  background-size: 200% 100%;
  animation: termShimmer 1.2s ease-in-out infinite;
}
.skel__bar--lg{ height: 18px; width: 42%; }
.skel__bar--md{ width: 68%; }

.table--markets.is-skel .mRow{ opacity:.45; }
.mSkelRow .skel__bar{ margin: 6px 0; height: 12px; }

.plus{ color: var(--good); }
.minus{ color: var(--bad); }

@media (prefers-reduced-motion: reduce){
  .priceTick--up, .priceTick--down{ animation: none; }
  .skel__bar, .termLoading__bar{ animation: none; }
}
