/* Vision T Markets contrast layer.
   Loaded last so public, trading, client and staff views share one readable
   hierarchy in both themes. Secondary copy intentionally stays above a
   WCAG-friendly contrast floor instead of relying on low opacity. */

:root {
  --vm-dark-text: #f4f9fc;
  --vm-dark-muted: #d5ecf8;
  --vm-dark-subtle: #bfe3f5;
  --vm-light-text: #0b293c;
  --vm-light-muted: #17445d;
  --vm-light-subtle: #1f526d;
}

html:not(.light-theme) {
  --elite-text: var(--vm-dark-text);
  --elite-muted: var(--vm-dark-muted);
  --pro-text: var(--vm-dark-text);
  --pro-muted: var(--vm-dark-muted);
  --pro-subtle: var(--vm-dark-subtle);
  --staff-text: var(--vm-dark-text);
  --staff-muted: var(--vm-dark-muted);
}

.light-theme {
  --elite-text: var(--vm-light-text);
  --elite-muted: var(--vm-light-muted);
  --pro-text: var(--vm-light-text);
  --pro-muted: var(--vm-light-muted);
  --pro-subtle: var(--vm-light-subtle);
  --staff-text: var(--vm-light-text);
  --staff-muted: var(--vm-light-muted);
}

/* Public site — dark mode. */
html:not(.light-theme) .landing-v2 {
  --lp-text: #f5fbfe;
  --lp-muted: #b4c8d4;
}
html:not(.light-theme) .landing-v2 :is(
  .hero-copy > p, .lp-section-head p, .lp-platform-copy > p,
  .lp-learning > div > p, .feature-grid p, .lp-tool-grid p,
  .lp-learning li small, .lp-security p, .lp-faq details p,
  .lp-footer > p, .lp-footer > small, .lp-footer > div a
) { color: #b4c8d4 !important; }
html:not(.light-theme) .landing-v2 :is(
  .hero-trust small, .lp-proof small, .market-strip p,
  .lp-asset small, .lp-demo-note
) { color: #a9c0ce !important; }
html:not(.light-theme) .landing-v2 .lp-market-head { color: #9eb9c9 !important; }
html:not(.light-theme) .landing-v2 .lp-market-tabs button { color: #adc2cf; }
html:not(.light-theme) .landing-v2 .elite-market-tape b { color: #f4fbff; }
html:not(.light-theme) .landing-v2 .elite-market-tape small { color: #b1c7d5; }

/* Public site — light mode. */
.light-theme .landing-v2 {
  --lp-text: #08283c;
  --lp-muted: #3f6073;
}
.light-theme .landing-v2 .elite-market-tape {
  border-color: #174c67;
  background: #173b4e;
  color: #eaf8ff;
}
.light-theme .landing-v2 .elite-market-tape > span {
  background: #173b4e;
  color: #8de8ff;
  box-shadow: 14px 0 18px #173b4e;
}
.light-theme .landing-v2 .elite-market-tape b { color: #fff; }
.light-theme .landing-v2 .elite-market-tape small { color: #c6dce7; }
.light-theme .landing-v2 .eyebrow {
  border-color: #72bfd9;
  background: #ddf2f8;
  color: #075a79;
}
.light-theme .landing-v2 .hero-trust b,
.light-theme .landing-v2 .lp-proof b { color: #0a2a3d !important; }
.light-theme .landing-v2 .hero-trust small,
.light-theme .landing-v2 .lp-proof small { color: #456579 !important; }
.light-theme .landing-v2 .market-strip { background: #dcebf2; }
.light-theme .landing-v2 .market-strip p { color: #3e5e70; }
.light-theme .landing-v2 .market-strip span { color: #0c3045; }
.light-theme .landing-v2 .lp-market-tabs button { color: #496779; }
.light-theme .landing-v2 .lp-market-tabs button.active { color: #082b40; }
.light-theme .landing-v2 .lp-market-head { color: #456477; }
.light-theme .landing-v2 .lp-market-row { border-color: #d3e1e9; }
.light-theme .landing-v2 .lp-asset small { color: #45677a; }
.light-theme .landing-v2 .lp-market-kind {
  background: #dff1f8;
  color: #075d82;
}
.light-theme .landing-v2 .lp-demo-note {
  border-color: #c5d9e4;
  background: #dce9f0;
  color: #35576b;
}
.light-theme .landing-v2 :is(
  .hero-copy > p, .lp-section-head p, .lp-platform-copy > p,
  .lp-learning > div > p, .feature-grid p, .lp-tool-grid p,
  .lp-learning li small, .lp-security p, .lp-faq details p,
  .lp-footer > p, .lp-footer > small, .lp-footer > div a
) { color: #3f6073 !important; }
.light-theme .landing-v2 .lp-footer > div b { color: #12394f; }

/* WebTrader — labels, quotes, tools, tables and account menu. */
html:not(.light-theme) :is(
  .terminal-brand small, .top-metrics small, .aside-title span,
  .market-row small, .aside-foot small, .instrument-main small,
  .instrument-quote small, .elite-instrument-stats small,
  .chart-tool span small, .chart-action small, .position-row small,
  .order-history-row small, .closed-trade-row small,
  .profile-card small, .account-heading small, .account-popover small
) { color: var(--vm-dark-muted) !important; opacity: 1 !important; }
html:not(.light-theme) :is(.positions-head, .position-head, .toolbar-menu header small) {
  color: var(--vm-dark-subtle) !important;
}

.light-theme :is(
  .terminal-brand small, .top-metrics small, .aside-title span,
  .market-row small, .aside-foot small, .instrument-main small,
  .instrument-quote small, .elite-instrument-stats small,
  .chart-tool span small, .chart-action small, .position-row small,
  .order-history-row small, .closed-trade-row small,
  .profile-card small, .account-heading small, .account-popover small
) { color: var(--vm-light-muted) !important; opacity: 1 !important; }
.light-theme :is(.positions-head, .position-head, .toolbar-menu header small) {
  color: var(--vm-light-subtle) !important;
}
.light-theme :is(.terminal-brand b, .market-row b, .instrument-main h1,
  .instrument-quote b, .elite-instrument-stats b, .profile-card b,
  .account-heading b, .position-row b, .order-history-row b,
  .closed-trade-row b) { color: var(--vm-light-text) !important; }

/* Client portal — navigation, cards, forms and histories. */
html:not(.light-theme) :is(
  .content-heading p, .welcome-row p, .summary-cards small,
  .summary-cards span, .overview-card header small,
  .quick-card header small, .quick-card a small, .status-grid small,
  .status-grid p, .account-detail-card span, .available-balance small,
  .payment-methods button small, .funding-safety, .movement-list small,
  .movement-list em, .settings-card small, .portal-footer,
  .portal-form label, .cash-card > label, .cash-card > small
) { color: var(--vm-dark-muted) !important; opacity: 1 !important; }
html:not(.light-theme) :is(.portal-sidebar nav a, .portal-mobile-sections a) {
  color: #b6cad6 !important;
}

.light-theme :is(
  .content-heading p, .welcome-row p, .summary-cards small,
  .summary-cards span, .overview-card header small,
  .quick-card header small, .quick-card a small, .status-grid small,
  .status-grid p, .account-detail-card span, .available-balance small,
  .payment-methods button small, .funding-safety, .movement-list small,
  .movement-list em, .settings-card small, .portal-footer,
  .portal-form label, .cash-card > label, .cash-card > small
) { color: var(--vm-light-muted) !important; opacity: 1 !important; }
.light-theme :is(.summary-cards b, .status-grid h3, .account-detail-card b,
  .quick-card a b, .movement-list b, .movement-list strong,
  .settings-card b) { color: var(--vm-light-text) !important; }
.light-theme :is(.portal-sidebar nav a, .portal-mobile-sections a) {
  color: #34566a !important;
}
.light-theme :is(.portal-form input, .cash-input, .select-setting select) {
  border-color: #aebfca !important;
  background: #fff !important;
  color: #102f43 !important;
}
.light-theme :is(input, textarea)::placeholder { color: #587386 !important; opacity: 1; }

/* Administration and agent consoles. */
html:not(.light-theme) body[data-staff-role] :is(
  .staff-brand small, .staff-profile small, .staff-heading p,
  .staff-sidebar nav a, .staff-live, .client-back span,
  .staff-kpis small, .staff-kpis span, .staff-table-head,
  .staff-row small, .row-editor label, .staff-form label,
  .note-card label, .activity-list small, .fund-row small,
  .note-item small, .note-item time, .audit-row time,
  .audit-row small, .provider-card small, .provider-card p,
  .staff-empty, .client-identity-card > p, .client-account-summary em,
  .client-identity-card dt, .client-detail-tabs a,
  .client-form-section header > span, .client-detail-card header > span,
  .client-profile-grid label, .client-trade-row small,
  .client-order-row small, .client-ledger-row small,
  .staff-safety-note, .client-audit-row time, .client-audit-row small,
  .client-kyc-document p, .client-kyc-document dt
) { color: #d5ecf8 !important; opacity: 1 !important; }

.light-theme body[data-staff-role] :is(
  .staff-brand small, .staff-profile small, .staff-heading p,
  .staff-sidebar nav a, .staff-live, .client-back span,
  .staff-kpis small, .staff-kpis span, .staff-table-head,
  .staff-row small, .row-editor label, .staff-form label,
  .note-card label, .activity-list small, .fund-row small,
  .note-item small, .note-item time, .audit-row time,
  .audit-row small, .provider-card small, .provider-card p,
  .staff-empty, .client-identity-card > p, .client-account-summary em,
  .client-identity-card dt, .client-detail-tabs a,
  .client-form-section header > span, .client-detail-card header > span,
  .client-profile-grid label, .client-trade-row small,
  .client-order-row small, .client-ledger-row small,
  .staff-safety-note, .client-audit-row time, .client-audit-row small,
  .client-kyc-document p, .client-kyc-document dt
) { color: #17445d !important; opacity: 1 !important; }
.light-theme body[data-staff-role] :is(
  .staff-heading h1, .staff-kpis b, .staff-card h2, .staff-form h3,
  .staff-row b, .fund-row b, .activity-list strong
) { color: #0b293c !important; }
.light-theme body[data-staff-role] :is(
  .row-editor select, .staff-form input, .staff-form select,
  .staff-form textarea, .note-card textarea, .table-search input
) {
  border-color: #aebfca !important;
  background: #fff !important;
  color: #102f43 !important;
}

/* Tiny labels were technically present but hard to read on common laptop and
   mobile displays. Keep the hierarchy compact while enforcing a usable floor. */
.landing-v2 :is(.elite-market-tape b, .elite-market-tape small,
  .hero-trust small, .lp-proof small, .lp-market-head,
  .lp-asset small, .lp-demo-note) { line-height: 1.35; }
@media (min-width: 761px) {
  .landing-v2 .elite-market-tape b { font-size: 10px; }
  .landing-v2 .elite-market-tape small { font-size: 9px; }
  .landing-v2 .hero-trust small,
  .landing-v2 .lp-proof small,
  .landing-v2 .lp-asset small,
  .landing-v2 .lp-demo-note { font-size: 10px; }
  .landing-v2 .lp-market-head { font-size: 10px; }
}

@media (prefers-contrast: more) {
  :root { --vm-dark-muted: #d0dee7; --vm-light-muted: #294b5f; }
  * { text-shadow: none !important; }
}

/* v12 clarity pass: avoid text that looks soft after browser scaling. */
html, body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
:is(.landing-nav, .terminal-topbar, .portal-top, .staff-top, .portal-sidebar, .staff-sidebar) {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.landing-v2 .preview-window { transform: none !important; }

/* Operational screens used 6–9 px labels in several inherited styles.
   Ten pixels is the absolute floor; interactive text stays at 11 px or more. */
:is(.terminal-shell, .portal-shell, body[data-staff-role]) small {
  font-size: max(10px, .625rem) !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
  opacity: 1 !important;
}
.terminal-shell :is(button, input, select, textarea, a),
.portal-shell :is(button, input, select, textarea, a),
body[data-staff-role] :is(button, input, select, textarea, a) {
  text-shadow: none !important;
}
.terminal-shell :is(.market-row b, .profile-card b, .account-nav a, .table-tabs button,
  .position-row, .order-history-row, .chart-tool b, .chart-action b, .tool-button,
  .indicator-button, .timeframes button, .quote-button small, .order-ticket label) {
  font-size: max(11px, .6875rem) !important;
  line-height: 1.3 !important;
}
.terminal-shell :is(.position-head, .order-history-head, .top-metrics small, .market-tabs button) {
  font-size: 10px !important;
  line-height: 1.3 !important;
}
.portal-shell :is(.portal-sidebar nav a, .portal-mobile-sections a, .portal-form label,
  .movement-list, .status-grid p, .overview-head, .overview-row, .toggle-setting,
  .payment-methods button) {
  font-size: max(11px, .6875rem) !important;
  line-height: 1.4 !important;
}
body[data-staff-role] :is(.staff-table-head, .staff-row, .status, .staff-form label,
  .row-editor label, .activity-list, .fund-row, .audit-row, .client-detail-tabs) {
  font-size: max(11px, .6875rem) !important;
  line-height: 1.4 !important;
}

@media (max-width: 760px) {
  :is(.terminal-shell, .portal-shell, body[data-staff-role]) small { font-size: 10px !important; }
  .terminal-shell :is(.market-row b, .account-nav a, .table-tabs button, .chart-tool b) { font-size: 11px !important; }
}

.login-register-link {
  min-height: 42px;
  margin-top: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(81, 190, 232, .34);
  border-radius: 10px;
  color: #aeeaff;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}
.light-theme .login-register-link { border-color: #8fcbe2; color: #075f87; background: #edf8fc; }
/* v16: one crisp, readable action type system across public, client, terminal and staff UI. */
button,
input[type="button"],
input[type="submit"],
[role="button"],
.primary,
.danger,
.ghost,
.nav-login,
.nav-primary,
.hero-primary,
.hero-secondary,
.public-login,
.public-open,
.public-primary,
.login-submit,
.primary-action,
.trade-link,
.terminal-cta,
.webtrader-link {
  font-family: "Segoe UI Variable Text", "Segoe UI", Inter, ui-sans-serif, system-ui, sans-serif !important;
  font-style: normal !important;
  font-weight: 750 !important;
  letter-spacing: .005em !important;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
}

.nav-login,
.nav-primary,
.hero-primary,
.hero-secondary,
.public-login,
.public-open,
.public-primary,
.login-submit,
.primary-action,
.primary,
.danger,
.ghost { font-size: max(13px, .82rem) !important; line-height: 1.25 !important; }

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible { outline: 3px solid rgba(86, 211, 246, .72); outline-offset: 3px; }

@media (max-width: 390px) {
  .public-open { padding-left: 9px !important; padding-right: 9px !important; font-size: 12px !important; }
  .public-open span { display: none; }
  .public-header { gap: 8px !important; }
}

/* v22 — platform-wide banking design system.
   Uses native variable fonts for crisp rendering without an external font
   dependency and gives every secondary label a real color instead of opacity. */
:root {
  --vm-font-text: "Segoe UI Variable Text", Aptos, "Segoe UI", Inter, ui-sans-serif, system-ui, sans-serif;
  --vm-font-display: "Segoe UI Variable Display", Aptos, "Segoe UI", Inter, ui-sans-serif, system-ui, sans-serif;
  --vm-bank-navy: #061a2a;
  --vm-bank-deep: #03111d;
  --vm-bank-panel: #082238;
  --vm-bank-line: #315f79;
  --vm-bank-blue: #20a9e0;
  --vm-bank-cyan: #66dcff;
  --vm-paper: #f3f8fc;
  --vm-paper-panel: #ffffff;
  --vm-paper-line: #a9c7d7;
}

html, body, button, input, select, textarea { font-family: var(--vm-font-text) !important; }
body { font-kerning: normal; font-variant-ligatures: common-ligatures; }
:is(h1,h2,h3,h4,h5,h6,.display-title,.hero-title) {
  font-family: var(--vm-font-display) !important;
  font-weight: 760;
  letter-spacing: -.025em;
  text-wrap: balance;
}
:is(button,[role="button"],.primary,.danger,.ghost,.nav-login,.nav-primary,.hero-primary,.hero-secondary) {
  font-weight: 720 !important;
  letter-spacing: 0 !important;
}
body :is(p,small,label,dt,dd,time,figcaption) { opacity: 1 !important; text-shadow: none !important; }
body :is(input,select,textarea) { caret-color: var(--vm-bank-blue); }
body :is(input,textarea)::placeholder { opacity: 1 !important; }
.ui-icon { display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }

/* Dark mode: deep navy surfaces, white content and luminous blue controls. */
html:not(.light-theme) body { color: #f7fbff; background-color: var(--vm-bank-deep); }
html:not(.light-theme) { color-scheme: dark; }
html:not(.light-theme) body :is(p,small,label,dt,time,figcaption) { color: #d5ecf8; }
html:not(.light-theme) body :is(input,select,textarea) {
  border-color: #39708d;
  background-color: #061a2a;
  color: #f8fcff;
}
html:not(.light-theme) body :is(input,textarea)::placeholder { color: #a9ccdd !important; }
html:not(.light-theme) :is(.staff-card,.staff-form,.staff-kpis article,.client-identity-card,
  .client-detail-card,.client-profile-form,.note-card,.support-admin-card,
  .summary-cards article,.overview-card,.quick-card,.status-grid article,
  .cash-card,.settings-card,.account-detail-card,.public-card,.public-panel) {
  border-color: var(--vm-bank-line);
  background-color: var(--vm-bank-panel);
  color: #f7fbff;
}
html:not(.light-theme) :is(.staff-sidebar,.staff-top,.portal-sidebar,.portal-top,.terminal-topbar) {
  border-color: #244b63;
  background-color: #051827;
}

/* Light mode: white banking surfaces, navy copy and strong blue boundaries. */
.light-theme body { color: #071f33 !important; background-color: var(--vm-paper) !important; }
.light-theme { color-scheme: light; }
.light-theme body :is(h1,h2,h3,h4,h5,h6) { color: #071f33; }
.light-theme body :is(p,small,label,dt,time,figcaption) { color: #17445d !important; }
.light-theme body :is(input,select,textarea) {
  border-color: #8db4c8 !important;
  background-color: #fff !important;
  color: #071f33 !important;
  box-shadow: none;
}
.light-theme body :is(input,textarea)::placeholder { color: #496c80 !important; }
.light-theme :is(.staff-card,.staff-form,.staff-kpis article,.client-identity-card,
  .client-detail-card,.client-profile-form,.note-card,.support-admin-card,
  .summary-cards article,.overview-card,.quick-card,.status-grid article,
  .cash-card,.settings-card,.account-detail-card,.public-card,.public-panel,
  .lp-market-panel,.feature-grid article,.lp-tool-grid article) {
  border-color: var(--vm-paper-line) !important;
  background-color: var(--vm-paper-panel) !important;
  color: #071f33 !important;
  box-shadow: 0 14px 38px rgba(12, 57, 82, .09);
}
.light-theme :is(.staff-sidebar,.staff-top,.portal-sidebar,.portal-top,.terminal-topbar) {
  border-color: #b5d0de !important;
  background-color: #fff !important;
  color: #071f33 !important;
}
.light-theme :is(.staff-sidebar nav a,.portal-sidebar nav a,.portal-mobile-sections a) { color: #17445d !important; }
.light-theme :is(.staff-sidebar nav a:hover,.staff-sidebar nav a.active,
  .portal-sidebar nav a:hover,.portal-sidebar nav a.active) {
  border-color: #78b5d1 !important;
  background: #e8f5fb !important;
  color: #063551 !important;
}
.light-theme body[data-staff-role] .staff-sidebar nav a i,
.light-theme body[data-staff-role] .staff-top>button { color: #0877aa; }

/* Children inside actions always follow the action color. This prevents a
   global label rule from placing navy text on navy or pale text on pale blue. */
:is(.primary,.danger,.ghost,.nav-login,.nav-primary,.hero-primary,.hero-secondary,
  .public-login,.public-open,.public-primary,.login-submit,.primary-action) :is(span,b,strong,small,.ui-icon) {
  color: inherit !important;
}

/* Consistent control geometry and focus treatment on every surface. */
body :is(button,input,select,textarea,a) { -webkit-font-smoothing: antialiased; }
body :is(input,select,textarea) { min-height: 42px; border-radius: 10px; }
body :is(button,.primary,.danger,.ghost,.nav-login,.nav-primary,.hero-primary,.hero-secondary) { min-height: 42px; }
body :is(button,a,input,select,textarea):focus-visible {
  outline: 3px solid rgba(32,169,224,.72) !important;
  outline-offset: 3px !important;
}
@media (max-width: 760px) {
  body { font-size: 15px; }
  :is(h1,h2,h3,h4,h5,h6) { text-wrap: pretty; }
  body :is(button,input,select,textarea) { min-height: 44px; }
}

/* WebTrader market rail — explicit surface/text pairs. The instrument list is
   dense, so it must never inherit a pale logo or label color from dark mode. */
html:not(.light-theme) .market-sidebar { background: #061725 !important; }
html:not(.light-theme) .market-row { color: #f7fbff !important; }
html:not(.light-theme) .market-row :is(b,strong) { color: #f7fbff !important; }
html:not(.light-theme) .market-row small { color: #c5e3f1 !important; }
html:not(.light-theme) .market-row .asset-logo {
  border-color: #3d718c !important;
  background: #0b2b40 !important;
  color: #8fe7ff !important;
}
html:not(.light-theme) .market-tabs button { border-color: #315e76; background: #092238; color: #d5ecf8; }
html:not(.light-theme) .market-tabs button.active { border-color: #55bfe7; background: #0c4665; color: #fff; }

.light-theme .market-sidebar { border-color: #9fc2d4 !important; background: #fff !important; }
.light-theme .market-row {
  border: 1px solid transparent;
  background: #fff !important;
  color: #071f33 !important;
}
.light-theme .market-row:hover,.light-theme .market-row.selected {
  border-color: #86b9d2 !important;
  background: #e8f5fb !important;
}
.light-theme .market-row :is(b,strong),
.light-theme .market-row > span:nth-child(2) b,
.light-theme .market-row > span:last-child b { color: #061f32 !important; }
.light-theme .market-row small { color: #17445d !important; }
.light-theme .market-row .asset-logo {
  border-color: #75aec8 !important;
  background: #dff2fa !important;
  color: #075277 !important;
  box-shadow: 0 5px 14px rgba(18,79,109,.13) !important;
}
.light-theme .market-row.selected .asset-logo {
  border-color: #087eb2 !important;
  background: #087eb2 !important;
  color: #fff !important;
}
.light-theme .aside-foot { border-color: #b4cedb !important; background: #f1f7fa; }
.light-theme .aside-foot :is(span,small) { color: #17445d !important; }

@media (min-width: 761px) {
  .market-tabs button { min-height: 36px !important; font-size: 10px !important; }
  .market-row { min-height: 66px !important; height: 66px !important; }
  .market-row b { font-size: 12px !important; line-height: 1.25 !important; }
  .market-row small { font-size: 10px !important; line-height: 1.3 !important; }
}
@media (min-width: 1180px) {
  .terminal-grid { grid-template-columns: 292px minmax(0,1fr) !important; }
  .market-row { grid-template-columns: 40px minmax(0,1fr) 82px !important; gap: 10px !important; }
}

/* Staff and client portals: stable bank-white / navy and bank-navy / white
   combinations on navigation, rows and panels in every role. */
html:not(.light-theme) :is(.staff-row,.fund-row,.audit-row,.activity-list>div,
  .overview-row,.movement-list>div,.account-detail-card,.client-ledger-row,
  .client-order-row,.client-trade-row) { color: #f7fbff; border-color: #31566d !important; }
html:not(.light-theme) :is(.staff-row,.fund-row,.audit-row,.activity-list>div,
  .overview-row,.movement-list>div) :is(b,strong) { color: #f7fbff; }
.light-theme :is(.staff-row,.fund-row,.audit-row,.activity-list>div,
  .overview-row,.movement-list>div,.account-detail-card,.client-ledger-row,
  .client-order-row,.client-trade-row) { color: #071f33 !important; border-color: #b9d0dc !important; }
.light-theme :is(.staff-row,.fund-row,.audit-row,.activity-list>div,
  .overview-row,.movement-list>div) :is(b,strong) { color: #071f33 !important; }

/* v23 — contextual contrast, never pale-on-pale.
   WebTrader calls to action have nested copy with different hierarchy levels,
   so they must not inherit the generic button color as one flat value. */
html:not(.light-theme) .portal-sidebar .trade-link.webtrader-link {
  border-color: #3c91b8 !important;
  background: linear-gradient(135deg,#08486a,#0b638d) !important;
  color: #fff !important;
}
html:not(.light-theme) .portal-sidebar .trade-link.webtrader-link > .nav-icon {
  border: 1px solid #5db9df !important;
  background: #062d45 !important;
  color: #bcecff !important;
}
html:not(.light-theme) .portal-sidebar .trade-link.webtrader-link span small { color: #bcecff !important; }
html:not(.light-theme) .portal-sidebar .trade-link.webtrader-link span b,
html:not(.light-theme) .portal-sidebar .trade-link.webtrader-link > strong { color: #fff !important; }
html:not(.light-theme) .portal-sidebar .trade-link.webtrader-link span em { color: #d8f3ff !important; }

.light-theme .portal-sidebar .trade-link.webtrader-link {
  border: 1px solid #5b9fbe !important;
  background: linear-gradient(135deg,#e4f5fc,#ccebf8) !important;
  color: #061f32 !important;
  box-shadow: 0 10px 24px rgba(18,79,109,.14) !important;
}
.light-theme .portal-sidebar .trade-link.webtrader-link > .nav-icon {
  border: 1px solid #76b5cf !important;
  background: #fff !important;
  color: #075d86 !important;
}
.light-theme .portal-sidebar .trade-link.webtrader-link span small { color: #07577d !important; }
.light-theme .portal-sidebar .trade-link.webtrader-link span b,
.light-theme .portal-sidebar .trade-link.webtrader-link > strong { color: #061f32 !important; }
.light-theme .portal-sidebar .trade-link.webtrader-link span em { color: #17445d !important; }

/* The large WebTrader card is blue in both themes, therefore its foreground
   stays explicitly light instead of depending on ambient paragraph rules. */
.terminal-cta {
  border-color: #218bb8 !important;
  background: linear-gradient(135deg,#06496e,#08739f) !important;
  color: #fff !important;
}
.terminal-cta > .nav-icon { background: rgba(255,255,255,.16) !important; color: #fff !important; }
.terminal-cta :is(b,strong) { color: #fff !important; }
.light-theme .terminal-cta small,
html:not(.light-theme) .terminal-cta small { color: #fff !important; }

/* Administrative light theme: status chips and utility links use solid,
   high-contrast semantic pairs instead of translucent dark-theme colors. */
.light-theme body[data-staff-role] .staff-card header a { color: #07577d !important; }
.light-theme body[data-staff-role] .staff-sidebar form button { color: #194d9b !important; }
.light-theme body[data-staff-role] .client-back a { color: #07577d !important; }
.light-theme body[data-staff-role] .client-account-summary > b { color: #00624a !important; }
.light-theme .positive { color: #006748 !important; }
.light-theme .negative { color: #194d9a !important; }
.light-theme body[data-staff-role] .status {
  border-color: #84aabd !important;
  background: #e8f2f6 !important;
  color: #153f55 !important;
}
.light-theme body[data-staff-role] .status:is(.active,.verified,.deposit,.resolved,.closed,.approved) {
  border-color: #4f9f84 !important;
  background: #ddf3ea !important;
  color: #005c43 !important;
}
.light-theme body[data-staff-role] .status:is(.pending,.review,.open,.pending_approval) {
  border-color: #bd8424 !important;
  background: #fff0c9 !important;
  color: #704600 !important;
}
.light-theme body[data-staff-role] .status.in_progress {
  border-color: #4a93b5 !important;
  background: #e0f2fa !important;
  color: #07577d !important;
}
.light-theme body[data-staff-role] .status:is(.restricted,.suspended,.rejected,.withdrawal) {
  border-color: #3277de !important;
  background: #fbe6eb !important;
  color: #17458a !important;
}

/* Public homepage light theme: legacy accent colors were designed for navy
   panels. Replace them with dark, readable accents whenever the panel is white. */
.light-theme .landing-v2 .elite-market-tape small { color: #c6dce7 !important; }
.light-theme .landing-v2 .lp-riskbar b { color: #07577d !important; }
.light-theme .landing-v2 .hero-copy h1 em {
  background: none !important;
  -webkit-background-clip: initial !important;
  color: #075f86 !important;
}
.light-theme .landing-v2 .lp-nav-group > button span { color: #07577d !important; }
.light-theme .landing-v2 .lp-section-head > div > span,
.light-theme .landing-v2 .lp-home-insight > div > span,
.light-theme .landing-v2 .lp-home-payments header > span,
.light-theme .landing-v2 .lp-home-standards header > span,
.light-theme .landing-v2 .lp-home-support > div > span { color: #07577d !important; }
.light-theme .landing-v2 .lp-home-account > div > span { color: #00624a !important; }
.light-theme .landing-v2 .lp-home-paths small,
.light-theme .landing-v2 .lp-home-paths strong,
.light-theme .landing-v2 .lp-home-insight a,
.light-theme .landing-v2 .lp-home-standards > a { color: #07577d !important; }
.light-theme .landing-v2 .lp-footer-risk > b { color: #754600 !important; }
.light-theme .landing-v2 .lp-pay-visa strong { color: #075985 !important; }
.light-theme .landing-v2 .lp-pay-bank strong { color: #006047 !important; }
.light-theme .landing-v2 .lp-pay-wallet strong { color: #593b9c !important; }
.light-theme .landing-v2 .theme-switch :is(span,.theme-switch-label) { color: #075f8c !important; }
.light-theme .landing-v2 .lp-cat-forex { --cat-color: #08745b; }
.light-theme .landing-v2 .lp-cat-stocks { --cat-color: #075d89; }
.light-theme .landing-v2 .lp-cat-indices { --cat-color: #6849ad; }
.light-theme .landing-v2 .lp-cat-crypto { --cat-color: #855700; }
.light-theme .landing-v2 .lp-cat-commodities { --cat-color: #93401e; }

/* White labels require a genuinely dark action surface, including the green
   endpoint of the gradient and the floating support button. */
.landing-v2 :is(.lp-home-account > a,.lp-home-support > a) {
  background: linear-gradient(135deg,#075d86,#05694f) !important;
  color: #fff !important;
}
.landing-v2 .lp-support-fab {
  background: linear-gradient(135deg,#07567e,#08739f) !important;
  color: #fff !important;
}
.light-theme .landing-v2 :is(.nav-primary,.hero-primary) {
  background: linear-gradient(135deg,#07567e,#08739f) !important;
  color: #fff !important;
}

/* Public information pages and their shared footer. */
.light-theme body.public-info-body :is(
  .site-notice b,.public-hero > span,.public-detail > div > span,
  .public-bottom-cta > div > span,.registration-panel header > span,
  .registration-layout > aside > span,.public-knowledge > header > span,
  .footer-payments > div > span,.support-form-card header > span,
  .support-page-layout > aside > span,.support-success > small
) { color: #07577d !important; }
.light-theme body.public-info-body .public-topic-card > span {
  border: 1px solid #83b7cc !important;
  background: #e4f4fa !important;
  color: #07577d !important;
}
.light-theme body.public-info-body :is(.public-topic-card strong,.public-knowledge article a) {
  color: #07577d !important;
}
.light-theme body.public-info-body .public-footer .footer-directory a { color: #36596c !important; }
.light-theme body.public-info-body .footer-payments b { color: #17445d !important; }
.light-theme body.public-info-body .footer-contact > b { color: #07577d !important; }
.light-theme body.public-info-body :is(
  .public-hero > a:first-child,.registration-layout > aside > a:first-child,
  .support-page-layout > aside > a:first-child
) { color: #17445d !important; }
.light-theme body.public-info-body :is(.public-open,.public-primary),
body.public-info-body .support-widget > button {
  background: linear-gradient(135deg,#07567e,#08739f) !important;
  color: #fff !important;
}

/* v24 — strict light-mode typography.
   Every textual element on the white banking interface is pure black. This
   deliberately replaces all legacy gray, muted and pale-blue copy across the
   public site, administrator, agent, client and trading views. */
.light-theme body {
  color: #000 !important;
  --staff-text: #000;
  --staff-muted: #000;
  --text: #000;
  --muted: #000;
  --lp-text: #000;
  --lp-muted: #000;
  --pub-text: #000;
  --pub-muted: #000;
}
.light-theme body :is(
  h1,h2,h3,h4,h5,h6,p,small,label,dt,dd,time,figcaption,
  span,b,strong,em,a,button,th,td,li,legend,summary,code,pre,
  input,textarea,select,option
) {
  color: #000 !important;
  opacity: 1 !important;
}
.light-theme body :is(input,textarea)::placeholder {
  color: #000 !important;
  opacity: 1 !important;
}
.light-theme body :is(input,textarea,select):disabled,
.light-theme body [aria-disabled="true"] {
  color: #000 !important;
  opacity: 1 !important;
}

/* White copy is reserved exclusively for controls and strips that retain a
   genuinely dark background in light mode. */
.light-theme body :is(
  .nav-login,.nav-primary,.hero-primary,.public-login,.public-open,
  .public-primary,.login-submit,.primary-action,.terminal-cta,
  .lp-support-fab,.deposit-button,.quote-button,.submit-order,
  .staff-toast,.portal-toast,.live-price-tag
),
.light-theme body :is(
  .nav-login,.nav-primary,.hero-primary,.public-login,.public-open,
  .public-primary,.login-submit,.primary-action,.terminal-cta,
  .lp-support-fab,.deposit-button,.quote-button,.submit-order,
  .staff-toast,.portal-toast,.live-price-tag
) :is(span,b,strong,small,em,i,svg) {
  color: #fff !important;
}
.light-theme .landing-v2 .elite-market-tape,
.light-theme .landing-v2 .elite-market-tape :is(span,b,strong,small,em,a) {
  color: #fff !important;
}

/* The reported administration sidebar: black labels in every state, including
   the selected row. Icons keep their blue visual identity. */
.light-theme body[data-staff-role] .staff-sidebar nav a,
.light-theme body[data-staff-role] .staff-sidebar nav a:is(:hover,.active),
.light-theme body[data-staff-role] .staff-sidebar nav a :is(span,b,strong,small) {
  color: #000 !important;
  opacity: 1 !important;
}

/* Final cascade guard. Several older theme files use highly specific muted
   selectors with !important; this rule intentionally outranks them so no
   gray copy survives anywhere in the light interface. */
html.light-theme.light-theme.light-theme.light-theme.light-theme body :is(
  main,section,article,header,footer,nav,aside,form,div,
  h1,h2,h3,h4,h5,h6,p,small,label,dt,dd,time,figcaption,
  span,b,strong,em,a,button,th,td,li,legend,summary,code,pre,
  input,textarea,select,option
) {
  color: #000 !important;
  opacity: 1 !important;
}
html.light-theme.light-theme.light-theme.light-theme.light-theme body :is(input,textarea)::placeholder {
  color: #000 !important;
  opacity: 1 !important;
}

/* Re-apply the only permitted light text after the black typography guard:
   actions and bands whose background remains dark in the light theme. */
html.light-theme.light-theme.light-theme.light-theme.light-theme body :is(
  .nav-login,.nav-primary,.hero-primary,.public-login,.public-open,
  .public-primary,.login-submit,.primary-action,.terminal-cta,
  .lp-support-fab,.deposit-button,.quote-button,.submit-order,
  .staff-toast,.portal-toast,.live-price-tag
),
html.light-theme.light-theme.light-theme.light-theme.light-theme body :is(
  .nav-login,.nav-primary,.hero-primary,.public-login,.public-open,
  .public-primary,.login-submit,.primary-action,.terminal-cta,
  .lp-support-fab,.deposit-button,.quote-button,.submit-order,
  .staff-toast,.portal-toast,.live-price-tag
) *,
html.light-theme.light-theme.light-theme.light-theme.light-theme .landing-v2 .elite-market-tape,
html.light-theme.light-theme.light-theme.light-theme.light-theme .landing-v2 .elite-market-tape * {
  color: #fff !important;
}

/* v25 — the shared candle emblem must contain visible geometry everywhere.
   Staff pages only loaded the color declarations before, leaving the empty
   inline elements at zero height. */
.candle-mark {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  flex: 0 0 auto !important;
}
.candle-mark > i {
  position: relative !important;
  display: block !important;
  width: 5px !important;
  min-width: 5px !important;
  border-radius: 3px !important;
}
.candle-mark > i::before {
  content: "" !important;
  position: absolute !important;
  left: 2px !important;
  top: -4px !important;
  bottom: -4px !important;
  width: 1px !important;
  background: inherit !important;
}
.candle-mark > i:nth-child(1) { height: 14px !important; }
.candle-mark > i:nth-child(2) { height: 23px !important; }
.candle-mark > i:nth-child(3) { height: 11px !important; }

html.light-theme.light-theme.light-theme body :is(
  .staff-brand,.portal-brand,.login-brand,.terminal-brand,.public-brand,.aureo-brand
) .candle-mark {
  border: 1px solid #075d86 !important;
  background: linear-gradient(145deg,#06324d,#075d86) !important;
  box-shadow: 0 8px 20px rgba(6,50,77,.22) !important;
}
html.light-theme.light-theme.light-theme body :is(
  .staff-brand,.portal-brand,.login-brand,.terminal-brand,.public-brand,.aureo-brand
) .candle-mark > i:nth-child(1) { background: #55d9ff !important; }
html.light-theme.light-theme.light-theme body :is(
  .staff-brand,.portal-brand,.login-brand,.terminal-brand,.public-brand,.aureo-brand
) .candle-mark > i:nth-child(2) { background: #fff !important; }
html.light-theme.light-theme.light-theme body :is(
  .staff-brand,.portal-brand,.login-brand,.terminal-brand,.public-brand,.aureo-brand
) .candle-mark > i:nth-child(3) { background: #27b7e8 !important; }

/* Navigation glyphs stay saturated on the white banking surface. */
html.light-theme.light-theme.light-theme body :is(
  .staff-sidebar nav a i,.portal-sidebar nav a i,.portal-mobile-sections a i
) {
  color: #005f8d !important;
  opacity: 1 !important;
}

/* v26 — reference banking system: crisp navy typography, readable slate
   supporting copy, white cards, pale blue canvas and decisive blue actions. */
html.light-theme.light-theme.light-theme.light-theme.light-theme {
  --vm-ref-canvas: #eef5f9;
  --vm-ref-surface: #ffffff;
  --vm-ref-navy: #082b45;
  --vm-ref-text: #173e57;
  --vm-ref-muted: #42647a;
  --vm-ref-line: #c5d9e5;
  --vm-ref-blue: #087db8;
  --vm-ref-blue-dark: #075f8d;
  --vm-ref-sidebar: #062d49;
  --vm-ref-sidebar-2: #0b4567;
}
html.light-theme.light-theme.light-theme.light-theme.light-theme body {
  background: var(--vm-ref-canvas) !important;
  color: var(--vm-ref-text) !important;
  font-family: "Inter", "Segoe UI Variable Text", "Segoe UI", Arial, sans-serif !important;
  font-weight: 500;
  letter-spacing: -.01em;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}
html.light-theme.light-theme.light-theme.light-theme.light-theme body :is(
  main,section,article,header,footer,nav,aside,form,div,
  h1,h2,h3,h4,h5,h6,p,small,label,dt,dd,time,figcaption,
  span,b,strong,em,a,button,th,td,li,legend,summary,code,pre,
  input,textarea,select,option
) {
  color: var(--vm-ref-text) !important;
  opacity: 1 !important;
}
html.light-theme.light-theme.light-theme.light-theme.light-theme body :is(h1,h2,h3,h4,h5,h6) {
  color: var(--vm-ref-navy) !important;
  font-weight: 800 !important;
  letter-spacing: -.035em !important;
}
html.light-theme.light-theme.light-theme.light-theme.light-theme body :is(
  p,small,label,dt,dd,time,figcaption,.staff-table-head,
  .overview-head,.position-head,.order-history-head
) {
  color: var(--vm-ref-muted) !important;
}
html.light-theme.light-theme.light-theme.light-theme.light-theme body small {
  font-size: max(10px,.72em) !important;
  line-height: 1.4 !important;
}
html.light-theme.light-theme.light-theme.light-theme.light-theme body :is(a,button) {
  font-weight: 750 !important;
}
html.light-theme.light-theme.light-theme.light-theme.light-theme body :is(input,textarea,select) {
  border-color: #9fbdce !important;
  background: #fff !important;
  color: var(--vm-ref-navy) !important;
}
html.light-theme.light-theme.light-theme.light-theme.light-theme body :is(input,textarea)::placeholder {
  color: #4c6c80 !important;
  opacity: 1 !important;
}

/* White elevated surfaces with the thin blue-gray outline from the reference. */
html.light-theme.light-theme.light-theme body :is(
  .staff-card,.staff-form,.staff-kpis article,.note-item,
  .client-identity-card,.client-detail-card,.client-profile-form,
  .support-admin-card,.summary-cards article,.overview-card,.quick-card,
  .status-grid article,.cash-card,.settings-card,.account-detail-card,
  .movement-card,.history-card,.funding-assurance,.public-card,.public-panel,
  .lp-market-panel,.feature-grid article,.lp-tool-grid article
) {
  border-color: var(--vm-ref-line) !important;
  background: var(--vm-ref-surface) !important;
  box-shadow: 0 8px 24px rgba(8,43,69,.075) !important;
}
html.light-theme.light-theme.light-theme body :is(
  .staff-top,.portal-top,.terminal-topbar,.landing-nav,.public-nav
) {
  border-color: var(--vm-ref-line) !important;
  background: rgba(255,255,255,.97) !important;
  box-shadow: 0 4px 18px rgba(8,43,69,.055) !important;
}

/* The reference keeps its navigation rail navy even while content is light. */
html.light-theme.light-theme.light-theme body :is(.staff-sidebar,.portal-sidebar) {
  border-color: #174d6c !important;
  background: linear-gradient(180deg,var(--vm-ref-sidebar),#05263d) !important;
  color: #f7fbff !important;
  box-shadow: 10px 0 30px rgba(8,43,69,.08) !important;
}
html.light-theme.light-theme.light-theme body :is(.staff-sidebar,.portal-sidebar) :is(
  div,span,b,strong,small,p,label,a,button
) {
  color: #d9edf7 !important;
}
html.light-theme.light-theme.light-theme body :is(.staff-sidebar,.portal-sidebar) :is(
  .staff-brand b,.portal-brand b
) { color: #fff !important; }
html.light-theme.light-theme.light-theme body :is(.staff-sidebar,.portal-sidebar) :is(
  .staff-brand small,.portal-brand small,.staff-profile small
) { color: #b7d3e2 !important; }
html.light-theme.light-theme.light-theme body :is(.staff-sidebar,.portal-sidebar) nav a {
  border-color: transparent !important;
  background: transparent !important;
  color: #d9edf7 !important;
  font-size: 12px !important;
}
html.light-theme.light-theme.light-theme body :is(.staff-sidebar,.portal-sidebar) nav a i {
  color: #68d4f5 !important;
}
html.light-theme.light-theme.light-theme body :is(.staff-sidebar,.portal-sidebar) nav a:is(:hover,.active) {
  border-color: #28769c !important;
  background: var(--vm-ref-sidebar-2) !important;
  color: #fff !important;
}
html.light-theme.light-theme.light-theme body :is(.staff-sidebar,.portal-sidebar) nav a:is(:hover,.active) :is(span,b,strong,small) {
  color: #fff !important;
}
html.light-theme.light-theme.light-theme body[data-staff-role] .staff-profile {
  border-color: #2b6685 !important;
  background: #0a3b59 !important;
}
html.light-theme.light-theme.light-theme body[data-staff-role] .staff-sidebar form button {
  color: #d7e7ff !important;
}

/* Compact but readable information hierarchy, matching the reference scale. */
html.light-theme.light-theme.light-theme body[data-staff-role] .staff-heading > div > span,
html.light-theme.light-theme.light-theme body[data-staff-role] :is(.staff-card,.staff-form) header small,
html.light-theme.light-theme.light-theme .landing-v2 :is(
  .lp-section-head>div>span,.lp-home-insight>div>span,.lp-home-payments header>span,
  .lp-home-standards header>span,.lp-home-support>div>span
) {
  color: var(--vm-ref-blue-dark) !important;
  font-weight: 850 !important;
  letter-spacing: .13em !important;
}
html.light-theme.light-theme.light-theme body[data-staff-role] .staff-heading p,
html.light-theme.light-theme.light-theme body[data-staff-role] :is(.staff-kpis small,.staff-kpis span,.staff-row small,.fund-row small,.activity-list small) {
  color: var(--vm-ref-muted) !important;
}
html.light-theme.light-theme.light-theme body[data-staff-role] :is(.staff-row b,.fund-row b,.activity-list strong,.staff-kpis b) {
  color: var(--vm-ref-navy) !important;
}

/* Blue action language and restrained semantic colors. */
html.light-theme.light-theme.light-theme body :is(.primary,.nav-primary,.hero-primary,.public-open,.public-primary) {
  border-color: var(--vm-ref-blue) !important;
  background: linear-gradient(135deg,#087db8,#0796c8) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(8,125,184,.18) !important;
}
html.light-theme.light-theme.light-theme body :is(.primary,.nav-primary,.hero-primary,.public-open,.public-primary) * {
  color: #fff !important;
}
html.light-theme.light-theme.light-theme body .ghost {
  border-color: #8fb3c7 !important;
  background: #fff !important;
  color: var(--vm-ref-blue-dark) !important;
}
html.light-theme.light-theme.light-theme body .danger {
  border-color: #86aeeb !important;
  background: #fff1f4 !important;
  color: #184891 !important;
}
html.light-theme.light-theme.light-theme body .positive { color: #007451 !important; }
html.light-theme.light-theme.light-theme body .negative { color: #1d57af !important; }

/* Preserve light copy only where the surface remains deliberately dark. */
html.light-theme.light-theme.light-theme body :is(
  .nav-login,.login-submit,.primary-action,.terminal-cta,.lp-support-fab,
  .deposit-button,.quote-button,.staff-toast,.portal-toast,.live-price-tag
),
html.light-theme.light-theme.light-theme body :is(
  .nav-login,.login-submit,.primary-action,.terminal-cta,.lp-support-fab,
  .deposit-button,.quote-button,.staff-toast,.portal-toast,.live-price-tag
) *,
html.light-theme.light-theme.light-theme .landing-v2 .elite-market-tape,
html.light-theme.light-theme.light-theme .landing-v2 .elite-market-tape *,
html.light-theme.light-theme.light-theme body :is(.terminal-chart,.order-ticket,.modal-backdrop) :is(
  div,span,b,strong,small,p,label,button
) {
  color: #fff !important;
}

/* v27 — the navy rail is a dark surface; its complete foreground hierarchy
   must outrank the former all-black light-theme guard. */
html.light-theme.light-theme.light-theme.light-theme.light-theme body[data-staff-role] .staff-sidebar :is(
  div,span,b,strong,small,p,label,a,button
),
html.light-theme.light-theme.light-theme.light-theme.light-theme body.portal-body .portal-sidebar :is(
  div,span,b,strong,small,p,label,a,button
) {
  color: #d9edf7 !important;
  opacity: 1 !important;
}
html.light-theme.light-theme.light-theme.light-theme.light-theme body[data-staff-role] .staff-sidebar :is(
  .staff-brand b,.staff-profile b
),
html.light-theme.light-theme.light-theme.light-theme.light-theme body.portal-body .portal-sidebar .portal-brand b {
  color: #fff !important;
}
html.light-theme.light-theme.light-theme.light-theme.light-theme body[data-staff-role] .staff-sidebar :is(
  .staff-brand small,.staff-profile small
),
html.light-theme.light-theme.light-theme.light-theme.light-theme body.portal-body .portal-sidebar .portal-brand small {
  color: #b7d3e2 !important;
}
html.light-theme.light-theme.light-theme.light-theme.light-theme body[data-staff-role] .staff-sidebar nav a,
html.light-theme.light-theme.light-theme.light-theme.light-theme body.portal-body .portal-sidebar nav a {
  color: #d9edf7 !important;
}
html.light-theme.light-theme.light-theme.light-theme.light-theme body[data-staff-role] .staff-sidebar nav a i,
html.light-theme.light-theme.light-theme.light-theme.light-theme body.portal-body .portal-sidebar nav a i {
  color: #68d4f5 !important;
}
html.light-theme.light-theme.light-theme.light-theme.light-theme body[data-staff-role] .staff-sidebar nav a:is(:hover,.active),
html.light-theme.light-theme.light-theme.light-theme.light-theme body.portal-body .portal-sidebar nav a:is(:hover,.active),
html.light-theme.light-theme.light-theme.light-theme.light-theme body[data-staff-role] .staff-sidebar nav a:is(:hover,.active) :is(span,b,strong,small),
html.light-theme.light-theme.light-theme.light-theme.light-theme body.portal-body .portal-sidebar nav a:is(:hover,.active) :is(span,b,strong,small) {
  color: #fff !important;
}
html.light-theme.light-theme.light-theme.light-theme.light-theme body[data-staff-role] .staff-sidebar form button {
  color: #d7e7ff !important;
}

/* v29 — compact mobile menu controls remain navy, so their glyphs are light. */
html.light-theme.light-theme.light-theme.light-theme.light-theme body :is(
  .public-menu-button,.lp-menu-toggle,.staff-top>button
),
html.light-theme.light-theme.light-theme.light-theme.light-theme body :is(
  .public-menu-button,.lp-menu-toggle,.staff-top>button
) :is(span,i,svg) {
  border-color: #2c7599 !important;
  background: #082f49 !important;
  color: #fff !important;
  opacity: 1 !important;
}

/* v30 — primary blue actions always use a white foreground. */
html.light-theme.light-theme.light-theme.light-theme.light-theme body :is(
  .primary,.nav-primary,.hero-primary,.public-open,.public-primary
),
html.light-theme.light-theme.light-theme.light-theme.light-theme body :is(
  .primary,.nav-primary,.hero-primary,.public-open,.public-primary
) * {
  color: #fff !important;
}

