/* ==========================================================================
   OCEAN FINANCE — Bloomberg-style dark glass (palette-only blues + white)
   Texture: place reference image at static/img/ocean-bg.png (optional fallback gradient)
   Loaded after components.css — tokens remap the shell globally.
   ========================================================================== */

:root,
[data-theme="light"],
[data-theme="dark"],
[data-bs-theme="light"],
[data-bs-theme="dark"] {
  color-scheme: dark;

  /*
   * Deep-sea canvas: lift darkness with cyan/sky chroma (not white/grey mixes).
   * Keeps a rich navy-teal identity without muddy desaturation.
   */
  --ocean-sky: #38bdf8;
  --ocean-sky-soft: rgba(56, 189, 248, 0.22);
  --ocean-abyss: color-mix(in srgb, #050d18 74%, #0a4a62 26%);
  --ocean-deep: color-mix(in srgb, #081c34 70%, #0c4a6e 30%);
  --ocean-steel: #3d87a8;
  --ocean-mist: #9cc8e0;
  --ocean-glacier: #cfe9f7;
  --ocean-white: #ffffff;
  --ocean-veil: color-mix(in srgb, rgba(6, 18, 38, 0.62) 55%, rgba(8, 50, 72, 0.35) 45%);

  --ocean-texture: url('../img/ocean-bg.png');

  /* Map legacy tokens */
  --bg-main: var(--ocean-deep);
  --bg-card: var(--ocean-deep);
  --sidebar-dark: var(--ocean-deep);
  --accent-soft: var(--ocean-steel);
  --text-dark: var(--ocean-mist);
  --text-light: var(--ocean-white);

  --ds-page-bg: transparent;
  --ds-page-bg-elevated: color-mix(in srgb, var(--ocean-deep) 92%, var(--ocean-abyss) 8%);
  --ds-app-canvas: transparent;
  --ds-surface: rgba(18, 42, 78, 0.48);
  --ds-surface-muted: rgba(16, 26, 44, 0.32);
  --ds-text: var(--ocean-mist);
  --ds-text-secondary: var(--ocean-steel);
  --ds-text-muted: color-mix(in srgb, var(--ocean-steel) 75%, var(--ocean-mist) 25%);
  --ds-primary: var(--ocean-steel);
  --ds-primary-hover: var(--ocean-mist);
  --ds-primary-soft: rgba(65, 113, 154, 0.22);
  --ds-accent: var(--ocean-steel);
  --ds-accent-hover: var(--ocean-mist);
  --ds-accent-muted: rgba(65, 113, 154, 0.18);
  --ds-border: rgba(65, 113, 154, 0.35);
  --ds-border-md: rgba(65, 113, 154, 0.45);
  --ds-border-strong: rgba(65, 113, 154, 0.55);
  --ds-glass-blur: 20px;
  --ds-glass-saturate: 128%;
  --ds-glass-rim: color-mix(in srgb, rgba(56, 189, 248, 0.35) 40%, rgba(65, 113, 154, 0.4) 60%);
  --ds-surface-gradient: rgba(18, 42, 78, 0.48);
  --ds-card-border: rgba(65, 113, 154, 0.35);
  --ds-card-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 0 0 1px rgba(65, 113, 154, 0.28),
    0 8px 40px rgba(14, 24, 42, 0.46),
    0 0 64px rgba(65, 113, 154, 0.18);
  --ds-card-shadow-hover:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    0 0 0 1px rgba(145, 184, 209, 0.35),
    0 12px 48px rgba(14, 24, 42, 0.5),
    0 0 72px rgba(145, 184, 209, 0.2);
  --ds-shell-bg: var(--ocean-deep);
  --ds-shell-blur: 18px;
  --ds-shell-border: transparent;
  --shadow-hairline: 0 0 0 1px rgba(65, 113, 154, 0.25);
  --ds-shell-shadow: var(--shadow-hairline), 0 8px 28px rgba(14, 24, 42, 0.4);

  --color-text-primary: var(--ocean-mist);
  --color-text-secondary: var(--ocean-steel);
  --color-text-tertiary: color-mix(in srgb, var(--ocean-steel) 62%, var(--ocean-mist) 38%);
  --color-text-disabled: color-mix(in srgb, var(--ocean-steel) 65%, transparent);
  --color-text-inverse: var(--ocean-deep);
  --color-accent: var(--ocean-glacier);
  --color-accent-hover: var(--ocean-white);
  --color-accent-subtle: rgba(65, 113, 154, 0.2);
  --color-accent-border: rgba(65, 113, 154, 0.4);
  --color-border: rgba(65, 113, 154, 0.35);
  --color-border-md: rgba(65, 113, 154, 0.45);
  --color-border-strong: rgba(65, 113, 154, 0.55);
  --color-surface-1: rgba(18, 42, 78, 0.48);
  --color-surface-2: rgba(16, 26, 44, 0.32);
  --color-surface-3: rgba(65, 113, 154, 0.15);
  --color-surface-4: rgba(65, 113, 154, 0.22);
  --color-bg-overlay: rgba(16, 26, 44, 0.72);
  --color-bg-hover: rgba(65, 113, 154, 0.12);
  --color-primary: var(--ocean-steel);
  --color-secondary: var(--ocean-mist);
  --color-background-pale: rgba(18, 42, 78, 0.32);

  --tbl-surface: color-mix(in srgb, rgba(10, 38, 68, 0.5) 88%, rgba(6, 22, 40, 0.35) 12%);
  --tbl-divider: rgba(65, 113, 154, 0.25);
  --tbl-divider-md: rgba(65, 113, 154, 0.35);
  --tbl-header-bg: var(--ocean-deep);
  --tbl-header-text: #41719a;
  --tbl-header-highlight: transparent;
  --tbl-header-rule: #41719a;
  --tbl-hover-bg: rgba(65, 113, 154, 0.18);
  --tbl-row-alt: rgba(16, 26, 44, 0.28);
  --tbl-text: #91b8d1;
  --tbl-text-sec: color-mix(in srgb, #41719a 55%, var(--ocean-mist) 45%);
  --tbl-radius: 14px;
  --tbl-header-font-size: 12px;
  --tbl-body-font-size: 15px;
  --tbl-cell-pad-y: 14px;
  --tbl-cell-pad-x: 18px;
  --tbl-header-pad-y: 13px;
  --tbl-shadow: var(--ds-card-shadow);
  --tbl-shadow-hover: var(--ds-card-shadow-hover);

  /* Unified table body planes (single scheme for every table on the site) */
  --tbl-body-bg: rgba(10, 33, 68, 0.45);
  --tbl-body-alt: rgba(6, 12, 28, 0.3);
  --tbl-body-hover: rgba(65, 113, 154, 0.18);
  --tbl-body-hover-text: #bdd8ed;
  --tbl-container-bg: rgba(18, 42, 78, 0.36);
  --tbl-container-border: rgba(65, 113, 154, 0.38);
  --tbl-container-glow: 0 18px 56px rgba(14, 24, 42, 0.48), 0 0 88px rgba(65, 113, 154, 0.22);

  --ds-search-bg: rgba(18, 42, 78, 0.42);
  --ds-search-border: rgba(65, 113, 154, 0.35);
  --ds-search-focus-bg: rgba(65, 113, 154, 0.15);

  --btn-primary-bg: #41719a;
  --btn-primary-bg-hover: #91b8d1;
  --btn-primary-fg: #ffffff;
  --btn-secondary-bg: transparent;
  --btn-secondary-fg: #91b8d1;
  --btn-surface: rgba(18, 42, 78, 0.42);
  --btn-surface-hover: rgba(65, 113, 154, 0.2);
  --btn-text-ui: var(--ocean-mist);
  --btn-border-slate: rgba(65, 113, 154, 0.55);
  --btn-danger-bg: #dc2626;
  --btn-danger-bg-hover: #b91c1c;
  --btn-danger-fg: #ffffff;

  --color-success: #4ade80;
  --color-success-bg: rgba(74, 222, 128, 0.12);
  --color-success-subtle: rgba(74, 222, 128, 0.1);
  --color-error: #f87171;
  --color-error-light: #fca5a5;
  --color-error-bg: rgba(248, 113, 113, 0.14);
  --color-warning: #fbbf24;
  --color-warning-bg: rgba(251, 191, 36, 0.12);
  --color-info: var(--ocean-mist);

  --spacing-1: 8px;
  --spacing-2: 16px;
  --spacing-3: 24px;
  --spacing-4: 32px;
  --spacing-5: 40px;
  --spacing-6: 48px;
  --spacing-7: 56px;
  --spacing-8: 64px;

  --radius-sm: 8px;
  --radius: 14px;
  --radius-md: 14px;
  --radius-lg: 14px;
  --radius-xl: 16px;
  --control-radius: 8px;

  --font-primary: 'DM Sans', 'Inter', system-ui, -apple-system, sans-serif;
  --font-secondary: 'DM Sans', 'Inter', system-ui, -apple-system, sans-serif;

  --font-size-xs: 12px;
  --font-size-sm: 13px;
  --font-size-base: 16px;
  --font-size-md: 16px;
  --font-size-lg: 17px;
  --font-size-xl: 21px;
  --font-size-2xl: 28px;
  --font-size-3xl: 34px;
  --line-height-tight: 1.18;
  --line-height-normal: 1.58;
  --line-height-relaxed: 1.68;

  --transition-fast: 0.15s ease;
  --transition-base: 0.2s ease;
  --transition-slow: 0.2s ease;

  --bs-body-color: #91b8d1;
  --bs-body-bg: transparent;
  --bs-secondary-color: #41719a;
  --bs-secondary-bg: rgba(18, 42, 78, 0.32);
  --bs-border-color: rgba(65, 113, 154, 0.35);
  --bs-emphasis-color: var(--ocean-glacier);
  --bs-heading-color: var(--ocean-glacier);
}

html {
  color-scheme: dark;
  background-color: var(--ocean-abyss);
}

html[data-theme="light"],
html[data-bs-theme="light"],
html[data-theme="dark"],
html[data-bs-theme="dark"] {
  background-color: var(--ocean-abyss);
}

.global-topbar,
.injected-global-topbar {
  color: var(--ocean-mist);
  background: color-mix(
    in srgb,
    rgba(8, 36, 62, 0.55) 72%,
    rgba(6, 28, 48, 0.38) 28%
  ) !important;
  border: 1px solid color-mix(in srgb, var(--ocean-sky) 32%, rgba(65, 113, 154, 0.35) 68%) !important;
  backdrop-filter: blur(22px) saturate(148%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(148%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    0 8px 36px rgba(4, 12, 24, 0.45),
    0 0 0 1px rgba(56, 189, 248, 0.12),
    0 0 52px rgba(56, 189, 248, 0.18),
    0 0 96px rgba(56, 189, 248, 0.08) !important;
}

[data-theme="light"] .global-topbar,
[data-theme="light"] .injected-global-topbar,
[data-bs-theme="light"] .global-topbar,
[data-bs-theme="light"] .injected-global-topbar {
  color: var(--ocean-deep);
  background: color-mix(
    in srgb,
    rgba(248, 252, 255, 0.82) 55%,
    rgba(224, 242, 254, 0.62) 45%
  ) !important;
  border: 1px solid color-mix(in srgb, var(--ocean-sky) 22%, rgba(148, 163, 184, 0.38) 78%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.92),
    0 8px 28px rgba(15, 50, 80, 0.12),
    0 0 0 1px rgba(56, 189, 248, 0.14),
    0 0 48px rgba(56, 189, 248, 0.14) !important;
}

.global-topbar .sidebar-brand-main,
.injected-global-topbar .sidebar-brand-main,
[data-theme="light"] .global-topbar .sidebar-brand-main {
  color: var(--ocean-glacier) !important;
}

/* Full-page texture + fixed veil */
body::before {
  background-color: var(--ocean-abyss);
  background-image:
    linear-gradient(var(--ocean-veil), var(--ocean-veil)),
    var(--ocean-texture),
    radial-gradient(
      ellipse 120% 85% at 50% 32%,
      color-mix(in srgb, #124060 42%, #0a1a30 58%) 0%,
      var(--ocean-abyss) 52%,
      color-mix(in srgb, var(--ocean-abyss) 88%, #042f3d 12%) 100%
    );
  background-size: cover, cover, cover;
  background-position: center, center, center;
  background-repeat: no-repeat;
  background-attachment: fixed, fixed, fixed;
}

body::after {
  opacity: 0.03;
  background-image:
    linear-gradient(rgba(65, 113, 154, 0.4) 1px, transparent 1px),
    linear-gradient(90deg, rgba(65, 113, 154, 0.4) 1px, transparent 1px);
  background-size: 8px 8px;
}

h1, h2, h3 {
  color: var(--ocean-glacier);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.03em;
}

h4 {
  color: var(--ocean-glacier);
  font-weight: 600;
}

h5 {
  color: color-mix(in srgb, var(--ocean-steel) 28%, var(--ocean-mist) 72%);
  font-weight: 600;
}

h6 {
  color: color-mix(in srgb, var(--ocean-steel) 40%, var(--ocean-mist) 60%);
  font-weight: 600;
}

a {
  color: var(--ocean-glacier);
  transition: color 0.2s ease;
}
a:hover {
  color: var(--ocean-white);
}

/* —— sidebar —— glass + cyan rim glow (global shell) */
.sidebar {
  background: color-mix(
    in srgb,
    rgba(8, 38, 66, 0.58) 68%,
    rgba(4, 24, 42, 0.42) 32%
  ) !important;
  border-right: 1px solid color-mix(in srgb, var(--ocean-sky) 28%, rgba(65, 113, 154, 0.42) 72%) !important;
  border-left: none !important;
  backdrop-filter: blur(24px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(150%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    0 0 0 1px rgba(56, 189, 248, 0.1),
    0 0 56px rgba(56, 189, 248, 0.2),
    0 0 100px rgba(56, 189, 248, 0.09),
    0 14px 44px rgba(4, 10, 22, 0.55) !important;
}

[data-theme="light"] .sidebar,
[data-bs-theme="light"] .sidebar {
  background: color-mix(in srgb, rgba(232, 243, 252, 0.82), rgba(200, 228, 246, 0.45)) !important;
  border-right-color: color-mix(in srgb, var(--ocean-sky) 22%, rgba(100, 130, 160, 0.35) 78%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.85),
    0 0 0 1px rgba(56, 189, 248, 0.14),
    0 12px 40px rgba(15, 40, 70, 0.12),
    0 0 48px rgba(56, 189, 248, 0.12) !important;
}

.sidebar .sidebar-l1-link,
.sidebar .sidebar-l2,
.sidebar .sidebar-l1 {
  color: #91b8d1 !important;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.sidebar .sidebar-l1-link:hover,
.sidebar .sidebar-l2:hover,
.sidebar .sidebar-l1:hover {
  color: #bdd8ed !important;
}

.sidebar-l1-split-row:hover,
.sidebar-l1:hover {
  background: rgba(145, 184, 209, 0.08) !important;
}

.sidebar .sidebar-l1-link:hover {
  background: transparent !important;
}

/* Parent row highlight — only when no active sub-item (avoids double boxing) */
.sidebar-l1-split-row.active:not(:has(.sidebar-l2-group .sidebar-l2.active)),
.sidebar-l1.active {
  background: rgba(65, 113, 154, 0.2) !important;
  box-shadow: none !important;
}

.sidebar-l1-split-row.active:not(:has(.sidebar-l2-group .sidebar-l2.active)) > .sidebar-l1-link,
.sidebar-l1-split-row.active:not(:has(.sidebar-l2-group .sidebar-l2.active)) .sidebar-l1-icon,
.sidebar-l1-split-row.active:not(:has(.sidebar-l2-group .sidebar-l2.active)) .sidebar-l1-emoji,
.sidebar-l1-split-row.active:not(:has(.sidebar-l2-group .sidebar-l2.active)) .sidebar-l1-glyph,
.sidebar-l1.active .sidebar-l1-icon,
.sidebar-l1.active .sidebar-l1-emoji,
.sidebar-l1.active .sidebar-l1-glyph,
.sidebar-l1.active {
  color: #bdd8ed !important;
}

/* When a child L2 is active: quiet parent row (single highlight on sub-item) */
.sidebar-l1-split-row.active:has(.sidebar-l2-group .sidebar-l2.active) {
  background: transparent !important;
  box-shadow: none !important;
}

.sidebar-l1-split-row.active:has(.sidebar-l2-group .sidebar-l2.active) > .sidebar-l1-link {
  color: #91b8d1 !important;
  font-weight: 500 !important;
}

.sidebar-l1-split-row.active:has(.sidebar-l2-group .sidebar-l2.active) .sidebar-l1-emoji,
.sidebar-l1-split-row.active:has(.sidebar-l2-group .sidebar-l2.active) .sidebar-l1-glyph .sidebar-l1-glyph-svg {
  filter: drop-shadow(0 0 10px rgba(145, 184, 209, 0.35));
  opacity: 1;
}

.sidebar .sidebar-l1-chevron-btn {
  color: inherit !important;
}

.sidebar-l1-emoji {
  font-size: 1.125rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  filter: drop-shadow(0 0 8px rgba(100, 180, 220, 0.35));
}

.sidebar-l1-glyph .sidebar-l1-glyph-svg {
  filter: drop-shadow(0 0 8px rgba(100, 180, 220, 0.28));
  transition: filter 0.2s ease, transform 0.2s ease;
}

.sidebar .sidebar-l1-link:hover .sidebar-l1-emoji,
.sidebar-l1:hover .sidebar-l1-emoji,
.sidebar .sidebar-l1-link:hover .sidebar-l1-glyph .sidebar-l1-glyph-svg,
.sidebar-l1:hover .sidebar-l1-glyph .sidebar-l1-glyph-svg {
  filter: drop-shadow(0 0 12px rgba(189, 216, 237, 0.45));
  transform: scale(1.06);
}

.sidebar .sidebar-section-label {
  color: rgba(145, 184, 209, 0.75) !important;
}

.sidebar .sidebar-brand-main,
.sidebar .sidebar-brand-sub {
  color: var(--ocean-glacier) !important;
}

.sidebar-footer,
[data-theme="light"] .sidebar-footer {
  border-top-color: rgba(65, 113, 154, 0.35) !important;
}

.sidebar .sidebar-user-name {
  color: var(--ocean-glacier) !important;
}

.sidebar .sidebar-user-role {
  color: var(--ocean-steel) !important;
}

.sidebar .sidebar-user-avatar {
  background: linear-gradient(145deg, var(--ocean-steel), color-mix(in srgb, var(--ocean-deep) 72%, var(--ocean-steel) 28%)) !important;
  color: var(--ocean-glacier) !important;
  border: 1px solid rgba(145, 184, 209, 0.35);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.sidebar-l1.active::before,
.sidebar-l1-split-row.active::before {
  display: none !important;
}

.sidebar-l2.active {
  background: rgba(65, 113, 154, 0.22) !important;
  box-shadow: none !important;
  color: #bdd8ed !important;
  border: 1px solid rgba(145, 184, 209, 0.12);
}

/* —— Client portfolio: hero title + account overview tiles (glass + glow) —— */
.client-portfolio-shell .dash-client-title,
.master-data-body .dash-client-title,
.login-info-wrap .dash-client-title {
  font-size: clamp(1.9rem, 3.6vw, 2.65rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.1;
  color: var(--ocean-glacier) !important;
  text-shadow:
    0 0 52px rgba(145, 184, 209, 0.5),
    0 0 20px rgba(65, 113, 154, 0.35),
    0 1px 0 rgba(6, 12, 28, 0.45);
}

/* Brokers Portal — glass tiles + luminous title */
.login-info-wrap .li-card.li-card--glass {
  background: color-mix(in srgb, rgba(10, 33, 68, 0.72) 88%, rgba(8, 50, 72, 0.25) 12%) !important;
  border: 1px solid rgba(145, 184, 209, 0.38) !important;
  backdrop-filter: blur(22px) saturate(135%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(135%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    0 0 0 1px rgba(56, 189, 248, 0.18),
    0 22px 56px -16px rgba(6, 12, 28, 0.62),
    0 0 56px -10px rgba(56, 189, 248, 0.22) !important;
}
.login-info-wrap .li-card.li-card--glass:hover {
  border-color: rgba(145, 184, 209, 0.52) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    0 0 0 1px rgba(56, 189, 248, 0.32),
    0 28px 64px -14px rgba(6, 12, 28, 0.55),
    0 0 72px -6px rgba(56, 189, 248, 0.3) !important;
}
.login-info-wrap .li-card-header .li-card-title-name {
  color: var(--ocean-glacier) !important;
  text-shadow:
    0 0 40px rgba(145, 184, 209, 0.45),
    0 0 14px rgba(65, 113, 154, 0.35),
    0 1px 0 rgba(6, 12, 28, 0.45);
}
.login-info-wrap .li-card-panel,
.login-info-wrap .li-card-panel--notes {
  background: color-mix(in srgb, rgba(12, 28, 52, 0.55) 65%, transparent) !important;
  border-color: rgba(65, 113, 154, 0.32) !important;
}

/* Brokers Portal — higher-contrast copy + controls (glass tiles) */
.login-info-wrap .li-card-eyebrow {
  color: rgba(189, 216, 237, 0.92) !important;
  opacity: 1 !important;
}
.login-info-wrap .li-card-panel-title {
  font-size: 12px !important;
  letter-spacing: 0.09em !important;
  color: var(--ocean-glacier) !important;
  border-bottom-color: rgba(145, 184, 209, 0.42) !important;
}

/* Broker tiles: sentence-case titles + larger controls (override generic login-info title row) */
.login-info-wrap .li-card--broker .li-card-panel-title {
  font-size: 0.9375rem !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  color: var(--ocean-glacier) !important;
}
.login-info-wrap .li-card--broker .li-field-label {
  font-size: 13px !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  font-weight: 600 !important;
}
.login-info-wrap .li-card--broker .li-input,
.login-info-wrap .li-card--broker select.li-input {
  font-size: 15px !important;
  min-height: 46px !important;
  padding: 12px 14px !important;
  border-radius: 12px !important;
}
.login-info-wrap .li-card--broker .li-value-display {
  font-size: 15px !important;
  background: rgba(8, 22, 44, 0.58) !important;
  border: 1px solid rgba(145, 184, 209, 0.4) !important;
  color: #f0f7fc !important;
}
.login-info-wrap .li-card--broker .li-card-panel--portal {
  border-left: 3px solid rgba(56, 189, 248, 0.78) !important;
}
.login-info-wrap .li-card--broker .li-card-panel--security {
  border-left: 3px solid rgba(129, 140, 248, 0.78) !important;
}
.login-info-wrap .li-card--broker .li-card-panel--account {
  border-left: 3px solid rgba(45, 212, 191, 0.75) !important;
}
.login-info-wrap .li-card--broker .li-card-panel--notes {
  border-left: 3px solid rgba(251, 191, 36, 0.65) !important;
}
.login-info-wrap .li-card--broker .li-card-status-pill {
  font-size: 11px !important;
  line-height: 1.38 !important;
  white-space: normal !important;
  text-align: left !important;
  max-width: min(100%, 20rem) !important;
}

.login-info-wrap .li-field-label {
  font-size: 12px !important;
  font-weight: 650 !important;
  letter-spacing: 0.07em !important;
  color: rgba(220, 236, 248, 0.92) !important;
}
.login-info-wrap .li-input {
  font-size: 14px !important;
  line-height: 1.45 !important;
  color: #f0f7fc !important;
  background: rgba(8, 20, 42, 0.62) !important;
  border: 1px solid rgba(145, 184, 209, 0.38) !important;
}
.login-info-wrap .li-input:hover,
.login-info-wrap .li-input:focus {
  border-color: rgba(189, 216, 237, 0.58) !important;
  background: rgba(10, 28, 52, 0.72) !important;
  color: #ffffff !important;
}
.login-info-wrap .li-input[readonly] {
  background: rgba(6, 18, 38, 0.55) !important;
  color: rgba(230, 242, 252, 0.88) !important;
}
.login-info-wrap select.li-input {
  cursor: pointer !important;
  color-scheme: dark !important;
}
.login-info-wrap select.li-input option,
.login-info-wrap select.li-input optgroup {
  background-color: #0a1528 !important;
  color: #f1f5f9 !important;
}
.login-info-wrap .li-icon-btn {
  background: rgba(65, 113, 154, 0.36) !important;
  border-color: rgba(145, 184, 209, 0.48) !important;
  color: #f0f7fc !important;
  font-size: 13px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1 !important;
}
.login-info-wrap .li-icon-btn:hover {
  color: #ffffff !important;
  background: rgba(65, 113, 154, 0.52) !important;
  border-color: rgba(189, 216, 237, 0.65) !important;
}
.login-info-wrap .li-icon-btn.li-icon-btn--save {
  background: linear-gradient(
    165deg,
    color-mix(in srgb, #22c55e 82%, #ffffff 18%) 0%,
    #22c55e 48%,
    #15803d 100%
  ) !important;
  border: 1px solid color-mix(in srgb, #22c55e 55%, #0f172a 45%) !important;
  color: #ffffff !important;
  font-size: 13px !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    0 2px 14px rgba(34, 197, 94, 0.32) !important;
}
.login-info-wrap .li-icon-btn.li-icon-btn--save:hover {
  background: linear-gradient(165deg, #4ade80, #16a34a) !important;
  color: #ffffff !important;
  border-color: #86efac !important;
}
.login-info-wrap .li-checkbox-label,
.login-info-wrap .li-promo-checks-stack label {
  font-size: 14px !important;
  color: rgba(236, 245, 252, 0.95) !important;
}
.login-info-wrap .li-promo-readonly-summary {
  color: rgba(200, 222, 238, 0.9) !important;
}

/* Metatrader — floating glass tiles (Brokers Portal family) */
.login-info-wrap .li-card--metatrader.li-card--glass {
  background: color-mix(in srgb, rgba(10, 33, 68, 0.72) 88%, rgba(8, 50, 72, 0.25) 12%) !important;
  border: 1px solid rgba(145, 184, 209, 0.38) !important;
  backdrop-filter: blur(22px) saturate(135%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(135%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    0 0 0 1px rgba(56, 189, 248, 0.18),
    0 22px 56px -16px rgba(6, 12, 28, 0.62),
    0 0 56px -10px rgba(56, 189, 248, 0.22) !important;
}
.login-info-wrap .li-card--metatrader.li-card--glass:hover {
  border-color: rgba(145, 184, 209, 0.52) !important;
  transform: translateY(-4px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    0 0 0 1px rgba(56, 189, 248, 0.32),
    0 28px 64px -14px rgba(6, 12, 28, 0.55),
    0 0 72px -6px rgba(56, 189, 248, 0.3) !important;
}
.login-info-wrap .li-mt-dl dt {
  color: rgba(180, 210, 232, 0.9) !important;
}
.login-info-wrap .li-mt-dl dd {
  color: #f0f7fc !important;
  font-weight: 800 !important;
}
.login-info-wrap .li-mt-pw-kicker {
  color: rgba(180, 210, 232, 0.9) !important;
}

.client-trading-tabs .account-overview-row {
  background: color-mix(in srgb, rgba(10, 33, 68, 0.62) 85%, transparent) !important;
  border: 1px solid rgba(145, 184, 209, 0.34) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 0 0 1px rgba(65, 113, 154, 0.28),
    0 14px 46px -12px rgba(6, 12, 28, 0.58),
    0 0 64px -8px rgba(65, 113, 154, 0.22) !important;
  backdrop-filter: blur(20px) saturate(135%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(135%) !important;
}

.client-trading-tabs .account-overview-row:hover {
  border-color: rgba(145, 184, 209, 0.5) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.15),
    0 0 0 1px rgba(145, 184, 209, 0.32),
    0 18px 56px -12px rgba(14, 24, 42, 0.54),
    0 0 80px -6px rgba(145, 184, 209, 0.28) !important;
}

.client-trading-tabs .account-overview-equity-hero {
  background: linear-gradient(
    145deg,
    color-mix(in srgb, #5ee4a4 22%, rgba(10, 33, 68, 0.4)),
    color-mix(in srgb, var(--ocean-steel) 35%, rgba(10, 33, 68, 0.35))
  ) !important;
  border-color: color-mix(in srgb, #5ee4a4 45%, var(--ocean-steel) 55%) !important;
  box-shadow:
    0 0 44px -6px rgba(94, 228, 164, 0.45),
    0 0 1px rgba(94, 228, 164, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.16) !important;
}

.client-trading-tabs .account-overview-equity-hero-value {
  color: #b8ffd8 !important;
  text-shadow: 0 0 22px rgba(94, 228, 164, 0.45);
}

.client-trading-tabs .account-overview-equity-hero-label {
  color: color-mix(in srgb, var(--ocean-glacier) 65%, #5ee4a4 35%) !important;
}

/* Account card: broker name reads as a title (not table body tint) */
.client-trading-tabs .account-overview-broker {
  color: var(--ocean-glacier) !important;
  font-weight: 800;
  font-size: clamp(1.2rem, 0.75vw + 1.05rem, 1.45rem);
  letter-spacing: -0.03em;
  text-shadow:
    0 0 40px rgba(145, 184, 209, 0.45),
    0 0 18px rgba(65, 113, 154, 0.35),
    0 1px 0 rgba(6, 12, 28, 0.45);
}

/* HANA tab — glass cards (classic 2×2 metrics layout; broker title emphasized) */
.client-trading-tabs .hana-card {
  border: 1px solid rgba(145, 184, 209, 0.38) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 0 0 1px rgba(56, 189, 248, 0.16),
    0 20px 56px -14px rgba(6, 12, 28, 0.58),
    0 0 72px -8px rgba(65, 113, 154, 0.22),
    inset 8px 0 32px -14px var(--hana-status-glow, rgba(91, 143, 176, 0.14)) !important;
}
.client-trading-tabs .hana-card:hover {
  border-color: rgba(145, 184, 209, 0.5) !important;
}
.client-trading-tabs .hana-card-broker {
  font-size: clamp(1.38rem, 2.9vw, 1.92rem) !important;
  font-weight: 800 !important;
  color: var(--ocean-glacier) !important;
  text-shadow:
    0 0 40px rgba(145, 184, 209, 0.42),
    0 0 14px rgba(65, 113, 154, 0.32),
    0 1px 0 rgba(6, 12, 28, 0.45);
}
.client-trading-tabs .hana-money-label {
  color: var(--ocean-steel) !important;
  opacity: 0.95;
}
.client-trading-tabs .hana-money-value {
  color: var(--ocean-glacier) !important;
  font-weight: 800 !important;
  font-size: clamp(1rem, 0.55vw + 0.85rem, 1.15rem) !important;
  text-shadow:
    0 0 28px rgba(145, 184, 209, 0.28),
    0 1px 0 rgba(6, 12, 28, 0.45);
}
.client-trading-tabs .category-delta-tile-orderbar--in-tab {
  margin-bottom: 16px;
}

/* —— Table containers (glass shell + glow) —— */
.table-container,
.brokers-table-container,
.standard-table-wrap,
.users-table-container,
.broker-tbl-wrap,
.section-card-table-panel,
.md-docs-table-viewport,
.ui-card,
.section-card {
  background: var(--tbl-container-bg) !important;
  border: 1px solid var(--tbl-container-border) !important;
  border-radius: var(--tbl-radius) !important;
  backdrop-filter: blur(20px) saturate(135%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(135%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 0 0 1px rgba(65, 113, 154, 0.24),
    var(--tbl-container-glow) !important;
}

.tabs-container.client-trading-tabs .tab-content .section-card-table-panel {
  background: var(--tbl-container-bg) !important;
  border: 1px solid var(--tbl-container-border) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.09),
    0 0 0 1px rgba(65, 113, 154, 0.24),
    var(--tbl-container-glow) !important;
}

/* All dashboard tables share one selector set */
:is(
  .table,
  .data-table,
  .standard-data-table,
  .brokers-table,
  .ft-table,
  .cm-table,
  .login-info-table,
  .md-table,
  .md-readonly-table,
  .md-master-docs-table,
  .md-documents-simple-table,
  .bt-def-table,
  .modern-table,
  .users-table,
  .broker-tbl,
  .broker-directory-table,
  .if-features-table,
  .cr-client-reports-table,
  .cr-data-collection-table,
  .tr-daily-reports-data,
  #tr-daily-reports-tbl
) {
  background: transparent !important;
  border-collapse: separate;
  border-spacing: 0;
}

/* —— Table header —— */
:is(
  .table,
  .data-table,
  .standard-data-table,
  .brokers-table,
  .ft-table,
  .cm-table,
  .login-info-table,
  .md-table,
  .md-readonly-table,
  .bt-def-table,
  .modern-table,
  .users-table,
  .broker-tbl,
  .broker-directory-table,
  .if-features-table,
  .cr-client-reports-table,
  .cr-data-collection-table,
  .tr-daily-reports-data,
  #tr-daily-reports-tbl
) thead {
  background: var(--ocean-deep) !important;
}

:is(
  .table,
  .data-table,
  .standard-data-table,
  .brokers-table,
  .ft-table,
  .cm-table,
  .login-info-table,
  .md-table,
  .md-readonly-table,
  .bt-def-table,
  .modern-table,
  .users-table,
  .broker-tbl,
  .broker-directory-table,
  .if-features-table,
  .cr-client-reports-table,
  .cr-data-collection-table,
  .tr-daily-reports-data,
  #tr-daily-reports-tbl
) thead th {
  background: var(--ocean-deep) !important;
  color: var(--tbl-text-sec) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  font-size: var(--tbl-header-font-size) !important;
  font-weight: 600 !important;
  border-bottom: 2px solid #41719a !important;
  border-top: none !important;
  vertical-align: middle;
  transition: color 0.2s ease, border-color 0.2s ease;
}

:is(
  .table,
  .data-table,
  .standard-data-table,
  .brokers-table,
  .ft-table,
  .cm-table,
  .login-info-table,
  .md-table,
  .md-readonly-table,
  .bt-def-table,
  .modern-table,
  .users-table,
  .broker-tbl,
  .broker-directory-table,
  .if-features-table,
  .cr-client-reports-table,
  .cr-data-collection-table,
  .tr-daily-reports-data,
  #tr-daily-reports-tbl
) thead th:hover {
  color: #91b8d1 !important;
  background: var(--ocean-deep) !important;
}

/* Sort affordance: small chevron (overrides hidden glyphs) */
.data-table thead th[data-sort-type]:not([data-no-sort])::after,
.standard-data-table thead th[data-sort-type]:not([data-no-sort])::after,
.brokers-table thead th[data-sort-type]:not([data-no-sort])::after,
.ft-table thead th[data-sort-type]:not([data-no-sort])::after,
.table thead th.sortable::after,
.data-table thead th.sortable::after {
  display: inline-block !important;
  margin-left: 6px;
  font-size: 11px;
  content: '▾';
  color: #41719a;
  opacity: 0.85;
  vertical-align: middle;
}

.data-table thead th[data-sort-type]:not([data-no-sort]):hover::after,
.standard-data-table thead th[data-sort-type]:not([data-no-sort]):hover::after,
.brokers-table thead th[data-sort-type]:not([data-no-sort]):hover::after,
.ft-table thead th[data-sort-type]:not([data-no-sort]):hover::after {
  color: #91b8d1 !important;
}

/* —— Table body glass rows — unified zebra on every table —— */
:is(
  .table,
  .data-table,
  .standard-data-table,
  .brokers-table,
  .ft-table,
  .cm-table,
  .login-info-table,
  .md-table,
  .md-readonly-table,
  .bt-def-table,
  .modern-table,
  .users-table,
  .broker-tbl,
  .broker-directory-table,
  .if-features-table,
  .cr-client-reports-table,
  .cr-data-collection-table,
  .tr-daily-reports-data,
  #tr-daily-reports-tbl
) tbody td {
  background: var(--tbl-body-bg) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: var(--tbl-text) !important;
  font-size: var(--tbl-body-font-size);
  line-height: 1.5;
  border-color: rgba(65, 113, 154, 0.25) !important;
  border-top: 1px solid rgba(65, 113, 154, 0.2) !important;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

:is(
  .table,
  .data-table,
  .standard-data-table,
  .brokers-table,
  .ft-table,
  .cm-table,
  .login-info-table,
  .md-table,
  .md-readonly-table,
  .bt-def-table,
  .modern-table,
  .users-table,
  .broker-tbl,
  .broker-directory-table,
  .if-features-table,
  .cr-client-reports-table,
  .cr-data-collection-table,
  .tr-daily-reports-data,
  #tr-daily-reports-tbl
) tbody tr:nth-child(even) td {
  background: var(--tbl-body-alt) !important;
}

:is(
  .table,
  .data-table,
  .standard-data-table,
  .brokers-table,
  .ft-table,
  .cm-table,
  .login-info-table,
  .md-table,
  .md-readonly-table,
  .bt-def-table,
  .modern-table,
  .users-table,
  .broker-tbl,
  .broker-directory-table,
  .if-features-table,
  .cr-client-reports-table,
  .cr-data-collection-table,
  .tr-daily-reports-data,
  #tr-daily-reports-tbl
) tbody tr:hover td {
  background: var(--tbl-body-hover) !important;
  color: var(--tbl-body-hover-text) !important;
}

:is(
  .table,
  .data-table,
  .standard-data-table,
  .brokers-table,
  .ft-table,
  .cm-table,
  .login-info-table,
  .md-table,
  .md-readonly-table,
  .bt-def-table,
  .modern-table,
  .users-table,
  .broker-tbl,
  .broker-directory-table,
  .if-features-table,
  .cr-client-reports-table,
  .cr-data-collection-table,
  .tr-daily-reports-data,
  #tr-daily-reports-tbl
) tbody tr:hover td * {
  color: var(--tbl-body-hover-text) !important;
}

.table .cell-number,
.data-table .equity-value,
.table .equity-value,
.standard-data-table .equity-value {
  color: #ffffff !important;
}

/* —— KPI / metric cards —— */
.stat-card,
[data-theme="light"] .stat-card {
  background: rgba(10, 33, 68, 0.45) !important;
  border: 1px solid rgba(65, 113, 154, 0.38) !important;
  border-radius: 14px !important;
  backdrop-filter: blur(18px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 8px 36px rgba(6, 12, 28, 0.45),
    0 0 56px rgba(65, 113, 154, 0.14) !important;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.stat-card:hover {
  border-color: #91b8d1 !important;
  background: rgba(65, 113, 154, 0.22) !important;
  box-shadow:
    0 0 24px rgba(145, 184, 209, 0.18),
    0 0 48px rgba(65, 113, 154, 0.15) !important;
  transform: translateY(-2px);
}

.stat-card-label,
.stat-card-title,
[data-theme="light"] .stat-card-label,
[data-theme="light"] .stat-card-title {
  color: #41719a !important;
  font-size: 12px !important;
}

.stat-card-value,
[data-theme="light"] .stat-card-value {
  color: #ffffff !important;
  font-size: 28px !important;
  font-weight: 500 !important;
}

.stat-card-change,
.stat-card-subtitle {
  color: var(--ocean-steel) !important;
}

/* Tiles */
.dash-tile {
  background: rgba(10, 33, 68, 0.45) !important;
  border: 1px solid rgba(65, 113, 154, 0.38) !important;
  border-radius: 14px !important;
  backdrop-filter: blur(18px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 6px 32px rgba(6, 12, 28, 0.45),
    0 0 48px rgba(65, 113, 154, 0.12) !important;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.dash-tile:hover {
  border-color: #91b8d1 !important;
  background: rgba(65, 113, 154, 0.22) !important;
  box-shadow:
    0 0 24px rgba(145, 184, 209, 0.16),
    0 0 56px rgba(65, 113, 154, 0.18) !important;
  filter: none;
}

.dash-tile-title {
  color: var(--ocean-glacier) !important;
}

.dash-tile-desc {
  color: var(--ocean-mist) !important;
}

[data-theme="light"] .module-card {
  background: rgba(10, 33, 68, 0.45) !important;
  border: 1px solid rgba(65, 113, 154, 0.38) !important;
  border-radius: 14px !important;
  backdrop-filter: blur(18px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 6px 32px rgba(6, 12, 28, 0.45),
    0 0 48px rgba(65, 113, 154, 0.12) !important;
}

/* —— Buttons (glass / frosted — non-submit primary; submit stays green below) —— */
button.btn-primary[type="button"],
input.btn-primary[type="button"],
.btn-primary[type="reset"],
a.btn-primary,
.table td a.btn-primary,
.data-table td a.btn-primary {
  background: rgba(65, 113, 154, 0.42) !important;
  color: #ffffff !important;
  border: 1px solid rgba(145, 184, 209, 0.5) !important;
  border-radius: 10px !important;
  backdrop-filter: blur(14px) saturate(135%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(135%) !important;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    0 4px 22px rgba(6, 12, 28, 0.42) !important;
}

button.btn-primary[type="button"]:hover,
input.btn-primary[type="button"]:hover,
.btn-primary[type="reset"]:hover,
a.btn-primary:hover,
.table td a.btn-primary:hover,
.data-table td a.btn-primary:hover {
  background: rgba(145, 184, 209, 0.38) !important;
  color: var(--ocean-deep) !important;
  border-color: rgba(189, 216, 237, 0.75) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 6px 28px rgba(6, 12, 28, 0.48) !important;
}

/* Submit / Save — green CTA (ocean --color-success is glacier blue; use real greens) */
button[type="submit"].btn.btn-primary,
input[type="submit"].btn.btn-primary,
button.btn.btn-primary:not([type]) {
  background: linear-gradient(
    165deg,
    color-mix(in srgb, #22c55e 82%, #ffffff 18%) 0%,
    #22c55e 45%,
    color-mix(in srgb, #16a34a 92%, #000 8%) 100%
  ) !important;
  border: 1px solid color-mix(in srgb, #22c55e 55%, #0f172a 45%) !important;
  color: #ffffff !important;
  backdrop-filter: blur(14px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(140%) !important;
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #ffffff 38%, transparent),
    0 4px 22px color-mix(in srgb, #22c55e 32%, transparent),
    0 0 28px rgba(34, 197, 94, 0.28) !important;
  font-weight: 600 !important;
}
button[type="submit"].btn.btn-primary:hover,
input[type="submit"].btn.btn-primary:hover,
button.btn.btn-primary:not([type]):hover {
  background: linear-gradient(
    165deg,
    color-mix(in srgb, #22c55e 72%, #ffffff 28%) 0%,
    color-mix(in srgb, #22c55e 88%, #000 12%) 100%
  ) !important;
  border-color: color-mix(in srgb, #22c55e 48%, #0f172a 52%) !important;
  color: #ffffff !important;
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #ffffff 45%, transparent),
    0 6px 28px color-mix(in srgb, #22c55e 40%, transparent),
    0 0 36px rgba(74, 222, 128, 0.35) !important;
}
button[type="submit"].btn.btn-primary:focus-visible,
input[type="submit"].btn.btn-primary:focus-visible,
button.btn.btn-primary:not([type]):focus-visible {
  outline: 2px solid color-mix(in srgb, #22c55e 65%, #fff 35%) !important;
  outline-offset: 2px !important;
}

/* Save changes — green CTA globally (primary actions stay navy) */
.md-save-changes-btn,
.btn-save-changes {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, #34d399 55%, #16a34a),
    #15803d
  ) !important;
  color: #ffffff !important;
  border: 1px solid color-mix(in srgb, #86efac 42%, #166534) !important;
  border-radius: 10px !important;
  backdrop-filter: blur(14px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(140%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 4px 22px rgba(6, 12, 28, 0.42),
    0 0 28px rgba(34, 197, 94, 0.28) !important;
  font-weight: 600 !important;
}
.md-save-changes-btn:hover,
.btn-save-changes:hover {
  background: linear-gradient(180deg, #4ade80, #16a34a) !important;
  color: #ffffff !important;
  border-color: #bbf7d0 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    0 6px 28px rgba(6, 12, 28, 0.48),
    0 0 36px rgba(74, 222, 128, 0.35) !important;
}

.btn-outline,
.btn-outline-secondary {
  background: rgba(10, 33, 68, 0.4) !important;
  color: #91b8d1 !important;
  border: 1px solid rgba(65, 113, 154, 0.52) !important;
  border-radius: 10px !important;
  backdrop-filter: blur(14px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(130%) !important;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 3px 18px rgba(6, 12, 28, 0.38) !important;
}

.btn-outline:hover,
.btn-outline-secondary:hover {
  background: rgba(65, 113, 154, 0.22) !important;
  border-color: #bdd8ed !important;
  color: #bdd8ed !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 5px 24px rgba(6, 12, 28, 0.42) !important;
}

.btn-success,
.table td a.btn-success {
  background: rgba(65, 113, 154, 0.38) !important;
  color: #ffffff !important;
  border: 1px solid rgba(65, 113, 154, 0.55) !important;
  border-radius: 10px !important;
  backdrop-filter: blur(14px) saturate(135%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(135%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 4px 20px rgba(6, 12, 28, 0.4) !important;
}

.btn-success:hover,
.table td a.btn-success:hover {
  background: rgba(145, 184, 209, 0.36) !important;
  color: var(--ocean-deep) !important;
  border-color: rgba(189, 216, 237, 0.7) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    0 6px 26px rgba(6, 12, 28, 0.45) !important;
}

.btn-secondary {
  background: rgba(10, 33, 68, 0.44) !important;
  color: #bdd8ed !important;
  border: 1px solid rgba(65, 113, 154, 0.48) !important;
  border-radius: 10px !important;
  backdrop-filter: blur(14px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(130%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.09),
    0 3px 18px rgba(6, 12, 28, 0.38) !important;
}

.btn-secondary:hover {
  background: rgba(65, 113, 154, 0.28) !important;
  color: #f0f9ff !important;
  border-color: rgba(145, 184, 209, 0.55) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 5px 22px rgba(6, 12, 28, 0.42) !important;
}

/* Add Client / brand CTA — green with glow + glass polish */
.btn.btn-brand-cta {
  background: linear-gradient(
    160deg,
    rgba(45, 212, 122, 0.92) 0%,
    rgba(22, 163, 74, 0.94) 48%,
    rgba(21, 128, 61, 0.96) 100%
  ) !important;
  color: #ffffff !important;
  border: 1px solid rgba(74, 222, 128, 0.45) !important;
  border-radius: 10px !important;
  backdrop-filter: blur(12px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(140%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 4px 20px rgba(34, 197, 94, 0.35),
    0 0 28px rgba(34, 197, 94, 0.22) !important;
  transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

.btn.btn-brand-cta:hover {
  background: linear-gradient(
    160deg,
    rgba(74, 222, 128, 0.95) 0%,
    rgba(34, 197, 94, 0.96) 55%,
    rgba(22, 163, 74, 0.98) 100%
  ) !important;
  color: #ffffff !important;
  border-color: rgba(187, 247, 208, 0.65) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    0 6px 28px rgba(34, 197, 94, 0.45),
    0 0 40px rgba(74, 222, 128, 0.28) !important;
  transform: translateY(-1px);
}

.btn.btn-brand-cta:active {
  transform: translateY(0);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    0 2px 14px rgba(34, 197, 94, 0.3) !important;
}

.table td a.btn.btn-brand-cta {
  background: linear-gradient(160deg, rgba(45, 212, 122, 0.92) 0%, rgba(22, 163, 74, 0.96) 100%) !important;
  color: #ffffff !important;
}
.table td a.btn.btn-brand-cta:hover {
  color: #ffffff !important;
}

/* —— Modals & overlay —— */
.modal-backdrop {
  background-color: var(--ocean-abyss) !important;
  opacity: 0.92 !important;
}

.modal,
[data-theme="light"] .modal {
  background: rgba(10, 33, 68, 0.92) !important;
  color: #91b8d1 !important;
  border: 1px solid rgba(65, 113, 154, 0.4) !important;
  backdrop-filter: blur(20px) saturate(120%);
  -webkit-backdrop-filter: blur(20px) saturate(120%);
}

.modal-title {
  color: var(--ocean-glacier) !important;
}

/* —— Cards / sections —— */
.card,
.section-header,
[data-theme="light"] .section-header {
  background: rgba(10, 33, 68, 0.42) !important;
  color: var(--ocean-mist) !important;
  border: 1px solid rgba(65, 113, 154, 0.35) !important;
  border-radius: 14px !important;
  backdrop-filter: blur(18px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 6px 32px rgba(6, 12, 28, 0.42),
    0 0 52px rgba(65, 113, 154, 0.12) !important;
}

.section-title,
.card-title {
  color: var(--ocean-glacier) !important;
  font-weight: 500 !important;
}

/* —— Global top search pill — glass + glow (matches sidebar language) */
.global-topbar-search-wrap {
  background: color-mix(
    in srgb,
    rgba(8, 34, 58, 0.62) 70%,
    rgba(4, 22, 40, 0.38) 30%
  ) !important;
  border: 1px solid color-mix(in srgb, var(--ocean-sky) 35%, rgba(65, 113, 154, 0.38) 65%) !important;
  backdrop-filter: blur(22px) saturate(148%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(148%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.09),
    0 0 0 1px rgba(56, 189, 248, 0.1),
    0 4px 28px rgba(4, 10, 22, 0.35),
    0 0 40px rgba(56, 189, 248, 0.16) !important;
}

[data-theme="light"] .global-topbar-search-wrap,
[data-bs-theme="light"] .global-topbar-search-wrap {
  background: color-mix(
    in srgb,
    rgba(255, 255, 255, 0.78) 50%,
    rgba(224, 242, 254, 0.65) 50%
  ) !important;
  border: 1px solid color-mix(in srgb, var(--ocean-sky) 28%, rgba(148, 163, 184, 0.4) 72%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.95),
    0 0 0 1px rgba(56, 189, 248, 0.12),
    0 6px 24px rgba(15, 50, 80, 0.1),
    0 0 40px rgba(56, 189, 248, 0.12) !important;
}

.global-topbar-search-wrap:focus-within {
  border-color: color-mix(in srgb, var(--ocean-sky) 55%, rgba(125, 211, 252, 0.6) 45%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 0 0 1px rgba(56, 189, 248, 0.28),
    0 0 28px rgba(56, 189, 248, 0.28),
    0 0 64px rgba(56, 189, 248, 0.14) !important;
}

[data-theme="light"] .global-topbar-search-wrap:focus-within,
[data-bs-theme="light"] .global-topbar-search-wrap:focus-within {
  border-color: color-mix(in srgb, var(--ocean-sky) 42%, rgba(14, 116, 144, 0.35) 58%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 1),
    0 0 0 1px rgba(56, 189, 248, 0.22),
    0 0 32px rgba(56, 189, 248, 0.2) !important;
}

.global-topbar-search-input::placeholder {
  color: color-mix(in srgb, var(--ocean-steel) 72%, var(--ocean-mist) 28%) !important;
}

[data-theme="light"] .global-topbar-search-input::placeholder,
[data-bs-theme="light"] .global-topbar-search-input::placeholder {
  color: color-mix(in srgb, var(--ocean-steel) 88%, var(--ocean-deep) 12%) !important;
}

.global-topbar-search-icon {
  color: color-mix(in srgb, var(--ocean-sky) 40%, var(--ocean-mist) 60%) !important;
  opacity: 0.9 !important;
}

[data-theme="light"] .global-topbar-search-icon,
[data-bs-theme="light"] .global-topbar-search-icon {
  color: color-mix(in srgb, var(--ocean-steel) 55%, var(--ocean-deep) 45%) !important;
  opacity: 0.95 !important;
}

.form-control,
.form-select,
.form-input,
.form-textarea {
  background: var(--ds-input-bg, #0c1a30) !important;
  color: var(--ds-input-text, #e8f4fc) !important;
  border-color: var(--ds-input-border, rgba(100, 150, 190, 0.42)) !important;
  border-radius: 8px !important;
}

.form-control::placeholder,
.form-input::placeholder {
  color: #41719a !important;
}

/* Gain/loss semantic → green / red (equity cells styled in clients-list block below) */
.val-gain:not(.num-cell):not(.clients-equity-cell),
.text-success:not(.clients-equity-value):not(.badge),
.table .text-success:not(.clients-equity-value):not(.badge),
.cell-pct.pct-positive {
  color: #4ade80 !important;
}

.val-loss:not(.clients-equity-cell),
.text-danger:not(.badge),
.cell-pct.pct-negative {
  color: #f87171 !important;
}

.dropdown-menu {
  background: rgba(10, 33, 68, 0.95) !important;
  border: 1px solid rgba(65, 113, 154, 0.4) !important;
  backdrop-filter: blur(16px) saturate(120%);
  -webkit-backdrop-filter: blur(16px) saturate(120%);
}

.dropdown-item {
  color: #91b8d1 !important;
  transition: background 0.2s ease, color 0.2s ease;
}

.dropdown-item:hover {
  background: rgba(65, 113, 154, 0.2) !important;
  color: #bdd8ed !important;
}

.login-page .login-card {
  background: rgba(10, 33, 68, 0.75) !important;
  border: 1px solid rgba(65, 113, 154, 0.4) !important;
  backdrop-filter: blur(20px) saturate(120%);
  -webkit-backdrop-filter: blur(20px) saturate(120%);
  box-shadow: 0 24px 48px rgba(6, 12, 28, 0.5) !important;
}

.login-page .login-card h1,
.login-page .login-logo p {
  color: var(--ocean-glacier) !important;
}

.login-page .login-input {
  background: rgba(6, 12, 28, 0.45) !important;
  border-color: rgba(65, 113, 154, 0.45) !important;
  color: #91b8d1 !important;
}

.login-page .login-btn {
  background: #41719a !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  transition: background 0.2s ease, color 0.2s ease !important;
}

.login-page .login-btn:hover {
  background: #91b8d1 !important;
  color: var(--ocean-deep) !important;
}

/* No left “accent” bar on table row hover (global; row hover fill only). */
.table tbody tr:hover td:first-child,
.data-table tbody tr:hover td:first-child,
.standard-data-table tbody tr:hover td:first-child,
.brokers-table tbody tr:hover td:first-child,
.ft-table tbody tr:hover td:first-child {
  box-shadow: none !important;
}

/* Trading tab table panel — same shell as every other table; keep scroll only */
.tabs-container.client-trading-tabs .tab-content .section-card-table-panel {
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

[data-theme="light"] .tabs-container.client-trading-tabs .tab-content .section-card-table-panel {
  background: var(--tbl-container-bg) !important;
  border: 1px solid var(--tbl-container-border) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 0 0 1px rgba(65, 113, 154, 0.24),
    var(--tbl-container-glow) !important;
}

/* Open positions toolbar: selected vs alternate mode (both glass; different hues) */
.btn.portfolio-aggregate-btn {
  backdrop-filter: blur(14px) saturate(135%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(135%) !important;
  border-radius: 10px !important;
}

.btn.portfolio-aggregate-btn.portfolio-aggregate-btn--active {
  background: rgba(14, 165, 233, 0.28) !important;
  color: #f0f9ff !important;
  border: 1px solid rgba(125, 211, 252, 0.55) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    0 0 28px rgba(14, 165, 233, 0.2),
    0 4px 22px rgba(6, 12, 28, 0.42) !important;
}

.btn.portfolio-aggregate-btn.portfolio-aggregate-btn--active:hover {
  background: rgba(14, 165, 233, 0.38) !important;
  color: #ffffff !important;
  border-color: rgba(186, 230, 253, 0.72) !important;
}

.btn.portfolio-aggregate-btn.portfolio-aggregate-btn--idle {
  background: rgba(79, 70, 229, 0.16) !important;
  color: #c7d2fe !important;
  border: 1px solid rgba(129, 140, 248, 0.38) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 3px 18px rgba(6, 12, 28, 0.38) !important;
}

.btn.portfolio-aggregate-btn.portfolio-aggregate-btn--idle:hover {
  background: rgba(79, 70, 229, 0.26) !important;
  color: #e0e7ff !important;
  border-color: rgba(165, 180, 252, 0.5) !important;
}

#open-positions-root.open-positions-root--loading {
  opacity: 0.62;
  pointer-events: none;
  transition: opacity 0.18s ease;
}

#open-positions-root.open-positions-root--loading .section-card {
  filter: blur(0.6px);
}

[data-theme="light"] .btn.portfolio-aggregate-btn.portfolio-aggregate-btn--active {
  background: color-mix(in srgb, #0ea5e9 26%, var(--tbl-surface) 74%) !important;
  color: var(--tbl-text) !important;
  border-color: color-mix(in srgb, #0284c7 32%, var(--ds-card-border) 68%) !important;
  box-shadow: var(--ds-card-shadow) !important;
}

[data-theme="light"] .btn.portfolio-aggregate-btn.portfolio-aggregate-btn--idle {
  background: color-mix(in srgb, #6366f1 16%, var(--tbl-surface) 84%) !important;
  color: var(--tbl-text) !important;
  border-color: color-mix(in srgb, #6366f1 28%, var(--ds-card-border) 72%) !important;
  box-shadow: var(--ds-card-shadow) !important;
}

/* Clients list — Equity column: vivid green (ocean maps --color-success to glacier) */
.section-card.clients-section-card .data-table tbody td.num-cell.val-gain {
  color: #34d399 !important;
  font-weight: 700;
}

.section-card.clients-section-card .data-table tbody td.num-cell.val-neutral,
.section-card.clients-section-card .data-table tbody td.num-cell .val-neutral {
  color: #64748b !important;
  font-weight: 500;
}

.section-card.clients-section-card .data-table tbody tr:hover td.num-cell.val-gain {
  color: #4ade80 !important;
}

[data-theme="light"] .section-card.clients-section-card .data-table tbody td.num-cell.val-gain {
  color: #059669 !important;
}

[data-theme="light"] .section-card.clients-section-card .data-table tbody tr:hover td.num-cell.val-gain {
  color: #047857 !important;
}

.login-info-wrap .li-broker-form {
  background: var(--tbl-body-bg, rgba(10, 33, 68, 0.45)) !important;
  border: 1px solid rgba(65, 113, 154, 0.25) !important;
  box-shadow: none !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

/* Trading tab tiles — match unified table row navy */
.client-trading-tabs .hana-card,
.client-trading-tabs .hana-card--ok,
.client-trading-tabs .hana-card--warn,
.client-trading-tabs .hana-card--crit,
.client-trading-tabs .account-overview-roster .ao-card,
.client-trading-tabs .category-delta-card,
.client-trading-tabs .category-delta-card--mismatch {
  background: var(--tbl-body-bg, rgba(10, 33, 68, 0.45)) !important;
  border: 1px solid rgba(65, 113, 154, 0.25) !important;
  box-shadow: none !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

.client-trading-tabs .hana-card:hover,
.client-trading-tabs .account-overview-roster .ao-card:hover,
.client-trading-tabs .category-delta-card:hover {
  background: var(--tbl-body-hover, rgba(65, 113, 154, 0.18)) !important;
  border-color: rgba(65, 113, 154, 0.35) !important;
}

/* ═══ Global unified tables v27 — override page-specific table color forks ═══ */

.login-info-wrap .login-info-table,
.cm-table {
  background: transparent !important;
  border-color: rgba(65, 113, 154, 0.25) !important;
  box-shadow: none !important;
}

.login-info-wrap .login-info-table thead th,
.cm-table thead th {
  background: var(--ocean-deep) !important;
  border-bottom: 2px solid #41719a !important;
  color: var(--tbl-text-sec) !important;
}

.section-card :is(.table, .data-table) tbody tr:nth-child(odd),
.section-card :is(.table, .data-table) tbody tr:nth-child(odd) td,
.bafin-reporting-page #tr-daily-reports-tbl.data-table tbody tr:nth-child(odd),
.bafin-reporting-page #tr-daily-reports-tbl.data-table tbody tr:nth-child(odd) td,
.md-readonly-table tbody tr:nth-child(odd),
.modern-table tbody tr:nth-child(odd),
.broker-tbl tbody tr:nth-child(odd),
.users-table tbody tr:nth-child(odd),
.md-table tbody tr:nth-child(odd) {
  background: var(--tbl-body-bg) !important;
}

.section-card :is(.table, .data-table) tbody tr:nth-child(even),
.section-card :is(.table, .data-table) tbody tr:nth-child(even) td,
.bafin-reporting-page #tr-daily-reports-tbl.data-table tbody tr:nth-child(even),
.bafin-reporting-page #tr-daily-reports-tbl.data-table tbody tr:nth-child(even) td,
.md-readonly-table tbody tr:nth-child(even),
.modern-table tbody tr:nth-child(even),
.broker-tbl tbody tr:nth-child(even),
.users-table tbody tr:nth-child(even),
.md-table tbody tr:nth-child(even) {
  background: var(--tbl-body-alt) !important;
}

.section-card :is(.table, .data-table) tbody tr:hover,
.section-card :is(.table, .data-table) tbody tr:hover td,
.bafin-reporting-page #tr-daily-reports-tbl.tr-daily-reports-data tbody tr:hover,
.bafin-reporting-page #tr-daily-reports-tbl.tr-daily-reports-data tbody tr:hover td,
.modern-table tbody tr:hover,
.broker-tbl tbody tr:hover,
.users-table tbody tr:hover,
.md-table tbody tr:hover {
  background: var(--tbl-body-hover) !important;
  box-shadow: none !important;
}

.broker-directory-table tbody tr,
.broker-directory-table tbody tr td,
.broker-mgmt-page .broker-directory-table tbody tr,
.broker-mgmt-page .broker-directory-table tbody tr td {
  background: var(--tbl-body-bg) !important;
}

.broker-directory-table tbody td {
  background: var(--tbl-body-bg) !important;
}

.broker-mgmt-page .broker-directory-table thead,
.broker-mgmt-page .broker-directory-table thead th {
  background: var(--ocean-deep) !important;
  border-bottom: 2px solid #41719a !important;
  color: var(--tbl-text-sec) !important;
}

.broker-directory-table tbody tr:nth-child(even),
.broker-directory-table tbody tr:nth-child(even) td,
.broker-mgmt-page .broker-directory-table tbody tr:nth-child(even),
.broker-mgmt-page .broker-directory-table tbody tr:nth-child(even) td {
  background: var(--tbl-body-alt) !important;
}

.broker-directory-table tbody tr:hover,
.broker-directory-table tbody tr:hover td,
.broker-mgmt-page .broker-directory-table tbody tr:hover,
.broker-mgmt-page .broker-directory-table tbody tr:hover td {
  background: var(--tbl-body-hover) !important;
}

.page-card.cr-reporting-page :is(.cr-client-reports-table, .cr-data-collection-table) tbody tr:nth-child(odd) td {
  background: var(--tbl-body-bg) !important;
}

.page-card.cr-reporting-page :is(.cr-client-reports-table, .cr-data-collection-table) tbody tr:nth-child(even) td {
  background: var(--tbl-body-alt) !important;
}

.page-card.cr-reporting-page :is(.cr-client-reports-table, .cr-data-collection-table) tbody tr:hover td {
  background: var(--tbl-body-hover) !important;
}

body.product-activation-page .if-features-table tbody tr,
body.product-activation-page .if-features-table tbody tr td {
  background: var(--tbl-body-bg) !important;
}

body.product-activation-page .if-features-table tbody tr:nth-child(even),
body.product-activation-page .if-features-table tbody tr:nth-child(even) td {
  background: var(--tbl-body-alt) !important;
}

body.product-activation-page .if-features-table tbody tr:hover,
body.product-activation-page .if-features-table tbody tr:hover td {
  background: var(--tbl-body-hover) !important;
}

.client-trading-tabs .data-table tbody tr:nth-child(odd) td {
  background: var(--tbl-body-bg) !important;
}

.client-trading-tabs .data-table tbody tr:nth-child(even) td {
  background: var(--tbl-body-alt) !important;
}

.client-trading-tabs .data-table tbody tr:hover td {
  background: var(--tbl-body-hover) !important;
  color: var(--tbl-body-hover-text) !important;
}

/* ═══ BaFin instruments/brokers/clients tables — unified global table scheme ═══ */

.bafin-tables-page .table-container,
.page-wrapper.bafin-tables-page.bafin-tables-theme-lock .tab-content .table-container {
  background: var(--tbl-container-bg) !important;
  border: 1px solid var(--tbl-container-border) !important;
  border-radius: var(--tbl-radius) !important;
  backdrop-filter: blur(20px) saturate(135%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(135%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 0 0 1px rgba(65, 113, 154, 0.24),
    var(--tbl-container-glow) !important;
}

.page-wrapper.bafin-tables-page.bafin-tables-theme-lock .tab-content {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.bafin-tables-page :is(.bt-instruments-table, .bt-def-table) thead,
.bafin-tables-page :is(.bt-instruments-table, .bt-def-table) thead th,
.page-wrapper.bafin-tables-page.bafin-tables-theme-lock :is(.bt-instruments-table, .bt-def-table) thead,
.page-wrapper.bafin-tables-page.bafin-tables-theme-lock :is(.bt-instruments-table, .bt-def-table) thead th {
  background: var(--ocean-deep) !important;
  color: var(--tbl-text-sec) !important;
  border-bottom: 2px solid #41719a !important;
  font-size: var(--tbl-header-font-size) !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  opacity: 1 !important;
}

.bafin-tables-page :is(.bt-instruments-table, .bt-def-table) tbody td,
.page-wrapper.bafin-tables-page.bafin-tables-theme-lock :is(.bt-instruments-table, .bt-def-table) tbody td {
  background: var(--tbl-body-bg) !important;
  color: var(--tbl-text) !important;
  border-color: rgba(65, 113, 154, 0.25) !important;
  border-top: 1px solid rgba(65, 113, 154, 0.2) !important;
}

.bafin-tables-page :is(.bt-instruments-table, .bt-def-table) tbody tr:nth-child(even) td,
.page-wrapper.bafin-tables-page.bafin-tables-theme-lock :is(.bt-instruments-table, .bt-def-table) tbody tr:nth-child(even) td {
  background: var(--tbl-body-alt) !important;
}

.bafin-tables-page :is(.bt-instruments-table, .bt-def-table) tbody tr:hover td,
.page-wrapper.bafin-tables-page.bafin-tables-theme-lock :is(.bt-instruments-table, .bt-def-table) tbody tr:hover td,
.bafin-tables-page .data-table tbody tr:hover,
.bafin-tables-page .data-table tbody tr:hover td {
  background: var(--tbl-body-hover) !important;
  color: var(--tbl-body-hover-text) !important;
  box-shadow: none !important;
}

.bafin-tables-page :is(.bt-instruments-table, .bt-def-table) tbody tr:hover td * {
  color: var(--tbl-body-hover-text) !important;
}

[data-theme="light"] .bafin-tables-page :is(.bt-instruments-table, .bt-def-table) thead th,
[data-theme="light"] .page-wrapper.bafin-tables-page.bafin-tables-theme-lock :is(.bt-instruments-table, .bt-def-table) thead th {
  background: var(--ocean-deep) !important;
  color: var(--tbl-text-sec) !important;
  border-bottom: 2px solid #41719a !important;
}

[data-theme="light"] .page-wrapper.bafin-tables-page.bafin-tables-theme-lock .tab-content .table-container {
  background: var(--tbl-container-bg) !important;
  border: 1px solid var(--tbl-container-border) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 0 0 1px rgba(65, 113, 154, 0.24),
    var(--tbl-container-glow) !important;
}

/* ═══ Clients list — Equity column green (post unified-table sweep) ═══ */

.section-card.clients-section-card .data-table tbody td.num-cell.val-gain,
.section-card.clients-section-card .data-table tbody td.num-cell.text-right.val-gain {
  color: #4ade80 !important;
  font-weight: 700 !important;
}

.section-card.clients-section-card .data-table tbody tr:hover td.num-cell.val-gain,
.section-card.clients-section-card .data-table tbody tr:hover td.num-cell.text-right.val-gain {
  color: #86efac !important;
}

.section-card.clients-section-card .data-table tbody td.num-cell.val-neutral,
.section-card.clients-section-card .data-table tbody td.num-cell .val-neutral {
  color: #64748b !important;
  font-weight: 500 !important;
}

[data-theme="light"] .section-card.clients-section-card .data-table tbody td.num-cell.val-gain,
[data-theme="light"] .section-card.clients-section-card .data-table tbody td.num-cell.text-right.val-gain {
  color: #059669 !important;
}

[data-theme="light"] .section-card.clients-section-card .data-table tbody tr:hover td.num-cell.val-gain {
  color: #047857 !important;
}

/* Clients list equity — ID + span beats unified table td color/hover */
#clients-list-table tbody td.clients-equity-cell,
#clients-list-table tbody td.num-cell.val-gain,
#clients-list-table .clients-equity-value {
  color: #22c55e !important;
  font-weight: 700 !important;
}

#clients-list-table tbody tr:hover td.clients-equity-cell,
#clients-list-table tbody tr:hover td.num-cell.val-gain,
#clients-list-table tbody tr:hover .clients-equity-value {
  color: #4ade80 !important;
}

#clients-list-table tbody td.num-cell.val-neutral,
#clients-list-table tbody td.num-cell .val-neutral {
  color: #64748b !important;
  font-weight: 500 !important;
}

[data-theme="light"] #clients-list-table tbody td.clients-equity-cell,
[data-theme="light"] #clients-list-table tbody td.num-cell.val-gain,
[data-theme="light"] #clients-list-table .clients-equity-value {
  color: #059669 !important;
}

[data-theme="light"] #clients-list-table tbody tr:hover td.clients-equity-cell,
[data-theme="light"] #clients-list-table tbody tr:hover .clients-equity-value {
  color: #047857 !important;
}

/* Trading tab tiles v28 — lock all card/chip surfaces to table row navy */
.client-trading-tabs {
  --ds-unified-tile-bg: var(--tbl-body-bg);
  --trading-tile-bg: var(--tbl-body-bg);
  --trading-tile-bg-deep: var(--tbl-body-bg);
  --trading-tile-inner: var(--tbl-body-alt);
}

.client-trading-tabs .account-overview-roster .ao-card,
.client-trading-tabs .hana-card,
.client-trading-tabs .hana-card--ok,
.client-trading-tabs .hana-card--warn,
.client-trading-tabs .hana-card--crit,
.client-trading-tabs .category-delta-card,
.client-trading-tabs .category-delta-card--mismatch,
.client-trading-tabs .ao-sort-pill,
.client-trading-tabs .category-delta-sort-btn {
  background: var(--tbl-body-bg) !important;
  background-image: none !important;
  border-color: rgba(65, 113, 154, 0.25) !important;
  box-shadow: none !important;
}

.client-trading-tabs .account-overview-roster .ao-card:hover,
.client-trading-tabs .hana-card:hover,
.client-trading-tabs .category-delta-card:hover,
.client-trading-tabs .ao-sort-pill:hover,
.client-trading-tabs .category-delta-sort-btn:hover,
.client-trading-tabs .ao-sort-pill.is-active,
.client-trading-tabs .category-delta-sort-btn.is-active {
  background: var(--tbl-body-hover) !important;
  border-color: rgba(65, 113, 154, 0.35) !important;
}

.client-trading-tabs .category-delta-ls--long,
.client-trading-tabs .category-delta-ls--short {
  background: var(--tbl-body-alt) !important;
  border-color: rgba(65, 113, 154, 0.2) !important;
}

[data-theme="light"] .client-trading-tabs .ao-sort-pill,
[data-theme="light"] .client-trading-tabs .category-delta-sort-btn {
  background: #e8f1fa !important;
  border-color: rgba(71, 105, 145, 0.24) !important;
}

/* Universal search: hide filtered trading tiles (beats display:flex !important on ao-card) */
.client-trading-tabs .account-overview-roster .ao-card.table-search-item-hidden,
.account-overview-roster .ao-card.table-search-item-hidden,
.client-trading-tabs .hana-card.table-search-item-hidden,
.client-trading-tabs .category-delta-card.table-search-item-hidden,
.category-delta-grid > .category-delta-card.table-search-item-hidden,
.hana-card-grid > .hana-card.table-search-item-hidden {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Folder tabs v29 — active tab reads clearly in strip + page head */
.tr-folder-tabs .tab-btn:not(.active),
.client-trading-tabs .tab-button:not(.active),
.tr-bafin-entity-tabs .tab-btn:not(.active),
.tabs-container:not(.tr-page-subnav):has(> .tabs-header) > .tabs-header .tab-button:not(.active) {
  color: rgba(145, 184, 209, 0.68) !important;
  background: rgba(6, 14, 28, 0.35) !important;
  border-color: rgba(65, 113, 154, 0.18) !important;
  opacity: 0.82;
}

.tr-folder-tabs .tab-btn.active,
.client-trading-tabs .tab-button.active,
.tr-bafin-entity-tabs .tab-btn.active,
.tabs-container:not(.tr-page-subnav):has(> .tabs-header) > .tabs-header .tab-button.active {
  color: #ffffff !important;
  background: rgba(10, 33, 68, 0.82) !important;
  border-color: rgba(56, 189, 248, 0.55) !important;
  border-top: 2px solid #38bdf8 !important;
  box-shadow:
    0 -6px 18px rgba(56, 189, 248, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  opacity: 1 !important;
  z-index: 4 !important;
}

[data-theme="light"] .tr-folder-tabs .tab-btn:not(.active),
[data-theme="light"] .client-trading-tabs .tab-button:not(.active),
[data-theme="light"] .tr-bafin-entity-tabs .tab-btn:not(.active) {
  color: #64748b !important;
  background: rgba(241, 245, 249, 0.85) !important;
  border-color: rgba(71, 105, 145, 0.2) !important;
  opacity: 1;
}

[data-theme="light"] .tr-folder-tabs .tab-btn.active,
[data-theme="light"] .client-trading-tabs .tab-button.active,
[data-theme="light"] .tr-bafin-entity-tabs .tab-btn.active {
  color: #0f172a !important;
  background: #ffffff !important;
  border-color: rgba(14, 165, 233, 0.45) !important;
  border-top-color: #0ea5e9 !important;
  box-shadow: 0 -4px 14px rgba(14, 165, 233, 0.12) !important;
}

/* ═══ Global design system v30 — one navy palette for tiles, tables, inputs, buttons ═══ */

:root {
  --ds-unified-tile-bg: var(--tbl-container-bg);
  --ds-unified-tile-border: var(--tbl-container-border);
  --ds-unified-tile-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 8px 32px rgba(6, 12, 28, 0.38);
  --ds-input-bg: #0c1a30;
  --ds-input-border: rgba(100, 150, 190, 0.42);
  --ds-input-text: #e8f4fc;
  --ds-input-focus-bg: #142d4f;
  --ds-input-focus-border: rgba(56, 189, 248, 0.55);
  --ds-panel-pad-y: 24px;
  --ds-panel-pad-x: 24px;
  --ds-field-gap: 18px;
}

/* —— Tiles & panels (every page) —— */
.login-info-wrap .li-card--glass,
.client-trading-tabs,
.client-trading-tabs .tab-content.active,
.section-card:not(.tr-daily-reports-card),
.ui-card,
.table-container:not(.md-master-docs-table-outer),
.brokers-table-container,
.standard-table-wrap {
  background: var(--tbl-container-bg) !important;
  background-image: none !important;
  border-color: var(--tbl-container-border) !important;
  box-shadow: var(--ds-unified-tile-shadow) !important;
}

/* Drop nested tile-in-tile on Master Data documents (handled in v31) */
.master-data-page--streamlined .md-documents-section .table-container,
.master-data-page--streamlined .md-master-docs-table-outer,
.md-docs-table-viewport {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.page-wrapper-master-data,
.page-wrapper-master-data .page-card {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Kill page-specific rainbow / accent strips */
.master-data-page--streamlined .md-data-shell .md-data-block::before,
.master-data-page--streamlined .md-data-block-title::before,
.master-data-page--streamlined .md-documents-section::before,
.master-data-page--streamlined .md-documents-title::before,
.master-data-page--streamlined .md-documents-section-title::before {
  display: none !important;
  content: none !important;
}

/* —— Form controls (global) —— */
.master-data-page--streamlined .md-field-control,
.master-data-page .md-form-control-soft,
.master-data-page .md-form-control-soft.form-input,
.master-data-page .md-form-control-soft.form-select,
.master-data-page select.md-form-control-soft,
.form-input,
.form-select,
.form-control,
input.form-control,
select.form-control,
textarea.form-control,
.md-data-search {
  background: var(--ds-input-bg) !important;
  background-image: none !important;
  border: 1px solid var(--ds-input-border) !important;
  border-radius: var(--control-radius, 8px) !important;
  color: var(--ds-input-text) !important;
  font-family: var(--font-primary) !important;
  box-shadow: none !important;
}

.master-data-page--streamlined .md-field-control:hover,
.master-data-page .md-form-control-soft:hover,
.form-input:hover,
.form-select:hover,
.form-control:hover {
  border-color: rgba(65, 113, 154, 0.38) !important;
}

.master-data-page--streamlined .md-field-control:focus,
.master-data-page .md-form-control-soft:focus,
.form-input:focus,
.form-select:focus,
.form-control:focus,
.md-data-search:focus {
  outline: none !important;
  background: var(--ds-input-focus-bg) !important;
  border-color: var(--ds-input-focus-border) !important;
  box-shadow: 0 0 0 2px rgba(65, 113, 154, 0.18) !important;
}

/* File picker — same navy chrome everywhere */
input[type="file"],
input[type="file"].form-input,
input[type="file"].md-form-control-soft,
.bafin-tables-page .bt-def-upload-file {
  display: inline-flex !important;
  align-items: center !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 12px 0 4px !important;
  box-sizing: border-box !important;
  line-height: 1.2 !important;
  background: var(--ds-input-bg) !important;
  border: 1px solid var(--ds-input-border) !important;
  border-radius: var(--control-radius, 8px) !important;
  color: var(--ds-input-text) !important;
}

input[type="file"]::file-selector-button,
input[type="file"].form-input::file-selector-button,
input[type="file"].md-form-control-soft::file-selector-button,
.bafin-tables-page .bt-def-upload-file::file-selector-button {
  margin: 0 12px 0 0 !important;
  padding: 7px 14px !important;
  border: 1px solid rgba(65, 113, 154, 0.35) !important;
  border-radius: var(--control-radius, 8px) !important;
  background: rgba(65, 113, 154, 0.28) !important;
  color: #dbeafe !important;
  font-family: var(--font-primary) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.15s ease, border-color 0.15s ease !important;
}

input[type="file"]::file-selector-button:hover,
.bafin-tables-page .bt-def-upload-file::file-selector-button:hover {
  background: rgba(65, 113, 154, 0.4) !important;
  border-color: rgba(145, 184, 209, 0.55) !important;
}

/* —— Buttons: one primary style site-wide (navy glass, no green forks) —— */
button.btn-primary[type="button"],
input.btn-primary[type="button"],
.btn-primary[type="reset"],
a.btn-primary,
.table td a.btn-primary,
.data-table td a.btn-primary,
button[type="submit"].btn.btn-primary:not(.md-save-changes-btn):not(.btn-save-changes),
input[type="submit"].btn.btn-primary:not(.md-save-changes-btn):not(.btn-save-changes),
button.btn.btn-primary:not([type]):not(.md-save-changes-btn):not(.btn-save-changes) {
  background: rgba(65, 113, 154, 0.42) !important;
  background-image: none !important;
  color: #ffffff !important;
  border: 1px solid rgba(145, 184, 209, 0.5) !important;
  border-radius: 10px !important;
  backdrop-filter: blur(14px) saturate(135%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(135%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    0 4px 22px rgba(6, 12, 28, 0.42) !important;
  font-weight: 600 !important;
  transform: none !important;
}

button.btn-primary[type="button"]:hover,
a.btn-primary:hover,
.table td a.btn-primary:hover,
.data-table td a.btn-primary:hover,
button[type="submit"].btn.btn-primary:not(.md-save-changes-btn):not(.btn-save-changes):hover,
input[type="submit"].btn.btn-primary:not(.md-save-changes-btn):not(.btn-save-changes):hover,
button.btn.btn-primary:not([type]):not(.md-save-changes-btn):not(.btn-save-changes):hover {
  background: rgba(145, 184, 209, 0.38) !important;
  color: var(--ocean-deep) !important;
  border-color: rgba(189, 216, 237, 0.75) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 6px 28px rgba(6, 12, 28, 0.48) !important;
  transform: none !important;
}

/* —— Typography & spacing (Master Data + Documents) —— */
.master-data-page--streamlined .md-data-shell .md-data-block,
.master-data-page--streamlined .md-documents-section {
  padding: var(--ds-panel-pad-y) var(--ds-panel-pad-x) !important;
  margin-bottom: var(--ds-stack-md, 18px) !important;
  border-radius: var(--tbl-radius, 14px) !important;
}

.master-data-page--streamlined .md-field-grid {
  gap: var(--ds-field-gap) 22px !important;
}

.master-data-page--streamlined .md-data-block-title,
.master-data-page--streamlined .md-documents-title,
.master-data-page--streamlined .md-documents-section-title {
  color: var(--tbl-text) !important;
  border-bottom-color: rgba(65, 113, 154, 0.22) !important;
}

.master-data-page--streamlined .md-field-label,
.master-data-page--streamlined .md-upload-form .form-label {
  color: var(--tbl-text-sec) !important;
}

.master-data-page--streamlined .md-documents-subtitle {
  color: var(--tbl-text-sec) !important;
}

.master-data-page--streamlined .md-documents-subsection {
  padding: var(--ds-stack-md, 18px) !important;
  margin-top: var(--ds-stack-md, 18px) !important;
  border-radius: var(--tbl-radius, 14px) !important;
}

.master-data-page--streamlined .md-upload-panel {
  padding: var(--ds-stack-md, 18px) !important;
  margin-bottom: var(--ds-stack-md, 18px) !important;
  border-style: solid !important;
}

.master-data-page--streamlined .md-upload-form--in-tab {
  gap: var(--ds-stack-sm, 12px) !important;
  align-items: end !important;
}

/* Trading / doc folder tabs inherit same navy tokens as tables */
.client-trading-tabs,
.md-master-docs-tabs.client-trading-tabs {
  --ds-unified-tile-bg: var(--tbl-container-bg);
}

.client-trading-tabs .account-overview-roster .ao-card,
.client-trading-tabs .hana-card,
.client-trading-tabs .category-delta-card {
  background: var(--tbl-body-bg) !important;
  border-color: rgba(65, 113, 154, 0.25) !important;
}

[data-theme="light"] {
  --ds-input-bg: rgba(241, 245, 249, 0.95);
  --ds-input-border: rgba(71, 105, 145, 0.28);
  --ds-input-text: #0f172a;
}

[data-theme="light"] .master-data-page--streamlined .md-documents-subsection,
[data-theme="light"] .master-data-page--streamlined .md-upload-panel {
  background: rgba(241, 245, 249, 0.92) !important;
  border-color: rgba(71, 105, 145, 0.22) !important;
}

[data-theme="light"] input[type="file"]::file-selector-button,
[data-theme="light"] .bafin-tables-page .bt-def-upload-file::file-selector-button {
  background: rgba(71, 105, 145, 0.12) !important;
  color: #334155 !important;
  border-color: rgba(71, 105, 145, 0.28) !important;
}

[data-theme="light"] button[type="submit"].btn.btn-primary:not(.md-save-changes-btn):not(.btn-save-changes),
[data-theme="light"] .btn.btn-brand-cta,
[data-theme="light"] a.btn-primary:not(.btn-save-changes) {
  color: #0f172a !important;
}

[data-theme="light"] button[type="submit"].btn.btn-primary:not(.md-save-changes-btn):not(.btn-save-changes):hover,
[data-theme="light"] .btn.btn-brand-cta:hover,
[data-theme="light"] a.btn-primary:not(.btn-save-changes):hover {
  color: #0f172a !important;
}

/* v31 — Master Data: single tile layer (no nested shell backgrounds) */
.page-wrapper-master-data,
.page-wrapper-master-data .page-card,
.page-wrapper-master-data .page-card.master-data-page--streamlined,
body.master-data-body .page-card.master-data-page,
body.master-data-body .master-data-page,
#md-profile-form,
.master-data-page--streamlined .md-master-fieldset,
.master-data-page--streamlined .md-data-shell.md-data-form-panel,
.md-data-shell.md-data-form-panel {
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
}

.master-data-page--streamlined .md-data-shell.md-data-form-panel,
.md-data-shell.md-data-form-panel {
  padding: 0 !important;
  margin-bottom: 0 !important;
}

.master-data-page--streamlined .md-data-shell .md-data-block,
.master-data-page--streamlined .md-documents-section {
  background: var(--tbl-container-bg) !important;
  background-image: none !important;
  border: 1px solid var(--tbl-container-border) !important;
  box-shadow: var(--ds-unified-tile-shadow) !important;
  border-radius: var(--tbl-radius, 14px) !important;
  padding: var(--ds-panel-pad-y, 24px) var(--ds-panel-pad-x, 24px) !important;
}

.master-data-page--streamlined .md-data-shell .md-data-block {
  margin-bottom: var(--ds-stack-md, 18px) !important;
}

.master-data-page--streamlined .md-data-shell .md-data-block:last-child {
  margin-bottom: 0 !important;
}

.master-data-page--streamlined .md-documents-subsection,
.master-data-page--streamlined .md-upload-panel,
.master-data-page--streamlined .md-master-docs-tabs.client-trading-tabs,
.master-data-page--streamlined .md-master-docs-tabs .tab-content.active {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.master-data-page--streamlined .md-master-docs-tabs.client-trading-tabs {
  margin-bottom: 0 !important;
}

.master-data-page--streamlined .md-master-docs-tabs .tab-content.active {
  padding: var(--ds-stack-md, 18px) 0 0 !important;
}

.master-data-page--streamlined .md-upload-panel {
  padding: 0 0 var(--ds-stack-md, 18px) !important;
  margin-bottom: var(--ds-stack-md, 18px) !important;
  border-bottom: 1px solid rgba(65, 113, 154, 0.22) !important;
  border-radius: 0 !important;
}

[data-theme="light"] .master-data-page--streamlined .md-documents-subsection,
[data-theme="light"] .master-data-page--streamlined .md-upload-panel {
  background: transparent !important;
}

/* v33 — Semantic button colors: solid fills by meaning (authoritative) */
:root {
  --ds-sem-primary: #2f536f;
  --ds-sem-primary-mid: #3d6a8a;
  --ds-sem-primary-border: #5a8aad;
  --ds-sem-success: #16a34a;
  --ds-sem-success-light: #22c55e;
  --ds-sem-success-hover: #15803d;
  --ds-sem-success-border: #166534;
  --ds-sem-danger: #dc2626;
  --ds-sem-danger-hover: #b91c1c;
  --ds-sem-danger-border: #991b1b;
  --ds-sem-warning: #d97706;
  --ds-sem-warning-hover: #b45309;
  --ds-sem-warning-border: #92400e;
  --ds-sem-secondary-bg: rgba(18, 42, 78, 0.78);
  --ds-sem-secondary-border: rgba(65, 113, 154, 0.52);
}

/* Primary — navy (create, add, upload, update) */
.btn.btn-primary:not(.btn-save-changes):not(.md-save-changes-btn),
button[type="submit"].btn.btn-primary:not(.btn-save-changes):not(.md-save-changes-btn),
input[type="submit"].btn.btn-primary:not(.btn-save-changes):not(.md-save-changes-btn),
button.btn.btn-primary:not([type]):not(.btn-save-changes):not(.md-save-changes-btn),
button.btn-primary[type="button"],
input.btn-primary[type="button"],
.btn-primary[type="reset"],
a.btn.btn-primary:not(.btn-save-changes),
.table td a.btn.btn-primary,
.data-table td a.btn.btn-primary {
  background: linear-gradient(180deg, var(--ds-sem-primary-mid) 0%, var(--ds-sem-primary) 100%) !important;
  background-color: var(--ds-sem-primary) !important;
  color: #ffffff !important;
  border: 1px solid var(--ds-sem-primary-border) !important;
  border-radius: 10px !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.16),
    0 4px 18px rgba(6, 12, 28, 0.38) !important;
  font-weight: 600 !important;
}

.btn.btn-primary:not(.btn-save-changes):not(.md-save-changes-btn):hover,
button[type="submit"].btn.btn-primary:not(.btn-save-changes):not(.md-save-changes-btn):hover,
input[type="submit"].btn.btn-primary:not(.btn-save-changes):not(.md-save-changes-btn):hover,
button.btn.btn-primary:not([type]):not(.btn-save-changes):not(.md-save-changes-btn):hover,
button.btn-primary[type="button"]:hover,
input.btn-primary[type="button"]:hover,
.btn-primary[type="reset"]:hover,
a.btn.btn-primary:not(.btn-save-changes):hover,
.table td a.btn.btn-primary:hover,
.data-table td a.btn.btn-primary:hover {
  background: linear-gradient(180deg, #4a85a8 0%, var(--ds-sem-primary-mid) 100%) !important;
  background-color: var(--ds-sem-primary-mid) !important;
  color: #ffffff !important;
  border-color: #91b8d1 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 6px 24px rgba(6, 12, 28, 0.44) !important;
}

/* Success / Save — solid green */
.btn.btn-success,
.btn-save-changes,
.md-save-changes-btn,
button[type="submit"].btn.btn-primary.btn-save-changes,
button[type="submit"].btn.btn-primary.md-save-changes-btn,
.table td a.btn.btn-success,
.data-table td a.btn.btn-success {
  background: linear-gradient(180deg, var(--ds-sem-success-light) 0%, var(--ds-sem-success) 52%, var(--ds-sem-success-hover) 100%) !important;
  background-color: var(--ds-sem-success) !important;
  color: #ffffff !important;
  border: 1px solid var(--ds-sem-success-border) !important;
  border-radius: 10px !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 4px 18px rgba(6, 12, 28, 0.38),
    0 0 20px rgba(34, 197, 94, 0.22) !important;
  font-weight: 600 !important;
}

.btn.btn-success:hover,
.btn-save-changes:hover,
.md-save-changes-btn:hover,
button[type="submit"].btn.btn-primary.btn-save-changes:hover,
button[type="submit"].btn.btn-primary.md-save-changes-btn:hover,
.table td a.btn.btn-success:hover,
.data-table td a.btn.btn-success:hover {
  background: linear-gradient(180deg, #4ade80 0%, var(--ds-sem-success-light) 55%, var(--ds-sem-success) 100%) !important;
  background-color: var(--ds-sem-success-light) !important;
  color: #ffffff !important;
  border-color: #86efac !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    0 6px 24px rgba(6, 12, 28, 0.44),
    0 0 28px rgba(74, 222, 128, 0.28) !important;
}

/* Danger — red (delete, remove) */
.btn.btn-danger,
button[type="submit"].btn.btn-danger,
.table td a.btn.btn-danger,
.data-table td a.btn.btn-danger {
  background: linear-gradient(180deg, #ef4444 0%, var(--ds-sem-danger) 55%, var(--ds-sem-danger-hover) 100%) !important;
  background-color: var(--ds-sem-danger) !important;
  color: #ffffff !important;
  border: 1px solid var(--ds-sem-danger-border) !important;
  border-radius: 10px !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.16),
    0 4px 18px rgba(6, 12, 28, 0.38) !important;
  font-weight: 600 !important;
}

.btn.btn-danger:hover,
button[type="submit"].btn.btn-danger:hover,
.table td a.btn.btn-danger:hover,
.data-table td a.btn.btn-danger:hover {
  background: linear-gradient(180deg, #f87171 0%, #ef4444 55%, var(--ds-sem-danger) 100%) !important;
  background-color: #ef4444 !important;
  color: #ffffff !important;
  border-color: #fca5a5 !important;
}

/* Secondary / outline — muted navy (cancel, filter, navigate) */
.btn.btn-secondary,
.btn.btn-outline,
.btn.btn-outline-secondary,
.table td a.btn.btn-secondary,
.table td a.btn.btn-outline {
  background: var(--ds-sem-secondary-bg) !important;
  color: #bdd8ed !important;
  border: 1px solid var(--ds-sem-secondary-border) !important;
  border-radius: 10px !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  font-weight: 600 !important;
}

.btn.btn-secondary:hover,
.btn.btn-outline:hover,
.btn.btn-outline-secondary:hover,
.table td a.btn.btn-secondary:hover,
.table td a.btn.btn-outline:hover {
  background: rgba(65, 113, 154, 0.42) !important;
  color: #f0f9ff !important;
  border-color: rgba(145, 184, 209, 0.62) !important;
}

/* Warning — amber */
.btn.btn-warning,
button[type="submit"].btn.btn-warning {
  background: linear-gradient(180deg, #fbbf24 0%, var(--ds-sem-warning) 55%, var(--ds-sem-warning-hover) 100%) !important;
  background-color: var(--ds-sem-warning) !important;
  color: #1f2937 !important;
  border: 1px solid var(--ds-sem-warning-border) !important;
  border-radius: 10px !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  font-weight: 600 !important;
}

.btn.btn-warning:hover {
  background: linear-gradient(180deg, #fcd34d 0%, #fbbf24 55%, var(--ds-sem-warning) 100%) !important;
  color: #1f2937 !important;
}

/* Brand CTA — prominent green (Add Client, key growth actions) */
.btn.btn-brand-cta,
.table td a.btn.btn-brand-cta,
.data-table td a.btn.btn-brand-cta {
  background: linear-gradient(180deg, #4ade80 0%, var(--ds-sem-success-light) 45%, var(--ds-sem-success) 100%) !important;
  background-color: var(--ds-sem-success-light) !important;
  color: #ffffff !important;
  border: 1px solid var(--ds-sem-success-border) !important;
  border-radius: 10px !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 4px 20px rgba(34, 197, 94, 0.32) !important;
  font-weight: 600 !important;
}

.btn.btn-brand-cta:hover,
.table td a.btn.btn-brand-cta:hover,
.data-table td a.btn.btn-brand-cta:hover {
  background: linear-gradient(180deg, #86efac 0%, #4ade80 50%, var(--ds-sem-success-light) 100%) !important;
  background-color: #4ade80 !important;
  color: #ffffff !important;
  border-color: #bbf7d0 !important;
}

[data-theme="light"] .btn-save-changes,
[data-theme="light"] .md-save-changes-btn,
[data-theme="light"] .btn.btn-success,
[data-theme="light"] .btn.btn-brand-cta {
  color: #ffffff !important;
}

[data-theme="light"] .btn.btn-primary:not(.btn-save-changes):not(.md-save-changes-btn),
[data-theme="light"] .btn.btn-danger,
[data-theme="light"] .btn.btn-secondary {
  color: #ffffff !important;
}

[data-theme="light"] .btn.btn-warning {
  color: #1f2937 !important;
}

/* v34 — File picker: vertically center Choose File button in its container */
.bafin-tables-page .bt-def-upload-row {
  align-items: center !important;
}

input[type="file"],
input[type="file"].form-input,
input[type="file"].md-form-control-soft,
.bafin-tables-page .bt-def-upload-file {
  padding: 4px 12px 4px 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  vertical-align: middle !important;
}

input[type="file"]::file-selector-button,
input[type="file"].form-input::file-selector-button,
input[type="file"].md-form-control-soft::file-selector-button,
.bafin-tables-page .bt-def-upload-file::file-selector-button {
  height: 28px !important;
  min-height: 28px !important;
  margin: 0 12px 0 0 !important;
  padding: 0 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}

/* v35 — Login info: Save buttons solid green (broker portal + metatrader) */
.login-info-wrap .li-broker-actions button[type="submit"].btn.btn-primary,
.login-info-wrap .li-broker-actions .btn-save-changes,
.login-info-wrap .li-actions .btn-save-changes,
.login-info-wrap [data-mt-save].btn-primary {
  background: linear-gradient(180deg, var(--ds-sem-success-light) 0%, var(--ds-sem-success) 52%, var(--ds-sem-success-hover) 100%) !important;
  background-color: var(--ds-sem-success) !important;
  color: #ffffff !important;
  border: 1px solid var(--ds-sem-success-border) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 4px 18px rgba(6, 12, 28, 0.38),
    0 0 20px rgba(34, 197, 94, 0.22) !important;
}

.login-info-wrap .li-broker-actions button[type="submit"].btn.btn-primary:hover,
.login-info-wrap .li-broker-actions .btn-save-changes:hover,
.login-info-wrap .li-actions .btn-save-changes:hover,
.login-info-wrap [data-mt-save].btn-primary:hover {
  background: linear-gradient(180deg, #4ade80 0%, var(--ds-sem-success-light) 55%, var(--ds-sem-success) 100%) !important;
  background-color: var(--ds-sem-success-light) !important;
  color: #ffffff !important;
  border-color: #86efac !important;
}

/* v36 — Product Activation: table flush inside rounded tile */
body.product-activation-page .if-activation-glass-tile {
  padding: 0 !important;
  overflow: visible !important;
}

body.product-activation-page .if-table-scroll {
  border-radius: inherit !important;
}

body.product-activation-page .if-features-table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

body.product-activation-page .if-features-table thead th:first-child {
  border-top-left-radius: var(--tbl-radius, 14px) !important;
}

body.product-activation-page .if-features-table thead th:last-child {
  border-top-right-radius: var(--tbl-radius, 14px) !important;
}

/* v37 — Brokers Portal tiles: match Account Overview ao-card navy */
.login-info-wrap .li-broker-form,
.login-info-wrap .li-broker-tile,
.login-info-wrap .li-card--broker.li-card--glass {
  background: var(--tbl-body-bg, rgba(10, 33, 68, 0.45)) !important;
  border: 1px solid rgba(65, 113, 154, 0.25) !important;
  box-shadow: none !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

.login-info-wrap .li-broker-form:hover,
.login-info-wrap .li-broker-tile:hover,
.login-info-wrap .li-card--broker.li-card--glass:hover {
  background: var(--tbl-body-hover, rgba(65, 113, 154, 0.18)) !important;
  border-color: rgba(65, 113, 154, 0.35) !important;
}

/* v38 — Master Data folder tabs: visible rounded corners (not clipped by parent) */
.master-data-page--streamlined .md-documents-section,
.master-data-page--streamlined .md-documents-subsection {
  overflow: visible !important;
}

.master-data-page--streamlined .md-master-docs-tabs.client-trading-tabs {
  --ctp-folder-surface: var(--tbl-container-bg, rgba(18, 42, 78, 0.36));
  position: relative;
  overflow: visible !important;
  border: 1px solid var(--tbl-container-border, rgba(65, 113, 154, 0.38)) !important;
  border-radius: var(--tbl-radius, 14px) !important;
  background: var(--ctp-folder-surface) !important;
  box-shadow: var(--ds-unified-tile-shadow) !important;
  margin-top: 10px !important;
  margin-bottom: 0 !important;
}

.master-data-page--streamlined .md-master-docs-tabs .tabs-header {
  padding: 12px 14px 0 !important;
  overflow: visible !important;
}

.master-data-page--streamlined .md-master-docs-tabs .tab-button {
  transform: translateY(0) !important;
}

.master-data-page--streamlined .md-master-docs-tabs .tab-button.active {
  transform: translateY(-2px) !important;
  border-radius: 14px 14px 0 0 !important;
}

.master-data-page--streamlined .md-master-docs-tabs .tab-content.active {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--text-light) 3.5%, var(--ctp-folder-surface)) 0%,
    var(--ctp-folder-surface) 56px
  ) !important;
  border-top: 1px solid color-mix(in srgb, var(--tbl-divider-md) 82%, transparent) !important;
  padding: var(--ds-stack-md, 18px) 12px 20px !important;
}

/* v39 — Edit buttons: amber globally (distinct from save/delete/primary) */
.btn.btn-edit,
button[data-mt-edit].btn,
a.btn.btn-edit,
.table td a.btn.btn-edit,
.data-table td a.btn.btn-edit,
.btn-action.edit {
  background: linear-gradient(180deg, #fbbf24 0%, var(--ds-sem-warning) 55%, var(--ds-sem-warning-hover) 100%) !important;
  background-color: var(--ds-sem-warning) !important;
  color: #1f2937 !important;
  border: 1px solid var(--ds-sem-warning-border) !important;
  border-radius: 10px !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 4px 16px rgba(6, 12, 28, 0.32) !important;
  font-weight: 600 !important;
}

.btn.btn-edit:hover,
button[data-mt-edit].btn:hover,
a.btn.btn-edit:hover,
.table td a.btn.btn-edit:hover,
.data-table td a.btn.btn-edit:hover,
.btn-action.edit:hover {
  background: linear-gradient(180deg, #fcd34d 0%, #fbbf24 55%, var(--ds-sem-warning) 100%) !important;
  background-color: #fbbf24 !important;
  color: #1f2937 !important;
  border-color: #f59e0b !important;
  filter: none !important;
}

[data-theme="light"] .btn.btn-edit,
[data-theme="light"] button[data-mt-edit].btn,
[data-theme="light"] a.btn.btn-edit,
[data-theme="light"] .btn-action.edit {
  color: #1f2937 !important;
}

/* v40 — Delta Management: alignment + spacing polish */
body.delta-management-page #section-delta-management {
  padding: 18px 20px 22px !important;
  overflow: visible !important;
  gap: 22px !important;
}

body.delta-management-page .dm-categories-manager {
  margin-bottom: 0 !important;
}

body.delta-management-page .dm-multipliers-section {
  margin-top: 0 !important;
}

body.delta-management-page #multipliers-table.data-table-compact thead th.text-right,
body.delta-management-page #multipliers-table.data-table-compact tbody td.text-right {
  text-align: right !important;
}

body.delta-management-page #multipliers-table.data-table-compact thead th.text-center,
body.delta-management-page #multipliers-table.data-table-compact tbody td.text-center {
  text-align: center !important;
}

body.delta-management-page #multipliers-table.data-table-compact tbody td {
  vertical-align: middle !important;
}

body.delta-management-page #multipliers-table .dm-col-source .btn.btn-sm {
  margin-left: 6px;
  vertical-align: middle;
}

body.delta-management-page .dm-categories-linebreak {
  flex-basis: 100% !important;
  border-top: 1px solid color-mix(in srgb, var(--tbl-divider-md, rgba(255,255,255,0.12)) 70%, transparent) !important;
  margin-top: 2px !important;
  padding-top: 8px !important;
  height: 0 !important;
}

body.delta-management-page .dm-category-chip--uncat {
  align-self: flex-start;
}

/* v41 — Sidebar icon hover corners, settings glyph, borderless logout */
.sidebar-l1-split-row {
  overflow: hidden !important;
}

.sidebar .sidebar-l1-link {
  border-radius: 0 !important;
}

.sidebar .sidebar-l1-chevron-btn {
  border-radius: 0 !important;
}

.sidebar-l1-split-row:hover {
  border-radius: 16px !important;
}

.sidebar .sidebar-l1-chevron-btn:hover {
  background: rgba(145, 184, 209, 0.1) !important;
}

.sidebar-logout-btn {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.sidebar-logout-btn:hover {
  background: color-mix(in srgb, var(--color-error, #ef4444) 14%, transparent) !important;
  border: none !important;
  color: var(--color-error, #ef4444) !important;
}

@media screen and (min-width: 1025px) {
  body.app-sidebar-collapsed .sidebar-l1-split-row,
  .app-shell.app-shell--sidebar-collapsed .sidebar-l1-split-row,
  html.app-sidebar-collapsed body .sidebar-l1-split-row {
    border-radius: 12px !important;
    margin-left: 6px !important;
    margin-right: 6px !important;
  }

  body.app-sidebar-collapsed .sidebar .sidebar-l1-link:hover,
  .app-shell.app-shell--sidebar-collapsed .sidebar .sidebar-l1-link:hover,
  html.app-sidebar-collapsed body .sidebar .sidebar-l1-link:hover {
    background: transparent !important;
  }
}

