/* Gainvest.io - centralized design system (compact financial UI) */
:root {
  --gainvest-red: #ec0044;
  --gainvest-red-dark: #d9003d;
  --gainvest-magenta: #d81b60;

  --gainvest-blue: #008fe8;
  --gainvest-blue-dark: #0075bd;
  --gainvest-cyan: #19b7e8;

  --gainvest-navy: #164f70;
  --gainvest-navy-dark: #0f3a52;
  --gainvest-nav: #1a5a7a;

  --gainvest-bg: #eef6fa;
  --gainvest-bg-light: #f7fbfd;
  --gainvest-bg-strip: #e3eef5;

  --gainvest-border: #b9d2df;
  --gainvest-border-light: #d7e5ec;
  --gainvest-border-blue: #9fc2d4;

  --gainvest-text: #263b48;
  --gainvest-muted: #697f8b;

  --gainvest-success: #16a34a;
  --gainvest-danger: #e3242b;

  --gainvest-white: #ffffff;
  --gainvest-max: 1180px;
  --gainvest-sidebar: 240px;
  --gainvest-radius: 8px;
  --gainvest-radius-sm: 6px;
  --gainvest-font: "Segoe UI", Arial, Helvetica, sans-serif;
  --gainvest-shadow: 0 8px 24px rgba(22, 79, 112, 0.08);
  --gainvest-shadow-sm: 0 2px 8px rgba(22, 79, 112, 0.06);
  --gainvest-pad-x: clamp(12px, 2.5vw, 24px);
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.gv-body {
  margin: 0;
  padding: 0;
  background:
    radial-gradient(1200px 420px at 10% -10%, rgba(25, 183, 232, 0.12), transparent 60%),
    radial-gradient(900px 380px at 90% 0%, rgba(236, 0, 68, 0.06), transparent 55%),
    var(--gainvest-bg);
  color: var(--gainvest-text);
  font-family: var(--gainvest-font);
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--gainvest-blue); text-decoration: none; }
a:hover { color: var(--gainvest-blue-dark); text-decoration: underline; }

img { max-width: 100%; height: auto; vertical-align: middle; }

.gv-wrap {
  max-width: var(--gainvest-max);
  margin: 0 auto;
  padding: 0 var(--gainvest-pad-x);
}

.gv-wrap--flush { padding-left: 0; padding-right: 0; }

/* Material icon helper */
.gv-mi {
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: "liga";
  font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
  vertical-align: middle;
  color: inherit;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 20;
}

/* ========== TOP MICRO BAR ========== */
.gv-micro {
  background: #fff;
  border-bottom: 1px solid var(--gainvest-border-light);
  font-size: 12px;
  color: var(--gainvest-muted);
  min-height: 40px;
}

.gv-micro__inner {
  max-width: var(--gainvest-max);
  margin: 0 auto;
  padding: 0 var(--gainvest-pad-x);
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.gv-micro__left {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
  min-width: 0;
}

.gv-micro__link {
  display: inline-flex;
  align-items: center;
  color: var(--gainvest-muted);
  text-decoration: none !important;
  font-weight: 600;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  transition: color 0.15s ease, background 0.15s ease;
}

.gv-micro__link:hover,
.gv-micro__link.is-active {
  color: var(--gainvest-navy);
  background: #eef6fb;
}

.gv-micro__link-short {
  display: none;
}

.gv-micro__sep { display: none; }

.gv-micro__right {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-left: auto;
}

.gv-micro__clock {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  background: #f4f9fc;
  border: 1px solid var(--gainvest-border-light);
  border-radius: 999px;
  padding: 5px 11px;
  color: var(--gainvest-text);
  font-size: 12px;
  font-weight: 500;
}

.gv-micro__clock .gv-mi {
  font-size: 16px;
  color: var(--gainvest-blue);
}

.gv-micro__select { display: none; }

.gv-micro__lang {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  border: 1px solid var(--gainvest-border);
  border-radius: 999px;
  padding: 4px 10px 4px 8px;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.gv-micro__lang:hover,
.gv-micro__lang:focus-within {
  border-color: var(--gainvest-blue);
  box-shadow: 0 0 0 3px rgba(0, 143, 232, 0.12);
}

.gv-micro__lang-flag {
  font-size: 14px;
  line-height: 1;
}

.gv-micro__lang-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border: 0;
  background: transparent;
  color: var(--gainvest-navy);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  padding: 2px 16px 2px 0;
  margin: 0;
  cursor: pointer;
  outline: none;
  min-width: 72px;
}

.gv-micro__lang-caret {
  position: absolute;
  right: 6px;
  font-size: 16px !important;
  color: var(--gainvest-muted);
  pointer-events: none;
}

/* ========== MAIN HEADER ========== */
.gv-header {
  background: #fff;
  border-bottom: 1px solid var(--gainvest-border-light);
  padding: 3px 0;
}

.gv-header__inner {
  max-width: var(--gainvest-max);
  margin: 0 auto;
  padding: 0 var(--gainvest-pad-x);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.gv-brand {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  text-decoration: none !important;
  line-height: 1.1;
  gap: 2px;
  max-width: 160px;
}

.gv-brand__logo {
  display: block;
  height: 28px;
  width: auto;
  max-width: 140px;
  object-fit: contain;
}

.gv-brand__logo--footer {
  height: 28px;
  max-width: 140px;
}

.gv-brand--footer {
  margin-bottom: 6px;
}

.gv-brand__name {
  display: block;
  font-size: clamp(22px, 2.4vw, 28px);
  font-weight: 800;
  color: var(--gainvest-red);
  letter-spacing: -0.6px;
}

.gv-brand__tag {
  display: block;
  font-size: 10px;
  color: var(--gainvest-muted);
  font-weight: 500;
  margin-top: 0;
  letter-spacing: 0.01em;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 160px;
}

.gv-header-stats {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 0;
  min-width: 0;
  background: #f5fafd;
  border: 1px solid var(--gainvest-border-light);
  border-radius: 6px;
  overflow: hidden;
}

.gv-header-stats__item {
  display: flex;
  align-items: center;
  gap: 5px;
  flex: 1 1 0;
  min-width: 0;
  padding: 3px 8px;
  border-right: 1px solid var(--gainvest-border-light);
}

.gv-header-stats__item:last-child {
  border-right: 0;
}

.gv-header-stats__icon {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  border-radius: 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #e7f3fb;
  color: var(--gainvest-blue);
}

.gv-header-stats__item.is-money .gv-header-stats__icon {
  background: #e8f8ef;
  color: var(--gainvest-success);
}

.gv-header-stats__icon .gv-mi {
  font-size: 12px;
}

.gv-header-stats__copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.gv-header-stats__value {
  display: block;
  font-size: 12px;
  font-weight: 800;
  color: var(--gainvest-navy);
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.gv-header-stats__item.is-money .gv-header-stats__value {
  color: var(--gainvest-success);
}

.gv-header-stats__label {
  display: block;
  font-size: 10px;
  font-weight: 600;
  color: var(--gainvest-muted);
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.gv-mini-panel {
  border: 1px solid var(--gainvest-border-light);
  background: #f8fbfd;
  border-radius: 10px;
  padding: 8px 10px 6px;
  overflow: hidden;
}

.gv-mini-panel__head {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 700;
  color: var(--gainvest-navy);
  margin-bottom: 4px;
}

.gv-mini-panel__head .gv-mi {
  font-size: 15px;
  color: var(--gainvest-blue);
}

.gv-mini-trades {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.gv-mini-trades th {
  text-align: left;
  color: var(--gainvest-muted);
  font-weight: 600;
  padding: 3px 8px 5px 0;
  border-bottom: 1px solid var(--gainvest-border-light);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.gv-mini-trades td {
  padding: 5px 8px 5px 0;
  color: var(--gainvest-text);
  white-space: nowrap;
  vertical-align: middle;
}

.gv-mini-trades td[colspan] {
  white-space: normal;
  padding: 8px 0 4px;
}

.gv-mini-empty {
  color: var(--gainvest-muted);
  font-size: 12px;
  font-weight: 500;
  padding: 2px 0;
}

.gv-mini-trades .side-buy { color: var(--gainvest-success); font-weight: 700; }
.gv-mini-trades .side-sell { color: var(--gainvest-danger); font-weight: 700; }
.gv-mini-trades .pl-pos { color: var(--gainvest-success); font-weight: 700; }
.gv-mini-trades .pl-neg { color: var(--gainvest-danger); font-weight: 700; }

.gv-social-mini {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
}

.gv-social-mini__item {
  border: 1px solid var(--gainvest-border-light);
  background: #f8fbfd;
  border-radius: 10px;
  padding: 8px 6px;
  text-align: center;
}

.gv-social-mini__item strong {
  display: block;
  font-size: 14px;
  color: var(--gainvest-blue);
  line-height: 1.1;
}

.gv-social-mini__item span {
  font-size: 10px;
  color: var(--gainvest-muted);
  text-transform: uppercase;
}

.gv-header__right {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.gv-auth-btns {
  display: flex;
  align-items: center;
  gap: 6px;
}

.gv-auth-btns .gv-btn {
  width: auto;
  padding: 7px 12px;
  font-size: 12px;
}

.gv-header-support {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 8px 5px 5px;
  border-radius: 9px;
  border: 1px solid #9fc8de;
  background: linear-gradient(180deg, #ffffff 0%, #eef7fc 100%);
  text-decoration: none !important;
  max-width: 220px;
  min-width: 0;
  box-shadow: 0 1px 2px rgba(22, 79, 112, 0.05);
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.gv-header-support:hover {
  border-color: var(--gainvest-blue);
  background: #e8f4fb;
  box-shadow: 0 2px 8px rgba(0, 143, 232, 0.12);
}

.gv-header-support__icon {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--gainvest-blue);
  color: #fff;
  flex-shrink: 0;
}

.gv-header-support__icon .gv-mi {
  font-size: 18px;
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24;
}

.gv-header-support__text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
  line-height: 1.15;
}

.gv-header-support__text strong {
  font-size: 12px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-header-support__text em {
  font-style: normal;
  font-size: 11px;
  font-weight: 700;
  color: var(--gainvest-blue);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.gv-header-support__arrow {
  font-size: 16px;
  color: var(--gainvest-blue);
  flex-shrink: 0;
  margin-left: 2px;
}

.gv-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid transparent;
  border-radius: 8px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  padding: 10px 16px;
  cursor: pointer;
  text-decoration: none !important;
  white-space: nowrap;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}

.gv-btn:hover { transform: translateY(-1px); }

.gv-btn--primary {
  background: linear-gradient(180deg, #ff1a5c 0%, var(--gainvest-red) 100%);
  border-color: var(--gainvest-red-dark);
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(236, 0, 68, 0.25);
}
.gv-btn--primary:hover { background: var(--gainvest-red-dark); color: #fff !important; }

.gv-btn--blue {
  background: linear-gradient(180deg, #19a8f0 0%, var(--gainvest-blue) 100%);
  border-color: var(--gainvest-blue-dark);
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(0, 143, 232, 0.22);
}
.gv-btn--blue:hover { background: var(--gainvest-blue-dark); color: #fff !important; }

.gv-btn--outline {
  background: #fff;
  border-color: var(--gainvest-border);
  color: var(--gainvest-navy) !important;
}
.gv-btn--outline:hover { border-color: var(--gainvest-blue); color: var(--gainvest-blue) !important; }

.gv-btn--sm { padding: 8px 12px; font-size: 12px; }
.gv-btn--block { width: 100%; }

.gv-support-box {
  border: 1px solid var(--gainvest-border-light);
  background: #f8fbfd;
  border-radius: 10px;
  padding: 8px 10px;
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 8px;
  align-items: center;
}

.gv-support-box__art {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #e4f1f8;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gainvest-blue);
}
.gv-support-box__art .gv-mi { font-size: 20px; }

.gv-support-box__body {
  min-width: 0;
}

.gv-support-box__title {
  font-size: 12px;
  font-weight: 700;
  color: var(--gainvest-navy);
  margin: 0 0 1px;
}

.gv-support-box__contact {
  font-size: 11px;
  color: var(--gainvest-muted);
  margin: 0 0 5px;
  word-break: break-all;
  line-height: 1.3;
}

.gv-support-box__btn {
  width: 100%;
  padding: 6px 8px;
  font-size: 11px;
}
/* ========== PRIMARY NAV ========== */
.gv-nav {
  background: linear-gradient(135deg, #1a5f86 0%, #164f70 55%, #123f5a 100%);
  border-bottom: 1px solid rgba(0, 0, 0, 0.18);
  box-shadow: 0 6px 18px rgba(15, 58, 82, 0.22);
  position: sticky;
  top: 0;
  z-index: 40;
}

.gv-nav__inner {
  max-width: var(--gainvest-max);
  margin: 0 auto;
  padding: 8px var(--gainvest-pad-x);
  display: flex;
  align-items: center;
  justify-content: stretch;
  gap: 8px;
}

.gv-nav__links {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  min-width: 0;
}

.gv-nav__link {
  flex: 1 1 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: rgba(255, 255, 255, 0.92) !important;
  text-decoration: none !important;
  font-size: 12px;
  font-weight: 700;
  padding: 10px 10px;
  white-space: nowrap;
  border-radius: 999px;
  border: 1px solid transparent;
  transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.gv-nav__icon {
  font-size: 17px !important;
  opacity: 0.95;
}

.gv-nav__text {
  line-height: 1;
}

.gv-nav__text--short {
  display: none;
}

.gv-nav__toggle-label--short {
  display: none;
}

.gv-nav__toggle-chevron {
  margin-left: auto;
  font-size: 20px !important;
  opacity: 0.85;
  transition: transform 0.2s ease;
}

.gv-nav__toggle.is-open .gv-nav__toggle-chevron {
  transform: rotate(180deg);
}

body.gv-logged-in .gv-nav__text--long {
  display: inline;
}

body.gv-logged-in .gv-nav__text--short {
  display: none;
}

@media (max-width: 1180px) {
  body.gv-logged-in .gv-nav__text--long {
    display: none;
  }

  body.gv-logged-in .gv-nav__text--short {
    display: inline;
  }

  body.gv-logged-in .gv-nav__link {
    padding: 10px 8px;
    font-size: 11px;
  }
}

.gv-nav__link:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff !important;
  transform: translateY(-1px);
}

.gv-nav__link.is-active {
  background: #fff;
  color: var(--gainvest-navy) !important;
  border-color: rgba(255, 255, 255, 0.35);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16);
}

.gv-nav__link.is-active .gv-nav__icon {
  color: var(--gainvest-blue);
}

/* Recent Payments — same pill as others, soft brand accent */
.gv-nav__link--payments {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.16) 0%, rgba(0, 143, 232, 0.28) 100%);
  border-color: rgba(125, 211, 252, 0.4);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.2),
    0 2px 10px rgba(0, 90, 160, 0.18);
}

.gv-nav__link--payments .gv-nav__icon {
  color: #b8e6ff;
  opacity: 1;
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24;
}

.gv-nav__link--payments:hover {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, rgba(0, 143, 232, 0.4) 100%);
  border-color: rgba(186, 230, 253, 0.55);
  color: #fff !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.25),
    0 4px 14px rgba(0, 110, 190, 0.24);
}

.gv-nav__link--payments.is-active {
  background: #fff;
  color: var(--gainvest-navy) !important;
  border-color: rgba(0, 143, 232, 0.35);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16);
}

.gv-nav__link--payments.is-active .gv-nav__icon {
  color: var(--gainvest-blue);
}

.gv-nav__bar {
  display: none;
}

.gv-nav__pins {
  display: none;
}

.gv-nav__toggle {
  display: none;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 12px;
  color: #fff;
  padding: 10px 14px;
  min-height: 44px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  align-items: center;
  gap: 8px;
  font-family: inherit;
  -webkit-tap-highlight-color: transparent;
}

.gv-nav__toggle:hover,
.gv-nav__toggle.is-open {
  background: rgba(255, 255, 255, 0.2);
}

.gv-nav__account-toggle {
  display: none;
  width: auto;
  margin: 0;
  padding: 6px 10px;
  min-height: 0;
  font-size: 12px;
  font-weight: 700;
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.22);
  color: #fff !important;
  box-shadow: none;
  border-radius: 999px;
  -webkit-tap-highlight-color: transparent;
}

.gv-nav__account-toggle .gv-mi {
  font-size: 18px;
}

.gv-nav__account-toggle:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.3);
  color: #fff !important;
  transform: none;
}

.gv-sidebar-backdrop {
  position: fixed;
  inset: 0;
  z-index: 55;
  background: rgba(15, 61, 92, 0.45);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.28s ease, visibility 0.28s ease;
}

.gv-sidebar-backdrop.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

body.gv-sidebar-open {
  overflow: hidden;
}

body.gv-sidebar-open .gv-nav {
  z-index: 40;
}

/* ========== SECTIONS ========== */
.gv-section {
  max-width: var(--gainvest-max);
  margin: 0 auto;
  padding: 22px var(--gainvest-pad-x);
}

.gv-section__title {
  margin: 0 0 12px;
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 800;
  color: var(--gainvest-navy);
  border-left: 4px solid var(--gainvest-red);
  padding-left: 10px;
  line-height: 1.25;
}

.gv-section__title--plain {
  border-left: 0;
  padding-left: 0;
}

.gv-panel {
  background: var(--gainvest-white);
  border: 1px solid var(--gainvest-border);
  border-radius: var(--gainvest-radius);
  padding: 18px 20px;
  box-shadow: var(--gainvest-shadow-sm);
}

.gv-panel__hd {
  font-size: 16px;
  font-weight: 800;
  color: var(--gainvest-navy);
  margin: 0 0 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--gainvest-red);
}

/* Start earning strip */
.gv-start-strip {
  background: linear-gradient(180deg, #ffffff 0%, #f4f9fc 100%);
  border-bottom: 1px solid var(--gainvest-border-light);
}

.gv-start-strip__inner {
  max-width: var(--gainvest-max);
  margin: 0 auto;
  padding: 10px var(--gainvest-pad-x);
}

.gv-start-strip__top {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 14px;
}

.gv-start-strip__copy {
  position: relative;
  flex: 1 1 300px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0;
  padding: 10px 14px 10px 16px;
  border-radius: 12px;
  border: 1px solid rgba(185, 210, 223, 0.6);
  background:
    radial-gradient(360px 120px at 0% 0%, rgba(0, 143, 232, 0.11), transparent 60%),
    radial-gradient(280px 100px at 100% 100%, rgba(236, 0, 68, 0.07), transparent 58%),
    linear-gradient(165deg, #fafdff 0%, #f0f7fc 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.92),
    0 4px 16px rgba(22, 79, 112, 0.06);
  overflow: hidden;
  font-family: "Plus Jakarta Sans", var(--gainvest-font);
}

.gv-start-strip__copy::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: linear-gradient(180deg, var(--gainvest-blue) 0%, var(--gainvest-red) 100%);
}

.gv-start-strip__kicker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  margin: 0 0 4px;
  padding: 2px 8px 2px 2px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(0, 143, 232, 0.2);
  box-shadow: 0 1px 4px rgba(0, 143, 232, 0.08);
}

.gv-start-strip__kicker-icon {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, var(--gainvest-blue) 0%, var(--gainvest-blue-dark) 100%);
  color: #fff;
  flex-shrink: 0;
}

.gv-start-strip__kicker-icon .gv-mi {
  font-size: 11px;
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;
  line-height: 1;
}

.gv-start-strip__kicker-text {
  font-size: 10px;
  font-weight: 800;
  color: var(--gainvest-navy);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  line-height: 1;
}

.gv-start-strip__headline {
  margin: 0 0 2px;
  font-size: clamp(16px, 2.1vw, 19px);
  font-weight: 800;
  color: var(--gainvest-navy);
  letter-spacing: -0.03em;
  line-height: 1.2;
}

.gv-start-strip__offer {
  margin: 0;
  font-size: clamp(13px, 1.7vw, 15px);
  font-weight: 600;
  color: #4a6574;
  letter-spacing: -0.01em;
  line-height: 1.35;
}

.gv-start-strip__offer-lead {
  font-weight: 600;
  color: #4a6574;
}

.gv-start-strip__offer-mid {
  margin: 0 0.2em;
  font-weight: 600;
  color: #7a929f;
}

.gv-start-strip__offer-tail {
  font-weight: 500;
  color: #6b8494;
}

.gv-start-strip__amt {
  font-weight: 800;
  letter-spacing: -0.03em;
  font-size: 1.06em;
}

.gv-start-strip__amt--blue {
  color: var(--gainvest-blue);
}

.gv-start-strip__amt--red {
  color: var(--gainvest-red);
}

.gv-start-strip__payments {
  position: relative;
  flex: 0 1 420px;
  max-width: 440px;
  width: 100%;
  display: flex;
  align-items: center;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid rgba(185, 210, 223, 0.55);
  background:
    radial-gradient(280px 90px at 100% 0%, rgba(0, 143, 232, 0.08), transparent 60%),
    linear-gradient(165deg, #ffffff 0%, #f3f8fb 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.gv-start-strip__pay-label {
  position: absolute;
  top: -8px;
  left: 10px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  max-width: calc(100% - 20px);
  margin: 0;
  padding: 1px 8px 1px 5px;
  border-radius: 999px;
  border: 1px solid rgba(0, 143, 232, 0.22);
  background: linear-gradient(180deg, #ffffff 0%, #eef7fc 100%);
  box-shadow: 0 1px 4px rgba(22, 79, 112, 0.08);
  color: var(--gainvest-navy);
  font-family: "Plus Jakarta Sans", var(--gainvest-font);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.03em;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.gv-start-strip__pay-label .gv-mi {
  flex-shrink: 0;
  font-size: 12px;
  color: var(--gainvest-blue);
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;
}

.gv-start-strip__pay-icons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  width: 100%;
}

.gv-pay-icon {
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  border-radius: 7px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid var(--gainvest-border-light);
  box-shadow: none;
  transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.gv-pay-icon:hover {
  transform: translateY(-1px);
  border-color: #a9cee0;
  box-shadow: 0 2px 6px rgba(15, 70, 110, 0.08);
}

.gv-pay-icon img {
  width: 15px;
  height: 15px;
  display: block;
  object-fit: contain;
}

.gv-pay-icon--faucetpay {
  width: auto;
  min-width: 68px;
  padding: 0 8px;
  background: #fff;
}

.gv-pay-brand {
  display: inline-flex;
  align-items: baseline;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1;
  white-space: nowrap;
}

.gv-pay-brand__faucet { color: #0a1330; }
.gv-pay-brand__pay { color: #5b8def; }

@media (max-width: 820px) {
  .gv-start-strip {
    border-bottom: 0;
  }

  .gv-start-strip__inner {
    padding: 0 var(--gainvest-pad-x);
  }

  .gv-start-strip__top {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .gv-start-strip__payments {
    flex: 0 0 auto;
  }

  /* Full text kept — denser mobile card, no vertical dead space */
  .gv-start-strip__copy {
    flex: 0 0 auto;
    min-height: 0;
    padding: 6px 10px;
    border-radius: 0;
    border-left: 0;
    border-right: 0;
    border-top: 1px solid rgba(185, 210, 223, 0.45);
    border-bottom: 1px solid rgba(185, 210, 223, 0.45);
    box-shadow: none;
    background: linear-gradient(90deg, rgba(0, 143, 232, 0.06) 0%, #f7fbfe 28%, #f7fbfe 100%);
  }

  .gv-start-strip__copy::before {
    display: none;
  }

  .gv-start-strip__kicker {
    margin: 0 0 2px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .gv-start-strip__kicker-icon {
    width: 16px;
    height: 16px;
  }

  .gv-start-strip__kicker-icon .gv-mi {
    font-size: 11px;
  }

  .gv-start-strip__kicker-text {
    font-size: 10px;
    letter-spacing: 0.06em;
    color: var(--gainvest-blue);
  }

  .gv-start-strip__headline {
    margin: 0;
    font-size: 14.5px;
    line-height: 1.25;
  }

  .gv-start-strip__offer {
    margin: 2px 0 0;
    font-size: 12.5px;
    line-height: 1.35;
  }

  .gv-start-strip__amt {
    display: inline;
    padding: 0;
    border: 0;
    background: none;
    font-size: 1em;
  }

  .gv-start-strip__payments {
    flex: none;
    flex-direction: row;
    align-items: center;
    max-width: none;
    margin: 0;
    padding: 6px 0 7px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    gap: 8px;
  }

  .gv-start-strip__pay-label {
    position: static;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    max-width: none;
    max-height: 72px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    font-size: 8px;
    letter-spacing: 0.04em;
    color: #5f7a8a;
    white-space: normal;
    overflow: hidden;
    text-overflow: clip;
    align-self: stretch;
    justify-content: center;
  }

  .gv-start-strip__pay-label .gv-mi {
    display: none;
  }

  .gv-start-strip__pay-icons {
    gap: 4px;
  }

  .gv-pay-icon {
    width: 26px;
    height: 26px;
    border-radius: 6px;
  }

  .gv-pay-icon img {
    width: 14px;
    height: 14px;
  }

  .gv-pay-icon--faucetpay {
    min-width: 58px;
    height: 26px;
    padding: 0 6px;
  }

  .gv-pay-brand {
    font-size: 9px;
  }
}

@media (max-width: 420px) {
  .gv-start-strip__copy {
    padding: 6px 9px;
  }

  .gv-start-strip__headline {
    font-size: 13.5px;
  }

  .gv-start-strip__offer {
    font-size: 12px;
  }

  .gv-pay-icon {
    width: 24px;
    height: 24px;
  }

  .gv-pay-icon img {
    width: 13px;
    height: 13px;
  }

  .gv-pay-icon--faucetpay {
    height: 24px;
    min-width: 54px;
  }
}

/* About hero */
.gv-section--about {
  padding-top: 18px;
}

.gv-about {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.75fr);
  gap: 18px;
  align-items: stretch;
}

.gv-about-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  align-items: center;
  gap: 8px;
  min-height: 360px;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(185, 210, 223, 0.25);
  background:
    radial-gradient(520px 240px at 18% 20%, rgba(0, 143, 232, 0.22), transparent 60%),
    radial-gradient(420px 220px at 88% 80%, rgba(236, 0, 68, 0.16), transparent 55%),
    linear-gradient(145deg, #05070d 0%, #0b1524 48%, #09101c 100%);
  box-shadow: var(--gainvest-shadow);
}

.gv-about-hero__glow {
  position: absolute;
  inset: auto -10% -30% 35%;
  height: 70%;
  background: radial-gradient(closest-side, rgba(0, 143, 232, 0.28), transparent 72%);
  pointer-events: none;
  filter: blur(8px);
}

.gv-about-hero__copy {
  position: relative;
  z-index: 2;
  padding: clamp(22px, 3.2vw, 36px) clamp(18px, 2.5vw, 28px) clamp(22px, 3.2vw, 36px) clamp(20px, 3vw, 34px);
}

.gv-about-hero__logo {
  display: block;
  height: clamp(34px, 4.2vw, 46px);
  width: auto;
  margin-bottom: 10px;
  filter: drop-shadow(0 6px 18px rgba(0, 0, 0, 0.35));
}

.gv-about-hero__tag {
  margin: 0 0 14px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #7eb7e8;
}

.gv-about-hero__title {
  margin: 0 0 12px;
  font-size: clamp(22px, 2.8vw, 30px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.03em;
  color: #fff;
}

.gv-about-hero__lead {
  margin: 0;
  max-width: 38ch;
  font-size: 14px;
  line-height: 1.65;
  color: rgba(226, 238, 247, 0.86);
}

.gv-about-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.gv-about-hero__actions .gv-btn--ghost {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.28);
  color: #fff;
}

.gv-about-hero__actions .gv-btn--ghost:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.45);
  color: #fff;
  text-decoration: none;
}

.gv-about-hero__visual {
  position: relative;
  z-index: 1;
  align-self: end;
  height: 100%;
  min-height: 320px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 8px 8px 0 0;
}

.gv-about-hero__visual img {
  width: 100%;
  max-width: 520px;
  height: auto;
  display: block;
  object-fit: contain;
  object-position: bottom center;
  animation: gv-about-float 5.5s ease-in-out infinite;
  filter: drop-shadow(0 18px 40px rgba(0, 120, 220, 0.28));
}

@keyframes gv-about-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@media (prefers-reduced-motion: reduce) {
  .gv-about-hero__visual img { animation: none; }
}

@media (max-width: 980px) {
  .gv-about {
    grid-template-columns: 1fr;
  }

  .gv-about-hero {
    grid-template-columns: 1fr;
    min-height: 0;
    gap: 0;
    border-radius: 14px;
  }

  .gv-about-hero__visual {
    min-height: 0;
    height: auto;
    padding: 10px 14px 0;
    order: -1;
  }

  .gv-about-hero__visual img {
    max-width: 220px;
    filter: drop-shadow(0 10px 22px rgba(0, 120, 220, 0.22));
  }

  .gv-about-hero__copy {
    padding: 10px 14px 14px;
  }

  .gv-about-hero__logo {
    height: 28px;
    margin-bottom: 6px;
  }

  .gv-about-hero__tag {
    margin: 0 0 6px;
    font-size: 10px;
    letter-spacing: 0.05em;
  }

  .gv-about-hero__title {
    margin: 0 0 6px;
    font-size: 18px;
    line-height: 1.2;
  }

  .gv-about-hero__lead {
    max-width: none;
    font-size: 12.5px;
    line-height: 1.45;
  }

  .gv-about-hero__actions {
    gap: 8px;
    margin-top: 12px;
  }

  .gv-about-hero__actions .gv-btn {
    padding: 8px 12px;
    min-height: 36px;
    font-size: 12px;
  }
}

@media (max-width: 420px) {
  .gv-about-hero__visual img {
    max-width: 180px;
  }

  .gv-about-hero__copy {
    padding: 8px 12px 12px;
  }

  .gv-about-hero__title {
    font-size: 17px;
  }

  .gv-about-hero__lead {
    font-size: 12px;
    line-height: 1.4;
  }
}

/* Top earners slot (homepage promo banner) */
.gv-earners {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  border-radius: 16px;
  border: none;
  background: transparent;
  box-shadow: none;
  min-height: 100%;
  overflow: hidden;
}

.gv-earners--banner-only {
  padding: 0;
  border-radius: 16px;
  overflow: hidden;
}

.gv-earners__promo {
  display: block;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(15, 40, 70, 0.08);
  box-shadow: 0 6px 18px rgba(15, 40, 70, 0.08);
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.gv-earners__promo:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(15, 40, 70, 0.12);
}

.gv-earners__promo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.gv-earners__promo--fallback {
  padding: 14px 14px 15px;
  background:
    linear-gradient(145deg, rgba(0, 143, 232, 0.12) 0%, rgba(236, 0, 68, 0.1) 55%, rgba(245, 197, 66, 0.14) 100%),
    #0b1f36;
  color: #f8fbff;
}

.gv-earners__promo-kicker {
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(248, 251, 255, 0.72);
  margin-bottom: 6px;
}

.gv-earners__promo-title {
  display: block;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.25;
  margin-bottom: 6px;
}

.gv-earners__promo-text {
  display: block;
  font-size: 12px;
  line-height: 1.45;
  color: rgba(248, 251, 255, 0.82);
}

.gv-earners__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.gv-earner {
  display: grid;
  grid-template-columns: 28px 36px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid var(--gainvest-border-light);
}

.gv-earner--gold {
  background: linear-gradient(90deg, rgba(255, 236, 179, 0.55) 0%, rgba(255, 255, 255, 0.95) 48%);
  border-color: #f0d27a;
}

.gv-earner--silver {
  background: linear-gradient(90deg, rgba(226, 232, 240, 0.7) 0%, rgba(255, 255, 255, 0.95) 48%);
}

.gv-earner--bronze {
  background: linear-gradient(90deg, rgba(237, 213, 183, 0.55) 0%, rgba(255, 255, 255, 0.95) 48%);
}

.gv-earner__rank {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 800;
  color: var(--gainvest-navy);
  background: #e8f4fb;
}

.gv-earner--gold .gv-earner__rank {
  background: linear-gradient(145deg, #ffe9a3, #f5c542);
  color: #7a5200;
}

.gv-earner--silver .gv-earner__rank {
  background: linear-gradient(145deg, #f1f5f9, #cbd5e1);
  color: #334155;
}

.gv-earner--bronze .gv-earner__rank {
  background: linear-gradient(145deg, #f3d2a8, #d4a373);
  color: #6b3f1d;
}

.gv-earner__photo {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px var(--gainvest-border-light);
  background: #e8f4fb;
}

.gv-earner--gold .gv-earner__photo { box-shadow: 0 0 0 1px #f0d27a; }
.gv-earner--silver .gv-earner__photo { box-shadow: 0 0 0 1px #cbd5e1; }
.gv-earner--bronze .gv-earner__photo { box-shadow: 0 0 0 1px #d4a373; }

.gv-earner__photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.gv-earner__meta {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.gv-earner__user {
  font-size: 13px;
  font-weight: 700;
  color: var(--gainvest-navy);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.gv-earner__country {
  font-size: 11px;
  font-weight: 600;
  color: var(--gainvest-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.gv-earner__amount {
  font-size: 13px;
  font-weight: 800;
  color: var(--gainvest-blue);
  letter-spacing: -0.02em;
  white-space: nowrap;
}

.gv-earner--gold .gv-earner__amount { color: #a16207; }
.gv-earner--silver .gv-earner__amount { color: #475569; }
.gv-earner--bronze .gv-earner__amount { color: #78716c; }
.gv-earner--blue .gv-earner__amount { color: var(--gainvest-blue); }

/* Homepage earn paths — free vs paid side by side */
.gv-section--earn-paths {
  padding-top: 8px;
  padding-bottom: 12px;
}

.gv-earn-paths {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

.gv-earn-path {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 100%;
  height: 100%;
  padding: 0 0 14px;
  border-radius: 16px;
  border: 1px solid rgba(159, 194, 212, 0.55);
  box-shadow: 0 8px 22px rgba(15, 61, 92, 0.06);
  overflow: hidden;
}

.gv-earn-path--free {
  background: #ffffff;
  border-color: rgba(22, 163, 74, 0.22);
}

.gv-earn-path--paid {
  background: #ffffff;
  border-color: rgba(0, 143, 232, 0.22);
}

.gv-earn-path__head {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 92px;
  padding: 14px 16px;
  border-radius: 0;
  border: 0;
  position: relative;
  overflow: hidden;
}

.gv-earn-path__head::after {
  content: '';
  position: absolute;
  inset: auto -20% -40% 50%;
  height: 80%;
  pointer-events: none;
  background: radial-gradient(closest-side, rgba(255, 255, 255, 0.18), transparent 72%);
}

.gv-earn-path--free .gv-earn-path__head {
  background: linear-gradient(135deg, #4ade80 0%, #22c55e 42%, #16a34a 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.gv-earn-path--paid .gv-earn-path__head {
  background: linear-gradient(135deg, #38bdf8 0%, var(--gainvest-blue) 46%, #0070c0 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.gv-earn-path__icon {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.28);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
}

.gv-earn-path__icon .gv-mi {
  font-size: 24px;
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24;
}

.gv-earn-path__icon--paid {
  color: #fff;
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.28);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
}

.gv-earn-path__head-copy {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.gv-earn-path__badge {
  display: inline-flex;
  align-self: flex-start;
  margin: 0;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.24);
}

.gv-earn-path__badge--paid {
  color: #fff;
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.24);
}

.gv-earn-path__title {
  margin: 0;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #fff;
  line-height: 1.15;
  text-shadow: 0 1px 8px rgba(15, 61, 92, 0.12);
}

.gv-earn-path__lead {
  margin: 0;
  font-size: 12px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.92);
}

.gv-earn-path__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(110px, 150px);
  align-items: stretch;
  gap: 8px 10px;
  padding: 4px 8px 0 0;
  flex: 1;
}

.gv-earn-path__content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
}

.gv-earn-path__visual {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 140px;
  height: 100%;
  padding: 0 6px 4px 0;
}

.gv-earn-path__visual img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 148px;
  display: block;
  object-fit: contain;
  object-position: center center;
  filter: drop-shadow(0 10px 20px rgba(15, 61, 92, 0.12));
}

.gv-earn-path__list {
  list-style: none;
  margin: 0 16px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
}

.gv-earn-path__list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 6px 0;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--gainvest-navy);
}

.gv-earn-path__mark {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 1px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, #fef3c7 0%, #fbbf24 55%, #d97706 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    0 1px 4px rgba(180, 83, 9, 0.18);
  border: 1px solid rgba(217, 119, 6, 0.28);
}

.gv-earn-path__mark .gv-mi {
  font-size: 13px;
  color: #92400e;
  font-variation-settings: "FILL" 1, "wght" 600, "GRAD" 0, "opsz" 20;
}

.gv-earn-path--free .gv-earn-path__mark {
  background: linear-gradient(145deg, #dcfce7 0%, #4ade80 55%, #16a34a 100%);
  border-color: rgba(22, 163, 74, 0.28);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    0 1px 4px rgba(22, 163, 74, 0.18);
}

.gv-earn-path--free .gv-earn-path__mark .gv-mi {
  color: #14532d;
}

.gv-earn-path--paid .gv-earn-path__mark {
  background: linear-gradient(145deg, #dbeafe 0%, #38bdf8 55%, #0284c7 100%);
  border-color: rgba(2, 132, 199, 0.28);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    0 1px 4px rgba(0, 143, 232, 0.18);
}

.gv-earn-path--paid .gv-earn-path__mark .gv-mi {
  color: #0c4a6e;
}

.gv-earn-path__action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: calc(100% - 32px);
  margin: auto 16px 0;
  padding: 12px 16px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1;
  text-decoration: none !important;
  border: 1px solid transparent;
  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

.gv-earn-path__action:hover {
  transform: translateY(-1px);
  text-decoration: none !important;
}

.gv-earn-path__action .gv-mi {
  font-size: 18px;
  transition: transform 0.15s ease;
}

.gv-earn-path__action:hover .gv-mi {
  transform: translateX(2px);
}

.gv-earn-path__action--free {
  color: #fff !important;
  background: linear-gradient(135deg, #34d399 0%, #16a34a 52%, #059669 100%);
  border-color: rgba(5, 150, 105, 0.35);
  box-shadow: 0 6px 16px rgba(22, 163, 74, 0.22);
}

.gv-earn-path__action--free:hover {
  box-shadow: 0 8px 20px rgba(22, 163, 74, 0.28);
  filter: brightness(1.03);
}

.gv-earn-path__action--paid {
  color: #fff !important;
  background: linear-gradient(135deg, #38bdf8 0%, var(--gainvest-blue) 52%, #0070c0 100%);
  border-color: rgba(0, 112, 192, 0.35);
  box-shadow: 0 6px 16px rgba(0, 143, 232, 0.22);
}

.gv-earn-path__action--paid:hover {
  box-shadow: 0 8px 20px rgba(0, 143, 232, 0.28);
  filter: brightness(1.03);
}

@media (max-width: 820px) {
  .gv-earn-paths {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .gv-earn-path__body {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 4px 0 0;
  }

  .gv-earn-path__visual {
    order: -1;
    min-height: 0;
    padding: 6px 16px 0;
  }

  .gv-earn-path__visual img {
    max-height: 120px;
    margin: 0 auto;
  }
}


/* legacy video box kept for other pages if reused */
.gv-video-box {
  border: 1px solid var(--gainvest-border);
  background: linear-gradient(160deg, #12384d 0%, #0b2433 100%);
  aspect-ratio: 16 / 10;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9fb7c6;
  position: relative;
  overflow: hidden;
  border-radius: var(--gainvest-radius);
  box-shadow: var(--gainvest-shadow);
}

.gv-video-box iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.gv-video-box__placeholder {
  text-align: center;
  padding: 20px;
  font-size: 13px;
}

/* Community join banner */
.gv-community {
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  margin: 0;
}

.gv-community__btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 20px;
  border-radius: 16px;
  text-decoration: none !important;
  overflow: hidden;
  isolation: isolate;
  min-height: 0;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background:
    radial-gradient(520px 140px at 12% 0%, rgba(42, 171, 238, 0.18), transparent 60%),
    radial-gradient(420px 160px at 88% 120%, rgba(255, 255, 255, 0.06), transparent 55%),
    linear-gradient(145deg, #141414 0%, #0b0b0b 48%, #050505 100%);
  box-shadow:
    0 12px 32px rgba(0, 0, 0, 0.32),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  transition: transform 0.24s ease, border-color 0.24s ease, box-shadow 0.24s ease;
}

.gv-community__btn:hover {
  transform: translateY(-2px);
  border-color: rgba(42, 171, 238, 0.35);
  box-shadow:
    0 16px 40px rgba(0, 0, 0, 0.4),
    0 0 0 1px rgba(42, 171, 238, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.gv-community__glow,
.gv-community__noise {
  position: absolute;
  pointer-events: none;
  z-index: 0;
}

.gv-community__glow--a {
  width: 180px;
  height: 180px;
  border-radius: 50%;
  right: 18%;
  top: -75%;
  background: radial-gradient(circle, rgba(42, 171, 238, 0.22) 0%, transparent 70%);
}

.gv-community__glow--b {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  left: 6%;
  bottom: -80%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.08) 0%, transparent 70%);
}

.gv-community__noise {
  inset: 0;
  opacity: 0.4;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: 24px 24px;
  mask-image: linear-gradient(90deg, transparent, #000 15%, #000 85%, transparent);
}

.gv-community__main,
.gv-community__aside,
.gv-community__icon,
.gv-community__copy {
  position: relative;
  z-index: 1;
}

.gv-community__main {
  display: flex;
  align-items: center;
  gap: 15px;
  min-width: 0;
  flex: 1 1 auto;
}

.gv-community__icon {
  position: relative;
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: linear-gradient(145deg, #3bb7f0 0%, #1f92d4 100%);
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-shadow:
    0 8px 20px rgba(42, 171, 238, 0.38),
    inset 0 1px 0 rgba(255, 255, 255, 0.35);
  transition: transform 0.24s ease, box-shadow 0.24s ease;
}

.gv-community__icon-ring {
  position: absolute;
  inset: -5px;
  border-radius: 17px;
  border: 1px solid rgba(42, 171, 238, 0.35);
  opacity: 0.7;
  animation: gv-community-ring 2.8s ease-in-out infinite;
}

.gv-community__btn:hover .gv-community__icon {
  transform: scale(1.05);
  box-shadow:
    0 10px 24px rgba(42, 171, 238, 0.48),
    inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.gv-community__copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.gv-community__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.gv-community__eyebrow {
  margin: 0;
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
  font-style: normal;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
}

.gv-community__live {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #86efac;
  background: rgba(22, 163, 74, 0.16);
  border: 1px solid rgba(74, 222, 128, 0.28);
}

.gv-community__pulse {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #4ade80;
  box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.5);
  animation: gv-community-pulse 1.8s ease-out infinite;
}

.gv-community__title {
  font-size: clamp(15px, 2vw, 18px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: #fff;
}

.gv-community__lead {
  font-size: 12.5px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.7);
  max-width: 48ch;
}

.gv-community__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
}

.gv-community__chips > span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.78);
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.gv-community__chips .gv-mi {
  font-size: 13px;
  color: #7dd3fc;
}

.gv-community__aside {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  flex: 0 0 auto;
}

.gv-community__cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 11px 15px;
  border-radius: 11px;
  background: #fff;
  color: #0a0a0a;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: -0.01em;
  white-space: nowrap;
  box-shadow:
    0 8px 20px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.gv-community__cta .gv-mi {
  font-size: 16px;
  font-weight: 700;
}

.gv-community__btn:hover .gv-community__cta {
  transform: translateX(3px);
  background: #f7f7f7;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.36);
}

.gv-community__hint {
  font-size: 11px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.48);
}

@keyframes gv-community-pulse {
  0% { box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.5); }
  70% { box-shadow: 0 0 0 7px rgba(74, 222, 128, 0); }
  100% { box-shadow: 0 0 0 0 rgba(74, 222, 128, 0); }
}

@keyframes gv-community-ring {
  0%, 100% { transform: scale(1); opacity: 0.55; }
  50% { transform: scale(1.06); opacity: 0.95; }
}

@media (max-width: 760px) {
  .gv-community__btn {
    flex-direction: column;
    align-items: stretch;
    gap: 13px;
    padding: 15px;
  }

  .gv-community__main {
    gap: 12px;
  }

  .gv-community__icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
  }

  .gv-community__title {
    font-size: 15px;
  }

  .gv-community__lead {
    font-size: 12px;
  }

  .gv-community__aside {
    align-items: stretch;
  }

  .gv-community__cta {
    justify-content: center;
    width: 100%;
  }

  .gv-community__hint {
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gv-community__pulse,
  .gv-community__icon-ring {
    animation: none;
  }
}

/* Legacy social bar (unused on home) */
.gv-social-bar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--gainvest-border);
  background: var(--gainvest-white);
  border-radius: var(--gainvest-radius);
  overflow: hidden;
  box-shadow: var(--gainvest-shadow-sm);
}

.gv-social-bar__item {
  padding: 16px 12px;
  text-align: center;
  border-right: 1px solid var(--gainvest-border-light);
}

.gv-social-bar__item:last-child { border-right: 0; }

.gv-social-bar__item strong {
  display: block;
  font-size: 22px;
  color: var(--gainvest-blue);
  line-height: 1.1;
}

.gv-social-bar__item span {
  font-size: 11px;
  color: var(--gainvest-muted);
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* Platform stats board */
.gv-section--stats {
  padding-top: 8px;
}

.gv-stats-board {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(640px 200px at 8% -10%, rgba(0, 143, 232, 0.12), transparent 55%),
    radial-gradient(520px 180px at 100% 0%, rgba(22, 79, 112, 0.08), transparent 50%),
    linear-gradient(180deg, #ffffff 0%, #f4f9fc 100%);
  border: 1px solid rgba(185, 210, 223, 0.7);
  border-radius: 18px;
  padding: 18px 18px 16px;
  box-shadow: var(--gainvest-shadow-sm);
}

.gv-stats-board__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.gv-stats-board__title {
  margin: 0;
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 800;
  color: var(--gainvest-navy);
  letter-spacing: -0.03em;
  line-height: 1.2;
}

.gv-stats-board__sub {
  margin: 5px 0 0;
  font-size: 13px;
  color: var(--gainvest-muted);
}

.gv-stats-board__live {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(22, 163, 74, 0.1);
  border: 1px solid rgba(22, 163, 74, 0.22);
  color: #15803d;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.gv-stats-board__pulse {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.5);
  animation: gv-stats-pulse 1.6s ease-out infinite;
}

@keyframes gv-stats-pulse {
  0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.5); }
  70% { box-shadow: 0 0 0 8px rgba(34, 197, 94, 0); }
  100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .gv-stats-board__pulse { animation: none; }
}

.gv-stats-board__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.gv-stats-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 16px;
  border-radius: 14px;
  border: 1px solid transparent;
  min-width: 0;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.gv-stats-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--gainvest-shadow);
}

.gv-stats-card--blue {
  background: linear-gradient(165deg, #f3f9fd 0%, #e6f2fa 100%);
  border-color: rgba(0, 143, 232, 0.18);
}

.gv-stats-card--green {
  background: linear-gradient(165deg, #f3faf5 0%, #e6f5eb 100%);
  border-color: rgba(22, 163, 74, 0.18);
}

.gv-stats-card--red,
.gv-stats-card--navy,
.gv-stats-card--cyan {
  background: linear-gradient(165deg, #f2f5f8 0%, #e7edf2 100%);
  border-color: rgba(22, 79, 112, 0.14);
}

.gv-stats-card__icon {
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: var(--gainvest-blue);
  box-shadow: 0 1px 3px rgba(22, 79, 112, 0.08);
}

.gv-stats-card__icon .gv-mi {
  font-size: 24px;
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24;
}

.gv-stats-card--green .gv-stats-card__icon {
  color: #16a34a;
}

.gv-stats-card--red .gv-stats-card__icon,
.gv-stats-card--navy .gv-stats-card__icon {
  color: var(--gainvest-navy);
}

.gv-stats-card__body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.gv-stats-card__label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  color: var(--gainvest-muted);
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.gv-stats-card__value {
  display: block;
  font-size: clamp(22px, 2.4vw, 26px);
  font-weight: 800;
  color: var(--gainvest-navy);
  line-height: 1.1;
  letter-spacing: -0.03em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.gv-stats-card--blue .gv-stats-card__value { color: var(--gainvest-blue); }
.gv-stats-card--green .gv-stats-card__value,
.gv-stats-card--green.is-money .gv-stats-card__value { color: #15803d; }
.gv-stats-card--red .gv-stats-card__value,
.gv-stats-card--red.is-money .gv-stats-card__value { color: var(--gainvest-navy); }

.gv-stats-5 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  border: 1px solid var(--gainvest-border);
  background: var(--gainvest-white);
  border-radius: var(--gainvest-radius);
  overflow: hidden;
  box-shadow: var(--gainvest-shadow-sm);
}

.gv-stats-5__item {
  padding: 18px 12px;
  text-align: center;
  border-right: 1px solid var(--gainvest-border-light);
}

.gv-stats-5__item:last-child { border-right: 0; }

.gv-stats-5__item strong {
  display: block;
  font-size: clamp(18px, 2vw, 24px);
  color: var(--gainvest-blue);
  font-weight: 800;
}

.gv-stats-5__item span {
  display: block;
  margin-top: 5px;
  font-size: 11px;
  color: var(--gainvest-muted);
  text-transform: uppercase;
}

.gv-stats-caption {
  text-align: center;
  font-size: 12px;
  color: var(--gainvest-muted);
  margin: 10px 0 0;
}

@media (max-width: 900px) {
  .gv-stats-board__grid {
    grid-template-columns: 1fr;
  }
  .gv-stats-board__head {
    flex-wrap: wrap;
  }
}

/* Trading + engine */
.gv-trade-grid {
  display: grid;
  grid-template-columns: 1.85fr 1fr;
  gap: 18px;
}

.gv-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }

.gv-trades-panel {
  padding: 16px 16px 12px;
}

.gv-trades-title {
  margin: 0 0 12px;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.gv-trades-title__main {
  color: var(--gainvest-navy);
  border-bottom: 3px solid var(--gainvest-red);
  padding-bottom: 2px;
  margin-right: 6px;
}

.gv-trades-title__accent {
  color: var(--gainvest-red);
}

.gv-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.gv-table th {
  background: #edf5fa;
  color: var(--gainvest-navy);
  font-weight: 700;
  text-align: left;
  padding: 10px 10px;
  border: 1px solid var(--gainvest-border-light);
  white-space: nowrap;
}

.gv-table td {
  padding: 9px 10px;
  border: 1px solid var(--gainvest-border-light);
  background: #fff;
  white-space: nowrap;
}

.gv-table tr:nth-child(even) td { background: #f9fcfe; }

.gv-table--trades {
  text-align: center;
  border-collapse: separate;
  border-spacing: 0;
}

.gv-table--trades th {
  text-align: center;
  background: #164f70;
  color: #fff;
  border: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  padding: 10px 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.gv-table--trades th:first-child { border-radius: 6px 0 0 0; }
.gv-table--trades th:last-child {
  border-radius: 0 6px 0 0;
  border-right: 0;
}

.gv-table--trades td {
  text-align: center;
  padding: 9px 8px;
  color: #2a4f66;
  border: 0;
  border-bottom: 1px solid #dce8ef;
  background: #fff;
  font-size: 12px;
}

.gv-table--trades tr:nth-child(even) td {
  background: #f7fbfd;
}

.gv-table--trades .is-buy,
.gv-table--trades .is-profit {
  color: #16a34a;
  font-weight: 800;
}

.gv-table--trades .is-sell,
.gv-table--trades .is-loss {
  color: #e3242b;
  font-weight: 800;
}

.gv-empty {
  padding: 22px;
  text-align: center;
  color: var(--gainvest-muted);
  font-size: 13px;
  background: var(--gainvest-bg-light);
  border: 1px dashed var(--gainvest-border);
  border-radius: var(--gainvest-radius-sm);
}

.gv-engine p,
.gv-engine__plan {
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--gainvest-muted);
  font-weight: 600;
}

.gv-engine .gv-calc {
  margin: 0;
}

.gv-trade-side {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
}

.gv-referral-card__lead {
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--gainvest-muted);
}

.gv-referral-levels {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}

.gv-referral-level {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 10px 8px;
  border-radius: 10px;
  border: 1px solid var(--gainvest-border-light);
  background: linear-gradient(180deg, #f8fcfe 0%, #eef6fb 100%);
  text-align: center;
}

.gv-referral-level__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: #164f70;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.gv-referral-level strong {
  font-size: 18px;
  font-weight: 800;
  color: var(--gainvest-navy);
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.gv-referral-level span:last-child {
  font-size: 10px;
  font-weight: 700;
  color: var(--gainvest-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

@media (max-width: 900px) {
  .gv-trade-grid {
    gap: 12px;
  }

  .gv-trades-panel {
    padding: 12px;
  }

  .gv-trades-title {
    margin: 0 0 10px;
    font-size: 15px;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 6px;
    align-items: baseline;
  }

  .gv-trades-title__main {
    border-bottom-width: 2px;
  }

  .gv-trades-panel .gv-table-wrap {
    overflow: visible;
  }

  .gv-table--trades thead {
    display: none;
  }

  .gv-table--trades tbody {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .gv-table--trades tr {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "pair pl"
      "side side"
      "elapsed duration"
      "entry exit"
      "lev lev";
    gap: 5px 6px;
    padding: 10px 11px;
    border: 1px solid var(--gainvest-border-light);
    border-radius: 12px;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbfd 100%);
    box-shadow: 0 1px 0 rgba(15, 61, 92, 0.04);
  }

  .gv-table--trades tr:nth-child(even) {
    background: linear-gradient(180deg, #f9fcfe 0%, #f2f8fc 100%);
  }

  .gv-table--trades td {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: auto;
    padding: 0;
    border: 0;
    background: transparent !important;
    white-space: normal;
    text-align: left;
    font-size: 12px;
    color: #2a4f66;
    min-width: 0;
  }

  .gv-table--trades td::before {
    content: attr(data-label);
    flex: 0 0 auto;
    color: var(--gainvest-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
  }

  .gv-table--trades td:nth-child(1) {
    grid-area: pair;
    justify-content: flex-start;
    font-size: 14px;
    font-weight: 800;
    color: var(--gainvest-navy);
    letter-spacing: -0.02em;
  }

  .gv-table--trades td:nth-child(1)::before {
    display: none;
  }

  .gv-table--trades td:nth-child(2) {
    grid-area: side;
    display: inline-flex;
    width: fit-content;
    justify-content: center;
    padding: 3px 9px;
    border-radius: 999px;
    background: rgba(22, 79, 112, 0.08);
    font-size: 11px;
    font-weight: 800;
  }

  .gv-table--trades td:nth-child(2)::before {
    display: none;
  }

  .gv-table--trades td:nth-child(2).is-buy {
    background: rgba(22, 163, 74, 0.12);
  }

  .gv-table--trades td:nth-child(2).is-sell {
    background: rgba(227, 36, 43, 0.1);
  }

  .gv-table--trades td:nth-child(3) { grid-area: elapsed; }
  .gv-table--trades td:nth-child(4) { grid-area: entry; }
  .gv-table--trades td:nth-child(5) { grid-area: exit; }
  .gv-table--trades td:nth-child(6) { grid-area: duration; }
  .gv-table--trades td:nth-child(7) { grid-area: lev; }

  .gv-table--trades td:nth-child(8) {
    grid-area: pl;
    justify-content: flex-end;
    font-size: 14px;
    font-weight: 800;
  }

  .gv-table--trades td:nth-child(8)::before {
    display: none;
  }

  .gv-table--trades td:nth-child(3),
  .gv-table--trades td:nth-child(4),
  .gv-table--trades td:nth-child(5),
  .gv-table--trades td:nth-child(6),
  .gv-table--trades td:nth-child(7) {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 2px;
    padding: 6px 8px;
    border-radius: 8px;
    background: rgba(22, 79, 112, 0.04) !important;
  }

  .gv-table--trades td:nth-child(7) {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  .gv-trade-side {
    gap: 12px;
  }

  .gv-engine,
  .gv-referral-card {
    padding: 14px;
  }

  .gv-engine .gv-panel__hd,
  .gv-referral-card .gv-panel__hd {
    font-size: 15px;
    margin-bottom: 8px;
    padding-bottom: 6px;
  }

  .gv-engine__plan {
    margin-bottom: 10px;
    font-size: 12px;
    line-height: 1.4;
  }

  .gv-engine .gv-calc {
    padding: 12px;
    border-radius: 12px;
  }

  .gv-engine .gv-calc__dates {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-bottom: 12px;
  }

  .gv-engine .gv-calc__dates > div {
    padding: 8px 10px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid var(--gainvest-border-light);
    font-size: 11px;
    line-height: 1.35;
  }

  .gv-engine .gv-calc__dates strong {
    font-size: 13px;
  }

  .gv-engine .gv-calc__row {
    grid-template-columns: 1fr;
    gap: 4px;
    margin-bottom: 8px;
  }

  .gv-engine .gv-calc__label {
    font-size: 11px;
  }

  .gv-engine .gv-calc .gv-input {
    padding: 9px 10px;
    font-size: 14px;
  }

  .gv-engine .gv-calc .gv-btn {
    width: 100%;
    margin-top: 4px;
  }

  .gv-referral-card__lead {
    font-size: 12px;
    margin-bottom: 10px;
  }

  .gv-referral-levels {
    gap: 6px;
    margin-bottom: 10px;
  }

  .gv-referral-level {
    padding: 8px 6px;
    gap: 2px;
  }

  .gv-referral-level strong {
    font-size: 16px;
  }

  .gv-referral-card > .gv-btn {
    width: 100%;
  }
}

@media (max-width: 420px) {
  .gv-table--trades tr {
    gap: 5px;
    padding: 9px 10px;
  }

  .gv-table--trades td:nth-child(1),
  .gv-table--trades td:nth-child(8) {
    font-size: 13px;
  }

  .gv-engine .gv-calc__dates {
    grid-template-columns: 1fr;
  }
}

/* Referral program page */
.gv-ref-hero {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 22px;
  align-items: stretch;
  padding: 28px 26px;
  border-radius: 18px;
  border: 1px solid rgba(185, 210, 223, 0.75);
  background:
    radial-gradient(520px 220px at 0% 0%, rgba(0, 143, 232, 0.14), transparent 55%),
    radial-gradient(420px 180px at 100% 100%, rgba(22, 163, 74, 0.08), transparent 50%),
    linear-gradient(165deg, #ffffff 0%, #f3f8fc 100%);
  box-shadow: var(--gainvest-shadow-sm);
}

.gv-ref-hero__eyebrow {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gainvest-blue);
}

.gv-ref-hero__title {
  margin: 0;
  font-size: clamp(26px, 3.4vw, 34px);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--gainvest-navy);
  line-height: 1.15;
}

.gv-ref-hero__lead {
  margin: 12px 0 0;
  max-width: 58ch;
  font-size: 15px;
  line-height: 1.55;
  color: var(--gainvest-muted);
}

.gv-ref-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.gv-ref-hero__rates {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.gv-ref-rate {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 12px;
  row-gap: 2px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(185, 210, 223, 0.75);
}

.gv-ref-rate__tier {
  grid-row: 1 / span 2;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 800;
  color: #fff;
  background: var(--gainvest-blue);
}

.gv-ref-rate--green .gv-ref-rate__tier { background: #16a34a; }
.gv-ref-rate--navy .gv-ref-rate__tier { background: var(--gainvest-navy); }

.gv-ref-rate__pct {
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--gainvest-navy);
  line-height: 1;
}

.gv-ref-rate__label {
  font-size: 12px;
  color: var(--gainvest-muted);
}

.gv-ref-layout {
  display: grid;
  grid-template-columns: 1.35fr 0.9fr;
  gap: 18px;
  align-items: start;
}

.gv-ref-intro {
  margin: 0 0 18px;
  font-size: 14px;
  line-height: 1.55;
  color: var(--gainvest-muted);
}

.gv-ref-intro strong { color: var(--gainvest-navy); }

.gv-ref-levels {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 20px;
}

.gv-ref-level {
  padding: 16px;
  border-radius: 14px;
  border: 1px solid rgba(185, 210, 223, 0.7);
  background: linear-gradient(165deg, #f7fbfe 0%, #eef6fb 100%);
}

.gv-ref-level--green {
  background: linear-gradient(165deg, #f3faf5 0%, #e6f5eb 100%);
  border-color: rgba(22, 163, 74, 0.18);
}

.gv-ref-level--navy {
  background: linear-gradient(165deg, #f2f5f8 0%, #e7edf2 100%);
  border-color: rgba(22, 79, 112, 0.14);
}

.gv-ref-level__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.gv-ref-level__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 26px;
  padding: 0 8px;
  border-radius: 8px;
  background: var(--gainvest-blue);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
}

.gv-ref-level--green .gv-ref-level__badge { background: #16a34a; }
.gv-ref-level--navy .gv-ref-level__badge { background: var(--gainvest-navy); }

.gv-ref-level__head strong {
  font-size: 22px;
  font-weight: 800;
  color: var(--gainvest-navy);
  letter-spacing: -0.03em;
}

.gv-ref-level h3 {
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-ref-level p {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--gainvest-muted);
}

.gv-ref-points {
  display: grid;
  gap: 12px;
}

.gv-ref-point {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding-top: 12px;
  border-top: 1px solid var(--gainvest-border-light);
}

.gv-ref-point:first-of-type { border-top: 0; padding-top: 0; }

.gv-ref-point__icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(160deg, #eaf5fc 0%, #d7ebf7 100%);
  color: var(--gainvest-blue);
}

.gv-ref-point__icon .gv-mi { font-size: 22px; font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24; line-height: 1; }

.gv-ref-point h3 {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 800;
  color: var(--gainvest-navy);
  line-height: 1.25;
}

.gv-ref-point p {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--gainvest-muted);
}

.gv-ref-side {
  display: grid;
  gap: 18px;
}

.gv-ref-example__lead {
  margin: 0 0 12px;
  font-size: 13px;
  color: var(--gainvest-muted);
}

.gv-ref-example__lead strong { color: var(--gainvest-navy); }

.gv-ref-example__list {
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
  display: grid;
  gap: 8px;
}

.gv-ref-example__list li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 10px;
  background: #f4f9fc;
  border: 1px solid var(--gainvest-border-light);
  font-size: 13px;
}

.gv-ref-example__list span { color: var(--gainvest-muted); }
.gv-ref-example__list strong { color: var(--gainvest-navy); font-weight: 800; }

.gv-ref-example__note {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--gainvest-muted);
}

@media (max-width: 980px) {
  .gv-ref-hero,
  .gv-ref-layout {
    grid-template-columns: 1fr;
  }
  .gv-ref-levels {
    grid-template-columns: 1fr;
  }
}

/* Investment plan page */
.gv-plan-hero {
  display: grid;
  grid-template-columns: 1.35fr 0.9fr;
  gap: 22px;
  align-items: stretch;
  padding: 28px 26px;
  border-radius: 18px;
  border: 1px solid rgba(185, 210, 223, 0.75);
  background:
    radial-gradient(520px 220px at 0% 0%, rgba(0, 143, 232, 0.14), transparent 55%),
    radial-gradient(420px 180px at 100% 100%, rgba(22, 79, 112, 0.1), transparent 50%),
    linear-gradient(165deg, #ffffff 0%, #f3f8fc 100%);
  box-shadow: var(--gainvest-shadow-sm);
}

.gv-plan-hero__eyebrow {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gainvest-blue);
}

.gv-plan-hero__title {
  margin: 0;
  font-size: clamp(26px, 3.4vw, 34px);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--gainvest-navy);
  line-height: 1.15;
}

.gv-plan-hero__lead {
  margin: 12px 0 0;
  max-width: 54ch;
  font-size: 15px;
  line-height: 1.55;
  color: var(--gainvest-muted);
}

.gv-plan-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.gv-plan-hero__metrics {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.gv-plan-metric {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 18px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(185, 210, 223, 0.75);
}

.gv-plan-metric--accent {
  background: linear-gradient(160deg, #0f3d5c 0%, #164f70 100%);
  border-color: transparent;
  color: #fff;
}

.gv-plan-metric__value {
  font-size: clamp(26px, 3vw, 32px);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--gainvest-navy);
  line-height: 1;
}

.gv-plan-metric--accent .gv-plan-metric__value { color: #fff; }

.gv-plan-metric__label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--gainvest-muted);
}

.gv-plan-metric--accent .gv-plan-metric__label { color: rgba(255, 255, 255, 0.78); }

.gv-plan-layout {
  display: grid;
  grid-template-columns: 1.35fr 0.9fr;
  gap: 18px;
  align-items: start;
}

.gv-plan-detail__intro {
  margin: 0 0 18px;
  font-size: 14px;
  line-height: 1.55;
  color: var(--gainvest-muted);
}

.gv-plan-detail__intro strong { color: var(--gainvest-navy); }

.gv-plan-specs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 20px;
}

.gv-plan-spec {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 14px;
  border-radius: 12px;
  background: linear-gradient(165deg, #f7fbfe 0%, #eef6fb 100%);
  border: 1px solid rgba(185, 210, 223, 0.7);
}

.gv-plan-spec__icon {
  width: 40px;
  height: 40px;
  border-radius: 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: var(--gainvest-blue);
  box-shadow: 0 1px 3px rgba(22, 79, 112, 0.08);
}

.gv-plan-spec__icon .gv-mi { font-size: 22px; font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24; line-height: 1; }

.gv-plan-spec strong {
  display: block;
  font-size: 13px;
  color: var(--gainvest-navy);
  margin-bottom: 2px;
  line-height: 1.3;
}

.gv-plan-spec span {
  display: block;
  font-size: 12px;
  color: var(--gainvest-muted);
  line-height: 1.4;
}

.gv-plan-features {
  display: grid;
  gap: 12px;
}

.gv-plan-feature {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 14px 0 0;
  border-top: 1px solid var(--gainvest-border-light);
}

.gv-plan-feature:first-of-type { border-top: 0; padding-top: 0; }

.gv-plan-feature__icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(160deg, #eaf5fc 0%, #d7ebf7 100%);
  color: var(--gainvest-blue);
}

.gv-plan-feature__icon .gv-mi { font-size: 22px; font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24; line-height: 1; }

.gv-plan-feature h3 {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 800;
  color: var(--gainvest-navy);
  line-height: 1.25;
}

.gv-plan-feature p {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--gainvest-muted);
}

.gv-plan-side {
  display: grid;
  gap: 18px;
}

.gv-plan-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
}

.gv-plan-steps li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.gv-plan-steps__n {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--gainvest-navy);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
}

.gv-plan-steps strong {
  display: block;
  font-size: 14px;
  color: var(--gainvest-navy);
  margin-bottom: 2px;
  line-height: 1.3;
}

.gv-plan-steps span {
  display: block;
  font-size: 12px;
  color: var(--gainvest-muted);
  line-height: 1.45;
}

@media (max-width: 980px) {
  .gv-plan-hero,
  .gv-plan-layout {
    grid-template-columns: 1fr;
  }
  .gv-plan-hero__metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .gv-plan-hero__metrics,
  .gv-plan-specs {
    grid-template-columns: 1fr;
  }
}

/* Plan + calculator + withdrawals */
.gv-plan-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 18px;
}

.gv-calc {
  border: 1px solid var(--gainvest-border);
  background: linear-gradient(180deg, #f8fcfe 0%, #f1f8fc 100%);
  border-radius: var(--gainvest-radius);
  padding: 16px;
}

.gv-calc__row {
  display: grid;
  grid-template-columns: minmax(140px, 180px) 1fr;
  gap: 10px;
  align-items: center;
  margin-bottom: 10px;
  font-size: 13px;
}

.gv-calc__label { color: var(--gainvest-muted); font-weight: 600; }

.gv-calc__dates {
  display: flex;
  gap: 24px;
  margin-bottom: 14px;
  font-size: 13px;
  flex-wrap: wrap;
}

.gv-calc__dates strong { color: var(--gainvest-navy); }

.gv-input {
  width: 100%;
  border: 1px solid var(--gainvest-border);
  border-radius: var(--gainvest-radius-sm);
  padding: 10px 12px;
  font-size: 14px;
  font-family: inherit;
  color: var(--gainvest-text);
  background: #fff;
}

.gv-input:focus {
  outline: none;
  border-color: var(--gainvest-blue);
  box-shadow: 0 0 0 3px rgba(0,143,232,0.14);
}

.gv-input-prefix {
  display: flex;
  align-items: stretch;
}

.gv-input-prefix span {
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  background: #e8f2f8;
  border: 1px solid var(--gainvest-border);
  border-right: 0;
  border-radius: var(--gainvest-radius-sm) 0 0 var(--gainvest-radius-sm);
  font-size: 12px;
  font-weight: 700;
  color: var(--gainvest-navy);
}

.gv-input-prefix .gv-input { border-radius: 0 var(--gainvest-radius-sm) var(--gainvest-radius-sm) 0; }

.gv-plan-meta {
  font-size: 13px;
  color: var(--gainvest-muted);
  margin: 10px 0 0;
  line-height: 1.55;
}

.gv-plan-meta b { color: var(--gainvest-text); }

/* Stats bar */
.gv-metric-bar {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  background: linear-gradient(180deg, #2f7aa0 0%, #1d5673 100%);
  color: #fff;
  border: 1px solid #164f70;
  border-radius: var(--gainvest-radius);
  overflow: hidden;
  box-shadow: var(--gainvest-shadow);
}

.gv-metric-bar__item {
  padding: 16px 12px;
  text-align: center;
  border-right: 1px solid rgba(255,255,255,0.15);
  font-size: 13px;
}

.gv-metric-bar__item:last-child { border-right: 0; }
.gv-metric-bar__item strong { display: block; font-size: 18px; margin-bottom: 4px; }
.gv-metric-bar__item span { opacity: 0.85; font-size: 11px; }

/* Testimonials */
.gv-video-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.gv-video-thumb {
  border: 1px solid var(--gainvest-border);
  background: linear-gradient(160deg, #16384a 0%, #102a3a 100%);
  aspect-ratio: 16/10;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9eb6c5;
  font-size: 13px;
  border-radius: var(--gainvest-radius);
  text-decoration: none !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.gv-video-thumb:hover {
  transform: translateY(-2px);
  box-shadow: var(--gainvest-shadow);
  color: #fff;
}

.gv-testimonial-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.gv-testimonial-card {
  border: 1px solid var(--gainvest-border);
  background: #fff;
  padding: 16px;
  border-radius: var(--gainvest-radius);
  box-shadow: var(--gainvest-shadow-sm);
}

.gv-testimonial-card__top {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  margin-bottom: 8px;
}

.gv-testimonial-card__meta { font-size: 12px; color: var(--gainvest-muted); }
.gv-testimonial-card__name { font-weight: 700; color: var(--gainvest-navy); font-size: 14px; }
.gv-testimonial-card__title { font-weight: 700; margin: 6px 0; font-size: 14px; }
.gv-testimonial-card__body { font-size: 13px; line-height: 1.5; margin: 0 0 10px; }
.gv-stars { color: #f5a623; letter-spacing: 1px; font-size: 13px; }

.gv-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.gv-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

/* News band */
.gv-section--news {
  padding-top: 8px;
}

.gv-news-band {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 18px;
  align-items: stretch;
  padding: 22px;
  border-radius: 18px;
  border: 1px solid rgba(185, 210, 223, 0.55);
  background:
    radial-gradient(520px 200px at 0% 0%, rgba(0, 143, 232, 0.14), transparent 55%),
    radial-gradient(420px 180px at 100% 100%, rgba(236, 0, 68, 0.08), transparent 50%),
    linear-gradient(145deg, #0f3a52 0%, #164f70 48%, #123f5a 100%);
  box-shadow: var(--gainvest-shadow);
  overflow: hidden;
}

.gv-news-band__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 6px 4px;
}

.gv-news-band__kicker {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  width: fit-content;
  margin: 0 0 10px;
  padding: 3px 10px 3px 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: #9fd0ef;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.gv-news-band__kicker .gv-mi {
  font-size: 15px;
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;
}

.gv-news-band__title {
  margin: 0 0 8px;
  font-size: clamp(22px, 2.6vw, 28px);
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.03em;
  line-height: 1.2;
}

.gv-news-band__lead {
  margin: 0 0 16px;
  max-width: 38ch;
  font-size: 13px;
  line-height: 1.55;
  color: rgba(226, 238, 247, 0.82);
}

.gv-news-band__card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  min-height: 160px;
  padding: 20px 18px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.55);
  box-shadow: 0 10px 28px rgba(8, 30, 45, 0.22);
}

.gv-news-band__tag {
  display: inline-flex;
  width: fit-content;
  padding: 3px 8px;
  border-radius: 999px;
  background: #e8f4fb;
  color: var(--gainvest-blue);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.gv-news-band__headline {
  margin: 0;
  font-size: 17px;
  font-weight: 800;
  color: var(--gainvest-navy);
  letter-spacing: -0.02em;
  line-height: 1.3;
}

.gv-news-band__excerpt {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--gainvest-muted);
}

.gv-news-band__link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 6px;
  font-size: 13px;
  font-weight: 800;
  color: var(--gainvest-blue) !important;
  text-decoration: none !important;
}

.gv-news-band__link:hover {
  color: var(--gainvest-blue-dark) !important;
}

.gv-news-band__link .gv-mi {
  font-size: 16px;
}

.gv-news-band__empty {
  text-align: center;
  color: var(--gainvest-muted);
}

.gv-news-band__empty .gv-mi {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  border-radius: 12px;
  background: #e8f4fb;
  color: var(--gainvest-blue);
  font-size: 22px;
}

.gv-news-band__empty strong {
  display: block;
  margin-bottom: 4px;
  color: var(--gainvest-navy);
  font-size: 14px;
}

.gv-news-band__empty p {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
}

@media (max-width: 820px) {
  .gv-news-band {
    grid-template-columns: 1fr;
    padding: 18px;
  }

  .gv-news-band__lead {
    max-width: none;
  }
}

/* Footer */
.gv-footer {
  margin-top: 36px;
  background:
    radial-gradient(700px 220px at 10% 0%, rgba(0, 143, 232, 0.08), transparent 60%),
    linear-gradient(180deg, #f7fbfd 0%, #eef5f9 100%);
  border-top: 1px solid var(--gainvest-border-light);
}

.gv-footer__top {
  max-width: var(--gainvest-max);
  margin: 0 auto;
  padding: 28px var(--gainvest-pad-x) 22px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.gv-footer__block {
  position: relative;
  border: 1px solid rgba(185, 210, 223, 0.7);
  background: linear-gradient(180deg, #ffffff 0%, #f8fcfe 100%);
  padding: 18px 16px 16px;
  border-radius: 14px;
  box-shadow: var(--gainvest-shadow-sm);
}

.gv-footer__block-icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #e8f4fb;
  color: var(--gainvest-blue);
  margin-bottom: 10px;
}

.gv-footer__block-icon .gv-mi {
  font-size: 18px;
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24;
}

.gv-footer__block h4 {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 800;
  color: var(--gainvest-navy);
  letter-spacing: -0.01em;
}

.gv-footer__block p,
.gv-footer__block li {
  font-size: 12px;
  color: var(--gainvest-muted);
  margin: 0;
  line-height: 1.55;
}

.gv-footer__block ul {
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.gv-footer__block li {
  padding: 4px 9px;
  border-radius: 999px;
  background: #eef6fa;
  border: 1px solid var(--gainvest-border-light);
  font-weight: 700;
  color: var(--gainvest-navy);
  font-size: 11px;
}

.gv-footer__bottom {
  background:
    radial-gradient(520px 180px at 85% 0%, rgba(0, 143, 232, 0.18), transparent 55%),
    linear-gradient(135deg, #0d2f44 0%, #164f70 48%, #123f5a 100%);
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.gv-footer__bottom-inner {
  max-width: var(--gainvest-max);
  margin: 0 auto;
  padding: 22px var(--gainvest-pad-x);
  display: grid;
  grid-template-columns: minmax(180px, 1.1fr) minmax(0, 1.4fr) auto;
  gap: 18px;
  align-items: center;
}

.gv-footer__brand-col {
  min-width: 0;
}

.gv-footer__brand-col .gv-brand--footer {
  margin-bottom: 8px;
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.95);
}

.gv-footer__brand-col .gv-brand__logo--footer {
  height: 24px;
  max-width: 120px;
}

.gv-footer__tag {
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 600;
  color: rgba(226, 238, 247, 0.72);
  letter-spacing: 0.02em;
}

.gv-footer__copy {
  font-size: 11px;
  color: rgba(185, 210, 223, 0.7);
  margin: 0;
  line-height: 1.4;
}

.gv-footer__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}

.gv-footer__links a {
  display: inline-flex;
  align-items: center;
  padding: 7px 11px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none !important;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.gv-footer__links a:hover {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.28);
  color: #fff !important;
}

.gv-footer__aside {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}

.gv-footer__mail {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #fff !important;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none !important;
}

.gv-footer__mail .gv-mi {
  font-size: 16px;
  color: #7ec8f0;
}

.gv-footer__mail:hover {
  color: #cfe9f8 !important;
}

.gv-footer__social {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.gv-footer__social a {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #fff !important;
  text-decoration: none !important;
  transition: background 0.15s ease, transform 0.15s ease, border-color 0.15s ease;
}

.gv-footer__social a:hover {
  background: rgba(0, 143, 232, 0.35);
  border-color: rgba(126, 200, 240, 0.45);
  transform: translateY(-1px);
}

.gv-footer__social .gv-mi {
  font-size: 18px;
}

/* ========== ACCOUNT ========== */
.gv-account-hero {
  background:
    radial-gradient(640px 220px at 8% -20%, rgba(0, 143, 232, 0.35), transparent 55%),
    radial-gradient(480px 200px at 100% 120%, rgba(255, 255, 255, 0.08), transparent 50%),
    linear-gradient(135deg, #0f3d5c 0%, #164f70 48%, #1a6388 100%);
  color: #fff;
  border-bottom: 1px solid rgba(15, 61, 92, 0.85);
}

.gv-account-hero__inner {
  max-width: var(--gainvest-max);
  margin: 0 auto;
  padding: 22px var(--gainvest-pad-x);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.gv-account-hero__user {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.gv-account-hero__avatar-link {
  flex: 0 0 auto;
  display: block;
  border-radius: 16px;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.gv-account-hero__avatar-link:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
  text-decoration: none !important;
}

.gv-account-hero__avatar {
  flex: 0 0 auto;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  object-fit: cover;
  object-position: center 12%;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.28);
  display: block;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.gv-account-hero__profile-link {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.35);
  text-underline-offset: 3px;
}

.gv-account-hero__profile-link:hover {
  color: #fff !important;
  text-decoration-color: rgba(255, 255, 255, 0.75);
}

.gv-account-hero__eyebrow {
  margin: 0 0 4px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7);
}

.gv-account-hero__welcome {
  margin: 0;
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.gv-account-hero__sub {
  margin: 5px 0 0;
  font-size: 12px;
  opacity: 0.9;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.gv-account-hero__sub strong {
  font-weight: 800;
  color: #fff;
}

.gv-account-hero__dot {
  opacity: 0.55;
}

.gv-account-hero__badges {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
  min-width: 0;
}

.gv-account-hero__badge {
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.2);
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

.gv-account-hero__badge-label--short {
  display: none;
}

.gv-account-hero__badge .gv-mi {
  font-size: 12px;
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;
}

.gv-account-hero__badge--verified {
  background: rgba(22, 163, 74, 0.18);
  border-color: rgba(74, 222, 128, 0.45);
  color: #ecfdf5;
}

.gv-account-hero__badge--verified .gv-mi {
  color: #4ade80;
}

.gv-account-shell {
  max-width: var(--gainvest-max);
  margin: 18px auto 32px;
  padding: 0 var(--gainvest-pad-x);
  display: grid;
  grid-template-columns: var(--gainvest-sidebar) minmax(0, 1fr);
  align-items: stretch;
  gap: 0;
}

.gv-account-box {
  display: block;
  min-width: 0;
  border: 1px solid rgba(185, 210, 223, 0.75);
  background: #fff;
  min-height: 520px;
  border-radius: 0 16px 16px 0;
  overflow: hidden;
  box-shadow: var(--gainvest-shadow-sm);
}

.gv-sidebar {
  border: 1px solid rgba(185, 210, 223, 0.75);
  border-right: 0;
  border-radius: 16px 0 0 16px;
  background: linear-gradient(180deg, #f7fbfe 0%, #eef5fa 100%);
  padding: 12px 10px 14px;
  box-shadow: var(--gainvest-shadow-sm);
}

.gv-sidebar__nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.gv-sidebar__group {
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(185, 210, 223, 0.5);
}

.gv-sidebar__group:last-child {
  margin-bottom: 4px;
  padding-bottom: 0;
  border-bottom: 0;
}

.gv-sidebar__label {
  margin: 0 8px 6px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-sidebar__group:first-child .gv-sidebar__label {
  margin-top: 0;
}

.gv-sidebar__link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  margin-bottom: 2px;
  font-size: 12px;
  font-weight: 650;
  color: var(--gainvest-text) !important;
  text-decoration: none !important;
  border-radius: 10px;
  border: 1px solid transparent;
}

.gv-sidebar__link--logout {
  color: #b42318 !important;
}

.gv-sidebar__link--logout .gv-mi {
  color: #b42318;
}

.gv-sidebar__link .gv-mi {
  color: var(--gainvest-blue);
  font-size: 18px;
  width: 20px;
  text-align: center;
}

.gv-sidebar__link:hover {
  background: #fff;
  border-color: rgba(185, 210, 223, 0.7);
}

.gv-sidebar__link.is-active {
  background: #fff;
  border-color: rgba(0, 143, 232, 0.22);
  color: var(--gainvest-navy) !important;
  box-shadow: 0 1px 3px rgba(22, 79, 112, 0.06);
}

.gv-sidebar__link.is-active .gv-mi {
  color: var(--gainvest-navy);
}

.gv-sidebar__link-label {
  flex: 1;
  min-width: 0;
}

.gv-sidebar__count {
  margin-left: auto;
  min-width: 20px;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(0, 143, 232, 0.12);
  color: var(--gainvest-blue);
  font-size: 10px;
  font-weight: 800;
  text-align: center;
  line-height: 1.4;
}

.gv-sidebar__link.is-active .gv-sidebar__count {
  background: rgba(15, 76, 117, 0.12);
  color: var(--gainvest-navy);
}

.gv-sidebar__mini-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s ease, transform 0.2s ease;
}

.gv-sidebar__mini-icon .gv-mi {
  width: auto;
  font-size: 17px;
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24;
}

.gv-sidebar__mini-icon--invest .gv-mi {
  color: #f4729a;
}

.gv-sidebar__mini-icon--free-earn .gv-mi {
  color: #4ade80;
}

.gv-sidebar__link:hover .gv-sidebar__mini-icon {
  transform: translateX(1px);
}

.gv-sidebar__link:hover .gv-sidebar__mini-icon--invest .gv-mi {
  color: #ec4899;
}

.gv-sidebar__link:hover .gv-sidebar__mini-icon--free-earn .gv-mi {
  color: #22c55e;
}

.gv-sidebar__link.is-active .gv-sidebar__mini-icon--invest .gv-mi {
  color: var(--gainvest-red);
}

.gv-sidebar__link.is-active .gv-sidebar__mini-icon--free-earn .gv-mi {
  color: #16a34a;
}

.gv-sidebar__ads {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(185, 210, 223, 0.65);
}

.gv-sidebar__ads-label {
  margin: 0 8px 8px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-sidebar__ads-grid {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 0 6px;
}

.gv-sidebar-ad {
  display: block;
  width: 125px;
  height: 125px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(185, 210, 223, 0.75);
  box-shadow: 0 2px 8px rgba(15, 61, 92, 0.06);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.gv-sidebar-ad:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(15, 61, 92, 0.1);
}

.gv-sidebar-ad img {
  display: block;
  width: 125px;
  height: 125px;
  object-fit: cover;
}

.gv-sidebar-ad--placeholder {
  text-decoration: none !important;
}

.gv-sidebar-ad__ph {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 125px;
  height: 125px;
  background: var(--gv-ad-bg, #e0f2fe);
  color: #0369a1;
  text-align: center;
}

.gv-sidebar-ad__ph .gv-mi {
  font-size: 28px;
  opacity: 0.75;
}

.gv-sidebar-ad__ph-text {
  font-size: 10px;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: 0.02em;
}

.gv-sidebar-ad__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: calc(100% - 12px);
  margin: 10px 6px 4px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px dashed rgba(0, 143, 232, 0.35);
  background: rgba(0, 143, 232, 0.06);
  color: var(--gainvest-blue) !important;
  font-size: 11px;
  font-weight: 800;
  text-decoration: none !important;
  transition: background 0.18s ease, border-color 0.18s ease;
}

.gv-sidebar-ad__cta .gv-mi {
  font-size: 16px;
}

.gv-sidebar-ad__cta:hover {
  background: rgba(0, 143, 232, 0.12);
  border-color: rgba(0, 143, 232, 0.5);
}

.gv-main {
  padding: 18px 18px 20px;
  min-width: 0;
  background:
    radial-gradient(520px 180px at 100% 0%, rgba(0, 143, 232, 0.05), transparent 55%),
    #fff;
}

.gv-alert {
  background: #e8f4fb;
  border: 1px solid #b7d5e6;
  border-radius: var(--gainvest-radius-sm);
  padding: 14px 16px;
  margin-bottom: 16px;
  font-size: 13px;
  position: relative;
}

.gv-alert--success {
  background: #eefaf1;
  border-color: rgba(22, 163, 74, 0.28);
  color: #166534;
}

.gv-alert--error {
  background: #fef2f2;
  border-color: rgba(220, 38, 38, 0.25);
  color: #991b1b;
}

.gv-alert h3 {
  margin: 0 0 6px;
  font-size: 15px;
  color: var(--gainvest-navy);
}

.gv-alert p { margin: 0 0 8px; color: var(--gainvest-text); line-height: 1.5; }

/* Legal + contact pages */
.gv-legal-hero {
  padding: 26px 28px;
  border-radius: 18px;
  border: 1px solid rgba(185, 210, 223, 0.75);
  background:
    radial-gradient(520px 220px at 0% 0%, rgba(0, 143, 232, 0.12), transparent 55%),
    linear-gradient(165deg, #ffffff 0%, #f3f8fc 100%);
  box-shadow: var(--gainvest-shadow-sm);
}

.gv-legal-hero__eyebrow {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gainvest-blue);
}

.gv-legal-hero__title {
  margin: 0;
  font-size: clamp(26px, 3.4vw, 34px);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--gainvest-navy);
  line-height: 1.15;
}

.gv-legal-hero__lead {
  margin: 12px 0 0;
  max-width: 62ch;
  font-size: 15px;
  line-height: 1.55;
  color: var(--gainvest-muted);
}

.gv-legal-hero__meta {
  margin: 10px 0 0;
  font-size: 12px;
  font-weight: 700;
  color: var(--gainvest-navy);
}

.gv-legal-layout {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.gv-legal-toc {
  position: sticky;
  top: 16px;
}

.gv-legal-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 6px;
  counter-reset: tos;
}

.gv-legal-toc__list li a {
  display: block;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--gainvest-muted);
  text-decoration: none;
}

.gv-legal-toc__list li a:hover {
  background: #eef6fb;
  color: var(--gainvest-navy);
}

.gv-legal-body {
  display: grid;
  gap: 14px;
}

.gv-legal-block h2 {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 800;
  color: var(--gainvest-navy);
  letter-spacing: -0.02em;
}

.gv-legal-block p,
.gv-legal-block li {
  font-size: 14px;
  line-height: 1.6;
  color: var(--gainvest-muted);
}

.gv-legal-block p { margin: 0 0 10px; }
.gv-legal-block p:last-child { margin-bottom: 0; }

.gv-legal-block ul {
  margin: 0;
  padding-left: 1.15rem;
  display: grid;
  gap: 6px;
}

.gv-legal-block strong { color: var(--gainvest-navy); }

.gv-legal-block a {
  color: var(--gainvest-blue);
  font-weight: 700;
  text-decoration: none;
}

.gv-legal-block a:hover { text-decoration: underline; }

.gv-contact-layout {
  display: grid;
  grid-template-columns: 0.9fr 1.25fr;
  gap: 18px;
  align-items: start;
}

.gv-contact-cards {
  display: grid;
  gap: 10px;
}

.gv-contact-card {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(185, 210, 223, 0.75);
  box-shadow: 0 4px 14px rgba(12, 52, 78, 0.04);
  text-decoration: none !important;
  color: inherit;
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

a.gv-contact-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(12, 52, 78, 0.08);
}

.gv-contact-card--email:hover {
  border-color: rgba(0, 143, 232, 0.35);
}

.gv-contact-card--telegram:hover {
  border-color: rgba(34, 158, 217, 0.4);
}

.gv-contact-card--faq:hover {
  border-color: rgba(124, 58, 237, 0.32);
}

.gv-contact-card__icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  box-shadow: 0 6px 16px rgba(12, 52, 78, 0.12);
}

.gv-contact-card__icon--email {
  background: linear-gradient(135deg, #008fe8 0%, #0066b8 100%);
}

.gv-contact-card__icon--time {
  background: linear-gradient(135deg, #059669 0%, #047857 100%);
}

.gv-contact-card__icon--telegram {
  background: linear-gradient(135deg, #229ed9 0%, #1a8bc4 100%);
}

.gv-contact-card__icon--faq {
  background: linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%);
}

.gv-contact-card__icon .gv-mi {
  font-size: 24px;
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24;
  line-height: 1;
}

.gv-contact-card__body {
  min-width: 0;
}

.gv-contact-card__label {
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
  margin-bottom: 2px;
}

.gv-contact-card__value {
  display: block;
  font-size: 14px;
  font-weight: 800;
  color: var(--gainvest-navy);
  line-height: 1.3;
  letter-spacing: -0.01em;
  word-break: break-word;
}

.gv-contact-card__hint {
  display: block;
  margin-top: 3px;
  font-size: 12px;
  line-height: 1.4;
  color: var(--gainvest-muted);
  font-weight: 600;
}

.gv-contact-card__arrow {
  font-size: 18px;
  color: #9fb8c8;
  transition: transform 0.16s ease, color 0.16s ease;
}

a.gv-contact-card:hover .gv-contact-card__arrow {
  color: var(--gainvest-blue);
  transform: translate(2px, -2px);
}

.gv-contact-card--time {
  background: linear-gradient(165deg, #f8fffb 0%, #f3faf6 100%);
  border-color: rgba(5, 150, 105, 0.18);
}

.gv-contact-form {
  display: grid;
  gap: 12px;
}

.gv-contact-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.gv-field {
  display: grid;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--gainvest-navy);
}

.gv-input--area {
  min-height: 140px;
  resize: vertical;
  line-height: 1.5;
}

.gv-contact-form select.gv-input {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--gainvest-navy) 50%), linear-gradient(135deg, var(--gainvest-navy) 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 34px;
}

@media (max-width: 900px) {
  .gv-legal-layout,
  .gv-contact-layout,
  .gv-contact-form__row {
    grid-template-columns: 1fr;
  }
  .gv-legal-toc { position: static; }
}

/* FAQ page */
.gv-faq-layout {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.gv-faq-toc {
  position: sticky;
  top: 16px;
}

.gv-faq-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 6px;
}

.gv-faq-toc__list a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 10px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
  color: var(--gainvest-muted);
  text-decoration: none;
}

.gv-faq-toc__list a:hover {
  background: #eef6fb;
  color: var(--gainvest-navy);
}

.gv-faq-toc__list .gv-mi {
  font-size: 18px;
  color: var(--gainvest-blue);
}

.gv-faq-toc__help {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--gainvest-border-light);
  display: grid;
  gap: 10px;
}

.gv-faq-toc__help strong {
  font-size: 13px;
  color: var(--gainvest-navy);
}

.gv-faq-body {
  display: grid;
  gap: 14px;
}

.gv-faq-section__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

.gv-faq-section__icon {
  width: 40px;
  height: 40px;
  border-radius: 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(160deg, #eaf5fc 0%, #d7ebf7 100%);
  color: var(--gainvest-blue);
}

.gv-faq-section__icon .gv-mi {
  font-size: 22px;
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24;
}

.gv-faq-section__head h2 {
  margin: 0;
  font-size: 18px;
  font-weight: 800;
  color: var(--gainvest-navy);
  letter-spacing: -0.02em;
}

.gv-faq-list {
  display: grid;
  gap: 8px;
}

.gv-faq-item {
  border: 1px solid rgba(185, 210, 223, 0.75);
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}

.gv-faq-item summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  font-size: 14px;
  font-weight: 750;
  color: var(--gainvest-navy);
  line-height: 1.35;
}

.gv-faq-item summary::-webkit-details-marker { display: none; }

.gv-faq-item__chev {
  flex: 0 0 auto;
  color: var(--gainvest-muted);
  transition: transform 0.18s ease;
}

.gv-faq-item[open] .gv-faq-item__chev {
  transform: rotate(180deg);
  color: var(--gainvest-blue);
}

.gv-faq-item__body {
  padding: 0 16px 14px;
}

.gv-faq-item__body p {
  margin: 0;
  padding-top: 2px;
  border-top: 1px solid var(--gainvest-border-light);
  padding-top: 12px;
  font-size: 13px;
  line-height: 1.55;
  color: var(--gainvest-muted);
}

.gv-faq-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.gv-faq-cta h2 {
  margin: 0 0 4px;
  font-size: 18px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-faq-cta p {
  margin: 0;
  font-size: 13px;
  color: var(--gainvest-muted);
}

.gv-faq-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

@media (max-width: 900px) {
  .gv-faq-layout {
    grid-template-columns: 1fr;
  }
  .gv-faq-toc { position: static; }
}

.gv-info-strip {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 16px;
}

.gv-info-card {
  border: 1px solid var(--gainvest-border);
  background: #f7fbfd;
  border-radius: var(--gainvest-radius-sm);
  padding: 12px 14px;
}

.gv-info-card span {
  display: block;
  font-size: 11px;
  color: var(--gainvest-muted);
  text-transform: uppercase;
}

.gv-info-card strong {
  display: block;
  margin-top: 4px;
  font-size: 14px;
  color: var(--gainvest-navy);
}

.gv-dash-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 16px;
}

.gv-leaderboard-ad-wrap {
  margin-bottom: 18px;
}

.gv-leaderboard-ad-frame {
  position: relative;
  width: 100%;
  max-width: 728px;
  margin: 0 auto;
}

.gv-leaderboard-ad {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 728 / 90;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(185, 210, 223, 0.75);
  box-shadow: 0 2px 10px rgba(15, 61, 92, 0.06);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.gv-leaderboard-ad:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(15, 61, 92, 0.1);
}

.gv-leaderboard-ad--placeholder:hover {
  transform: none;
  box-shadow: 0 2px 10px rgba(15, 61, 92, 0.06);
}

.gv-leaderboard-ad__banner {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
}

.gv-leaderboard-ad__banner img,
.gv-leaderboard-ad img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gv-leaderboard-ad--placeholder {
  text-decoration: none !important;
}

.gv-leaderboard-ad__cta:hover {
  background: rgba(255, 255, 255, 0.94);
  border-color: rgba(0, 143, 232, 0.4);
  box-shadow: 0 4px 16px rgba(0, 143, 232, 0.2);
  padding: 5px 12px 5px 8px;
  transform: scale(1.06);
  color: #0070c9 !important;
}

.gv-leaderboard-ad__cta:hover .gv-leaderboard-ad__cta-text {
  letter-spacing: 0.01em;
}

.gv-leaderboard-ad__cta:hover .gv-mi {
  font-size: 13px;
}

.gv-leaderboard-ad__ph {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #e0f2fe 0%, #bae6fd 55%, #7dd3fc 100%);
  color: #0369a1;
  text-align: center;
}

.gv-leaderboard-ad__ph .gv-mi {
  font-size: 26px;
  opacity: 0.8;
}

.gv-leaderboard-ad__ph-text {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.gv-leaderboard-ad__cta {
  position: absolute;
  right: 8px;
  bottom: 8px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 7px 3px 5px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  background: rgba(255, 255, 255, 0.48);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: rgba(0, 112, 201, 0.88) !important;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-decoration: none !important;
  box-shadow: 0 2px 8px rgba(15, 61, 92, 0.08);
  transform: scale(0.9);
  transform-origin: bottom right;
  transition:
    background 0.22s ease,
    border-color 0.22s ease,
    box-shadow 0.22s ease,
    transform 0.22s ease,
    padding 0.22s ease,
    color 0.22s ease;
}

.gv-leaderboard-ad__cta .gv-mi {
  font-size: 11px;
  line-height: 1;
  transition: font-size 0.22s ease;
}

.gv-leaderboard-ad__cta-text {
  white-space: nowrap;
  transition: letter-spacing 0.22s ease;
}

.gv-leaderboard-ad__badge {
  position: absolute;
  right: 8px;
  bottom: 8px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.6em;
  padding: 2px 7px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  background: rgba(15, 23, 42, 0.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  color: rgba(255, 255, 255, 0.92);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.4;
  white-space: nowrap;
  text-decoration: none !important;
  cursor: pointer;
  transform: scale(1);
  transform-origin: bottom right;
  transition:
    padding 0.22s ease,
    font-size 0.22s ease,
    background 0.22s ease,
    border-color 0.22s ease,
    box-shadow 0.22s ease,
    transform 0.22s ease,
    color 0.22s ease;
}

.gv-leaderboard-ad__badge:hover {
  color: #fff !important;
}

.gv-leaderboard-ad__badge-short {
  display: inline;
}

.gv-leaderboard-ad__badge-long {
  display: none;
}

.gv-leaderboard-ad:hover .gv-leaderboard-ad__badge {
  padding: 4px 10px;
  font-size: 10px;
  letter-spacing: 0.04em;
  background: rgba(15, 23, 42, 0.78);
  border-color: rgba(255, 255, 255, 0.9);
  box-shadow: 0 4px 14px rgba(15, 61, 92, 0.22);
  transform: scale(1.08);
}

.gv-leaderboard-ad:hover .gv-leaderboard-ad__badge-short {
  display: none;
}

.gv-leaderboard-ad:hover .gv-leaderboard-ad__badge-long {
  display: inline;
}

.gv-adv-head__switch {
  margin: 10px 0 0;
  font-size: 13px;
  color: var(--gainvest-muted);
}

.gv-adv-head__switch a {
  color: var(--gainvest-blue);
  font-weight: 700;
  text-decoration: none;
}

.gv-adv-head__switch a:hover {
  text-decoration: underline;
}

.gv-adv-history__item--wide img {
  width: 120px;
  height: auto;
  max-height: 20px;
  object-fit: contain;
  border-radius: 4px;
}

.gv-dash-card {
  position: relative;
  border: 1px solid rgba(185, 210, 223, 0.75);
  background: linear-gradient(165deg, #ffffff 0%, #f4f9fc 100%);
  box-shadow: var(--gainvest-shadow-sm);
  padding: 16px;
  border-radius: 14px;
  min-width: 0;
}

.gv-dash-card--blue {
  background: linear-gradient(165deg, #f3f9fd 0%, #e6f2fa 100%);
  border-color: rgba(0, 143, 232, 0.18);
}

.gv-dash-card--green {
  background: linear-gradient(165deg, #f3faf5 0%, #e6f5eb 100%);
  border-color: rgba(22, 163, 74, 0.18);
}

.gv-dash-card--navy {
  background: linear-gradient(165deg, #f2f5f8 0%, #e7edf2 100%);
  border-color: rgba(22, 79, 112, 0.14);
}

.gv-dash-card--cyan {
  background: linear-gradient(165deg, #f0fafc 0%, #e4f4f8 100%);
  border-color: rgba(25, 183, 232, 0.2);
}

.gv-dash-card__head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.gv-dash-card__icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: var(--gainvest-blue);
  box-shadow: 0 1px 3px rgba(22, 79, 112, 0.08);
}

.gv-dash-card--green .gv-dash-card__icon { color: #16a34a; }
.gv-dash-card--navy .gv-dash-card__icon { color: var(--gainvest-navy); }
.gv-dash-card--cyan .gv-dash-card__icon { color: #0e7490; }

.gv-dash-card__icon .gv-mi {
  font-size: 22px;
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24;
  line-height: 1;
}

.gv-dash-card__title {
  margin: 0;
  font-size: 13px;
  font-weight: 800;
  color: var(--gainvest-navy);
  letter-spacing: -0.01em;
}

.gv-dash-card__amount {
  margin: 0 0 6px;
  font-size: clamp(24px, 2.6vw, 30px);
  font-weight: 800;
  color: var(--gainvest-navy);
  line-height: 1;
  letter-spacing: -0.03em;
}

.gv-dash-card--blue .gv-dash-card__amount { color: var(--gainvest-blue); }
.gv-dash-card--green .gv-dash-card__amount { color: #15803d; }

.gv-dash-card__meta {
  font-size: 12px;
  color: var(--gainvest-muted);
  margin: 0 0 12px;
  line-height: 1.4;
}

.gv-dash-card__meta b { color: var(--gainvest-text); }

.gv-dash-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

.gv-welcome {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
  padding: 16px 18px;
  border-radius: 14px;
  border: 1px solid rgba(0, 143, 232, 0.2);
  background:
    radial-gradient(420px 140px at 0% 0%, rgba(0, 143, 232, 0.12), transparent 55%),
    linear-gradient(165deg, #f3f9fd 0%, #e8f3fa 100%);
}

.gv-welcome__eyebrow {
  margin: 0 0 4px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gainvest-blue);
}

.gv-welcome__title {
  margin: 0;
  font-size: 16px;
  font-weight: 800;
  color: var(--gainvest-navy);
  letter-spacing: -0.02em;
}

.gv-welcome__lead {
  margin: 6px 0 0;
  max-width: 58ch;
  font-size: 13px;
  line-height: 1.5;
  color: var(--gainvest-muted);
}

.gv-welcome__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.gv-overview-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.gv-overview-meta__item {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 12px;
  border-radius: 12px;
  background: linear-gradient(165deg, #f7fbfe 0%, #eef6fb 100%);
  border: 1px solid rgba(185, 210, 223, 0.7);
}

.gv-overview-meta__icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: var(--gainvest-blue);
  box-shadow: 0 1px 3px rgba(22, 79, 112, 0.08);
}

.gv-overview-meta__icon .gv-mi {
  font-size: 20px;
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;
  line-height: 1;
}

.gv-overview-meta__label {
  display: block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--gainvest-muted);
  margin-bottom: 2px;
}

.gv-overview-meta__item strong {
  display: block;
  font-size: 13px;
  color: var(--gainvest-navy);
  line-height: 1.25;
  word-break: break-word;
}

.gv-overview-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.gv-overview-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 12px;
  border-radius: 12px;
  border: 1px solid rgba(185, 210, 223, 0.75);
  background: #fff;
  color: var(--gainvest-navy) !important;
  text-decoration: none !important;
  font-size: 12px;
  font-weight: 800;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.gv-overview-action .gv-mi {
  font-size: 18px;
  color: var(--gainvest-blue);
}

.gv-overview-action:hover {
  transform: translateY(-1px);
  box-shadow: var(--gainvest-shadow-sm);
  border-color: #a9cee0;
}

/* Professional quick-actions toolbar */
.gv-qa {
  margin: 0;
  padding: 14px 16px 16px;
  border-radius: 16px;
  border: 1px solid rgba(159, 194, 212, 0.55);
  background:
    linear-gradient(180deg, #ffffff 0%, #f7fbfe 100%);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset;
}

.gv-qa__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.gv-qa__title {
  margin: 0;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--gainvest-navy);
}

.gv-qa__lead {
  margin: 3px 0 0;
  font-size: 12px;
  font-weight: 650;
  color: var(--gainvest-muted);
}

.gv-qa__admin {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid rgba(15, 61, 92, 0.18);
  background: linear-gradient(165deg, #0f3d5c 0%, #163f5c 100%);
  color: #fff !important;
  text-decoration: none !important;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: -0.01em;
  white-space: nowrap;
  box-shadow: 0 6px 16px rgba(15, 61, 92, 0.18);
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}

.gv-qa__admin .gv-mi {
  font-size: 17px;
}

.gv-qa__admin:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(15, 61, 92, 0.24);
  color: #fff !important;
}

.gv-qa__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.gv-qa__item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 58px;
  padding: 10px 10px 10px 11px;
  border-radius: 12px;
  border: 1px solid rgba(159, 194, 212, 0.55);
  background: #fff;
  text-decoration: none !important;
  color: var(--gainvest-navy) !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, background 0.16s ease;
}

.gv-qa__icon {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eef6fb;
  color: var(--gainvest-blue);
}

.gv-qa__icon .gv-mi {
  font-size: 16px;
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;
}

.gv-qa__copy {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  flex: 1;
}

.gv-qa__copy strong {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.25;
}

.gv-qa__copy em {
  display: block;
  font-style: normal;
  font-size: 10px;
  font-weight: 600;
  color: #64748b;
  line-height: 1.35;
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
}

.gv-qa__arrow {
  flex: 0 0 auto;
  font-size: 14px;
  color: #94a3b8;
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity 0.16s ease, transform 0.16s ease, color 0.16s ease;
}

.gv-qa__item:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(15, 61, 92, 0.08);
  border-color: rgba(0, 143, 232, 0.35);
}

.gv-qa__item:hover .gv-qa__arrow {
  opacity: 1;
  transform: translateX(0);
  color: var(--gainvest-blue);
}

.gv-qa__item:focus-visible {
  outline: 2px solid rgba(0, 143, 232, 0.45);
  outline-offset: 2px;
}

.gv-qa__item--primary {
  background: linear-gradient(165deg, #008fe8 0%, #0074c2 100%);
  border-color: transparent;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(0, 143, 232, 0.22);
}

.gv-qa__item--primary .gv-qa__icon {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}

.gv-qa__item--primary .gv-qa__copy em,
.gv-qa__item--primary .gv-qa__arrow {
  color: rgba(255, 255, 255, 0.78);
}

.gv-qa__item--primary:hover {
  border-color: transparent;
  box-shadow: 0 12px 26px rgba(0, 143, 232, 0.28);
}

.gv-qa__item--primary:hover .gv-qa__arrow {
  color: #fff;
  opacity: 1;
}

.gv-qa__item--deposit .gv-qa__icon {
  background: #e0f2fe;
  color: #0284c7;
}

.gv-qa__item--withdraw .gv-qa__icon {
  background: #ffedd5;
  color: #c2410c;
}

.gv-qa__item--referrals .gv-qa__icon {
  background: #ecfdf5;
  color: #059669;
}

.gv-qa__item--howto {
  background: linear-gradient(165deg, #faf5ff 0%, #f3e8ff 48%, #ede9fe 100%);
  border-color: rgba(139, 92, 246, 0.28);
  box-shadow: 0 4px 14px rgba(124, 58, 237, 0.08);
}

.gv-qa__item--howto .gv-qa__icon--video {
  background: linear-gradient(145deg, #8b5cf6 0%, #7c3aed 100%);
  color: #fff;
  box-shadow: 0 4px 10px rgba(124, 58, 237, 0.35);
}

.gv-qa__item--howto .gv-qa__icon--video .gv-mi {
  font-size: 18px;
  font-variation-settings: "FILL" 1, "wght" 600, "GRAD" 0, "opsz" 24;
}

.gv-qa__item--howto .gv-qa__copy em {
  color: #7c3aed;
}

.gv-qa__item--howto:hover {
  border-color: rgba(124, 58, 237, 0.45);
  box-shadow: 0 10px 24px rgba(124, 58, 237, 0.14);
}

.gv-qa__item--howto:hover .gv-qa__arrow {
  color: #7c3aed;
}

.gv-hiw-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.gv-hiw-head__eyebrow {
  margin: 0 0 4px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gainvest-blue);
}

.gv-hiw-head__title {
  margin: 0;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--gainvest-navy);
}

.gv-hiw-head__lead {
  margin: 8px 0 0;
  max-width: 52ch;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.5;
  color: var(--gainvest-muted);
}

.gv-hiw-head__stat {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(139, 92, 246, 0.22);
  background: linear-gradient(165deg, #faf5ff 0%, #f5f3ff 100%);
  color: #6d28d9;
}

.gv-hiw-head__stat .gv-mi {
  font-size: 26px;
}

.gv-hiw-head__stat strong {
  display: block;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.1;
  color: #5b21b6;
}

.gv-hiw-head__stat em {
  display: block;
  font-style: normal;
  font-size: 11px;
  font-weight: 700;
  color: #7c3aed;
}

.gv-hiw-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}

.gv-hiw-card {
  display: flex;
  flex-direction: column;
  border-radius: 14px;
  border: 1px solid rgba(185, 210, 223, 0.75);
  background: #fff;
  overflow: hidden;
  box-shadow: var(--gainvest-shadow-sm);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.gv-hiw-card--ready:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(15, 61, 92, 0.1);
}

.gv-hiw-card__media {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  padding: 0;
  border: 0;
  background: #0f172a;
  cursor: pointer;
  overflow: hidden;
}

.gv-hiw-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.25s ease;
}

.gv-hiw-card--ready:hover .gv-hiw-card__media img {
  transform: scale(1.04);
}

.gv-hiw-card__media-fallback {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #312e81 0%, #6d28d9 55%, #8b5cf6 100%);
}

.gv-hiw-card__media-fallback--deposit {
  background: linear-gradient(135deg, #0c4a6e 0%, #0284c7 55%, #38bdf8 100%);
}

.gv-hiw-card__media-fallback--invest {
  background: linear-gradient(135deg, #14532d 0%, #059669 55%, #34d399 100%);
}

.gv-hiw-card__media-fallback--withdraw {
  background: linear-gradient(135deg, #7c2d12 0%, #ea580c 55%, #fdba74 100%);
}

.gv-hiw-card__media-fallback--referrals {
  background: linear-gradient(135deg, #134e4a 0%, #0d9488 55%, #5eead4 100%);
}

.gv-hiw-card__media-fallback .gv-mi {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 42px;
  color: rgba(255, 255, 255, 0.35);
}

.gv-hiw-card__media--placeholder {
  cursor: default;
}

.gv-hiw-card__play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(15, 23, 42, 0.18);
  transition: background 0.2s ease;
}

.gv-hiw-card__play .gv-mi {
  font-size: 52px;
  color: #fff;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.35));
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 48;
  transition: transform 0.2s ease;
}

.gv-hiw-card--ready:hover .gv-hiw-card__play {
  background: rgba(15, 23, 42, 0.28);
}

.gv-hiw-card--ready:hover .gv-hiw-card__play .gv-mi {
  transform: scale(1.08);
}

.gv-hiw-card__play--muted .gv-mi {
  font-size: 44px;
  color: rgba(255, 255, 255, 0.72);
}

.gv-hiw-card__duration,
.gv-hiw-card__soon {
  position: absolute;
  right: 8px;
  bottom: 8px;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.gv-hiw-card__duration {
  background: rgba(15, 23, 42, 0.72);
  color: #fff;
}

.gv-hiw-card__soon {
  background: rgba(255, 255, 255, 0.88);
  color: #6d28d9;
}

.gv-hiw-card__body {
  padding: 12px 14px 14px;
}

.gv-hiw-card__step {
  display: inline-block;
  margin-bottom: 4px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #7c3aed;
}

.gv-hiw-card__title {
  margin: 0 0 4px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--gainvest-navy);
}

.gv-hiw-card__desc {
  margin: 0;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.45;
  color: var(--gainvest-muted);
}

.gv-hiw-help__text {
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 650;
  color: var(--gainvest-muted);
}

.gv-hiw-help__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.gv-hiw-modal[hidden] {
  display: none !important;
}

.gv-hiw-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

.gv-hiw-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.72);
  backdrop-filter: blur(4px);
}

.gv-hiw-modal__panel {
  position: relative;
  width: min(920px, 100%);
  border-radius: 14px;
  overflow: hidden;
  background: #0f172a;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
}

.gv-hiw-modal__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  background: #1e293b;
  color: #fff;
}

.gv-hiw-modal__title {
  margin: 0;
  font-size: 13px;
  font-weight: 800;
}

.gv-hiw-modal__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  cursor: pointer;
}

.gv-hiw-modal__close:hover {
  background: rgba(255, 255, 255, 0.16);
}

.gv-hiw-modal__stage {
  aspect-ratio: 16 / 9;
  background: #000;
}

.gv-hiw-modal__stage iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

body.gv-hiw-modal-open {
  overflow: hidden;
}

@media (max-width: 720px) {
  .gv-hiw-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .gv-hiw-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1100px) {
  .gv-qa__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .gv-qa__item--primary {
    grid-column: span 3;
  }
}

@media (max-width: 720px) {
  .gv-qa__grid {
    grid-template-columns: 1fr 1fr;
  }
  .gv-qa__item--primary {
    grid-column: span 2;
  }
  .gv-qa__arrow {
    display: none;
  }
}

@media (max-width: 480px) {
  .gv-qa__grid {
    grid-template-columns: 1fr;
  }
  .gv-qa__item--primary {
    grid-column: auto;
  }
  .gv-qa__copy em {
    white-space: normal;
  }
}

.gv-overview-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 16px;
}

.gv-overview-panel .gv-tx-list-head {
  margin-bottom: 10px;
}

.gv-overview-panel .gv-invest-card__title {
  margin-bottom: 0;
}

.gv-overview-panel__lead {
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--gainvest-muted);
}

.gv-overview-plan {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.gv-overview-plan > div {
  padding: 10px 8px;
  border-radius: 12px;
  background: linear-gradient(180deg, #fbfdff 0%, #f4f9fc 100%);
  border: 1px solid rgba(159, 194, 212, 0.5);
  text-align: center;
  min-width: 0;
}

.gv-overview-plan span {
  display: block;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--gainvest-muted);
  margin-bottom: 4px;
}

.gv-overview-plan strong {
  display: block;
  font-size: 16px;
  font-weight: 800;
  color: var(--gainvest-navy);
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}

.gv-overview-ref-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}

.gv-overview-ref-meta > div {
  min-width: 0;
  padding: 8px 10px;
  border-radius: 10px;
  background: #f4f9fc;
  border: 1px solid rgba(159, 194, 212, 0.4);
}

.gv-overview-ref-meta em {
  display: block;
  font-style: normal;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-overview-ref-meta b {
  display: block;
  margin-top: 2px;
  font-size: 13px;
  font-weight: 800;
  color: var(--gainvest-navy);
  word-break: break-all;
  line-height: 1.25;
}

.gv-overview-refs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.gv-overview-ref {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 10px 6px;
  border-radius: 12px;
  background: linear-gradient(180deg, #fbfdff 0%, #f4f9fc 100%);
  border: 1px solid rgba(159, 194, 212, 0.5);
  min-width: 0;
}

.gv-overview-ref span {
  font-size: 10px;
  font-weight: 800;
  color: var(--gainvest-blue);
  letter-spacing: 0.04em;
}

.gv-overview-ref strong {
  font-size: 18px;
  font-weight: 800;
  color: var(--gainvest-navy);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}

.gv-cert-block {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  border: 1px solid rgba(185, 210, 223, 0.75);
  padding: 16px;
  background: linear-gradient(165deg, #f8fcfe 0%, #eef6fb 100%);
  border-radius: 14px;
}

.gv-funds-block {
  grid-template-columns: 1fr;
  padding: 0;
  border: 0;
  background: none;
}

.gv-funds-block__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.gv-funds-block__item {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 16px;
  border-radius: 14px;
  border: 1px solid rgba(185, 210, 223, 0.75);
}

.gv-funds-block__item--deposit {
  background: linear-gradient(165deg, #f3f9fd 0%, #e7f2f9 100%);
  border-color: rgba(0, 143, 232, 0.22);
}

.gv-funds-block__item--withdraw {
  background: linear-gradient(165deg, #f3fbf6 0%, #e8f7ee 100%);
  border-color: rgba(22, 163, 74, 0.22);
}

.gv-funds-block__icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.gv-funds-block__item--deposit .gv-funds-block__icon {
  background: linear-gradient(160deg, #e0f2fe 0%, #bae6fd 100%);
  color: var(--gainvest-blue);
}

.gv-funds-block__item--withdraw .gv-funds-block__icon {
  background: linear-gradient(160deg, #dcfce7 0%, #bbf7d0 100%);
  color: #15803d;
}

.gv-funds-block__icon .gv-mi {
  font-size: 26px;
}

.gv-funds-block__item h3 {
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-funds-block__item p {
  margin: 0 0 12px;
  font-size: 13px;
  color: var(--gainvest-muted);
  line-height: 1.45;
}

/* Deposit page */
.gv-deposit {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.gv-deposit-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(159, 194, 212, 0.55);
  background: #fff;
  box-shadow: 0 1px 4px rgba(15, 61, 92, 0.04);
}

.gv-deposit-balance {
  flex: 1 1 180px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.gv-deposit-balance__main {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
}

.gv-deposit-balance__label {
  font-size: 10px;
  font-weight: 800;
  color: var(--gainvest-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.gv-deposit-balance__value {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--gainvest-navy);
  line-height: 1.1;
}

.gv-deposit-balance__hint {
  font-size: 11px;
  font-weight: 600;
  color: var(--gainvest-muted);
}

.gv-deposit-pills {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex: 0 1 auto;
  list-style: none;
  margin: 0;
  padding: 0;
}

.gv-deposit-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 9px;
  border-radius: 999px;
  border: 1px solid rgba(159, 194, 212, 0.65);
  background: #f7fbfe;
  font-size: 10px;
  font-weight: 800;
  color: var(--gainvest-navy);
  white-space: nowrap;
}

.gv-deposit-pill .gv-mi {
  font-size: 14px;
  color: var(--gainvest-blue);
}

.gv-deposit-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

.gv-deposit-head .gv-invest-card__title {
  margin: 0;
}

.gv-deposit-coins {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.gv-deposit-coin {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(159, 194, 212, 0.65);
  background: #fff;
  font-size: 11px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-deposit-coin img {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

.gv-deposit-amount-row {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.gv-deposit-presets {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.gv-deposit-preset {
  border: 1px solid var(--gainvest-border);
  background: #fff;
  border-radius: 8px;
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 800;
  color: var(--gainvest-navy);
  cursor: pointer;
  font-family: inherit;
}

.gv-deposit-preset.is-active,
.gv-deposit-preset:hover {
  border-color: var(--gainvest-blue);
  background: #eef6fb;
  color: var(--gainvest-blue);
}

.gv-deposit-amount-field {
  max-width: 320px;
}

.gv-deposit-amount-hint {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  color: var(--gainvest-muted);
}

.gv-deposit-processor {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid rgba(0, 143, 232, 0.28);
  background:
    radial-gradient(420px 120px at 0% 0%, rgba(0, 143, 232, 0.14), transparent 60%),
    linear-gradient(165deg, #f4fbff 0%, #e7f4fc 100%);
  margin-bottom: 16px;
}

.gv-deposit-processor__mark {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, #008fe8 0%, #006bb3 100%);
  color: #fff;
  box-shadow: 0 6px 16px rgba(0, 143, 232, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.35);
}

.gv-deposit-processor__mark .gv-mi {
  font-size: 22px;
  line-height: 1;
}

.gv-deposit-processor__copy {
  min-width: 0;
  flex: 1;
}

.gv-deposit-processor__copy strong {
  display: block;
  font-size: 14px;
  font-weight: 800;
  color: var(--gainvest-navy);
  letter-spacing: -0.01em;
}

.gv-deposit-processor__copy em {
  display: block;
  margin-top: 3px;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  color: var(--gainvest-muted);
  line-height: 1.4;
}

.gv-deposit-processor__live {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  padding: 5px 11px;
  border-radius: 999px;
  background: #ecfdf5;
  border: 1px solid rgba(21, 128, 61, 0.18);
  color: #15803d;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.gv-deposit-processor__pulse {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.55);
  animation: gv-deposit-live-pulse 1.8s ease-out infinite;
}

@keyframes gv-deposit-live-pulse {
  0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.5); }
  70% { box-shadow: 0 0 0 8px rgba(34, 197, 94, 0); }
  100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .gv-deposit-processor__pulse { animation: none; }
}

.gv-deposit-crypto {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.gv-deposit-currency-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.gv-deposit-currency {
  position: relative;
  cursor: pointer;
}

.gv-deposit-currency input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.gv-deposit-currency__chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 12px 7px 8px;
  border-radius: 999px;
  border: 1px solid rgba(159, 194, 212, 0.65);
  background: #fff;
  font-size: 11px;
  font-weight: 800;
  color: var(--gainvest-navy);
  transition:
    border-color 0.16s ease,
    background 0.16s ease,
    box-shadow 0.16s ease,
    transform 0.16s ease;
}

.gv-deposit-currency__chip img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  flex-shrink: 0;
}

.gv-deposit-currency__code {
  letter-spacing: 0.02em;
}

.gv-deposit-currency__nets {
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(0, 143, 232, 0.08);
  color: var(--gainvest-blue);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.gv-deposit-currency:hover .gv-deposit-currency__chip {
  border-color: rgba(0, 143, 232, 0.45);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(15, 61, 92, 0.08);
}

.gv-deposit-currency.is-selected .gv-deposit-currency__chip,
.gv-deposit-currency input:checked + .gv-deposit-currency__chip {
  border-color: var(--gainvest-blue);
  background: linear-gradient(165deg, #eaf5fc 0%, #dceef8 100%);
  box-shadow: 0 0 0 3px rgba(0, 143, 232, 0.12);
  color: var(--gainvest-navy);
}

.gv-deposit-currency.is-selected .gv-deposit-currency__nets,
.gv-deposit-currency input:checked + .gv-deposit-currency__chip .gv-deposit-currency__nets {
  background: rgba(0, 143, 232, 0.16);
}

@media (max-width: 560px) {
  .gv-deposit-processor {
    flex-wrap: wrap;
  }

  .gv-deposit-processor__live {
    margin-left: 0;
  }
}

.gv-deposit-network[hidden] {
  display: none !important;
}

.gv-deposit-network select {
  max-width: 280px;
}

.gv-deposit-network__hint {
  margin: 8px 0 0;
  font-size: 11px;
  font-weight: 600;
  color: var(--gainvest-muted);
  line-height: 1.4;
  max-width: 42ch;
}

.gv-deposit-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(159, 194, 212, 0.45);
}

.gv-deposit-note {
  margin: 0;
  flex: 1 1 220px;
  font-size: 12px;
  font-weight: 600;
  color: var(--gainvest-muted);
  line-height: 1.45;
}

.gv-deposit-submit {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 200px;
  height: 48px;
  justify-content: center;
}

.gv-deposit-unavailable {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 14px;
  border-radius: 12px;
  background: #fff7ed;
  border: 1px solid rgba(234, 88, 12, 0.25);
  color: #9a3412;
}

.gv-deposit-unavailable p {
  margin: 0;
  font-size: 13px;
  font-weight: 650;
}

.gv-deposit-history {
  margin-top: 0;
}

.gv-paykassa {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.gv-paykassa-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 2px;
}

.gv-paykassa-head__eyebrow {
  margin: 0 0 4px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-paykassa-head__title {
  margin: 0;
  font-size: clamp(1.2rem, 2.4vw, 1.55rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--gainvest-navy);
}

.gv-paykassa-head__lead {
  margin: 6px 0 0;
  max-width: 48ch;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
  color: var(--gainvest-muted);
}

.gv-paykassa-card {
  max-width: 560px;
}

.gv-paykassa-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 16px;
}

.gv-paykassa-coin {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.gv-paykassa-coin img {
  width: 36px;
  height: 36px;
  object-fit: contain;
  border-radius: 10px;
  background: #fff;
  border: 1px solid rgba(159, 194, 212, 0.55);
  padding: 4px;
}

.gv-paykassa-coin strong {
  display: block;
  font-size: 14px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-paykassa-coin span {
  display: block;
  font-size: 11px;
  font-weight: 700;
  color: var(--gainvest-muted);
}

.gv-paykassa-amount {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid rgba(15, 157, 88, 0.22);
  background: linear-gradient(165deg, #f3fdf7 0%, #e8f8ef 100%);
  margin-bottom: 14px;
}

.gv-paykassa-amount__label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #15803d;
}

.gv-paykassa-amount__crypto {
  font-size: clamp(1.35rem, 3vw, 1.7rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--gainvest-navy);
  font-variant-numeric: tabular-nums;
  word-break: break-word;
}

.gv-paykassa-amount__usd {
  font-size: 13px;
  font-weight: 700;
  color: var(--gainvest-muted);
}

.gv-paykassa-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 18px;
}

.gv-paykassa-facts > div {
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(159, 194, 212, 0.55);
  background: #f7fbfe;
}

.gv-paykassa-facts dt {
  margin: 0 0 4px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-paykassa-facts dd {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  color: var(--gainvest-navy);
  word-break: break-all;
}

.gv-paykassa-wallet {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.gv-paykassa-qr {
  align-self: center;
  padding: 12px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(159, 194, 212, 0.65);
  box-shadow: 0 4px 16px rgba(15, 61, 92, 0.06);
}

.gv-paykassa-qr img {
  display: block;
  width: 180px;
  height: 180px;
}

.gv-paykassa-address {
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px dashed rgba(0, 143, 232, 0.35);
  background: #f0f8fc;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--gainvest-navy);
  word-break: break-all;
  text-align: center;
}

.gv-paykassa-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

.gv-paykassa-actions .gv-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.gv-paykassa-wait {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 16px 0 0;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(0, 143, 232, 0.06);
  border: 1px solid rgba(0, 143, 232, 0.18);
  font-size: 12px;
  font-weight: 700;
  color: var(--gainvest-blue);
}

.gv-paykassa-wait__spin {
  font-size: 18px;
  animation: gv-paykassa-spin 1.1s linear infinite;
}

@keyframes gv-paykassa-spin {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .gv-paykassa-wait__spin { animation: none; }
}

.gv-paykassa-tip {
  margin: 10px 0 0;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.45;
  color: var(--gainvest-muted);
}

@media (max-width: 560px) {
  .gv-paykassa-facts {
    grid-template-columns: 1fr;
  }

  .gv-paykassa-actions .gv-btn {
    width: 100%;
    justify-content: center;
  }
}

.gv-withdraw-pill--link {
  text-decoration: none !important;
  color: var(--gainvest-blue) !important;
  border-color: rgba(0, 143, 232, 0.25);
  background: #eef6fb;
}

.gv-withdraw-pill--link:hover {
  border-color: var(--gainvest-blue);
}

.gv-cert-block__icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(160deg, #fff7e6 0%, #ffecc7 100%);
  color: #b45309;
}

.gv-cert-block__icon .gv-mi {
  font-size: 26px;
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24;
  line-height: 1;
}

.gv-cert-block h3 {
  margin: 0 0 6px;
  font-size: 15px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-cert-block p {
  margin: 0 0 12px;
  font-size: 13px;
  color: var(--gainvest-muted);
  line-height: 1.45;
}

.gv-sidebar-toggle {
  display: none;
  width: 100%;
  margin-bottom: 8px;
}

@media (max-width: 900px) {
  .gv-account-shell {
    display: block;
  }

  .gv-account-box {
    border-radius: 16px;
    overflow: hidden;
  }

  /* Drawer lives beside (not inside) the clipped account card */
  .gv-account-shell > .gv-sidebar,
  .gv-sidebar--drawer {
    display: block;
    position: fixed !important;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(288px, 86vw);
    z-index: 10050 !important;
    margin: 0;
    border: 0;
    border-right: 1px solid var(--gainvest-border-light);
    border-radius: 0;
    box-shadow: 8px 0 28px rgba(15, 61, 92, 0.18);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    background: linear-gradient(180deg, #f7fbfe 0%, #eef5fa 100%);
    transform: translate3d(-105%, 0, 0);
    visibility: hidden;
    pointer-events: none;
    transition:
      transform 0.34s cubic-bezier(0.22, 1, 0.36, 1),
      visibility 0.34s cubic-bezier(0.22, 1, 0.36, 1),
      box-shadow 0.34s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .gv-account-shell > .gv-sidebar.is-open,
  .gv-sidebar--drawer.is-open {
    transform: translate3d(0, 0, 0) !important;
    visibility: visible !important;
    pointer-events: auto !important;
    box-shadow: 12px 0 36px rgba(15, 61, 92, 0.22);
  }

  .gv-sidebar-backdrop {
    z-index: 10040 !important;
  }

  body.gv-logged-in.gv-account-page .gv-nav__account-toggle {
    pointer-events: auto !important;
  }

  .gv-account-shell > .gv-sidebar.is-open .gv-sidebar__link,
  .gv-sidebar--drawer.is-open .gv-sidebar__link {
    animation: gvSidebarLinkIn 0.38s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  .gv-account-shell > .gv-sidebar.is-open .gv-sidebar__link:nth-child(2),
  .gv-sidebar--drawer.is-open .gv-sidebar__link:nth-child(2) { animation-delay: 0.03s; }
  .gv-account-shell > .gv-sidebar.is-open .gv-sidebar__link:nth-child(3),
  .gv-sidebar--drawer.is-open .gv-sidebar__link:nth-child(3) { animation-delay: 0.05s; }
  .gv-account-shell > .gv-sidebar.is-open .gv-sidebar__link:nth-child(4),
  .gv-sidebar--drawer.is-open .gv-sidebar__link:nth-child(4) { animation-delay: 0.07s; }
  .gv-account-shell > .gv-sidebar.is-open .gv-sidebar__link:nth-child(5),
  .gv-sidebar--drawer.is-open .gv-sidebar__link:nth-child(5) { animation-delay: 0.09s; }
  .gv-account-shell > .gv-sidebar.is-open .gv-sidebar__link:nth-child(6),
  .gv-sidebar--drawer.is-open .gv-sidebar__link:nth-child(6) { animation-delay: 0.11s; }
  .gv-account-shell > .gv-sidebar.is-open .gv-sidebar__link:nth-child(n+7),
  .gv-sidebar--drawer.is-open .gv-sidebar__link:nth-child(n+7) { animation-delay: 0.13s; }
}

@keyframes gvSidebarLinkIn {
  from {
    opacity: 0;
    transform: translateX(-14px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Invest page */
.gv-invest {
  display: grid;
  gap: 16px;
}

.gv-invest-summary {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, 1fr);
  gap: 14px;
  padding: 18px;
  border-radius: 16px;
  border: 1px solid rgba(185, 210, 223, 0.75);
  background:
    radial-gradient(420px 160px at 0% 0%, rgba(0, 143, 232, 0.1), transparent 62%),
    linear-gradient(165deg, #ffffff 0%, #f4faff 100%);
  box-shadow: var(--gainvest-shadow-sm);
}

.gv-invest-summary__eyebrow {
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gainvest-blue);
}

.gv-invest-summary__title {
  margin: 0;
  font-size: clamp(22px, 2.6vw, 28px);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--gainvest-navy);
  line-height: 1.15;
}

.gv-invest-summary__lead {
  margin: 8px 0 0;
  max-width: 52ch;
  font-size: 13px;
  line-height: 1.55;
  color: var(--gainvest-muted);
}

.gv-invest-summary__balances {
  display: grid;
  gap: 10px;
}

.gv-invest-balance {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid rgba(185, 210, 223, 0.75);
  background: rgba(255, 255, 255, 0.88);
}

.gv-invest-balance--purchase {
  border-color: rgba(0, 143, 232, 0.24);
  background: linear-gradient(165deg, rgba(0, 143, 232, 0.08) 0%, rgba(255, 255, 255, 0.95) 100%);
}

.gv-invest-balance--earnings {
  border-color: rgba(5, 150, 105, 0.22);
  background: linear-gradient(165deg, rgba(5, 150, 105, 0.08) 0%, rgba(255, 255, 255, 0.95) 100%);
}

.gv-invest-balance__label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-invest-balance__value {
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--gainvest-navy);
  line-height: 1.1;
}

.gv-invest-balance__hint {
  font-size: 12px;
  font-weight: 600;
  color: var(--gainvest-muted);
}

.gv-invest-success-actions {
  margin-top: 10px;
}

.gv-invest-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 14px;
}

.gv-invest-card__head .gv-invest-card__title {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.gv-invest-plan__tag {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--gainvest-navy);
  background: rgba(0, 143, 232, 0.1);
  border: 1px solid rgba(0, 143, 232, 0.18);
}

.gv-invest-plan__hero {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
}

.gv-invest-plan__icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, var(--gainvest-blue) 0%, #0066b8 100%);
  box-shadow: 0 8px 18px rgba(0, 143, 232, 0.24);
}

.gv-invest-plan__icon .gv-mi {
  font-size: 24px;
}

.gv-invest-plan__desc {
  margin: 4px 0 0;
  font-size: 13px;
  line-height: 1.45;
  color: var(--gainvest-muted);
}

.gv-invest-plan__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.gv-invest-plan__metric {
  padding: 12px 12px;
  border-radius: 12px;
  border: 1px solid rgba(185, 210, 223, 0.65);
  background: #f8fbfd;
}

.gv-invest-plan__metric-label {
  display: block;
  margin-bottom: 4px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-invest-plan__metric strong {
  display: block;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--gainvest-navy);
  line-height: 1.2;
}

.gv-invest-plan__metric--blue {
  background: linear-gradient(165deg, rgba(0, 143, 232, 0.08) 0%, #f8fbfd 100%);
}

.gv-invest-plan__metric--green {
  background: linear-gradient(165deg, rgba(5, 150, 105, 0.08) 0%, #f8fbfd 100%);
}

.gv-invest-plan__metric--navy {
  background: linear-gradient(165deg, rgba(15, 23, 42, 0.05) 0%, #f8fbfd 100%);
}

.gv-invest-plan__metric--red {
  background: linear-gradient(165deg, rgba(236, 0, 68, 0.06) 0%, #f8fbfd 100%);
}

.gv-invest-plan__meta-note {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: var(--gainvest-muted);
}

.gv-invest-plan__meta-note .gv-mi {
  font-size: 16px;
  color: var(--gainvest-blue);
}

.gv-invest-pay__copy {
  display: contents;
}

.gv-invest-action__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.gv-invest-action__title {
  margin: 0;
  font-size: 16px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-invest-action__lead {
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--gainvest-muted);
}

.gv-invest-action__preview {
  display: grid;
  grid-template-columns: auto auto;
  gap: 2px 12px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(185, 210, 223, 0.75);
  background: #f8fbfd;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--gainvest-muted);
}

.gv-invest-action__preview strong {
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--gainvest-navy);
  text-transform: none;
}

.gv-invest-card--action {
  border-color: rgba(0, 143, 232, 0.22);
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  box-shadow: 0 10px 28px rgba(12, 52, 78, 0.07);
}

.gv-invest-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.gv-invest-submit .gv-mi {
  font-size: 18px;
}

@media (max-width: 900px) {
  .gv-invest-summary {
    grid-template-columns: 1fr;
  }

  .gv-invest-card--plan,
  .gv-invest-card--pay {
    padding: 12px;
  }

  .gv-invest-card--plan .gv-invest-card__head,
  .gv-invest-card--pay .gv-tx-list-head {
    margin-bottom: 10px;
    align-items: center;
  }

  .gv-invest-card--plan .gv-invest-card__title,
  .gv-invest-card--pay .gv-invest-card__title {
    min-width: 0;
    font-size: 15px;
    padding-bottom: 6px;
  }

  .gv-invest-plan__hero {
    gap: 10px;
    margin-bottom: 10px;
  }

  .gv-invest-plan__icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
  }

  .gv-invest-plan__icon .gv-mi {
    font-size: 20px;
  }

  .gv-invest-plan__name {
    font-size: 14px;
  }

  .gv-invest-plan__desc {
    font-size: 12px;
  }

  .gv-invest-plan__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .gv-invest-plan__metric {
    padding: 8px 10px;
  }

  .gv-invest-plan__metric-label {
    font-size: 9px;
  }

  .gv-invest-plan__metric strong {
    font-size: 14px;
  }

  .gv-invest-plan__meta {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    margin-top: 10px;
  }

  .gv-invest-plan__meta-note {
    align-items: flex-start;
    line-height: 1.4;
  }

  .gv-invest-plan__calc {
    justify-content: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(0, 143, 232, 0.08);
    border: 1px solid rgba(0, 143, 232, 0.16);
  }

  .gv-invest-calc .gv-calc {
    padding: 12px;
  }

  .gv-invest-action__head {
    flex-direction: column;
  }

  .gv-invest-action__preview {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .gv-invest-plan__tag {
    padding: 4px 8px;
    font-size: 10px;
  }
}

/* Sidebar banner advertising */
.gv-adv {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.gv-adv-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  padding: 16px 18px;
  border-radius: 14px;
  border: 1px solid rgba(185, 210, 223, 0.75);
  background: linear-gradient(165deg, #fff 0%, #f3f9fd 100%);
}

.gv-adv-head__eyebrow {
  margin: 0 0 4px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gainvest-blue);
}

.gv-adv-head__title {
  margin: 0;
  font-size: clamp(20px, 2.4vw, 26px);
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-adv-head__lead {
  margin: 8px 0 0;
  max-width: 52ch;
  font-size: 13px;
  color: var(--gainvest-muted);
  line-height: 1.5;
}

.gv-adv-head__balance {
  flex-shrink: 0;
  text-align: right;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}

.gv-adv-head__balance span {
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--gainvest-muted);
}

.gv-adv-head__balance strong {
  font-size: 20px;
  color: var(--gainvest-navy);
}

.gv-adv-sub {
  margin: -4px 0 12px;
  font-size: 12px;
  color: var(--gainvest-muted);
}

.gv-adv-packages__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.gv-adv-package {
  position: relative;
  padding: 12px;
  border-radius: 12px;
  border: 1px solid rgba(185, 210, 223, 0.75);
  background: #f8fbfd;
}

.gv-adv-package.is-selected {
  border-color: rgba(0, 143, 232, 0.4);
  background: #eef7fd;
  box-shadow: 0 0 0 2px rgba(0, 143, 232, 0.12);
}

.gv-adv-package__badge {
  position: absolute;
  top: 8px;
  right: 8px;
  padding: 2px 7px;
  border-radius: 999px;
  background: var(--gainvest-blue);
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}

.gv-adv-package__name {
  margin: 0;
  font-size: 14px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-adv-package__imps {
  margin: 4px 0 0;
  font-size: 12px;
  font-weight: 700;
  color: var(--gainvest-text);
}

.gv-adv-package__price {
  margin: 8px 0 0;
  font-size: 18px;
  font-weight: 800;
  color: var(--gainvest-blue);
}

.gv-adv-package__cpm {
  margin: 2px 0 0;
  font-size: 11px;
  color: var(--gainvest-muted);
}

.gv-adv-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.gv-adv-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.gv-adv-field--full {
  grid-column: 1 / -1;
}

.gv-adv-field__label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-adv-field__input {
  width: 100%;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(185, 210, 223, 0.85);
  font: inherit;
  font-size: 13px;
}

.gv-adv-field__hint {
  font-size: 11px;
  color: var(--gainvest-muted);
  line-height: 1.4;
}

.gv-adv-field__hint a,
.gv-adv-field__hint .gv-feed-image-host {
  color: #2563eb;
  font-weight: 650;
  text-decoration: none;
  transition: color 0.15s ease;
}

.gv-adv-field__hint a:hover,
.gv-adv-field__hint .gv-feed-image-host:hover {
  color: #1d4ed8;
  text-decoration: underline;
}

.gv-adv-field__hint strong {
  font-weight: 700;
  color: var(--gv-text, #0f172a);
}

.gv-adv-form__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
}

.gv-adv-form__note {
  margin: 0;
  font-size: 12px;
  color: var(--gainvest-muted);
}

.gv-adv-history {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.gv-adv-history__item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: 10px;
  border: 1px solid rgba(185, 210, 223, 0.6);
  background: #f8fbfd;
}

.gv-adv-history__item img {
  border-radius: 8px;
  object-fit: cover;
  flex-shrink: 0;
}

.gv-adv-history__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
  font-size: 11px;
  color: var(--gainvest-muted);
}

.gv-adv-history__body strong {
  font-size: 12px;
  color: var(--gainvest-navy);
}

.gv-adv-history__bar {
  display: block;
  height: 4px;
  border-radius: 999px;
  background: rgba(185, 210, 223, 0.55);
  overflow: hidden;
}

.gv-adv-history__bar i {
  display: block;
  height: 100%;
  background: var(--gainvest-blue);
}

.gv-adv-history__item em {
  font-style: normal;
  font-size: 12px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

@media (max-width: 900px) {
  .gv-adv-head {
    flex-direction: column;
  }

  .gv-adv-head__balance {
    align-items: flex-start;
    text-align: left;
  }

  /* Mobile: use the package <select> only — hide the card grid */
  .gv-adv-packages {
    display: none !important;
  }

  .gv-adv-form__grid {
    grid-template-columns: 1fr;
  }

  .gv-adv-form__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .gv-adv-form__actions .gv-btn {
    width: 100%;
    justify-content: center;
  }

  .gv-adv-history__item {
    flex-wrap: wrap;
  }

  .gv-adv-field__input {
    min-height: 44px;
    font-size: 16px; /* avoid iOS zoom */
  }
}

.gv-invest-card {
  padding: 16px 18px 18px;
  border-radius: 14px;
  border: 1px solid rgba(185, 210, 223, 0.75);
  background: #fff;
  box-shadow: var(--gainvest-shadow-sm);
}

.gv-invest-card__title {
  margin: 0 0 14px;
  font-size: 16px;
  font-weight: 800;
  color: var(--gainvest-navy);
  letter-spacing: -0.02em;
  padding-bottom: 8px;
  border-bottom: 3px solid var(--gainvest-red);
  display: inline-block;
  min-width: 110px;
}

.gv-invest-plan__name {
  margin: 0 0 10px;
  font-size: 15px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-invest-plan__table-wrap {
  border: 1px solid rgba(185, 210, 223, 0.85);
  border-radius: 10px;
  overflow: hidden;
}

.gv-invest-plan__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.gv-invest-plan__table th,
.gv-invest-plan__table td {
  padding: 12px 14px;
  text-align: left;
  border-bottom: 1px solid var(--gainvest-border-light);
}

.gv-invest-plan__table th {
  background: #f4f9fc;
  color: var(--gainvest-navy);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.gv-invest-plan__table tr:last-child td {
  border-bottom: 0;
}

.gv-invest-plan__table td {
  color: var(--gainvest-text);
  font-weight: 650;
}

.gv-invest-plan__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 12px;
  font-size: 12px;
  color: var(--gainvest-muted);
}

.gv-invest-plan__calc {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 800;
  color: var(--gainvest-blue) !important;
  text-decoration: none !important;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  font-family: inherit;
  font-size: inherit;
}

.gv-invest-plan__calc .gv-mi {
  font-size: 18px;
  color: var(--gainvest-blue);
}

.gv-invest-plan__calc.is-open {
  color: var(--gainvest-navy) !important;
}

.gv-invest-calc {
  margin-top: 14px;
}

.gv-invest-calc[hidden] {
  display: none !important;
}

.gv-invest-calc .gv-calc {
  margin: 0;
}

.gv-invest-calc .gv-btn {
  margin-top: 4px;
}

.gv-invest-pay {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.gv-invest-pay__option {
  position: relative;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  grid-template-areas:
    "radio label value"
    "radio hint value";
  align-items: center;
  column-gap: 10px;
  row-gap: 1px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(159, 194, 212, 0.85);
  background: linear-gradient(180deg, #fbfdff 0%, #f4f9fc 100%);
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.gv-invest-pay__option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.gv-invest-pay__radio {
  grid-area: radio;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid #9fb8c8;
  background: #fff;
  box-sizing: border-box;
}

.gv-invest-pay__option.is-selected {
  border-color: var(--gainvest-blue);
  box-shadow: 0 0 0 3px rgba(0, 143, 232, 0.12);
  background: linear-gradient(165deg, #eaf5fc 0%, #dceef8 100%);
}

.gv-invest-pay__option.is-selected .gv-invest-pay__radio {
  border-color: var(--gainvest-blue);
  background: radial-gradient(circle at center, var(--gainvest-blue) 0 45%, #fff 48% 100%);
}

.gv-invest-pay__label {
  grid-area: label;
  font-size: 12px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-invest-pay__value {
  grid-area: value;
  justify-self: end;
  font-size: 15px;
  font-weight: 800;
  color: var(--gainvest-navy);
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.gv-invest-pay__value--btc {
  font-size: 13px;
}

.gv-invest-pay__hint {
  grid-area: hint;
  font-size: 11px;
  font-weight: 600;
  color: var(--gainvest-muted);
}

.gv-invest-btc {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #f7931a;
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
}

.gv-invest-card--action {
  padding-top: 18px;
}

.gv-invest-amount {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: stretch;
}

.gv-invest-amount__field {
  position: relative;
  display: flex;
  align-items: stretch;
  min-width: 0;
}

.gv-invest-amount__input {
  height: 48px;
  padding-right: 64px;
  font-size: 15px;
  font-weight: 650;
}

.gv-invest-amount__suffix {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  height: 34px;
  padding: 0 10px;
  border-radius: 8px;
  background: var(--gainvest-blue);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.gv-invest-submit {
  min-width: 160px;
  height: 48px;
  justify-content: center;
  font-size: 14px;
  font-weight: 800;
}

.gv-invest-hint {
  margin: 12px 0 0;
  font-size: 12px;
  color: var(--gainvest-muted);
}

.gv-invest-hint strong {
  color: var(--gainvest-navy);
}

/* Withdraw page */
.gv-withdraw {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.gv-withdraw-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 14px;
  margin-bottom: 2px;
}

.gv-withdraw-balance {
  flex: 1 1 220px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 18px;
  border-radius: 14px;
  border: 1px solid rgba(22, 163, 74, 0.22);
  background: linear-gradient(165deg, #f3fbf6 0%, #e8f7ee 100%);
}

.gv-withdraw-balance__label {
  font-size: 12px;
  font-weight: 700;
  color: #15803d;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.gv-withdraw-balance__value {
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #14532d;
  line-height: 1.1;
}

.gv-withdraw-balance__hint {
  font-size: 12px;
  font-weight: 600;
  color: var(--gainvest-muted);
}

.gv-withdraw-pills {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  flex: 2 1 280px;
}

.gv-withdraw-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid var(--gainvest-border);
  background: #fff;
  font-size: 12px;
  font-weight: 700;
  color: var(--gainvest-navy);
}

.gv-withdraw-pill .gv-mi {
  font-size: 16px;
  color: var(--gainvest-blue);
}

.gv-withdraw-methods {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.gv-withdraw-coin-select {
  display: none;
  position: relative;
  align-items: center;
  gap: 0;
  margin: 0;
}

.gv-withdraw-coin-select__preview {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  display: inline-flex;
  width: 28px;
  height: 28px;
  pointer-events: none;
}

.gv-withdraw-coin-select__preview img {
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.gv-withdraw-coin-select__control {
  width: 100%;
  min-height: 52px;
  padding: 12px 42px 12px 48px;
  font-size: 15px;
  font-weight: 700;
  color: var(--gainvest-navy);
  border-radius: 12px;
  border: 1px solid rgba(159, 194, 212, 0.85);
  background: linear-gradient(165deg, #f3f9fd 0%, #e7f2f9 100%);
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

.gv-withdraw-coin-select__control:focus {
  outline: none;
  border-color: var(--gainvest-blue);
  box-shadow: 0 0 0 3px rgba(0, 143, 232, 0.12);
}

.gv-withdraw-coin-select__chevron {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  pointer-events: none;
  color: var(--gainvest-muted);
}

.gv-withdraw-coin-select__chevron .gv-mi {
  font-size: 22px;
}

.gv-withdraw-method {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  padding: 14px 12px 12px;
  border-radius: 12px;
  border: 1px solid rgba(159, 194, 212, 0.85);
  background: linear-gradient(165deg, #f3f9fd 0%, #e7f2f9 100%);
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
  min-height: 96px;
}

.gv-withdraw-method input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.gv-withdraw-method__radio {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid #9fb8c8;
  background: #fff;
  box-sizing: border-box;
}

.gv-withdraw-method.is-selected {
  border-color: var(--gainvest-blue);
  box-shadow: 0 0 0 3px rgba(0, 143, 232, 0.12);
  background: linear-gradient(165deg, #eaf5fc 0%, #dceef8 100%);
}

.gv-withdraw-method.is-selected .gv-withdraw-method__radio {
  border-color: var(--gainvest-blue);
  background: radial-gradient(circle at center, var(--gainvest-blue) 0 45%, #fff 48% 100%);
}

.gv-withdraw-method__icon {
  display: inline-flex;
  width: 28px;
  height: 28px;
  margin-bottom: 4px;
}

.gv-withdraw-method__icon img {
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.gv-withdraw-method__code {
  font-size: 14px;
  font-weight: 800;
  color: var(--gainvest-navy);
  letter-spacing: -0.02em;
}

.gv-withdraw-method__name {
  font-size: 11px;
  font-weight: 600;
  color: var(--gainvest-muted);
  line-height: 1.25;
}

.gv-withdraw-method__badge {
  margin-top: 4px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: var(--gainvest-blue);
  text-transform: uppercase;
}

.gv-withdraw-details__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 4px;
}

.gv-withdraw-details__head .gv-invest-card__title {
  margin: 0;
}

.gv-withdraw-selected {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #eef6fb;
  border: 1px solid rgba(0, 143, 232, 0.18);
  font-size: 12px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-withdraw-selected img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.gv-withdraw-network {
  margin: 14px 0 18px;
}

.gv-withdraw-network[hidden] {
  display: none !important;
}

.gv-withdraw-networks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.gv-withdraw-net {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 120px;
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid rgba(159, 194, 212, 0.85);
  background: #fff;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.gv-withdraw-net[hidden] {
  display: none !important;
}

.gv-withdraw-net input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.gv-withdraw-net.is-selected {
  border-color: var(--gainvest-blue);
  background: linear-gradient(165deg, #eaf5fc 0%, #dceef8 100%);
  box-shadow: 0 0 0 3px rgba(0, 143, 232, 0.12);
}

.gv-withdraw-net__label {
  font-size: 13px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-withdraw-net__hint {
  font-size: 11px;
  font-weight: 600;
  color: var(--gainvest-muted);
}

.gv-withdraw-panel {
  padding: 16px;
  border-radius: 14px;
  border: 1px solid rgba(159, 194, 212, 0.65);
  background: linear-gradient(180deg, #f8fcfe 0%, #f2f8fc 100%);
}

.gv-withdraw-panel__row {
  display: grid;
  grid-template-columns: minmax(180px, 0.85fr) 1.35fr;
  gap: 16px;
  align-items: start;
}

.gv-withdraw-fields {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 14px;
}

.gv-withdraw-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.gv-withdraw-field__label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 12px;
  font-weight: 700;
  color: var(--gainvest-muted);
}

.gv-withdraw-field__net {
  font-size: 11px;
  font-weight: 700;
  color: var(--gainvest-blue);
}

.gv-withdraw-field__meta {
  font-size: 11px;
  font-weight: 600;
  color: var(--gainvest-muted);
  line-height: 1.4;
}

.gv-withdraw-field__meta-item {
  display: inline;
}

.gv-withdraw-field__meta-item + .gv-withdraw-field__meta-item::before {
  content: "·";
  margin: 0 0.35em;
  color: var(--gainvest-muted);
}

.gv-withdraw-field__meta strong {
  color: var(--gainvest-navy);
}

.gv-withdraw-maxlink {
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  color: var(--gainvest-blue);
  cursor: pointer;
}

.gv-withdraw-maxlink:hover {
  text-decoration: underline;
}

.gv-withdraw-address {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 13px;
  letter-spacing: -0.01em;
}

.gv-withdraw-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(159, 194, 212, 0.45);
}

.gv-withdraw-note {
  margin: 0;
  flex: 1 1 220px;
  font-size: 12px;
  font-weight: 600;
  color: var(--gainvest-muted);
  line-height: 1.45;
}

.gv-withdraw-note strong {
  color: var(--gainvest-navy);
}

.gv-withdraw-submit {
  min-width: 180px;
  height: 48px;
  justify-content: center;
}

.gv-withdraw-history {
  margin-top: 16px;
}

.gv-withdraw-empty {
  margin: 0;
  font-size: 13px;
  color: var(--gainvest-muted);
}

.gv-withdraw-table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(159, 194, 212, 0.7);
  border-radius: 12px;
}

.gv-withdraw-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.gv-withdraw-table th,
.gv-withdraw-table td {
  padding: 12px 14px;
  text-align: left;
  border-bottom: 1px solid rgba(159, 194, 212, 0.45);
  white-space: nowrap;
}

.gv-withdraw-table th {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--gainvest-navy);
  background: #f3f9fd;
}

.gv-withdraw-table tr:last-child td {
  border-bottom: 0;
}

.gv-wd-status {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.gv-wd-status--pending {
  background: #fff7ed;
  color: #c2410c;
}

.gv-wd-status--approved,
.gv-wd-status--completed,
.gv-wd-status--sent {
  background: #ecfdf5;
  color: #047857;
}

.gv-wd-status--rejected {
  background: #fef2f2;
  color: #b91c1c;
}

@media (max-width: 720px) {
  .gv-invest-pay,
  .gv-invest-amount,
  .gv-withdraw-fields,
  .gv-withdraw-panel__row {
    grid-template-columns: 1fr;
  }
  .gv-invest-submit,
  .gv-withdraw-submit {
    width: 100%;
  }
  .gv-withdraw-coin-select {
    display: flex;
  }
  .gv-withdraw-methods {
    display: none;
  }
  .gv-withdraw-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .gv-withdraw-details__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .gv-withdraw-selected {
    width: 100%;
    justify-content: flex-start;
    border-radius: 10px;
    padding: 8px 12px;
  }

  .gv-withdraw-network {
    margin: 12px 0 14px;
  }

  .gv-withdraw-networks {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .gv-withdraw-net {
    min-width: 0;
    width: 100%;
    padding: 12px 14px;
  }

  .gv-withdraw-panel {
    padding: 12px;
    border-radius: 12px;
  }

  .gv-withdraw-panel__row {
    gap: 14px;
  }

  .gv-withdraw-field {
    gap: 7px;
    padding: 12px;
    border-radius: 12px;
    border: 1px solid rgba(159, 194, 212, 0.45);
    background: #fff;
  }

  .gv-withdraw-field__label {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 6px 10px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }

  .gv-withdraw-field__net {
    margin-left: auto;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(0, 143, 232, 0.1);
    font-size: 10px;
    line-height: 1.2;
    max-width: 100%;
    text-align: right;
  }

  .gv-withdraw-maxlink {
    min-height: 28px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(0, 143, 232, 0.1);
    font-size: 11px;
  }

  .gv-invest-amount__input,
  .gv-withdraw-address {
    width: 100%;
    min-height: 48px;
    font-size: 16px; /* avoid iOS zoom */
  }

  .gv-invest-amount__input {
    padding-right: 68px;
    font-weight: 700;
  }

  .gv-withdraw-address {
    font-size: 14px;
    word-break: break-all;
  }

  .gv-withdraw-field__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 0;
    font-size: 11px;
    line-height: 1.45;
  }

  .gv-withdraw-field__meta-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    border-radius: 8px;
    background: rgba(22, 79, 112, 0.05);
  }

  .gv-withdraw-field__meta-item + .gv-withdraw-field__meta-item::before {
    content: none;
    margin: 0;
  }

  .gv-withdraw-field__meta--warn {
    display: block;
    padding: 8px 10px;
    border-radius: 8px;
    background: #fff7ed;
    color: #9a3412;
    border: 1px solid rgba(194, 65, 12, 0.15);
  }

  .gv-withdraw-field__meta--warn strong {
    color: #9a3412;
  }

  .gv-withdraw-actions {
    gap: 10px;
    margin-top: 14px;
    padding-top: 12px;
  }

  .gv-withdraw-note {
    flex: none;
    width: 100%;
    font-size: 11px;
    line-height: 1.4;
  }

  .gv-withdraw-submit {
    min-width: 0;
    width: 100%;
    height: 50px;
    font-size: 15px;
    font-weight: 800;
  }
}

@media (min-width: 721px) and (max-width: 980px) {
  .gv-withdraw-methods {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Transaction history */
.gv-tx {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.gv-tx-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.gv-tx-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid var(--gainvest-border);
  background: #fff;
}

.gv-tx-stat--credit {
  border-color: rgba(22, 163, 74, 0.22);
  background: linear-gradient(165deg, #f3fbf6 0%, #e8f7ee 100%);
}

.gv-tx-stat--debit {
  border-color: rgba(220, 38, 38, 0.18);
  background: linear-gradient(165deg, #fff7f7 0%, #fef2f2 100%);
}

.gv-tx-stat--net {
  border-color: rgba(0, 143, 232, 0.22);
  background: linear-gradient(165deg, #f3f9fd 0%, #e7f2f9 100%);
}

.gv-tx-stat--bal {
  background: linear-gradient(165deg, #f8fafc 0%, #f1f5f9 100%);
}

.gv-tx-stat__label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-tx-stat__value {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--gainvest-navy);
  line-height: 1.15;
}

.gv-tx-stat--credit .gv-tx-stat__value { color: #15803d; }
.gv-tx-stat--debit .gv-tx-stat__value { color: #b91c1c; }
.gv-tx-stat--net .gv-tx-stat__value { color: var(--gainvest-blue); }

.gv-tx-stat__hint {
  font-size: 11px;
  font-weight: 600;
  color: var(--gainvest-muted);
}

.gv-tx-presets {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.gv-tx-preset {
  display: inline-flex;
  align-items: center;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid var(--gainvest-border);
  background: #fff;
  color: var(--gainvest-navy) !important;
  text-decoration: none !important;
  font-size: 12px;
  font-weight: 750;
}

.gv-tx-preset.is-active {
  border-color: var(--gainvest-blue);
  background: linear-gradient(165deg, #eaf5fc 0%, #dceef8 100%);
  box-shadow: 0 0 0 3px rgba(0, 143, 232, 0.1);
  color: var(--gainvest-blue) !important;
}

.gv-tx-filters {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) repeat(2, minmax(0, 0.9fr)) minmax(0, 1.3fr) auto;
  gap: 12px;
  align-items: end;
}

.gv-tx-filter {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.gv-tx-filter__label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-tx-filter .gv-input,
.gv-tx-filter select.gv-input {
  height: 42px;
}

.gv-tx-filter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.gv-tx-list-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 12px;
}

.gv-tx-list-head .gv-invest-card__title {
  margin: 0;
}

.gv-tx-list-meta {
  font-size: 12px;
  font-weight: 650;
  color: var(--gainvest-muted);
}

.gv-tx-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 36px 16px;
  text-align: center;
  color: var(--gainvest-muted);
}

.gv-tx-empty .gv-mi {
  font-size: 36px;
  color: var(--gainvest-blue);
  opacity: 0.7;
}

.gv-tx-empty p {
  margin: 0;
  font-size: 14px;
  font-weight: 650;
}

.gv-tx-table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(159, 194, 212, 0.7);
  border-radius: 12px;
}

.gv-tx-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.gv-tx-table th,
.gv-tx-table td {
  padding: 12px 14px;
  text-align: left;
  border-bottom: 1px solid rgba(159, 194, 212, 0.45);
  vertical-align: middle;
}

.gv-tx-table th {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--gainvest-navy);
  background: #f3f9fd;
  white-space: nowrap;
}

.gv-tx-table tr:last-child td {
  border-bottom: 0;
}

.gv-tx-table__amount {
  text-align: right !important;
  white-space: nowrap;
}

.gv-tx-date {
  display: flex;
  flex-direction: column;
  gap: 2px;
  white-space: nowrap;
}

.gv-tx-date strong {
  color: var(--gainvest-navy);
  font-weight: 750;
}

.gv-tx-date span {
  font-size: 11px;
  color: var(--gainvest-muted);
  font-weight: 600;
}

.gv-tx-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 180px;
}

.gv-tx-item__icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #eef6fb;
  color: var(--gainvest-blue);
}

.gv-tx-item__icon--debit {
  background: #fef2f2;
  color: #b91c1c;
}

.gv-tx-item__icon--credit {
  background: #ecfdf5;
  color: #15803d;
}

.gv-tx-item__icon .gv-mi {
  font-size: 18px;
}

.gv-tx-item strong {
  display: block;
  color: var(--gainvest-navy);
  font-weight: 800;
  line-height: 1.25;
}

.gv-tx-item span {
  display: block;
  font-size: 11px;
  font-weight: 600;
  color: var(--gainvest-muted);
  margin-top: 2px;
}

.gv-tx-ref {
  font-size: 12px;
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gv-tx-amt {
  font-weight: 800;
  letter-spacing: -0.02em;
}

.gv-tx-amt--credit { color: #15803d; }
.gv-tx-amt--debit { color: #b91c1c; }

.gv-tx-pager {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 14px;
}

.gv-tx-pager__info {
  font-size: 12px;
  font-weight: 700;
  color: var(--gainvest-muted);
}

.gv-wd-status--failed,
.gv-wd-status--cancelled {
  background: #fef2f2;
  color: #b91c1c;
}

.gv-wd-status--cancelled {
  background: #f1f5f9;
  color: #475569;
}

@media (max-width: 1100px) {
  .gv-tx-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .gv-tx-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .gv-tx-filter-actions {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .gv-tx-summary {
    grid-template-columns: 1fr;
  }
  .gv-tx-filters {
    grid-template-columns: 1fr;
  }

  .gv-tx-list-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    margin-bottom: 10px;
  }

  .gv-tx-list-head .gv-invest-card__title {
    font-size: 15px;
  }

  .gv-tx-list-meta {
    font-size: 11px;
    line-height: 1.35;
  }

  .gv-tx-list-card .gv-tx-table-wrap {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .gv-tx-list-card .gv-tx-table thead {
    display: none;
  }

  .gv-tx-list-card .gv-tx-table tbody {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .gv-tx-list-card .gv-tx-table tr {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "tx amount"
      "date status"
      "ref ref";
    gap: 6px 8px;
    padding: 11px 12px;
    border: 1px solid rgba(159, 194, 212, 0.55);
    border-radius: 12px;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbfd 100%);
    box-shadow: 0 1px 0 rgba(15, 61, 92, 0.04);
  }

  .gv-tx-list-card .gv-tx-table td {
    display: flex;
    align-items: center;
    width: auto;
    padding: 0;
    border: 0;
    background: transparent !important;
    min-width: 0;
  }

  .gv-tx-list-card .gv-tx-table td:nth-child(1) {
    grid-area: date;
    justify-content: flex-start;
  }

  .gv-tx-list-card .gv-tx-table td:nth-child(2) {
    grid-area: tx;
    justify-content: flex-start;
  }

  .gv-tx-list-card .gv-tx-table td:nth-child(3) {
    grid-area: ref;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 2px;
    padding: 6px 8px;
    border-radius: 8px;
    background: rgba(22, 79, 112, 0.04) !important;
  }

  .gv-tx-list-card .gv-tx-table td:nth-child(3)::before {
    content: attr(data-label);
    color: var(--gainvest-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
  }

  .gv-tx-list-card .gv-tx-table td:nth-child(4) {
    grid-area: status;
    justify-content: flex-end;
  }

  .gv-tx-list-card .gv-tx-table td:nth-child(5) {
    grid-area: amount;
    justify-content: flex-end;
    text-align: right !important;
  }

  .gv-tx-list-card .gv-tx-date {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 6px;
  }

  .gv-tx-list-card .gv-tx-date strong {
    font-size: 11px;
  }

  .gv-tx-list-card .gv-tx-date span {
    font-size: 10px;
  }

  .gv-tx-list-card .gv-tx-item {
    gap: 8px;
    align-items: flex-start;
  }

  .gv-tx-list-card .gv-tx-item__icon {
    width: 32px;
    height: 32px;
    border-radius: 9px;
  }

  .gv-tx-list-card .gv-tx-item__icon .gv-mi {
    font-size: 18px;
  }

  .gv-tx-list-card .gv-tx-item strong {
    font-size: 13px;
    line-height: 1.25;
  }

  .gv-tx-list-card .gv-tx-item span {
    font-size: 11px;
    line-height: 1.3;
  }

  .gv-tx-list-card .gv-tx-ref {
    font-size: 11px;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .gv-tx-list-card .gv-tx-amt {
    font-size: 14px;
    font-weight: 800;
  }

  .gv-tx-list-card .gv-wd-status {
    font-size: 10px;
    padding: 3px 7px;
  }

  .gv-tx-pager {
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
  }
}

/* Active investments */
.gv-invs {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.gv-invs-head-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 4px;
}

.gv-invs-head-actions .gv-invest-card__title {
  margin: 0;
}

.gv-invs-head-actions .gv-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.gv-invs-status-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
}

.gv-invs-tab {
  display: inline-flex;
  align-items: center;
  padding: 7px 12px;
  border-radius: 8px;
  border: 1px solid var(--gainvest-border);
  background: #fff;
  color: var(--gainvest-navy) !important;
  text-decoration: none !important;
  font-size: 12px;
  font-weight: 750;
}

.gv-invs-tab.is-active {
  border-color: var(--gainvest-blue);
  background: var(--gainvest-blue);
  color: #fff !important;
}

.gv-invs-filters {
  grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(0, 1.4fr) auto;
}

.gv-invs-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.gv-inv-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  border-radius: 14px;
  border: 1px solid rgba(159, 194, 212, 0.75);
  background: linear-gradient(165deg, #f8fcfe 0%, #f1f8fc 100%);
}

.gv-inv-card--active {
  border-color: rgba(0, 143, 232, 0.35);
  box-shadow: 0 0 0 3px rgba(0, 143, 232, 0.06);
}

.gv-inv-card--completed {
  border-color: rgba(22, 163, 74, 0.28);
  background: linear-gradient(165deg, #f3fbf6 0%, #eef8f1 100%);
}

.gv-inv-card--pending,
.gv-inv-card--review {
  border-color: rgba(234, 88, 12, 0.28);
  background: linear-gradient(165deg, #fffaf5 0%, #fff7ed 100%);
}

.gv-inv-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.gv-inv-card__plan {
  margin: 0;
  font-size: 15px;
  font-weight: 800;
  color: var(--gainvest-navy);
  line-height: 1.3;
}

.gv-inv-card__ref {
  margin: 4px 0 0;
  font-size: 11px;
  color: var(--gainvest-muted);
  font-weight: 650;
}

.gv-inv-card__amount {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid rgba(159, 194, 212, 0.55);
}

.gv-inv-card__amount span {
  font-size: 12px;
  font-weight: 700;
  color: var(--gainvest-muted);
}

.gv-inv-card__amount strong {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--gainvest-blue);
}

.gv-inv-card__metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.gv-inv-card__metrics > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 10px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.72);
}

.gv-inv-card__metrics span {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-inv-card__metrics strong {
  font-size: 14px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-inv-card__metrics em {
  font-style: normal;
  font-size: 11px;
  font-weight: 600;
  color: var(--gainvest-muted);
}

.gv-inv-progress__bar {
  height: 8px;
  border-radius: 999px;
  background: rgba(159, 194, 212, 0.35);
  overflow: hidden;
}

.gv-inv-progress__bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #008fe8 0%, #22c55e 100%);
}

.gv-inv-progress__meta {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-top: 6px;
  font-size: 11px;
  font-weight: 700;
  color: var(--gainvest-muted);
}

.gv-inv-card__dates {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.gv-inv-card__dates > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.gv-inv-card__dates span {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-inv-card__dates strong {
  font-size: 12px;
  font-weight: 750;
  color: var(--gainvest-navy);
}

.gv-inv-card__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-top: 10px;
  border-top: 1px solid rgba(159, 194, 212, 0.45);
}

.gv-inv-card__funding {
  font-size: 11px;
  font-weight: 650;
  color: var(--gainvest-muted);
}

.gv-wd-status--active {
  background: #e0f2fe;
  color: #0369a1;
}

.gv-wd-status--paused {
  background: #f1f5f9;
  color: #475569;
}

.gv-wd-status--review {
  background: #fff7ed;
  color: #c2410c;
}

@media (max-width: 980px) {
  .gv-invs-grid {
    grid-template-columns: 1fr;
  }
  .gv-invs-filters {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 720px) {
  .gv-inv-card__metrics,
  .gv-inv-card__dates {
    grid-template-columns: 1fr;
  }
  .gv-invs-filters {
    grid-template-columns: 1fr;
  }
}

/* Account referrals */
.gv-refs {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.gv-refs-share__lead {
  margin: 0 0 16px;
  font-size: 13px;
  font-weight: 650;
  color: var(--gainvest-muted);
  line-height: 1.5;
}

.gv-refs-share__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.gv-refs-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.gv-refs-field__label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-refs-copy {
  display: flex;
  gap: 8px;
  align-items: stretch;
}

.gv-refs-copy .gv-input {
  flex: 1;
  min-width: 0;
  font-size: 12px;
}

.gv-refs-share__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(159, 194, 212, 0.45);
}

.gv-refs-rates {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.gv-refs-rate {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px;
  border-radius: 14px;
  border: 1px solid var(--gainvest-border);
  background: #fff;
}

.gv-refs-rate--blue {
  border-color: rgba(0, 143, 232, 0.25);
  background: linear-gradient(165deg, #f3f9fd 0%, #e7f2f9 100%);
}

.gv-refs-rate--green {
  border-color: rgba(22, 163, 74, 0.22);
  background: linear-gradient(165deg, #f3fbf6 0%, #e8f7ee 100%);
}

.gv-refs-rate--navy {
  border-color: rgba(15, 61, 92, 0.18);
  background: linear-gradient(165deg, #f8fafc 0%, #eef2f6 100%);
}

.gv-refs-rate__tier {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: var(--gainvest-muted);
}

.gv-refs-rate__pct {
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--gainvest-navy);
  line-height: 1.1;
}

.gv-refs-rate--blue .gv-refs-rate__pct { color: var(--gainvest-blue); }
.gv-refs-rate--green .gv-refs-rate__pct { color: #15803d; }

.gv-refs-rate__title {
  font-size: 13px;
  font-weight: 750;
  color: var(--gainvest-navy);
}

.gv-refs-rate__count {
  font-size: 11px;
  font-weight: 650;
  color: var(--gainvest-muted);
}

.gv-refs-member-id {
  display: block;
  font-size: 11px;
  color: var(--gainvest-muted);
  margin-top: 2px;
}

.gv-refs-level-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
}

.gv-refs-level-badge--l1 {
  background: #e0f2fe;
  color: #0369a1;
}

.gv-refs-level-badge--l2 {
  background: #ecfdf5;
  color: #047857;
}

.gv-refs-level-badge--l3 {
  background: #f1f5f9;
  color: #475569;
}

.gv-refs-amt {
  font-weight: 800;
  color: #15803d;
  white-space: nowrap;
}

.gv-refs-example__lead {
  margin: 0 0 12px;
  font-size: 13px;
  color: var(--gainvest-muted);
}

.gv-refs-example__lead strong {
  color: var(--gainvest-navy);
}

.gv-refs-example__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.gv-refs-example__grid > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px;
  border-radius: 10px;
  background: #f3f9fd;
  border: 1px solid rgba(159, 194, 212, 0.55);
}

.gv-refs-example__grid span {
  font-size: 11px;
  font-weight: 700;
  color: var(--gainvest-muted);
}

.gv-refs-example__grid strong {
  font-size: 18px;
  font-weight: 800;
  color: var(--gainvest-blue);
}

.gv-refs-example__note {
  margin: 12px 0 0;
  font-size: 11px;
  font-weight: 600;
  color: var(--gainvest-muted);
}

@media (max-width: 980px) {
  .gv-refs-share__grid,
  .gv-refs-rates,
  .gv-refs-example__grid {
    grid-template-columns: 1fr;
  }
  .gv-refs-copy {
    flex-direction: column;
  }
}

/* Responsive */
@media (max-width: 1100px) {
  .gv-header__inner {
    grid-template-columns: auto 1fr;
    gap: 12px;
  }
  .gv-header-stats {
    grid-column: 1 / -1;
    order: 3;
  }
  .gv-header__right {
    justify-self: end;
  }
  .gv-stats-5 { grid-template-columns: repeat(3, 1fr); }
  .gv-stats-5__item:nth-child(4),
  .gv-stats-5__item:nth-child(5) { border-top: 1px solid var(--gainvest-border-light); }
  .gv-metric-bar { grid-template-columns: repeat(3, 1fr); }
  .gv-metric-bar__item:nth-child(n+4) { border-top: 1px solid rgba(255,255,255,0.15); }
  .gv-video-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  body.gv-body { font-size: 14px; }
  .gv-header__inner {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "brand actions"
      "stats stats"
      "support support";
    gap: 6px;
    align-items: center;
  }
  .gv-brand {
    grid-area: brand;
    max-width: none;
  }
  .gv-header-stats {
    grid-area: stats;
    order: unset;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .gv-header-stats__item {
    border-right: 1px solid var(--gainvest-border-light);
    border-bottom: 0;
    padding: 3px 4px;
    gap: 3px;
  }
  .gv-header-stats__item:last-child {
    border-right: 0;
  }
  .gv-header__right {
    grid-area: actions;
    justify-self: end;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 6px;
    width: auto;
  }
  .gv-header-support {
    grid-area: support;
    max-width: none;
    width: 100%;
  }
  .gv-auth-btns { justify-content: flex-end; flex: none; }
  .gv-btn { width: auto; }
  .gv-about,
  .gv-trade-grid,
  .gv-plan-grid,
  .gv-two-col,
  .gv-footer__top,
  .gv-footer__bottom-inner,
  .gv-testimonial-grid {
    grid-template-columns: 1fr;
  }
  .gv-footer__links {
    justify-content: flex-start;
  }
  .gv-footer__aside {
    align-items: flex-start;
  }
  .gv-stats-5,
  .gv-social-bar,
  .gv-metric-bar {
    grid-template-columns: repeat(2, 1fr);
  }
  .gv-stats-5__item,
  .gv-metric-bar__item {
    border-top: 0;
  }
  .gv-stats-5__item:nth-child(n+3),
  .gv-metric-bar__item:nth-child(n+3) {
    border-top: 1px solid var(--gainvest-border-light);
  }
  .gv-metric-bar__item:nth-child(n+3) {
    border-top: 1px solid rgba(255,255,255,0.15);
  }
  .gv-video-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .gv-account-box { border-radius: 16px; }
  .gv-overview-meta,
  .gv-overview-actions,
  .gv-overview-split,
  .gv-dash-grid {
    grid-template-columns: 1fr 1fr;
  }
  .gv-sidebar-toggle { display: inline-flex; }
  body.gv-logged-in.gv-account-page .gv-nav__account-toggle { display: inline-flex; }
  .gv-nav__inner {
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: flex-start;
    padding-top: 6px;
    padding-bottom: 6px;
    gap: 6px;
  }
  .gv-nav__account-toggle {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    min-width: 0;
    margin: 0;
    justify-content: flex-start;
    padding: 8px 12px;
    font-size: 12px;
    line-height: 1;
  }
  /* Mobile: [☰] Home | Invest | Payments + overflow panel */
  .gv-nav__bar {
    display: flex;
    flex: 1 1 100%;
    align-items: center;
    gap: 5px;
    min-width: 0;
  }
  body.gv-logged-in.gv-account-page .gv-nav__bar {
    display: none !important;
  }
  .gv-nav__toggle {
    display: inline-flex !important;
    flex: 0 0 auto;
    width: 34px;
    min-width: 34px;
    max-width: 34px;
    min-height: 34px;
    height: 34px;
    padding: 0;
    justify-content: center;
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.2);
  }
  .gv-nav__toggle.is-open {
    background: rgba(255, 255, 255, 0.28);
  }
  .gv-nav__toggle-label,
  .gv-nav__toggle-chevron {
    display: none !important;
  }
  .gv-nav__toggle-icon {
    font-size: 18px !important;
    margin: 0;
    line-height: 1;
  }
  .gv-nav__pins {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    gap: 4px;
    min-width: 0;
  }
  .gv-nav__link--pin {
    flex: 1 1 0;
    justify-content: center;
    gap: 4px;
    min-width: 0;
    border-radius: 9px;
    padding: 0 6px;
    min-height: 34px;
    height: 34px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.01em;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: none;
  }
  .gv-nav__link--pin:hover {
    transform: none;
    background: rgba(255, 255, 255, 0.18);
  }
  .gv-nav__link--pin.is-active {
    background: #fff;
    color: var(--gainvest-navy) !important;
    border-color: transparent;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.14);
  }
  .gv-nav__link--pin .gv-nav__icon {
    font-size: 15px !important;
  }
  .gv-nav__link--pin.gv-nav__link--payments {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.16) 0%, rgba(0, 143, 232, 0.3) 100%);
    border-color: rgba(125, 211, 252, 0.4);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
  }
  .gv-nav__link--pin.gv-nav__link--payments:hover {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, rgba(0, 143, 232, 0.42) 100%);
  }
  .gv-nav__link--pin.gv-nav__link--payments.is-active {
    background: #fff;
    color: var(--gainvest-navy) !important;
  }
  .gv-nav__link--pin.gv-nav__link--payments .gv-nav__icon {
    color: #b8e6ff;
  }
  .gv-nav__link--pin.gv-nav__link--payments.is-active .gv-nav__icon {
    color: var(--gainvest-blue);
  }
  .gv-nav__links {
    display: none;
    flex: 1 1 100%;
    width: 100%;
    gap: 4px;
    padding: 5px;
    margin: 0;
    overflow: visible;
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
  }
  .gv-nav__links.is-open {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .gv-nav__links .gv-nav__link--also-pin {
    display: none !important;
  }
  body.gv-logged-in.gv-account-page .gv-nav__links {
    display: none !important;
  }
  .gv-nav__links .gv-nav__link {
    justify-content: flex-start;
    flex: none;
    width: auto;
    min-width: 0;
    border-radius: 9px;
    padding: 8px 10px;
    min-height: 36px;
    white-space: nowrap;
    font-size: 11px;
    gap: 5px;
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.08);
  }
  .gv-nav__links .gv-nav__link:hover {
    transform: none;
  }
  .gv-nav__links .gv-nav__link.is-active {
    background: #fff;
  }
  .gv-nav__links .gv-nav__icon {
    font-size: 16px !important;
    flex-shrink: 0;
  }
  .gv-nav__text--long {
    display: none !important;
  }
  .gv-nav__text--short {
    display: inline !important;
  }
  .gv-section { padding-top: 18px; padding-bottom: 18px; }
  .gv-account-hero__inner { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px var(--gainvest-pad-x); }
  .gv-account-hero__badges {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 5px;
    padding-bottom: 1px;
  }
  .gv-account-hero__badges::-webkit-scrollbar {
    display: none;
  }
  .gv-account-hero__badge {
    flex: 0 0 auto;
    padding: 3px 7px;
    font-size: 8px;
    gap: 3px;
  }
  .gv-account-hero__badge .gv-mi {
    font-size: 11px;
  }
  .gv-account-hero__badge-label--long {
    display: none;
  }
  .gv-account-hero__badge-label--short {
    display: inline;
  }
}

@media (max-width: 768px) {
  .gv-micro {
    min-height: auto;
  }

  .gv-micro__inner {
    min-height: auto;
    padding-top: 6px;
    padding-bottom: 6px;
    gap: 8px;
  }

  .gv-micro__link {
    font-size: 11px;
    padding: 5px 8px;
  }

  .gv-micro__clock {
    max-width: min(46vw, 190px);
    font-size: 10px;
    padding: 4px 8px;
    gap: 4px;
  }

  .gv-micro__clock .gv-clock-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
  }

  .gv-micro__lang {
    padding: 3px 8px 3px 6px;
  }

  .gv-micro__lang-select {
    min-width: 56px;
    font-size: 11px;
  }

  .gv-header {
    padding: 2px 0;
  }

  .gv-brand__logo {
    height: 24px;
    max-width: 110px;
  }

  .gv-brand__tag {
    font-size: 8px;
    max-width: 120px;
    line-height: 1.1;
  }

  .gv-header-stats__icon {
    width: 18px;
    height: 18px;
  }

  .gv-header-stats__icon .gv-mi {
    font-size: 11px;
  }

  .gv-header-stats__value {
    font-size: 11px;
  }

  .gv-header-stats__label {
    font-size: 8px;
    white-space: normal;
    line-height: 1.1;
  }

  .gv-header-stats__copy {
    align-items: center;
    text-align: center;
  }

  .gv-header-stats__item {
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 2px 3px;
  }

  .gv-auth-btns .gv-btn {
    padding: 7px 10px;
    font-size: 11px;
  }

  .gv-header-support {
    padding: 7px 10px;
  }

  .gv-header-support__text em {
    display: none;
  }

  .gv-header-support__text strong {
    font-size: 11px;
  }

  .gv-header-support__icon {
    width: 28px;
    height: 28px;
  }
}

@media (max-width: 640px) {
  .gv-ov-activity-card {
    padding: 12px;
  }

  .gv-ov-activity-card .gv-tx-list-head {
    margin-bottom: 8px;
    align-items: center;
  }

  .gv-ov-activity-card .gv-invest-card__title {
    min-width: 0;
    font-size: 15px;
    padding-bottom: 6px;
  }

  .gv-ov-activity {
    gap: 4px;
    max-height: 240px;
  }

  .gv-ov-activity__row {
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 6px 8px;
    padding: 5px 8px;
    min-height: 34px;
  }

  .gv-ov-activity__text .gv-ov-tx-desc {
    display: none;
  }

  .gv-ov-activity__aside {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0;
  }

  .gv-ov-activity__amt {
    font-size: 12px;
  }

  .gv-ov-activity__when {
    font-size: 9px;
  }

  .gv-ov-inv-card {
    padding: 12px;
  }

  .gv-ov-inv-card .gv-tx-list-head {
    margin-bottom: 10px;
    align-items: center;
  }

  .gv-ov-inv-card .gv-invest-card__title {
    min-width: 0;
    font-size: 15px;
    padding-bottom: 6px;
  }

  .gv-ov-inv {
    padding: 10px 12px;
  }

  .gv-ov-inv__top {
    gap: 8px;
    margin-bottom: 8px;
  }

  .gv-ov-inv__heading strong {
    font-size: 12px;
  }

  .gv-ov-inv__pct {
    font-size: 13px;
  }

  .gv-ov-inv__metrics {
    gap: 6px;
    margin-bottom: 8px;
  }

  .gv-ov-inv__metrics em {
    font-size: 9px;
  }

  .gv-ov-inv__metrics b {
    font-size: 12px;
  }

  .gv-ov-inv__bar {
    height: 5px;
  }

  .gv-overview-panel {
    padding: 12px;
  }

  .gv-overview-panel .gv-tx-list-head {
    margin-bottom: 8px;
    align-items: center;
  }

  .gv-overview-panel .gv-invest-card__title {
    min-width: 0;
    font-size: 15px;
    padding-bottom: 6px;
  }

  .gv-overview-panel__lead {
    font-size: 12px;
    margin-bottom: 10px;
  }

  .gv-overview-plan,
  .gv-overview-refs,
  .gv-overview-ref-meta {
    gap: 6px;
  }

  .gv-overview-plan > div,
  .gv-overview-ref {
    padding: 8px 4px;
  }

  .gv-overview-plan span,
  .gv-overview-ref-meta em {
    font-size: 9px;
  }

  .gv-overview-plan strong {
    font-size: 14px;
  }

  .gv-overview-ref strong {
    font-size: 16px;
  }

  .gv-overview-ref-meta > div {
    padding: 7px 8px;
  }

  .gv-overview-ref-meta b {
    font-size: 12px;
  }

  .gv-dash-grid,
  .gv-overview-meta,
  .gv-overview-actions,
  .gv-overview-split,
  .gv-info-strip,
  .gv-stats-5,
  .gv-social-bar,
  .gv-metric-bar,
  .gv-video-grid,
  .gv-social-mini {
    grid-template-columns: 1fr;
  }
  .gv-cert-block,
  .gv-funds-block__grid {
    grid-template-columns: 1fr;
  }
  .gv-header-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .gv-header-stats__item {
    border-right: 1px solid var(--gainvest-border-light);
    border-bottom: 0;
  }
  .gv-header-stats__item:last-child {
    border-right: 0;
    border-bottom: 0;
  }
  .gv-stats-5__item,
  .gv-social-bar__item,
  .gv-metric-bar__item {
    border-right: 0 !important;
    border-bottom: 1px solid var(--gainvest-border-light);
  }
  .gv-metric-bar__item {
    border-bottom: 1px solid rgba(255,255,255,0.15);
  }
  .gv-stats-5__item:last-child,
  .gv-social-bar__item:last-child,
  .gv-metric-bar__item:last-child {
    border-bottom: 0;
  }
  .gv-dash-card__amount { font-size: 26px; }
  .gv-calc__row { grid-template-columns: 1fr; }
  .gv-mini-trades { display: block; overflow-x: auto; }
  .gv-auth-btns {
    display: flex;
    flex: none;
  }
  .gv-auth-btns .gv-btn { flex: none; min-width: 0; }
  .gv-header-support { max-width: none; width: 100%; }
  .gv-footer__links { gap: 10px; }
  .gv-brand__logo { height: 26px; max-width: 120px; }
  .gv-brand__name { font-size: 24px; }
  .gv-btn--block,
  .gv-calc .gv-btn { width: 100%; }
}

@media (max-width: 480px) {
  .gv-micro__inner {
    flex-wrap: nowrap;
    justify-content: space-between;
    text-align: left;
    padding-top: 5px;
    padding-bottom: 5px;
  }

  .gv-micro__left,
  .gv-micro__right {
    width: auto;
    justify-content: flex-start;
    margin-left: 0;
    flex-wrap: nowrap;
  }

  .gv-micro__right {
    margin-left: auto;
    flex-shrink: 0;
  }

  .gv-micro__link-long {
    display: none;
  }

  .gv-micro__link-short {
    display: inline;
  }

  .gv-micro__clock {
    max-width: 132px;
  }

  .gv-brand__tag {
    display: none;
  }

  .gv-header__right {
    flex-direction: row;
    align-items: center;
  }

  .gv-auth-btns {
    flex-direction: row;
    gap: 4px;
  }

  .gv-auth-btns .gv-btn {
    padding: 6px 9px;
    font-size: 10px;
  }

  .gv-header-support__arrow {
    margin-left: auto;
  }
}

@media (max-width: 420px) {
  .gv-micro__inner {
    gap: 6px;
  }

  .gv-micro__clock {
    max-width: 118px;
    padding: 3px 7px;
  }

  .gv-micro__lang-flag {
    font-size: 12px;
  }

  .gv-header-stats__value {
    font-size: 10px;
  }

  .gv-header-stats__label {
    font-size: 7px;
  }
}

/* Homepage polish */
body.gv-home .gv-section:first-of-type {
  padding-top: 26px;
}

body.gv-home .gv-panel,
body.gv-home .gv-stats-5,
body.gv-home .gv-social-bar,
body.gv-home .gv-metric-bar {
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

@media (hover: hover) {
  body.gv-home .gv-panel:hover,
  body.gv-home .gv-stats-5:hover,
  body.gv-home .gv-social-bar:hover {
    box-shadow: var(--gainvest-shadow);
  }
}

/* Recent payments page */
.gv-pay-hero {
  padding: 26px 28px;
  border-radius: 18px;
  border: 1px solid rgba(185, 210, 223, 0.75);
  background:
    radial-gradient(520px 220px at 0% 0%, rgba(22, 163, 74, 0.12), transparent 55%),
    radial-gradient(420px 180px at 100% 100%, rgba(0, 143, 232, 0.1), transparent 50%),
    linear-gradient(165deg, #ffffff 0%, #f3f8fc 100%);
  box-shadow: var(--gainvest-shadow-sm);
}

.gv-pay-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #15803d;
}

.gv-pay-hero__live {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.45);
  animation: gv-stats-pulse 1.6s ease-out infinite;
}

.gv-pay-hero__title {
  margin: 0;
  font-size: clamp(26px, 3.4vw, 34px);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--gainvest-navy);
  line-height: 1.15;
}

.gv-pay-hero__lead {
  margin: 12px 0 0;
  max-width: 52ch;
  font-size: 15px;
  line-height: 1.55;
  color: var(--gainvest-muted);
}

.gv-pay-hero__stats {
  display: grid;
  gap: 10px;
}

.gv-pay-stat {
  padding: 14px 16px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(185, 210, 223, 0.75);
}

.gv-pay-stat__label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--gainvest-muted);
  margin-bottom: 4px;
}

.gv-pay-stat__value {
  font-size: 22px;
  font-weight: 800;
  color: var(--gainvest-navy);
  letter-spacing: -0.03em;
  line-height: 1.1;
}

.gv-pay-stat__value--ok { color: #15803d; }

.gv-pay-panel__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 4px;
}

.gv-pay-panel__sub {
  margin: 0 0 14px;
  font-size: 12px;
  color: var(--gainvest-muted);
}

.gv-table--payments {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 13px;
}

.gv-table--payments th {
  background: var(--gainvest-navy);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 12px 12px;
  text-align: left;
  white-space: nowrap;
}

.gv-table--payments th:first-child { border-radius: 8px 0 0 0; }
.gv-table--payments th:last-child { border-radius: 0 8px 0 0; }

.gv-table--payments td {
  padding: 12px;
  border-bottom: 1px solid var(--gainvest-border-light);
  color: var(--gainvest-text);
  vertical-align: middle;
}

.gv-table--payments tr:nth-child(even) td {
  background: #f7fbfe;
}

.gv-table--payments tr:hover td {
  background: #eef6fb;
}

.gv-mono {
  font-family: ui-monospace, "Cascadia Code", "Segoe UI Mono", Menlo, Consolas, monospace;
  font-size: 12px;
  letter-spacing: -0.01em;
}

.gv-pay-amount {
  font-weight: 800;
  color: #15803d;
  white-space: nowrap;
}

.gv-pay-method {
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  background: #e8f4fb;
  color: var(--gainvest-blue);
  white-space: nowrap;
}

.gv-pay-method--bitcoin,
.gv-pay-method--btc {
  background: #fff4e5;
  color: #b45309;
}

.gv-pay-method--eth {
  background: #eef0ff;
  color: #4338ca;
}

.gv-pay-method--ltc {
  background: #eef2f7;
  color: #334155;
}

.gv-pay-method--doge {
  background: #fff8e1;
  color: #a16207;
}

.gv-pay-method--dash {
  background: #e8eefc;
  color: #1d4ed8;
}

.gv-pay-method--bch {
  background: #eaf8ef;
  color: #15803d;
}

.gv-pay-method--xrp {
  background: #eef2f7;
  color: #0f172a;
}

.gv-pay-method--trx {
  background: #fef2f2;
  color: #b91c1c;
}

.gv-pay-method--xlm {
  background: #eef6fb;
  color: #0369a1;
}

.gv-pay-method--bnb {
  background: #fff7e6;
  color: #b45309;
}

.gv-pay-method--usdt,
.gv-pay-method--usdt-trc20,
.gv-pay-method--usdt-bep20 {
  background: #eaf8ef;
  color: #15803d;
}

.gv-pay-method--usdc {
  background: #e8f4fb;
  color: #0369a1;
}

.gv-pay-method--ada {
  background: #eef0ff;
  color: #3730a3;
}

.gv-pay-method--eos {
  background: #f1f5f9;
  color: #334155;
}

.gv-pay-method--shib {
  background: #fff4e5;
  color: #c2410c;
}

.gv-pay-addr,
.gv-pay-tx {
  color: var(--gainvest-muted);
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gv-pay-when {
  font-size: 12px;
  color: var(--gainvest-muted);
  white-space: nowrap;
}

.gv-pay-status {
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  background: rgba(22, 163, 74, 0.12);
  color: #15803d;
}

.gv-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 16px;
  flex-wrap: wrap;
}

.gv-pagination__pages {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.gv-pagination__page,
.gv-pagination__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  min-height: 34px;
  padding: 6px 10px;
  border-radius: 8px;
  border: 1px solid var(--gainvest-border-light);
  background: #fff;
  color: var(--gainvest-navy) !important;
  text-decoration: none !important;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.gv-pagination__btn--icon {
  min-width: 34px;
  padding: 6px 8px;
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
}

.gv-pagination__ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  padding: 0 2px;
  color: var(--gainvest-muted);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  user-select: none;
}

.gv-pagination__page:hover,
.gv-pagination__btn:hover {
  background: #eef6fb;
  border-color: rgba(0, 143, 232, 0.35);
}

.gv-pagination__page.is-active {
  background: #164f70;
  border-color: #164f70;
  color: #fff !important;
  cursor: default;
}

.gv-pagination__btn.is-disabled {
  opacity: 0.45;
  cursor: default;
  pointer-events: none;
}

.gv-pagination__meta {
  flex: 1 0 100%;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  color: var(--gainvest-muted);
}

@media (max-width: 980px) {
  .gv-pay-hero {
    grid-template-columns: 1fr;
  }

  .gv-payments-page .gv-section {
    padding-left: 12px;
    padding-right: 12px;
  }

  .gv-pay-panel {
    padding: 12px;
  }

  .gv-pay-panel__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    margin-bottom: 2px;
  }

  .gv-pay-panel .gv-panel__hd {
    font-size: 16px;
    margin: 0;
  }

  .gv-pay-panel__sub {
    margin: 0 0 12px;
    font-size: 11px;
    line-height: 1.35;
  }

  .gv-pay-panel .gv-table-wrap {
    overflow: visible;
  }

  .gv-table--payments thead {
    display: none;
  }

  .gv-table--payments tbody {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .gv-table--payments tr {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "member amount"
      "method status"
      "paid paid"
      "id id"
      "addr addr"
      "tx tx";
    gap: 6px 8px;
    padding: 11px 12px;
    border: 1px solid var(--gainvest-border-light);
    border-radius: 12px;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbfd 100%);
    box-shadow: 0 1px 0 rgba(15, 61, 92, 0.04);
  }

  .gv-table--payments tr:nth-child(even) {
    background: linear-gradient(180deg, #f9fcfe 0%, #f2f8fc 100%);
  }

  .gv-table--payments tr:hover {
    background: linear-gradient(180deg, #f3f9fd 0%, #eef6fb 100%);
  }

  .gv-table--payments td {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: auto;
    padding: 0;
    border: 0;
    background: transparent !important;
    white-space: normal;
    text-align: left;
    font-size: 12px;
    color: #2a4f66;
    min-width: 0;
  }

  .gv-table--payments td::before {
    content: attr(data-label);
    flex: 0 0 auto;
    color: var(--gainvest-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
  }

  .gv-table--payments td:nth-child(1) {
    grid-area: id;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 2px;
    padding: 6px 8px;
    border-radius: 8px;
    background: rgba(22, 79, 112, 0.04) !important;
  }

  .gv-table--payments td:nth-child(2) {
    grid-area: member;
    justify-content: flex-start;
    font-size: 14px;
    font-weight: 800;
    color: var(--gainvest-navy);
    letter-spacing: -0.02em;
  }

  .gv-table--payments td:nth-child(2)::before {
    display: none;
  }

  .gv-table--payments td:nth-child(3) {
    grid-area: amount;
    justify-content: flex-end;
    font-size: 15px;
    font-weight: 800;
  }

  .gv-table--payments td:nth-child(3)::before {
    display: none;
  }

  .gv-table--payments td:nth-child(4) {
    grid-area: method;
    justify-content: flex-start;
  }

  .gv-table--payments td:nth-child(4)::before {
    display: none;
  }

  .gv-table--payments td:nth-child(5) {
    grid-area: addr;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 2px;
    padding: 6px 8px;
    border-radius: 8px;
    background: rgba(22, 79, 112, 0.04) !important;
  }

  .gv-table--payments td:nth-child(6) {
    grid-area: tx;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 2px;
    padding: 6px 8px;
    border-radius: 8px;
    background: rgba(22, 79, 112, 0.04) !important;
  }

  .gv-table--payments td:nth-child(7) {
    grid-area: paid;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 6px 8px;
    border-radius: 8px;
    background: rgba(22, 79, 112, 0.04) !important;
  }

  .gv-table--payments td:nth-child(8) {
    grid-area: status;
    justify-content: flex-end;
  }

  .gv-table--payments td:nth-child(8)::before {
    display: none;
  }

  .gv-table--payments .gv-pay-addr,
  .gv-table--payments .gv-pay-tx {
    max-width: 100%;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 11px;
  }

  .gv-table--payments .gv-pay-when {
    white-space: normal;
    text-align: right;
    line-height: 1.3;
  }

  .gv-table--payments .gv-pay-method {
    max-width: 100%;
    white-space: normal;
    text-align: center;
    line-height: 1.2;
  }

  .gv-pagination {
    gap: 4px;
    margin-top: 14px;
  }

  .gv-pagination__page,
  .gv-pagination__btn {
    min-width: 32px;
    min-height: 32px;
    padding: 5px 8px;
  }

  .gv-pagination__meta {
    font-size: 11px;
  }
}

@media (max-width: 420px) {
  .gv-table--payments tr {
    padding: 10px;
    gap: 5px 6px;
  }

  .gv-table--payments td:nth-child(2),
  .gv-table--payments td:nth-child(3) {
    font-size: 13px;
  }

  .gv-pagination__page,
  .gv-pagination__btn {
    min-width: 30px;
    min-height: 30px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gv-pay-hero__live { animation: none; }
}

/* Auth pages (login / register) */
.gv-auth-section {
  padding-top: 28px;
}

.gv-auth {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 22px;
  align-items: stretch;
}

.gv-auth__aside {
  padding: 28px 26px;
  border-radius: 18px;
  border: 1px solid rgba(185, 210, 223, 0.75);
  background:
    radial-gradient(520px 240px at 0% 0%, rgba(0, 143, 232, 0.16), transparent 55%),
    radial-gradient(420px 200px at 100% 100%, rgba(22, 79, 112, 0.12), transparent 50%),
    linear-gradient(165deg, #0f3d5c 0%, #164f70 55%, #1a6388 100%);
  color: #fff;
  box-shadow: var(--gainvest-shadow-sm);
}

.gv-auth__eyebrow {
  margin: 0 0 10px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
}

.gv-auth__title {
  margin: 0;
  font-size: clamp(26px, 3.2vw, 34px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.15;
}

.gv-auth__lead {
  margin: 14px 0 0;
  max-width: 40ch;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.82);
}

.gv-auth__perks {
  list-style: none;
  margin: 26px 0 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.gv-auth__perk {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.gv-auth__perk-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.08) 100%);
  color: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.gv-auth__perk-icon .gv-mi {
  font-size: 22px;
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24;
  line-height: 1;
}

.gv-auth__perk-body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.gv-auth__perk-body strong {
  display: block;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: #fff;
  line-height: 1.25;
}

.gv-auth__perk-body span {
  display: block;
  font-size: 12px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.72);
}

.gv-auth__card {
  padding: 28px 26px;
  border-radius: 18px;
  border: 1px solid rgba(185, 210, 223, 0.75);
  background:
    radial-gradient(480px 180px at 100% 0%, rgba(0, 143, 232, 0.08), transparent 55%),
    linear-gradient(165deg, #ffffff 0%, #f3f8fc 100%);
  box-shadow: var(--gainvest-shadow-sm);
}

.gv-auth__card-head {
  margin-bottom: 18px;
}

.gv-auth__logo {
  display: block;
  height: 36px;
  width: auto;
  margin-bottom: 16px;
  object-fit: contain;
}

.gv-auth__card-title {
  margin: 0;
  font-size: 22px;
  font-weight: 800;
  color: var(--gainvest-navy);
  letter-spacing: -0.02em;
}

.gv-auth__card-sub {
  margin: 6px 0 0;
  font-size: 13px;
  color: var(--gainvest-muted);
  line-height: 1.45;
}

.gv-auth-form {
  display: grid;
  gap: 14px;
}

.gv-auth-input {
  position: relative;
  display: flex;
  align-items: center;
}

.gv-auth-input > .gv-mi {
  position: absolute;
  left: 12px;
  color: var(--gainvest-muted);
  font-size: 20px;
  pointer-events: none;
  font-variation-settings: "FILL" 0, "wght" 500, "GRAD" 0, "opsz" 20;
}

.gv-auth-input .gv-input {
  padding-left: 42px;
  padding-right: 44px;
  height: 46px;
}

.gv-auth-toggle {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  color: var(--gainvest-muted);
  width: 36px;
  height: 36px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.gv-auth-toggle:hover {
  background: #eef6fb;
  color: var(--gainvest-navy);
}

.gv-auth-toggle .gv-mi {
  font-size: 20px;
}

.gv-auth-form__row {
  display: flex;
  justify-content: flex-end;
  margin-top: -4px;
}

.gv-auth-form__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.gv-auth-hint {
  display: block;
  margin-top: 6px;
  font-size: 11px;
  font-weight: 600;
  color: var(--gainvest-muted);
  line-height: 1.4;
}

.gv-field small {
  font-weight: 600;
  color: var(--gainvest-muted);
  text-transform: none;
  letter-spacing: 0;
}

.gv-auth-link {
  font-size: 12px;
  font-weight: 700;
  color: var(--gainvest-blue);
  text-decoration: none;
}

.gv-auth-link:hover {
  color: var(--gainvest-blue-dark);
  text-decoration: underline;
}

.gv-auth-submit {
  width: 100%;
  justify-content: center;
  gap: 8px;
  margin-top: 4px;
  min-height: 46px;
}

.gv-auth-submit .gv-mi {
  font-size: 18px;
}

.gv-auth__footer {
  margin: 18px 0 0;
  padding-top: 16px;
  border-top: 1px solid var(--gainvest-border-light);
  text-align: center;
  font-size: 13px;
  color: var(--gainvest-muted);
}

.gv-auth__footer a {
  font-weight: 800;
  color: var(--gainvest-blue);
  text-decoration: none;
}

.gv-auth__footer a:hover {
  text-decoration: underline;
}

.gv-auth__footer--split {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  text-align: left;
}

.gv-auth-reset {
  margin-bottom: 14px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #eefaf1;
  border: 1px solid rgba(22, 163, 74, 0.22);
}

.gv-auth-reset__label {
  display: block;
  margin-bottom: 6px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #166534;
}

.gv-auth-reset__link {
  display: block;
  word-break: break-all;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  color: var(--gainvest-navy);
  text-decoration: none;
}

.gv-auth-reset__link:hover {
  color: var(--gainvest-blue);
  text-decoration: underline;
}

@media (max-width: 900px) {
  .gv-auth {
    grid-template-columns: 1fr;
  }
  .gv-auth__aside {
    display: none;
  }
  .gv-auth-form__grid {
    grid-template-columns: 1fr;
  }
  .gv-auth__footer--split {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}

/* Account security center */
.gv-sec {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.gv-sec-stat-date {
  font-size: 15px !important;
  letter-spacing: -0.02em;
}

.gv-sec-checklist .gv-invest-card__title {
  margin-bottom: 12px;
}

.gv-sec-checks {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.gv-sec-check {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(159, 194, 212, 0.5);
  background: #f8fbfd;
}

.gv-sec-check .gv-mi {
  font-size: 22px;
  color: var(--gainvest-muted);
  margin-top: 2px;
}

.gv-sec-check strong {
  display: block;
  font-size: 13px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-sec-check span {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  font-weight: 600;
  color: var(--gainvest-muted);
  line-height: 1.4;
}

.gv-sec-check.is-on {
  border-color: rgba(22, 163, 74, 0.28);
  background: linear-gradient(165deg, #f3fbf6 0%, #eef8f1 100%);
}

.gv-sec-check.is-on .gv-mi {
  color: #15803d;
}

.gv-sec-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.gv-sec-lead {
  margin: 0 0 14px;
  font-size: 13px;
  font-weight: 650;
  color: var(--gainvest-muted);
  line-height: 1.5;
}

.gv-sec-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.gv-sec-form--narrow {
  max-width: 360px;
}

.gv-sec-form--danger {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(159, 194, 212, 0.45);
}

.gv-sec-danger-title {
  margin: 0;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #b91c1c;
}

.gv-sec-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.gv-sec-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
}

.gv-sec-badge--on {
  background: #ecfdf5;
  color: #047857;
}

.gv-sec-badge--off {
  background: #f1f5f9;
  color: #64748b;
}

.gv-sec-totp-setup {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.gv-sec-totp-qr {
  width: 180px;
  height: 180px;
  border-radius: 12px;
  border: 1px solid rgba(159, 194, 212, 0.55);
  background: #fff;
  overflow: hidden;
}

.gv-sec-totp-qr img {
  display: block;
  width: 100%;
  height: 100%;
}

.gv-sec-totp-meta > p {
  margin: 0 0 8px;
  font-size: 13px;
  color: var(--gainvest-muted);
}

.gv-sec-secret {
  display: inline-block;
  margin-bottom: 14px;
  padding: 8px 12px;
  border-radius: 8px;
  background: #f3f9fd;
  border: 1px solid rgba(159, 194, 212, 0.55);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: var(--gainvest-navy);
  word-break: break-all;
}

.gv-sec-inline-cancel {
  margin-top: 8px;
}

.gv-sec-session {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.gv-sec-session > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px;
  border-radius: 10px;
  background: #f3f9fd;
  border: 1px solid rgba(159, 194, 212, 0.5);
}

.gv-sec-session__label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-sec-session strong {
  font-size: 13px;
  font-weight: 750;
  color: var(--gainvest-navy);
}

.gv-sec-note {
  margin: 12px 0 0;
  font-size: 12px;
  font-weight: 600;
  color: var(--gainvest-muted);
}

.gv-sec-status {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
}

.gv-sec-status--ok {
  background: #ecfdf5;
  color: #047857;
}

.gv-sec-status--fail {
  background: #fef2f2;
  color: #b91c1c;
}

.gv-sec-tips__list {
  margin: 0;
  padding-left: 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--gainvest-muted);
  line-height: 1.5;
}

.gv-sec-tips__list a {
  color: var(--gainvest-blue);
  font-weight: 750;
}

@media (max-width: 900px) {
  .gv-sec-checks,
  .gv-sec-grid,
  .gv-sec-session,
  .gv-sec-totp-setup {
    grid-template-columns: 1fr;
  }
}

/* Account profile settings */
.gv-set {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.gv-set-id,
.gv-set-name {
  font-size: 16px !important;
  letter-spacing: -0.02em;
}

.gv-set-identity {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.gv-set-identity__item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(159, 194, 212, 0.5);
  background: #f8fbfd;
}

.gv-set-identity__label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-set-identity__item strong {
  font-size: 14px;
  font-weight: 800;
  color: var(--gainvest-navy);
  word-break: break-word;
}

.gv-set-identity__hint {
  font-size: 11px;
  font-weight: 600;
  color: var(--gainvest-muted);
}

.gv-set-identity__hint a {
  color: var(--gainvest-blue);
  font-weight: 750;
  text-decoration: none;
}

.gv-set-identity__hint a:hover {
  text-decoration: underline;
}

.gv-set-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.gv-set-lead {
  margin: 0 0 14px;
  font-size: 13px;
  font-weight: 650;
  color: var(--gainvest-muted);
  line-height: 1.5;
}

.gv-set-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.gv-set-form__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.gv-set-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.gv-set-hint {
  margin: 0;
  font-size: 11px;
  font-weight: 600;
  color: var(--gainvest-muted);
  line-height: 1.45;
}

.gv-set-wallet-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.gv-set-wallet-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}

.gv-set-wallet-fields .gv-field {
  margin: 0;
}

.gv-set-wallet-meta > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #f3f9fd;
  border: 1px solid rgba(159, 194, 212, 0.5);
}

.gv-set-wallet-meta strong {
  font-size: 13px;
  font-weight: 750;
  color: var(--gainvest-navy);
  word-break: break-all;
}

.gv-set-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.gv-set-link {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 14px;
  border-radius: 12px;
  border: 1px solid rgba(159, 194, 212, 0.5);
  background: #fff;
  text-decoration: none;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.gv-set-link:hover {
  border-color: rgba(0, 143, 232, 0.35);
  background: #f3f9fd;
}

.gv-set-link .gv-mi {
  font-size: 22px;
  color: var(--gainvest-blue);
  margin-top: 1px;
}

.gv-set-link strong {
  display: block;
  font-size: 13px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-set-link em {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
  color: var(--gainvest-muted);
  line-height: 1.4;
}

@media (max-width: 980px) {
  .gv-set-identity,
  .gv-set-grid,
  .gv-set-form__row,
  .gv-set-wallet-meta,
  .gv-set-wallet-fields,
  .gv-set-links {
    grid-template-columns: 1fr;
  }
}

/* Account report / support tickets */
.gv-report {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.gv-report-lead {
  margin: 0 0 14px;
  font-size: 13px;
  font-weight: 650;
  color: var(--gainvest-muted);
  line-height: 1.5;
}

.gv-report-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.gv-report-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid rgba(159, 194, 212, 0.55);
  background: #f3f9fd;
  font-size: 12px;
  font-weight: 700;
  color: var(--gainvest-navy);
}

.gv-report-pill .gv-mi {
  font-size: 16px;
  color: var(--gainvest-blue);
}

.gv-report-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 16px;
}

.gv-report-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.gv-report-textarea {
  min-height: 140px;
  resize: vertical;
  line-height: 1.5;
  font-family: inherit;
}

.gv-report-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.gv-report-inbox {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.gv-report-inbox__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(159, 194, 212, 0.45);
  background: #f8fbfd;
  text-decoration: none;
  color: inherit;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.gv-report-inbox__item:hover {
  background: #eef6fb;
  border-color: rgba(0, 143, 232, 0.3);
}

.gv-report-inbox__item.is-unread {
  background: #fff;
  border-color: rgba(0, 143, 232, 0.28);
  box-shadow: 0 4px 14px rgba(0, 143, 232, 0.08);
}

.gv-report-inbox__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  flex-shrink: 0;
  color: #fff;
  background: linear-gradient(145deg, #34d399 0%, #0f4c75 100%);
}

.gv-report-inbox__avatar .gv-mi {
  font-size: 22px;
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;
}

.gv-report-inbox__body {
  min-width: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.gv-report-inbox__top {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.gv-report-inbox__top strong {
  font-size: 14px;
  font-weight: 800;
  color: var(--gainvest-navy);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.gv-report-inbox__top time {
  font-size: 11px;
  font-weight: 700;
  color: var(--gainvest-muted);
  white-space: nowrap;
}

.gv-report-inbox__preview {
  font-size: 13px;
  font-weight: 600;
  color: #64748b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.gv-report-inbox__tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 2px;
}

.gv-report-inbox__tags em {
  font-style: normal;
  font-size: 11px;
  font-weight: 700;
  color: #7a929f;
}

.gv-report-inbox__go {
  color: #94a3b8;
  font-size: 22px;
}

.gv-report-topics {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.gv-report-topic {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px;
  border-radius: 12px;
  border: 1px solid rgba(159, 194, 212, 0.5);
  background: #f8fbfd;
  text-decoration: none;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.gv-report-topic:hover {
  border-color: rgba(0, 143, 232, 0.35);
  background: #eef6fb;
}

.gv-report-topic .gv-mi {
  font-size: 20px;
  color: var(--gainvest-blue);
  margin-top: 1px;
}

.gv-report-topic strong {
  display: block;
  font-size: 13px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-report-topic em {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
  color: var(--gainvest-muted);
}

.gv-report-status {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  background: #f1f5f9;
  color: #475569;
}

.gv-report-status--open,
.gv-report-status--customer_reply {
  background: #e0f2fe;
  color: #0369a1;
}

.gv-report-status--answered,
.gv-report-status--in_progress {
  background: #fef3c7;
  color: #b45309;
}

.gv-report-status--resolved,
.gv-report-status--closed {
  background: #ecfdf5;
  color: #047857;
}

.gv-report-ref {
  margin: 0 0 4px;
  font-size: 12px;
  font-weight: 700;
  color: var(--gainvest-muted);
}

.gv-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.gv-report-chat {
  display: flex;
  flex-direction: column;
  height: calc(100dvh - 168px);
  max-height: calc(100dvh - 168px);
  min-height: 420px;
  overflow: hidden;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(159, 194, 212, 0.5);
  box-shadow: 0 8px 28px rgba(12, 52, 78, 0.06);
}

.gv-report-chat__head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(159, 194, 212, 0.4);
  background: linear-gradient(180deg, #f8fbfe 0%, #ffffff 100%);
}

.gv-report-chat__back {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  color: var(--gainvest-navy);
  text-decoration: none;
  background: #f1f5f9;
  border: 1px solid rgba(159, 194, 212, 0.45);
}

.gv-report-chat__back:hover {
  background: #e8eef4;
}

.gv-report-chat__back .gv-mi {
  font-size: 16px;
}

.gv-report-chat__identity {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex: 1;
}

.gv-report-chat__avatar,
.gv-report-msg__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(145deg, #38bdf8 0%, #008fe8 100%);
}

.gv-report-chat__avatar .gv-mi,
.gv-report-msg__avatar .gv-mi {
  font-size: 20px;
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;
}

.gv-report-chat__avatar--support {
  background: linear-gradient(145deg, #34d399 0%, #0f4c75 100%);
}

.gv-report-chat__titles {
  min-width: 0;
}

.gv-report-chat__titles h2 {
  margin: 0;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--gainvest-navy);
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.gv-report-chat__titles p {
  margin: 3px 0 0;
  font-size: 12px;
  font-weight: 650;
  color: var(--gainvest-muted);
}

.gv-report-chat__head .gv-report-status {
  flex-shrink: 0;
}

.gv-report-chat__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 16px;
  background: #f6fafd;
  border-bottom: 1px solid rgba(159, 194, 212, 0.35);
}

.gv-report-chat__meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(159, 194, 212, 0.45);
  font-size: 11px;
  font-weight: 700;
  color: #4a6574;
}

.gv-report-chat__meta .gv-mi {
  font-size: 15px;
  color: var(--gainvest-blue);
}

.gv-report-chat__head,
.gv-report-chat__meta,
.gv-report-composer,
.gv-report-closed {
  flex-shrink: 0;
}

.gv-report-thread {
  display: flex;
  flex-direction: column;
  gap: 14px;
  flex: 1 1 auto;
  min-height: 0;
  padding: 18px 16px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  background:
    radial-gradient(420px 180px at 0% 0%, rgba(0, 143, 232, 0.05), transparent 60%),
    radial-gradient(380px 160px at 100% 100%, rgba(16, 185, 129, 0.05), transparent 60%),
    #eef4f8;
}

.gv-report-empty {
  margin: auto;
  text-align: center;
  color: var(--gainvest-muted);
}

.gv-report-empty .gv-mi {
  font-size: 36px;
  color: #94a3b8;
}

.gv-report-empty p {
  margin: 8px 0 0;
  font-size: 13px;
  font-weight: 650;
}

.gv-report-msg {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  max-width: min(78%, 560px);
}

.gv-report-msg--you {
  align-self: flex-end;
  flex-direction: row-reverse;
}

.gv-report-msg--staff {
  align-self: flex-start;
}

.gv-report-msg--you .gv-report-msg__avatar {
  background: linear-gradient(145deg, #38bdf8 0%, #0f4c75 100%);
}

.gv-report-msg--staff .gv-report-msg__avatar {
  background: linear-gradient(145deg, #34d399 0%, #059669 100%);
}

.gv-report-msg__bubble {
  min-width: 0;
  padding: 10px 14px 12px;
  border-radius: 18px;
  box-shadow: 0 4px 14px rgba(12, 52, 78, 0.06);
}

.gv-report-msg--you .gv-report-msg__bubble {
  background: linear-gradient(165deg, #1d9fe8 0%, #0f4c75 100%);
  color: #fff;
  border-bottom-right-radius: 6px;
}

.gv-report-msg--staff .gv-report-msg__bubble {
  background: #fff;
  border: 1px solid rgba(159, 194, 212, 0.45);
  border-bottom-left-radius: 6px;
}

.gv-report-msg header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 4px;
  font-size: 11px;
}

.gv-report-msg header strong {
  font-weight: 800;
}

.gv-report-msg--you header strong,
.gv-report-msg--you header time {
  color: rgba(255, 255, 255, 0.82);
}

.gv-report-msg--staff header strong {
  color: var(--gainvest-navy);
}

.gv-report-msg--staff header time {
  font-weight: 600;
  color: var(--gainvest-muted);
}

.gv-report-msg__body {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.55;
  word-break: break-word;
}

.gv-report-msg--you .gv-report-msg__body {
  color: #fff;
}

.gv-report-msg--staff .gv-report-msg__body {
  color: var(--gainvest-text);
}

.gv-report-composer {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  padding: 12px 14px 14px;
  border-top: 1px solid rgba(159, 194, 212, 0.4);
  background: #fff;
}

.gv-report-composer__field {
  flex: 1;
  min-width: 0;
  margin: 0;
}

.gv-report-composer .gv-report-textarea {
  min-height: 48px;
  max-height: 140px;
  padding: 12px 14px;
  border-radius: 14px;
  background: #f4f8fb;
  resize: none;
}

.gv-report-composer__send {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-shrink: 0;
  min-height: 44px;
  padding: 0 16px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(180deg, #19a8f0 0%, var(--gainvest-blue) 100%);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 6px 14px rgba(0, 143, 232, 0.22);
}

.gv-report-composer__send:hover {
  background: var(--gainvest-blue-dark);
}

.gv-report-composer__send .gv-mi {
  font-size: 18px;
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;
}

.gv-report-closed {
  margin: 0;
  padding: 14px 16px;
  border-top: 1px solid rgba(159, 194, 212, 0.4);
  font-size: 13px;
  font-weight: 650;
  color: var(--gainvest-muted);
  background: #f8fbfd;
}

.gv-report-closed a {
  color: var(--gainvest-blue);
  font-weight: 750;
}

@media (max-width: 640px) {
  .gv-report-chat {
    height: calc(100dvh - 200px);
    max-height: calc(100dvh - 200px);
    min-height: 320px;
    border-radius: 14px;
    margin: 0;
    position: relative;
    z-index: 1;
  }

  .gv-report-chat__head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas:
      "back status new"
      "identity identity identity";
    align-items: center;
    gap: 8px 6px;
    padding: 10px 10px 12px;
  }

  .gv-report-chat__back {
    grid-area: back;
    order: unset;
    width: 36px;
    height: 36px;
    padding: 0;
    justify-content: center;
    border-radius: 10px;
  }

  .gv-report-chat__back-label {
    display: none;
  }

  .gv-report-chat__identity {
    grid-area: identity;
    gap: 8px;
  }

  .gv-report-chat__avatar {
    width: 36px;
    height: 36px;
    border-radius: 10px;
  }

  .gv-report-chat__titles h2 {
    font-size: 14px;
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .gv-report-chat__titles p {
    font-size: 11px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .gv-report-chat__head .gv-report-status {
    grid-area: status;
    justify-self: start;
  }

  .gv-report-chat__new {
    grid-area: new;
    width: 36px;
    min-width: 36px;
    height: 36px;
    padding: 0 !important;
    justify-content: center;
    border-radius: 10px;
  }

  .gv-report-chat__new-label {
    display: none;
  }

  .gv-report-chat__meta {
    gap: 6px;
    padding: 8px 10px;
  }

  .gv-report-chat__meta span {
    padding: 4px 8px;
    font-size: 10px;
  }

  .gv-report-thread {
    gap: 10px;
    padding: 12px 10px;
  }

  .gv-report-msg {
    max-width: 94%;
    gap: 6px;
  }

  .gv-report-msg__avatar {
    width: 28px;
    height: 28px;
    border-radius: 8px;
  }

  .gv-report-msg__avatar .gv-mi {
    font-size: 16px;
  }

  .gv-report-msg__bubble {
    padding: 9px 12px 10px;
    border-radius: 14px;
  }

  .gv-report-msg header {
    flex-wrap: wrap;
    gap: 2px 8px;
    margin-bottom: 3px;
  }

  .gv-report-msg__body {
    font-size: 13px;
    line-height: 1.5;
  }

  .gv-report-composer {
    position: sticky;
    bottom: 0;
    z-index: 3;
    gap: 8px;
    padding: 10px 10px max(10px, env(safe-area-inset-bottom, 0px));
    align-items: flex-end;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbfe 100%);
    box-shadow: 0 -6px 18px rgba(12, 52, 78, 0.08);
  }

  .gv-report-composer__field {
    flex: 1 1 auto;
    min-width: 0;
  }

  .gv-report-composer .gv-report-textarea {
    display: block;
    width: 100%;
    min-height: 44px;
    max-height: 120px;
    padding: 11px 12px;
    border-radius: 14px;
    font-size: 16px; /* avoid iOS zoom */
    line-height: 1.35;
    box-sizing: border-box;
  }

  .gv-report-composer__send-label {
    display: none;
  }

  .gv-report-composer__send {
    width: 48px;
    min-width: 48px;
    height: 48px;
    min-height: 48px;
    padding: 0;
    border-radius: 14px;
    align-self: flex-end;
    box-shadow: 0 4px 12px rgba(0, 143, 232, 0.28);
  }

  .gv-report-composer__send .gv-mi {
    font-size: 22px;
    margin: 0;
    line-height: 1;
  }

  .gv-report-closed {
    padding: 12px 12px max(12px, env(safe-area-inset-bottom, 0px));
    font-size: 12px;
    line-height: 1.45;
  }
}

@media (max-width: 980px) {
  .gv-report-grid {
    grid-template-columns: 1fr;
  }
}

/* Account overview dashboard */
.gv-ov {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.gv-ov .gv-dash-grid {
  margin-bottom: 0;
}

.gv-ov-balances {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.gv-ov-bal {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
  padding: 14px 14px 12px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(159, 194, 212, 0.45);
  box-shadow: 0 4px 18px rgba(12, 52, 78, 0.05);
}

.gv-ov-bal__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.gv-ov-bal__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 12px;
}

.gv-ov-bal__icon .gv-mi {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  font-size: 20px;
  line-height: 1;
  vertical-align: unset;
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;
}

.gv-ov-bal--purchase {
  background:
    radial-gradient(120px 80px at 100% 0%, rgba(0, 143, 232, 0.10), transparent 70%),
    #fff;
  border-color: rgba(0, 143, 232, 0.16);
}

.gv-ov-bal--purchase .gv-ov-bal__icon {
  color: #008fe8;
  background: rgba(0, 143, 232, 0.12);
}

.gv-ov-bal--earnings {
  background:
    radial-gradient(120px 80px at 100% 0%, rgba(16, 185, 129, 0.12), transparent 70%),
    #fff;
  border-color: rgba(16, 185, 129, 0.16);
}

.gv-ov-bal--earnings .gv-ov-bal__icon {
  color: #059669;
  background: rgba(16, 185, 129, 0.14);
}

.gv-ov-bal--earnings .gv-ov-bal__copy strong {
  color: #047857;
}

.gv-ov-bal--invested {
  background:
    radial-gradient(120px 80px at 100% 0%, rgba(15, 76, 117, 0.10), transparent 70%),
    #fff;
  border-color: rgba(15, 76, 117, 0.14);
}

.gv-ov-bal--invested .gv-ov-bal__icon {
  color: #0f4c75;
  background: rgba(15, 76, 117, 0.1);
}

.gv-ov-bal__copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.gv-ov-bal__copy em {
  display: block;
  font-style: normal;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #7a929f;
  line-height: 1.2;
}

.gv-ov-bal__copy strong {
  display: block;
  font-size: clamp(20px, 2.2vw, 24px);
  font-weight: 800;
  letter-spacing: -0.04em;
  color: var(--gainvest-navy);
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.gv-ov-bal__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.01em;
  text-decoration: none !important;
  border: 1px solid transparent;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.gv-ov-bal__btn .gv-mi {
  font-size: 16px;
  line-height: 1;
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;
}

.gv-ov-bal__btn:hover {
  transform: translateY(-1px);
}

.gv-ov-bal--purchase .gv-ov-bal__btn {
  color: #0369a1;
  background: rgba(0, 143, 232, 0.1);
  border-color: rgba(0, 143, 232, 0.14);
}

.gv-ov-bal--purchase .gv-ov-bal__btn:hover {
  color: #fff;
  background: #008fe8;
  border-color: #008fe8;
}

.gv-ov-bal--earnings .gv-ov-bal__btn {
  color: #047857;
  background: rgba(16, 185, 129, 0.12);
  border-color: rgba(16, 185, 129, 0.16);
}

.gv-ov-bal--earnings .gv-ov-bal__btn:hover {
  color: #fff;
  background: #059669;
  border-color: #059669;
}

.gv-ov-bal--invested .gv-ov-bal__btn {
  color: #0f4c75;
  background: rgba(15, 76, 117, 0.08);
  border-color: rgba(15, 76, 117, 0.12);
}

.gv-ov-bal--invested .gv-ov-bal__btn:hover {
  color: #fff;
  background: #0f4c75;
  border-color: #0f4c75;
}

.gv-ov-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid rgba(159, 194, 212, 0.55);
  background:
    radial-gradient(420px 160px at 0% 0%, rgba(0, 143, 232, 0.10), transparent 60%),
    linear-gradient(165deg, #ffffff 0%, #f3f8fc 100%);
}

.gv-ov-head__eyebrow {
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gainvest-blue);
}

.gv-ov-head__title {
  margin: 0;
  font-size: clamp(22px, 2.6vw, 28px);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--gainvest-navy);
  line-height: 1.15;
}

.gv-ov-head__lead {
  margin: 8px 0 0;
  max-width: 52ch;
  font-size: 13px;
  font-weight: 650;
  color: var(--gainvest-muted);
  line-height: 1.5;
}

.gv-ov-head__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.gv-ov-meta-chip {
  display: flex;
  gap: 8px;
  align-items: center;
  min-width: 140px;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(159, 194, 212, 0.55);
}

.gv-ov-meta-chip .gv-mi {
  font-size: 18px;
  color: var(--gainvest-blue);
}

.gv-ov-meta-chip em {
  display: block;
  font-style: normal;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-ov-meta-chip strong {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-ov-tour-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 7px 10px 7px 7px;
  border-radius: 12px;
  text-decoration: none;
  color: #fff;
  background: linear-gradient(135deg, #7c3aed 0%, #2563eb 58%, #0891b2 100%);
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.28);
  transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.gv-ov-tour-chip:hover,
.gv-ov-tour-chip:focus-visible {
  transform: translateY(-1px);
  filter: brightness(1.06);
  box-shadow: 0 12px 22px rgba(124, 58, 237, 0.34);
  outline: none;
}

.gv-ov-tour-chip__icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.18);
  flex-shrink: 0;
}

.gv-ov-tour-chip__icon::after {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 11px;
  border: 1.5px solid rgba(255, 255, 255, 0.55);
  animation: gv-ov-tour-pulse 1.8s ease-out infinite;
  pointer-events: none;
}

.gv-ov-tour-chip__icon .gv-mi {
  font-size: 16px;
  color: #fff;
  font-variation-settings: "FILL" 1, "wght" 600, "GRAD" 0, "opsz" 24;
}

.gv-ov-tour-chip__copy em {
  display: block;
  font-style: normal;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.82);
}

.gv-ov-tour-chip__copy strong {
  display: block;
  margin-top: 1px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #fff;
  white-space: nowrap;
}

.gv-ov-tour-chip__go {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.9);
  margin-left: 2px;
}

@keyframes gv-ov-tour-pulse {
  0% { opacity: 0.7; transform: scale(0.92); }
  70% { opacity: 0; transform: scale(1.18); }
  100% { opacity: 0; transform: scale(1.18); }
}

@media (prefers-reduced-motion: reduce) {
  .gv-ov-tour-chip__icon::after {
    animation: none;
  }
}

.gv-ov-hero-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}

@media (min-width: 992px) {
  .gv-ov-hero-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.gv-ov-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(110px, 150px);
  align-items: center;
  gap: 12px;
  min-height: 148px;
  padding: 16px 18px;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(159, 194, 212, 0.45);
  box-shadow: 0 6px 20px rgba(15, 61, 92, 0.06);
}

.gv-ov-hero--invest {
  background:
    radial-gradient(360px 160px at 100% 0%, rgba(0, 143, 232, 0.1), transparent 62%),
    linear-gradient(135deg, #f3f9fd 0%, #eef6fb 52%, #ffffff 100%);
  border-color: rgba(0, 143, 232, 0.2);
}

.gv-ov-hero--free {
  background:
    radial-gradient(360px 160px at 100% 0%, rgba(22, 163, 74, 0.1), transparent 62%),
    linear-gradient(135deg, #f3fbf6 0%, #ecfdf3 52%, #ffffff 100%);
  border-color: rgba(22, 163, 74, 0.2);
}

.gv-ov-hero__copy {
  position: relative;
  z-index: 2;
  min-width: 0;
}

.gv-ov-hero__eyebrow {
  margin: 0 0 4px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.gv-ov-hero--invest .gv-ov-hero__eyebrow {
  color: var(--gainvest-blue);
}

.gv-ov-hero--free .gv-ov-hero__eyebrow {
  color: #15803d;
}

.gv-ov-hero__title {
  margin: 0;
  font-size: clamp(15px, 1.8vw, 18px);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.25;
  color: var(--gainvest-navy);
}

.gv-ov-hero__lead {
  margin: 6px 0 0;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.45;
  color: var(--gainvest-muted);
}

.gv-ov-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.gv-ov-hero__actions .gv-mi {
  font-size: 16px;
}

.gv-ov-hero--free .gv-ov-hero__actions .gv-btn--primary {
  background: linear-gradient(180deg, #34d399 0%, #16a34a 100%);
  border-color: #15803d;
  box-shadow: 0 4px 12px rgba(22, 163, 74, 0.22);
}

.gv-ov-hero--free .gv-ov-hero__actions .gv-btn--primary:hover {
  background: #15803d;
}

.gv-ov-hero--free .gv-ov-hero__actions .gv-btn--outline {
  background: #fff;
  border-color: rgba(22, 163, 74, 0.28);
  color: #15803d !important;
}

.gv-ov-hero--free .gv-ov-hero__actions .gv-btn--outline:hover {
  background: rgba(22, 163, 74, 0.08);
  border-color: rgba(22, 163, 74, 0.4);
  color: #14532d !important;
}

.gv-ov-hero__visual {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: 100%;
  min-height: 120px;
  padding: 0;
}

.gv-ov-hero__visual img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 140px;
  display: block;
  object-fit: contain;
  object-position: center center;
  filter: drop-shadow(0 10px 20px rgba(15, 61, 92, 0.12));
}

.gv-ov-hero--free .gv-ov-hero__visual img {
  max-height: 150px;
}

.gv-ov-period {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.gv-ov-period__item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(159, 194, 212, 0.5);
  background: #f8fbfd;
}

.gv-ov-period__item span {
  font-size: 11px;
  font-weight: 750;
  color: var(--gainvest-muted);
}

.gv-ov-period__item strong {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--gainvest-blue);
}

.gv-ov-period__item--green strong { color: #15803d; }
.gv-ov-period__item--orange strong { color: #c2410c; }
.gv-ov-period__item--navy strong { color: var(--gainvest-navy); }

.gv-ov-charts {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(260px, 0.9fr);
  gap: 16px;
}

.gv-ov-chart-sub {
  margin: 2px 0 0;
  font-size: 12px;
  font-weight: 650;
  color: var(--gainvest-muted);
}

.gv-ov-chart-wrap {
  position: relative;
  height: 280px;
  margin-top: 8px;
}

.gv-ov-donut-wrap {
  position: relative;
  height: 210px;
  margin: 8px auto 0;
  max-width: 240px;
}

.gv-ov-chart-empty {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 24px;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  color: var(--gainvest-muted);
  pointer-events: none;
}

.gv-ov-legend {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.gv-ov-legend li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 700;
  color: var(--gainvest-navy);
}

.gv-ov-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--dot, #94a3b8);
  flex: 0 0 auto;
}

.gv-ov-bottom {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.gv-ov-inv-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.gv-ov-inv {
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(159, 194, 212, 0.5);
  background: linear-gradient(180deg, #fbfdff 0%, #f4f9fc 100%);
}

.gv-ov-inv__top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 10px;
}

.gv-ov-inv__heading {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.gv-ov-inv__heading strong {
  font-size: 13px;
  font-weight: 800;
  color: var(--gainvest-navy);
  line-height: 1.3;
}

.gv-ov-inv__heading .gv-mono {
  font-size: 11px;
  font-weight: 650;
  color: var(--gainvest-muted);
  word-break: break-all;
}

.gv-ov-inv__pct {
  flex-shrink: 0;
  font-size: 14px;
  font-weight: 800;
  color: #15803d;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.gv-ov-inv__metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}

.gv-ov-inv__metrics em {
  display: block;
  font-style: normal;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-ov-inv__metrics b {
  display: block;
  margin-top: 2px;
  font-size: 13px;
  font-weight: 800;
  color: var(--gainvest-navy);
  font-variant-numeric: tabular-nums;
}

.gv-ov-inv__metrics b small {
  margin-left: 1px;
  font-size: 11px;
  font-weight: 700;
  color: var(--gainvest-muted);
}

.gv-ov-inv__bar {
  height: 6px;
  border-radius: 999px;
  background: rgba(159, 194, 212, 0.45);
  overflow: hidden;
}

.gv-ov-inv__bar > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #008fe8, #16a34a);
}

.gv-ov-tx-type {
  display: inline-flex;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  background: #f1f5f9;
  color: #475569;
}

.gv-ov-tx-type--deposit { background: #e0f2fe; color: #0369a1; }
.gv-ov-tx-type--earning,
.gv-ov-tx-type--referral { background: #ecfdf5; color: #047857; }
.gv-ov-tx-type--withdrawal { background: #ffedd5; color: #c2410c; }
.gv-ov-tx-type--investment { background: #eef2ff; color: #4338ca; }

.gv-ov-tx-desc {
  display: inline;
  margin-top: 0;
  font-size: 11px;
  font-weight: 600;
  color: var(--gainvest-muted);
}

.gv-ov-tx-desc::before {
  content: "·";
  margin: 0 0.35em;
  color: rgba(107, 124, 143, 0.7);
}

.gv-ov-activity {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-height: 280px;
  overflow-y: auto;
  padding-right: 2px;
}

.gv-ov-activity__row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px 10px;
  min-height: 36px;
  padding: 6px 10px;
  border: 1px solid rgba(159, 194, 212, 0.42);
  border-radius: 8px;
  background: #f8fbfe;
}

.gv-ov-activity__text {
  min-width: 0;
  display: flex;
  align-items: baseline;
  flex-wrap: nowrap;
  gap: 0;
  overflow: hidden;
}

.gv-ov-activity__text strong {
  display: inline;
  flex: 0 1 auto;
  font-size: 12px;
  font-weight: 800;
  color: var(--gainvest-navy);
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.gv-ov-activity__text .gv-ov-tx-desc {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.gv-ov-activity__aside {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  text-align: right;
  white-space: nowrap;
}

.gv-ov-activity__amt {
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
}

.gv-ov-activity__amt.is-credit { color: #15803d; }
.gv-ov-activity__amt.is-debit { color: #c2410c; }

.gv-ov-activity__when {
  font-size: 10px;
  font-weight: 650;
  color: var(--gainvest-muted);
  white-space: nowrap;
}

.gv-ov-activity-card .gv-ov-tx-type {
  padding: 2px 7px;
  font-size: 10px;
}

.gv-tx-table__amount.is-credit { color: #15803d; }
.gv-tx-table__amount.is-debit { color: #c2410c; }

.gv-tx-empty .gv-btn {
  margin-top: 10px;
}

/* Overview - member feed corner preview */
.gv-ov-feed-corner {
  position: fixed;
  bottom: 22px;
  right: 22px;
  z-index: 35;
  width: min(320px, calc(100vw - 40px));
}

.gv-ov-feed-corner.is-minimized {
  width: auto;
}

.gv-ov-feed-corner__fab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 46px;
  padding: 0 15px 0 10px;
  border-radius: 14px;
  border: 2px solid #006399;
  background: var(--gainvest-blue, #008fe8);
  box-shadow: none;
  color: #fff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: background 0.18s ease, border-color 0.18s ease;
}

.gv-ov-feed-corner__fab:hover {
  background: var(--gainvest-blue-dark, #0075bd);
  border-color: #005580;
}

.gv-ov-feed-corner__fab:active {
  background: #006ba8;
}

.gv-ov-feed-corner__fab-icon {
  width: 30px;
  height: 30px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: rgba(0, 0, 0, 0.14);
  color: #fff;
}

.gv-ov-feed-corner__fab-icon .gv-mi {
  font-size: 18px;
}

.gv-ov-feed-corner__fab-arrow {
  width: 24px;
  height: 24px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
}

.gv-ov-feed-corner__fab-arrow .gv-mi {
  font-size: 15px;
}

.gv-ov-feed-corner:not(.is-minimized) .gv-ov-feed-corner__fab {
  display: none;
}

.gv-ov-feed-corner__panel {
  border-radius: 18px;
  border: 1px solid rgba(159, 194, 212, 0.55);
  background:
    radial-gradient(260px 140px at 100% 0%, rgba(0, 143, 232, 0.11), transparent 72%),
    linear-gradient(165deg, #ffffff 0%, #f3f8fc 100%);
  box-shadow:
    0 18px 40px rgba(15, 61, 92, 0.14),
    0 4px 10px rgba(15, 61, 92, 0.06);
  overflow: hidden;
  animation: gvOvFeedCornerIn 0.22s ease;
}

@keyframes gvOvFeedCornerIn {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.gv-ov-feed-corner.is-minimized .gv-ov-feed-corner__panel {
  display: none;
}

.gv-ov-feed-corner__head {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  padding: 14px 14px 10px;
}

.gv-ov-feed-corner__minimize {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  border: 1px solid rgba(159, 194, 212, 0.55);
  background: rgba(255, 255, 255, 0.85);
  color: var(--gainvest-muted);
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.gv-ov-feed-corner__minimize .gv-mi {
  font-size: 20px;
}

.gv-ov-feed-corner__minimize:hover {
  background: #fff;
  color: var(--gainvest-blue);
  border-color: rgba(0, 143, 232, 0.28);
}

.gv-ov-feed-corner__brand {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.gv-ov-feed-corner__icon {
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(0, 143, 232, 0.16), rgba(56, 189, 248, 0.1));
  color: var(--gainvest-blue);
}

.gv-ov-feed-corner__icon .gv-mi {
  font-size: 20px;
}

.gv-ov-feed-corner__title {
  margin: 0;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--gainvest-navy);
  line-height: 1.2;
}

.gv-ov-feed-corner__sub {
  margin: 2px 0 0;
  font-size: 11px;
  font-weight: 650;
  color: var(--gainvest-muted);
  line-height: 1.35;
}

.gv-ov-feed-corner__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 8px 16px 14px;
  text-align: center;
}

.gv-ov-feed-corner__empty .gv-mi {
  font-size: 28px;
  color: rgba(0, 143, 232, 0.45);
}

.gv-ov-feed-corner__empty p {
  margin: 0;
  max-width: 26ch;
  font-size: 12px;
  font-weight: 650;
  color: var(--gainvest-muted);
  line-height: 1.45;
}

.gv-ov-feed-corner__scroll {
  max-height: min(420px, calc(100vh - 240px));
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0 4px 4px;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 143, 232, 0.35) transparent;
}

.gv-ov-feed-corner__scroll::-webkit-scrollbar {
  width: 6px;
}

.gv-ov-feed-corner__scroll::-webkit-scrollbar-thumb {
  background: rgba(0, 143, 232, 0.35);
  border-radius: 999px;
}

.gv-ov-feed-corner__list {
  list-style: none;
  margin: 0;
  padding: 0 4px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.gv-ov-feed-corner__load {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 8px 6px;
  color: var(--gainvest-muted);
  font-size: 11px;
  font-weight: 650;
}

.gv-ov-feed-corner__load[hidden] {
  display: none !important;
}

.gv-ov-feed-corner__spinner {
  width: 18px;
  height: 18px;
  border: 2px solid rgba(0, 143, 232, 0.18);
  border-top-color: var(--gainvest-blue);
  border-radius: 50%;
  animation: gvOvFeedSpin 0.7s linear infinite;
}

@keyframes gvOvFeedSpin {
  to {
    transform: rotate(360deg);
  }
}

.gv-ov-feed-corner__end {
  margin: 0;
  padding: 6px 12px 8px;
  text-align: center;
  font-size: 11px;
  font-weight: 650;
  color: var(--gainvest-muted);
}

.gv-ov-feed-corner__end[hidden] {
  display: none !important;
}

.gv-ov-feed-corner__item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px;
  border-radius: 12px;
  border: 1px solid rgba(159, 194, 212, 0.35);
  background: rgba(255, 255, 255, 0.78);
  text-decoration: none;
  color: inherit;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.gv-ov-feed-corner__item:hover {
  background: #fff;
  border-color: rgba(0, 143, 232, 0.28);
  transform: translateY(-1px);
}

.gv-ov-feed-corner__avatar {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 800;
  color: var(--gainvest-blue);
  background: rgba(0, 143, 232, 0.12);
}

.gv-ov-feed-corner__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.gv-ov-feed-corner__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  font-size: 11px;
  color: var(--gainvest-muted);
}

.gv-ov-feed-corner__meta strong {
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-ov-feed-corner__dot {
  opacity: 0.55;
}

.gv-ov-feed-corner__type {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  width: fit-content;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #0369a1;
  background: rgba(0, 143, 232, 0.1);
}

.gv-ov-feed-corner__type .gv-mi {
  font-size: 12px;
}

.gv-ov-feed-corner__text {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.45;
  color: #334155;
}

.gv-ov-feed-corner__engage {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin-top: 1px;
  font-size: 10px;
  font-weight: 800;
  color: #64748b;
}

.gv-ov-feed-corner__engage .gv-mi {
  font-size: 13px;
  color: #ef4444;
}

.gv-ov-feed-corner__thumb {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(159, 194, 212, 0.45);
  background: #e2e8f0;
}

.gv-ov-feed-corner__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.gv-ov-feed-corner__foot {
  padding: 10px 12px 12px;
}

.gv-ov-feed-corner__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  height: 36px;
  border-radius: 999px;
  border: 1px solid rgba(0, 143, 232, 0.18);
  background: var(--gainvest-blue);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.18s ease, border-color 0.18s ease;
}

.gv-ov-feed-corner__cta .gv-mi {
  font-size: 17px;
}

.gv-ov-feed-corner__cta:hover {
  background: var(--gainvest-blue-dark);
  color: #fff;
}

@media (max-width: 560px) {
  .gv-ov-feed-corner {
    bottom: 16px;
    right: 16px;
  }

  .gv-ov-feed-corner__fab-label {
    display: none;
  }

  .gv-ov-feed-corner__fab {
    position: relative;
    width: auto;
    height: 44px;
    padding: 0 12px 0 10px;
    justify-content: center;
    gap: 6px;
  }

  .gv-ov-feed-corner__fab-arrow {
    width: 22px;
    height: 22px;
  }
}

@media (max-width: 980px) {
  .gv-ov-head,
  .gv-ov-charts,
  .gv-ov-bottom {
    grid-template-columns: 1fr;
    flex-direction: column;
  }
  .gv-ov-head {
    display: flex;
  }
  .gv-ov-head__meta {
    justify-content: flex-start;
  }
  .gv-ov-tour-chip {
    flex: 1 1 160px;
    justify-content: flex-start;
  }
  .gv-ov-hero-row {
    gap: 12px;
  }
  .gv-ov-hero {
    grid-template-columns: minmax(0, 1fr) minmax(96px, 130px);
    gap: 10px;
    padding: 14px;
  }
  .gv-ov-hero__visual {
    min-height: 100px;
  }
  .gv-ov-hero__visual img {
    max-height: 118px;
  }
  .gv-ov-period {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .gv-ov-chart-wrap {
    height: 240px;
  }
}

@media (max-width: 560px) {
  .gv-ov-period,
  .gv-ov-balances {
    grid-template-columns: 1fr;
  }
  .gv-ov-hero-row {
    gap: 10px;
  }
  .gv-ov-hero {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 14px 12px;
  }
  .gv-ov-hero__visual {
    order: -1;
    min-height: 0;
    padding: 4px 0 0;
  }
  .gv-ov-hero__visual img {
    max-height: 120px;
    margin: 0 auto;
  }
}

/* Investments page charts */
.gv-invs-charts {
  margin-top: 4px;
}

.gv-ov-legend em {
  font-style: normal;
  font-weight: 650;
  color: var(--gainvest-muted);
}

.gv-invs-perf-card .gv-ov-chart-sub {
  margin-top: 4px;
}

.gv-invs-perf-grid {
  display: grid;
  grid-template-columns: minmax(220px, 0.9fr) minmax(0, 1.4fr);
  gap: 16px;
  align-items: center;
  margin-top: 8px;
}

.gv-invs-perf-chart {
  height: 220px;
  max-width: 260px;
  margin: 0 auto;
}

.gv-invs-perf-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.gv-invs-perf-stats article {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(159, 194, 212, 0.5);
  background: #f8fbfd;
}

.gv-invs-perf-stats span {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-invs-perf-stats strong {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--gainvest-navy);
}

@media (max-width: 900px) {
  .gv-invs-perf-grid {
    grid-template-columns: 1fr;
  }
  .gv-invs-perf-stats {
    grid-template-columns: 1fr 1fr;
  }
}

/* ── Admin console (Gainvest) ── */
.gv-admin-page {
  --adm-bg: #eef4f8;
  --adm-border: rgba(15, 61, 92, 0.12);
  --adm-text: var(--gainvest-navy);
  --adm-muted: var(--gainvest-muted);
  --adm-accent: var(--gainvest-blue);
  --adm-green: #0f9d58;
  --adm-orange: #e07b16;
  --adm-red: var(--gainvest-red);
  background: var(--adm-bg);
}

.gv-admin-topbar {
  position: sticky;
  top: 0;
  z-index: 120;
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid var(--adm-border);
  backdrop-filter: blur(10px);
}

.gv-admin-topbar__inner {
  max-width: calc(var(--gainvest-max) + 80px);
  margin: 0 auto;
  padding: 10px var(--gainvest-pad-x);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.gv-admin-topbar__left {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.gv-admin-topbar__menu {
  display: none;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  border: 1px solid var(--adm-border);
  background: #fff;
  color: var(--adm-text);
  cursor: pointer;
}

.gv-admin-topbar__brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none !important;
}

.gv-admin-topbar__brand img {
  height: 34px;
  width: auto;
}

.gv-admin-topbar__badge {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(198, 40, 40, 0.1);
  color: var(--adm-red);
  border: 1px solid rgba(198, 40, 40, 0.22);
}

.gv-admin-topbar__right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.gv-admin-topbar__user {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--adm-muted);
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gv-admin-topbar__user .gv-mi {
  font-size: 18px;
  color: var(--adm-accent);
}

.gv-admin-topbar__logout {
  color: var(--adm-red) !important;
}

.gv-admin-hero {
  background: linear-gradient(135deg, #0f3d5c 0%, #163f5c 55%, #1a5278 100%);
  color: #fff;
  padding: 22px var(--gainvest-pad-x) 26px;
}

.gv-admin-hero__inner {
  max-width: calc(var(--gainvest-max) + 80px);
  margin: 0 auto;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.gv-admin-hero__eyebrow {
  margin: 0 0 4px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.78;
}

.gv-admin-hero__title {
  margin: 0;
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 800;
  letter-spacing: -0.03em;
}

.gv-admin-hero__lead {
  margin: 6px 0 0;
  font-size: 13px;
  font-weight: 600;
  opacity: 0.86;
  max-width: 56ch;
}

.gv-admin-hero__pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.18);
  font-size: 12px;
  font-weight: 700;
}

.gv-admin-shell {
  max-width: calc(var(--gainvest-max) + 80px);
  margin: -18px auto 40px;
  padding: 0 var(--gainvest-pad-x);
  display: grid;
  grid-template-columns: var(--gainvest-sidebar) minmax(0, 1fr);
  align-items: stretch;
  gap: 0;
  position: relative;
}

.gv-admin-box {
  margin-top: 0;
  border-radius: 0 16px 16px 0;
  min-width: 0;
}

.gv-admin-shell > .gv-sidebar--admin {
  position: relative;
  z-index: 2;
  align-self: stretch;
  min-height: 520px;
}

.gv-sidebar--admin .gv-sidebar__nav {
  gap: 0;
}

.gv-sidebar--admin .gv-sidebar__group {
  margin-bottom: 10px;
  padding-bottom: 10px;
}

.gv-sidebar--admin .gv-sidebar__group:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.gv-sidebar--admin .gv-sidebar__label {
  margin-top: 2px;
}

.gv-sidebar--admin .gv-sidebar__group:first-child .gv-sidebar__label {
  margin-top: 0;
}

.gv-sidebar__badge {
  margin-left: auto;
  min-width: 20px;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(198, 40, 40, 0.12);
  color: var(--adm-red);
  font-size: 10px;
  font-weight: 800;
  text-align: center;
  line-height: 1.4;
}

.gv-sidebar--admin .gv-sidebar__link.is-active .gv-sidebar__badge {
  background: rgba(255, 255, 255, 0.22);
  color: #fff;
}

.gv-admin-main {
  min-height: 420px;
  padding: 20px 22px 28px;
}

body.gv-admin-sidebar-open {
  overflow: hidden;
}

/* Admin dashboard page */
.gv-adm-dash {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.gv-adm-attn {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.gv-adm-attn__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 1 1 220px;
  padding: 10px 14px;
  border-radius: 12px;
  text-decoration: none !important;
  font-size: 12px;
  font-weight: 700;
  border: 1px solid transparent;
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}

.gv-adm-attn__item:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(15, 61, 92, 0.08);
}

.gv-adm-attn__item .gv-mi:first-child {
  font-size: 18px;
}

.gv-adm-attn__text {
  flex: 1;
  min-width: 0;
}

.gv-adm-attn__cta {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.gv-adm-attn__cta .gv-mi {
  font-size: 14px;
}

.gv-adm-attn__item--orange {
  background: rgba(224, 123, 22, 0.1);
  border-color: rgba(224, 123, 22, 0.25);
  color: #9a3412;
}

.gv-adm-attn__item--blue {
  background: rgba(0, 143, 232, 0.08);
  border-color: rgba(0, 143, 232, 0.22);
  color: #0c4a6e;
}

.gv-adm-attn__item--red {
  background: rgba(198, 40, 40, 0.08);
  border-color: rgba(198, 40, 40, 0.22);
  color: #991b1b;
}

.gv-adm-attn__item--navy {
  background: rgba(15, 61, 92, 0.08);
  border-color: rgba(15, 61, 92, 0.18);
  color: var(--gainvest-navy);
}

.gv-adm-dash__kpis {
  margin-bottom: 0;
}

.gv-adm-dash__period {
  margin: 0;
}

.gv-adm-dash__charts {
  margin: 0;
}

.gv-adm-dash__charts .gv-panel {
  margin-bottom: 0;
}

.gv-adm-dash__empty {
  padding: 28px 16px;
}

.gv-adm-dash__qa {
  margin: 0;
}

.gv-adm-dash__qa-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gv-adm-dash__main {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(260px, 0.85fr);
  gap: 16px;
  align-items: start;
}

.gv-adm-dash__deposits .gv-panel__hd {
  margin: 0;
}

.gv-adm-dash__panel-hd {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.gv-adm-dash__panel-hd .gv-panel__hd {
  margin: 0;
}

.gv-adm-dash__link {
  font-size: 12px;
  font-weight: 700;
  color: var(--gainvest-blue);
  text-decoration: none;
  white-space: nowrap;
}

.gv-adm-dash__link:hover {
  text-decoration: underline;
}

.gv-adm-dash__feed {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.gv-adm-dash__feed .gv-panel {
  margin-bottom: 0;
}

.gv-adm-feed {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.gv-adm-feed__item {
  display: grid;
  grid-template-columns: 34px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 12px;
  background: #f8fbfd;
  border: 1px solid rgba(159, 194, 212, 0.45);
}

.gv-adm-feed__avatar {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: var(--gainvest-blue);
  box-shadow: 0 1px 3px rgba(15, 61, 92, 0.08);
}

.gv-adm-feed__avatar--pay {
  color: #ea580c;
}

.gv-adm-feed__avatar .gv-mi {
  font-size: 18px;
}

.gv-adm-feed__body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.gv-adm-feed__body strong {
  font-size: 13px;
  font-weight: 800;
  color: var(--gainvest-navy);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gv-adm-feed__body span {
  font-size: 11px;
  font-weight: 650;
  color: var(--gainvest-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gv-adm-feed__item time,
.gv-adm-feed__item em {
  font-size: 11px;
  font-weight: 800;
  font-style: normal;
  color: var(--gainvest-navy);
  white-space: nowrap;
}

.gv-adm-feed-empty {
  margin: 0;
  padding: 16px;
  text-align: center;
  font-size: 13px;
  font-weight: 650;
  color: var(--gainvest-muted);
  background: #f8fbfd;
  border-radius: 12px;
  border: 1px dashed rgba(159, 194, 212, 0.65);
}

.gv-admin-page .gv-adm-dash .gv-panel {
  margin-bottom: 0;
  box-shadow: 0 8px 24px rgba(15, 61, 92, 0.04);
}

@media (max-width: 1100px) {
  .gv-adm-dash__qa-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .gv-adm-dash__main {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .gv-adm-dash__qa-grid {
    grid-template-columns: 1fr;
  }
  .gv-adm-attn__item {
    flex: 1 1 100%;
  }
}

/* Admin users page */
.gv-adm-users__alert {
  margin: 0;
}

.gv-adm-users__panel {
  padding-top: 18px;
}

.gv-adm-users__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.gv-adm-users__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.gv-adm-filter {
  display: inline-flex;
  align-items: center;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid rgba(159, 194, 212, 0.65);
  background: #f8fbfd;
  color: var(--gainvest-navy);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none !important;
  transition: all 0.16s ease;
}

.gv-adm-filter:hover {
  border-color: var(--gainvest-blue);
  color: var(--gainvest-blue);
}

.gv-adm-filter.is-active {
  background: var(--gainvest-navy);
  border-color: var(--gainvest-navy);
  color: #fff;
}

.gv-adm-users__search {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.gv-adm-users__search-input {
  min-width: min(280px, 100%);
}

.gv-adm-users__results {
  margin: 0 0 12px;
  font-size: 12px;
  font-weight: 650;
  color: var(--gainvest-muted);
}

.gv-adm-users__results strong {
  color: var(--gainvest-navy);
}

.gv-adm-users__table-wrap {
  border: 1px solid rgba(159, 194, 212, 0.45);
  border-radius: 12px;
  overflow: hidden;
}

.gv-adm-users__table {
  font-size: 12px;
}

.gv-adm-users__table tbody tr.is-blocked {
  background: rgba(198, 40, 40, 0.03);
}

.gv-adm-users__table tbody tr.is-flagged {
  box-shadow: inset 3px 0 0 #e07b16;
}

.gv-adm-usercell {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 140px;
}

.gv-adm-usercell strong {
  font-size: 13px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-adm-usercell__email {
  font-size: 11px;
  font-weight: 650;
  color: var(--gainvest-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 220px;
}

.gv-adm-moneycell {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 108px;
}

.gv-adm-moneycell span {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-adm-moneycell strong {
  font-size: 12px;
  font-weight: 800;
  color: var(--gainvest-navy);
  font-style: normal;
}

.gv-adm-statuscell {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

.gv-adm-flag-btn {
  padding: 4px 8px !important;
}

.gv-adm-users__date {
  white-space: nowrap;
  font-size: 12px;
  font-weight: 650;
  color: var(--gainvest-muted);
}

.gv-adm-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}

.gv-adm-actions__form {
  display: inline;
  margin: 0;
}

.gv-adm-actions__btn {
  width: 32px;
  height: 32px;
  border-radius: 9px;
  border: 1px solid rgba(159, 194, 212, 0.65);
  background: #fff;
  color: var(--gainvest-navy);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.16s ease;
  padding: 0;
}

.gv-adm-actions__btn .gv-mi {
  font-size: 17px;
}

.gv-adm-actions__btn:hover {
  border-color: var(--gainvest-blue);
  color: var(--gainvest-blue);
  background: rgba(0, 143, 232, 0.06);
}

.gv-adm-actions__btn--green:hover {
  border-color: #16a34a;
  color: #16a34a;
  background: rgba(22, 163, 74, 0.08);
}

.gv-adm-actions__btn--red:hover {
  border-color: var(--gainvest-red);
  color: var(--gainvest-red);
  background: rgba(198, 40, 40, 0.08);
}

.gv-adm-users__empty {
  margin-top: 8px;
}

.gv-admin-page .adm-btn.orange {
  background: rgba(224, 123, 22, 0.12);
  border-color: rgba(224, 123, 22, 0.28);
  color: #c2410c;
}

.gv-admin-page .adm-btn.orange:hover {
  background: rgba(224, 123, 22, 0.2);
}

.gv-adm-modal .modal-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-adm-modal .modal-title .gv-mi {
  font-size: 20px;
  color: var(--gainvest-blue);
}

.gv-adm-modal__lead {
  margin: 0 0 14px;
  font-size: 13px;
  font-weight: 650;
  color: var(--gainvest-muted);
}

.gv-adm-modal__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.gv-adm-modal__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.gv-adm-modal__loading,
.gv-adm-modal__empty {
  margin: 0;
  padding: 20px;
  text-align: center;
  font-size: 13px;
  font-weight: 650;
  color: var(--gainvest-muted);
  background: #f8fbfd;
  border-radius: 12px;
  border: 1px dashed rgba(159, 194, 212, 0.65);
}

.gv-adm-modal__empty--error {
  color: var(--gainvest-red);
  border-color: rgba(198, 40, 40, 0.25);
  background: rgba(198, 40, 40, 0.04);
}

@media (max-width: 1100px) {
  .gv-adm-users__toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  .gv-adm-users__search {
    width: 100%;
  }
  .gv-adm-users__search-input {
    flex: 1;
  }
}

@media (max-width: 900px) {
  .gv-adm-modal__grid {
    grid-template-columns: 1fr;
  }
}

/* Admin deposits lookup page */
.gv-adm-deposits__sync-lead {
  margin: 0 0 10px !important;
  min-height: 32px;
}

.gv-adm-deposits__search-panel {
  margin-bottom: 0;
}

.gv-adm-deposits__search-form {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.gv-adm-deposits__search-input {
  flex: 1;
  min-width: min(420px, 100%);
}

.gv-adm-deposits__detail-hd {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.gv-adm-deposits__detail-hd .gv-panel__hd {
  margin: 0;
}

.gv-adm-deposits__detail-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.gv-adm-deposits__detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.8fr);
  gap: 16px;
  align-items: start;
}

.gv-adm-deposits__dl {
  margin: 0;
  display: grid;
  gap: 10px;
}

.gv-adm-deposits__dl > div {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #f8fbfd;
  border: 1px solid rgba(159, 194, 212, 0.45);
}

.gv-adm-deposits__dl dt {
  margin: 0;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-adm-deposits__dl dd {
  margin: 0;
  font-size: 13px;
  font-weight: 650;
  color: var(--gainvest-navy);
}

.gv-adm-deposits__sub {
  display: block;
  margin-top: 3px;
  font-size: 11px;
  font-weight: 650;
  color: var(--gainvest-muted);
}

.gv-adm-deposits__mono {
  word-break: break-all;
  font-size: 11px;
}

.gv-adm-deposits__mono a {
  color: var(--gainvest-blue);
  text-decoration: none;
}

.gv-adm-deposits__mono a:hover {
  text-decoration: underline;
}

.gv-adm-deposits__ledger-title {
  margin: 0 0 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-adm-deposits__ledger-title .gv-mi {
  color: var(--gainvest-blue);
}

.gv-adm-deposits__notfound {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Admin withdrawals page */
.gv-dash-card--orange {
  background: linear-gradient(165deg, #fff8f3 0%, #ffedd5 100%);
  border-color: rgba(234, 88, 12, 0.2);
}

.gv-dash-card--orange .gv-dash-card__icon {
  color: #ea580c;
}

.gv-adm-wd__methods {
  margin-bottom: 0;
}

.gv-adm-wd__cards {
  display: grid;
  gap: 14px;
}

.gv-adm-wd-card {
  border: 1px solid rgba(159, 194, 212, 0.55);
  border-radius: 14px;
  padding: 16px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(15, 61, 92, 0.04);
}

.gv-adm-wd-card--low {
  border-left: 3px solid #16a34a;
}

.gv-adm-wd-card--medium {
  border-left: 3px solid #ea580c;
}

.gv-adm-wd-card--high {
  border-left: 3px solid var(--gainvest-red);
}

.gv-adm-wd-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.gv-adm-wd-card__id {
  margin: 0 0 4px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-adm-wd-card__user {
  margin: 0;
  font-size: 16px;
  font-weight: 800;
}

.gv-adm-wd-card__user a {
  color: var(--gainvest-navy);
  text-decoration: none;
}

.gv-adm-wd-card__user a:hover {
  color: var(--gainvest-blue);
}

.gv-adm-wd-card__email {
  margin: 2px 0 0;
  font-size: 12px;
  font-weight: 650;
  color: var(--gainvest-muted);
}

.gv-adm-wd-card__amount {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #16a34a;
  white-space: nowrap;
}

.gv-adm-wd-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 12px;
}

.gv-adm-wd-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 9px;
  border-radius: 999px;
  border: 1px solid rgba(159, 194, 212, 0.55);
  background: #f8fbfd;
  font-size: 10px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-adm-wd-pill .gv-mi {
  font-size: 14px;
}

.gv-adm-wd-pill--low {
  background: rgba(22, 163, 74, 0.08);
  border-color: rgba(22, 163, 74, 0.22);
  color: #15803d;
}

.gv-adm-wd-pill--medium {
  background: rgba(234, 88, 12, 0.08);
  border-color: rgba(234, 88, 12, 0.22);
  color: #c2410c;
}

.gv-adm-wd-pill--high {
  background: rgba(198, 40, 40, 0.08);
  border-color: rgba(198, 40, 40, 0.22);
  color: var(--gainvest-red);
}

.gv-adm-wd-pill--green {
  background: rgba(22, 163, 74, 0.08);
  border-color: rgba(22, 163, 74, 0.22);
  color: #15803d;
}

.gv-adm-wd-pill--orange {
  background: rgba(234, 88, 12, 0.08);
  border-color: rgba(234, 88, 12, 0.22);
  color: #c2410c;
}

.gv-adm-wd-card__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 14px;
}

.gv-adm-wd-card__facts > div {
  padding: 10px 12px;
  border-radius: 10px;
  background: #f8fbfd;
  border: 1px solid rgba(159, 194, 212, 0.45);
}

.gv-adm-wd-card__facts dt {
  margin: 0 0 4px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-adm-wd-card__facts dd {
  margin: 0;
  font-size: 12px;
  font-weight: 650;
  color: var(--gainvest-navy);
}

.gv-adm-wd-card__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding-top: 12px;
  border-top: 1px solid rgba(159, 194, 212, 0.45);
}

.gv-adm-wd-reject-form {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1 1 220px;
}

.gv-adm-wd-reject-input {
  flex: 1;
  min-width: 120px;
  padding: 7px 10px !important;
  font-size: 12px !important;
}

.gv-adm-wd-notes {
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  color: var(--gainvest-muted);
}

@media (max-width: 960px) {
  .gv-adm-wd-card__facts {
    grid-template-columns: 1fr;
  }
}

/* Admin referrals page */
.gv-adm-ref__rates {
  margin-bottom: 16px;
}

.gv-adm-ref__split {
  margin-bottom: 16px;
}

.gv-adm-ref__tree .gv-ov-chart-sub {
  margin-bottom: 12px;
}

.gv-adm-ref__alert {
  margin-top: 12px;
}

.gv-adm-ref__member {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #f8fbfd;
  border: 1px solid rgba(159, 194, 212, 0.55);
}

.gv-adm-ref__member > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 12px;
  color: var(--gainvest-muted);
}

.gv-adm-ref__member strong {
  font-size: 15px;
  color: var(--gainvest-navy);
}

.gv-adm-ref__member code {
  font-size: 11px;
}

/* Admin support tickets page */
.gv-adm-tickets__alert {
  margin: 0 0 16px;
}

.gv-adm-ticket-list {
  display: grid;
  gap: 12px;
}

.gv-adm-ticket {
  border: 1px solid rgba(159, 194, 212, 0.55);
  border-radius: 14px;
  padding: 16px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(15, 61, 92, 0.04);
}

.gv-adm-ticket.is-unread {
  border-left: 3px solid var(--gainvest-blue);
}

.gv-adm-ticket__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.gv-adm-ticket__title-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 6px;
}

.gv-adm-ticket__subject {
  margin: 0;
  font-size: 15px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-adm-ticket__replies {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 700;
  color: var(--gainvest-muted);
}

.gv-adm-ticket__replies .gv-mi {
  font-size: 14px;
}

.gv-adm-ticket__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 12px;
  color: var(--gainvest-muted);
}

.gv-adm-ticket__meta span,
.gv-adm-ticket__meta a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.gv-adm-ticket__meta .gv-mi {
  font-size: 14px;
}

.gv-adm-ticket__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.gv-adm-ticket__status-form {
  margin: 0;
}

.gv-adm-ticket__status {
  width: auto;
  min-width: 96px;
  padding: 6px 10px !important;
  font-size: 12px !important;
}

.gv-adm-ticket__message {
  padding: 12px 14px;
  border-radius: 10px;
  background: #f8fbfd;
  border: 1px solid rgba(159, 194, 212, 0.45);
  font-size: 13px;
  line-height: 1.55;
  color: var(--gainvest-navy);
  white-space: pre-wrap;
}

.gv-adm-ticket__thread {
  margin-top: 12px;
  display: grid;
  gap: 8px;
}

.gv-adm-ticket__thread-hidden {
  display: none;
  gap: 8px;
}

.gv-adm-ticket__thread-hidden.is-open {
  display: grid;
}

.gv-adm-ticket__expand {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border: 1px dashed rgba(159, 194, 212, 0.75);
  border-radius: 999px;
  background: #fff;
  font-size: 11px;
  font-weight: 700;
  color: var(--gainvest-blue);
  cursor: pointer;
}

.gv-adm-ticket__thread-msg {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.gv-adm-ticket__avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.gv-adm-ticket__avatar--user {
  background: rgba(22, 119, 179, 0.12);
  color: var(--gainvest-blue);
}

.gv-adm-ticket__avatar--admin {
  background: rgba(22, 163, 74, 0.12);
  color: #15803d;
}

.gv-adm-ticket__avatar .gv-mi {
  font-size: 16px;
}

.gv-adm-ticket__thread-body {
  flex: 1;
  min-width: 0;
  padding: 10px 12px;
  border-radius: 10px;
  background: #f8fbfd;
  border: 1px solid rgba(159, 194, 212, 0.4);
}

.gv-adm-ticket__thread-sender {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 4px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.gv-adm-ticket__thread-sender--user {
  color: var(--gainvest-blue);
}

.gv-adm-ticket__thread-sender--admin {
  color: #15803d;
}

.gv-adm-ticket__thread-sender time {
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
  color: var(--gainvest-muted);
}

.gv-adm-ticket__thread-body p {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--gainvest-navy);
  white-space: pre-wrap;
}

.gv-adm-ticket__thread-del {
  margin: 0;
  flex-shrink: 0;
}

.gv-adm-ticket__reply {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(159, 194, 212, 0.45);
}

.gv-adm-ticket__reply-input {
  width: 100%;
  min-height: 96px;
  resize: vertical;
}

.gv-adm-ticket__reply-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.gv-adm-ticket-bulk {
  margin-bottom: 16px;
  border: 1px solid rgba(234, 88, 12, 0.25);
  border-radius: 12px;
  background: linear-gradient(165deg, #fff8f3 0%, #ffedd5 100%);
  padding: 0 14px;
}

.gv-adm-ticket-bulk[open] {
  padding-bottom: 14px;
}

.gv-adm-ticket-bulk summary {
  list-style: none;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 14px 0;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  color: var(--gainvest-navy);
}

.gv-adm-ticket-bulk summary::-webkit-details-marker {
  display: none;
}

.gv-adm-ticket-bulk summary > .gv-mi:first-child {
  color: #ea580c;
}

.gv-adm-ticket-bulk__count {
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(234, 88, 12, 0.12);
  color: #c2410c;
  font-size: 11px;
  font-weight: 800;
}

.gv-adm-ticket-bulk__hint {
  font-size: 11px;
  font-weight: 650;
  color: var(--gainvest-muted);
}

.gv-adm-ticket-bulk__chev {
  margin-left: auto;
  transition: transform 0.2s ease;
}

.gv-adm-ticket-bulk[open] .gv-adm-ticket-bulk__chev {
  transform: rotate(90deg);
}

.gv-adm-ticket-bulk__textarea {
  width: 100%;
  min-height: 110px;
  resize: vertical;
}

.gv-adm-ticket-bulk__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
}

.gv-adm-ticket-bulk__warn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: #c2410c;
}

@media (max-width: 960px) {
  .gv-adm-ticket__head {
    flex-direction: column;
  }
  .gv-adm-ticket__actions {
    width: 100%;
  }
}

.gv-adm-chat {
  display: grid;
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
  height: calc(100dvh - 280px);
  max-height: calc(100dvh - 220px);
  min-height: 480px;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(159, 194, 212, 0.5);
  background: #fff;
  box-shadow: 0 8px 28px rgba(12, 52, 78, 0.06);
}

.gv-adm-chat__inbox {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border-right: 1px solid rgba(159, 194, 212, 0.4);
  background: #f7fafc;
}

.gv-adm-chat__inbox-head {
  padding: 14px 14px 8px;
}

.gv-adm-chat__inbox-head h2 {
  margin: 0;
  font-size: 16px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-adm-chat__inbox-head p {
  margin: 3px 0 0;
  font-size: 12px;
  font-weight: 650;
  color: var(--gainvest-muted);
}

.gv-adm-chat__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 12px 10px;
}

.gv-adm-chat__filters a {
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  text-decoration: none;
  color: #4a6574;
  background: #fff;
  border: 1px solid rgba(159, 194, 212, 0.45);
}

.gv-adm-chat__filters a.is-active {
  color: #fff;
  background: var(--gainvest-blue);
  border-color: var(--gainvest-blue);
}

.gv-adm-chat__list {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.gv-adm-chat__item {
  display: flex;
  gap: 10px;
  padding: 12px 14px;
  text-decoration: none;
  border-bottom: 1px solid rgba(159, 194, 212, 0.28);
  color: inherit;
}

.gv-adm-chat__item:hover {
  background: #eef6fb;
}

.gv-adm-chat__item.is-active {
  background: #fff;
  box-shadow: inset 3px 0 0 var(--gainvest-blue);
}

.gv-adm-chat__item.is-unread strong {
  color: var(--gainvest-navy);
}

.gv-adm-chat__item-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 11px;
  flex-shrink: 0;
  color: #fff;
  background: linear-gradient(145deg, #38bdf8 0%, #0f4c75 100%);
}

.gv-adm-chat__item-avatar .gv-mi {
  font-size: 18px;
}

.gv-adm-chat__item-body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.gv-adm-chat__item-top {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

.gv-adm-chat__item-top strong {
  font-size: 13px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-adm-chat__item-top time {
  font-size: 10px;
  font-weight: 700;
  color: var(--gainvest-muted);
  white-space: nowrap;
}

.gv-adm-chat__item-subject {
  font-size: 12px;
  font-weight: 800;
  color: #334155;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.gv-adm-chat__item-preview {
  font-size: 12px;
  font-weight: 600;
  color: var(--gainvest-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.gv-adm-chat__item-tags {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
}

.gv-adm-chat__item-tags em {
  font-style: normal;
  font-size: 10px;
  font-weight: 700;
  color: #64748b;
}

.gv-adm-chat__pager {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  border-top: 1px solid rgba(159, 194, 212, 0.35);
  font-size: 12px;
  font-weight: 700;
}

.gv-adm-chat__pager a {
  color: var(--gainvest-blue);
  text-decoration: none;
}

.gv-adm-chat__pane {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.gv-adm-chat__placeholder {
  margin: auto;
  text-align: center;
  color: var(--gainvest-muted);
  padding: 40px 20px;
}

.gv-adm-chat__placeholder .gv-mi {
  font-size: 42px;
  color: #94a3b8;
}

.gv-adm-chat__placeholder h2 {
  margin: 10px 0 6px;
  color: var(--gainvest-navy);
}

.gv-adm-chat__head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(159, 194, 212, 0.4);
}

.gv-adm-chat__identity {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex: 1;
}

.gv-adm-chat__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(145deg, #38bdf8 0%, #0f4c75 100%);
  flex-shrink: 0;
}

.gv-adm-chat__identity h2 {
  margin: 0;
  font-size: 16px;
  font-weight: 800;
  color: var(--gainvest-navy);
  line-height: 1.2;
}

.gv-adm-chat__identity p {
  margin: 3px 0 0;
  font-size: 12px;
  font-weight: 650;
  color: var(--gainvest-muted);
}

.gv-adm-chat__identity a {
  color: var(--gainvest-blue);
  font-weight: 750;
}

.gv-adm-chat__status {
  margin: 0;
}

.gv-adm-chat__status .gv-input {
  min-width: 140px;
  padding: 7px 10px;
  font-size: 12px;
  font-weight: 700;
}

.gv-adm-chat__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px 16px;
  background: #f6fafd;
  border-bottom: 1px solid rgba(159, 194, 212, 0.35);
}

.gv-adm-chat__meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 700;
  color: #4a6574;
}

.gv-adm-chat__meta .gv-mi {
  font-size: 15px;
  color: var(--gainvest-blue);
}

.gv-adm-chat__head,
.gv-adm-chat__meta,
.gv-adm-chat__composer,
.gv-adm-chat__pane > .gv-report-closed {
  flex-shrink: 0;
}

.gv-adm-chat__thread {
  flex: 1 1 auto;
  margin: 0;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.gv-adm-chat__composer {
  margin-top: auto;
}

.gv-adm-chat__empty {
  padding: 32px 16px;
  text-align: center;
  color: var(--gainvest-muted);
}

.gv-adm-chat__empty .gv-mi {
  font-size: 32px;
  color: #94a3b8;
}

@media (max-width: 980px) {
  .gv-adm-chat {
    grid-template-columns: 1fr;
    height: calc(100dvh - 160px);
    max-height: none;
    min-height: 560px;
  }

  .gv-adm-chat__inbox {
    border-right: 0;
    border-bottom: 1px solid rgba(159, 194, 212, 0.4);
    max-height: 220px;
    min-height: 180px;
  }

  .gv-adm-chat__thread {
    min-height: 0;
  }
}

/* Admin settings page */
.gv-adm-settings__alert {
  margin: 0 0 16px;
}

.gv-adm-settings__status {
  font-size: 28px !important;
}

.gv-adm-settings__gateways {
  margin-bottom: 16px;
}

.gv-adm-settings__form {
  display: grid;
  gap: 16px;
}

.gv-adm-settings__panel {
  padding-top: 18px;
}

.gv-adm-settings__panel-hd {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.gv-adm-settings__panel-hd .gv-panel__hd {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.gv-adm-settings__panel-hd .gv-panel__hd .gv-mi {
  font-size: 20px;
  color: var(--gainvest-blue);
}

.gv-adm-settings__rows {
  display: grid;
  gap: 0;
  border: 1px solid rgba(159, 194, 212, 0.45);
  border-radius: 12px;
  overflow: hidden;
}

.gv-adm-settings__row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  background: #fff;
  border-bottom: 1px solid rgba(159, 194, 212, 0.35);
}

.gv-adm-settings__row:last-child {
  border-bottom: none;
}

.gv-adm-settings__row--wide {
  flex-direction: column;
  align-items: stretch;
}

.gv-adm-settings__control--wide {
  width: 100%;
  max-width: none;
}

.gv-adm-settings__textarea {
  min-height: 108px;
  resize: vertical;
  line-height: 1.5;
}

.gv-adm-settings__label {
  flex: 1;
  min-width: 0;
}

.gv-adm-settings__label strong {
  display: block;
  font-size: 14px;
  font-weight: 800;
  color: var(--gainvest-navy);
  margin-bottom: 4px;
}

.gv-adm-settings__label p {
  margin: 0 0 6px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--gainvest-muted);
}

.gv-adm-settings__meta {
  display: block;
  font-size: 11px;
  color: var(--gainvest-muted);
}

.gv-adm-settings__meta code {
  padding: 2px 6px;
  border-radius: 6px;
  background: #f8fbfd;
  border: 1px solid rgba(159, 194, 212, 0.45);
  font-size: 10px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  color: var(--gainvest-blue);
}

.gv-adm-settings__control {
  width: min(100%, 240px);
  flex-shrink: 0;
}

.gv-adm-settings__control .gv-input,
.gv-adm-settings__control select.gv-input {
  width: 100%;
}

.gv-adm-settings__mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 13px;
}

.gv-adm-settings__toggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 650;
  color: var(--gainvest-navy);
  user-select: none;
}

.gv-adm-settings__toggle input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.gv-adm-settings__toggle-ui {
  width: 42px;
  height: 24px;
  border-radius: 999px;
  background: #cbd5e1;
  position: relative;
  transition: background 0.2s ease;
  flex-shrink: 0;
}

.gv-adm-settings__toggle-ui::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 61, 92, 0.2);
  transition: transform 0.2s ease;
}

.gv-adm-settings__toggle input:checked + .gv-adm-settings__toggle-ui {
  background: #16a34a;
}

.gv-adm-settings__toggle input:checked + .gv-adm-settings__toggle-ui::after {
  transform: translateX(18px);
}

.gv-adm-settings__toggle input:focus-visible + .gv-adm-settings__toggle-ui {
  outline: 2px solid var(--gainvest-blue);
  outline-offset: 2px;
}

.gv-adm-settings__bm-status {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 14px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #f8fbfd;
  border: 1px solid rgba(159, 194, 212, 0.55);
  font-size: 12px;
  color: var(--gainvest-muted);
}

.gv-adm-settings__bm-status.is-open {
  background: rgba(22, 163, 74, 0.08);
  border-color: rgba(22, 163, 74, 0.25);
  color: #15803d;
}

.gv-adm-settings__bm-status .gv-mi {
  font-size: 20px;
}

.gv-adm-settings__bm-status strong {
  display: block;
  font-size: 13px;
  color: var(--gainvest-navy);
  margin-bottom: 2px;
}

.gv-adm-settings__bm-status.is-open strong {
  color: #15803d;
}

.gv-adm-settings__save {
  display: flex;
  justify-content: flex-end;
  position: sticky;
  bottom: 12px;
  z-index: 5;
  padding: 12px 0 4px;
}

.gv-adm-settings__save .gv-btn {
  box-shadow: 0 8px 24px rgba(15, 61, 92, 0.12);
}

@media (max-width: 760px) {
  .gv-adm-settings__row {
    flex-direction: column;
  }
  .gv-adm-settings__control {
    width: 100%;
  }
  .gv-adm-settings__panel-hd {
    flex-direction: column;
  }
}

@media (max-width: 960px) {
  .gv-adm-deposits__detail-grid {
    grid-template-columns: 1fr;
  }
  .gv-adm-deposits__dl > div {
    grid-template-columns: 1fr;
  }
}

.gv-admin-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(15, 61, 92, 0.45);
  z-index: 110;
}

.gv-admin-overlay.is-open {
  display: block;
}

.gv-admin-kpis {
  margin-bottom: 18px;
}

.gv-admin-qa {
  margin-bottom: 18px;
}

.gv-admin-stats-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.gv-admin-panel {
  margin-bottom: 16px;
}

.gv-admin-panel__hd {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.gv-admin-panel__title {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  font-weight: 800;
  color: var(--adm-text);
}

.gv-admin-panel__title .gv-mi {
  font-size: 20px;
  color: var(--adm-accent);
}

.gv-admin-panel__sub {
  margin: 4px 0 0;
  font-size: 12px;
  font-weight: 650;
  color: var(--adm-muted);
}

.gv-admin-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.gv-admin-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--adm-border);
}

.gv-admin-pagination__meta {
  margin-left: 8px;
  font-size: 12px;
  font-weight: 650;
  color: var(--adm-muted);
}

/* Admin login */
.gv-admin-login {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(160deg, #eef4f8 0%, #dceaf2 100%);
  padding: 24px var(--gainvest-pad-x);
}

.gv-admin-login__wrap {
  width: 100%;
  max-width: 420px;
}

.gv-admin-login__card {
  background: #fff;
  border: 1px solid rgba(159, 194, 212, 0.55);
  border-radius: 18px;
  padding: 28px 24px 22px;
  box-shadow: 0 18px 48px rgba(15, 61, 92, 0.1);
}

.gv-admin-login__brand {
  text-align: center;
  margin-bottom: 18px;
}

.gv-admin-login__brand img {
  height: 42px;
  width: auto;
}

.gv-admin-login__badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(15, 61, 92, 0.08);
  color: var(--gainvest-navy);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.gv-admin-login__title {
  margin: 0 0 6px;
  text-align: center;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--gainvest-navy);
}

.gv-admin-login__sub {
  margin: 0 0 18px;
  text-align: center;
  font-size: 13px;
  font-weight: 650;
  color: var(--gainvest-muted);
}

.gv-admin-login__form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.gv-admin-login__foot {
  margin: 16px 0 0;
  text-align: center;
  font-size: 13px;
  font-weight: 650;
}

.gv-admin-login__foot a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--gainvest-blue);
  text-decoration: none;
}

/* Legacy admin components - restyled for Gainvest */
.gv-admin-page .adm-page-title {
  display: none;
}

.gv-admin-page .adm-card,
.gv-admin-page .gv-panel {
  background: #fff;
  border: 1px solid rgba(159, 194, 212, 0.45);
  border-radius: 14px;
  padding: 16px 18px;
  margin-bottom: 16px;
  box-shadow: 0 8px 24px rgba(15, 61, 92, 0.04);
}

.gv-admin-page .adm-card-title {
  font-size: 15px;
  font-weight: 800;
  margin: 0 0 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--adm-border);
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--adm-text);
}

.gv-admin-page .adm-card-title .bi,
.gv-admin-page .adm-card-title .gv-mi {
  color: var(--adm-accent);
}

.gv-admin-page .adm-table,
.gv-admin-page .gv-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.gv-admin-page .adm-table th,
.gv-admin-page .gv-table th {
  padding: 10px 12px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--adm-muted);
  border-bottom: 1px solid var(--adm-border);
  text-align: left;
}

.gv-admin-page .adm-table td,
.gv-admin-page .gv-table td {
  padding: 10px 12px;
  border-bottom: 1px solid rgba(159, 194, 212, 0.35);
  vertical-align: middle;
  color: var(--adm-text);
}

.gv-admin-page .adm-table tr:last-child td,
.gv-admin-page .gv-table tbody tr:last-child td {
  border-bottom: none;
}

.gv-admin-page .adm-table tr:hover td,
.gv-admin-page .gv-table tbody tr:hover td {
  background: rgba(22, 119, 179, 0.04);
}

.gv-admin-page .adm-table .mono,
.gv-admin-page .gv-table .mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
}

.gv-admin-page .adm-table a {
  color: var(--adm-accent);
  font-weight: 700;
  text-decoration: none;
}

.gv-admin-page .adm-table a:hover {
  text-decoration: underline;
}

.gv-admin-page .adm-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.gv-admin-page .adm-badge.green { background: rgba(15, 157, 88, 0.12); color: var(--adm-green); }
.gv-admin-page .adm-badge.red { background: rgba(198, 40, 40, 0.12); color: var(--adm-red); }
.gv-admin-page .adm-badge.blue { background: rgba(22, 119, 179, 0.12); color: var(--adm-accent); }
.gv-admin-page .adm-badge.orange { background: rgba(224, 123, 22, 0.12); color: var(--adm-orange); }
.gv-admin-page .adm-badge.purple { background: rgba(106, 76, 147, 0.12); color: #6a4c93; }
.gv-admin-page .adm-badge.muted { background: rgba(100, 116, 139, 0.12); color: var(--adm-muted); }

.gv-admin-page .adm-btn {
  padding: 7px 12px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 700;
  border: 1px solid var(--adm-border);
  background: #fff;
  color: var(--adm-text);
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.16s ease;
  font-family: inherit;
}

.gv-admin-page .adm-btn:hover {
  border-color: var(--adm-accent);
  color: var(--adm-accent);
  background: rgba(22, 119, 179, 0.06);
}

.gv-admin-page .adm-btn.primary {
  background: var(--gainvest-red);
  border-color: var(--gainvest-red);
  color: #fff;
}

.gv-admin-page .adm-btn.primary:hover {
  filter: brightness(1.05);
  color: #fff;
}

.gv-admin-page .adm-btn.green { background: rgba(15, 157, 88, 0.12); border-color: rgba(15, 157, 88, 0.28); color: var(--adm-green); }
.gv-admin-page .adm-btn.red { background: rgba(198, 40, 40, 0.1); border-color: rgba(198, 40, 40, 0.25); color: var(--adm-red); }
.gv-admin-page .adm-btn.sm { padding: 5px 9px; font-size: 11px; }

.gv-admin-page .adm-alert {
  padding: 12px 14px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
}

.gv-admin-page .adm-alert.success { background: rgba(15, 157, 88, 0.1); border: 1px solid rgba(15, 157, 88, 0.25); color: var(--adm-green); }
.gv-admin-page .adm-alert.error { background: rgba(198, 40, 40, 0.08); border: 1px solid rgba(198, 40, 40, 0.22); color: var(--adm-red); }
.gv-admin-page .adm-alert.info { background: rgba(22, 119, 179, 0.08); border: 1px solid rgba(22, 119, 179, 0.22); color: var(--adm-accent); }

.gv-admin-page .adm-empty {
  text-align: center;
  padding: 36px 20px;
  color: var(--adm-muted);
  font-weight: 650;
}

.gv-admin-page .adm-empty .gv-mi,
.gv-admin-page .adm-empty .bi {
  font-size: 34px;
  display: block;
  margin-bottom: 8px;
  opacity: 0.55;
}

.gv-admin-page .adm-input,
.gv-admin-page .form-control,
.gv-admin-page select.adm-input {
  width: 100%;
  padding: 10px 12px;
  background: #f8fbfd;
  border: 1px solid rgba(159, 194, 212, 0.65);
  border-radius: 10px;
  color: var(--adm-text);
  font-family: inherit;
  font-size: 14px;
  outline: none;
}

.gv-admin-page .adm-input:focus,
.gv-admin-page .form-control:focus {
  border-color: var(--adm-accent);
  box-shadow: 0 0 0 3px rgba(22, 119, 179, 0.12);
}

.gv-admin-page .adm-label,
.gv-admin-page .form-label {
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--adm-muted);
  margin-bottom: 6px;
}

.gv-admin-page .adm-form-group {
  margin-bottom: 12px;
}

.gv-admin-page .dash-stats,
.gv-admin-page .ref-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.gv-admin-page .dash-stat,
.gv-admin-page .ref-stat {
  background: #fff;
  border: 1px solid rgba(159, 194, 212, 0.45);
  border-radius: 14px;
  padding: 14px;
}

.gv-admin-page .dash-stat .val,
.gv-admin-page .ref-stat .val {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--adm-text);
}

.gv-admin-page .dash-stat .val.green,
.gv-admin-page .ref-stat .val.green { color: var(--adm-green); }
.gv-admin-page .dash-stat .val.blue,
.gv-admin-page .ref-stat .val.blue { color: var(--adm-accent); }
.gv-admin-page .dash-stat .val.orange,
.gv-admin-page .ref-stat .val.orange { color: var(--adm-orange); }
.gv-admin-page .dash-stat .val.red { color: var(--adm-red); }
.gv-admin-page .dash-stat .val.purple,
.gv-admin-page .ref-stat .val.purple { color: #6a4c93; }

.gv-admin-page .dash-stat .lbl,
.gv-admin-page .ref-stat .lbl {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--adm-muted);
  margin-top: 4px;
}

.gv-admin-page .dash-quick {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: 10px;
  margin-bottom: 18px;
}

.gv-admin-page .dash-quick-link {
  background: #fff;
  border: 1px solid rgba(159, 194, 212, 0.45);
  border-radius: 12px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: var(--adm-text);
  font-weight: 700;
  font-size: 13px;
}

.gv-admin-page .dash-quick-link:hover {
  border-color: var(--adm-accent);
  color: var(--adm-accent);
  background: rgba(22, 119, 179, 0.04);
}

.gv-admin-page .cm-stats { display: flex; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; }
.gv-admin-page .cm-stat {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 14px; background: #fff;
  border: 1px solid rgba(159, 194, 212, 0.45); border-radius: 12px;
  font-size: 13px; font-weight: 650; cursor: pointer; text-decoration: none; color: var(--adm-text);
}
.gv-admin-page .cm-stat:hover,
.gv-admin-page .cm-stat.active { border-color: var(--adm-accent); color: var(--adm-accent); background: rgba(22, 119, 179, 0.05); }

.gv-admin-page .cm-ticket {
  background: #fff;
  border: 1px solid rgba(159, 194, 212, 0.45);
  border-radius: 14px;
  padding: 16px;
  margin-bottom: 10px;
}

.gv-admin-page .cm-ticket.unread { border-left: 3px solid var(--adm-accent); }

.gv-admin-page .modal-content {
  border-radius: 14px;
  border: 1px solid rgba(159, 194, 212, 0.45);
}

@media (max-width: 900px) {
  .gv-admin-topbar__menu { display: inline-flex; }
  .gv-admin-topbar__user { display: none; }
  .gv-admin-shell {
    display: block;
    margin-top: 14px;
  }
  .gv-admin-box {
    border-radius: 16px;
  }
  .gv-admin-shell > .gv-sidebar--admin {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(280px, 86vw);
    z-index: 130;
    transform: translateX(-110%);
    transition: transform 0.24s ease;
    box-shadow: 8px 0 32px rgba(15, 61, 92, 0.18);
    border-radius: 0;
    border: 0;
    min-height: 100vh;
    max-height: 100vh;
    overflow-y: auto;
    padding-top: 18px;
  }
  .gv-admin-shell > .gv-sidebar--admin.is-open {
    transform: translateX(0);
  }
  .gv-admin-overlay {
    z-index: 125;
  }
  .gv-admin-stats-row,
  .gv-admin-split,
  .gv-admin-page .dash-stats,
  .gv-admin-page .ref-stats {
    grid-template-columns: 1fr;
  }
  .gv-admin-page .dash-stats,
  .gv-admin-page .ref-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .gv-admin-page .dash-stats,
  .gv-admin-page .ref-stats {
    grid-template-columns: 1fr;
  }
}

/* -------------------------------------------------------------------------- */
/* Member Feed (account/community.php)                                        */
/* -------------------------------------------------------------------------- */

body.gv-feed-page .gv-main {
  padding: 0;
  display: flex;
  flex-direction: column;
  min-height: 560px;
  background:
    radial-gradient(900px 420px at 8% -10%, rgba(236, 72, 153, 0.07), transparent 55%),
    radial-gradient(700px 380px at 92% 0%, rgba(37, 99, 235, 0.08), transparent 50%),
    #f4f2ef;
}

.gv-feed {
  flex: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100%;
}

.gv-feed-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  flex-shrink: 0;
  padding: 16px 22px;
  background: #fff;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.gv-feed-head__brand {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex: 1;
}

.gv-feed-head__copy {
  min-width: 0;
}

.gv-feed-head__icon {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.14), rgba(14, 165, 233, 0.08));
  color: #2563eb;
  border: 1px solid rgba(37, 99, 235, 0.12);
}

.gv-feed-head__icon .gv-mi {
  font-size: 22px;
}

.gv-feed-head__eyebrow {
  margin: 0 0 4px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gv-muted, #64748b);
}

.gv-feed-head__title {
  margin: 0;
  font-size: clamp(1.25rem, 2.2vw, 1.5rem);
  font-weight: 800;
  color: var(--gv-text, #0f172a);
  line-height: 1.2;
}

.gv-feed-head__lead {
  margin: 4px 0 0;
  max-width: 42ch;
  font-size: 13px;
  line-height: 1.45;
  color: var(--gv-muted, #64748b);
}

.gv-feed-head__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  flex-shrink: 0;
}

.gv-feed-head__new-post {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 34px;
  padding: 0 13px 0 11px;
  border-radius: 999px;
  border: 1px solid rgba(0, 143, 232, 0.18);
  background: var(--gainvest-blue, #008fe8);
  color: #fff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.01em;
  cursor: pointer;
  box-shadow: none;
  transition: background 0.18s ease, border-color 0.18s ease;
}

.gv-feed-head__new-post .gv-mi {
  font-size: 16px;
  line-height: 1;
}

.gv-feed-head__new-post:hover {
  background: var(--gainvest-blue-dark, #0075bd);
  border-color: rgba(0, 117, 189, 0.28);
}

.gv-feed-head__new-post:active {
  background: #006ba8;
}

.gv-feed-head__new-post:focus-visible {
  outline: 2px solid rgba(0, 143, 232, 0.45);
  outline-offset: 2px;
}

.gv-feed-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
  padding: 18px 22px 24px;
}

.gv-feed-body .gv-alert {
  margin-bottom: 0;
}

/* Feed filters - compact 40px colored bars, no card background */
.gv-feed-filters {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 4px;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

.gv-feed-filters.is-loading {
  opacity: 0.65;
  pointer-events: none;
  filter: saturate(0.85);
  transition: opacity 0.25s ease, filter 0.25s ease;
}

.gv-feed-filters__bar {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 40px;
  min-height: 40px;
}

.gv-feed-filters__tag {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  width: 52px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, 0.45);
}

.gv-feed-filters__tag .gv-mi {
  font-size: 15px;
  opacity: 0.7;
}

.gv-feed-filters__track {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  height: 40px;
  padding: 3px;
  border-radius: 999px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  transition: box-shadow 0.25s ease;
}

.gv-feed-filters__track::-webkit-scrollbar {
  display: none;
}

.gv-feed-filters__track--sort {
  background: linear-gradient(90deg, rgba(37, 99, 235, 0.14), rgba(124, 58, 237, 0.12));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.gv-feed-filters__track--type {
  background: linear-gradient(90deg, rgba(5, 150, 105, 0.12), rgba(37, 99, 235, 0.1), rgba(217, 119, 6, 0.1));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.gv-feed-filter-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  flex-shrink: 0;
  height: 34px;
  padding: 0 13px;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: rgba(15, 23, 42, 0.62);
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition:
    color 0.22s cubic-bezier(0.4, 0, 0.2, 1),
    background 0.22s cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 0.22s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.18s cubic-bezier(0.4, 0, 0.2, 1);
}

.gv-feed-filter-pill .gv-mi {
  font-size: 16px;
  opacity: 0.78;
  transition: opacity 0.22s ease;
}

.gv-feed-filter-pill:hover {
  color: rgba(15, 23, 42, 0.88);
  background: rgba(255, 255, 255, 0.28);
}

.gv-feed-filter-pill:active {
  transform: scale(0.97);
}

.gv-feed-filter-pill.is-active {
  color: #fff;
  background: linear-gradient(135deg, #3b82f6, #6366f1);
  box-shadow: 0 4px 14px rgba(59, 130, 246, 0.38);
}

.gv-feed-filter-pill.is-active .gv-mi {
  opacity: 1;
}

.gv-feed-filter-pill--type.gv-feed-filter-pill--all.is-active {
  background: linear-gradient(135deg, #475569, #334155);
  box-shadow: 0 4px 14px rgba(51, 65, 85, 0.32);
}

.gv-feed-filter-pill--type.gv-feed-filter-pill--post.is-active {
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.38);
}

.gv-feed-filter-pill--type.is-active.gv-feed-filter-pill--review {
  background: linear-gradient(135deg, #f59e0b, #d97706);
  box-shadow: 0 4px 14px rgba(217, 119, 6, 0.38);
}

.gv-feed-filter-pill--type.is-active.gv-feed-filter-pill--question {
  background: linear-gradient(135deg, #8b5cf6, #7c3aed);
  box-shadow: 0 4px 14px rgba(124, 58, 237, 0.38);
}

.gv-feed-filter-pill--type.is-active.gv-feed-filter-pill--payment_proof {
  background: linear-gradient(135deg, #10b981, #059669);
  box-shadow: 0 4px 14px rgba(5, 150, 105, 0.38);
}

.gv-feed-filters__hint {
  margin: 2px 0 0 62px;
  font-size: 11px;
  line-height: 1.35;
  color: rgba(15, 23, 42, 0.45);
}

@media (max-width: 640px) {
  .gv-feed-filters__tag {
    width: 28px;
    overflow: hidden;
  }

  .gv-feed-filters__tag span:not(.gv-mi) {
    display: none;
  }

  .gv-feed-filters__hint {
    margin-left: 38px;
  }
}

.gv-feed-form {
  display: block;
}

/* Social-style post composer */
.gv-feed-composer {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: 20px;
  padding: 18px 20px 16px;
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.04),
    0 12px 32px rgba(15, 23, 42, 0.06);
}

.gv-feed-compose {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.gv-feed-compose__avatar {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 16px;
  color: #fff;
  background: linear-gradient(135deg, #2563eb, #0ea5e9);
  margin-top: 2px;
}

.gv-feed-compose__field {
  flex: 1;
  min-width: 0;
  display: block;
}

.gv-feed-compose__input {
  display: block;
  width: 100%;
  min-height: 44px;
  max-height: 220px;
  padding: 11px 16px;
  border: none;
  border-radius: 24px;
  background: #f1f5f9;
  font-family: inherit;
  font-size: 15px;
  line-height: 1.45;
  color: var(--gv-text, #0f172a);
  resize: none;
  overflow-y: auto;
  transition: background 0.15s, box-shadow 0.15s;
}

.gv-feed-compose__input::placeholder {
  color: #64748b;
}

.gv-feed-compose__input:focus {
  outline: none;
  background: #fff;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.35);
}

.gv-feed-compose__types {
  margin: 0 0 14px;
  padding: 0;
  border: none;
}

.gv-feed-compose__types-label {
  display: block;
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--gv-muted, #64748b);
}

.gv-feed-compose__type-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.gv-feed-type {
  position: relative;
  cursor: pointer;
}

.gv-feed-type__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.gv-feed-type__card {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  height: 100%;
  padding: 10px 11px;
  border-radius: 14px;
  border: 2px solid rgba(15, 23, 42, 0.08);
  background: #f8fafc;
  transition: border-color 0.2s, background 0.2s, box-shadow 0.2s, transform 0.2s;
}

.gv-feed-type__input:checked + .gv-feed-type__card,
.gv-feed-type.is-selected .gv-feed-type__card {
  border-color: var(--gv-type-accent, #2563eb);
  background: var(--gv-type-bg, rgba(37, 99, 235, 0.08));
  box-shadow: 0 8px 20px var(--gv-type-glow, rgba(37, 99, 235, 0.12));
  transform: translateY(-1px);
}

.gv-feed-type__icon {
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: var(--gv-type-accent, #2563eb);
  color: #fff;
  box-shadow: 0 4px 12px var(--gv-type-glow, rgba(37, 99, 235, 0.25));
}

.gv-feed-type__icon .gv-mi {
  font-size: 18px;
}

.gv-feed-type__text {
  min-width: 0;
}

.gv-feed-type__name {
  display: block;
  font-size: 13px;
  font-weight: 800;
  color: var(--gv-text, #0f172a);
  line-height: 1.2;
}

.gv-feed-type__name--short {
  display: none;
}

.gv-feed-type__desc {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  line-height: 1.35;
  color: var(--gv-muted, #64748b);
}

.gv-feed-type--post { --gv-type-accent: #2563eb; --gv-type-bg: rgba(37, 99, 235, 0.08); --gv-type-glow: rgba(37, 99, 235, 0.18); }
.gv-feed-type--review { --gv-type-accent: #d97706; --gv-type-bg: rgba(217, 119, 6, 0.1); --gv-type-glow: rgba(217, 119, 6, 0.2); }
.gv-feed-type--question { --gv-type-accent: #7c3aed; --gv-type-bg: rgba(124, 58, 237, 0.1); --gv-type-glow: rgba(124, 58, 237, 0.2); }
.gv-feed-type--payment_proof { --gv-type-accent: #059669; --gv-type-bg: rgba(5, 150, 105, 0.1); --gv-type-glow: rgba(5, 150, 105, 0.2); }

.gv-feed-compose__image-panel {
  margin: 12px 0 0 56px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, 0.08);
  animation: gvFeedSlideDown 0.2s ease;
}

.gv-feed-compose__image-panel[hidden] {
  display: none !important;
}

@keyframes gvFeedSlideDown {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}

.gv-feed-compose__image-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.gv-feed-compose__image-title {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--gv-text, #0f172a);
}

.gv-feed-compose__image-title .gv-mi {
  font-size: 18px;
  color: #16a34a;
}

.gv-feed-compose__image-close {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: none;
  border-radius: 50%;
  background: rgba(15, 23, 42, 0.06);
  color: var(--gv-muted, #64748b);
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.gv-feed-compose__image-close:hover {
  background: rgba(239, 68, 68, 0.1);
  color: #dc2626;
}

.gv-feed-compose__image-url {
  width: 100%;
}

.gv-feed-compose__image-hint,
.gv-feed-post__edit-image-hint {
  margin: 8px 0 0;
  font-size: 12px;
  color: var(--gv-muted, #64748b);
  line-height: 1.45;
}

.gv-feed-compose__image-hint a,
.gv-feed-post__edit-image-hint a,
.gv-feed-image-host {
  color: #2563eb;
  font-weight: 650;
  text-decoration: none;
  transition: color 0.15s ease;
}

.gv-feed-compose__image-hint a:hover,
.gv-feed-post__edit-image-hint a:hover,
.gv-feed-image-host:hover {
  color: #1d4ed8;
  text-decoration: underline;
}

.gv-feed-compose__image-hint strong,
.gv-feed-post__edit-image-hint strong {
  font-weight: 700;
  color: var(--gv-text, #0f172a);
}

.gv-feed-compose__preview {
  margin: 12px 0 0;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: #0f172a;
}

.gv-feed-compose__preview img {
  display: block;
  width: 100%;
  max-height: 280px;
  object-fit: contain;
}

.gv-feed-compose__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.gv-feed-compose__tools {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.gv-feed-compose__tool {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: none;
  border-radius: 8px;
  background: transparent;
  font-family: inherit;
  font-size: 14px;
  font-weight: 650;
  color: var(--gv-muted, #64748b);
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.gv-feed-compose__tool:hover {
  background: rgba(15, 23, 42, 0.05);
  color: var(--gv-text, #0f172a);
}

.gv-feed-compose__tool[aria-expanded="true"] {
  background: rgba(22, 163, 74, 0.08);
  color: #15803d;
}

.gv-feed-compose__tool-icon {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
}

.gv-feed-compose__tool-icon--photo {
  background: rgba(22, 163, 74, 0.12);
  color: #16a34a;
}

.gv-feed-compose__tool-icon .gv-mi {
  font-size: 20px;
}

.gv-feed-compose__submit {
  padding: 8px 22px;
  border: none;
  border-radius: 8px;
  background: var(--gv-primary, #2563eb);
  color: #fff;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s, opacity 0.15s, transform 0.12s;
}

.gv-feed-compose__submit:hover:not(:disabled) {
  background: #1d4ed8;
  transform: translateY(-1px);
}

.gv-feed-compose__submit:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.gv-feed-list {
  column-count: 3;
  column-gap: 18px;
  flex: 1;
  width: 100%;
}

.gv-feed-empty {
  column-span: all;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  min-height: 280px;
  justify-content: center;
  padding: 56px 24px;
  margin-bottom: 18px;
  text-align: center;
  border-radius: 20px;
  border: 1px dashed rgba(15, 23, 42, 0.1);
  background: #fff;
  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.05);
  color: var(--gv-muted, #64748b);
}

.gv-feed-empty .gv-mi {
  font-size: 2.75rem;
  opacity: 0.4;
}

.gv-feed-post {
  position: relative;
  display: inline-block;
  width: 100%;
  margin: 0 0 18px;
  break-inside: avoid;
  page-break-inside: avoid;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: 20px;
  overflow: hidden;
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.04),
    0 10px 28px rgba(15, 23, 42, 0.06);
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.28s ease;
}

.gv-feed-post:hover {
  transform: translateY(-5px);
  box-shadow:
    0 2px 6px rgba(15, 23, 42, 0.06),
    0 20px 40px rgba(15, 23, 42, 0.12);
}

.gv-feed-post__type-bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-bottom: 8px;
}

.gv-feed-post__minimized-label {
  display: inline-flex;
  align-items: center;
  padding: 4px 9px;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #b45309;
  background: rgba(245, 158, 11, 0.14);
  border: 1px solid rgba(245, 158, 11, 0.35);
}

.gv-feed-post__minimized-label--owner {
  color: #64748b;
  background: rgba(100, 116, 139, 0.1);
  border-color: rgba(100, 116, 139, 0.22);
  text-transform: none;
  font-weight: 700;
  letter-spacing: 0;
  font-size: 11px;
}

.gv-feed-post--minimized {
  opacity: 0.92;
}

.gv-feed-post--minimized .gv-feed-post__pin {
  outline: 1px dashed rgba(245, 158, 11, 0.35);
  outline-offset: -1px;
}

.gv-feed-post__type-label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 9px 4px 7px;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--gv-pin-accent, #2563eb);
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid var(--gv-pin-border, rgba(37, 99, 235, 0.15));
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04);
}

.gv-feed-post__type-label .gv-mi {
  font-size: 13px;
  opacity: 0.9;
}

.gv-feed-post--type-post {
  --gv-pin-accent: #2563eb;
  --gv-pin-bg: rgba(37, 99, 235, 0.06);
  --gv-pin-border: rgba(37, 99, 235, 0.18);
  --gv-pin-glow: rgba(37, 99, 235, 0.28);
}

.gv-feed-post--type-review {
  --gv-pin-accent: #d97706;
  --gv-pin-bg: rgba(217, 119, 6, 0.08);
  --gv-pin-border: rgba(217, 119, 6, 0.22);
  --gv-pin-glow: rgba(217, 119, 6, 0.32);
}

.gv-feed-post--type-question {
  --gv-pin-accent: #7c3aed;
  --gv-pin-bg: rgba(124, 58, 237, 0.08);
  --gv-pin-border: rgba(124, 58, 237, 0.2);
  --gv-pin-glow: rgba(124, 58, 237, 0.3);
}

.gv-feed-post--type-payment_proof {
  --gv-pin-accent: #059669;
  --gv-pin-bg: rgba(5, 150, 105, 0.1);
  --gv-pin-border: rgba(5, 150, 105, 0.2);
  --gv-pin-glow: rgba(5, 150, 105, 0.3);
  border-style: dashed;
  border-color: var(--gv-pin-border);
}

.gv-feed-post__pin {
  padding: 10px 12px 10px;
  background: linear-gradient(165deg, var(--gv-pin-bg, rgba(37, 99, 235, 0.05)) 0%, #fff 62%);
}

.gv-feed-post--media .gv-feed-post__pin {
  border-top: 1px solid rgba(15, 23, 42, 0.06);
}

.gv-feed-post--type-question .gv-feed-post__body {
  font-style: normal;
}

.gv-feed-post--type-question .gv-feed-post__body::before {
  content: "“";
  color: var(--gv-pin-accent);
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 0;
  margin-right: 2px;
}

.gv-feed-post--type-review .gv-feed-post__pin {
  background: linear-gradient(165deg, var(--gv-pin-bg) 0%, #fff 70%);
}

.gv-feed-post--text:not(.gv-feed-post--type-post) .gv-feed-post__pin {
  border-radius: 0 0 20px 20px;
}

.gv-feed-post__body--placeholder {
  font-size: 13px;
  font-weight: 650;
  color: var(--gv-muted, #64748b);
  font-style: italic;
  margin-bottom: 10px;
}

.gv-feed-post__edit-types {
  margin: 0;
  padding: 0;
  border: none;
}

.gv-feed-post__edit-types-label {
  display: block;
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--gv-muted, #64748b);
}

.gv-feed-post__edit-type-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}

.gv-feed-post__edit-type {
  display: inline-flex;
  cursor: pointer;
}

.gv-feed-post__edit-type input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.gv-feed-post__edit-type span {
  display: inline-block;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  border: 1px solid rgba(15, 23, 42, 0.1);
  background: #fff;
  color: var(--gv-muted, #64748b);
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.gv-feed-post__edit-type input:checked + span {
  background: #2563eb;
  border-color: #2563eb;
  color: #fff;
}

.gv-feed-post__head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 8px;
  padding: 0;
  background: transparent;
  border: none;
  overflow: visible;
}

.gv-feed-post__avatar-link {
  flex-shrink: 0;
  text-decoration: none;
  border-radius: 50%;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.gv-feed-post__avatar-link:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.22);
}

.gv-feed-post__user-link {
  display: inline-block;
  text-decoration: none;
  color: inherit;
  border-radius: 6px;
  margin: -2px -4px;
  padding: 2px 4px;
  transition: background 0.15s ease;
}

.gv-feed-post__user-link:hover {
  background: rgba(0, 143, 232, 0.08);
}

.gv-feed-post__user-link:hover .gv-feed-post__user {
  color: var(--gainvest-blue);
}

.gv-feed-post__avatar {
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 13px;
  color: #fff;
  background: linear-gradient(135deg, #2563eb, #0ea5e9);
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.25);
}

.gv-feed-post__user {
  display: block;
  font-size: 13px;
  font-weight: 750;
  color: var(--gv-text, #0f172a);
  line-height: 1.25;
}

.gv-feed-post__time {
  display: block;
  font-size: 11px;
  color: var(--gv-muted, #64748b);
}

.gv-feed-post__meta {
  flex: 1;
  min-width: 0;
}

.gv-feed-post__menu {
  position: relative;
  flex-shrink: 0;
}

.gv-feed-post__menu-btn {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: var(--gv-muted, #64748b);
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.gv-feed-post__menu-btn:hover,
.gv-feed-post__menu-btn[aria-expanded="true"] {
  background: rgba(15, 23, 42, 0.06);
  color: var(--gv-text, #0f172a);
}

.gv-feed-post__menu-btn .gv-mi {
  font-size: 20px;
}

.gv-feed-post__menu-panel {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  z-index: 30;
  min-width: 180px;
  padding: 6px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
}

.gv-feed-post__menu-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 9px 12px;
  border: none;
  border-radius: 8px;
  background: transparent;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  color: var(--gv-text, #0f172a);
  text-align: left;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.gv-feed-post__menu-item .gv-mi {
  font-size: 18px;
  color: var(--gv-muted, #64748b);
}

.gv-feed-post__menu-item:hover {
  background: rgba(15, 23, 42, 0.05);
}

.gv-feed-post__menu-item--danger {
  color: #dc2626;
}

.gv-feed-post__menu-item--danger .gv-mi {
  color: #dc2626;
}

.gv-feed-post__menu-item--danger:hover {
  background: rgba(239, 68, 68, 0.08);
}

.gv-feed-post__menu-form {
  margin: 0;
}

.gv-feed-post__menu-divider {
  height: 1px;
  margin: 4px 8px;
  background: rgba(15, 23, 42, 0.08);
}

.gv-feed-post__content {
  padding: 0;
}

.gv-feed-post__edit {
  margin: 0;
  padding: 0 14px 14px;
}

.gv-feed-post__edit-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, 0.08);
}

.gv-feed-post__edit-body {
  width: 100%;
  min-height: 72px;
  max-height: 220px;
  padding: 10px 12px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 10px;
  background: #fff;
  font-family: inherit;
  font-size: 15px;
  line-height: 1.5;
  color: var(--gv-text, #0f172a);
  resize: vertical;
}

.gv-feed-post__edit-body:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

.gv-feed-post__edit-field--image {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.gv-feed-post__edit-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 650;
  color: var(--gv-muted, #64748b);
}

.gv-feed-post__edit-optional {
  font-weight: 500;
  opacity: 0.85;
}

.gv-feed-post__edit-image {
  font-size: 14px;
}

.gv-feed-post__edit-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 2px;
}

.gv-feed-post.is-editing .gv-feed-post__media {
  opacity: 0.45;
  pointer-events: none;
}

.gv-feed-post.is-editing .gv-feed-post__reactions {
  opacity: 0.55;
  pointer-events: none;
}

.gv-feed-post__body {
  font-size: 14px;
  line-height: 1.55;
  color: var(--gv-text, #0f172a);
  word-break: break-word;
  margin: 0 0 10px;
  display: -webkit-box;
  -webkit-line-clamp: 8;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.gv-feed-post--text .gv-feed-post__body {
  -webkit-line-clamp: 12;
  font-size: 15px;
  line-height: 1.6;
}

.gv-feed-post__media {
  position: relative;
  margin: 0;
  border-radius: 0;
  overflow: hidden;
  background: #e2e8f0;
}

.gv-feed-post__media-frame {
  display: none;
}

.gv-feed-post__media-trigger {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: none;
  overflow: hidden;
  background: #e2e8f0;
  cursor: zoom-in;
  text-align: left;
  min-height: 140px;
}

.gv-feed-post__media.is-loaded .gv-feed-post__media-trigger {
  min-height: 0;
}

.gv-feed-post__media-shimmer {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    105deg,
    rgba(255, 255, 255, 0) 35%,
    rgba(255, 255, 255, 0.12) 50%,
    rgba(255, 255, 255, 0) 65%
  );
  background-size: 220% 100%;
  animation: gvFeedShimmer 1.4s ease-in-out infinite;
  pointer-events: none;
}

.gv-feed-post__media.is-loaded .gv-feed-post__media-shimmer,
.gv-feed-post__media.is-broken .gv-feed-post__media-shimmer {
  display: none;
}

@keyframes gvFeedShimmer {
  0% { background-position: 120% 0; }
  100% { background-position: -120% 0; }
}

.gv-feed-post__img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: cover;
  object-position: center;
  background: #e2e8f0;
  transform: scale(1);
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), filter 0.3s ease;
}

.gv-feed-post:hover .gv-feed-post__img {
  transform: scale(1.04);
}

.gv-feed-post__media.is-loading .gv-feed-post__img {
  opacity: 0;
  min-height: 180px;
}

.gv-feed-post__media.is-loaded .gv-feed-post__img {
  opacity: 1;
  animation: gvFeedImgIn 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes gvFeedImgIn {
  from { opacity: 0; transform: scale(1.03); filter: blur(6px); }
  to { opacity: 1; transform: scale(1); filter: blur(0); }
}

.gv-feed-post__media-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  padding: 12px;
  background: linear-gradient(to bottom, rgba(15, 23, 42, 0.35) 0%, transparent 42%);
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
}

.gv-feed-post__media-trigger:hover .gv-feed-post__media-overlay,
.gv-feed-post__media-trigger:focus-visible .gv-feed-post__media-overlay {
  opacity: 1;
}

.gv-feed-post__media-trigger:hover .gv-feed-post__img,
.gv-feed-post__media-trigger:focus-visible .gv-feed-post__img {
  transform: scale(1.05);
}

.gv-feed-post__media-zoom {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.95);
  color: #0f172a;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
  transform: scale(0.9);
  transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1);
}

.gv-feed-post__media-trigger:hover .gv-feed-post__media-zoom {
  transform: scale(1);
}

.gv-feed-post__media-zoom .gv-mi {
  font-size: 20px;
}

.gv-feed-post__media-trigger:hover .gv-feed-post__media-zoom {
  transform: translateY(0);
}

.gv-feed-post__media-zoom .gv-mi {
  font-size: 16px;
}

.gv-feed-post__media-fallback {
  display: none;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 32px 20px;
  text-align: center;
  font-size: 13px;
  color: var(--gv-muted, #64748b);
  background: linear-gradient(160deg, #f8fafc, #f1f5f9);
  border: 1px dashed rgba(15, 23, 42, 0.12);
  border-radius: 14px;
}

.gv-feed-post__media-fallback .gv-mi {
  font-size: 2rem;
  opacity: 0.4;
}

.gv-feed-post__media-fallback p {
  margin: 0;
  font-weight: 600;
}

.gv-feed-post__media-fallback a {
  color: var(--gv-primary, #2563eb);
  font-weight: 700;
  text-decoration: none;
}

.gv-feed-post__media-fallback a:hover {
  text-decoration: underline;
}

.gv-feed-post__media.is-broken .gv-feed-post__media-frame {
  display: none;
}

.gv-feed-post__media.is-broken .gv-feed-post__media-fallback {
  display: flex;
}

/* Feed image lightbox */
body.gv-lightbox-open {
  overflow: hidden;
}

.gv-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  animation: gvLightboxIn 0.28s ease;
}

.gv-lightbox[hidden] {
  display: none !important;
}

@keyframes gvLightboxIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.gv-lightbox__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.88);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.gv-lightbox__panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: min(960px, 96vw);
  max-height: 92vh;
  border-radius: 16px;
  overflow: hidden;
  background: #0f172a;
  box-shadow:
    0 24px 80px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(255, 255, 255, 0.08);
  animation: gvLightboxPanelIn 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes gvLightboxPanelIn {
  from { opacity: 0; transform: scale(0.94) translateY(12px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

.gv-lightbox__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.06);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.gv-lightbox__title {
  font-size: 13px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.85);
  letter-spacing: 0.02em;
}

.gv-lightbox__actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.gv-lightbox__open-tab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.9);
  font-size: 12px;
  font-weight: 650;
  text-decoration: none;
  transition: background 0.15s;
}

.gv-lightbox__open-tab:hover {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
}

.gv-lightbox__open-tab .gv-mi {
  font-size: 16px;
}

.gv-lightbox__close {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  cursor: pointer;
  transition: background 0.15s, transform 0.15s;
}

.gv-lightbox__close:hover {
  background: rgba(239, 68, 68, 0.85);
  transform: scale(1.05);
}

.gv-lightbox__close .gv-mi {
  font-size: 20px;
}

.gv-lightbox__stage {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  max-height: calc(92vh - 56px);
  padding: 16px;
  background: radial-gradient(ellipse at center, #1e293b 0%, #0f172a 70%);
  overflow: auto;
}

.gv-lightbox__loader {
  position: absolute;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 3px solid rgba(255, 255, 255, 0.15);
  border-top-color: #fff;
  animation: gvLightboxSpin 0.75s linear infinite;
}

.gv-lightbox__loader[hidden] {
  display: none;
}

@keyframes gvLightboxSpin {
  to { transform: rotate(360deg); }
}

.gv-lightbox__img {
  display: block;
  max-width: 100%;
  max-height: calc(92vh - 88px);
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
  opacity: 0;
  transition: opacity 0.25s ease;
}

.gv-lightbox__img.is-ready {
  opacity: 1;
}

.gv-feed-post__reactions {
  position: relative;
  padding: 8px 0 0;
  margin: 0;
  border-top: 1px solid rgba(15, 23, 42, 0.06);
  overflow: visible;
}

.gv-feed-react-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1px;
}

.gv-feed-react {
  --gv-react-accent: #64748b;
  --gv-react-tint: rgba(15, 23, 42, 0.05);

  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-height: 28px;
  padding: 3px 6px;
  border: none;
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
  font-size: 11px;
  font-weight: 600;
  color: #64748b;
  line-height: 1;
  overflow: visible;
  transition: background 0.15s ease, transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), color 0.15s;
}

.gv-feed-react:hover {
  background: rgba(15, 23, 42, 0.06);
  transform: scale(1.06);
}

.gv-feed-react__emoji {
  font-size: 0.92rem;
  line-height: 1;
  display: block;
  transition: transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.gv-feed-react:hover .gv-feed-react__emoji {
  transform: scale(1.15);
}

.gv-feed-react__count {
  font-size: 11px;
  font-weight: 700;
  color: inherit;
  min-width: 0;
}

.gv-feed-react__count:empty {
  display: none;
}

.gv-feed-react.is-active {
  background: var(--gv-react-tint);
  color: var(--gv-react-accent);
}

.gv-feed-react.is-popping {
  animation: gvReactPop 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes gvReactPop {
  0% { transform: scale(1); }
  40% { transform: scale(1.2); }
  100% { transform: scale(1); }
}

.gv-feed-react__ripple {
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  border: 1.5px solid var(--gv-react-accent);
  opacity: 0.45;
  animation: gvReactRipple 0.55s ease-out forwards;
  pointer-events: none;
}

@keyframes gvReactRipple {
  from { transform: scale(0.85); opacity: 0.5; }
  to { transform: scale(1.35); opacity: 0; }
}

.gv-feed-react__particle {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 10;
  font-size: 0.85rem;
  line-height: 1;
  pointer-events: none;
  animation: gvReactBurst 0.75s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: var(--gv-burst-delay, 0s);
}

@keyframes gvReactBurst {
  0% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(0.4);
  }
  100% {
    opacity: 0;
    transform: translate(calc(-50% + var(--gv-burst-x, 0px)), calc(-50% + var(--gv-burst-y, -28px))) scale(var(--gv-burst-scale, 1));
  }
}

.gv-feed-react--heart { --gv-react-accent: #e11d48; --gv-react-tint: rgba(225, 29, 72, 0.1); }
.gv-feed-react--money { --gv-react-accent: #059669; --gv-react-tint: rgba(5, 150, 105, 0.1); }
.gv-feed-react--fire  { --gv-react-accent: #ea580c; --gv-react-tint: rgba(234, 88, 12, 0.1); }
.gv-feed-react--laugh { --gv-react-accent: #ca8a04; --gv-react-tint: rgba(202, 138, 4, 0.1); }
.gv-feed-react--sad   { --gv-react-accent: #2563eb; --gv-react-tint: rgba(37, 99, 235, 0.1); }
.gv-feed-react--wow   { --gv-react-accent: #9333ea; --gv-react-tint: rgba(147, 51, 234, 0.1); }

.gv-feed-react.is-active .gv-feed-react__emoji {
  animation: gvReactEmojiWiggle 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes gvReactEmojiWiggle {
  0%, 100% { transform: rotate(0deg) scale(1); }
  30% { transform: rotate(-8deg) scale(1.12); }
  70% { transform: rotate(6deg) scale(1.08); }
}

.gv-feed-react__count.is-bumping {
  animation: gvCountPop 0.38s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes gvCountPop {
  0% { transform: scale(1); }
  45% { transform: scale(1.3); }
  100% { transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .gv-feed-post__img,
  .gv-feed-post__media-overlay,
  .gv-feed-react,
  .gv-feed-react__emoji,
  .gv-feed-react__particle,
  .gv-feed-react__ripple,
  .gv-feed-react__count.is-bumping,
  .gv-lightbox,
  .gv-lightbox__panel {
    animation: none !important;
    transition: none !important;
  }
}

.gv-feed-load-more {
  display: flex;
  justify-content: center;
  padding: 4px 0 16px;
  margin-top: 4px;
  column-span: all;
  width: 100%;
}

/* Comments */
.gv-feed-post__comments {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid rgba(15, 23, 42, 0.06);
}

.gv-feed-comment-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border: none;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.04);
  color: var(--gv-muted, #64748b);
  font-family: inherit;
  font-size: 12px;
  font-weight: 650;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.gv-feed-comment-toggle:hover,
.gv-feed-comment-toggle[aria-expanded="true"] {
  background: rgba(37, 99, 235, 0.1);
  color: #2563eb;
}

.gv-feed-comment-toggle .gv-mi {
  font-size: 17px;
}

.gv-feed-comment-count {
  display: inline-grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: rgba(37, 99, 235, 0.12);
  color: #2563eb;
  font-size: 11px;
  font-weight: 800;
}

.gv-feed-comment-count:empty {
  display: none;
}

.gv-feed-comments-panel {
  margin-top: 10px;
}

.gv-feed-comments-list {
  list-style: none;
  margin: 0 0 10px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 220px;
  overflow-y: auto;
}

.gv-feed-comment {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.gv-feed-comment__profile {
  flex-shrink: 0;
  text-decoration: none;
  border-radius: 50%;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.gv-feed-comment__profile:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.22);
}

.gv-feed-comment__user-link {
  text-decoration: none;
  color: inherit;
}

.gv-feed-comment__user-link:hover .gv-feed-comment__user {
  color: var(--gainvest-blue);
}

.gv-feed-comment__avatar {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 11px;
  font-weight: 800;
  color: #fff;
  background: linear-gradient(135deg, #64748b, #475569);
}

.gv-feed-comment__bubble {
  flex: 1;
  min-width: 0;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.04);
  border: 1px solid rgba(15, 23, 42, 0.06);
}

.gv-feed-comment__head {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 3px;
}

.gv-feed-comment__user {
  font-size: 11px;
  font-weight: 750;
  color: var(--gv-text, #0f172a);
}

.gv-feed-comment__time {
  font-size: 10px;
  color: var(--gv-muted, #64748b);
}

.gv-feed-comment__delete {
  margin-left: auto;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: var(--gv-muted, #64748b);
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.gv-feed-comment__delete:hover {
  background: rgba(239, 68, 68, 0.1);
  color: #dc2626;
}

.gv-feed-comment__delete .gv-mi {
  font-size: 14px;
}

.gv-feed-comment__body {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  color: var(--gv-text, #0f172a);
  word-break: break-word;
}

.gv-feed-comment-form {
  display: flex;
  align-items: center;
  gap: 6px;
}

.gv-feed-comment-input {
  flex: 1;
  min-width: 0;
  padding: 9px 12px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 999px;
  background: #fff;
  font-family: inherit;
  font-size: 13px;
  color: var(--gv-text, #0f172a);
  transition: border-color 0.15s, box-shadow 0.15s;
}

.gv-feed-comment-input:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.gv-feed-comment-submit {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  cursor: pointer;
  transition: background 0.15s, transform 0.12s;
}

.gv-feed-comment-submit:hover:not(:disabled) {
  background: #1d4ed8;
  transform: scale(1.05);
}

.gv-feed-comment-submit:disabled {
  opacity: 0.55;
  cursor: wait;
}

.gv-feed-comment-submit .gv-mi {
  font-size: 18px;
}

.gv-feed-load-more__btn {
  min-width: 200px;
  padding: 12px 24px;
  border-radius: 999px;
  font-weight: 700;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.gv-feed-load-more__btn:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
}

.gv-feed-load-more__btn:disabled {
  opacity: 0.65;
  cursor: wait;
}

.gv-feed-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 8px 0 4px;
  margin-top: auto;
}

.gv-feed-pagination__meta {
  font-size: 13px;
  color: var(--gv-muted, #64748b);
}

@media (max-width: 1100px) {
  .gv-feed-list {
    column-count: 2;
    column-gap: 16px;
  }
}

@media (max-width: 768px) {
  .gv-feed-compose__types-label {
    margin-bottom: 7px;
    font-size: 10px;
  }

  .gv-feed-compose__type-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
  }

  .gv-feed-type__card {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 6px 3px;
    border-radius: 10px;
    border-width: 1.5px;
    text-align: center;
  }

  .gv-feed-type__input:checked + .gv-feed-type__card,
  .gv-feed-type.is-selected .gv-feed-type__card {
    transform: none;
    box-shadow: 0 2px 10px var(--gv-type-glow, rgba(37, 99, 235, 0.12));
  }

  .gv-feed-type__icon {
    width: 26px;
    height: 26px;
    border-radius: 8px;
    box-shadow: none;
  }

  .gv-feed-type__icon .gv-mi {
    font-size: 15px;
  }

  .gv-feed-type__text {
    width: 100%;
  }

  .gv-feed-type__name:not(.gv-feed-type__name--short) {
    display: none;
  }

  .gv-feed-type__name--short {
    display: block;
    font-size: 9px;
    font-weight: 800;
    line-height: 1.1;
  }

  .gv-feed-type__desc {
    display: none;
  }
}

@media (max-width: 640px) {
  body.gv-feed-page .gv-main {
    min-height: 480px;
  }

  .gv-feed-head,
  .gv-feed-body {
    padding-left: 12px;
    padding-right: 12px;
  }

  .gv-feed-head {
    padding-top: 14px;
    padding-bottom: 14px;
  }

  .gv-feed-body {
    padding-top: 14px;
    padding-bottom: 18px;
  }

  .gv-feed-list {
    column-count: 1;
    column-gap: 0;
  }

  .gv-feed-post {
    margin-bottom: 14px;
  }

  .gv-feed-post__edit {
    padding: 0 12px 12px;
  }

  .gv-feed-compose__image-panel {
    margin-left: 0;
  }
}

/* Onboarding tour (new members) */
.gv-tour {
  position: fixed;
  inset: 0;
  z-index: 12000;
  pointer-events: none;
}

.gv-tour__backdrop {
  position: absolute;
  inset: 0;
  background: transparent;
  pointer-events: auto;
}

.gv-tour__spotlight {
  position: fixed;
  border-radius: 12px;
  box-shadow:
    0 0 0 9999px rgba(8, 28, 44, 0.62),
    0 0 0 2px rgba(255, 255, 255, 0.95),
    0 8px 28px rgba(0, 143, 232, 0.28);
  pointer-events: none;
  transition: top 0.25s ease, left 0.25s ease, width 0.25s ease, height 0.25s ease;
  z-index: 1;
}

.gv-tour-target {
  position: relative;
  z-index: 12001 !important;
}

.gv-tour__popover {
  position: fixed;
  z-index: 2;
  width: min(360px, calc(100vw - 24px));
  padding: 18px 18px 16px;
  border-radius: 14px;
  border: 1px solid rgba(185, 210, 223, 0.75);
  background: linear-gradient(165deg, #ffffff 0%, #f4faff 100%);
  box-shadow: 0 18px 48px rgba(12, 52, 78, 0.22);
  pointer-events: auto;
  font-family: "Plus Jakarta Sans", var(--gainvest-font);
}

.gv-tour__progress {
  height: 4px;
  margin: 0 0 12px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--gainvest-blue), var(--gainvest-red));
  transition: width 0.25s ease;
}

.gv-tour__eyebrow {
  margin: 0 0 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6b8494;
}

.gv-tour__title {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--gainvest-navy);
  line-height: 1.25;
}

.gv-tour__body {
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 1.55;
  color: #4a6574;
}

.gv-tour__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.gv-tour__skip {
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  color: #7a929f;
  cursor: pointer;
}

.gv-tour__skip:hover {
  color: var(--gainvest-navy);
}

.gv-tour__nav {
  display: flex;
  align-items: center;
  gap: 8px;
}

@media (max-width: 900px) {
  .gv-tour__popover {
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    bottom: max(12px, env(safe-area-inset-bottom, 0px)) !important;
    top: auto !important;
    max-height: min(42vh, 320px);
    overflow-y: auto;
  }

  .gv-tour__title {
    font-size: 16px;
  }

  .gv-tour__body {
    font-size: 13px;
  }
}

/* Member profile */
body.gv-member-page .gv-main {
  padding: 22px clamp(16px, 3.5vw, 36px) 32px;
  background:
    radial-gradient(900px 420px at 8% -10%, rgba(236, 72, 153, 0.06), transparent 55%),
    radial-gradient(700px 380px at 92% 0%, rgba(37, 99, 235, 0.07), transparent 50%),
    #f4f2ef;
}

.gv-member {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}

.gv-member-empty {
  text-align: center;
  padding: 48px 20px;
  border-radius: 16px;
  border: 1px dashed rgba(185, 210, 223, 0.9);
  background: rgba(255, 255, 255, 0.72);
}

.gv-member-empty .gv-mi {
  font-size: 42px;
  color: #94a3b8;
}

.gv-member-empty h1 {
  margin: 10px 0 6px;
  font-size: 22px;
  color: var(--gainvest-navy);
}

.gv-member-empty p {
  margin: 0 0 16px;
  color: #64748b;
}

.gv-member-hero {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid rgba(185, 210, 223, 0.72);
  background: #fff;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 16px 40px rgba(12, 52, 78, 0.08);
}

.gv-member-hero__cover {
  position: relative;
  height: 128px;
  background:
    linear-gradient(120deg, rgba(0, 143, 232, 0.92) 0%, rgba(0, 98, 180, 0.88) 42%, rgba(236, 0, 68, 0.82) 100%);
  overflow: hidden;
}

.gv-member-hero__cover-glow {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(280px 120px at 12% 20%, rgba(255, 255, 255, 0.28), transparent 70%),
    radial-gradient(240px 100px at 88% 10%, rgba(255, 255, 255, 0.18), transparent 68%),
    linear-gradient(180deg, transparent 40%, rgba(8, 28, 44, 0.08) 100%);
}

.gv-member-hero__body {
  position: relative;
  padding: 0 clamp(18px, 3vw, 28px) clamp(20px, 3vw, 28px);
}

.gv-member-hero__top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin-top: -34px;
}

.gv-member-hero__avatar-wrap {
  position: relative;
  flex-shrink: 0;
}

.gv-member-hero__avatar {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  overflow: hidden;
  background: linear-gradient(145deg, #dbeafe 0%, #eff6ff 100%);
  border: 4px solid #fff;
  box-shadow: 0 10px 28px rgba(37, 99, 235, 0.32);
}

.gv-member-hero__avatar img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center 12%;
}

.gv-member-hero__badge {
  position: absolute;
  left: 50%;
  bottom: -8px;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px 9px 3px 6px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #0f4c75;
  background: #fff;
  border: 1px solid rgba(185, 210, 223, 0.85);
  box-shadow: 0 4px 12px rgba(12, 52, 78, 0.08);
  white-space: nowrap;
}

.gv-member-hero__badge .gv-mi {
  font-size: 13px;
  color: var(--gainvest-blue);
}

.gv-member-hero__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
  padding-bottom: 6px;
}

.gv-member-hero__follow,
.gv-member-hero__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 38px;
  padding: 0 16px;
  border-radius: 999px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.gv-member-hero__follow {
  border: none;
  color: #fff;
  background: linear-gradient(135deg, var(--gainvest-blue) 0%, #0066b8 100%);
  box-shadow: 0 8px 20px rgba(0, 143, 232, 0.28);
}

.gv-member-hero__follow:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(0, 143, 232, 0.34);
}

.gv-member-hero__follow.is-following {
  color: var(--gainvest-navy);
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.14);
  box-shadow: none;
}

.gv-member-hero__follow.is-following:hover {
  color: var(--gainvest-red);
  border-color: rgba(236, 0, 68, 0.28);
  background: rgba(236, 0, 68, 0.06);
}

.gv-member-hero__action--ghost {
  color: #4a6574;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(185, 210, 223, 0.85);
  box-shadow: 0 4px 14px rgba(12, 52, 78, 0.05);
}

.gv-member-hero__action--ghost:hover {
  color: var(--gainvest-navy);
  border-color: rgba(0, 143, 232, 0.35);
  background: #fff;
}

.gv-member-hero__follow .gv-mi,
.gv-member-hero__action .gv-mi {
  font-size: 18px;
}

.gv-member-hero__identity {
  margin-top: 18px;
}

.gv-member-hero__eyebrow {
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #7a929f;
}

.gv-member-hero__handle {
  margin: 0;
  font-size: clamp(24px, 3.2vw, 30px);
  font-weight: 800;
  letter-spacing: -0.04em;
  color: var(--gainvest-navy);
  line-height: 1.1;
}

.gv-member-hero__name {
  margin: 6px 0 0;
  font-size: 16px;
  font-weight: 600;
  color: #4a6574;
}

.gv-member-hero__bio {
  margin: 8px 0 0;
  max-width: 42ch;
  font-size: 13px;
  line-height: 1.5;
  color: var(--gainvest-muted);
}

.gv-member-hero__since {
  margin: 10px 0 0;
}

.gv-member-hero__since-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 11px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  color: #5f7786;
  background: rgba(244, 249, 252, 0.95);
  border: 1px solid rgba(185, 210, 223, 0.65);
}

.gv-member-hero__since-chip .gv-mi {
  font-size: 15px;
  color: var(--gainvest-blue);
}

.gv-member-hero__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(185, 210, 223, 0.65);
}

.gv-member-hero__stat {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 12px 12px;
  border-radius: 14px;
  background: linear-gradient(165deg, #fafdff 0%, #f3f8fc 100%);
  border: 1px solid rgba(185, 210, 223, 0.55);
}

.gv-member-hero__stat-icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: #fff;
  border: 1px solid rgba(185, 210, 223, 0.55);
  box-shadow: 0 4px 10px rgba(12, 52, 78, 0.05);
}

.gv-member-hero__stat-icon .gv-mi {
  font-size: 18px;
}

.gv-member-hero__stat--posts .gv-member-hero__stat-icon .gv-mi {
  color: var(--gainvest-blue);
}

.gv-member-hero__stat--followers .gv-member-hero__stat-icon .gv-mi {
  color: #7c3aed;
}

.gv-member-hero__stat--following .gv-member-hero__stat-icon .gv-mi {
  color: #059669;
}

.gv-member-hero__stat-copy {
  min-width: 0;
}

.gv-member-hero__stat-copy strong {
  display: block;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--gainvest-navy);
  line-height: 1.05;
}

.gv-member-hero__stat-copy span {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #7a929f;
}

.gv-member-posts {
  padding: clamp(18px, 3vw, 26px);
  border-radius: 22px;
  border: 1px solid rgba(185, 210, 223, 0.65);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 251, 253, 0.98) 100%);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 14px 36px rgba(12, 52, 78, 0.07);
}

.gv-member-page .gv-member-posts .gv-feed-list,
.gv-member-feed {
  column-count: 1;
  column-gap: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.gv-member-posts__head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(185, 210, 223, 0.55);
}

.gv-member-posts__head-copy {
  flex: 1;
  min-width: 0;
}

.gv-member-posts__eyebrow {
  margin: 0 0 4px;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #7a929f;
}

.gv-member-posts__head-icon {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  color: var(--gainvest-blue);
  background: linear-gradient(145deg, rgba(0, 143, 232, 0.14), rgba(0, 143, 232, 0.06));
  border: 1px solid rgba(0, 143, 232, 0.16);
  box-shadow: 0 8px 18px rgba(0, 143, 232, 0.12);
}

.gv-member-posts__head-icon .gv-mi {
  font-size: 22px;
}

.gv-member-posts__head h2 {
  margin: 0 0 4px;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--gainvest-navy);
}

.gv-member-posts__head p {
  margin: 0;
  font-size: 13px;
  color: #64748b;
}

.gv-member-posts__count {
  flex-shrink: 0;
  align-self: center;
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 750;
  color: #0f4c75;
  background: rgba(0, 143, 232, 0.08);
  border: 1px solid rgba(0, 143, 232, 0.14);
}

.gv-member-feed__empty {
  margin: 0;
  min-height: 220px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.88);
}

.gv-member-feed__empty .gv-btn {
  margin-top: 6px;
}

/* Member timeline cards — smoother, profile-focused */
.gv-member-page .gv-member-feed .gv-feed-post {
  display: block;
  margin: 0;
  opacity: 0;
  transform: translateY(18px) scale(0.985);
  border-radius: 18px;
  border: 1px solid rgba(15, 23, 42, 0.06);
  background: #fff;
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.03),
    0 10px 26px rgba(12, 52, 78, 0.06);
  transition:
    opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.28s ease;
  transition-delay: var(--gv-member-delay, 0ms);
  will-change: opacity, transform;
}

.gv-member-page .gv-member-feed .gv-feed-post.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.gv-member-page .gv-member-feed .gv-feed-post:hover {
  transform: translateY(-3px) scale(1);
  box-shadow:
    0 2px 8px rgba(15, 23, 42, 0.05),
    0 18px 36px rgba(12, 52, 78, 0.1);
}

.gv-member-page .gv-member-feed .gv-feed-post.is-visible:hover {
  transform: translateY(-3px);
}

/* Cleaner header on profile (less redundant chrome) */
.gv-member-page .gv-member-feed .gv-feed-post__avatar-link {
  display: none;
}

.gv-member-page .gv-member-feed .gv-feed-post__user-link {
  pointer-events: none;
}

.gv-member-page .gv-member-feed .gv-feed-post__user {
  font-size: 13px;
  font-weight: 750;
  letter-spacing: -0.01em;
}

.gv-member-page .gv-member-feed .gv-feed-post__head {
  align-items: center;
  gap: 10px;
  margin-bottom: 4px;
}

.gv-member-page .gv-member-feed .gv-feed-post__meta {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.gv-member-page .gv-member-feed .gv-feed-post__time {
  font-size: 12px;
  color: #7a929f;
}

.gv-member-page .gv-member-feed .gv-feed-post__time::before {
  content: '·';
  margin-right: 8px;
  opacity: 0.55;
}

.gv-member-page .gv-member-feed .gv-feed-post__pin {
  padding: 14px 16px 12px;
}

.gv-member-page .gv-member-feed .gv-feed-post--media .gv-feed-post__pin {
  padding-top: 12px;
}

.gv-member-page .gv-member-feed .gv-feed-post__type-bar {
  margin-bottom: 10px;
  justify-content: flex-start;
}

.gv-member-page .gv-member-feed .gv-feed-post__body {
  font-size: 15px;
  line-height: 1.55;
  color: #1e3345;
}

.gv-member-page .gv-member-feed .gv-feed-post__media {
  border-radius: 0;
  background: #0b1f2e;
}

.gv-member-page .gv-member-feed .gv-feed-post__img {
  max-height: 420px;
  object-fit: cover;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease;
}

.gv-member-page .gv-member-feed .gv-feed-post:hover .gv-feed-post__img {
  transform: scale(1.02);
}

.gv-member-page .gv-member-feed .gv-feed-react-bar {
  gap: 6px;
}

.gv-member-page .gv-member-feed .gv-feed-react {
  transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.gv-member-page .gv-member-feed .gv-feed-react:hover {
  transform: translateY(-1px) scale(1.04);
}

.gv-member-page .gv-member-feed .gv-feed-react.is-active {
  transform: scale(1.05);
}

.gv-member-page .gv-member-feed .gv-feed-comments-panel {
  transition: opacity 0.25s ease;
}

.gv-member-page .gv-member-feed .gv-feed-comment-toggle {
  transition: color 0.15s ease, background 0.15s ease;
}

@media (min-width: 860px) {
  .gv-member-page .gv-member-posts .gv-feed-list,
  .gv-member-feed {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    column-count: unset;
  }

  .gv-member-page .gv-member-feed .gv-feed-empty,
  .gv-member-feed__empty {
    grid-column: 1 / -1;
  }

  .gv-member-page .gv-member-feed .gv-feed-post--media {
    grid-row: span 1;
  }
}

@media (max-width: 760px) {
  body.gv-member-page .gv-main {
    padding: 16px 14px 24px;
  }

  .gv-member {
    gap: 18px;
  }

  .gv-member-hero__cover {
    height: 108px;
  }

  .gv-member-hero__top {
    flex-direction: column;
    align-items: stretch;
    margin-top: -42px;
  }

  .gv-member-hero__avatar-wrap {
    align-self: flex-start;
  }

  .gv-member-hero__actions {
    width: 100%;
    justify-content: stretch;
    padding-bottom: 0;
  }

  .gv-member-hero__follow,
  .gv-member-hero__action {
    flex: 1 1 0;
  }

  .gv-member-hero__stats {
    grid-template-columns: 1fr;
  }

  .gv-member-hero__stat {
    padding: 12px 14px;
  }

  .gv-member-posts {
    padding: 16px 14px 18px;
  }

  .gv-member-posts__head {
    flex-wrap: wrap;
  }

  .gv-member-posts__count {
    width: 100%;
    text-align: center;
  }

  .gv-member-page .gv-member-posts .gv-feed-list,
  .gv-member-feed {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gv-member-page .gv-member-feed .gv-feed-post {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .gv-member-page .gv-member-feed .gv-feed-post:hover,
  .gv-member-page .gv-member-feed .gv-feed-react:hover,
  .gv-member-page .gv-member-feed .gv-feed-post:hover .gv-feed-post__img {
    transform: none;
  }
}

/* Price predictions */
.gv-pred {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.gv-pred-hero {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 18px 20px;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background:
    radial-gradient(520px 200px at 0% 0%, rgba(255, 255, 255, 0.14), transparent 58%),
    radial-gradient(380px 180px at 100% 100%, rgba(0, 200, 255, 0.2), transparent 60%),
    linear-gradient(135deg, #0c3550 0%, #145a82 48%, #1a6fa0 100%);
  color: #fff;
  box-shadow: 0 10px 28px rgba(15, 61, 92, 0.22);
}

.gv-pred-hero__glow {
  position: absolute;
  inset: -20% 40% -30% -10%;
  background: radial-gradient(closest-side, rgba(0, 180, 255, 0.28), transparent 72%);
  pointer-events: none;
  filter: blur(10px);
}

.gv-pred-hero__head {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
}

.gv-pred-hero__copy {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.gv-pred-hero__eyebrow {
  margin: 0 0 4px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #8ec5ef;
}

.gv-pred-hero__title {
  margin: 0;
  font-size: clamp(18px, 2.4vw, 26px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.15;
}

.gv-pred-hero__lead {
  position: relative;
  z-index: 1;
  margin: 0;
  max-width: 58ch;
  font-size: 13px;
  line-height: 1.5;
  color: rgba(226, 238, 247, 0.9);
}

.gv-pred-hero__lead strong {
  color: #fff;
}

.gv-pred-hero__rules {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  font-size: 11px;
  font-weight: 700;
  color: rgba(226, 238, 247, 0.82);
}

.gv-pred-hero__rules span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.gv-pred-hero__rule-short {
  display: none;
}

.gv-pred-hero__rules .gv-mi {
  font-size: 15px;
  color: #9fd4ff;
}

.gv-pred-hero__balance {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  min-width: 150px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
}

.gv-pred-hero__balance-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
}

.gv-pred-hero__balance-value {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}

.gv-pred-hero__balance .gv-btn--outline {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.34);
  color: #fff !important;
}

@media (min-width: 761px) {
  .gv-pred-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 240px;
    grid-template-areas:
      "copy balance"
      "lead balance"
      "rules balance";
    align-items: center;
    column-gap: 28px;
    row-gap: 12px;
    padding: 26px 28px;
    border-radius: 20px;
    background:
      radial-gradient(560px 240px at 0% -10%, rgba(255, 255, 255, 0.16), transparent 58%),
      radial-gradient(420px 200px at 92% 120%, rgba(0, 220, 255, 0.22), transparent 62%),
      linear-gradient(135deg, #0b314a 0%, #145a82 48%, #1a73a8 100%);
    box-shadow:
      0 16px 40px rgba(15, 61, 92, 0.22),
      inset 0 1px 0 rgba(255, 255, 255, 0.12);
  }

  .gv-pred-hero__head {
    display: contents;
  }

  .gv-pred-hero__copy {
    grid-area: copy;
  }

  .gv-pred-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    margin-bottom: 8px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.14);
    font-size: 11px;
    letter-spacing: 0.08em;
  }

  .gv-pred-hero__title {
    font-size: 32px;
    letter-spacing: -0.04em;
    line-height: 1.12;
  }

  .gv-pred-hero__lead {
    grid-area: lead;
    max-width: 62ch;
    font-size: 15px;
    line-height: 1.55;
  }

  .gv-pred-hero__rules {
    grid-area: rules;
    gap: 8px;
    font-size: 12px;
  }

  .gv-pred-hero__rules > span {
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    gap: 6px;
  }

  .gv-pred-hero__rules .gv-mi {
    font-size: 17px;
  }

  .gv-pred-hero__balance {
    grid-area: balance;
    align-self: stretch;
    justify-content: center;
    align-items: stretch;
    min-width: 0;
    padding: 18px 18px 16px;
    border-radius: 18px;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0.06) 100%);
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
    text-align: left;
  }

  .gv-pred-hero__balance-label {
    font-size: 11px;
  }

  .gv-pred-hero__balance-value {
    font-size: 28px;
    margin: 4px 0 12px;
    letter-spacing: -0.04em;
  }

  .gv-pred-hero__balance .gv-btn--outline {
    width: 100%;
    justify-content: center;
    min-height: 38px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.12);
  }

  .gv-pred-hero__balance .gv-btn--outline:hover {
    background: rgba(255, 255, 255, 0.2);
    color: #fff !important;
  }
}

.gv-pred-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.gv-pred-stat {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(159, 194, 212, 0.55);
  background: linear-gradient(165deg, #fff 0%, #f3f8fc 100%);
}

.gv-pred-stat__icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: rgba(0, 143, 232, 0.1);
  color: var(--gainvest-blue);
}

.gv-pred-stat__icon .gv-mi {
  font-size: 20px;
}

.gv-pred-stat em {
  display: block;
  font-style: normal;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-pred-stat strong {
  display: block;
  margin-top: 2px;
  font-size: 18px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-pred-stat--win .gv-pred-stat__icon {
  background: rgba(16, 185, 129, 0.12);
  color: #059669;
}

.gv-pred-stat--loss .gv-pred-stat__icon {
  background: rgba(239, 68, 68, 0.1);
  color: #dc2626;
}

.gv-pred-stat--earn .gv-pred-stat__icon {
  background: rgba(236, 0, 68, 0.1);
  color: var(--gainvest-red);
}

.gv-pred-markets__head,
.gv-pred-history__head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 12px;
}

.gv-pred-markets__title,
.gv-pred-history__title {
  margin: 0;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--gainvest-navy);
}

.gv-pred-markets__lead,
.gv-pred-history__lead {
  margin: 4px 0 0;
  font-size: 12px;
  color: var(--gainvest-muted);
}

.gv-pred-markets__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  flex-shrink: 0;
}

.gv-pred-guide {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 4px 12px 4px 4px;
  border-radius: 12px;
  text-decoration: none;
  color: #fff;
  background: linear-gradient(135deg, #0f4c75 0%, #0b6e99 52%, #0284c7 100%);
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 8px 18px rgba(15, 76, 117, 0.22);
  transition: transform 0.16s ease, box-shadow 0.16s ease, filter 0.16s ease;
}

.gv-pred-guide:hover,
.gv-pred-guide:focus-visible {
  transform: translateY(-1px);
  filter: brightness(1.06);
  box-shadow: 0 12px 22px rgba(15, 76, 117, 0.28);
  outline: none;
}

.gv-pred-guide__icon {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.14);
}

.gv-pred-guide__icon .gv-mi {
  font-size: 18px;
  color: #7dd3fc;
  font-variation-settings: "FILL" 1, "wght" 600, "GRAD" 0, "opsz" 24;
}

.gv-pred-guide__copy {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}

.gv-pred-guide__copy em {
  font-style: normal;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
}

.gv-pred-guide__copy strong {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #fff;
  white-space: nowrap;
}

.gv-pred-refresh {
  min-height: 40px;
  padding: 0 12px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(159, 194, 212, 0.7);
  box-shadow: 0 4px 12px rgba(15, 61, 92, 0.05);
}

.gv-pred-history__panel {
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid rgba(159, 194, 212, 0.55);
  background: linear-gradient(165deg, #fff 0%, #f8fbfd 100%);
  box-shadow: 0 6px 20px rgba(15, 61, 92, 0.05);
}

.gv-pred-history__count {
  flex-shrink: 0;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  color: var(--gainvest-blue);
  background: rgba(0, 143, 232, 0.1);
  border: 1px solid rgba(0, 143, 232, 0.16);
}

.gv-pred-history__notice {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 14px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(0, 143, 232, 0.18);
  background:
    radial-gradient(320px 120px at 0% 0%, rgba(0, 143, 232, 0.08), transparent 70%),
    linear-gradient(165deg, #f3f9fd 0%, #eef6fb 100%);
}

.gv-pred-history__notice-icon {
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  color: var(--gainvest-blue);
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(0, 143, 232, 0.14);
}

.gv-pred-history__notice-icon .gv-mi {
  font-size: 20px;
}

.gv-pred-history__notice strong {
  display: block;
  margin-bottom: 4px;
  font-size: 13px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-pred-history__notice p {
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
  color: var(--gainvest-muted);
}

.gv-pred-history__notice p strong {
  display: inline;
  margin: 0;
  font-size: inherit;
  color: var(--gainvest-navy);
}

.gv-pred-history__table-wrap {
  border-radius: 12px;
  border: 1px solid rgba(159, 194, 212, 0.45);
  overflow: hidden;
  background: #fff;
}

.gv-pred-history__pager {
  margin-top: 14px;
}

.gv-pred-table thead th {
  font-size: 10px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
  background: #f3f8fc;
}

.gv-pred-table tbody tr:hover {
  background: rgba(0, 143, 232, 0.03);
}

.gv-pred-table__when {
  display: block;
  margin-top: 2px;
  font-size: 10px;
  font-weight: 650;
  color: var(--gainvest-muted);
}

.gv-pred-table__call {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.gv-pred-table__call .gv-mi {
  font-size: 16px;
}

.gv-pred-countdown-cell {
  min-width: 108px;
}

.gv-pred-countdown {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: #1d4ed8;
  background: rgba(59, 130, 246, 0.12);
  border: 1px solid rgba(59, 130, 246, 0.18);
}

.gv-pred-countdown::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #3b82f6;
  box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.45);
  animation: gv-pred-countdown-pulse 1.4s ease infinite;
}

.gv-pred-countdown.is-due {
  color: #b45309;
  background: rgba(245, 158, 11, 0.14);
  border-color: rgba(245, 158, 11, 0.22);
}

.gv-pred-countdown.is-due::before {
  background: #f59e0b;
  animation: none;
}

.gv-pred-countdown.is-done {
  color: var(--gainvest-muted);
  background: rgba(148, 163, 184, 0.12);
  border-color: rgba(148, 163, 184, 0.2);
  font-size: 10px;
  font-weight: 700;
}

.gv-pred-countdown.is-done::before {
  display: none;
}

@keyframes gv-pred-countdown-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.35); }
  70% { box-shadow: 0 0 0 6px rgba(59, 130, 246, 0); }
}

.gv-pred-reward {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 118px;
}

.gv-pred-reward__instant {
  font-size: 12px;
  font-weight: 800;
  color: var(--gainvest-navy);
  font-variant-numeric: tabular-nums;
}

.gv-pred-reward__pending {
  font-size: 10px;
  font-weight: 750;
  color: #1d4ed8;
}

.gv-pred-reward__bonus {
  font-size: 10px;
  font-weight: 750;
  color: #047857;
}

.gv-pred-reward__lost {
  font-size: 10px;
  font-weight: 650;
  color: var(--gainvest-muted);
}

.gv-pred-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.gv-pred-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 14px;
  border-radius: 14px;
  border: 1px solid rgba(159, 194, 212, 0.55);
  background: #fff;
  box-shadow: 0 4px 16px rgba(15, 61, 92, 0.04);
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.gv-pred-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(15, 61, 92, 0.08);
}

.gv-pred-card--locked {
  border-color: rgba(0, 143, 232, 0.28);
  background: linear-gradient(165deg, #f8fcff 0%, #eef6fb 100%);
}

.gv-pred-card.is-loading {
  opacity: 0.72;
  pointer-events: none;
}

.gv-pred-card__top {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
}

.gv-pred-card__coin {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.gv-pred-card__coin img {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  object-fit: cover;
  background: #f1f5f9;
}

.gv-pred-card__coin strong {
  display: block;
  font-size: 13px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-pred-card__coin span {
  display: block;
  margin-top: 1px;
  font-size: 11px;
  font-weight: 700;
  color: var(--gainvest-muted);
}

.gv-pred-card__price {
  text-align: right;
}

.gv-pred-card__price em {
  display: block;
  font-style: normal;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-pred-card__price strong {
  display: block;
  margin-top: 2px;
  max-width: 100%;
  font-size: clamp(10px, 2.2vw, 14px);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  line-height: 1.25;
  word-break: break-all;
  color: var(--gainvest-navy);
  transition: color 0.2s ease;
}

.gv-pred-card__price-row {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}

.gv-pred-card__delta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 22px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.02em;
  padding: 3px 8px 3px 6px;
  border-radius: 999px;
  border: 1px solid transparent;
  line-height: 1;
}

.gv-pred-card__delta .gv-mi {
  font-size: 14px;
  line-height: 1;
}

.gv-pred-card__delta.is-up {
  color: #047857;
  background: rgba(16, 185, 129, 0.14);
  border-color: rgba(16, 185, 129, 0.22);
}

.gv-pred-card__delta.is-down {
  color: #b91c1c;
  background: rgba(239, 68, 68, 0.12);
  border-color: rgba(239, 68, 68, 0.2);
}

.gv-pred-card__delta.is-flat {
  color: #64748b;
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.95) 0%, rgba(241, 245, 249, 0.95) 100%);
  border-color: rgba(148, 163, 184, 0.28);
}

.gv-pred-card__delta.is-flat .gv-mi {
  color: #94a3b8;
}

.gv-pred-card__delta.is-flash {
  animation: gv-pred-flash 0.9s ease;
}

.gv-pred-card__price--up strong {
  color: #047857;
}

.gv-pred-card__price--down strong {
  color: #b91c1c;
}

@keyframes gv-pred-flash {
  0%, 100% { transform: scale(1); opacity: 1; }
  35% { transform: scale(1.05); opacity: 0.92; }
}

.gv-pred-live-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.45);
}

.gv-pred-live-dot.is-pulse {
  animation: gv-pred-live-pulse 1.1s ease infinite;
}

@keyframes gv-pred-live-pulse {
  0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.45); }
  70% { box-shadow: 0 0 0 8px rgba(34, 197, 94, 0); }
  100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}

#gvPredRefresh {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.gv-pred-card__actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.gv-pred-card__earn {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin: 0;
  padding: 8px 10px 8px 8px;
  border: 1px solid rgba(0, 143, 232, 0.22);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(0, 143, 232, 0.1) 0%, rgba(16, 185, 129, 0.1) 100%);
  color: var(--gainvest-navy);
  cursor: pointer;
  font-family: inherit;
  text-align: left;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.gv-pred-card__earn:hover {
  transform: translateY(-1px);
  border-color: rgba(0, 143, 232, 0.4);
  box-shadow: 0 8px 18px rgba(0, 143, 232, 0.12);
}

.gv-pred-card__earn-icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, #008fe8 0%, #16a34a 100%);
}

.gv-pred-card__earn-icon .gv-mi {
  font-size: 20px;
}

.gv-pred-card__earn-copy {
  min-width: 0;
  flex: 1;
}

.gv-pred-card__earn-copy strong {
  display: block;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
}

.gv-pred-card__earn-copy em {
  display: block;
  margin-top: 1px;
  font-style: normal;
  font-size: 11px;
  font-weight: 700;
  color: #047857;
}

.gv-pred-card__earn-go {
  color: var(--gainvest-blue);
  font-size: 20px;
}

.gv-pred-card__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid transparent;
  border-radius: 10px;
  padding: 10px 12px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.gv-pred-card__btn .gv-mi {
  font-size: 18px;
}

.gv-pred-card__btn--up {
  background: rgba(16, 185, 129, 0.12);
  border-color: rgba(16, 185, 129, 0.28);
  color: #047857;
}

.gv-pred-card__btn--up:hover {
  background: rgba(16, 185, 129, 0.18);
  transform: translateY(-1px);
}

.gv-pred-card__btn--down {
  background: rgba(239, 68, 68, 0.1);
  border-color: rgba(239, 68, 68, 0.24);
  color: #b91c1c;
}

.gv-pred-card__btn--down:hover {
  background: rgba(239, 68, 68, 0.16);
  transform: translateY(-1px);
}

.gv-pred-card__active {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.gv-pred-card__pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  align-self: flex-start;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
}

.gv-pred-card__pill--up {
  background: rgba(16, 185, 129, 0.14);
  color: #047857;
}

.gv-pred-card__pill--down {
  background: rgba(239, 68, 68, 0.12);
  color: #b91c1c;
}

.gv-pred-card__meta {
  margin: 0;
  font-size: 11px;
  font-weight: 650;
  color: var(--gainvest-muted);
}

.gv-pred-empty {
  padding: 28px 18px;
  border-radius: 14px;
  border: 1px dashed rgba(159, 194, 212, 0.8);
  background: #f8fbfd;
  text-align: center;
  color: var(--gainvest-muted);
}

.gv-pred-empty .gv-mi {
  display: block;
  margin: 0 auto 8px;
  font-size: 28px;
  color: var(--gainvest-blue);
}

.gv-pred-table .is-up {
  color: #047857;
  font-weight: 800;
}

.gv-pred-table .is-down {
  color: #b91c1c;
  font-weight: 800;
}

.gv-pred-table .gv-pred-price-cell {
  font-size: 12px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.gv-pred-status {
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.gv-pred-status--open {
  background: rgba(0, 143, 232, 0.12);
  color: var(--gainvest-blue);
}

.gv-pred-status--won {
  background: rgba(16, 185, 129, 0.14);
  color: #047857;
}

.gv-pred-status--lost {
  background: rgba(239, 68, 68, 0.12);
  color: #b91c1c;
}

.gv-pred-toast {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 120;
  max-width: min(360px, calc(100vw - 36px));
  padding: 12px 14px;
  border-radius: 12px;
  background: #0f3d5c;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 12px 30px rgba(15, 61, 92, 0.28);
}

.gv-pred-toast.is-error {
  background: #991b1b;
}

.gv-pred-modal {
  position: fixed;
  inset: 0;
  z-index: 130;
  display: grid;
  place-items: center;
  padding: 18px;
}

.gv-pred-modal[hidden] {
  display: none;
}

.gv-pred-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8, 28, 42, 0.62);
  backdrop-filter: blur(8px);
}

.gv-pred-modal__stack {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  width: min(728px, 100%);
  max-height: min(92dvh, 900px);
  overflow: auto;
  animation: gvPredModalIn 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.gv-pred-modal__dialog {
  position: relative;
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
  padding: 22px 20px 18px;
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background:
    radial-gradient(420px 180px at 100% -20%, rgba(0, 200, 255, 0.22), transparent 60%),
    radial-gradient(280px 160px at -10% 110%, rgba(16, 185, 129, 0.18), transparent 55%),
    linear-gradient(165deg, #0d3550 0%, #124a6c 55%, #0f3a52 100%);
  color: #fff;
  box-shadow:
    0 24px 60px rgba(8, 28, 42, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

@keyframes gvPredModalIn {
  from {
    opacity: 0;
    transform: translateY(14px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.gv-pred-modal__glow {
  position: absolute;
  inset: auto -20% 40% 30%;
  height: 120px;
  background: radial-gradient(closest-side, rgba(0, 180, 255, 0.28), transparent 70%);
  pointer-events: none;
  filter: blur(12px);
}

.gv-pred-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  cursor: pointer;
  display: grid;
  place-items: center;
}

.gv-pred-modal__close:hover {
  background: rgba(255, 255, 255, 0.16);
}

.gv-pred-modal__asset {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-right: 36px;
}

.gv-pred-modal__asset img {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: #fff;
  padding: 6px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
}

.gv-pred-modal__eyebrow {
  margin: 0 0 3px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8ec5ef;
}

.gv-pred-modal__asset h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.15;
}

#gvPredModalPair {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  font-weight: 700;
  color: rgba(226, 238, 247, 0.72);
}

.gv-pred-modal__quote {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-top: 16px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.gv-pred-modal__quote em {
  font-style: normal;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.62);
}

.gv-pred-modal__quote strong {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}

.gv-pred-modal__payout {
  margin: 12px 0 0;
  font-size: 13px;
  line-height: 1.45;
  color: rgba(226, 238, 247, 0.88);
}

.gv-pred-modal__payout strong {
  color: #7dffc2;
}

.gv-pred-modal__ad {
  position: relative;
  flex-shrink: 0;
  min-height: 90px;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(255, 255, 255, 0.35);
  box-shadow: 0 14px 32px rgba(8, 28, 42, 0.28);
}

.gv-pred-modal__ad-badge {
  position: absolute;
  top: 6px;
  left: 6px;
  z-index: 1;
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(15, 61, 92, 0.72);
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.gv-pred-modal__ad-link,
.gv-pred-modal__ad-ph {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 90px;
  color: inherit;
  text-decoration: none !important;
}

.gv-pred-modal__ad-link img {
  display: block;
  width: 100%;
  height: 90px;
  object-fit: cover;
  background: #e8f2f8;
}

.gv-pred-modal__ad-ph {
  flex-direction: column;
  gap: 2px;
  padding: 14px;
  color: var(--gainvest-navy);
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  background: linear-gradient(165deg, #f8fcff 0%, #e8f3fa 100%);
}

.gv-pred-modal__ad-ph .gv-mi {
  font-size: 22px;
  color: var(--gainvest-blue);
}

.gv-pred-modal__ad-ph em {
  font-style: normal;
  font-size: 11px;
  color: var(--gainvest-muted);
}

.gv-pred-modal__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 16px;
}

.gv-pred-modal__dir {
  min-height: 48px;
  border-radius: 14px;
  font-size: 13px;
}

.gv-pred-modal__dir.gv-pred-card__btn--up {
  background: linear-gradient(180deg, #34d399 0%, #059669 100%);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 10px 20px rgba(5, 150, 105, 0.28);
}

.gv-pred-modal__dir.gv-pred-card__btn--down {
  background: linear-gradient(180deg, #fb7185 0%, #e11d48 100%);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 10px 20px rgba(225, 29, 72, 0.26);
}

.gv-pred-modal__dir.gv-pred-card__btn--up:hover,
.gv-pred-modal__dir.gv-pred-card__btn--down:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
}

.gv-pred-burst {
  position: absolute;
  inset: 0;
  z-index: 6;
  display: grid;
  place-items: center;
  overflow: hidden;
  pointer-events: none;
  background: rgba(6, 24, 38, 0.35);
  backdrop-filter: blur(2px);
}

.gv-pred-burst[hidden] {
  display: none;
}

.gv-pred-burst__ring {
  position: absolute;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  border: 3px solid rgba(255, 255, 255, 0.85);
  opacity: 0;
}

.gv-pred-modal.is-lock-up .gv-pred-burst__ring {
  border-color: #6ee7b7;
  animation: gvPredRing 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}

.gv-pred-modal.is-lock-down .gv-pred-burst__ring {
  border-color: #fda4af;
  animation: gvPredRing 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}

.gv-pred-burst__bits {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.gv-pred-burst__bits i {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 7px;
  height: 7px;
  margin: -3px 0 0 -3px;
  border-radius: 999px;
  opacity: 0;
  background: #fff;
}

.gv-pred-modal.is-lock-up .gv-pred-burst__bits i {
  background: linear-gradient(180deg, #bbf7d0, #059669);
  animation: gvPredBitUp 0.95s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  animation-delay: var(--d, 0s);
}

.gv-pred-modal.is-lock-down .gv-pred-burst__bits i {
  background: linear-gradient(180deg, #fecdd3, #e11d48);
  animation: gvPredBitDown 0.95s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  animation-delay: var(--d, 0s);
}

.gv-pred-burst__mark {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
}

.gv-pred-burst__mark .gv-mi {
  font-size: 64px;
  line-height: 1;
  font-variation-settings: "FILL" 1, "wght" 600, "GRAD" 0, "opsz" 48;
  filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.28));
}

.gv-pred-burst__mark strong {
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.gv-pred-modal.is-lock-up .gv-pred-burst__mark {
  color: #bbf7d0;
  animation: gvPredMarkUp 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.gv-pred-modal.is-lock-down .gv-pred-burst__mark {
  color: #fecdd3;
  animation: gvPredMarkDown 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.gv-pred-modal.is-locking .gv-pred-modal__dialog {
  overflow: hidden;
}

.gv-pred-modal.is-lock-up .gv-pred-modal__dialog {
  box-shadow:
    0 0 0 2px rgba(16, 185, 129, 0.45),
    0 24px 60px rgba(5, 150, 105, 0.35);
}

.gv-pred-modal.is-lock-down .gv-pred-modal__dialog {
  box-shadow:
    0 0 0 2px rgba(244, 63, 94, 0.4),
    0 24px 60px rgba(225, 29, 72, 0.32);
}

.gv-pred-modal.is-lock-up .gv-pred-modal__asset img {
  animation: gvPredCoinUp 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.gv-pred-modal.is-lock-down .gv-pred-modal__asset img {
  animation: gvPredCoinDown 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.gv-pred-modal.is-locking .gv-pred-modal__close,
.gv-pred-modal.is-locking .gv-pred-modal__actions {
  pointer-events: none;
}

.gv-pred-card.is-just-locked {
  animation: gvPredCardLock 0.65s ease;
}

@keyframes gvPredRing {
  0% { transform: scale(0.4); opacity: 0.9; }
  100% { transform: scale(3.4); opacity: 0; }
}

@keyframes gvPredMarkUp {
  0% { transform: translateY(28px) scale(0.55); opacity: 0; }
  60% { transform: translateY(-6px) scale(1.08); opacity: 1; }
  100% { transform: translateY(0) scale(1); opacity: 1; }
}

@keyframes gvPredMarkDown {
  0% { transform: translateY(-28px) scale(0.55); opacity: 0; }
  60% { transform: translateY(6px) scale(1.08); opacity: 1; }
  100% { transform: translateY(0) scale(1); opacity: 1; }
}

@keyframes gvPredCoinUp {
  0% { transform: translateY(0) scale(1); }
  45% { transform: translateY(-10px) scale(1.12); }
  100% { transform: translateY(0) scale(1); }
}

@keyframes gvPredCoinDown {
  0% { transform: translateY(0) scale(1); }
  45% { transform: translateY(10px) scale(1.12); }
  100% { transform: translateY(0) scale(1); }
}

@keyframes gvPredBitUp {
  0% { transform: translate(0, 0) scale(var(--s, 1)); opacity: 0; }
  18% { opacity: 1; }
  100% { transform: translate(var(--x, 0), -110px) scale(0.2); opacity: 0; }
}

@keyframes gvPredBitDown {
  0% { transform: translate(0, 0) scale(var(--s, 1)); opacity: 0; }
  18% { opacity: 1; }
  100% { transform: translate(var(--x, 0), 110px) scale(0.2); opacity: 0; }
}

@keyframes gvPredCardLock {
  0% { transform: scale(1); }
  40% { transform: scale(1.02); box-shadow: 0 12px 28px rgba(0, 143, 232, 0.16); }
  100% { transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .gv-pred-burst,
  .gv-pred-modal.is-lock-up .gv-pred-modal__asset img,
  .gv-pred-modal.is-lock-down .gv-pred-modal__asset img,
  .gv-pred-card.is-just-locked {
    animation: none !important;
  }
}

body.gv-pred-modal-open {
  overflow: hidden;
}

@media (max-width: 1100px) {
  .gv-pred-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .gv-pred {
    gap: 12px;
  }

  .gv-pred-modal {
    padding: 16px;
    place-items: center;
    align-items: center;
  }

  .gv-pred-modal__stack {
    width: min(420px, 100%);
    max-height: min(90dvh, 760px);
    gap: 10px;
    margin: auto;
    padding-bottom: 0;
  }

  .gv-pred-modal__dialog {
    width: 100%;
    max-width: none;
    border-radius: 20px;
    padding: 16px 14px 14px;
  }

  .gv-pred-modal__ad {
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.35);
  }

  .gv-pred-modal__asset {
    gap: 10px;
    padding-right: 40px;
  }

  .gv-pred-modal__asset img {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    padding: 5px;
  }

  .gv-pred-modal__asset h3 {
    font-size: 17px;
  }

  .gv-pred-modal__quote {
    margin-top: 12px;
    padding: 10px 12px;
  }

  .gv-pred-modal__quote strong {
    font-size: 18px;
  }

  .gv-pred-modal__payout {
    margin-top: 10px;
    font-size: 12px;
  }

  .gv-pred-modal__actions {
    margin-top: 12px;
    gap: 8px;
  }

  .gv-pred-modal__dir {
    min-height: 44px;
    font-size: 12px;
    padding: 10px 8px;
  }

  .gv-pred-modal__ad {
    min-height: 70px;
  }

  .gv-pred-modal__ad-link,
  .gv-pred-modal__ad-ph {
    min-height: 70px;
  }

  .gv-pred-modal__ad-link img {
    height: 70px;
    object-fit: contain;
    background: #fff;
  }

  .gv-pred-hero {
    gap: 10px;
    padding: 12px;
    border-radius: 14px;
  }

  .gv-pred-hero__head {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .gv-pred-hero__title {
    font-size: 18px;
  }

  .gv-pred-hero__lead {
    font-size: 12px;
    line-height: 1.45;
  }

  .gv-pred-hero__rules {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  .gv-pred-hero__rules > span {
    flex-direction: column;
    justify-content: center;
    text-align: center;
    padding: 8px 4px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 10px;
    gap: 3px;
    min-width: 0;
  }

  .gv-pred-hero__rule-long {
    display: none;
  }

  .gv-pred-hero__rule-short {
    display: inline;
  }

  .gv-pred-hero__balance {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    min-width: 0;
    padding: 10px 12px;
    gap: 8px 10px;
  }

  .gv-pred-hero__balance-value {
    font-size: 16px;
    margin-right: auto;
  }

  .gv-pred-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .gv-pred-stat {
    padding: 10px;
    gap: 8px;
  }

  .gv-pred-stat__icon {
    width: 30px;
    height: 30px;
  }

  .gv-pred-stat strong {
    font-size: 15px;
  }

  .gv-pred-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .gv-pred-markets__head,
  .gv-pred-history__head {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  .gv-pred-markets__actions {
    width: 100%;
  }

  .gv-pred-guide,
  .gv-pred-refresh {
    flex: 1 1 0;
    justify-content: center;
  }

  .gv-pred-markets__title,
  .gv-pred-history__title {
    font-size: 16px;
  }

  .gv-pred-markets__lead,
  .gv-pred-history__lead {
    font-size: 12px;
  }

  .gv-pred-card {
    padding: 12px;
    gap: 10px;
  }

  .gv-pred-card__top {
    gap: 8px;
  }

  .gv-pred-card__coin img {
    width: 30px;
    height: 30px;
  }

  .gv-pred-card__earn {
    padding: 6px 8px 6px 6px;
    gap: 8px;
  }

  .gv-pred-card__earn-icon {
    width: 32px;
    height: 32px;
  }

  .gv-pred-card__earn-copy strong {
    font-size: 12px;
  }

  .gv-pred-history__panel {
    padding: 12px;
  }

  .gv-pred-history__notice {
    padding: 10px 12px;
    gap: 8px;
  }

  .gv-pred-history__table-wrap {
    overflow: visible;
    border: 0;
    background: transparent;
  }

  .gv-pred-table,
  .gv-pred-table tbody {
    display: block;
    width: 100%;
  }

  .gv-pred-table thead {
    display: none;
  }

  .gv-pred-table tr {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 10px;
    margin-bottom: 8px;
    padding: 12px;
    border: 1px solid rgba(159, 194, 212, 0.5);
    border-radius: 12px;
    background: #fff;
  }

  .gv-pred-table td {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    padding: 0;
    border: 0;
    min-width: 0;
  }

  .gv-pred-table td::before {
    content: attr(data-label);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--gainvest-muted);
  }

  .gv-pred-table td[data-label="Rewards"] {
    grid-column: 1 / -1;
  }

  .gv-pred-countdown-cell {
    min-width: 0;
  }

  .gv-pred-history__pager {
    justify-content: center;
    flex-wrap: wrap;
  }
}

/* Promotion landing (promote.php) */
body.gv-promo-page {
  background: #f4f8fc;
}

body.gv-promo-page .gv-body,
body.gv-promo-page {
  min-height: 100vh;
}

.gv-promo {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.gv-promo-bar {
  position: sticky;
  top: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px clamp(16px, 4vw, 32px);
  background: rgba(255, 255, 255, 0.92);
  border-bottom: 1px solid rgba(185, 210, 223, 0.65);
  backdrop-filter: blur(10px);
}

.gv-promo-bar__brand img {
  display: block;
  height: 34px;
  width: auto;
}

.gv-promo-main {
  flex: 1;
}

.gv-promo-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 20px;
  border-radius: 999px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
  white-space: nowrap;
}

.gv-promo-btn .gv-mi {
  font-size: 20px;
}

.gv-promo-btn--sm {
  min-height: 38px;
  padding: 0 16px;
  font-size: 13px;
}

.gv-promo-btn--lg {
  min-height: 50px;
  padding: 0 24px;
  font-size: 15px;
}

.gv-promo-btn--xl {
  min-height: 56px;
  padding: 0 28px;
  font-size: 16px;
}

.gv-promo-btn--primary {
  color: #fff;
  background: linear-gradient(135deg, var(--gainvest-blue) 0%, #0066b8 100%);
  box-shadow: 0 10px 28px rgba(0, 143, 232, 0.32);
}

.gv-promo-btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(0, 143, 232, 0.38);
}

.gv-promo-btn--ghost {
  color: var(--gainvest-navy);
  background: #fff;
  border: 1px solid rgba(185, 210, 223, 0.85);
  box-shadow: 0 6px 18px rgba(12, 52, 78, 0.06);
}

.gv-promo-btn--ghost:hover {
  border-color: rgba(0, 143, 232, 0.4);
  transform: translateY(-1px);
}

.gv-promo-btn--green {
  color: #fff;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  box-shadow: 0 10px 26px rgba(16, 185, 129, 0.28);
}

.gv-promo-btn--green:hover {
  transform: translateY(-2px);
}

.gv-promo-btn--blue {
  color: #fff;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  box-shadow: 0 10px 26px rgba(37, 99, 235, 0.28);
}

.gv-promo-btn--blue:hover {
  transform: translateY(-2px);
}

.gv-promo-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(36px, 6vw, 72px) clamp(16px, 4vw, 32px) clamp(28px, 5vw, 56px);
  background:
    radial-gradient(900px 420px at 10% -20%, rgba(0, 143, 232, 0.18), transparent 55%),
    radial-gradient(700px 380px at 90% 0%, rgba(236, 0, 68, 0.12), transparent 50%),
    linear-gradient(180deg, #fff 0%, #f4f8fc 100%);
}

.gv-promo-hero__glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.gv-promo-hero__glow--left {
  width: 320px;
  height: 320px;
  top: -80px;
  left: -60px;
  background: radial-gradient(circle, rgba(16, 185, 129, 0.16), transparent 68%);
}

.gv-promo-hero__glow--right {
  width: 380px;
  height: 380px;
  top: -40px;
  right: -80px;
  background: radial-gradient(circle, rgba(0, 143, 232, 0.14), transparent 68%);
}

.gv-promo-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
  max-width: 1120px;
  margin: 0 auto;
}

.gv-promo-hero__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.gv-promo-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 12px 6px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.gv-promo-pill .gv-mi {
  font-size: 16px;
}

.gv-promo-pill--green {
  color: #047857;
  background: rgba(16, 185, 129, 0.14);
  border: 1px solid rgba(16, 185, 129, 0.22);
}

.gv-promo-pill--blue {
  color: #0f4c75;
  background: rgba(0, 143, 232, 0.1);
  border: 1px solid rgba(0, 143, 232, 0.2);
}

.gv-promo-hero__eyebrow {
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #7a929f;
}

.gv-promo-hero__title {
  margin: 0;
  font-size: clamp(34px, 5vw, 52px);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.05;
  color: var(--gainvest-navy);
}

.gv-promo-hero__lead {
  margin: 16px 0 0;
  max-width: 52ch;
  font-size: clamp(15px, 2vw, 18px);
  line-height: 1.65;
  color: #4a6574;
}

.gv-promo-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.gv-promo-hero__note {
  margin: 12px 0 0;
  font-size: 12px;
  font-weight: 600;
  color: #7a929f;
}

.gv-promo-hero__visual img {
  display: block;
  width: min(100%, 480px);
  margin: 0 auto;
  filter: drop-shadow(0 24px 48px rgba(12, 52, 78, 0.14));
}

.gv-promo-trust {
  padding: 0 clamp(16px, 4vw, 32px) clamp(28px, 5vw, 48px);
}

.gv-promo-trust__inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  max-width: 1120px;
  margin: 0 auto;
}

.gv-promo-trust__item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 18px 16px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(185, 210, 223, 0.65);
  box-shadow: 0 8px 24px rgba(12, 52, 78, 0.05);
}

.gv-promo-trust__icon {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: grid;
  place-items: center;
}

.gv-promo-trust__icon .gv-mi {
  font-size: 22px;
}

.gv-promo-trust__icon--green {
  color: #059669;
  background: rgba(16, 185, 129, 0.12);
}

.gv-promo-trust__icon--blue {
  color: var(--gainvest-blue);
  background: rgba(0, 143, 232, 0.1);
}

.gv-promo-trust__icon--violet {
  color: #7c3aed;
  background: rgba(124, 58, 237, 0.1);
}

.gv-promo-trust__item h2 {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 800;
  color: var(--gainvest-navy);
  line-height: 1.25;
}

.gv-promo-trust__item p {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: #64748b;
}

.gv-promo-split {
  padding: clamp(32px, 5vw, 56px) clamp(16px, 4vw, 32px);
}

.gv-promo-split--free {
  background: linear-gradient(180deg, rgba(16, 185, 129, 0.06) 0%, rgba(16, 185, 129, 0.02) 100%);
}

.gv-promo-split--invest {
  background: linear-gradient(180deg, rgba(37, 99, 235, 0.06) 0%, rgba(37, 99, 235, 0.02) 100%);
}

.gv-promo-split__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(24px, 4vw, 40px);
  align-items: center;
  max-width: 1120px;
  margin: 0 auto;
}

.gv-promo-split__inner--reverse {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
}

.gv-promo-split__inner--reverse .gv-promo-split__visual {
  order: 2;
}

.gv-promo-split__inner--reverse .gv-promo-split__copy {
  order: 1;
}

.gv-promo-split__visual img {
  display: block;
  width: min(100%, 380px);
  margin: 0 auto;
  filter: drop-shadow(0 16px 36px rgba(12, 52, 78, 0.1));
}

.gv-promo-split__eyebrow {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #7a929f;
}

.gv-promo-split__title {
  margin: 0;
  font-size: clamp(24px, 3.2vw, 34px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.12;
  color: var(--gainvest-navy);
}

.gv-promo-split__lead {
  margin: 12px 0 0;
  font-size: 15px;
  line-height: 1.65;
  color: #4a6574;
}

.gv-promo-list {
  list-style: none;
  margin: 18px 0 22px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.gv-promo-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 650;
  color: #334155;
}

.gv-promo-list .gv-mi {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  font-size: 18px;
  color: var(--gainvest-blue);
  background: rgba(0, 143, 232, 0.1);
}

.gv-promo-split--free .gv-promo-list .gv-mi {
  color: #059669;
  background: rgba(16, 185, 129, 0.12);
}

.gv-promo-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 20px 0 22px;
}

.gv-promo-metric {
  padding: 14px 12px;
  border-radius: 14px;
  text-align: center;
  background: #fff;
  border: 1px solid rgba(185, 210, 223, 0.65);
  box-shadow: 0 6px 18px rgba(12, 52, 78, 0.05);
}

.gv-promo-metric strong {
  display: block;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--gainvest-navy);
  line-height: 1.1;
}

.gv-promo-metric span {
  display: block;
  margin-top: 4px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #7a929f;
}

.gv-promo-metric--accent strong {
  color: var(--gainvest-red);
}

.gv-promo-cta {
  padding: clamp(36px, 5vw, 56px) clamp(16px, 4vw, 32px) clamp(48px, 6vw, 72px);
}

.gv-promo-cta__inner {
  max-width: 720px;
  margin: 0 auto;
  padding: clamp(28px, 4vw, 40px) clamp(20px, 4vw, 32px);
  border-radius: 24px;
  text-align: center;
  color: #fff;
  background:
    linear-gradient(135deg, rgba(0, 143, 232, 0.95) 0%, rgba(0, 98, 180, 0.92) 45%, rgba(236, 0, 68, 0.88) 100%);
  box-shadow: 0 20px 50px rgba(0, 98, 180, 0.28);
}

.gv-promo-cta__badge {
  width: 56px;
  height: 56px;
  margin: 0 auto 14px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.24);
}

.gv-promo-cta__badge .gv-mi {
  font-size: 30px;
}

.gv-promo-cta__title {
  margin: 0;
  font-size: clamp(24px, 3.5vw, 34px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.15;
}

.gv-promo-cta__lead {
  margin: 12px auto 22px;
  max-width: 48ch;
  font-size: 15px;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.92);
}

.gv-promo-cta__inner .gv-promo-btn--primary {
  background: #fff;
  color: var(--gainvest-navy);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.2);
}

.gv-promo-cta__inner .gv-promo-btn--primary:hover {
  background: #f8fafc;
}

.gv-promo-cta__fine {
  margin: 14px 0 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
}

.gv-promo-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 16px clamp(16px, 4vw, 32px) 80px;
  font-size: 12px;
  color: #64748b;
  border-top: 1px solid rgba(185, 210, 223, 0.55);
  background: #fff;
}

.gv-promo-foot a {
  color: var(--gainvest-blue);
  font-weight: 700;
  text-decoration: none;
}

.gv-promo-foot a:hover {
  text-decoration: underline;
}

.gv-promo-sticky {
  position: fixed;
  left: 50%;
  bottom: 16px;
  z-index: 50;
  transform: translateX(-50%);
  display: none;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 800;
  color: #fff;
  text-decoration: none;
  background: linear-gradient(135deg, var(--gainvest-blue) 0%, #0066b8 100%);
  box-shadow: 0 14px 36px rgba(0, 143, 232, 0.38);
}

.gv-promo-sticky .gv-mi {
  font-size: 20px;
}

@media (max-width: 900px) {
  .gv-promo-hero__inner,
  .gv-promo-split__inner,
  .gv-promo-split__inner--reverse {
    grid-template-columns: 1fr;
  }

  .gv-promo-split__inner--reverse .gv-promo-split__visual,
  .gv-promo-split__inner--reverse .gv-promo-split__copy {
    order: unset;
  }

  .gv-promo-trust__inner {
    grid-template-columns: 1fr;
  }

  .gv-promo-sticky {
    display: inline-flex;
  }
}

@media (max-width: 640px) {
  .gv-promo-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .gv-promo-hero__actions .gv-promo-btn {
    width: 100%;
  }

  .gv-promo-metrics {
    grid-template-columns: 1fr;
  }

  .gv-promo-bar__brand img {
    height: 28px;
  }
}

/* How we pay (how-we-pay.php) */
body.gv-hwp-page {
  background: #f0f4f8;
}

.gv-hwp {
  --hwp-max: 1040px;
  --hwp-gap: 20px;
  --hwp-radius: 20px;
}

.gv-hwp-reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.gv-hwp-reveal.is-visible {
  opacity: 1;
  transform: none;
}

.gv-hwp-kicker {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 0 0 10px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #7eb7e8;
}

.gv-hwp-kicker .gv-mi {
  font-size: 15px;
}

.gv-hwp-kicker--light {
  color: rgba(255, 255, 255, 0.82);
}

.gv-hwp-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(32px, 5vw, 52px) clamp(16px, 4vw, 32px) clamp(48px, 7vw, 72px);
  background:
    radial-gradient(620px 280px at 12% 18%, rgba(0, 143, 232, 0.22), transparent 62%),
    radial-gradient(480px 240px at 88% 72%, rgba(236, 0, 68, 0.12), transparent 58%),
    linear-gradient(155deg, #060a12 0%, #0c1628 50%, #0a1220 100%);
}

.gv-hwp-hero__glow {
  position: absolute;
  inset: auto -8% -28% 38%;
  height: 65%;
  background: radial-gradient(closest-side, rgba(0, 143, 232, 0.22), transparent 72%);
  pointer-events: none;
  filter: blur(12px);
}

.gv-hwp-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(24px, 4vw, 40px);
  align-items: center;
  max-width: var(--hwp-max);
  margin: 0 auto;
}

.gv-hwp-hero__title {
  margin: 0;
  font-size: clamp(28px, 4.5vw, 42px);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.1;
  color: #fff;
}

.gv-hwp-hero__lead {
  margin: 14px 0 0;
  max-width: 46ch;
  font-size: clamp(15px, 2vw, 17px);
  line-height: 1.7;
  color: rgba(226, 238, 247, 0.88);
}

.gv-hwp-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.gv-btn--on-dark {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.06);
}

.gv-btn--on-dark:hover {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.45);
  background: rgba(255, 255, 255, 0.12);
}

.gv-hwp-hero__visual img {
  display: block;
  width: min(100%, 460px);
  margin: 0 auto;
  border-radius: var(--hwp-radius);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
}

.gv-hwp-body {
  max-width: var(--hwp-max);
  margin: -36px auto 0;
  padding: 0 clamp(16px, 4vw, 32px) 48px;
  display: flex;
  flex-direction: column;
  gap: var(--hwp-gap);
  position: relative;
  z-index: 2;
}

.gv-hwp-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.gv-hwp-stat {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 16px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(185, 210, 223, 0.55);
  box-shadow: 0 4px 20px rgba(12, 52, 78, 0.07);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.gv-hwp-stat:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 22px rgba(12, 52, 78, 0.08);
}

.gv-hwp-stat__icon {
  flex-shrink: 0;
}

.gv-hwp-stat__copy {
  min-width: 0;
}

.gv-hwp-stat strong {
  display: block;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--gainvest-navy);
  line-height: 1.1;
}

.gv-hwp-stat span {
  display: block;
  margin-top: 3px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #7a929f;
}

/* Shared icon tiles (how-we-pay page) */
.gv-hwp-ico {
  --hwp-ico-size: 22px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  border-radius: 14px;
  border: 1px solid transparent;
  box-shadow: none;
}

.gv-hwp-ico .gv-mi {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--hwp-ico-size);
  height: var(--hwp-ico-size);
  font-size: var(--hwp-ico-size);
  line-height: 1;
  vertical-align: unset;
  white-space: nowrap;
  letter-spacing: 0;
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24;
}

.gv-hwp-stat__icon.gv-hwp-ico {
  --hwp-ico-size: 22px;
  width: 48px;
  height: 48px;
  border-radius: 14px;
}

.gv-hwp-ico--sm {
  --hwp-ico-size: 20px;
  width: 40px;
  height: 40px;
  border-radius: 12px;
}

.gv-hwp-ico--sm .gv-mi {
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;
}

.gv-hwp-ico--md {
  --hwp-ico-size: 24px;
  width: 48px;
  height: 48px;
  border-radius: 14px;
}

.gv-hwp-ico--md .gv-mi {
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24;
}

.gv-hwp-ico--xs {
  --hwp-ico-size: 18px;
  width: 32px;
  height: 32px;
  border-radius: 10px;
}

.gv-hwp-ico--xs .gv-mi {
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;
}

.gv-hwp-ico--green {
  color: #059669;
  background: rgba(16, 185, 129, 0.12);
  border-color: rgba(16, 185, 129, 0.16);
}

.gv-hwp-ico--blue {
  color: #008fe8;
  background: rgba(0, 143, 232, 0.1);
  border-color: rgba(0, 143, 232, 0.14);
}

.gv-hwp-ico--navy {
  color: #0f4c75;
  background: rgba(15, 76, 117, 0.09);
  border-color: rgba(15, 76, 117, 0.12);
}

.gv-hwp-ico--red {
  color: #e11d48;
  background: rgba(236, 0, 68, 0.08);
  border-color: rgba(236, 0, 68, 0.12);
}

.gv-hwp-ico--gold {
  color: #d97706;
  background: rgba(245, 158, 11, 0.12);
  border-color: rgba(245, 158, 11, 0.16);
}

.gv-hwp-ico--violet {
  color: #7c3aed;
  background: rgba(139, 92, 246, 0.1);
  border-color: rgba(139, 92, 246, 0.14);
}

.gv-hwp-ico--slate {
  color: #64748b;
  background: rgba(100, 116, 139, 0.1);
  border-color: rgba(100, 116, 139, 0.14);
}

.gv-hwp-jump {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(185, 210, 223, 0.55);
  box-shadow: 0 4px 16px rgba(12, 52, 78, 0.06);
  backdrop-filter: blur(8px);
}

.gv-hwp-jump a {
  flex: 1 1 auto;
  min-width: 0;
  padding: 10px 16px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  color: #4a6574;
  text-decoration: none;
  text-align: center;
  transition: color 0.2s ease, background 0.2s ease;
}

.gv-hwp-jump a:hover {
  color: var(--gainvest-navy);
  background: rgba(0, 143, 232, 0.08);
}

.gv-hwp-card {
  scroll-margin-top: 96px;
  padding: clamp(24px, 4vw, 32px);
  border-radius: var(--hwp-radius);
  background: #fff;
  border: 1px solid rgba(185, 210, 223, 0.5);
  box-shadow: 0 4px 24px rgba(12, 52, 78, 0.05);
}

.gv-hwp-card__head {
  margin-bottom: clamp(20px, 3vw, 28px);
}

.gv-hwp-card__head--center {
  text-align: center;
}

.gv-hwp-card__tag {
  display: inline-block;
  margin-bottom: 10px;
  padding: 5px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
  background: #f1f5f9;
}

.gv-hwp-card__tag--green { color: #047857; background: rgba(16, 185, 129, 0.12); }
.gv-hwp-card__tag--blue { color: #0369a1; background: rgba(0, 143, 232, 0.1); }
.gv-hwp-card__tag--navy { color: #0f4c75; background: rgba(15, 76, 117, 0.1); }

.gv-hwp-card__title {
  margin: 0;
  font-size: clamp(22px, 3vw, 28px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.2;
  color: var(--gainvest-navy);
}

.gv-hwp-card__intro {
  margin: 10px 0 0;
  max-width: 60ch;
  font-size: 15px;
  line-height: 1.7;
  color: #64748b;
}

.gv-hwp-card__head--center .gv-hwp-card__intro {
  margin-left: auto;
  margin-right: auto;
}

.gv-hwp-card__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: clamp(24px, 4vw, 36px);
  align-items: center;
}

.gv-hwp-card__grid--reverse {
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
}

.gv-hwp-card__grid--reverse .gv-hwp-card__visual {
  order: 2;
}

.gv-hwp-card__grid--reverse .gv-hwp-card__content {
  order: 1;
}

.gv-hwp-card__visual img {
  display: block;
  width: min(100%, 440px);
  margin: 0 auto;
  border-radius: 16px;
}

.gv-hwp-earn-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 20px;
}

.gv-hwp-earn-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid rgba(185, 210, 223, 0.45);
}

.gv-hwp-earn-card__icon {
  flex-shrink: 0;
}

.gv-hwp-earn-card h3 {
  margin: 0 0 3px;
  font-size: 13px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-hwp-earn-card p {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
  color: #64748b;
}

.gv-hwp-pipeline {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.gv-hwp-pipeline li {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid rgba(185, 210, 223, 0.4);
}

.gv-hwp-pipeline__icon {
  flex-shrink: 0;
}

.gv-hwp-pipeline strong {
  display: block;
  margin-bottom: 2px;
  font-size: 14px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-hwp-pipeline p {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: #64748b;
}

.gv-hwp-note {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 14px;
  background: #f0f9ff;
  border: 1px solid rgba(0, 143, 232, 0.12);
}

.gv-hwp-note p {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: #475569;
}

.gv-hwp-revenue {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
  gap: clamp(20px, 3vw, 28px);
  align-items: start;
}

.gv-hwp-revenue__chart {
  margin: 0;
}

.gv-hwp-revenue__chart img {
  display: block;
  width: 100%;
  border-radius: 14px;
}

.gv-hwp-revenue__source {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid rgba(185, 210, 223, 0.45);
}

.gv-hwp-revenue__source span {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #64748b;
}

.gv-hwp-revenue__source strong {
  font-size: 17px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-hwp-split-bars {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.gv-hwp-bar {
  padding: 14px 16px;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid rgba(185, 210, 223, 0.4);
}

.gv-hwp-bar__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.gv-hwp-bar__label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-hwp-bar__head strong {
  font-size: 12px;
  font-weight: 800;
  color: #64748b;
}

.gv-hwp-bar__track {
  height: 6px;
  border-radius: 999px;
  background: rgba(185, 210, 223, 0.4);
  overflow: hidden;
}

.gv-hwp-bar__fill {
  display: block;
  width: var(--w, 0%);
  height: 100%;
  border-radius: inherit;
}

.gv-hwp-reveal.is-visible .gv-hwp-bar__fill {
  animation: gvHwpBarGrow 0.8s ease forwards;
}

@keyframes gvHwpBarGrow {
  from { width: 0; }
  to { width: var(--w, 0%); }
}

.gv-hwp-bar--investor .gv-hwp-bar__fill { background: #2563eb; }
.gv-hwp-bar--free .gv-hwp-bar__fill { background: #10b981; }
.gv-hwp-bar--referral .gv-hwp-bar__fill { background: #8b5cf6; }
.gv-hwp-bar--platform .gv-hwp-bar__fill { background: #64748b; }

.gv-hwp-bar p {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.5;
  color: #64748b;
}

.gv-hwp-timeline {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.gv-hwp-timeline__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 18px 14px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid rgba(185, 210, 223, 0.4);
  text-align: center;
}

.gv-hwp-timeline__icon {
  margin-bottom: 12px;
}

.gv-hwp-timeline__step h3 {
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 800;
  color: var(--gainvest-navy);
  line-height: 1.25;
}

.gv-hwp-timeline__step p {
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
  color: #64748b;
}

.gv-hwp-cta__inner {
  padding: clamp(28px, 4vw, 36px);
  border-radius: var(--hwp-radius);
  text-align: center;
  color: #fff;
  background: linear-gradient(135deg, #0f4c75 0%, #008fe8 100%);
  box-shadow: 0 12px 36px rgba(0, 143, 232, 0.22);
}

.gv-hwp-cta__inner h2 {
  margin: 0;
  font-size: clamp(22px, 3vw, 28px);
  font-weight: 800;
  letter-spacing: -0.03em;
}

.gv-hwp-cta__inner p {
  margin: 10px auto 20px;
  max-width: 46ch;
  font-size: 15px;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.9);
}

.gv-hwp-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

@media (max-width: 980px) {
  .gv-hwp-hero__inner,
  .gv-hwp-card__grid,
  .gv-hwp-card__grid--reverse,
  .gv-hwp-revenue,
  .gv-hwp-stats,
  .gv-hwp-timeline,
  .gv-hwp-earn-cards {
    grid-template-columns: 1fr;
  }

  .gv-hwp-card__grid--reverse .gv-hwp-card__visual,
  .gv-hwp-card__grid--reverse .gv-hwp-card__content {
    order: unset;
  }

  .gv-hwp-timeline__step {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 14px;
    row-gap: 4px;
    align-items: center;
    text-align: left;
  }

  .gv-hwp-timeline__icon {
    grid-row: 1 / span 2;
    margin-bottom: 0;
  }

  .gv-hwp-timeline__step h3,
  .gv-hwp-timeline__step p {
    grid-column: 2;
  }
}

@media (max-width: 640px) {
  .gv-hwp-body {
    margin-top: -24px;
  }

  .gv-hwp-hero__actions,
  .gv-hwp-cta__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .gv-hwp-jump {
    flex-wrap: nowrap;
    overflow-x: auto;
    border-radius: 16px;
    -webkit-overflow-scrolling: touch;
  }

  .gv-hwp-jump a {
    flex: 0 0 auto;
    white-space: nowrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gv-hwp-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .gv-hwp-bar__fill {
    animation: none;
  }
}

/* Referral tools */
.gv-rt {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.gv-rt-hero {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: stretch;
  padding: 18px 20px;
  border-radius: 18px;
  border: 1px solid rgba(159, 194, 212, 0.5);
  background:
    radial-gradient(480px 180px at 100% 0%, rgba(124, 58, 237, 0.16), transparent 58%),
    radial-gradient(420px 160px at 0% 100%, rgba(0, 143, 232, 0.16), transparent 55%),
    linear-gradient(165deg, #ffffff 0%, #f4f8fd 100%);
}

.gv-rt-hero__eyebrow {
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #7c3aed;
}

.gv-rt-hero__title {
  margin: 0;
  font-size: clamp(22px, 2.8vw, 30px);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--gainvest-navy);
}

.gv-rt-hero__lead {
  margin: 8px 0 0;
  max-width: 54ch;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.55;
  color: var(--gainvest-muted);
}

.gv-rt-hero__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(72px, 1fr));
  gap: 8px;
  align-content: center;
}

.gv-rt-hero__stats div {
  min-width: 72px;
  padding: 10px 12px;
  border-radius: 14px;
  text-align: center;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(159, 194, 212, 0.5);
}

.gv-rt-hero__stats em {
  display: block;
  font-style: normal;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-rt-hero__stats strong {
  display: block;
  margin-top: 4px;
  font-size: 18px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-rt-section-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 14px;
}

.gv-rt-section-head--plain {
  margin: 0 2px 4px;
}

.gv-rt-section-head__lead,
.gv-rt-copykit .gv-rt-section-head__lead,
.gv-rt-qr .gv-rt-section-head__lead {
  margin: 4px 0 0;
  font-size: 13px;
  font-weight: 650;
  color: var(--gainvest-muted);
  line-height: 1.5;
}

.gv-rt-h2 {
  margin: 0;
  font-size: 18px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-rt-landings {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 14px;
}

.gv-rt-landing {
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: flex-start;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(159, 194, 212, 0.55);
  background: #fff;
  cursor: pointer;
  text-align: left;
  font: inherit;
}

.gv-rt-landing strong {
  font-size: 13px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-rt-landing em {
  font-style: normal;
  font-size: 11px;
  font-weight: 650;
  color: var(--gainvest-muted);
}

.gv-rt-landing.is-active {
  border-color: rgba(37, 99, 235, 0.55);
  background: linear-gradient(180deg, #eff6ff 0%, #fff 100%);
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.12);
}

.gv-rt-link-row {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(160px, 0.7fr);
  gap: 12px;
}

.gv-rt-share {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px dashed rgba(159, 194, 212, 0.7);
}

.gv-rt-share__label {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-rt-share__row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.gv-rt-share__btn {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 12px;
  font-weight: 800;
  color: #fff;
}

.gv-rt-share__btn--x { background: #111827; }
.gv-rt-share__btn--tg { background: #229ed9; }
.gv-rt-share__btn--wa { background: #16a34a; }
.gv-rt-share__btn--fb { background: #1877f2; }
.gv-rt-share__btn--mail { background: #0f4c75; }

.gv-rt-share__btn:hover {
  filter: brightness(1.08);
}

.gv-rt-banners {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.gv-rt-banner {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.95fr);
  gap: 0;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(159, 194, 212, 0.55);
  background: #fff;
}

.gv-rt-banner__preview {
  position: relative;
  display: grid;
  place-items: center;
  padding: 18px 16px;
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.03), transparent 40%),
    repeating-conic-gradient(#eef3f8 0% 25%, #f8fafc 0% 50%) 50% / 18px 18px;
}

.gv-rt-banner__size {
  position: absolute;
  top: 12px;
  left: 12px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.82);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  z-index: 1;
}

.gv-rt-banner__size .gv-mi {
  font-size: 14px;
}

.gv-rt-banner__frame {
  width: 100%;
  display: flex;
  justify-content: center;
}

.gv-rt-banner__frame img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.16);
}

.gv-rt-banner__tools {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px 16px 14px;
  background: linear-gradient(180deg, #f8fbfe 0%, #fff 100%);
  border-left: 1px solid rgba(159, 194, 212, 0.4);
}

.gv-rt-banner__meta h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-rt-banner__meta p {
  margin: 4px 0 0;
  font-size: 12px;
  font-weight: 650;
  color: var(--gainvest-muted);
}

.gv-rt-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.gv-rt-tabs {
  display: flex;
  gap: 6px;
}

.gv-rt-tabs button {
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(159, 194, 212, 0.6);
  background: #fff;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  color: var(--gainvest-muted);
  cursor: pointer;
}

.gv-rt-tabs button.is-active {
  color: #fff;
  background: var(--gainvest-navy);
  border-color: var(--gainvest-navy);
}

.gv-rt-code {
  width: 100%;
  resize: vertical;
  min-height: 74px;
  padding: 10px 11px;
  border-radius: 12px;
  border: 1px solid rgba(159, 194, 212, 0.7);
  background: #0f172a;
  color: #e2e8f0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11px;
  line-height: 1.45;
}

.gv-rt-code.is-hidden {
  display: none;
}

.gv-rt-copy-code {
  align-self: flex-start;
}

.gv-rt-split {
  display: grid;
  grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.3fr);
  gap: 14px;
}

.gv-rt-qr__box {
  display: grid;
  place-items: center;
  margin: 14px 0 12px;
  padding: 14px;
  border-radius: 16px;
  background: #fff;
  border: 1px dashed rgba(159, 194, 212, 0.8);
}

.gv-rt-qr__box img {
  width: 200px;
  height: 200px;
  border-radius: 12px;
  background: #fff;
}

.gv-rt-snippet {
  display: grid;
  gap: 8px;
}

.gv-rt-copykit .gv-refs-field + .gv-refs-field {
  margin-top: 12px;
}

@media (max-width: 980px) {
  .gv-rt-hero,
  .gv-rt-banner,
  .gv-rt-split,
  .gv-rt-landings,
  .gv-rt-link-row {
    grid-template-columns: 1fr;
    flex-direction: column;
  }

  .gv-rt-hero__stats {
    width: 100%;
  }

  .gv-rt-banner__tools {
    border-left: 0;
    border-top: 1px solid rgba(159, 194, 212, 0.4);
  }

  .gv-rt-landings {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 560px) {
  .gv-rt-hero {
    padding: 14px;
  }

  .gv-rt-hero__stats {
    grid-template-columns: repeat(3, 1fr);
  }

  .gv-rt-share__btn {
    flex: 1 1 calc(50% - 8px);
    justify-content: center;
  }
}

/* Admin: predictions vs Binance chart */
.gv-adm-pred {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.gv-adm-pred__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-end;
  padding: 14px 16px;
}

.gv-adm-pred__filters label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 180px;
}

.gv-adm-pred__filters label span {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-adm-pred__source {
  margin: 0 0 4px;
  font-size: 12px;
  font-weight: 650;
  color: var(--gainvest-muted);
}

.gv-adm-pred__kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.gv-adm-pred__kpis article {
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(159, 194, 212, 0.55);
  background: #fff;
}

.gv-adm-pred__kpis em {
  display: block;
  font-style: normal;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-adm-pred__kpis strong {
  display: block;
  margin-top: 4px;
  font-size: 22px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-adm-pred__kpis span {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  color: var(--gainvest-muted);
}

.gv-adm-pred__chart-card .gv-panel__hd p {
  margin: 4px 0 0;
  font-size: 12px;
  color: var(--gainvest-muted);
}

.gv-adm-pred__canvas-wrap {
  height: 440px;
  padding: 8px 8px 4px;
}

.gv-adm-pred__empty {
  margin: 0;
  padding: 18px;
  color: var(--gainvest-muted);
}

.gv-adm-pred .is-up { color: #15803d; font-weight: 800; }
.gv-adm-pred .is-down { color: #b91c1c; font-weight: 800; }

.gv-adm-pred__markets {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
  gap: 8px;
}

.gv-adm-pred-coin {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px 10px 8px;
  border-radius: 14px;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border: 1px solid rgba(159, 194, 212, 0.55);
}

.gv-adm-pred-coin.is-active {
  border-color: rgba(2, 132, 199, 0.55);
  box-shadow: 0 8px 18px rgba(15, 76, 117, 0.12);
}

.gv-adm-pred-coin__top {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 800;
}

.gv-adm-pred-coin__top img {
  width: 22px;
  height: 22px;
  border-radius: 50%;
}

.gv-adm-pred-coin__bars {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  height: 72px;
}

.gv-adm-pred-coin__down,
.gv-adm-pred-coin__up {
  width: 16px;
  min-height: 8px;
  border-radius: 8px 8px 4px 4px;
}

.gv-adm-pred-coin__down { background: linear-gradient(180deg, #f87171, #b91c1c); }
.gv-adm-pred-coin__up { background: linear-gradient(180deg, #4ade80, #15803d); }

.gv-adm-pred-coin__meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.gv-adm-pred-coin__meta em {
  font-style: normal;
  font-size: 10px;
  font-weight: 700;
  color: var(--gainvest-muted);
}

.gv-adm-pred-coin__fc {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  font-size: 11px;
  font-weight: 800;
}

.gv-adm-pred-coin__fc--up { color: #15803d; }
.gv-adm-pred-coin__fc--down { color: #b91c1c; }
.gv-adm-pred-coin__fc--flat { color: var(--gainvest-muted); }
.gv-adm-pred-coin__fc .gv-mi { font-size: 14px; }

.gv-adm-pred__split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 14px;
}

.gv-adm-bias__stage {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 12px;
  align-items: end;
  min-height: 200px;
  padding: 8px 12px 16px;
}

.gv-adm-bias__col {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.gv-adm-bias__arrow {
  display: grid;
  place-items: center;
  width: 64px;
  height: calc(var(--scale, 20) * 1.55px);
  min-height: 36px;
  border-radius: 16px;
  color: #fff;
  transition: height 0.25s ease;
}

.gv-adm-bias__arrow .gv-mi {
  font-size: 32px;
  font-variation-settings: "FILL" 1, "wght" 700, "GRAD" 0, "opsz" 24;
}

.gv-adm-bias__arrow--up { background: linear-gradient(180deg, #4ade80, #15803d); }
.gv-adm-bias__arrow--down { background: linear-gradient(180deg, #f87171, #b91c1c); }

.gv-adm-bias__col strong {
  font-size: 22px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-adm-bias__col em,
.gv-adm-bias__gap em {
  font-style: normal;
  font-size: 12px;
  color: var(--gainvest-muted);
}

.gv-adm-bias__gap {
  text-align: center;
  padding-bottom: 18px;
}

.gv-adm-bias__gap span {
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-adm-bias__gap strong {
  display: block;
  font-size: 28px;
  font-weight: 800;
  color: var(--gainvest-navy);
}

.gv-adm-fc__body {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(140px, 0.8fr);
  gap: 12px;
  align-items: center;
  padding: 4px 16px 8px;
}

.gv-adm-fc__call {
  display: flex;
  align-items: center;
  gap: 12px;
}

.gv-adm-fc__arrow {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 18px;
  color: #fff;
}

.gv-adm-fc--up .gv-adm-fc__arrow { background: linear-gradient(145deg, #22c55e, #15803d); }
.gv-adm-fc--down .gv-adm-fc__arrow { background: linear-gradient(145deg, #f87171, #b91c1c); }
.gv-adm-fc--flat .gv-adm-fc__arrow { background: #64748b; }

.gv-adm-fc__arrow .gv-mi {
  font-size: 36px;
  font-variation-settings: "FILL" 1, "wght" 700, "GRAD" 0, "opsz" 24;
}

.gv-adm-fc__call em {
  display: block;
  font-style: normal;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--gainvest-muted);
}

.gv-adm-fc__call strong {
  display: block;
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.gv-adm-fc--up .gv-adm-fc__call strong { color: #15803d; }
.gv-adm-fc--down .gv-adm-fc__call strong { color: #b91c1c; }

.gv-adm-fc__call span {
  font-size: 13px;
  font-weight: 700;
  color: var(--gainvest-muted);
}

.gv-adm-fc__chart {
  height: 150px;
}

.gv-adm-fc__meter {
  position: relative;
  margin: 4px 16px 10px;
  padding: 10px 12px 14px;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid rgba(159, 194, 212, 0.45);
}

.gv-adm-fc__meter span {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--gainvest-muted);
}

.gv-adm-fc__meter strong {
  display: block;
  margin-top: 2px;
  font-size: 18px;
}

.gv-adm-fc__meter i {
  display: block;
  height: 8px;
  margin-top: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, #f59e0b, #16a34a);
  width: var(--prec, 0%);
}

.gv-adm-fc__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin: 0 16px 14px;
  padding: 0;
  list-style: none;
  font-size: 12px;
  font-weight: 650;
  color: var(--gainvest-muted);
}

@media (max-width: 900px) {
  .gv-adm-pred__kpis {
    grid-template-columns: 1fr 1fr;
  }

  .gv-adm-pred__split,
  .gv-adm-fc__body {
    grid-template-columns: 1fr;
  }
}
