/**
 * Nova Wealth — navy + gold professional reskin (invester template)
 * Palette from brand flyer: navy primary, muted gold accents, clean white surfaces
 */
:root {
  --nw-navy: #1e3d6b;
  --nw-navy-dark: #152a4a;
  --nw-navy-light: #2d5082;
  --nw-navy-muted: #3d5f8f;
  --nw-gold: #d4a843;
  --nw-gold-dark: #9a7330;
  --nw-gold-light: #e8c56a;
  --nw-gold-pale: #f7e8b8;
  --nw-bg: #f4f6f9;
  --nw-bg-alt: #eef1f6;
  --nw-surface: #ffffff;
  --nw-text: #1a2e4a;
  --nw-text-muted: #5a6d85;
  --nw-border: rgba(212, 168, 67, 0.68);
  --nw-border-soft: rgba(212, 168, 67, 0.45);
  --nw-shadow: 0 8px 32px rgba(30, 61, 107, 0.08);
  --nw-shadow-lg: 0 16px 48px rgba(30, 61, 107, 0.12);

  /* Legacy aliases used by invester-auth-ui */
  --dt-gold: var(--nw-gold);
  --dt-gold-bright: var(--nw-gold-light);
  --dt-gold-deep: var(--nw-gold-dark);
  --dt-gold-dark: var(--nw-navy-dark);
  --dt-champagne: var(--nw-gold-pale);
  --dt-sky: var(--nw-bg);
  --dt-tower: var(--nw-surface);
  --dt-glass: rgba(255, 255, 255, 0.94);
  --dt-border: var(--nw-border);
  --dt-border-soft: var(--nw-border-soft);
  --dt-glow: rgba(212, 168, 67, 0.45);
}

html {
  scroll-behavior: smooth;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--nw-text);
  background-color: var(--nw-bg);
}

::selection {
  background: rgba(30, 61, 107, 0.18);
  color: var(--nw-navy-dark);
}

/* Main app shell — keep class name for blade compatibility */
.dt-tower-bg,
.auth-surface {
  background-color: var(--nw-bg) !important;
  background-image:
    radial-gradient(ellipse 90% 60% at 50% -20%, rgba(30, 61, 107, 0.06), transparent 55%),
    radial-gradient(ellipse 50% 40% at 100% 100%, rgba(212, 168, 67, 0.18), transparent 50%),
    linear-gradient(180deg, var(--nw-bg) 0%, var(--nw-bg-alt) 100%) !important;
  color: var(--nw-text);
}

.font-display {
  font-family: 'Montserrat', system-ui, sans-serif !important;
  letter-spacing: 0.04em;
}

/* Brand wordmark — same lockup everywhere (dashboard style) */
.nw-brand {
  display: inline-flex;
  text-decoration: none;
  color: inherit;
}
.nw-brand--dash {
  flex-direction: row;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
}
.nw-brand__mark {
  display: inline-flex;
  line-height: 0;
  flex-shrink: 0;
  filter: drop-shadow(0 6px 14px rgba(30, 61, 107, 0.2));
}
.nw-brand__mark svg {
  display: block;
}
.nw-brand__meta {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 0.1rem;
}
.nw-brand__name--inline {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 800;
  font-size: 0.95rem;
  letter-spacing: 0.13em;
  line-height: 1.15;
  white-space: nowrap;
}
.nw-brand__name--inline .nw-nova { color: var(--nw-navy-dark); }
.nw-brand__name--inline .nw-wealth { color: var(--nw-gold-dark); }
.nw-brand__sub {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--nw-text-muted);
  letter-spacing: 0.02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nw-brand--dash:hover .nw-brand__name--inline .nw-wealth {
  color: var(--nw-gold) !important;
}
.auth-logo-slot {
  display: flex;
  justify-content: center;
  width: 100%;
}
.auth-logo-slot .nw-brand--dash {
  text-decoration: none;
}

/* Frontend header/footer legacy .logo wrapper */
.header .logo .nw-brand--dash,
.footer-content .logo .nw-brand--dash {
  text-decoration: none;
}
.header .logo,
.footer-content .logo {
  display: inline-flex;
  align-items: center;
}

/* Scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: var(--nw-bg-alt);
}
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--nw-navy-light), var(--nw-navy));
  border-radius: 4px;
}

/* Navy CTA buttons (flyer style) */
.nw-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.95rem 1.5rem;
  border: 0;
  border-radius: 9999px;
  font-weight: 800;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #fff !important;
  background: linear-gradient(145deg, var(--nw-navy-light), var(--nw-navy) 45%, var(--nw-navy-dark));
  box-shadow: 0 8px 24px rgba(30, 61, 107, 0.28);
  transition: filter 0.2s, transform 0.15s, box-shadow 0.2s;
  text-decoration: none;
  cursor: pointer;
}
.nw-btn-primary:hover {
  filter: brightness(1.06);
  box-shadow: 0 12px 32px rgba(30, 61, 107, 0.35);
}
.nw-btn-primary:active {
  transform: scale(0.98);
}

/* Gold-bordered info box (flyer referral / withdrawal boxes) */
.nw-info-box {
  border-radius: 1rem;
  border: 1px solid var(--nw-border);
  background: var(--nw-surface);
  padding: 1rem 1.15rem;
  box-shadow: var(--nw-shadow);
}
.nw-info-box__title {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--nw-gold-dark);
  margin-bottom: 0.35rem;
}

/* Table header style from flyer */
.nw-table-head {
  background: var(--nw-navy);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* Dashboard light-shell readability */
.inv-dash .dash-marquee-item {
  color: rgba(30, 61, 107, 0.45) !important;
}
.inv-dash .dash-header {
  background: rgba(255, 255, 255, 0.92) !important;
  border-color: var(--nw-border) !important;
  box-shadow: var(--nw-shadow) !important;
}
.inv-dash .dash-pill {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
}
.inv-dash .dash-action,
.inv-dash .dash-plan,
.inv-dash .glass-card,
.inv-dash .ui-card {
  background: #ffffff !important;
  border-color: var(--nw-border) !important;
  box-shadow: var(--nw-shadow) !important;
}
.inv-dash .dash-action:hover {
  border-color: rgba(212, 168, 67, 0.75) !important;
  background: #fffdf8 !important;
}
.inv-dash .dash-action-icon {
  background: linear-gradient(145deg, rgba(30, 61, 107, 0.06), rgba(212, 168, 67, 0.28)) !important;
  border-color: rgba(212, 168, 67, 0.62) !important;
  color: var(--nw-gold-dark) !important;
}

/* Stronger gold on auth + labels */
.auth-label,
.auth-label i {
  color: var(--nw-gold-dark) !important;
  opacity: 1 !important;
}
.auth-tabs,
.auth-card,
.auth-logo,
.auth-ref,
.inv-banner,
.inv-faq-item,
.auth-ghost {
  border-color: var(--nw-border) !important;
}
.auth-ref,
.inv-banner {
  background: rgba(212, 168, 67, 0.16) !important;
}
.auth-ref strong,
.inv-banner__title {
  color: var(--nw-gold-dark) !important;
}
.auth-row a,
.auth-ghost {
  color: var(--nw-gold-dark) !important;
}
.auth-inset:focus-within {
  border-color: rgba(212, 168, 67, 0.75) !important;
  box-shadow: 0 0 0 2px rgba(212, 168, 67, 0.22) !important;
  background: rgba(212, 168, 67, 0.08) !important;
}
.auth-inset .auth-inset__icon {
  color: var(--nw-gold-dark) !important;
  opacity: 1 !important;
}
.inv-dash .dash-marquee-item {
  color: rgba(154, 115, 48, 0.75) !important;
}

/* ── Readable text on light dashboard surfaces ── */
.inv-dash .dash-action,
.inv-dash .dash-plan,
.inv-dash .glass-card,
.inv-dash .ui-card {
  color: var(--nw-text);
}
.inv-dash .dash-action .font-semibold,
.inv-dash .dash-plan h3,
.inv-dash .dash-plan h4,
.inv-dash .dash-plan .font-bold:not(.text-nova-gold):not(.text-emerald-400),
.inv-dash .dash-wrap > section .dash-pill .font-bold,
.inv-dash .dash-wrap > section .dash-pill .text-lg {
  color: var(--nw-text) !important;
}
.inv-dash .dash-action p,
.inv-dash .dash-plan p,
.inv-dash .dash-plan span,
.inv-dash .dash-wrap > section .dash-pill p {
  color: var(--nw-text-muted);
}
.inv-dash .dash-action .font-semibold {
  color: var(--nw-text) !important;
}
.inv-dash .dash-wrap > section > h3,
.inv-dash .dash-wrap section .font-display.text-lg {
  color: var(--nw-text) !important;
}

/* Light pills outside hero */
.inv-dash .dash-pill {
  background: #ffffff !important;
  border: 1px solid var(--nw-border-soft) !important;
}
.inv-dash .dash-pill p {
  color: var(--nw-text-muted) !important;
}
.inv-dash .dash-pill .font-bold,
.inv-dash .dash-pill .text-lg,
.inv-dash .dash-pill .text-xl,
.inv-dash .dash-pill .text-sm {
  color: var(--nw-text) !important;
}

/* Dashboard — investment plans (simple English) */
.inv-dash .plan-section__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
}
.inv-dash .plan-section__eyebrow {
  margin: 0 0 0.25rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--nw-gold-dark) !important;
}
.inv-dash .plan-section__title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--nw-navy-dark) !important;
}
.inv-dash .plan-section__desc {
  margin: 0.35rem 0 0;
  font-size: 0.8rem;
  line-height: 1.45;
  color: var(--nw-text-muted) !important;
  max-width: 16rem;
}
.inv-dash .plan-section__count {
  flex-shrink: 0;
  padding: 0.35rem 0.65rem;
  border-radius: 9999px;
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--nw-navy-dark);
  background: rgba(247, 232, 184, 0.55);
  border: 1px solid var(--nw-border-soft);
  text-transform: lowercase;
}
.inv-dash .plan-card {
  position: relative;
  padding: 1.1rem 1rem 1rem;
  border-radius: 1.1rem;
  background: #ffffff;
  border: 1px solid var(--nw-border-soft);
  box-shadow: var(--nw-shadow);
}
.inv-dash .plan-card--empty {
  text-align: center;
  padding: 2rem 1rem;
  border-style: dashed;
}
.inv-dash .plan-card__top {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1rem;
}
.inv-dash .plan-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.85rem;
  display: grid;
  place-content: center;
  flex-shrink: 0;
  background: linear-gradient(145deg, var(--nw-navy-light), var(--nw-navy));
  border: 1px solid rgba(212, 168, 67, 0.45);
}
.inv-dash .plan-card__icon svg {
  color: #ffffff !important;
}
.inv-dash .plan-card__name {
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--nw-navy-dark) !important;
  line-height: 1.25;
}
.inv-dash .plan-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
.inv-dash .plan-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.2rem 0.5rem;
  border-radius: 9999px;
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--nw-text-muted) !important;
  background: var(--nw-bg);
  border: 1px solid rgba(30,  61, 107, 0.1);
}
.inv-dash .plan-tag--good {
  color: var(--nw-gold-dark) !important;
  background: rgba(247, 232, 184, 0.45);
  border-color: rgba(212, 168, 67, 0.4);
}
.inv-dash .plan-card__status {
  flex-shrink: 0;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #1f6b42;
  background: rgba(31, 107, 66, 0.1);
  border: 1px solid rgba(31, 107, 66, 0.2);
  padding: 0.25rem 0.5rem;
  border-radius: 0.45rem;
}
.inv-dash .plan-card__highlight {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 0.75rem;
  align-items: center;
  padding: 0.9rem;
  margin-bottom: 0.75rem;
  border-radius: 0.9rem;
  background: linear-gradient(135deg, rgba(247, 232, 184, 0.35), rgba(255, 255, 255, 0.9));
  border: 1px solid rgba(212, 168, 67, 0.35);
}
.inv-dash .plan-card__divider {
  width: 1px;
  height: 3rem;
  background: rgba(212, 168, 67, 0.35);
}
.inv-dash .plan-card__label {
  margin: 0 0 0.2rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--nw-text-muted) !important;
}
.inv-dash .plan-card__profit {
  margin: 0;
  font-size: 1.45rem;
  font-weight: 800;
  line-height: 1.1;
  color: var(--nw-gold-dark) !important;
}
.inv-dash .plan-card__amount {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--nw-navy-dark) !important;
}
.inv-dash .plan-card__hint {
  margin: 0.25rem 0 0;
  font-size: 0.68rem;
  color: var(--nw-text-muted) !important;
}
.inv-dash .plan-card__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}
.inv-dash .plan-stat {
  padding: 0.55rem 0.4rem;
  text-align: center;
  border-radius: 0.65rem;
  background: var(--nw-bg);
  border: 1px solid rgba(30, 61, 107, 0.08);
}
.inv-dash .plan-stat__label {
  margin: 0 0 0.2rem;
  font-size: 0.62rem;
  font-weight: 600;
  color: var(--nw-text-muted) !important;
  line-height: 1.3;
}
.inv-dash .plan-stat__value {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 800;
  color: var(--nw-navy-dark) !important;
}
.inv-dash .plan-stat__value--gold {
  color: var(--nw-gold-dark) !important;
}
.inv-dash .plan-card__summary {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.7rem 0.75rem;
  margin-bottom: 0.85rem;
  border-radius: 0.75rem;
  background: #fffdf8;
  border: 1px solid rgba(212, 168, 67, 0.28);
}
.inv-dash .plan-card__summary p {
  margin: 0;
  font-size: 0.76rem;
  line-height: 1.45;
  color: var(--nw-text-muted) !important;
}
.inv-dash .plan-card__summary strong {
  color: var(--nw-navy-dark) !important;
  font-weight: 800;
}

/* Dashboard balance card — light, readable */
.inv-dash .dash-balance-card {
  position: relative;
  overflow: hidden;
  padding: 1.25rem;
  border-radius: 1.25rem;
  background: #ffffff;
  border: 1px solid var(--nw-border-soft);
  box-shadow: var(--nw-shadow-lg);
}
.inv-dash .dash-balance-card__accent {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--nw-navy-light), var(--nw-gold), var(--nw-navy-light));
}
.inv-dash .dash-balance-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.1rem;
}
.inv-dash .dash-balance-card__icon {
  width: 3rem;
  height: 3rem;
  border-radius: 0.9rem;
  display: grid;
  place-content: center;
  flex-shrink: 0;
  background: linear-gradient(145deg, var(--nw-navy-light), var(--nw-navy));
  border: 1px solid rgba(212, 168, 67, 0.45);
  box-shadow: 0 8px 20px rgba(30, 61, 107, 0.18);
}
.inv-dash .dash-balance-card__icon svg {
  color: #ffffff !important;
}
.inv-dash .dash-balance-eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--nw-text-muted) !important;
}
.inv-dash .dash-balance-label {
  margin: 0 0 0.25rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--nw-gold-dark) !important;
}
.inv-dash .dash-balance-total {
  margin: 0;
  font-size: 2rem;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--nw-navy-dark) !important;
}
.inv-dash .dash-balance-total__sym {
  margin-right: 0.15rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--nw-gold-dark) !important;
}
.inv-dash .dash-balance-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
  margin-bottom: 1rem;
}
.inv-dash .dash-balance-split__item {
  padding: 0.85rem 0.75rem;
  border-radius: 0.9rem;
  background: var(--nw-bg);
  border: 1px solid rgba(30, 61, 107, 0.1);
}
.inv-dash .dash-balance-split__item--profit {
  background: rgba(247, 232, 184, 0.45);
  border-color: rgba(212, 168, 67, 0.45);
}
.inv-dash .dash-balance-split__top {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.45rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--nw-text-muted) !important;
}
.inv-dash .dash-balance-split__top svg {
  color: var(--nw-navy) !important;
  flex-shrink: 0;
}
.inv-dash .dash-balance-split__item--profit .dash-balance-split__top svg {
  color: var(--nw-gold-dark) !important;
}
.inv-dash .dash-balance-split__val {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--nw-navy-dark) !important;
}
.inv-dash .dash-balance-split__val--gold {
  color: var(--nw-gold-dark) !important;
}
.inv-dash .dash-balance-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
}
.inv-dash .dash-balance-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.72rem 0.65rem;
  border-radius: 0.85rem;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
  transition: filter 0.2s, background 0.2s, border-color 0.2s;
}
.inv-dash .dash-balance-btn--gold {
  color: #ffffff !important;
  background: linear-gradient(145deg, var(--nw-navy-light), var(--nw-navy));
  border: 1px solid rgba(212, 168, 67, 0.35);
  box-shadow: 0 6px 18px rgba(30, 61, 107, 0.22);
}
.inv-dash .dash-balance-btn--gold:hover {
  filter: brightness(1.06);
}
.inv-dash .dash-balance-btn--gold svg {
  color: var(--nw-gold-light) !important;
}
.inv-dash .dash-balance-btn--outline {
  color: var(--nw-navy) !important;
  background: #ffffff;
  border: 1.5px solid rgba(30, 61, 107, 0.18);
}
.inv-dash .dash-balance-btn--outline:hover {
  border-color: var(--nw-gold);
  background: #fffdf8;
}
.inv-dash .dash-balance-btn--outline svg {
  color: var(--nw-gold-dark) !important;
}
.inv-dash .dash-balance-card p,
.inv-dash .dash-balance-card span {
  color: inherit;
}

/* Dark hero — keep white text */
.inv-dash .dash-hero,
.inv-dash .dash-hero .dash-pill {
  color: #ffffff;
}
.inv-dash .dash-hero h2,
.inv-dash .dash-hero .font-bold,
.inv-dash .dash-hero .text-lg {
  color: #ffffff !important;
}
.inv-dash .dash-hero .dash-pill {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
}
.inv-dash .dash-hero .dash-pill p {
  color: rgba(255, 255, 255, 0.65) !important;
}
.inv-dash .dash-hero .dash-pill .font-bold,
.inv-dash .dash-hero .dash-pill .text-lg {
  color: #ffffff !important;
}

/* Dark spot cards — keep white text */
.inv-dash .dash-spot .relative.z-10 h3,
.inv-dash .dash-spot .relative.z-10 p {
  color: #ffffff !important;
}
.inv-dash .dash-spot .relative.z-10 p {
  color: rgba(255, 255, 255, 0.78) !important;
}

/* Plan card badges on white */
.inv-dash .dash-plan .bg-black\/30,
.inv-dash .dash-plan .bg-black\/35,
.inv-dash .dash-plan .bg-black\/40 {
  background: rgba(30, 61, 107, 0.06) !important;
  color: var(--nw-gold-dark) !important;
  border-color: var(--nw-border-soft) !important;
}
.inv-dash .dash-plan .border-white\/\[0\.06\] {
  border-color: var(--nw-border-soft) !important;
}

/* ══════════════════════════════════════════════════════════
   Global inv-dash light theme (all user pages)
   ══════════════════════════════════════════════════════════ */
.inv-dash {
  color: var(--nw-text);
}

/* Page headers (sticky bars) */
.inv-dash > header.sticky,
.inv-dash > header.ui-bar,
.inv-dash header.sticky.top-0,
.inv-dash > header.sticky.top-0 {
  background: rgba(255, 255, 255, 0.96) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-bottom-color: var(--nw-border-soft) !important;
  box-shadow: var(--nw-shadow) !important;
  color: var(--nw-text) !important;
}

/* Cards, articles, panels */
.inv-dash article,
.inv-dash summary,
.inv-dash details,
.inv-dash .inv-stack,
.inv-dash .inv-prose,
.inv-dash table {
  color: var(--nw-text);
}
.inv-dash article h3,
.inv-dash article h4,
.inv-dash article p,
.inv-dash summary,
.inv-dash .ui-card p,
.inv-dash .ui-card h3,
.inv-dash .ui-card h4,
.inv-dash .glass-card p,
.inv-dash .glass-card h3 {
  color: inherit;
}

/* Dark translucent panels → white cards */
.inv-dash .bg-black\/20,
.inv-dash .bg-black\/25,
.inv-dash .bg-black\/30,
.inv-dash .bg-black\/35,
.inv-dash .bg-black\/40,
.inv-dash .bg-black\/45,
.inv-dash .bg-black\/60 {
  background-color: #ffffff !important;
  color: var(--nw-text) !important;
}
.inv-dash .dash-hero .bg-black\/35,
.inv-dash .dash-spot .bg-black\/35,
.inv-dash .dash-spot .bg-black\/30 {
  background-color: rgba(0, 0, 0, 0.35) !important;
}

/* Faint white washes → visible light surfaces */
.inv-dash .bg-white\/5,
.inv-dash .bg-white\/10,
.inv-dash .bg-white\/15 {
  background-color: #ffffff !important;
  border-color: var(--nw-border-soft) !important;
}

/* Ghost borders → gold borders */
.inv-dash .border-white\/5,
.inv-dash .border-white\/10,
.inv-dash .border-white\/15,
.inv-dash .border-white\/20 {
  border-color: var(--nw-border-soft) !important;
}

/* All form fields readable */
.inv-dash input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="file"]),
.inv-dash select,
.inv-dash textarea {
  background-color: #ffffff !important;
  color: var(--nw-text) !important;
  border-color: var(--nw-border-soft) !important;
}
.inv-dash input::placeholder,
.inv-dash textarea::placeholder {
  color: rgba(26, 46, 74, 0.42) !important;
}
.inv-dash input:focus,
.inv-dash select:focus,
.inv-dash textarea:focus {
  border-color: rgba(212, 168, 67, 0.75) !important;
  box-shadow: 0 0 0 2px rgba(212, 168, 67, 0.18) !important;
  background-color: #ffffff !important;
}

/* Headings & body copy defaults */
.inv-dash h1,
.inv-dash h2,
.inv-dash h3,
.inv-dash h4,
.inv-dash h5 {
  color: var(--nw-text);
}
.inv-dash p,
.inv-dash li,
.inv-dash label,
.inv-dash td,
.inv-dash th,
.inv-dash dd,
.inv-dash dt {
  color: var(--nw-text-muted);
}
.inv-dash h1,
.inv-dash h2,
.inv-dash h3,
.inv-dash h4,
.inv-dash .font-bold,
.inv-dash .font-semibold {
  color: var(--nw-text);
}

/* Preserve white text on intentional dark zones */
.inv-dash .dash-hero,
.inv-dash .dash-hero h2,
.inv-dash .dash-hero h3,
.inv-dash .dash-hero p,
.inv-dash .dash-hero .font-bold,
.inv-dash .dash-hero .text-lg,
.inv-dash .dash-spot .relative.z-10,
.inv-dash .dash-spot .relative.z-10 h3,
.inv-dash .dash-spot .relative.z-10 p,
.inv-dash .bg-gradient-to-r.from-nova-navy-light,
.inv-dash a.bg-gradient-to-r.from-nova-navy-light,
.inv-dash button.bg-gradient-to-r.from-nova-navy-light,
.inv-dash .dash-cta,
.inv-dash .nw-btn-primary,
.inv-dash [class*="from-nova-navy"] .text-white,
.inv-dash [class*="from-nova-navy-light"] {
  color: #ffffff;
}
.inv-dash .dash-cta *,
.inv-dash .nw-btn-primary * {
  color: inherit !important;
}

/* Navy CTA links (profile Add Funds, etc.) */
.inv-dash a.profile-cta-navy,
.inv-dash a.profile-cta-navy p,
.inv-dash a.profile-cta-navy .font-bold,
.inv-dash a.profile-cta-navy i,
.inv-dash a.profile-cta-navy svg,
.inv-dash a[class*="from-nova-navy-light"].text-white,
.inv-dash a[class*="from-nova-navy-light"] {
  color: #ffffff !important;
}
.inv-dash a.profile-cta-navy .profile-cta-sub,
.inv-dash a.profile-cta-navy .profile-cta-chevron {
  color: rgba(255, 255, 255, 0.75) !important;
}
.inv-dash a.profile-cta-navy .profile-cta-icon {
  background-color: rgba(255, 255, 255, 0.14) !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
}
.inv-dash a.profile-cta-navy .profile-cta-icon svg {
  color: #ffffff !important;
  stroke: currentColor;
}

/* Lucide SVGs inherit icon size classes */
.inv-dash svg.lucide.icon-16,
.inv-dash svg.lucide.icon-18,
.inv-dash svg.lucide.icon-20,
.inv-dash svg.lucide.icon-22,
.inv-dash svg.lucide.icon-24 {
  display: inline-block;
  flex-shrink: 0;
}

/* Icons on navy avatar circles */
.inv-dash .bg-gradient-to-br.from-nova-navy-light .text-white,
.inv-dash .bg-gradient-to-br.from-nova-navy-light i,
.inv-dash .bg-gradient-to-br.from-nova-navy-light svg {
  color: #ffffff !important;
}

/* Referral reward badge icons on colored gradients */
.inv-dash [class*="bg-gradient-to-br"] .text-white {
  color: #ffffff !important;
}

/* Support /ticket page */
.inv-dash .ticket-hero {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.1rem;
  border-radius: 1rem;
  background: #ffffff;
  border: 1px solid var(--nw-border-soft);
  box-shadow: var(--nw-shadow);
}
.inv-dash .ticket-hero__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.85rem;
  display: grid;
  place-content: center;
  flex-shrink: 0;
  background: linear-gradient(145deg, var(--nw-navy-light), var(--nw-navy));
  border: 1px solid rgba(212, 168, 67, 0.4);
}
.inv-dash .ticket-hero__icon svg {
  color: #ffffff !important;
}
.inv-dash .ticket-hero__title {
  margin: 0 0 0.3rem;
  font-size: 1rem;
  font-weight: 800;
  color: var(--nw-navy-dark) !important;
}
.inv-dash .ticket-hero__text {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.45;
  color: var(--nw-text-muted) !important;
}
.inv-dash .ticket-wa-card {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.9rem 1rem;
  border-radius: 1rem;
  text-decoration: none;
  background: #ffffff;
  border: 1px solid var(--nw-border-soft);
  box-shadow: var(--nw-shadow);
  transition: border-color 0.2s, background 0.2s;
}
.inv-dash .ticket-wa-card:hover {
  border-color: rgba(37, 211, 102, 0.45);
  background: #f6fff9;
}
.inv-dash .ticket-wa-card__icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.75rem;
  display: grid;
  place-content: center;
  flex-shrink: 0;
  color: #ffffff;
}
.inv-dash .ticket-wa-card__icon .wa-icon {
  width: 1.35rem;
  height: 1.35rem;
  display: block;
}
.inv-dash .ticket-wa-card__icon--chat {
  background: linear-gradient(145deg, #25d366, #128c7e);
}
.inv-dash .ticket-wa-card__icon--group {
  background: linear-gradient(145deg, var(--nw-navy-light), var(--nw-navy));
  border: 1px solid rgba(212, 168, 67, 0.35);
}
.inv-dash .ticket-wa-card__title {
  margin: 0 0 0.15rem;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--nw-navy-dark) !important;
}
.inv-dash .ticket-wa-card__desc {
  margin: 0;
  font-size: 0.72rem;
  line-height: 1.4;
  color: var(--nw-text-muted) !important;
}
.inv-dash .ticket-new-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.55rem 0.85rem;
  border-radius: 0.75rem;
  font-size: 0.78rem;
  font-weight: 700;
  text-decoration: none;
  color: #ffffff !important;
  background: linear-gradient(145deg, var(--nw-navy-light), var(--nw-navy));
  border: 1px solid rgba(212, 168, 67, 0.3);
  box-shadow: 0 4px 14px rgba(30, 61, 107, 0.18);
  transition: filter 0.2s;
}
.inv-dash .ticket-new-btn:hover {
  filter: brightness(1.06);
}
.inv-dash .ticket-new-btn--block {
  width: 100%;
}
.inv-dash .ticket-new-btn svg {
  color: var(--nw-gold-light) !important;
}
.inv-dash .ticket-item {
  position: relative;
  display: block;
  padding: 0.9rem 2.25rem 0.9rem 1rem;
  border-radius: 1rem;
  text-decoration: none;
  background: #ffffff;
  border: 1px solid var(--nw-border-soft);
  box-shadow: var(--nw-shadow);
  transition: border-color 0.2s, background 0.2s;
}
.inv-dash .ticket-item:hover {
  border-color: rgba(212, 168, 67, 0.55);
  background: #fffdf8;
}
.inv-dash .ticket-item__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}
.inv-dash .ticket-item__id {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--nw-gold-dark) !important;
}
.inv-dash .ticket-status {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.2rem 0.45rem;
  border-radius: 9999px;
}
.inv-dash .ticket-status--open {
  color: #1f6b42;
  background: rgba(31, 107, 66, 0.12);
  border: 1px solid rgba(31, 107, 66, 0.2);
}
.inv-dash .ticket-status--answered {
  color: var(--nw-navy);
  background: rgba(30, 61, 107, 0.1);
  border: 1px solid rgba(30, 61, 107, 0.15);
}
.inv-dash .ticket-status--waiting {
  color: #9a7330;
  background: rgba(247, 232, 184, 0.55);
  border: 1px solid rgba(212, 168, 67, 0.35);
}
.inv-dash .ticket-status--closed {
  color: var(--nw-text-muted);
  background: var(--nw-bg);
  border: 1px solid rgba(30, 61, 107, 0.1);
}
.inv-dash .ticket-item__subject {
  margin: 0 0 0.45rem;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--nw-navy-dark) !important;
  line-height: 1.35;
}
.inv-dash .ticket-item__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--nw-text-muted) !important;
}
.inv-dash .ticket-item__meta svg {
  color: var(--nw-gold-dark) !important;
}
.inv-dash .ticket-item__arrow {
  position: absolute;
  right: 0.85rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--nw-navy) !important;
  opacity: 0.35;
}
.inv-dash .ticket-item:hover .ticket-item__arrow {
  opacity: 0.8;
  color: var(--nw-gold-dark) !important;
}
.inv-dash .ticket-empty {
  text-align: center;
  padding: 2rem 1.25rem;
  border-radius: 1rem;
  background: #ffffff;
  border: 1px dashed var(--nw-border-soft);
}
.inv-dash .ticket-topic {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.65rem 0.75rem;
  border-radius: 0.75rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--nw-navy) !important;
  background: var(--nw-bg);
  border: 1px solid rgba(30, 61, 107, 0.08);
}
.inv-dash .ticket-tip {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  padding: 0.85rem 1rem;
  border-radius: 0.85rem;
  background: rgba(247, 232, 184, 0.35);
  border: 1px solid rgba(212, 168, 67, 0.35);
}
.inv-dash .ticket-tip p {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.45;
  color: var(--nw-text-muted) !important;
}

/* WhatsApp modal — dashboard */
.wa-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(21, 42, 74, 0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.22s ease;
}
.wa-modal.wa-modal--open {
  opacity: 1;
  pointer-events: auto;
}
.wa-modal.hidden {
  display: none !important;
}
.wa-modal__card {
  position: relative;
  width: 100%;
  max-width: 22rem;
  overflow: hidden;
  border-radius: 1.2rem;
  background: #ffffff;
  border: 1px solid var(--nw-border-soft);
  box-shadow: 0 24px 56px rgba(30, 61, 107, 0.28);
  transform: translateY(12px) scale(0.98);
  transition: transform 0.22s ease;
}
.wa-modal--open .wa-modal__card {
  transform: translateY(0) scale(1);
}
.wa-modal__accent {
  height: 4px;
  background: linear-gradient(90deg, #25d366, #128c7e 50%, var(--nw-gold));
}
.wa-modal__close {
  position: absolute;
  top: 0.65rem;
  right: 0.65rem;
  z-index: 2;
  width: 2rem;
  height: 2rem;
  border: 0;
  border-radius: 0.55rem;
  display: grid;
  place-content: center;
  cursor: pointer;
  background: var(--nw-bg);
  color: var(--nw-text-muted);
  transition: background 0.2s, color 0.2s;
}
.wa-modal__close:hover {
  background: var(--nw-gold-pale);
  color: var(--nw-navy);
}
.wa-modal__hero {
  padding: 1.35rem 1.25rem 0.85rem;
  text-align: center;
}
.wa-modal__icon {
  width: 3.5rem;
  height: 3.5rem;
  margin: 0 auto 0.75rem;
  border-radius: 1rem;
  display: grid;
  place-content: center;
  color: #ffffff;
  background: linear-gradient(145deg, #25d366, #128c7e);
  box-shadow: 0 10px 24px rgba(37, 211, 102, 0.35);
}
.wa-modal__icon .wa-icon {
  width: 1.75rem;
  height: 1.75rem;
  display: block;
}
.inv-dash .dash-header button .wa-icon {
  width: 1.15rem;
  height: 1.15rem;
  color: #25d366;
}
.wa-modal__join .wa-icon {
  width: 1.15rem;
  height: 1.15rem;
  display: block;
}
.wa-modal__badge {
  margin: 0 0 0.35rem;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--nw-gold-dark) !important;
}
.wa-modal__title {
  margin: 0 0 0.45rem;
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--nw-navy-dark) !important;
}
.wa-modal__text {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.5;
  color: var(--nw-text-muted) !important;
}
.wa-modal__benefits {
  list-style: none;
  margin: 0 1rem 1rem;
  padding: 0.65rem 0.75rem;
  border-radius: 0.85rem;
  background: var(--nw-bg);
  border: 1px solid rgba(30, 61, 107, 0.08);
}
.wa-modal__benefits li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--nw-navy) !important;
}
.wa-modal__benefits li + li {
  border-top: 1px solid rgba(30, 61, 107, 0.06);
}
.wa-modal__benefits svg {
  color: var(--nw-gold-dark) !important;
  flex-shrink: 0;
}
.wa-modal__actions {
  padding: 0 1rem 1.15rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.wa-modal__join {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.8rem 1rem;
  border-radius: 0.85rem;
  font-size: 0.88rem;
  font-weight: 800;
  text-decoration: none;
  color: #ffffff !important;
  background: linear-gradient(145deg, #25d366, #1ebe5d 45%, #128c7e);
  box-shadow: 0 8px 22px rgba(37, 211, 102, 0.32);
  transition: filter 0.2s, transform 0.15s;
}
.wa-modal__join:hover {
  filter: brightness(1.05);
}
.wa-modal__join i {
  font-size: 1.15rem;
}
.wa-modal__later {
  width: 100%;
  padding: 0.55rem;
  border: 0;
  background: transparent;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--nw-text-muted);
  cursor: pointer;
  transition: color 0.2s;
}
.wa-modal__later:hover {
  color: var(--nw-navy);
}

/* Frontend content pages */
.inv-fe-section,
.inv-prose,
.inv-faq-item .inv-faq-q,
.inv-faq-item .inv-faq-a {
  color: var(--nw-text);
}
.inv-faq-item .inv-faq-a {
  color: var(--nw-text-muted);
}

/* Legacy pages (password, KYC, balance transfer, etc.) */
main.auth-surface .dashboard-inner,
.inv-pad-nav .dashboard-inner {
  color: var(--nw-text);
  max-width: 32rem;
  margin-left: auto;
  margin-right: auto;
  padding: 0.75rem 1rem 1.5rem;
}
main.auth-surface .dashboard-inner h3,
main.auth-surface .dashboard-inner h4,
main.auth-surface .dashboard-inner .title {
  color: var(--nw-text) !important;
}
main.auth-surface .dashboard-inner p,
main.auth-surface .dashboard-inner label,
main.auth-surface .dashboard-inner .form-label {
  color: var(--nw-text-muted) !important;
}
main.auth-surface .custom--card,
main.auth-surface .card,
main.auth-surface .card-body {
  background: #ffffff !important;
  color: var(--nw-text) !important;
  border: 1px solid var(--nw-border-soft) !important;
  border-radius: 1rem !important;
}
main.auth-surface .form--control,
main.auth-surface .form-control,
main.auth-surface select.form--control {
  background: #ffffff !important;
  color: var(--nw-text) !important;
  border: 1px solid var(--nw-border-soft) !important;
}
main.auth-surface .form--control::placeholder {
  color: rgba(26, 46, 74, 0.42) !important;
}
main.auth-surface .btn--base {
  color: #ffffff !important;
  background: linear-gradient(145deg, #2d5082, #1e3d6b 45%, #152a4a) !important;
  border: 0 !important;
}

/* Change password — secure password checklist */
.inv-dash .password-req p {
  color: var(--nw-text-muted);
  margin: 0;
  padding-left: 1.35rem;
  position: relative;
}
.inv-dash .password-req p::before {
  position: absolute;
  left: 0;
  top: 0.15rem;
  font-size: 0.85rem;
  line-height: 1;
}
.inv-dash .password-req p.error {
  color: rgba(26, 46, 74, 0.5);
  text-decoration: line-through;
}
.inv-dash .password-req p.error::before {
  content: '✕';
  color: #c0392b;
}
.inv-dash .password-req p.success {
  color: #1f6b42;
  text-decoration: none;
}
.inv-dash .password-req p.success::before {
  content: '✓';
  color: #1f6b42;
}
main.auth-surface .table,
main.auth-surface .table td,
main.auth-surface .table th {
  color: var(--nw-text) !important;
}
main.auth-surface .table {
  background: #ffffff !important;
}

/* Portfolio / invest log cards */
.inv-dash .portfolio-card-head,
.inv-dash .portfolio-card-head .font-bold,
.inv-dash .portfolio-card-head h3,
.inv-dash .portfolio-card-head p {
  color: #ffffff !important;
}
.inv-dash .portfolio-card-head .text-white\/75 {
  color: rgba(255, 255, 255, 0.75) !important;
}
.inv-dash .portfolio-card-head .bg-white {
  color: var(--nw-text) !important;
}
.inv-dash .dash-plan > .bg-white,
.inv-dash .dash-plan > div.bg-white {
  background: #ffffff !important;
}
.inv-dash .pagination .page-link,
.inv-dash nav[role="navigation"] a,
.inv-dash nav[role="navigation"] span {
  color: var(--nw-text) !important;
  background: #ffffff !important;
  border-color: var(--nw-border-soft) !important;
}
.inv-dash .pagination .page-item.active .page-link {
  background: var(--nw-navy) !important;
  color: #ffffff !important;
  border-color: var(--nw-navy) !important;
}
