/* BI-VEST — gold / silver on black */
:root,
html[data-theme="dark"] {
  --bs-primary: #d4af37;
  --bs-primary-rgb: 212, 175, 55;
  --bs-primary-dark: #b8962e;
  --bs-primary-2: #c0c0c0;
  --bs-success: #22c55e;
  --bs-info: #e8c547;
  --bs-warning: #f59e0b;
  --bs-danger: #ef4444;
  --bs-body-bg: #000000;
  --bs-body-color: #b8b4ae;
  --bs-heading-color: #f4f1ea;
  --bs-border-color: #242018;
  --bs-paper: #0d0d0d;
  --menu-bg: #000000;
  --menu-color: #c8c4bc;
  --menu-active: #f5e6b8;
  --menu-hover-bg: rgba(212, 175, 55, .12);
  --navbar-bg: #000000;
  --input-bg: #0a0a0a;
  --input-border: #3a3428;
  --chip-bg: #0a0a0a;
  --address-bg: #050505;
  --alert-warning-bg: rgba(245, 158, 11, .12);
  --alert-warning-color: #fbbf24;
  --alert-warning-border: rgba(245, 158, 11, .28);
  --shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .45);
  --shadow: 0 18px 50px rgba(0, 0, 0, .55);
  --radius: .75rem;
  --radius-lg: 1rem;
  --menu-width: 17.5rem;
  --navbar-height: 4.5rem;
  --font: Inter, system-ui, -apple-system, sans-serif;
  --gradient: linear-gradient(90deg, #b8860b, #f0d78c 52%, #e8e8e8);
  --live: #22c55e;
  color-scheme: dark;
}

html[data-theme="light"] {
  --bs-body-bg: #f4efe4;
  --bs-body-color: #5c574e;
  --bs-heading-color: #14110c;
  --bs-border-color: #e4d9c0;
  --bs-paper: #fffdf8;
  --menu-bg: #fffdf8;
  --menu-color: #4a453c;
  --menu-active: #8a7019;
  --menu-hover-bg: rgba(212, 175, 55, .14);
  --navbar-bg: #fffdf8;
  --input-bg: #fff;
  --input-border: #d9cda8;
  --chip-bg: #faf6ec;
  --address-bg: #f7f1e4;
  --shadow: 0 18px 40px rgba(20, 17, 12, .08);
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box }
html { scroll-behavior: smooth }
body {
  margin: 0;
  font-family: var(--font);
  font-size: .9375rem;
  line-height: 1.5;
  background: var(--bs-body-bg);
  color: var(--bs-body-color);
  -webkit-font-smoothing: antialiased;
}
a { color: #e8c547; text-decoration: none }
a:hover { color: #f0d78c }
html[data-theme="light"] a { color: #a68523 }
h1, h2, h3, h4, h5, h6 { color: var(--bs-heading-color); font-weight: 600; margin-top: 0 }
img { max-width: 100% }
button, input, select, textarea { font: inherit }

/* Layout */
.layout-wrapper { display: flex; min-height: 100vh; width: 100% }
.layout-menu {
  position: fixed; inset: 0 auto 0 0; width: var(--menu-width);
  background: var(--menu-bg); z-index: 1080;
  display: flex; flex-direction: column;
  border-right: 1px solid var(--bs-border-color);
  transition: transform .25s ease;
}
.layout-menu .app-brand {
  display: none;
}
.market-status {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.1rem 1.25rem; border-bottom: 1px solid var(--bs-border-color);
  background: color-mix(in srgb, var(--menu-bg) 88%, #2a2416);
}
.market-status .label {
  font-size: .7rem; font-weight: 800; letter-spacing: .08em;
  color: var(--bs-body-color); text-transform: uppercase;
}
.live-pill {
  display: inline-flex; align-items: center; gap: .4rem;
  color: var(--live); font-size: .72rem; font-weight: 800;
}
.live-dot {
  width: .5rem; height: .5rem; border-radius: 50%;
  background: var(--live); display: inline-block;
  animation: pulse 1.6s ease-in-out infinite;
}
@keyframes pulse { 50% { opacity: .35 } }

.brand-lockup { display: flex; align-items: center; gap: .7rem; min-width: 0 }
.brand-logo {
  display: none;
  width: min(100%, 15.5rem);
  height: auto;
  object-fit: contain;
}
.brand-mark-img {
  width: 2.55rem; height: 2.55rem; flex: none;
  object-fit: contain; display: block;
}
.brand-wordmark {
  font-size: 1.15rem; font-weight: 800; letter-spacing: .06em;
  line-height: 1; white-space: nowrap;
}
.brand-bi {
  background: linear-gradient(180deg, #f8e7a0, #c9a227 70%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.brand-vest {
  background: linear-gradient(180deg, #f5f5f5, #9a9a9a 78%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.brand-lg .brand-logo { display: block }
.brand-lg .brand-mark-img,
.brand-lg .brand-wordmark { display: none }
.brand-sm .brand-mark-img { width: 2.35rem; height: 2.35rem }
.brand-sm .brand-wordmark { font-size: 1.02rem }
.brand-auth {
  justify-content: center;
  margin-bottom: .5rem;
  gap: 0;
}
.brand-auth .brand-logo { display: block; width: min(100%, 16.5rem); margin: 0 auto }
.brand-auth .brand-mark-img,
.brand-auth .brand-wordmark { display: none }

.menu-inner { overflow: auto; padding: .85rem 0 1rem; flex: 1 }
.menu-inner::-webkit-scrollbar { width: 6px }
.menu-inner::-webkit-scrollbar-thumb { background: #2a2416; border-radius: 99px }
.menu-header {
  margin: .85rem 1.2rem .35rem; font-size: .68rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .08em; color: #6b6560;
}
.menu-link {
  display: flex; align-items: center; gap: .75rem;
  margin: .12rem .7rem; padding: .58rem .85rem; border-radius: .65rem;
  color: var(--menu-color); font-weight: 600; font-size: .9rem;
  transition: background .15s, color .15s;
}
.menu-link i, .menu-link svg { width: 1.15rem; height: 1.15rem; flex: none; opacity: .9 }
.menu-link:hover { background: var(--menu-hover-bg); color: var(--menu-active) }
.menu-link.active {
  background: #1a1608 !important; color: #f5e6b8 !important;
  box-shadow: inset 0 0 0 1px #c9a227;
}
.menu-link.active svg { color: #f0d78c; opacity: 1 }
html[data-theme="light"] .menu-link.active {
  background: rgba(212, 175, 55, .16) !important; color: #8a7019 !important;
  box-shadow: none;
}
.menu-link .badge-soft {
  margin-left: auto; font-size: .62rem; font-weight: 800;
  padding: .18rem .5rem; border-radius: 999px; color: #111; background: #d4af37;
}
.badge-soft.live { background: #16a34a }
.badge-soft.pro { background: #8a7019; color: #fff }
.badge-soft.ai { background: #c9a227; color: #111 }
.badge-soft.premium { background: linear-gradient(90deg, #f59e0b, #f97316) }
.badge-soft.fast { background: #16a34a }
.badge-soft.reward { background: #059669 }
.menu-footer { padding: 1rem 1.1rem; border-top: 1px solid var(--bs-border-color) }
.layout-page { flex: 1; min-width: 0; margin-left: var(--menu-width); display: flex; flex-direction: column }
.layout-navbar {
  position: sticky; top: 0; z-index: 1030; min-height: var(--navbar-height);
  background: var(--navbar-bg);
  border-bottom: 1px solid var(--bs-border-color);
  display: flex; align-items: center; justify-content: space-between;
  padding: .7rem 1.35rem; gap: 1rem;
}
.navbar-left, .navbar-right { display: flex; align-items: center; gap: .85rem }
.navbar-brand-wrap {
  display: flex; align-items: center; gap: .85rem;
  padding-right: 1.1rem; margin-right: .25rem;
  border-right: 1px solid var(--bs-border-color);
  min-height: 2.6rem;
}
.desktop-ticker {
  display: flex; align-items: center; gap: 1rem;
  font-size: .8rem; font-weight: 600; color: var(--bs-body-color);
  white-space: nowrap; overflow: hidden;
}
.desktop-ticker b { color: var(--live) }
.search-box {
  display: none;
}
.content-wrapper { padding: 1.6rem 1.5rem 2.5rem }
.container-xxl { width: 100%; max-width: 1500px; margin: 0 auto }
.page-enter { animation: enter .28s ease }
@keyframes enter { from { opacity: 0; transform: translateY(6px) } to { opacity: 1; transform: none } }

/* Cards */
.card {
  background: var(--bs-paper);
  border: 1px solid var(--bs-border-color);
  border-radius: 1.1rem;
  box-shadow: none;
  margin-bottom: 1.5rem;
}
.card-header {
  padding: 1.15rem 1.35rem; border-bottom: 1px solid var(--bs-border-color);
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
}
.card-header h5, .card-title { margin: 0; font-size: 1.05rem; color: var(--bs-heading-color) }
.card-body { padding: 1.35rem }
.card-footer { padding: 1rem 1.35rem; border-top: 1px solid var(--bs-border-color); background: transparent }

/* Stats */
.row-cards { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.1rem; margin-bottom: 1.5rem }
.stat-card { display: flex; align-items: center; gap: 1rem; padding: 1.2rem 1.3rem }
.stat-icon {
  width: 2.7rem; height: 2.7rem; border-radius: .7rem; display: grid; place-items: center; flex: none;
}
.stat-icon.primary { background: rgba(212, 175, 55, .16); color: #e8c547 }
.stat-icon.success { background: rgba(34, 197, 94, .16); color: #4ade80 }
.stat-icon.warning { background: rgba(245, 158, 11, .16); color: #fbbf24 }
.stat-icon.info { background: rgba(212, 175, 55, .16); color: #e8c547 }
.stat-icon.danger { background: rgba(239, 68, 68, .16); color: #f87171 }
.stat-card .label { font-size: .8rem; margin-bottom: .15rem }
.stat-card .value { font-size: 1.3rem; font-weight: 700; color: var(--bs-heading-color); line-height: 1.2 }

/* Page header */
.page-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; flex-wrap: wrap }
.page-header h4 { margin: 0 0 .25rem; font-size: 1.55rem; font-weight: 700 }
.page-header p { margin: 0; color: var(--bs-body-color) }
.breadcrumb { display: flex; gap: .4rem; flex-wrap: wrap; font-size: .8125rem; color: #6b6560; margin: 0 }
.breadcrumb a { color: #6b6560 }
.breadcrumb .active { color: var(--bs-heading-color) }

/* Buttons */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
  border: 1px solid transparent; border-radius: .7rem; padding: .58rem 1.15rem;
  font-weight: 700; font-size: .875rem; cursor: pointer; transition: .15s; line-height: 1.4; text-decoration: none;
}
.btn:hover { filter: brightness(1.06); transform: translateY(-1px) }
.btn svg, .btn i { width: 16px; height: 16px }
.btn-primary { background: var(--gradient); color: #111; box-shadow: 0 .35rem 1.1rem rgba(212, 175, 55, .32) }
.btn-primary:hover { color: #111 }
.btn-success { background: #16a34a; color: #fff }
.btn-danger { background: var(--bs-danger); color: #fff }
.btn-outline-primary { background: transparent; border-color: #d4af37; color: #f0d78c }
.btn-outline-secondary { background: transparent; border-color: var(--input-border); color: var(--bs-heading-color) }
.btn-label-primary { background: rgba(212, 175, 55, .16); color: #f0d78c; border: 0 }
.btn-label-success { background: rgba(34, 197, 94, .16); color: #4ade80; border: 0 }
.btn-sm { padding: .35rem .75rem; font-size: .8125rem }
.btn-lg { padding: .75rem 1.35rem; font-size: 1rem }
.btn-block, .w-100 { width: 100% }
.btn-icon {
  width: 2.35rem; height: 2.35rem; padding: 0; border-radius: .7rem;
  border: 0; background: transparent; color: var(--bs-heading-color);
  display: grid; place-items: center; cursor: pointer;
}
.btn-icon:hover { background: var(--menu-hover-bg) }
.btn-wallet {
  background: linear-gradient(100deg, #1a1608, #3a3008); color: #f5e6b8;
  border: 1px solid #c9a227; border-radius: .7rem; padding: .7rem 1.1rem; font-weight: 700;
}
.btn-invest { background: #0eb251; color: #fff; border-radius: .7rem; padding: .7rem 1.1rem; font-weight: 700 }
.btn-invest:hover { color: #fff }
.btn-wallet:hover { color: #f5e6b8 }

/* Forms */
.form-label { display: block; margin-bottom: .4rem; font-size: .8rem; font-weight: 600; color: var(--bs-heading-color) }
.form-control, .form-select {
  display: block; width: 100%; padding: .7rem .9rem; font-size: .9375rem;
  color: var(--bs-heading-color); background: var(--input-bg); border: 1px solid var(--input-border);
  border-radius: .7rem; outline: 0; transition: border-color .15s, box-shadow .15s;
}
textarea.form-control { min-height: 7rem; resize: vertical }
.form-control:focus, .form-select:focus {
  border-color: #d4af37; box-shadow: 0 0 0 .2rem rgba(212, 175, 55, .18);
}
.form-select option { background: var(--bs-paper); color: var(--bs-heading-color) }
.input-group { position: relative }
.input-group .prefix {
  position: absolute; left: .85rem; top: 50%; transform: translateY(-50%); color: #94a3b8; z-index: 2;
}
.input-group .form-control { padding-left: 2rem }
.form-text { font-size: .75rem; color: #94a3b8; margin-top: .35rem }
.mb-3 { margin-bottom: 1rem }
.mb-4 { margin-bottom: 1.5rem }
.mt-3 { margin-top: 1rem }
.mt-4 { margin-top: 1.5rem }
.g-3 { display: grid; gap: 1rem }
.g-3.cols-2 { grid-template-columns: 1fr 1fr }

/* Tables */
.table-responsive { overflow: auto }
.table { width: 100%; border-collapse: collapse }
.table th, .table td { padding: .85rem 1rem; border-bottom: 1px solid var(--bs-border-color); text-align: left; vertical-align: middle }
.table th { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #94a3b8; font-weight: 700; background: transparent }
.table td { color: var(--bs-heading-color); font-size: .9rem }
.table tbody tr:hover { background: rgba(212, 175, 55, .06) }

/* Badges */
.badge {
  display: inline-flex; align-items: center; padding: .3em .55em; font-size: .75rem; font-weight: 700;
  border-radius: .4rem; line-height: 1;
}
.bg-label-primary { background: rgba(212, 175, 55, .16); color: #f0d78c }
.bg-label-success { background: rgba(34, 197, 94, .16); color: #4ade80 }
.bg-label-warning { background: rgba(245, 158, 11, .16); color: #fbbf24 }
.bg-label-danger { background: rgba(239, 68, 68, .16); color: #f87171 }
.bg-label-info { background: rgba(192, 192, 192, .16); color: #d4d4d4 }
.bg-label-secondary { background: rgba(148, 163, 184, .16); color: #94a3b8 }

/* Avatar / profile */
.avatar {
  width: 2.375rem; height: 2.375rem; border-radius: 50%; display: grid; place-items: center;
  background: linear-gradient(135deg, #c9a227, #f0d78c); color: #111; font-weight: 700; font-size: .9rem;
  flex: none; overflow: hidden; white-space: nowrap; line-height: 1;
}
.avatar::after { content: attr(data-initials); }
.avatar-sm { width: 2rem; height: 2rem; font-size: .8rem }
.user-meta { display: flex; align-items: center; gap: .65rem }
.user-meta strong { display: block; font-size: .9rem; color: var(--bs-heading-color); line-height: 1.2 }
.user-meta span { display: block; font-size: .75rem; color: #94a3b8 }

.balance-chip {
  background: rgba(42, 34, 8, .7); border: 1px solid rgba(212, 175, 55, .35);
  border-radius: .65rem; padding: .35rem .85rem; line-height: 1.2; min-width: 9.5rem;
}
html[data-theme="light"] .balance-chip { background: #faf6ec; border-color: #e4d9c0 }
.balance-chip small { display: block; font-size: .62rem; color: #94a3b8; font-weight: 700; letter-spacing: .04em }
.balance-chip strong { font-size: .95rem; color: var(--bs-heading-color) }

.quick-trade-link {
  display: inline-flex; align-items: center; gap: .4rem;
  background: transparent; border: 0; color: var(--bs-heading-color);
  font-weight: 600; font-size: .875rem; cursor: pointer; padding: .35rem;
}
.notif-btn { position: relative }
.notif-btn b {
  position: absolute; top: -.15rem; right: -.1rem;
  background: #ef4444; color: #fff; border-radius: 99px;
  font-size: .6rem; min-width: 1rem; height: 1rem; padding: 0 .25rem;
  display: grid; place-items: center;
}

/* Alerts */
.alert {
  border-radius: var(--radius); padding: .9rem 1.05rem; margin-bottom: 1rem; font-size: .875rem;
  display: flex; gap: .65rem; align-items: flex-start;
}
.alert-warning { background: var(--alert-warning-bg); color: var(--alert-warning-color); border: 1px solid var(--alert-warning-border) }
.alert-primary { background: rgba(212, 175, 55, .12); color: #f0d78c; border: 1px solid rgba(212, 175, 55, .25) }
.alert-success { background: rgba(34, 197, 94, .12); color: #4ade80; border: 1px solid rgba(34, 197, 94, .25) }

.chip-row { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem }
.chip {
  border: 1px solid var(--input-border); background: var(--chip-bg); color: var(--bs-heading-color);
  border-radius: 999px; padding: .45rem .9rem; font-weight: 600; cursor: pointer; transition: .15s;
}
.chip:hover, .chip.active { border-color: #d4af37; color: #f0d78c; background: rgba(212, 175, 55, .1) }
.method-list { display: grid; gap: .65rem }
.method-item {
  display: flex; align-items: center; gap: .85rem; padding: .85rem 1rem; border: 1px solid var(--input-border);
  border-radius: var(--radius-lg); cursor: pointer; background: var(--chip-bg); transition: .15s;
}
.method-item:hover { border-color: rgba(212, 175, 55, .45) }
.method-item.active { border-color: #d4af37; background: rgba(212, 175, 55, .08); box-shadow: 0 0 0 .15rem rgba(212, 175, 55, .12) }
.method-item input { display: none }
.method-item .ico {
  width: 2.5rem; height: 2.5rem; border-radius: .6rem; display: grid; place-items: center; color: #fff; font-size: .7rem; font-weight: 700; flex: none;
}
.method-item .ico.btc { background: #f7931a }
.method-item .ico.eth { background: #627eea }
.method-item .ico.usdt { background: #26a17b }
.method-item .ico.default { background: #64748b }
.method-item strong { display: block; color: var(--bs-heading-color); font-size: .9rem }
.method-item small { color: #94a3b8; font-size: .75rem }
.address-box {
  background: var(--address-bg); border: 1px dashed var(--input-border); border-radius: var(--radius);
  padding: .75rem .9rem; word-break: break-all; font-family: ui-monospace, Menlo, monospace; font-size: .8125rem; color: var(--bs-heading-color);
}
.copy-btn { margin-left: auto; border: 0; background: rgba(212, 175, 55, .16); color: #f0d78c; border-radius: var(--radius); padding: .4rem .7rem; font-size: .75rem; font-weight: 700; cursor: pointer }

.grid-2 { display: grid; grid-template-columns: 1.1fr .9fr; gap: 1.5rem }
.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem }
.plan-card .price { font-size: 2rem; font-weight: 800; color: #e8c547; margin: .35rem 0 }
.plan-card .price span { font-size: .95rem; color: #94a3b8; font-weight: 500 }
.plan-card ul { padding-left: 1.1rem; margin: 0 0 1.25rem; color: var(--bs-body-color) }
.plan-card.featured { outline: 2px solid rgba(212, 175, 55, .4) }

/* Auth — Helvatia login card */
.auth-wrapper {
  min-height: 100vh; display: grid; place-items: center; padding: 1.5rem;
  background: #000000;
  position: relative;
}
html[data-theme="light"] .auth-wrapper { background: #f4efe4 }
.auth-theme-toggle {
  position: fixed; top: 1rem; right: 1rem; z-index: 50;
}
.auth-card {
  width: min(100%, 32rem);
  background: #0a0a0a;
  border: 1px solid #2a2416;
  border-radius: 1.5rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .55);
  padding: 2.25rem 2.1rem 1.75rem;
}
html[data-theme="light"] .auth-card {
  background: #fff; border-color: #e5e7eb; box-shadow: 0 25px 50px -12px rgba(15, 23, 42, .12);
}
html[data-theme="light"] .auth-stats .divider { background: #e5e7eb }
html[data-theme="light"] .auth-divider::before,
html[data-theme="light"] .auth-divider::after { background: #e5e7eb }
html[data-theme="light"] .quick-access button { background: #f8fafc; border-color: #e5e7eb }
.auth-card.wide { width: min(100%, 40rem) }
.auth-card h1.auth-title {
  text-align: center; margin: 0 0 .35rem; font-size: 1.75rem; font-weight: 800; color: #fff;
}
html[data-theme="light"] .auth-card h1.auth-title { color: #0f172a }
.auth-card .brand-gradient {
  display: block; text-align: center;
  font-size: 1.15rem; font-weight: 700; margin: 0 0 .5rem;
  background: linear-gradient(90deg, #c9a227, #e8e8e8);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.auth-card .subtitle { text-align: center; color: #d1d5db; margin: 0 0 1.35rem; font-size: .95rem }
html[data-theme="light"] .auth-card .subtitle { color: #64748b }
.auth-stats {
  display: flex; align-items: center; justify-content: center; gap: 1.25rem;
  margin: 1.25rem 0 1.75rem;
}
.auth-stats > div { text-align: center }
.auth-stats .stat-kicker {
  display: flex; align-items: center; justify-content: center; gap: .35rem;
  font-size: .8rem; font-weight: 700; margin-bottom: .15rem;
}
.auth-stats .stat-kicker.green { color: #4ade80 }
.auth-stats .stat-kicker.blue { color: #e8c547 }
.auth-stats .stat-kicker.cyan { color: #c0c0c0 }
.auth-stats .stat-kicker svg { width: 14px; height: 14px }
.auth-stats small { display: block; color: #9ca3af; font-size: .75rem }
.auth-stats .divider { width: 1px; height: 2.4rem; background: rgba(255, 255, 255, .2) }
.input-wrap { position: relative }
.input-wrap > i, .input-wrap > svg {
  position: absolute; left: .85rem; top: 50%; transform: translateY(-50%);
  width: 16px; height: 16px; color: #9ca3af;
}
.input-wrap .form-control { padding-left: 2.45rem }
.password-toggle {
  position: absolute; right: .55rem; top: 50%; transform: translateY(-50%);
  border: 0; background: transparent; color: #9ca3af; cursor: pointer; padding: .25rem;
  display: grid; place-items: center;
}
.auth-row {
  display: flex; align-items: center; justify-content: space-between;
  gap: .75rem; margin: .15rem 0 1.15rem; font-size: .8rem; color: #cbd5e1;
}
.check { display: inline-flex; align-items: center; gap: .45rem; cursor: pointer }
.check input { accent-color: #d4af37 }
.btn-access {
  width: 100%; border: 0; color: #111; font-weight: 800;
  background: var(--gradient); border-radius: .8rem;
  padding: .85rem 1.2rem; cursor: pointer;
  box-shadow: 0 12px 28px rgba(212, 175, 55, .35);
}
.btn-access:hover { filter: brightness(1.08) }
.auth-divider {
  display: flex; align-items: center; gap: .75rem;
  color: #9ca3af; font-size: .75rem; font-weight: 700; margin: 1.35rem 0 .9rem;
}
.auth-divider::before, .auth-divider::after { content: ""; height: 1px; flex: 1; background: #2a2416 }
.quick-access { display: flex; justify-content: center; gap: .7rem }
.quick-access button {
  width: 2.6rem; height: 2.6rem; display: grid; place-items: center;
  border: 1px solid #2a2416; background: #14110c; border-radius: .7rem;
  color: #e8c547; cursor: pointer;
}
.quick-access button:nth-child(3) { color: #4ade80 }
.quick-access svg { width: 18px; height: 18px }
.auth-footer { text-align: center; margin-top: 1.35rem; font-size: .875rem; color: #9ca3af }
.auth-security {
  display: flex; justify-content: center; gap: 1rem; flex-wrap: wrap;
  color: #6b7280; font-size: .72rem; margin-top: 1.4rem;
}
.auth-security span { display: inline-flex; align-items: center; gap: .3rem }
.auth-security svg, .auth-security i { width: .85rem; height: .85rem; color: #22c55e }
.copyright { text-align: center; color: #6b7280; font-size: .72rem; margin: 1.1rem 0 0 }

.empty { text-align: center; padding: 2.5rem 1rem; color: #94a3b8 }
.empty .empty-icon {
  width: 3.5rem; height: 3.5rem; margin: 0 auto 1rem; border-radius: .85rem;
  background: rgba(212, 175, 55, .12); color: #e8c547; display: grid; place-items: center;
}

.layout-overlay {
  display: none; position: fixed; inset: 0; background: rgba(0, 0, 0, .72); z-index: 1075;
}
.menu-toggle { display: none }
.logout-link { color: #f87171 !important }
.logout-link:hover { background: rgba(239, 68, 68, .08) !important; color: #f87171 !important }

.flash-toast {
  position: fixed; right: 1rem; top: 1rem; z-index: 2000; max-width: min(420px, calc(100vw - 2rem));
  display: flex; align-items: flex-start; gap: .75rem;
  padding: .85rem 1rem; border-radius: var(--radius);
  color: #fff; font-weight: 600; box-shadow: var(--shadow); animation: toastIn .25s ease;
}
.flash-toast-msg { flex: 1; line-height: 1.4; padding-top: .1rem }
.flash-toast-close {
  flex: none; display: grid; place-items: center; width: 1.75rem; height: 1.75rem; margin: -.15rem -.25rem 0 0;
  border: 0; border-radius: .35rem; background: rgba(255, 255, 255, .18); color: #fff; cursor: pointer; padding: 0;
}
.flash-toast-close:hover { background: rgba(255, 255, 255, .3) }
.flash-toast-close svg, .flash-toast-close i { width: 1rem; height: 1rem }
.flash-toast.success { background: #16a34a }
.flash-toast.error { background: #ef4444 }
.flash-toast.info { background: #b8962e }
.flash-toast.is-hiding { opacity: 0; transform: translateY(-6px); transition: .2s ease }
@keyframes toastIn { from { opacity: 0; transform: translateY(-6px) } to { opacity: 1; transform: none } }

.text-muted { color: #94a3b8 !important }
.text-heading { color: var(--bs-heading-color) !important }
.d-flex { display: flex }
.align-center { align-items: center }
.justify-between { justify-content: space-between }
.gap-2 { gap: .5rem }
.gap-3 { gap: 1rem }
.fw-semibold { font-weight: 600 }
.d-none { display: none !important }

/* Dashboard desk */
.desk-welcome {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1.25rem; margin-bottom: 1.75rem; flex-wrap: wrap;
}
.desk-welcome h1 { font-size: 1.85rem; margin: 0 0 .3rem; font-weight: 800 }
.desk-welcome p { margin: 0; font-size: 1rem; color: #94a3b8 }
.desk-welcome .actions { display: flex; gap: .7rem; flex-wrap: wrap }
.account-overview {
  display: grid; grid-template-columns: 1.05fr 1.55fr; gap: 1.25rem; margin-bottom: 1.5rem;
}
.balance-card, .metric-cards article {
  background: var(--bs-paper); border: 1px solid var(--bs-border-color); border-radius: 1.2rem;
}
.balance-card { padding: 1.5rem 1.45rem }
.balance-card h2, .metric-cards h2 {
  margin: 0; font-size: 1.1rem; display: flex; align-items: center; gap: .55rem;
}
.balance-card > p { color: #94a3b8; font-size: .85rem; margin: .25rem 0 1rem }
.balance-card > strong { display: block; font-size: 2.1rem; color: var(--bs-heading-color) }
.balance-tags { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .85rem }
.balance-tag, .unverified {
  width: max-content; display: inline-flex; align-items: center; gap: .35rem;
  font-size: .75rem; font-weight: 600; padding: .35rem .65rem; border-radius: 999px;
}
.balance-tag { background: #1a1608; color: #f5e6b8 }
.unverified { background: #2b1b2a; color: #f87171 }
html[data-theme="light"] .balance-tag { background: #e2e8f0; color: #334155 }
.balance-card > small { display: block; color: #94a3b8; font-size: .8rem; margin-top: .85rem }
.balance-card .balance-actions {
  display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; margin-top: 1.15rem;
}
.balance-card .balance-actions a {
  display: flex; justify-content: center; gap: .45rem; align-items: center;
  background: #1a1a1a; border-radius: .8rem; padding: .75rem; color: #fff; font-weight: 700;
}
html[data-theme="light"] .balance-card .balance-actions a { background: #e2e8f0; color: #0f172a }
.metric-cards { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem }
.metric-cards article { padding: 1.2rem 1.15rem; min-height: 8.5rem }
.metric-cards article > div {
  display: flex; align-items: center; justify-content: space-between;
  color: #94a3b8; font-size: .9rem;
}
.metric-cards article > div svg, .metric-cards article > div i {
  background: #1a1a1a; color: #c8c4bc; width: 2.2rem; height: 2.2rem; padding: .5rem; border-radius: 50%;
}
html[data-theme="light"] .metric-cards article > div svg,
html[data-theme="light"] .metric-cards article > div i { background: #e2e8f0; color: #475569 }
.metric-cards article > strong { display: block; font-size: 1.35rem; margin: .85rem 0 .55rem; color: var(--bs-heading-color) }
.metric-cards article > small { display: flex; gap: .35rem; color: #94a3b8; font-size: .78rem; align-items: center }
.verification-strip {
  border: 1px solid var(--bs-border-color); background: var(--bs-paper);
  border-radius: .85rem; padding: 1.1rem 1.25rem;
  display: flex; gap: 1rem; align-items: center; margin-bottom: 1.5rem;
}
.verification-strip > i, .verification-strip > svg {
  width: 2.4rem; height: 2.4rem; padding: .55rem; border-radius: .6rem;
  background: #1a1608; color: #e8c547; flex: none;
}
.verification-strip strong { display: block; font-size: 1.05rem; color: var(--bs-heading-color) }
.verification-strip span { font-size: .85rem; color: #94a3b8 }
.verification-strip a {
  margin-left: auto; background: var(--gradient); color: #111; padding: .7rem 1rem;
  border-radius: .7rem; font-weight: 700; white-space: nowrap;
}
.verification-strip a:hover { color: #111 }

.product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin-bottom: 1.5rem }
.product-card .product-top { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: .75rem }
.product-summary { margin: .15rem 0 .85rem; color: var(--bs-body-color); font-size: .9rem; line-height: 1.45; min-height: 2.7em }
.risk-badge { display: inline-flex; align-items: center; padding: .3em .55em; border-radius: .35rem; font-size: .72rem; font-weight: 700; letter-spacing: .02em }
.risk-medium { background: rgba(34, 197, 94, .14); color: #4ade80 }
.risk-medium-high { background: rgba(245, 158, 11, .14); color: #fbbf24 }
.risk-high, .risk-very-high { background: rgba(239, 68, 68, .16); color: #f87171 }
.risk-low { background: rgba(148, 163, 184, .14); color: #cbd5e1 }
.method-item .ico.bank { background: linear-gradient(135deg, #1a1608, #c9a227); color: #111; border: 1px solid rgba(240, 215, 140, .35) }
.bank-details { display: flex; flex-direction: column; gap: .45rem; width: 100% }
.bank-detail-row { display: flex; justify-content: space-between; gap: 1rem; padding: .35rem 0; border-bottom: 1px solid var(--bs-border-color); font-size: .875rem }
.bank-detail-row:last-child { border-bottom: 0 }
.bank-detail-row span { color: #94a3b8 }
.bank-detail-row strong { color: var(--bs-heading-color); text-align: right }
.mono { font-family: ui-monospace, Menlo, monospace; letter-spacing: .02em }
.bank-details-panel { align-items: flex-start !important }

@media (max-width: 1199.98px) {
  .row-cards { grid-template-columns: repeat(2, minmax(0, 1fr)) }
  .account-overview { grid-template-columns: 1fr }
  .desktop-ticker { display: none }
}
@media (max-width: 991.98px) {
  .layout-menu { transform: translateX(-100%) }
  .layout-menu.open { transform: translateX(0) }
  .layout-page { margin-left: 0 }
  .layout-overlay.show { display: block }
  .menu-toggle { display: grid }
  .navbar-brand-wrap { border: 0; padding-right: 0; margin: 0 }
  .quick-trade-link { display: none }
  .grid-2, .grid-3, .g-3.cols-2 { grid-template-columns: 1fr }
  .content-wrapper { padding: 1rem }
  .layout-navbar { padding: .65rem 1rem }
  .product-grid { grid-template-columns: 1fr }
}
@media (max-width: 575.98px) {
  .row-cards, .metric-cards { grid-template-columns: 1fr }
  .balance-chip { display: none }
  .card-body, .card-header { padding: 1.1rem }
  .page-header h4, .desk-welcome h1 { font-size: 1.25rem }
  .auth-card { padding: 1.5rem 1.2rem }
  .auth-stats { gap: .7rem }
  .desk-welcome { align-items: flex-start; flex-direction: column }
  .verification-strip { flex-wrap: wrap }
  .verification-strip a { width: 100%; margin-left: 0; text-align: center }
}

/* Language picker (desktop header + mobile dock) */
.lang-picker { position: relative }
.lang-picker-header { display: flex; align-items: center }
.dock-lang-btn {
  display: inline-flex;
  align-items: center;
  gap: .28rem;
  background: #111;
  color: #f5e6b8;
  border: 0;
  border-radius: .45rem;
  padding: .38rem .55rem;
  font-size: .7rem;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 0 0 1px #c9a227, 0 4px 12px rgba(0,0,0,.35);
  cursor: pointer;
}
.dock-lang-btn svg { width: 10px; height: 10px; flex: none }
.dock-flag-img {
  width: 18px;
  height: 13px;
  object-fit: cover;
  border-radius: 2px;
  display: block;
  flex: none;
  box-shadow: 0 0 0 1px rgba(15,23,42,.12);
}
.dock-lang-menu {
  position: fixed;
  width: 13.75rem;
  max-height: min(58vh, 22rem);
  overflow-y: auto;
  background: #0d0d0d;
  border: 1px solid #2a2416;
  border-radius: .85rem;
  padding: .4rem;
  box-shadow: 0 18px 40px rgba(0,0,0,.45);
  z-index: 1100;
}
html[data-theme="light"] .dock-lang-btn {
  background: #fffdf8;
  color: #14110c;
}
html[data-theme="light"] .dock-lang-menu { background: #fffdf8; border-color: #e4d9c0 }
.dock-lang-option {
  width: 100%;
  display: flex;
  align-items: center;
  gap: .65rem;
  background: transparent;
  border: 0;
  color: var(--bs-heading-color);
  padding: .55rem .6rem;
  border-radius: .55rem;
  font-size: .82rem;
  font-weight: 600;
  cursor: pointer;
  text-align: left;
}
.dock-lang-option .dock-flag-img { width: 22px; height: 16px }
.dock-lang-option:hover { background: var(--menu-hover-bg) }

/* Mobile quick-link dock */
.app-dock { display: none }
.sr-only {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
#google_translate_element,
iframe.skiptranslate,
.goog-te-banner-frame,
.goog-te-menu-frame,
.goog-te-balloon-frame,
#goog-gt-tt,
.goog-tooltip,
.goog-te-gadget {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
}
html { margin-top: 0 !important }
body { top: 0 !important; position: static !important }

@media (max-width: 991.98px) {
  body:has(.app-dock) .lang-picker-header { display: none }
  .app-dock {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 1040;
    height: 4.25rem;
    padding: 0 .2rem calc(.35rem + env(safe-area-inset-bottom));
    background: #000000;
    border-top: 1px solid #242018;
    box-shadow: 0 -8px 24px rgba(0,0,0,.28);
    overflow: visible;
  }
  html[data-theme="light"] .app-dock {
    background: #fff;
    border-top-color: #e2e8f0;
  }
  .content-wrapper { padding-bottom: 5.5rem !important }
  .flash-toast { bottom: 5.25rem; top: auto }
  .dock-item,
  .dock-lang {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: .15rem;
    color: #94a3b8;
    font-size: .62rem;
    font-weight: 700;
    height: 3.35rem;
    text-decoration: none;
    position: relative;
  }
  .dock-item svg { width: 1.2rem; height: 1.2rem; stroke-width: 1.85 }
  .dock-item.active { color: #e8c547 }
  .dock-lang { justify-content: center; padding-bottom: .15rem; overflow: visible }
  .dock-lang .lang-picker {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .lang-picker-dock .dock-lang-btn {
    padding: .28rem .4rem;
    font-size: .62rem;
    box-shadow: 0 4px 12px rgba(0,0,0,.25);
  }
  .dock-center { justify-content: flex-end }
  .dock-fab {
    width: 3.1rem;
    height: 3.1rem;
    margin-top: -1.35rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: radial-gradient(circle at 30% 25%, #ffe08a, #d4af37 52%, #b45309);
    color: #111;
    box-shadow: 0 0 0 5px rgba(212,175,55,.18), 0 8px 20px rgba(180,83,9,.45);
    flex: none;
  }
  .dock-fab svg { width: 1.2rem; height: 1.2rem; color: #111 }
}
