/* English public pages. Theme behavior lives in /assets/js/theme.js. */
.landing-theme-toggle {
  position: fixed;
  top: 118px;
  right: max(14px, calc((100vw - 1580px) / 2 + 14px));
  z-index: 100001;
  width: 46px;
  min-height: 138px;
  padding: 10px 0;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid rgba(66, 151, 108, 0.24);
  border-radius: 999px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.76), rgba(232, 248, 239, 0.44)),
    rgba(255, 255, 255, 0.36);
  box-shadow:
    0 12px 30px rgba(31, 45, 38, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.86);
  color: rgba(18, 31, 26, 0.74);
  cursor: pointer !important;
  pointer-events: auto;
  backdrop-filter: blur(18px) saturate(145%);
  -webkit-backdrop-filter: blur(18px) saturate(145%);
}

.landing-theme-toggle--mobile {
  display: none;
}

.landing-theme-toggle,
.landing-theme-toggle * {
  cursor: pointer !important;
}

.landing-theme-toggle__icon {
  width: 17px;
  height: 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 17px;
  transition: color 0.28s ease, opacity 0.28s ease, transform 0.28s ease;
}

.landing-theme-toggle__icon svg {
  width: 17px;
  height: 17px;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.landing-theme-toggle__icon--sun {
  color: #d19a24;
}

.landing-theme-toggle__icon--moon {
  color: rgba(34, 58, 48, 0.62);
}

.landing-theme-toggle__track {
  position: relative;
  width: 24px;
  height: 48px;
  flex: 0 0 48px;
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(250, 255, 252, 0.92), rgba(225, 243, 234, 0.82));
  box-shadow:
    inset 0 0 0 1px rgba(66, 151, 108, 0.20),
    inset 0 3px 10px rgba(31, 45, 38, 0.08);
  transition: background 0.28s ease, box-shadow 0.28s ease;
}

.landing-theme-toggle__thumb {
  position: absolute;
  top: 3px;
  left: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 34% 28%, #ffffff 0 28%, transparent 29%),
    linear-gradient(135deg, #52c17e, #1e7f50);
  box-shadow:
    0 5px 12px rgba(31, 121, 72, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.72);
  transition:
    transform 0.32s cubic-bezier(0.16, 1, 0.3, 1),
    background 0.28s ease,
    box-shadow 0.28s ease;
}

body.theme-dark .landing-theme-toggle {
  border-color: rgba(95, 214, 151, 0.34);
  background:
    linear-gradient(135deg, rgba(22, 31, 28, 0.88), rgba(20, 57, 42, 0.74)),
    rgba(13, 20, 17, 0.82);
  box-shadow:
    0 14px 36px rgba(4, 12, 8, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.10);
}

body.theme-dark .landing-theme-toggle__icon--sun {
  color: #d6f7e3;
  opacity: 1;
  transform: scale(0.92);
}

body.theme-dark .landing-theme-toggle__icon--moon {
  color: #d6f7e3;
  opacity: 1;
  transform: scale(1.08);
}

body.theme-dark .landing-theme-toggle__track {
  background:
    linear-gradient(180deg, rgba(23, 38, 32, 0.96), rgba(37, 95, 65, 0.88));
  box-shadow:
    inset 0 0 0 1px rgba(133, 235, 178, 0.24),
    inset 0 3px 12px rgba(0, 0, 0, 0.24);
}

body.theme-dark .landing-theme-toggle__thumb {
  transform: translateY(24px);
  background:
    radial-gradient(circle at 36% 30%, #ffffff 0 18%, transparent 19%),
    linear-gradient(135deg, #d9f8e5, #75d89d);
  box-shadow:
    0 5px 14px rgba(95, 214, 151, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.78);
}


@media (max-width: 1440px) {
  .landing-header__shell > .landing-theme-toggle--mobile {
    position: relative;
    top: auto;
    right: auto;
    z-index: 3;
    order: 2;
    flex: 0 0 68px;
    width: 68px;
    min-width: 68px;
    max-width: 68px;
    height: 42px;
    min-height: 42px;
    margin-left: auto;
    padding: 0 5px;
    display: inline-flex;
    flex-direction: row;
    gap: 3px;
    border-radius: 12px;
  }

  .landing-header__shell > .landing-theme-toggle--mobile .landing-theme-toggle__icon,
  .landing-header__shell > .landing-theme-toggle--mobile .landing-theme-toggle__icon svg {
    width: 12px;
    height: 12px;
    flex-basis: 12px;
  }

  .landing-header__shell > .landing-theme-toggle--mobile .landing-theme-toggle__track {
    width: 28px;
    height: 18px;
    flex: 0 0 28px;
  }

  .landing-header__shell > .landing-theme-toggle--mobile .landing-theme-toggle__thumb {
    top: 2px;
    left: 2px;
    width: 14px;
    height: 14px;
  }

  .landing-header__shell > .landing-language {
    margin-left: 0;
  }

  .landing-header > .landing-theme-toggle--desktop {
    display: none;
  }
}

@media (max-width: 1440px) {
  body.theme-dark .landing-theme-toggle--mobile .landing-theme-toggle__thumb {
    transform: translateX(10px);
  }
}

@media (max-width: 420px) {
  .landing-header__shell > .landing-theme-toggle--mobile {
    height: 40px;
    min-height: 40px;
  }
}

/* Keep the cabinet's existing palette independent of the public theme. */
body.theme-dark:not(.cab-bg) {
  color: #eff8f1;
  background-color: #030806;
  color-scheme: dark;
}

body.theme-dark:not(.cab-bg) .wrapper {
  background-color: #030806;
  box-shadow: none;
}

body.theme-dark:not(.cab-bg) .sign,
body.theme-dark:not(.cab-bg) .wrapper_terms {
  background-color: #030806;
  background-image: url("/assets2/img/dark_theme/bg.png?v=1.1");
}

body.theme-dark:not(.cab-bg) .sign-wrap {
  border-color: rgba(38, 185, 110, 0.57);
  background: linear-gradient(135deg, rgba(0, 14, 9, 0.94), rgba(1, 25, 16, 0.84));
  box-shadow: 0 22px 65px rgba(0, 0, 0, 0.42), 0 0 24px rgba(32, 139, 78, 0.12), inset 0 1px 0 rgba(161, 246, 186, 0.14);
}

body.theme-dark:not(.cab-bg) .sign-title h3,
body.theme-dark:not(.cab-bg) .sign-wrap form > h2,
body.theme-dark:not(.cab-bg) .sign-wrap .m-input__head h3,
body.theme-dark:not(.cab-bg) .wrapper_terms :is(h2, h3, h4, strong) {
  color: #f3faf5;
}

body.theme-dark:not(.cab-bg) .sign-title p,
body.theme-dark:not(.cab-bg) .sign-footer-text,
body.theme-dark:not(.cab-bg) .sign-check,
body.theme-dark:not(.cab-bg) .sign-wrap :is(.info, .m-input__head p),
body.theme-dark:not(.cab-bg) .wrapper_terms .m-text :is(p, li) {
  color: rgba(229, 240, 233, 0.79);
}

body.theme-dark:not(.cab-bg) .sign-wrap :is(.sign-link a, .sign-footer-text a, .sign-check a, .sign-check span, .m-input__head h3 a),
body.theme-dark:not(.cab-bg) .wrapper_terms :is(.m-title > p, .m-text a) {
  color: #54e2a3;
}

body.theme-dark:not(.cab-bg) .sign-wrap :is(.sign-link a, .sign-footer-text a, .sign-check a):hover,
body.theme-dark:not(.cab-bg) .wrapper_terms .m-text a:hover {
  color: #a2f5c8;
}

body.theme-dark:not(.cab-bg) .wrapper_terms .m-title > p::after {
  background-color: #54e2a3;
}

body.theme-dark:not(.cab-bg) .wrapper_terms .sect-1 {
  background-image: linear-gradient(90deg, rgba(0, 4, 3, 0.86), rgba(0, 6, 4, 0.65));
}

body.theme-dark:not(.cab-bg) .sign-links {
  border-color: rgba(51, 196, 118, 0.35);
  background-color: rgba(0, 10, 7, 0.82);
}

body.theme-dark:not(.cab-bg) .sign-links a {
  color: rgba(229, 240, 233, 0.7);
}

body.theme-dark:not(.cab-bg) .sign-links a:hover,
body.theme-dark:not(.cab-bg) .sign-links a.active {
  color: #f3faf5;
  border-color: rgba(51, 219, 130, 0.64);
  background: linear-gradient(135deg, rgba(0, 29, 18, 0.97), rgba(3, 48, 29, 0.88));
}

body.theme-dark:not(.cab-bg) .sign-wrap .m-input {
  border-color: rgba(51, 196, 118, 0.38);
  background: rgba(0, 10, 7, 0.78);
  box-shadow: inset 0 1px 0 rgba(161, 246, 186, 0.05);
}

body.theme-dark:not(.cab-bg) .sign-wrap .m-input:focus-within {
  border-color: #51e9a6;
  box-shadow: 0 0 0 3px rgba(51, 219, 130, 0.12);
}

body.theme-dark:not(.cab-bg) .sign-wrap :is(input, textarea, select) {
  color: #f3faf5;
  caret-color: #54e2a3;
}

body.theme-dark:not(.cab-bg) .sign-wrap input[readonly] {
  color: rgba(229, 240, 233, 0.65);
}

body.theme-dark:not(.cab-bg) .sign-wrap input::placeholder,
body.theme-dark:not(.cab-bg) .sign-wrap textarea::placeholder {
  color: rgba(216, 227, 219, 0.56);
  opacity: 1;
}

body.theme-dark:not(.cab-bg) .sign-wrap input:-webkit-autofill,
body.theme-dark:not(.cab-bg) .sign-wrap input:-webkit-autofill:hover,
body.theme-dark:not(.cab-bg) .sign-wrap input:-webkit-autofill:focus {
  -webkit-text-fill-color: #f3faf5;
  -webkit-box-shadow: 0 0 0 1000px #071a11 inset;
  caret-color: #54e2a3;
}

body.theme-dark:not(.cab-bg) .sign-wrap .m-input_pass > svg {
  fill: #79d79a;
}

body.theme-dark:not(.cab-bg) .sign-wrap .m-input_pass > svg:hover {
  fill: #a2f5c8;
}

body.theme-dark:not(.cab-bg) .sign-wrap :is(.btn, .main-btn) {
  color: #f8fffa;
  border-color: rgba(34, 239, 137, 0.65);
  background: linear-gradient(115deg, rgba(0, 19, 12, 0.96), rgba(3, 46, 27, 0.94));
  box-shadow: 0 0 18px rgba(40, 162, 91, 0.12), inset 0 1px 0 rgba(167, 255, 199, 0.12);
}

body.theme-dark:not(.cab-bg) .sign-wrap :is(.btn, .main-btn):hover {
  color: #ffffff;
  border-color: #76ffc0;
  background: linear-gradient(115deg, rgba(2, 39, 23, 0.98), rgba(5, 68, 38, 0.96));
}

body.theme-dark:not(.cab-bg) :is(.sign-wrap a, .sign-wrap button, .landing-theme-toggle):focus-visible {
  outline: 2px solid #76ffc0;
  outline-offset: 3px;
}

body.theme-dark:not(.cab-bg) .sign-wrap .alert {
  color: #e5f5e9;
  border: 1px solid rgba(51, 196, 118, 0.38);
  background: rgba(0, 24, 15, 0.88);
}

body.theme-dark:not(.cab-bg) .sign-wrap .alert-danger {
  color: #f2c5c5;
  border-color: rgba(224, 113, 113, 0.42);
  background: rgba(52, 15, 18, 0.86);
}

body.theme-dark:not(.cab-bg) .sign-wrap .alert :is(h2, h3, p) {
  color: inherit;
}

body.theme-dark:not(.cab-bg) .sign-wrap .alert a {
  color: #9af0c1;
}

body.theme-dark:not(.cab-bg) .sign-wrap .cont-input {
  color: rgba(229, 240, 233, 0.79);
}

body.theme-dark:not(.cab-bg) .sign-wrap .cont-input input {
  border-color: rgba(51, 196, 118, 0.38);
  background-color: #071a11;
}

/* The recovery flow can also render the legacy secret-answer form. */
body.theme-dark:not(.cab-bg) .sign-wrap form :is(table, td, th, label) {
  color: inherit;
}

body.theme-dark:not(.cab-bg) .sign-wrap form :is(input, textarea, select):not(.m-input input):not([type="hidden"]) {
  background-color: #071a11;
  border-color: rgba(51, 196, 118, 0.38);
}

/* Reuse the landing header palette, including its dropdown menus. */
body.theme-dark:not(.cab-bg) .landing-header__shell {
  border-color: rgba(87, 151, 113, 0.22);
  background: rgba(3, 10, 8, 0.84) !important;
  box-shadow: 0 16px 44px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(139, 217, 170, 0.08) !important;
}

body.theme-dark:not(.cab-bg) .landing-header__shell::before {
  background: linear-gradient(90deg, rgba(25, 82, 52, 0.12), transparent 55%);
}

body.theme-dark:not(.cab-bg) .landing-nav {
  border-color: rgba(105, 178, 134, 0.12);
  background: rgba(7, 21, 15, 0.58);
}

body.theme-dark:not(.cab-bg) :is(.landing-nav a, .landing-language-btn) {
  color: rgba(245, 250, 246, 0.82);
}

body.theme-dark:not(.cab-bg) .landing-nav a:hover {
  color: #ffffff;
  background: rgba(61, 152, 98, 0.2);
}

body.theme-dark:not(.cab-bg) .landing-header-btn--primary {
  color: #f5fff8;
  border-color: rgba(79, 193, 125, 0.48);
  background: linear-gradient(135deg, #0b2a1c, #174d32);
  box-shadow: inset 0 1px 0 rgba(167, 255, 199, 0.12), 0 0 18px rgba(40, 162, 91, 0.12);
}

body.theme-dark:not(.cab-bg) .landing-header-btn--ghost {
  color: #e4ebe6;
  border-color: rgba(226, 239, 230, 0.4);
  background: rgba(4, 9, 7, 0.54);
}

body.theme-dark:not(.cab-bg) .landing-language-menu {
  border-color: rgba(93, 179, 126, 0.25);
  background: rgba(6, 19, 13, 0.97);
}

body.theme-dark:not(.cab-bg) .landing-language-menu__item {
  color: #e4ebe6;
}

body.theme-dark:not(.cab-bg) .landing-language-menu__item:hover,
body.theme-dark:not(.cab-bg) .landing-language-menu__item.is-active {
  color: #ffffff;
  background: rgba(67, 163, 102, 0.2);
}

@media (max-width: 1440px) {
  body.theme-dark:not(.cab-bg) :is(.landing-nav, .landing-header-actions) {
    border-color: rgba(55, 210, 129, 0.48);
    background: rgba(5, 18, 12, 0.97);
  }

  body.theme-dark:not(.cab-bg) .landing-header-actions {
    border-top-color: rgba(55, 210, 129, 0.3);
  }

  body.theme-dark:not(.cab-bg) .landing-header__shell > .landing-language > .landing-language-btn,
  body.theme-dark:not(.cab-bg) .landing-burger {
    border-color: rgba(55, 210, 129, 0.58);
    background: linear-gradient(135deg, rgba(3, 31, 19, 0.98), rgba(5, 50, 29, 0.92));
    color: #eaf8ef;
  }

  body.theme-dark:not(.cab-bg) .landing-header__shell > .landing-language > .landing-language-btn:hover,
  body.theme-dark:not(.cab-bg) .landing-burger:hover {
    border-color: rgba(91, 240, 167, 0.88);
    background: linear-gradient(135deg, rgba(7, 52, 31, 0.98), rgba(9, 70, 42, 0.94));
  }

  body.theme-dark:not(.cab-bg) .landing-header.is-menu-open::after {
    background: rgba(0, 5, 3, 0.65);
  }

  body.theme-dark:not(.cab-bg) .landing-header__shell > .landing-language > .landing-language-menu {
    border-color: rgba(55, 210, 129, 0.48);
    background: rgba(6, 19, 13, 0.97);
  }

  body.theme-dark:not(.cab-bg) .landing-burger span {
    background: #e7f3eb;
  }
}

/* Cabinet switch: always in the header, in either theme. */
.cab-header .landing-theme-toggle--cab {
  position: relative;
  top: auto;
  right: auto;
  z-index: auto;
  flex: 0 0 68px;
  width: 68px;
  min-width: 68px;
  min-height: 42px;
  height: 42px;
  padding: 0 5px;
  flex-direction: row;
  gap: 3px;
  border-radius: 12px;
  border-color: rgba(95, 214, 151, 0.34);
  background:
    linear-gradient(135deg, rgba(22, 31, 28, 0.88), rgba(20, 57, 42, 0.74)),
    rgba(13, 20, 17, 0.82);
  box-shadow: 0 14px 36px rgba(4, 12, 8, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.10);
}

.cab-header .landing-theme-toggle--cab .landing-theme-toggle__icon,
.cab-header .landing-theme-toggle--cab .landing-theme-toggle__icon svg {
  width: 12px;
  height: 12px;
  flex-basis: 12px;
}

.cab-header .landing-theme-toggle--cab .landing-theme-toggle__track {
  width: 28px;
  height: 18px;
  flex: 0 0 28px;
  background: linear-gradient(180deg, rgba(23, 38, 32, 0.96), rgba(37, 95, 65, 0.88));
  box-shadow: inset 0 0 0 1px rgba(133, 235, 178, 0.24), inset 0 3px 12px rgba(0, 0, 0, 0.24);
}

.cab-header .landing-theme-toggle--cab .landing-theme-toggle__icon--moon {
  color: #d6f7e3;
}

.cab-header .landing-theme-toggle--cab .landing-theme-toggle__thumb {
  top: 2px;
  left: 2px;
  width: 14px;
  height: 14px;
}

body.theme-dark .cab-header .landing-theme-toggle--cab .landing-theme-toggle__thumb {
  transform: translateX(10px);
}

.cab-header .landing-theme-toggle--cab:focus-visible {
  outline: 2px solid #76ffc0;
  outline-offset: 3px;
}

@media (max-width: 575.98px) {
  .cab-header__nav {
    gap: 6px;
  }

  .cab-header .header-logo img {
    max-width: 112px;
  }
}

@media (max-width: 359.98px) {
  .cab-header > .container {
    padding-left: 10px;
    padding-right: 10px;
  }

  .cab-header .header-logo img {
    width: 80px;
    max-width: none;
  }

  .cab-header__nav {
    gap: 4px;
  }

  .cab-header .header-nav__btn {
    width: 38px;
    height: 38px;
  }

  .cab-header .landing-theme-toggle--cab {
    flex-basis: 60px;
    width: 60px;
    min-width: 60px;
    height: 38px;
    min-height: 38px;
    padding: 0 3px;
    gap: 2px;
  }

  .cab-header .landing-theme-toggle--cab .landing-theme-toggle__icon,
  .cab-header .landing-theme-toggle--cab .landing-theme-toggle__icon svg {
    width: 9px;
    height: 9px;
    flex-basis: 9px;
  }
}

/* Cabinet palette. Geometry and the light theme stay in app_2.css. */
body.cab-bg.theme-dark {
  --cab-dark-bg: #020807;
  --cab-dark-panel: linear-gradient(135deg, rgba(0, 13, 10, 0.94), rgba(1, 18, 13, 0.88));
  --cab-dark-inset: rgba(0, 8, 7, 0.78);
  --cab-dark-border: rgba(44, 180, 119, 0.35);
  --cab-dark-line: rgba(138, 191, 161, 0.14);
  --cab-dark-text: #eff8f3;
  --cab-dark-muted: rgba(226, 239, 231, 0.72);
  --cab-dark-green: #20dc91;
  --cab-dark-gold: #d7bd79;
  color: var(--cab-dark-text);
  background-color: var(--cab-dark-bg);
  color-scheme: dark;
}

body.cab-bg.theme-dark :is(.wrapper, .cab) {
  background-color: var(--cab-dark-bg);
}

body.cab-bg.theme-dark .cab-content {
  background-image: url("../img/dark_theme/cab_bg.png");
}

@media screen and (max-width: 767px){
  body.cab-bg.theme-dark .cab-content {
    background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), url("../img/dark_theme/cab_bg.png");
    background-position: right center;
  }
}

body.cab-bg.theme-dark :is(.cab-header, .cab-side, .cab .mob-nav) {
  background: rgba(1, 9, 10, 0.97);
  border-color: var(--cab-dark-border);
}

body.cab-bg.theme-dark .cab-side__footer {
  border-color: var(--cab-dark-line);
}

body.cab-bg.theme-dark .cab-menu__item {
  color: var(--cab-dark-muted);
}

body.cab-bg.theme-dark .cab-menu__item svg {
  stroke: var(--cab-dark-muted);
}

body.cab-bg.theme-dark .cab-menu__item::before {
  background-color: var(--cab-dark-green);
}

body.cab-bg.theme-dark .cab-menu__item:is(.active, :hover) {
  color: var(--cab-dark-text);
  background: linear-gradient(100deg, rgba(0, 92, 58, 0.5), rgba(0, 39, 27, 0.4));
  box-shadow: inset 0 0 0 1px rgba(32, 220, 145, 0.38), inset 0 0 22px rgba(0, 214, 128, 0.12), 0 0 14px rgba(0, 214, 128, 0.08);
}

body.cab-bg.theme-dark .cab-menu__item:is(.active, :hover) svg {
  stroke: var(--cab-dark-green);
}

/* Shared panel families cover menu pages and operation/detail states. */
body.cab-bg.theme-dark :is(
  .cab-box, .cab-table, .cab-bal__item, .cab-dep-stat__item,
  .cab-ref, .cab-ref-current, .cab-ref-cur__item, .cab-ref-plan,
  .cab-info__item, .cab-info-box, .cab-dep__item, .cab-soon,
  .cab-invest-total, .cab-invest-detail, .cab-modal__wrap,
  .cab-withdraw, .cab-withdraw__rules,
  .shop__item, .bonuses__inset, .lootbox__item, .crystal__balance
) {
  background: var(--cab-dark-panel) !important;
  border-color: var(--cab-dark-border) !important;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(132, 229, 175, 0.07);
}

body.cab-bg.theme-dark .cab-bal__item:nth-child(n+3) {
  border-color: rgba(215, 189, 121, 0.3) !important;
}

body.cab-bg.theme-dark .cab-withdraw__info-item {
  border-color: var(--cab-dark-line);
}

body.cab-bg.theme-dark .cab-withdraw__total {
  background-color: rgba(0, 116, 73, 0.2);
}

body.cab-bg.theme-dark .cab-withdraw__total p {
  color: var(--cab-dark-green);
}

body.cab-bg.theme-dark :is(.cab-bal__icon, .cab-dep-stat__icon, .cab-empty__icon, .cab-dep__item-icon) {
  border-color: rgba(32, 220, 145, 0.16);
  background: rgba(0, 79, 51, 0.22);
}

body.cab-bg.theme-dark :is(.cab-bal__icon, .cab-dep-stat__icon) svg {
  stroke: var(--cab-dark-green);
}

body.cab-bg.theme-dark .cab-bal__item:nth-child(n+3) .cab-bal__icon {
  background: rgba(102, 79, 27, 0.17);
  border-color: rgba(215, 189, 121, 0.16);
}

body.cab-bg.theme-dark .cab-bal__item:nth-child(n+3) .cab-bal__icon svg {
  stroke: var(--cab-dark-gold);
}

body.cab-bg.theme-dark :is(.cab-head-text h3, .cab-title, .cab-box__title, .cab-bal__val, .cab-dep-stat__val, .cab-invest-detail > h3) {
  color: var(--cab-dark-text);
}

body.cab-bg.theme-dark :is(.cab-head-text p, .cab-box__text, .cab-bal__title, .cab-bal__val sub, .cab-bal__val span, .cab-dep-stat__title, .cab-text, .cab-empty__text, .cab-copyright, .cab-soc p) {
  color: var(--cab-dark-muted);
}

body.cab-bg.theme-dark :is(.cab-box__title span, .cab-pay__icon, .cab-ref-plan__icon, .cab-cert__icon, .cab-set-soc__icon) {
  background: rgba(0, 116, 73, 0.28);
  border-color: var(--cab-dark-border);
  color: var(--cab-dark-green);
}

body.cab-bg.theme-dark :is(.cab-box__title span, .cab-list ul li > span) {
  color: #a4f7cf;
}

/* Inset choices, settings, referral lists and progress tracks. */
body.cab-bg.theme-dark :is(
  .cab-pay__wrap, .cab-plan__wrap, .cab-set-menu__item, .cab-set-soc__item,
  .cab-lines__item, .cab-lines__single, .cab-last__info-item,
  .cab-copy, .cab-2fa__box, .cab-2fa__code, .cab-rank-table table,
  .cab-ref-plan__bonus, .cab-ref__copy, .cab-notifi__item
) {
  background: var(--cab-dark-inset) !important;
  border-color: var(--cab-dark-line) !important;
}

body.cab-bg.theme-dark :is(.cab-pay__item.active .cab-pay__wrap, .cab-pay__item input:checked + .cab-pay__wrap, .cab-plan input:checked + .cab-plan__wrap, .cab-set-menu__item.active, .cab-set-menu__item:hover) {
  background: linear-gradient(130deg, rgba(0, 116, 75, 0.55), rgba(0, 43, 30, 0.82)) !important;
  border-color: rgba(32, 220, 145, 0.7) !important;
  box-shadow: inset 0 0 25px rgba(0, 220, 130, 0.12), 0 0 18px rgba(0, 220, 130, 0.14);
}

body.cab-bg.theme-dark :is(.cab-pay__wrap h3, .cab-plan__title, .cab-set-menu__item h3, .cab-set-soc__head h3, .cab-copy p, .cab-2fa__title, .cab-2fa__box h3, .cab-notifi__item-title) {
  color: var(--cab-dark-text);
}

body.cab-bg.theme-dark :is(.cab-pay__wrap p, .cab-set-menu__item p, .cab-set-soc__head p, .cab-modal__info p, .cab-modal__head p, .cab-notifi__item-text, .cab-notifi__item-date) {
  color: var(--cab-dark-muted);
}

body.cab-bg.theme-dark :is(.cab-last__progress-line, .cab-dep__bar-line, .cab-ref-bar__line, .cab-lines__bar-line, .cab-ref-plan__bonus .cab-ref-bar__line) {
  background: rgba(20, 89, 59, 0.35);
}

body.cab-bg.theme-dark :is(.cab-ref-bar__line > span, .cab-lines__bar-line > span) {
  background: linear-gradient(90deg, #008d5c, #20dc91);
}

/* Form controls: keep their sizes, currency icons and validation behavior. */
body.cab-bg.theme-dark :is(.m-input, .m-select__btn, .cab-pin input) {
  border-color: var(--cab-dark-border) !important;
  background: var(--cab-dark-inset) !important;
  box-shadow: inset 0 1px 0 rgba(132, 229, 175, 0.04);
}

body.cab-bg.theme-dark :is(.m-input input, .m-input textarea, .m-select__btn h3, .m-select__item h3, .cab-pin input, .m-input__head h3, .m-check__wrap) {
  color: var(--cab-dark-text) !important;
  caret-color: var(--cab-dark-green);
}

body.cab-bg.theme-dark :is(.m-input input, .m-input textarea)::placeholder {
  color: rgba(226, 239, 231, 0.48) !important;
  opacity: 1;
}

body.cab-bg.theme-dark :is(.m-select__btn p, .m-select__item p, .m-input_amount > span, .m-input__head p) {
  color: var(--cab-dark-muted);
}

body.cab-bg.theme-dark :is(.m-select__drop, .lang-drop, .cab-notifi__drop) {
  background: #03110d !important;
  border-color: var(--cab-dark-border) !important;
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.45);
}

body.cab-bg.theme-dark :is(.m-select__item, .lang-item):is(:hover, .active) {
  background: rgba(0, 116, 73, 0.24) !important;
  color: var(--cab-dark-text);
}

body.cab-bg.theme-dark .m-input:focus-within {
  border-color: var(--cab-dark-green) !important;
  box-shadow: 0 0 0 3px rgba(32, 220, 145, 0.12);
}

body.cab-bg.theme-dark input:-webkit-autofill {
  -webkit-text-fill-color: var(--cab-dark-text);
  -webkit-box-shadow: 0 0 0 1000px #03110d inset;
  caret-color: var(--cab-dark-green);
}

body.cab-bg.theme-dark :is(.m-input_pass > svg, .m-input_icon > svg, .m-select__arrow svg, .cab-copy__btn svg) {
  fill: none;
  stroke: var(--cab-dark-muted);
}

body.cab-bg.theme-dark .m-input_pass > svg {
  fill: var(--cab-dark-muted);
  stroke: none;
}

body.cab-bg.theme-dark .m-input_amount button {
  background-color: rgba(0, 116, 73, 0.45);
  color: #a4f7cf;
}

/* Primary actions and gold secondary actions follow the reference palette. */
body.cab-bg.theme-dark :is(.btn, .main-btn) {
  color: var(--cab-dark-text);
  background: linear-gradient(110deg, #008e5b, #00472f) !important;
  border-color: rgba(32, 220, 145, 0.5) !important;
  box-shadow: inset 0 1px 0 rgba(163, 255, 211, 0.12), 0 0 15px rgba(0, 206, 125, 0.12);
}

body.cab-bg.theme-dark :is(.btn, .main-btn):hover {
  background: linear-gradient(110deg, #00a86c, #00603e) !important;
  border-color: #20dc91 !important;
}

body.cab-bg.theme-dark :is(.btn_tr, .btn_white, .cab-cert__btns .btn, .cab-modal__btns .btn_white, .cab-modal__btns .btn_tr) {
  color: #e5d6ab;
  background: linear-gradient(115deg, rgba(18, 20, 13, 0.9), rgba(10, 16, 12, 0.9)) !important;
  border-color: rgba(215, 189, 121, 0.5) !important;
  box-shadow: inset 0 1px 0 rgba(215, 189, 121, 0.08), 0 0 14px rgba(215, 189, 121, 0.08);
}

body.cab-bg.theme-dark :is(.btn_tr, .btn_white, .cab-cert__btns .btn):hover {
  background: rgba(98, 77, 29, 0.3) !important;
  border-color: var(--cab-dark-gold) !important;
}

body.cab-bg.theme-dark .cab-invest__btns .btn + .btn {
  color: #d8f5e7;
  background: linear-gradient(115deg, #071a13, #0b281d) !important;
  border-color: rgba(79, 193, 139, 0.65) !important;
  box-shadow: inset 0 1px 0 rgba(163, 255, 211, 0.06), 0 0 12px rgba(0, 160, 99, 0.08);
}

body.cab-bg.theme-dark .cab-invest__btns .btn + .btn:hover {
  color: #f0fff7;
  background: linear-gradient(115deg, #0c3021, #12432e) !important;
  border-color: #65dca2 !important;
  box-shadow: inset 0 1px 0 rgba(163, 255, 211, 0.1), 0 0 16px rgba(0, 160, 99, 0.14);
}

body.cab-bg.theme-dark .cab-invest__btns .btn + .btn svg,
body.cab-bg.theme-dark .cab-invest__btns .btn + .btn:hover svg {
  stroke: currentColor;
}

body.cab-bg.theme-dark :is(.btn, .main-btn):disabled,
body.cab-bg.theme-dark :is(.btn, .main-btn).disabled {
  background: linear-gradient(110deg, #174634, #11271d) !important;
  color: rgba(226, 239, 231, 0.48);
  border-color: var(--cab-dark-line) !important;
  box-shadow: none;
}

body.cab-bg.theme-dark :is(.btn, .main-btn, .cab-menu__item, .cab-pag a):focus-visible {
  outline: 2px solid #76ffc0;
  outline-offset: 3px;
}

/* Tables, filters, tabs and pagination retain their current structure. */
body.cab-bg.theme-dark :is(.cab-table__wrap td, .cab-table__footer, .cab-cert__stat-item, .cab-set-inputs, .accordion__item) {
  border-color: var(--cab-dark-line) !important;
}

body.cab-bg.theme-dark :is(.cab-table__wrap table thead td, .cab-rank-table table thead td) {
  background: rgba(0, 9, 8, 0.66) !important;
}

body.cab-bg.theme-dark :is(.cab-table__title h3, .cab-table__total, .cab-table__val p.mail) {
  color: var(--cab-dark-muted);
}

body.cab-bg.theme-dark :is(.cab-tabs__item, .cab-pag ul a, .cab-notifi__mark) {
  background: rgba(0, 9, 8, 0.7) !important;
  border-color: var(--cab-dark-line);
  color: var(--cab-dark-muted);
}

body.cab-bg.theme-dark :is(.cab-tabs__item.active, .cab-tabs__item:hover, .cab-pag ul a.active, .cab-pag ul a:hover, .cab-pag ul li.active a, .cab-notifi__mark:hover) {
  background: rgba(0, 105, 67, 0.38) !important;
  color: #a4f7cf;
  border-color: var(--cab-dark-border);
}

body.cab-bg.theme-dark :is(.cab-table__val h4, .cab-table__from) {
  background-color: rgba(130, 177, 151, 0.1);
  color: var(--cab-dark-muted);
}

body.cab-bg.theme-dark :is(.cab-table__val h4.active, .cab-table__from.green) {
  background-color: rgba(0, 116, 73, 0.26);
  color: #65ecb3;
}

/* Success/error and outcome colors stay distinct. */
body.cab-bg.theme-dark .cab-recent__item.load .cab-table__val :is(h3, p) {
  color: transparent;
}

body.cab-bg.theme-dark .alert {
  background: rgba(0, 38, 26, 0.94);
  border-color: var(--cab-dark-border);
  color: #b7f4d5;
}

body.cab-bg.theme-dark .alert-danger {
  background: rgba(49, 12, 18, 0.94);
  border-color: rgba(231, 109, 122, 0.45);
  color: #f5b9c0;
}

body.cab-bg.theme-dark .alert-info {
  background: rgba(10, 30, 44, 0.94);
  border-color: rgba(104, 170, 212, 0.45);
  color: #b8dbf0;
}

body.cab-bg.theme-dark .alert :is(p, h3, a) {
  color: inherit;
}

/* Payment confirmation and settings overlays. QR artwork is untouched. */
body.cab-bg.theme-dark .cab-modal {
  background: rgba(0, 5, 4, 0.76);
}

body.cab-bg.theme-dark .cab-modal__header {
  background: rgba(0, 8, 7, 0.9);
}

body.cab-bg.theme-dark :is(.cab-modal__head h3, .cab-modal__header h3, .cab-modal__info h3, .cab-2fa__code p, .cab-cert__content .m-text h3) {
  color: #e5d6ab;
}

body.cab-bg.theme-dark :is(.cab-modal__info p a, .cab-set-soc__link, .cab-ref__link) {
  color: #65ecb3;
}

body.cab-bg.theme-dark .cab-notifi__drop::after {
  filter: brightness(0.3) sepia(0.3) hue-rotate(90deg);
}

body.cab-bg.theme-dark :is(.cab-notifi__btn.active svg, .cab-notifi.active .cab-notifi__btn svg) {
  stroke: var(--cab-dark-green);
}

body.cab-bg.theme-dark .cab-notifi__mark {
  color: var(--cab-dark-muted);
}

body.cab-bg.theme-dark .cab-pag:has(.accordion) .sect-8-content .accordion {
  border-color: var(--cab-dark-line);
  background: var(--cab-dark-inset);
}

body.cab-bg.theme-dark .cab-box .sect-8-content .accordion {
  border-color: var(--cab-dark-line);
  background: var(--cab-dark-inset);
}
