/*
 * IB Social central brand system
 * One source of truth for typography, colour, surfaces and interactive states.
 */

@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("../fonts/ib-brand/PlusJakartaSans-VariableFont_wght.ttf") format("truetype");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}

@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("../fonts/ib-brand/PlusJakartaSans-Italic-VariableFont_wght.ttf") format("truetype");
  font-style: italic;
  font-weight: 200 800;
  font-display: swap;
}

@font-face { font-family: "IBM Plex Sans Arabic"; src: url("../fonts/ib-brand/IBMPlexSansArabic-Regular.ttf") format("truetype"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "IBM Plex Sans Arabic"; src: url("../fonts/ib-brand/IBMPlexSansArabic-Medium.ttf") format("truetype"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: "IBM Plex Sans Arabic"; src: url("../fonts/ib-brand/IBMPlexSansArabic-SemiBold.ttf") format("truetype"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "IBM Plex Sans Arabic"; src: url("../fonts/ib-brand/IBMPlexSansArabic-Bold.ttf") format("truetype"); font-style: normal; font-weight: 700; font-display: swap; }

:root {
  --ib-lime: #c7f23c;
  --ib-lime-hover: #b5df2c;
  --ib-lime-active: #a4cf1f;
  --ib-lime-soft: #ebfac5;
  --ib-forest: #173300;
  --ib-forest-hover: #244d10;
  --ib-forest-soft: #e3eedc;
  --ib-accent-on-light: #2f6716;
  --ib-accent-on-dark: #c7f23c;
  --ib-ink: #11140f;
  --ib-text: #26301f;
  --ib-muted: #687361;
  --ib-subtle: #8a9483;
  --ib-canvas: #f4f6f0;
  --ib-surface: #ffffff;
  --ib-surface-muted: #edf1e8;
  --ib-surface-hover: #e5ebe0;
  --ib-border: #dce4d6;
  --ib-border-strong: #bdc9b5;
  /* Dark mode uses a deliberate elevation scale. Keep the canvas neutral and
     reserve the green cast for interaction, not every surface. */
  --ib-dark-canvas: #080d0a;
  --ib-dark-surface: #202b25;
  --ib-dark-surface-raised: #27362e;
  --ib-dark-surface-hover: #36413b;
  --ib-dark-control: #313a35;
  --ib-dark-control-hover: #3d4842;
  --ib-dark-border: #4a5650;
  --ib-dark-border-soft: #37413c;
  --ib-dark-text: #f5f8f4;
  --ib-dark-muted: #aeb9b1;
  --ib-focus-ring: rgba(23, 51, 0, .18);
  --ib-radius-sm: 9px;
  --ib-radius: 14px;
  --ib-radius-lg: 20px;
  --ib-font-body: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ib-font-display: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  /* Sngine/Bootstrap compatibility */
  --body-font-family: var(--ib-font-body);
  --body-bg-color: var(--ib-canvas);
  --body-bg-color-dark: var(--ib-dark-canvas);
  --body-color: var(--ib-text);
  --body-color-dark: var(--ib-dark-text);
  --link-color: #2f6716;
  --header-bg-color: var(--ib-surface);
  --header-bg-color-dark: var(--ib-dark-surface);
  --card-dark-color: var(--ib-dark-surface);
  --card-dark-divider: var(--ib-dark-border);
  --card-dark-hover: var(--ib-dark-surface-hover);
  --card-dark-input: #101713;
  --card-dark-input-color: var(--ib-dark-text);
  --plyr-color-main: var(--ib-lime);
  --bs-primary: var(--ib-lime);
  --bs-primary-rgb: 199, 242, 60;
  --bs-link-color: #2f6716;
  --bs-link-hover-color: var(--ib-forest);
  --primary-color: var(--ib-forest);
}

/* Trading recommendation composer — shared Nova core treatment */
.recommendation-composer__hero {
  background: radial-gradient(circle at 88% -20%, rgba(199, 242, 60, .22), transparent 38%), #0e1f16;
}

.recommendation-composer__hero .modal__heading {
  color: #fff !important;
  text-shadow: none;
}

.recommendation-composer__hero .modal__heading + p {
  color: rgba(255, 255, 255, .72) !important;
}

.recommendation-composer__hero-icon {
  color: #0e1f16;
  background: var(--ib-lime);
  box-shadow: 0 8px 24px rgba(199, 242, 60, .18);
}

.recommendation-composer__section {
  border-color: color-mix(in srgb, var(--ib-border) 88%, transparent);
  box-shadow: 0 8px 24px rgba(17, 20, 15, .035);
}

.recommendation-composer__direction {
  min-height: 44px;
}

input:checked + .recommendation-composer__direction--buy {
  color: #087b54;
  border-color: rgba(16, 185, 129, .3);
  background: rgba(16, 185, 129, .1);
}

input:checked + .recommendation-composer__direction--sell {
  color: #be3152;
  border-color: rgba(244, 63, 94, .28);
  background: rgba(244, 63, 94, .09);
}

.recommendation-composer__price {
  border: 1px solid transparent;
}

/* Affiliate offer system — a compact derivative of the managed-company offer
   banner, driven by the same Nova tokens in both colour modes. */
.partner-offer-summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .875rem;
  min-height: 5rem;
  padding: 1rem 1.25rem;
  border: 1px solid color-mix(in srgb, var(--ib-lime) 58%, var(--ib-border));
  border-radius: var(--ib-radius-lg);
  color: var(--ib-text) !important;
  background:
    radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--ib-lime) 22%, transparent), transparent 38%),
    var(--ib-surface);
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.partner-offer-summary:hover { color: var(--ib-text) !important; border-color: var(--ib-lime); transform: translateY(-1px); box-shadow: 0 14px 34px rgba(17,20,15,.08); }
.partner-offer-summary__icon { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border-radius: .875rem; color: var(--ib-ink); background: var(--ib-lime); }
.partner-offer-summary strong,.partner-offer-summary small { display:block; }
.partner-offer-summary small { margin-top:.15rem; color:var(--ib-muted); }
.partner-offer-card { display:grid; grid-template-rows:auto auto minmax(3.4rem,auto) auto auto auto; align-content:start; gap:1rem; padding:1.1rem; border:1px solid var(--ib-border); border-radius:var(--ib-radius-lg); background:var(--ib-surface); }
.partner-offer-card__discount { font-size:clamp(2rem,7vw,3.25rem); font-weight:800; letter-spacing:-.045em; line-height:1; color:var(--ib-forest); }
.partner-offer-card__discount span { font-size:.34em; letter-spacing:.02em; }
.partner-offer-card__description { min-height:3.4rem; margin:0; line-height:1.7; overflow-wrap:anywhere; unicode-bidi:plaintext; }
.partner-offer-heading-icon { display:grid; width:2.75rem; height:2.75rem; flex:0 0 auto; place-items:center; border-radius:.875rem; color:var(--ib-forest); background:color-mix(in srgb,var(--ib-lime) 18%,var(--ib-surface)); }
.partner-offer-heading-icon svg { width:1.55rem; height:1.55rem; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.prop-offer-code.partner-offer-card__code { min-height:3rem; border:1px dashed color-mix(in srgb,var(--ib-forest) 62%,var(--ib-border)); border-radius:999px; padding:.7rem 1rem; background:color-mix(in srgb,var(--ib-lime) 13%,var(--ib-surface)); color:var(--ib-text); font-weight:650; display:flex; align-items:center; justify-content:center; gap:.55rem; }
.partner-offer-card__code strong { color:var(--ib-forest); font-size:1rem; letter-spacing:.06em; }
.partner-offer-card__code svg,.partner-offer-card__go-icon { width:1.1rem; height:1.1rem; flex:0 0 auto; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.partner-offer-card__code:hover { border-style:solid; background:color-mix(in srgb,var(--ib-lime) 24%,var(--ib-surface)); }
.partner-offer-card__code.copied > svg { display:none; }
.partner-offer-card__expiry { display:flex; align-items:center; gap:.45rem; width:max-content; max-width:100%; padding:.45rem .7rem; border-radius:999px; color:var(--ib-forest); background:color-mix(in srgb,var(--ib-lime) 14%,var(--ib-surface-muted)); font-size:.82rem; font-weight:650; }
.partner-offer-card__expiry svg { width:1rem; height:1rem; flex:0 0 auto; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.partner-offer-card__expiry strong { font-variant-numeric:tabular-nums; }
.partner-offer-card__expiry--empty { visibility:hidden; }
.partner-offer-card .button .partner-offer-card__go-icon { margin-inline-start:.25rem; }
body.night-mode .partner-offer-summary { color:var(--ib-dark-text)!important; border-color:color-mix(in srgb,var(--ib-lime) 46%,var(--ib-dark-border)); background:radial-gradient(circle at 8% 0%,rgba(199,242,60,.14),transparent 38%),var(--ib-dark-surface); }
body.night-mode .partner-offer-summary:hover { color:var(--ib-dark-text)!important; border-color:var(--ib-lime); }
body.night-mode .partner-offer-summary small { color:var(--ib-dark-muted); }
body.night-mode .partner-offer-card { border-color:var(--ib-dark-border-soft); background:var(--ib-dark-surface); }
body.night-mode .partner-offer-card__discount { color:var(--ib-lime); }
body.night-mode .partner-offer-heading-icon { color:var(--ib-lime); background:rgba(199,242,60,.1); }
body.night-mode .prop-offer-code.partner-offer-card__code { border-color:color-mix(in srgb,var(--ib-lime) 55%,var(--ib-dark-border)); background:rgba(199,242,60,.07); color:var(--ib-dark-text); }
body.night-mode .partner-offer-card__code strong,body.night-mode .partner-offer-card__expiry { color:var(--ib-lime); }
body.night-mode .partner-offer-card__expiry { background:rgba(199,242,60,.08); }

.recommendation-composer__price--entry { border-color: rgba(14, 165, 233, .22); background: rgba(14, 165, 233, .055); }
.recommendation-composer__price--risk { border-color: rgba(244, 63, 94, .22); background: rgba(244, 63, 94, .055); }
.recommendation-composer__price--target { border-color: rgba(16, 185, 129, .22); background: rgba(16, 185, 129, .055); }

input:checked + .recommendation-composer__access {
  border-color: var(--ib-accent-on-light);
  background: rgba(199, 242, 60, .12);
  box-shadow: 0 0 0 1px rgba(47, 103, 22, .1);
}

input:checked + .recommendation-composer__access--paid {
  border-color: #d89b18;
  background: rgba(245, 158, 11, .09);
  box-shadow: 0 0 0 1px rgba(216, 155, 24, .1);
}

.recommendation-composer__notice {
  border: 1px solid rgba(47, 103, 22, .16);
  background: rgba(199, 242, 60, .09);
}

html[data-theme$="-dark"] .recommendation-composer__section {
  border-color: var(--ib-dark-border);
  box-shadow: none;
}

html[data-theme$="-dark"] input:checked + .recommendation-composer__direction--buy { color: #6ee7b7; }
html[data-theme$="-dark"] input:checked + .recommendation-composer__direction--sell { color: #fda4af; }
html[data-theme$="-dark"] .recommendation-composer__notice { border-color: rgba(199, 242, 60, .18); background: rgba(199, 242, 60, .07); }

@media (max-width: 639px) {
  .recommendation-composer__hero .modal__header { padding-inline: 1rem; }
  .recommendation-composer__section { border-radius: 14px; }
}

/*
 * Nova 5 theme bridge
 *
 * Sngine 5 renders the public UI with FlyonUI tokens instead of the legacy
 * Bootstrap variables above. Keep the product identity in this single file so
 * every core component (buttons, navigation, forms, menus and modals) inherits
 * the same accessible palette without template-level colour patches.
 */
:root,
[data-theme="nova"] {
  --font-sans: var(--ib-font-body);
  --color-base-100: var(--ib-surface);
  --color-base-200: var(--ib-canvas);
  --color-base-300: var(--ib-border);
  --color-base-content: var(--ib-ink);
  --color-primary: #2f6716;
  --color-primary-content: #ffffff;
  --color-secondary: var(--ib-lime);
  --color-secondary-content: var(--ib-ink);
  --color-accent: var(--ib-lime);
  --color-accent-content: var(--ib-ink);
  --color-neutral: var(--ib-forest);
  --color-neutral-content: #ffffff;
  --root-bg: var(--ib-canvas);
}

:is(:root:has(input.theme-controller[value="nova-dark"]:checked), [data-theme="nova-dark"]) {
  --font-sans: var(--ib-font-body);
  --color-base-100: var(--ib-dark-surface);
  --color-base-200: var(--ib-dark-canvas);
  --color-base-300: var(--ib-dark-border);
  --color-base-content: var(--ib-dark-text);
  --color-primary: var(--ib-lime);
  --color-primary-content: var(--ib-ink);
  --color-secondary: #9fc92e;
  --color-secondary-content: var(--ib-ink);
  --color-accent: var(--ib-lime);
  --color-accent-content: var(--ib-ink);
  --color-neutral: var(--ib-dark-surface-hover);
  --color-neutral-content: var(--ib-dark-text);
  --root-bg: var(--ib-dark-canvas);
}

/* Nova dark-mode depth system. These are semantic core surfaces, so every
   timeline, profile, page, group, modal and dashboard view inherits the same
   hierarchy without page-specific colour patches. */
:is(:root:has(input.theme-controller[value="nova-dark"]:checked), [data-theme="nova-dark"]) body,
body.night-mode {
  background-color: var(--ib-dark-canvas) !important;
  background-image:
    radial-gradient(circle at 50% -12rem, rgba(199, 242, 60, .055), transparent 36rem),
    linear-gradient(180deg, rgba(255, 255, 255, .012), transparent 28rem);
  background-attachment: fixed;
}

:is([data-theme="nova-dark"], [data-theme="admin-dark"]) :is(.card, .post, .panel, .box),
body.night-mode :is(.card, .post, .panel, .box) {
  border-color: var(--ib-dark-border-soft) !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, .018),
    0 1px 0 rgba(255, 255, 255, .045),
    0 16px 40px rgba(0, 0, 0, .3) !important;
}

:is([data-theme="nova-dark"], [data-theme="admin-dark"]) :is(.dropdown-menu, .modal-content, .offcanvas),
body.night-mode :is(.dropdown-menu, .modal-content, .offcanvas) {
  background-color: var(--ib-dark-surface-raised) !important;
  border-color: var(--ib-dark-border) !important;
  box-shadow: 0 24px 64px rgba(0, 0, 0, .42) !important;
}

:is([data-theme="nova-dark"], [data-theme="admin-dark"]) :is(input, textarea, select, .input, .textarea, .select),
body.night-mode :is(input, textarea, select, .input, .textarea, .select) {
  background-color: #101713;
  border-color: var(--ib-dark-border-soft);
}

:is([data-theme="nova-dark"], [data-theme="admin-dark"]) :is(input, textarea, select, .input, .textarea, .select):focus,
body.night-mode :is(input, textarea, select, .input, .textarea, .select):focus {
  border-color: color-mix(in srgb, var(--ib-lime) 62%, var(--ib-dark-border));
  box-shadow: 0 0 0 3px rgba(199, 242, 60, .1);
}

/*
 * HeroUI uses its own semantic palette inside every `.heroui` scope.  Nova's
 * stock palette is purple and does not read `--color-primary`, so bridge the
 * complete interactive accent here instead of overriding individual buttons.
 */
.heroui,
[data-theme="nova"] .heroui,
[data-theme="admin"] .heroui {
  --accent: var(--ib-lime);
  --accent-hover: var(--ib-lime-hover);
  --accent-foreground: var(--ib-ink);
  --accent-soft: var(--ib-lime-soft);
  --accent-soft-hover: #e0f6a7;
  --accent-soft-foreground: var(--ib-forest);
  --focus: var(--ib-forest);
  --link: var(--ib-accent-on-light);
  --default: #eef1eb;
  --default-hover: #e4e9e0;
  --default-foreground: var(--ib-ink);
  --surface: #ffffff;
  --surface-foreground: var(--ib-ink);
  --overlay: #ffffff;
  --overlay-foreground: var(--ib-ink);
  --border: #d6ddd2;
  --separator: #e2e7df;
}

[data-theme="nova-dark"] .heroui,
[data-theme="admin-dark"] .heroui,
body.night-mode .heroui {
  --accent: var(--ib-lime);
  --accent-hover: var(--ib-lime-hover);
  --accent-foreground: var(--ib-ink);
  --accent-soft: color-mix(in srgb, var(--ib-lime) 16%, var(--ib-dark-surface));
  --accent-soft-hover: color-mix(in srgb, var(--ib-lime) 23%, var(--ib-dark-surface));
  --accent-soft-foreground: var(--ib-lime);
  --focus: var(--ib-lime);
  --link: var(--ib-lime);
  /* Neutral controls stay neutral; lime is reserved for an action or state. */
  --default: var(--ib-dark-control);
  --default-hover: var(--ib-dark-control-hover);
  --default-foreground: var(--ib-dark-text);
  --surface: var(--ib-dark-surface);
  --surface-foreground: var(--ib-dark-text);
  --overlay: var(--ib-dark-surface-raised);
  --overlay-foreground: var(--ib-dark-text);
  --border: var(--ib-dark-border);
  --separator: var(--ib-dark-border-soft);
}

/*
 * Button variants own their foreground colour.  This is intentionally a
 * component-level contract because buttons may be rendered as <a> or
 * <button>; generic link rules must never change their contrast.
 */
:is(.heroui .button, .heroui.button).button--tertiary {
  --button-fg: var(--default-foreground);
}

:is(.heroui .button, .heroui.button):is(
  .button--primary,
  .button--secondary,
  .button--tertiary,
  .button--ghost,
  .button--outline,
  .button--danger,
  .button--danger-soft
) {
  color: var(--button-fg) !important;
}

:is(.heroui .button, .heroui.button):is(
  .button--primary,
  .button--secondary,
  .button--tertiary,
  .button--ghost,
  .button--outline,
  .button--danger,
  .button--danger-soft
):hover {
  color: var(--button-fg) !important;
}

html[dir="RTL"],
html[dir="rtl"],
html[dir="RTL"] body,
html[dir="rtl"] body {
  --font-sans: var(--ib-font-body);
}

html[dir="RTL"],
html[dir="rtl"] {
  --ib-font-body: "IBM Plex Sans Arabic", "Plus Jakarta Sans", system-ui, sans-serif;
  --ib-font-display: "IBM Plex Sans Arabic", "Plus Jakarta Sans", system-ui, sans-serif;
}

html,
body,
button,
input,
select,
textarea,
.tooltip,
.popover {
  font-family: var(--ib-font-body);
}

body {
  background-color: var(--ib-canvas);
  color: var(--ib-text);
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6,
.modal-title,
.offcanvas-title {
  font-family: var(--ib-font-display);
  font-weight: 600;
  letter-spacing: -.018em;
  color: var(--ib-ink);
}

/* Titles are content hierarchy, never accent colour. */
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
.prop-overview-title,
.card-title,
.modal-title,
.offcanvas-title,
.block-title {
  color: var(--ib-ink) !important;
}

/* Profile identity: cover media, contrast veil, then interactive/profile content. */
.profile-name-wrapper,
.profile-name-wrapper > a { text-shadow: none !important; }
.profile-name-wrapper > a { color: var(--ib-ink) !important; }

.profile-cover-wrapper::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset-inline: 0;
  bottom: 0;
  height: clamp(90px, 42%, 180px);
  pointer-events: none;
  background: linear-gradient(to bottom, transparent 0%, rgba(10, 13, 9, .22) 35%, rgba(10, 13, 9, .72) 100%);
}
.profile-cover-wrapper > img { position: relative; z-index: 0; }
.profile-cover-buttons,
.profile-cover-change-loader,
.profile-cover-position-loader { z-index: 3; }
.profile-avatar-wrapper { z-index: 2; }

@media (min-width: 992px) {
  .profile-name-wrapper { z-index: 2; }
  .profile-buttons-wrapper { z-index: 2; }
  .profile-name-wrapper > a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0;
    border-radius: 0;
    color: #fff !important;
    background: transparent;
    box-shadow: none !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  .profile-name-wrapper > a:hover,
  .profile-name-wrapper > a:focus,
  .profile-name-wrapper > a:active,
  .profile-name-wrapper > a:visited { color: #fff !important; }
}

.verified-prop-firm-gold-icon {
  display: inline-block;
  vertical-align: -.16em;
  max-width: none;
}

/* Home navigation: calm text, categorized duotone-style icons */
.ib-home-side-nav {
  --ib-nav-text: #243300;
  --ib-nav-muted: #66705b;
  --ib-nav-hover: #f2f5ed;
  --ib-nav-active: #e7eddf;
  --ib-nav-icon: #2877e7;
  --ib-nav-icon-bg: #e8f1ff;
}

.ib-home-side-nav > li,
.ib-home-side-nav > a,
.ib-home-side-nav > div > ul > li {
  --ib-nav-item-color: var(--ib-nav-icon);
  --ib-nav-item-bg: var(--ib-nav-icon-bg);
}

.ib-home-side-nav a,
.ib-home-side-nav .static {
  display: flex;
  align-items: center;
  min-height: 48px;
  margin: 2px 0;
  padding: 5px 10px;
  border-radius: 12px;
  color: var(--ib-nav-text) !important;
  font-weight: 600;
  line-height: 1.35;
  transition: background-color .16s ease, color .16s ease, transform .16s ease;
}

.ib-home-side-nav a:hover,
.ib-home-side-nav a:focus-visible {
  color: var(--ib-nav-text) !important;
  background: var(--ib-nav-hover);
}

.ib-home-side-nav a:focus-visible {
  outline: 2px solid #2f80ed;
  outline-offset: 2px;
}

.ib-home-side-nav > li.active > a,
.ib-home-side-nav ul > li.active > a {
  color: #172400 !important;
  background: var(--ib-nav-active);
  box-shadow: inset 3px 0 0 var(--ib-nav-item-color);
}

.ib-home-side-nav .main-icon,
.ib-home-side-nav a > img {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  box-sizing: content-box;
  width: 24px !important;
  height: 24px !important;
  margin-inline: 0 12px !important;
  padding: 7px;
  border-radius: 11px;
  color: var(--ib-nav-item-color) !important;
  background: var(--ib-nav-item-bg);
}

.ib-home-side-nav .main-icon *,
.ib-home-side-nav .main-icon svg {
  color: var(--ib-nav-item-color) !important;
  fill: var(--ib-nav-item-color) !important;
}

.ib-home-side-nav a[data-bs-toggle="collapse"]:after {
  margin-inline-start: auto;
  color: var(--ib-nav-muted);
}

.ib-home-side-nav .ptb5 {
  padding: 15px 10px 4px !important;
}

.ib-home-side-nav .ptb5 small {
  color: var(--ib-nav-muted) !important;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
}

.ib-home-side-nav ul a {
  min-height: 42px;
  margin-left: 0;
  margin-inline-start: 18px;
  padding-block: 3px;
  border-left: 0;
  border-inline-start: 1px solid #dce3d4;
  border-inline-start-color: #dce3d4;
  font-size: 13px;
}

/* Social and discovery */
.ib-home-side-nav a[href$="/people"],
.ib-home-side-nav a[href$="/groups"] { --ib-nav-item-color: #2374e1; --ib-nav-item-bg: #e8f1ff; }
.ib-home-side-nav a[href$="/pages"],
.ib-home-side-nav a[href$="/blogs"] { --ib-nav-item-color: #008b8b; --ib-nav-item-bg: #e1f7f5; }
.ib-home-side-nav a[href$="/events"],
.ib-home-side-nav a[href$="/scheduled"] { --ib-nav-item-color: #e44d72; --ib-nav-item-bg: #ffe9ef; }
.ib-home-side-nav a[href$="/reels"],
.ib-home-side-nav a[href$="/watch"],
.ib-home-side-nav a[href$="/movies"] { --ib-nav-item-color: #7a55e7; --ib-nav-item-bg: #efeafe; }
.ib-home-side-nav a[href$="/saved"],
.ib-home-side-nav a[href$="/memories"] { --ib-nav-item-color: #d94a8c; --ib-nav-item-bg: #fce8f2; }

/* Commerce and finance */
.ib-home-side-nav a[href$="/wallet"],
.ib-home-side-nav a[href$="/funding"] { --ib-nav-item-color: #16875b; --ib-nav-item-bg: #e2f6ed; }
.ib-home-side-nav a[href$="/market"],
.ib-home-side-nav a[href$="/offers"],
.ib-home-side-nav a[href$="/jobs"] { --ib-nav-item-color: #d86b12; --ib-nav-item-bg: #fff0df; }
.ib-home-side-nav a[href$="/ads"],
.ib-home-side-nav a[href^="#boosted"] { --ib-nav-item-color: #e04848; --ib-nav-item-bg: #ffe8e5; }
.ib-home-side-nav a[href$="/courses"],
.ib-home-side-nav a[href$="/forums"] { --ib-nav-item-color: #1677a8; --ib-nav-item-bg: #e2f3fb; }
.ib-home-side-nav a[href$="/games"],
.ib-home-side-nav a[href$="/merits"] { --ib-nav-item-color: #8b65d6; --ib-nav-item-bg: #f0eafd; }

body.night-mode .ib-home-side-nav {
  --ib-nav-text: #f1f4ec;
  --ib-nav-muted: #a8b19f;
  --ib-nav-hover: #253027;
  --ib-nav-active: #2b382b;
  --ib-nav-icon-bg: #243446;
}

body.night-mode .ib-home-side-nav a,
body.night-mode .ib-home-side-nav .static,
body.night-mode .ib-home-side-nav a:hover,
body.night-mode .ib-home-side-nav a:focus-visible,
body.night-mode .ib-home-side-nav > li.active > a,
body.night-mode .ib-home-side-nav ul > li.active > a {
  color: var(--ib-nav-text) !important;
}

body.night-mode .ib-home-side-nav .main-icon,
body.night-mode .ib-home-side-nav a > img {
  filter: saturate(.9);
}

body.night-mode .ib-home-side-nav a[href$="/people"],
body.night-mode .ib-home-side-nav a[href$="/groups"] { --ib-nav-item-color: #75aef5; --ib-nav-item-bg: #1d3857; }
body.night-mode .ib-home-side-nav a[href$="/pages"],
body.night-mode .ib-home-side-nav a[href$="/blogs"] { --ib-nav-item-color: #5cc8c2; --ib-nav-item-bg: #173f3c; }
body.night-mode .ib-home-side-nav a[href$="/events"],
body.night-mode .ib-home-side-nav a[href$="/scheduled"] { --ib-nav-item-color: #f08aa3; --ib-nav-item-bg: #4a2530; }
body.night-mode .ib-home-side-nav a[href$="/reels"],
body.night-mode .ib-home-side-nav a[href$="/watch"],
body.night-mode .ib-home-side-nav a[href$="/movies"] { --ib-nav-item-color: #ab91f3; --ib-nav-item-bg: #342957; }
body.night-mode .ib-home-side-nav a[href$="/saved"],
body.night-mode .ib-home-side-nav a[href$="/memories"] { --ib-nav-item-color: #ee87b5; --ib-nav-item-bg: #49283a; }
body.night-mode .ib-home-side-nav a[href$="/wallet"],
body.night-mode .ib-home-side-nav a[href$="/funding"] { --ib-nav-item-color: #6fd0a6; --ib-nav-item-bg: #1d4235; }
body.night-mode .ib-home-side-nav a[href$="/market"],
body.night-mode .ib-home-side-nav a[href$="/offers"],
body.night-mode .ib-home-side-nav a[href$="/jobs"] { --ib-nav-item-color: #efa568; --ib-nav-item-bg: #493321; }
body.night-mode .ib-home-side-nav a[href$="/ads"],
body.night-mode .ib-home-side-nav a[href^="#boosted"] { --ib-nav-item-color: #f28b82; --ib-nav-item-bg: #492828; }

@media (max-width: 991.98px) {
  .ib-home-side-nav a,
  .ib-home-side-nav .static {
    min-height: 46px;
  }

  .ib-home-side-nav .main-icon,
  .ib-home-side-nav a > img {
    padding: 6px;
    border-radius: 10px;
  }
}

html[dir="RTL"] h1, html[dir="RTL"] h2, html[dir="RTL"] h3,
html[dir="RTL"] h4, html[dir="RTL"] h5, html[dir="RTL"] h6,
html[dir="rtl"] h1, html[dir="rtl"] h2, html[dir="rtl"] h3,
html[dir="rtl"] h4, html[dir="rtl"] h5, html[dir="rtl"] h6 {
  letter-spacing: 0;
}

a,
.text-link { color: var(--ib-accent-on-light) !important; }
a:hover,
.text-link:hover { color: var(--ib-forest) !important; }
.text-muted { color: var(--ib-muted) !important; }
::placeholder { color: var(--ib-subtle) !important; opacity: 1; }

.card,
.panel,
.box,
.modal-content,
.offcanvas,
.dropdown-menu,
.list-group-item {
  background-color: var(--ib-surface);
  border-color: var(--ib-border);
  color: var(--ib-text);
}

.card { border-radius: var(--ib-radius); }
.modal-content, .offcanvas { border-radius: var(--ib-radius-lg); }
.dropdown-menu { border-radius: var(--ib-radius-sm); }
hr,
.dropdown-divider,
.modal-header,
.modal-footer,
.card-header,
.card-footer,
.nav-tabs { border-color: var(--ib-border); }

.btn-primary,
.btn.btn-primary {
  --bs-btn-color: var(--ib-ink);
  --bs-btn-bg: var(--ib-lime);
  --bs-btn-border-color: var(--ib-lime);
  --bs-btn-hover-color: var(--ib-ink);
  --bs-btn-hover-bg: var(--ib-lime-hover);
  --bs-btn-hover-border-color: var(--ib-lime-hover);
  --bs-btn-active-color: var(--ib-ink);
  --bs-btn-active-bg: var(--ib-lime-hover);
  --bs-btn-active-border-color: var(--ib-lime-hover);
  --bs-btn-disabled-color: #586044;
  --bs-btn-disabled-bg: #d9e9a2;
  --bs-btn-disabled-border-color: #d9e9a2;
  color: var(--ib-ink);
  background-color: var(--ib-lime);
  border-color: var(--ib-lime);
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active,
.btn.btn-primary:hover, .btn.btn-primary:focus, .btn.btn-primary:active {
  color: var(--ib-ink);
  background-color: var(--ib-lime-hover);
  border-color: var(--ib-lime-hover);
}

.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle {
  color: var(--ib-ink) !important;
  background-color: var(--ib-lime-active) !important;
  border-color: var(--ib-lime-active) !important;
}

.btn-outline-primary {
  --bs-btn-color: var(--ib-forest);
  --bs-btn-border-color: var(--ib-forest);
  --bs-btn-hover-color: var(--ib-ink);
  --bs-btn-hover-bg: var(--ib-lime);
  --bs-btn-hover-border-color: var(--ib-lime);
  --bs-btn-active-color: var(--ib-ink);
  --bs-btn-active-bg: var(--ib-lime-hover);
  --bs-btn-active-border-color: var(--ib-lime-hover);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
  color: var(--ib-ink) !important;
  background-color: var(--ib-lime) !important;
  border-color: var(--ib-lime) !important;
}

.btn-secondary,
.btn-light {
  --bs-btn-color: var(--ib-text);
  --bs-btn-bg: var(--ib-surface-muted);
  --bs-btn-border-color: var(--ib-border);
  --bs-btn-hover-color: var(--ib-ink);
  --bs-btn-hover-bg: var(--ib-surface-hover);
  --bs-btn-hover-border-color: var(--ib-border-strong);
  --bs-btn-active-color: var(--ib-ink);
  --bs-btn-active-bg: var(--ib-surface-hover);
  --bs-btn-active-border-color: var(--ib-border-strong);
  color: var(--ib-text) !important;
  background-color: var(--ib-surface-muted) !important;
  border-color: var(--ib-border) !important;
}

.btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active,
.btn-light:hover, .btn-light:focus, .btn-light:active {
  color: var(--ib-ink) !important;
  background-color: var(--ib-surface-hover) !important;
  border-color: var(--ib-border-strong) !important;
}

.bg-primary, .badge.bg-primary, .text-bg-primary { background-color: var(--ib-lime) !important; color: var(--ib-ink) !important; }
.text-primary { color: #2f6716 !important; }
.border-primary { border-color: var(--ib-lime) !important; }

.form-control,
.form-select,
.input-group-text {
  color: var(--ib-text);
  background-color: var(--ib-surface);
  border-color: var(--ib-border);
  border-radius: var(--ib-radius-sm);
}

.form-control:focus,
.form-select:focus {
  border-color: var(--ib-forest-hover);
  box-shadow: 0 0 0 .2rem var(--ib-focus-ring);
}

.form-check-input:checked,
.switch input:checked + .slider {
  background-color: var(--ib-lime);
  border-color: var(--ib-lime);
}

.form-check-input:focus { border-color: var(--ib-lime); box-shadow: 0 0 0 .2rem var(--ib-focus-ring); }

.input-group-text { color: var(--ib-muted); background-color: var(--ib-surface-muted); }
.form-control:disabled, .form-select:disabled { color: var(--ib-muted); background-color: var(--ib-surface-muted); }

.main-icon,
.main-icon *,
.header-icon.active,
.x-form-tools,
.profile-tabs-wrapper > a.active,
.profile-tabs-wrapper .active > a,
.nav-link.active {
  color: var(--ib-accent-on-light) !important;
}

.header-icon,
.header-icon *,
.action-icon,
.action-icon * { color: var(--ib-ink) !important; fill: currentColor !important; }

.main-icon, .main-icon *, .header-icon.active, .header-icon.active *, .x-form-tools { fill: currentColor !important; }
.main-icon [stroke]:not([stroke="none"]),
.header-icon.active [stroke]:not([stroke="none"]) { stroke: currentColor !important; }
.profile-tabs-wrapper a { color: var(--ib-muted) !important; }
.profile-tabs-wrapper a:hover { color: var(--ib-ink) !important; }
.profile-tabs-wrapper > a.active,
.profile-tabs-wrapper .active > a { color: var(--ib-ink) !important; border-bottom-color: var(--ib-lime) !important; }
.nav-pills .nav-link.active, .nav-pills .show > .nav-link { background-color: var(--ib-lime); color: var(--ib-ink) !important; }
.dropdown-item.active, .dropdown-item:active { background-color: var(--ib-lime); color: var(--ib-ink); }
.dropdown-item:hover, .dropdown-item:focus { background-color: var(--ib-surface-muted); color: var(--ib-ink); }

.nav-tabs .nav-link { color: var(--ib-muted) !important; }
.nav-tabs .nav-link:hover { color: var(--ib-forest) !important; border-color: transparent transparent var(--ib-border); }
.nav-tabs .nav-link.active { color: var(--ib-forest) !important; background-color: transparent; border-color: transparent transparent var(--ib-lime); }

.page-link { color: var(--ib-forest); border-color: var(--ib-border); }
.page-link:hover { color: var(--ib-forest); background-color: var(--ib-surface-muted); border-color: var(--ib-border-strong); }
.page-item.active .page-link { color: var(--ib-ink); background-color: var(--ib-lime); border-color: var(--ib-lime); }

.progress-bar { background-color: var(--ib-lime); color: var(--ib-ink); }
.table > :not(caption) > * > * { border-bottom-color: var(--ib-border); }
.table thead th { color: var(--ib-muted); background-color: var(--ib-surface-muted); border-color: var(--ib-border); }
.alert-primary { color: var(--ib-forest); background-color: var(--ib-lime-soft); border-color: #d5ed8a; }
.alert-post { color: var(--ib-forest); background-color: var(--ib-surface-muted); }
.badge-primary, .badge.bg-primary { color: var(--ib-ink); background-color: var(--ib-lime); }
/* Surface-aware contrast: accent text is dark on every declared light surface. */
:is(.bg-white, .bg-light, .text-bg-light) {
  color: var(--ib-ink) !important;
}
:is(.bg-white, .bg-light, .text-bg-light) a,
:is(.bg-white, .bg-light, .text-bg-light) .text-primary,
:is(.bg-white, .bg-light, .text-bg-light).text-primary {
  color: var(--ib-accent-on-light) !important;
}
.badge.text-bg-light {
  border: 1px solid var(--ib-border);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
}
.bg-gradient-primary,
.bg-gradient-blue { background: linear-gradient(112deg, var(--ib-forest), var(--ib-forest-hover)) !important; color: #fff !important; }
.bg-gradient-purple,
.bg-gradient-indigo,
.bg-indigo { background: var(--ib-forest) !important; color: #fff !important; }
.text-purple,
.text-indigo { color: var(--ib-forest) !important; }
.svg_lines { color: var(--ib-lime) !important; }
.post-author,
.post-author a,
.data-content .name a,
.navbar-container .data-content .name a { color: var(--ib-ink) !important; }
.post-stats-alt,
.post-stats .fa,
.post-stats i,
.js_moment,
.post-time,
footer a,
.language-dropdown { color: var(--ib-muted) !important; }
.side-nav > li.active > a { color: var(--ib-forest) !important; background-color: var(--ib-surface-muted); }
/* Retheme legacy inline SVG artwork and inline accents from the old purple brand. */
svg [fill="#5e72e4"], svg [fill="#5E72E4"],
svg [fill="#825ee4"], svg [fill="#825EE4"],
svg [fill="#6c3ce9"], svg [fill="#6C3CE9"] { fill: currentColor !important; }
svg [stroke="#5e72e4"], svg [stroke="#5E72E4"],
svg [stroke="#825ee4"], svg [stroke="#825EE4"],
svg [stroke="#6c3ce9"], svg [stroke="#6C3CE9"] { stroke: currentColor !important; }
[style*="color: #5e72e4"], [style*="color:#5e72e4"],
[style*="color: #5E72E4"], [style*="color:#5E72E4"],
[style*="color: #6c3ce9"], [style*="color:#6c3ce9"] {
  color: var(--ib-forest) !important;
  fill: currentColor !important;
}

/* Welcome/auth screens use the same neutral surfaces as the application. */
.fr_welcome .form-control,
.fr_welcome .input-group-text {
  background-color: var(--ib-surface-muted);
  border-color: transparent;
}
.fr_welcome .form-control:focus { background-color: var(--ib-surface); border-color: var(--ib-forest-hover); }

/* Neutralise legacy inline admin accents without changing semantic status colours. */
.admin-wrapper [style*="#5e72e4"],
.admin-wrapper [style*="#5E72E4"] { color: var(--ib-forest) !important; fill: var(--ib-forest) !important; }

/* Prop-firm surfaces inherit the same core tokens. */
.prop-firm-tag {
  border-color: color-mix(in srgb, var(--ib-forest) 18%, transparent);
  background: var(--ib-lime-soft);
  color: var(--ib-forest);
}

.prop-firm-platform,
.prop-overview-method,
.prop-overview-country,
.prop-overview-challenge-row {
  border-color: var(--ib-border);
  background: var(--ib-surface);
}

.prop-challenge-table th,
.prop-challenge-table td { border-color: var(--ib-border); }
.prop-challenge-table th { color: var(--ib-muted); }
.prop-overview-nav a.active::before { background: var(--ib-lime); }
.prop-overview-data-table .prop-overview-table-head th,
.prop-overview-data-table .prop-overview-table-head td { background: var(--ib-surface-muted); color: var(--ib-muted); }
.prop-offer-banner {
  --offer-accent: var(--ib-lime);
  --offer-bg: var(--ib-dark-surface);
  background: var(--ib-dark-surface) !important;
  border-color: color-mix(in srgb, var(--ib-lime) 34%, var(--ib-dark-border)) !important;
}
.prop-offer-badge, .prop-offer-actions .btn, .prop-offer-copied { color: var(--ib-ink); }
.profile-cover-wrapper { background-color: var(--ib-surface-muted); }

body.night-mode {
  --ib-focus-ring: rgba(199, 242, 60, .2);
  --bs-link-color: var(--ib-lime);
  --bs-link-hover-color: #d9fa72;
  background-color: var(--ib-dark-canvas) !important;
  color: var(--ib-dark-text);
}

body.night-mode h1, body.night-mode h2, body.night-mode h3,
body.night-mode h4, body.night-mode h5, body.night-mode h6,
body.night-mode .h1, body.night-mode .h2, body.night-mode .h3,
body.night-mode .h4, body.night-mode .h5, body.night-mode .h6,
body.night-mode h1 a, body.night-mode h2 a, body.night-mode h3 a,
body.night-mode h4 a, body.night-mode h5 a, body.night-mode h6 a,
body.night-mode .prop-overview-title,
body.night-mode .card-title,
body.night-mode .modal-title,
body.night-mode .offcanvas-title,
body.night-mode .block-title {
  color: var(--ib-dark-text) !important;
}

body.night-mode .profile-name-wrapper > a { color: var(--ib-dark-text) !important; }
@media (min-width: 992px) {
  body.night-mode .profile-name-wrapper > a {
    color: #fff !important;
    background: transparent;
  }
}

/* Text links use the brand accent; component links keep their own palette. */
body.night-mode a:not(.button):not(.btn) { color: var(--ib-accent-on-dark) !important; }
body.night-mode a:not(.button):not(.btn):hover { color: #d9fa72 !important; }
body.night-mode .text-link { color: var(--ib-accent-on-dark) !important; }
body.night-mode .text-link:hover { color: #d9fa72 !important; }
body.night-mode .text-muted { color: var(--ib-dark-muted) !important; }
body.night-mode .text-purple,
body.night-mode .text-indigo { color: var(--ib-lime) !important; }
body.night-mode [style*="color: #5e72e4"],
body.night-mode [style*="color:#5e72e4"],
body.night-mode [style*="color: #5E72E4"],
body.night-mode [style*="color:#5E72E4"],
body.night-mode [style*="color: #6c3ce9"],
body.night-mode [style*="color:#6c3ce9"] { color: var(--ib-lime) !important; fill: currentColor !important; }
body.night-mode .text-primary,
body.night-mode .main-icon,
body.night-mode .main-icon *,
body.night-mode .header-icon.active,
body.night-mode .header-icon.active *,
body.night-mode .x-form-tools,
body.night-mode .profile-tabs-wrapper > a.active,
body.night-mode .profile-tabs-wrapper .active > a,
body.night-mode .nav-link.active { color: var(--ib-lime) !important; }
body.night-mode .main-icon,
body.night-mode .main-icon *,
body.night-mode .header-icon.active,
body.night-mode .header-icon.active *,
body.night-mode .x-form-tools { fill: currentColor !important; }
body.night-mode .main-icon [stroke]:not([stroke="none"]),
body.night-mode .header-icon.active [stroke]:not([stroke="none"]) { stroke: currentColor !important; }
body.night-mode .admin-wrapper [style*="#5e72e4"],
body.night-mode .admin-wrapper [style*="#5E72E4"] { color: var(--ib-lime) !important; fill: var(--ib-lime) !important; }

body.night-mode .card,
body.night-mode .panel,
body.night-mode .box,
body.night-mode .modal-content,
body.night-mode .offcanvas,
body.night-mode .dropdown-menu,
body.night-mode .list-group-item {
  background-color: var(--ib-dark-surface) !important;
  border-color: var(--ib-dark-border) !important;
  color: var(--ib-dark-text) !important;
}

body.night-mode .form-control,
body.night-mode .form-select,
body.night-mode .input-group-text {
  color: var(--ib-dark-text);
  background-color: #161a15;
  border-color: var(--ib-dark-border);
}

body.night-mode .form-control:focus,
body.night-mode .form-select:focus { border-color: var(--ib-lime); }
body.night-mode .input-group-text { color: var(--ib-dark-muted); background-color: #161a15; }
body.night-mode .btn-secondary,
body.night-mode .btn-light {
  --bs-btn-color: var(--ib-dark-text);
  --bs-btn-bg: var(--ib-dark-control);
  --bs-btn-border-color: var(--ib-dark-border);
  --bs-btn-hover-color: var(--ib-dark-text);
  --bs-btn-hover-bg: var(--ib-dark-control-hover);
  --bs-btn-hover-border-color: #5a675f;
  --bs-btn-active-color: var(--ib-dark-text);
  --bs-btn-active-bg: #46534b;
  --bs-btn-active-border-color: #647168;
  color: var(--ib-dark-text) !important;
  background-color: var(--ib-dark-control) !important;
  border-color: var(--ib-dark-border) !important;
}
body.night-mode .btn-secondary:hover,
body.night-mode .btn-light:hover,
body.night-mode .btn-light:focus,
body.night-mode .btn-light:active { color: var(--ib-dark-text) !important; background-color: var(--ib-dark-control-hover) !important; border-color: #5a675f !important; }
body.night-mode .dropdown-item:hover,
body.night-mode .dropdown-item:focus { color: var(--ib-dark-text); background-color: var(--ib-dark-surface-hover); }
body.night-mode .dropdown-menu .dropdown-item { color: var(--ib-dark-text) !important; }
body.night-mode :is(.bg-white, .bg-light, .text-bg-light) {
  color: var(--ib-ink) !important;
}
body.night-mode :is(.bg-white, .bg-light, .text-bg-light) a,
body.night-mode :is(.bg-white, .bg-light, .text-bg-light) .text-primary,
body.night-mode :is(.bg-white, .bg-light, .text-bg-light).text-primary {
  color: var(--ib-accent-on-light) !important;
}
body.night-mode .badge.text-bg-light {
  color: var(--ib-ink) !important;
  background-color: #fff !important;
  border-color: #fff;
}

/* Keep the sidebar category palette above the global dark-mode accent rules. */
body.night-mode .ib-home-side-nav a .main-icon,
body.night-mode .ib-home-side-nav a .main-icon *,
body.night-mode .ib-home-side-nav a .main-icon svg {
  color: var(--ib-nav-item-color) !important;
  fill: currentColor !important;
}

body.night-mode .ib-home-side-nav a .main-icon [stroke]:not([stroke="none"]) {
  stroke: currentColor !important;
}

body.night-mode .ib-home-side-nav > li.active > a,
body.night-mode .ib-home-side-nav ul > li.active > a {
  background: #283328 !important;
  box-shadow: inset 3px 0 0 #c7f23c;
}

[dir="rtl"] body.night-mode .ib-home-side-nav > li.active > a,
[dir="rtl"] body.night-mode .ib-home-side-nav ul > li.active > a {
  box-shadow: inset -3px 0 0 #c7f23c;
}
body.night-mode .nav-tabs .nav-link { color: var(--ib-dark-muted) !important; }
body.night-mode .nav-tabs .nav-link.active { color: var(--ib-lime) !important; border-bottom-color: var(--ib-lime); }
body.night-mode .profile-tabs-wrapper a { color: var(--ib-dark-muted) !important; }
body.night-mode .profile-tabs-wrapper a:hover { color: var(--ib-dark-text) !important; }
body.night-mode .profile-tabs-wrapper > a.active,
body.night-mode .profile-tabs-wrapper .active > a { color: var(--ib-dark-text) !important; border-bottom-color: var(--ib-lime) !important; }
body.night-mode .post-author,
body.night-mode .post-author a,
body.night-mode .data-content .name a,
body.night-mode .navbar-container .data-content .name a { color: var(--ib-dark-text) !important; }
body.night-mode .post-stats-alt,
body.night-mode .post-stats .fa,
body.night-mode .post-stats i,
body.night-mode .js_moment,
body.night-mode .post-time,
body.night-mode footer a,
body.night-mode .language-dropdown { color: var(--ib-dark-muted) !important; }
body.night-mode .side-nav > li.active > a { color: var(--ib-dark-text) !important; background-color: var(--ib-dark-surface-hover); }
body.night-mode .page-link { color: var(--ib-lime); background-color: var(--ib-dark-surface); border-color: var(--ib-dark-border); }
body.night-mode .table thead th { color: var(--ib-dark-muted); background-color: var(--ib-dark-surface-hover); border-color: var(--ib-dark-border); }
body.night-mode .alert-primary { color: var(--ib-lime); background-color: #263516; border-color: #49641d; }
body.night-mode .table { --bs-table-color: var(--ib-dark-text); --bs-table-border-color: var(--ib-dark-border); }
body.night-mode .prop-firm-tag { background: color-mix(in srgb, var(--ib-lime) 14%, transparent); color: var(--ib-lime); border-color: color-mix(in srgb, var(--ib-lime) 30%, transparent); }
body.night-mode .prop-firm-platform,
body.night-mode .prop-overview-method,
body.night-mode .prop-overview-country,
body.night-mode .prop-overview-challenge-row { background: #161a15; border-color: var(--ib-dark-border); }
body.night-mode .profile-cover-wrapper { background-color: #161a15 !important; }
body.night-mode .prop-overview-data-table .prop-overview-table-head th,
body.night-mode .prop-overview-data-table .prop-overview-table-head td { background: var(--ib-dark-surface-hover); color: var(--ib-dark-muted); }

/* Prop-firm facts: readable, structured and responsive core card. */
.prop-firm-facts-list {
  display: grid;
  gap: 8px;
}

.prop-firm-facts-list > li {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.prop-firm-fact-row {
  display: flex;
  align-items: flex-start;
  min-height: 48px;
  padding: 11px 12px 11px 52px;
  border: 1px solid var(--ib-border);
  border-radius: 13px;
  background: var(--ib-surface-muted);
  color: var(--ib-ink);
  font-size: 15.5px;
  line-height: 1.55;
}

.prop-firm-fact-row > .svg-container {
  top: 11px;
  left: 14px;
  width: 26px !important;
  height: 26px !important;
}

.prop-firm-fact-primary .prop-firm-fact-row {
  align-items: center;
  min-height: 54px;
  background: var(--ib-lime-soft);
  border-color: color-mix(in srgb, var(--ib-forest) 25%, transparent);
  font-size: 17px;
}

.prop-firm-rating-value {
  font-size: 15px !important;
  color: var(--ib-forest);
}

.prop-firm-rating-row small {
  display: inline-block;
  margin-inline-start: 0;
  color: var(--ib-muted);
  font-size: 12px;
  font-weight: 500;
}

.prop-firm-answer-row {
  flex-wrap: wrap;
  align-items: center;
  column-gap: 7px;
}

.prop-firm-fact-label {
  flex: 0 0 auto;
}

.prop-firm-value-chip {
  display: inline-flex !important;
  align-items: center;
  max-width: 100%;
  min-height: 32px;
  padding: 5px 11px;
  border: 1px solid color-mix(in srgb, var(--ib-forest) 20%, transparent);
  border-radius: 999px;
  background: var(--ib-lime-soft);
  color: var(--ib-forest);
  font-size: 14px !important;
  font-weight: 700;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.prop-firm-assets-row {
  flex-wrap: wrap;
}

.prop-firm-assets-row .prop-firm-tags {
  flex-basis: 100%;
  margin-top: 9px;
}

body.night-mode .prop-firm-fact-row {
  color: var(--ib-dark-text);
  background: #171c17;
  border-color: var(--ib-dark-border);
}

body.night-mode .prop-firm-fact-primary .prop-firm-fact-row {
  background: #26311f;
  border-color: #526a2d;
}

body.night-mode .prop-firm-rating-value { color: #d8f77a; }
body.night-mode .prop-firm-rating-row small { color: var(--ib-dark-muted); }
body.night-mode .prop-firm-value-chip {
  color: #e6f8ae;
  background: #2b3724;
  border-color: #526a35;
}

[dir="rtl"] .prop-firm-fact-row {
  padding-right: 52px;
  padding-left: 12px;
}

[dir="rtl"] .prop-firm-fact-row > .svg-container {
  right: 14px;
  left: auto;
}

/* Language control must respect the surface it is displayed on in dark mode. */
body.night-mode .language-dropdown,
body.night-mode .language-dropdown:hover,
body.night-mode .language-dropdown:focus,
body.night-mode .language-dropdown:active {
  color: var(--ib-dark-text) !important;
  background-color: transparent !important;
}

body.night-mode .language-dropdown:hover,
body.night-mode .language-dropdown:focus-visible {
  background-color: var(--ib-dark-surface-hover) !important;
}

@media (max-width: 575.98px) {
  .prop-firm-fact-row {
    min-height: 45px;
    padding-top: 9px;
    padding-bottom: 9px;
    font-size: 14.5px;
  }

  .prop-firm-fact-row > .svg-container { top: 9px; }

  .prop-firm-answer-row {
    align-items: flex-start;
    row-gap: 7px;
  }

  .prop-firm-value-chip {
    flex-basis: auto;
    min-height: 30px;
    padding: 4px 10px;
    font-size: 13.5px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
}
