/*
 * Aionis theme contract
 *
 * Components consume semantic roles only. Raw palette values live in this
 * file so light and dark themes can evolve without component rewrites.
 */

:root,
:root[data-theme="light"] {
  color-scheme: light;

  /* Foundation palette */
  --palette-slate-950: #111827;
  --palette-slate-800: #293445;
  --palette-slate-700: #3f4c5f;
  --palette-slate-600: #526071;
  --palette-slate-500: #64748b;
  --palette-slate-400: #8b98a9;
  --palette-slate-300: #aeb8c5;
  --palette-slate-control: #7f8c9f;
  --palette-slate-200: #d8dee8;
  --palette-slate-100: #eef2f7;
  --palette-slate-050: #f5f7fb;
  --palette-white: #ffffff;
  --palette-blue-800: #173ea5;
  --palette-blue-700: #1d4ed8;
  --palette-blue-600: #2563eb;
  --palette-blue-100: #dbeafe;
  --palette-blue-050: #eff6ff;
  --palette-green-800: #075e45;
  --palette-green-700: #067647;
  --palette-green-100: #d1fadf;
  --palette-amber-900: #78350f;
  --palette-amber-800: #92400e;
  --palette-amber-100: #fef3c7;
  --palette-red-800: #912018;
  --palette-red-700: #b42318;
  --palette-red-100: #fee4e2;
  --palette-cyan-800: #175cd3;
  --palette-cyan-100: #dff3ff;

  /* Page and surfaces */
  --color-page-background: var(--palette-slate-050);
  --color-page-background-raised: #eef2f7;
  --color-surface: var(--palette-white);
  --color-surface-card: var(--palette-white);
  --color-surface-popover: var(--palette-white);
  --color-surface-subtle: #f1f4f8;
  --color-surface-hover: #edf2f7;
  --color-surface-active: #e4eaf2;
  --color-surface-selected: var(--palette-blue-050);
  --color-surface-inverse: var(--palette-slate-950);
  --color-surface-glass: rgba(255, 255, 255, 0.88);
  --color-surface-glass-strong: rgba(255, 255, 255, 0.96);
  --color-session-row-background: rgba(229, 228, 223, 0.9);
  --color-session-row-hover-background: var(--palette-white);

  /* Text and icons */
  --color-text-primary: var(--palette-slate-950);
  --color-text-secondary: var(--palette-slate-700);
  --color-text-muted: var(--palette-slate-600);
  --color-text-disabled: var(--palette-slate-500);
  --color-text-inverse: var(--palette-white);
  --color-icon-primary: var(--palette-slate-800);
  --color-icon-secondary: var(--palette-slate-600);
  --color-icon-disabled: var(--palette-slate-500);

  /* Borders */
  --color-border-subtle: #e7ebf1;
  --color-border-default: #cbd3de;
  --color-border-strong: var(--palette-slate-600);
  --color-border-selected: var(--palette-blue-600);

  /* Visual hierarchy: decoration stays quiet; interaction earns emphasis. */
  --color-card-border: rgba(15, 23, 42, 0.065);
  --color-divider: rgba(15, 23, 42, 0.075);
  --color-field-background: #f7f9fc;
  --color-field-border: #d8e0ea;
  --color-field-hover-border: #b7c2d0;
  --color-button-background: transparent;
  --color-button-foreground: var(--palette-slate-700);
  --color-button-border: rgba(63, 76, 95, 0.16);
  --color-button-hover-background: #edf2f7;
  --color-button-hover-border: rgba(63, 76, 95, 0.22);
  --color-segment-background: #edf1f6;
  --color-segment-active-background: var(--palette-white);
  --color-icon-button-background: transparent;
  --color-icon-button-hover-background: #edf2f7;

  /* Interactive controls. Keep these separate from decorative card borders. */
  --color-control-background: var(--color-button-background);
  --color-control-foreground: var(--palette-slate-700);
  --color-control-border: var(--color-button-border);
  --color-control-hover-background: var(--color-button-hover-background);
  --color-control-hover-foreground: var(--palette-slate-950);
  --color-control-hover-border: var(--color-button-hover-border);
  --color-control-active-background: var(--color-surface-active);
  --color-control-active-foreground: var(--palette-slate-950);
  --color-control-active-border: var(--palette-slate-600);
  --color-control-selected-background: var(--palette-blue-100);
  --color-control-selected-foreground: var(--palette-blue-800);
  --color-control-selected-border: var(--palette-blue-600);
  --color-control-disabled-background: var(--palette-slate-050);
  --color-control-disabled-foreground: var(--palette-slate-600);
  --color-control-disabled-border: var(--palette-slate-control);

  /* Brand and links */
  --color-primary: var(--palette-blue-700);
  --color-primary-hover: var(--palette-blue-800);
  --color-primary-active: #12348c;
  --color-on-primary: var(--palette-white);
  --color-primary-subtle: var(--palette-blue-100);
  --color-primary-subtle-hover: #c7ddff;
  --color-on-primary-subtle: var(--palette-blue-800);
  --color-link: var(--palette-blue-700);
  --color-link-hover: var(--palette-blue-800);

  /* Membership identity */
  --color-membership-member: #526071;
  --color-membership-member-surface: #eef2f7;
  --color-membership-member-border: #cbd3de;
  --color-membership-super-vip: #7c3aed;
  --color-membership-super-vip-surface: #f5edff;
  --color-membership-super-vip-border: #c9a9ff;
  --color-membership-custom: #8a5a08;
  --color-membership-custom-surface: #fff5d8;
  --color-membership-custom-border: #d8ac4a;
  --color-membership-admin: #3f4650;
  --color-membership-admin-surface: #eef0f3;
  --color-membership-admin-border: #b8bec7;
  --color-membership-fluid-1: #260c1d;
  --color-membership-fluid-2: #51152f;
  --color-membership-fluid-3: #7c2948;
  --color-membership-fluid-4: #bc6b78;
  --color-membership-fluid-5: #8b553d;
  --color-membership-member-fluid-1: #0b2c22;
  --color-membership-member-fluid-2: #174c38;
  --color-membership-member-fluid-3: #2d6f50;
  --color-membership-member-fluid-4: #5c9b72;
  --color-membership-member-fluid-5: #123b2c;
  --color-membership-super-vip-fluid-1: #1d082a;
  --color-membership-super-vip-fluid-2: #431052;
  --color-membership-super-vip-fluid-3: #72216f;
  --color-membership-super-vip-fluid-4: #9a407e;
  --color-membership-super-vip-fluid-5: #7a5a26;
  --color-membership-custom-fluid-1: #fff3c4;
  --color-membership-custom-fluid-2: #f2cc70;
  --color-membership-custom-fluid-3: #d7a43f;
  --color-membership-custom-fluid-4: #f8dc91;
  --color-membership-custom-fluid-5: #c28425;
  --color-membership-custom-fluid-foreground: #2f2007;
  --color-membership-custom-fluid-muted: rgba(47, 32, 7, 0.68);
  --color-membership-custom-fluid-divider: rgba(87, 56, 7, 0.28);
  --color-membership-custom-fluid-overlay: linear-gradient(110deg, rgba(255, 255, 255, 0.14), rgba(122, 78, 10, 0.12)), radial-gradient(circle at 90% 4%, rgba(255, 255, 255, 0.32), transparent 42%);
  --color-membership-admin-fluid-1: #0b0c0f;
  --color-membership-admin-fluid-2: #1b1d22;
  --color-membership-admin-fluid-3: #30333b;
  --color-membership-admin-fluid-4: #50545f;
  --color-membership-admin-fluid-5: #727782;
  --color-membership-admin-fluid-foreground: #ffffff;
  --color-membership-admin-fluid-muted: rgba(240, 244, 249, 0.72);
  --color-membership-admin-fluid-divider: rgba(255, 255, 255, 0.22);
  --color-membership-admin-fluid-overlay: linear-gradient(110deg, rgba(4, 6, 9, 0.08), rgba(4, 6, 9, 0.38)), radial-gradient(circle at 90% 4%, rgba(255, 255, 255, 0.16), transparent 42%);
  --color-on-membership-fluid: #ffffff;
  --color-on-membership-fluid-muted: rgba(240, 247, 255, 0.72);
  --color-membership-fluid-border: rgba(255, 255, 255, 0.24);

  /* Status */
  --color-success: var(--palette-green-700);
  --color-success-strong: var(--palette-green-800);
  --color-success-subtle: var(--palette-green-100);
  --color-on-success: var(--palette-white);
  --color-on-success-subtle: var(--palette-green-800);
  --color-warning: var(--palette-amber-800);
  --color-warning-strong: var(--palette-amber-900);
  --color-warning-subtle: var(--palette-amber-100);
  --color-on-warning: var(--palette-white);
  --color-on-warning-subtle: var(--palette-amber-900);
  --color-error: var(--palette-red-700);
  --color-error-strong: var(--palette-red-800);
  --color-error-subtle: var(--palette-red-100);
  --color-on-error: var(--palette-white);
  --color-on-error-subtle: var(--palette-red-800);
  --color-info: var(--palette-cyan-800);
  --color-info-subtle: var(--palette-cyan-100);
  --color-on-info: var(--palette-white);
  --color-on-info-subtle: #123f75;

  /* Inputs and interaction */
  --color-input-background: var(--color-field-background);
  --color-input-text: var(--palette-slate-950);
  --color-input-border: var(--color-field-border);
  --color-placeholder: var(--palette-slate-500);
  --color-focus-ring: var(--palette-blue-600);
  --color-focus-ring-soft: rgba(37, 99, 235, 0.22);
  --color-selection: rgba(37, 99, 235, 0.22);
  --color-overlay: rgba(15, 23, 42, 0.48);
  --color-scrollbar-track: var(--palette-slate-100);
  --color-scrollbar-thumb: #718096;
  --color-scrollbar-thumb-hover: var(--palette-slate-600);

  /* Shadows and decorative atmosphere */
  --shadow-color: rgba(15, 23, 42, 0.1);
  --shadow-color-strong: rgba(15, 23, 42, 0.2);
  --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.055);
  --shadow-card: 0 1px 2px rgba(15, 23, 42, 0.035), 0 8px 24px rgba(15, 23, 42, 0.035);
  --shadow-card-hover: 0 2px 4px rgba(15, 23, 42, 0.045), 0 12px 30px rgba(15, 23, 42, 0.055);
  --shadow-field-inset: inset 0 1px 0 rgba(255, 255, 255, 0.28);
  --shadow-segment-active: 0 1px 3px rgba(15, 23, 42, 0.1), 0 1px 2px rgba(15, 23, 42, 0.06);
  --shadow-md: 0 10px 28px rgba(15, 23, 42, 0.09);
  --shadow-lg: 0 20px 54px var(--shadow-color-strong);
  --color-aurora-primary: rgba(37, 99, 235, 0.12);
  --color-aurora-success: rgba(6, 118, 71, 0.1);
  --color-grid-pattern: rgba(82, 96, 113, 0.1);

  /* Marketing homepage */
  --color-login-home-background-top: #b9ddc9;
  --color-login-home-background-bottom: #f5f8f6;
  --color-home-background: #f8faff;
  --color-home-background-raised: #edf4ff;
  --color-home-aurora-primary: rgba(72, 119, 221, 0.19);
  --color-home-aurora-secondary: rgba(151, 186, 255, 0.16);
  --color-home-cloud-primary: rgba(106, 146, 237, 0.2);
  --color-home-cloud-secondary: rgba(127, 164, 245, 0.16);
  --color-home-grid: rgba(53, 82, 139, 0.075);
  --color-home-pointer-glow: rgba(85, 132, 235, 0.13);
  --color-home-cursor-ring: rgba(38, 77, 153, 0.72);
  --color-home-cursor-blend: #ffffff;
  --color-home-background-shader-1: #9cc1e7;
  --color-home-background-shader-2: #dbe8f8;
  --color-home-background-shader-3: #f8faff;
  --color-home-background-shader-4: #bed4ef;
  --color-home-background-shader-5: #edf4ff;
  --color-home-brand: #3158a8;
  --color-home-heading: #202d45;
  --color-home-control-background: rgba(255, 255, 255, 0.58);
  --color-home-control-border: rgba(44, 72, 124, 0.11);
  --color-home-control-selected-background: rgba(255, 255, 255, 0.96);
  --color-home-control-selected-text: #2d55a6;
  --color-home-card-background: rgba(255, 255, 255, 0.5);
  --color-home-card-hover-background: rgba(255, 255, 255, 0.68);
  --color-home-card-border: rgba(67, 97, 153, 0.12);
  --color-home-card-hover-border: rgba(59, 99, 183, 0.3);
  --color-home-card-pointer-glow: rgba(105, 150, 246, 0.2);
  --color-home-rotating-border: conic-gradient(from var(--home-border-angle), rgba(58, 101, 194, 0.14) 0%, rgba(120, 170, 255, 0.72) 25%, rgba(58, 101, 194, 0.14) 50%, rgba(120, 170, 255, 0.72) 75%, rgba(58, 101, 194, 0.14) 100%);
  --color-home-card-title: #315bb3;
  --color-home-arrow-background: rgba(59, 99, 183, 0.08);
  --color-home-arrow-text: #315bb3;
  --shadow-home-card: 0 20px 54px rgba(48, 77, 133, 0.055);
  --shadow-home-card-hover: 0 25px 64px rgba(48, 77, 133, 0.11);
  --color-home-visual-background-start: #285b9b;
  --color-home-visual-background-end: #0b2854;
  --color-home-visual-glow: rgba(128, 175, 255, 0.44);
  --color-home-visual-border: rgba(29, 69, 126, 0.16);
  --color-home-visual-hover-border: rgba(66, 115, 200, 0.42);
  --color-home-visual-text: #f7fbff;
  --color-home-visual-muted: rgba(235, 244, 255, 0.7);
  --color-home-visual-orb-one: rgba(117, 167, 246, 0.76);
  --color-home-visual-orb-two: rgba(20, 61, 124, 0.9);
  --color-home-visual-orb-three: rgba(185, 215, 255, 0.58);
  --color-home-visual-ink-deep: rgba(20, 56, 113, 0.92);
  --color-home-visual-ink-mid: rgba(65, 112, 188, 0.72);
  --color-home-visual-ink-light: rgba(153, 192, 255, 0.62);
  --color-home-visual-ink-soft: rgba(95, 150, 232, 0.48);
  --color-home-visual-shader-1: #163b73;
  --color-home-visual-shader-2: #2e609f;
  --color-home-visual-shader-3: #7197cb;
  --color-home-visual-shader-4: #071d43;
  --color-home-visual-shader-5: #456fa6;
  --shadow-home-visual: 0 34px 82px rgba(24, 58, 116, 0.2);
  --shadow-home-visual-hover: 0 40px 96px rgba(24, 58, 116, 0.28);
  --color-home-menu-background: rgba(248, 251, 255, 0.94);
  --color-home-footer-background: rgba(248, 250, 254, 0.96);
  --color-home-footer-border: rgba(53, 82, 139, 0.09);

  /* Outer application experience: light ink wash / rice paper / graphite. */
  --color-outer-page: #dfded9;
  --color-outer-shader-1: #f4f4f1;
  --color-outer-shader-2: #a2a4a1;
  --color-outer-shader-3: #d2d2ce;
  --color-outer-shader-4: #555a56;
  --color-outer-panel: rgba(244, 243, 239, 0.76);
  --color-outer-panel-strong: rgba(251, 250, 247, 0.86);
  --color-outer-panel-soft: rgba(224, 223, 218, 0.64);
  --color-outer-field: rgba(235, 234, 230, 0.9);
  --color-outer-field-hover: rgba(247, 246, 242, 0.97);
  --color-outer-field-border: rgba(40, 44, 42, 0.14);
  --color-outer-field-disabled: rgba(229, 228, 224, 0.95);
  --color-outer-field-disabled-foreground: #555b58;
  --color-outer-field-disabled-border: #707672;
  --color-outer-border: rgba(34, 38, 36, 0.14);
  --color-outer-border-strong: rgba(30, 34, 32, 0.25);
  --color-outer-ink-primary: #202321;
  --color-outer-ink-secondary: #4e5451;
  --color-outer-ink-muted: #6d736f;
  --color-outer-accent: #343a37;
  --color-outer-accent-soft: rgba(52, 58, 55, 0.085);
  --color-outer-accent-muted: #5f6662;
  --color-outer-signal: #3f4642;
  --opacity-outer-canvas: 0.9;
  --mask-outer-canvas: none;
  --shadow-outer-stage: 0 22px 58px rgba(38, 40, 39, 0.1), 0 2px 8px rgba(38, 40, 39, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.76);
  --shadow-outer-float: 0 18px 44px rgba(31, 33, 32, 0.14), 0 3px 10px rgba(31, 33, 32, 0.05);

  /* Dashboard uses layered paper and graphite instead of a coloured wash. */
  --color-dashboard-ambient-primary: rgba(45, 49, 47, 0.05);
  --color-dashboard-ambient-secondary: rgba(91, 94, 91, 0.035);
  --color-dashboard-hero-surface: linear-gradient(135deg, rgba(248, 247, 243, 0.84), rgba(218, 217, 212, 0.72));
  --color-dashboard-hero-border: var(--color-outer-border);
  --color-dashboard-hero-glow: rgba(56, 60, 58, 0.07);
  --color-dashboard-chassis: rgba(230, 229, 224, 0.78);
  --color-dashboard-segment: rgba(242, 241, 237, 0.82);
  --color-dashboard-segment-strong: rgba(250, 249, 246, 0.9);
  --color-dashboard-segment-hover: rgba(233, 232, 227, 0.9);
  --color-dashboard-divider: rgba(39, 43, 41, 0.13);
  --color-dashboard-accent: var(--color-outer-accent);
  --color-dashboard-accent-soft: var(--color-outer-accent-soft);
  --color-dashboard-accent-muted: var(--color-outer-accent-muted);
  --color-dashboard-signal: var(--color-outer-signal);
  --color-dashboard-panel-hover-border: var(--color-outer-border-strong);
  --shadow-dashboard-stage: var(--shadow-outer-stage);
  --shadow-dashboard-float: var(--shadow-outer-float);
  /* Dashboard plot tracks are paper recesses, never white strips. */
  --color-dashboard-bar-track: rgba(67, 72, 69, 0.075);
  --color-dashboard-effort-track: rgba(67, 72, 69, 0.045);
  /* Ledger rows must remain part of the paper chassis instead of becoming a
   * stack of opaque white cards. */
  --color-dashboard-ledger-header: rgba(52, 58, 55, 0.055);
  --color-dashboard-ledger-row: rgba(244, 243, 239, 0.18);
  --color-dashboard-ledger-row-hover: rgba(52, 58, 55, 0.075);
  /* Radar scaffolding needs graphite contrast on pale rice-paper panels. */
  --color-dashboard-radar-grid: rgba(52, 58, 55, 0.26);
  --color-dashboard-radar-axis: rgba(52, 58, 55, 0.22);

  /* Charts and trading data visualisation */
  --color-chart-background: var(--palette-white);
  --color-chart-text: #334155;
  --color-chart-grid: #d8dee8;
  --color-chart-axis: #64748b;
  --color-chart-crosshair: #526071;
  --color-chart-crosshair-label: #d8dee8;
  --color-chart-session-start-line: rgba(37, 99, 235, 0.76);
  --color-chart-session-start-background: rgba(239, 246, 255, 0.96);
  --color-chart-session-start-border: rgba(37, 99, 235, 0.88);
  --color-chart-session-start-text: #1e3a8a;
  /* Candlestick palettes: palette values are data semantics, not UI chrome. */
  --color-chart-ice-coral-up-fill: #67e8f9;
  --color-chart-ice-coral-up-line: #0891b2;
  --color-chart-ice-coral-down-fill: #fb7185;
  --color-chart-ice-coral-down-line: #e11d48;
  --color-chart-ice-coral-exit-marker: #3b0764;
  --color-chart-emerald-coral-up-fill: #0f8f63;
  --color-chart-emerald-coral-up-line: #0f8f63;
  --color-chart-emerald-coral-down-fill: #d9505f;
  --color-chart-emerald-coral-down-line: #d9505f;
  --color-chart-emerald-coral-exit-marker: #172554;
  --color-chart-up: var(--color-chart-ice-coral-up-line);
  --color-chart-down: var(--color-chart-ice-coral-down-line);
  --color-chart-mono-up-fill: var(--color-chart-background);
  --color-chart-mono-up-line: #111827;
  --color-chart-mono-down-fill: #111827;
  --color-chart-mono-down-line: #111827;
  --color-chart-mono-exit-marker: #c2410c;
  --color-chart-neutral: #526071;
  --color-chart-tooltip-background: rgba(255, 255, 255, 0.97);
  --color-chart-tooltip-text: var(--palette-slate-950);
  --color-chart-series-primary: #6257d8;
  --color-chart-series-primary-strong: #4b42b8;
  --color-chart-series-positive: #14835f;
  --color-chart-series-negative: #d14b5a;
  --color-chart-series-neutral: #718096;
  --color-chart-area-positive: rgba(20, 131, 95, 0.16);
  --color-chart-area-negative: rgba(209, 75, 90, 0.14);
  --color-chart-bar-positive-start: #36b887;
  --color-chart-bar-positive-end: #14835f;
  --color-chart-bar-negative-start: #ef7a83;
  --color-chart-bar-negative-end: #cf4554;
  --color-chart-bar-neutral-start: #a2adbb;
  --color-chart-bar-neutral-end: #718096;
  --color-chart-zero-line: #7c899a;
  --color-chart-hover: #4f46c7;
  --color-chart-hover-soft: rgba(79, 70, 199, 0.15);
  --color-data-heatmap-level-1: #bbf7d0;
  --color-data-heatmap-level-2: #6ee7b7;
  --color-data-heatmap-level-3: #10b981;
  --color-data-heatmap-level-4: #047857;
  --color-data-heatmap-today: #2563eb;
  --color-trade-buy-background: #dbeafe;
  --color-trade-buy-text: #173ea5;
  --color-trade-buy-selected-background: var(--color-primary);
  --color-trade-buy-selected-text: var(--color-on-primary);
  --color-trade-sell-background: #fee4e2;
  --color-trade-sell-text: #912018;
  --color-trade-sell-selected-background: var(--color-error);
  --color-trade-sell-selected-text: var(--color-on-error);
  --color-order-entry: #245bc7;
  --color-order-entry-buy: #245bc7;
  --color-order-entry-buy-ring: rgba(36, 91, 199, 0.22);
  --color-order-entry-buy-background: rgba(237, 244, 255, 0.98);
  --color-order-entry-buy-text: #143d8c;
  --color-order-entry-sell: #c23a32;
  --color-order-entry-sell-ring: rgba(194, 58, 50, 0.22);
  --color-order-entry-sell-background: rgba(255, 241, 240, 0.98);
  --color-order-entry-sell-text: #8f201a;
  --color-order-entry-background: rgba(248, 250, 252, 0.98);
  --color-order-entry-border: #245bc7;
  --color-order-entry-text: #143d8c;
  --color-order-target: #0b7a4b;
  --color-order-target-background: rgba(235, 248, 241, 0.98);
  --color-order-target-text: #075c39;
  --color-order-stop: #a65b00;
  --color-order-stop-background: rgba(255, 246, 232, 0.98);
  --color-order-stop-text: #7b4300;
  --color-price-axis-order-background: rgba(255, 255, 255, 0.97);
  --color-price-axis-order-border: #94a3b8;
  --color-price-axis-order-shadow: rgba(15, 23, 42, 0.16);
  --color-price-axis-order-buy: #245bc7;
  --color-price-axis-order-buy-hover: #173ea5;
  --color-price-axis-order-sell: #c23a32;
  --color-price-axis-order-sell-hover: #912018;
  --color-order-pill-separator: #7b8798;
  --color-order-link: rgba(37, 99, 235, 0.68);
  --color-order-link-halo: rgba(255, 255, 255, 0.92);
  --color-trade-execution-entry-long: #245bc7;
  --color-trade-execution-entry-short: #c23a32;
  --color-trade-execution-profit: #0b7a4b;
  --color-trade-execution-loss: #b42318;
  --color-trade-execution-neutral: #64748b;
  --color-trade-execution-liquidation: #a65b00;
  --color-trade-execution-partial: #0e7490;
  --color-trade-execution-marker-surface: var(--color-chart-background);
  --color-trade-execution-marker-halo: rgba(255, 255, 255, 0.94);
  --color-trade-execution-connector-profit: #064e3b;
  --color-trade-execution-connector-loss: #7f1d1d;
  --color-trade-execution-connector-neutral: #334155;
  --opacity-trade-execution-connector: 0.88;
  --color-trade-execution-label-background: rgba(255, 255, 255, 0.94);
  --color-trade-execution-label-border: rgba(100, 116, 139, 0.34);
  --color-trade-execution-label-text: #334155;
  --color-trade-execution-label-profit: #075c39;
  --color-trade-execution-label-loss: #991b1b;
  --color-trade-execution-label-halo: rgba(255, 255, 255, 0.9);
  --color-trade-risk-reward-profit-fill: rgba(11, 122, 75, 0.17);
  --color-trade-risk-reward-profit-fill-selected: rgba(11, 122, 75, 0.22);
  --color-trade-risk-reward-profit-fill-dimmed: rgba(11, 122, 75, 0.12);
  --color-trade-risk-reward-profit-border: rgba(7, 92, 57, 0.62);
  --color-trade-risk-reward-loss-fill: rgba(180, 35, 24, 0.16);
  --color-trade-risk-reward-loss-fill-selected: rgba(180, 35, 24, 0.21);
  --color-trade-risk-reward-loss-fill-dimmed: rgba(180, 35, 24, 0.11);
  --color-trade-risk-reward-loss-border: rgba(153, 27, 27, 0.58);
  --color-trade-risk-reward-result-profit-fill: rgba(11, 122, 75, 0.16);
  --color-trade-risk-reward-result-loss-fill: rgba(180, 35, 24, 0.15);
  --color-trade-risk-reward-result-neutral-fill: rgba(71, 85, 105, 0.12);
  --color-trade-risk-reward-result-profit-stroke: #075c39;
  --color-trade-risk-reward-result-loss-stroke: #991b1b;
  --color-trade-risk-reward-result-neutral-stroke: #475569;
  --color-code-background: #e9eef5;
  --color-code-text: #293445;

  /* Bulk-close confirmation surface */
  --color-bulk-close-dialog-background: #f8fafc;
  --color-bulk-close-dialog-border: #d8e0e8;
  --color-bulk-close-dialog-text: #1f2937;
  --color-bulk-close-dialog-muted: #667385;
  --color-bulk-close-dialog-radio-border: #8794a3;
  --color-bulk-close-dialog-radio-selected: #526071;
  --color-bulk-close-dialog-radio-dot: #ffffff;
  --color-bulk-close-dialog-radio-disabled: #c3ccd6;
  --color-bulk-close-dialog-count-background: #e7edf3;
  --color-bulk-close-dialog-option-background: transparent;
  --color-bulk-close-dialog-option-hover: #eef2f6;
  --color-bulk-close-dialog-option-selected: transparent;
  --color-bulk-close-dialog-option-disabled: transparent;
  --color-bulk-close-dialog-cancel-background: #526071;
  --color-bulk-close-dialog-cancel-hover: #465365;
  --color-bulk-close-dialog-cancel-text: #ffffff;
  --color-bulk-close-dialog-confirm-background: #ffdb00;
  --color-bulk-close-dialog-confirm-text: #2b2300;
  --color-bulk-close-dialog-confirm-hover: #f5cc00;
}

:root[data-theme="dark"] {
  color-scheme: dark;

  /* Foundation palette */
  --palette-slate-950: #f3f7fb;
  --palette-slate-800: #dce5ef;
  --palette-slate-700: #c8d3df;
  --palette-slate-600: #a9b7c7;
  --palette-slate-500: #97a8ba;
  --palette-slate-400: #7b8da0;
  --palette-slate-300: #5f7286;
  --palette-slate-control: #718296;
  --palette-slate-200: #344658;
  --palette-slate-100: #1a2937;
  --palette-slate-050: #071019;
  --palette-white: #ffffff;
  --palette-blue-800: #b9d0ff;
  --palette-blue-700: #8bb4ff;
  --palette-blue-600: #78a6ff;
  --palette-blue-100: #1d3760;
  --palette-blue-050: #142a49;
  --palette-green-800: #a5f3ce;
  --palette-green-700: #5ee0a0;
  --palette-green-100: #123d31;
  --palette-amber-900: #ffe59a;
  --palette-amber-800: #f2c14e;
  --palette-amber-100: #493915;
  --palette-red-800: #ffc2c0;
  --palette-red-700: #ff8d8d;
  --palette-red-100: #4b2227;
  --palette-cyan-800: #78b7ff;
  --palette-cyan-100: #173b58;

  /* Page and surfaces */
  --color-page-background: var(--palette-slate-050);
  --color-page-background-raised: #0a1520;
  --color-surface: #0d1722;
  --color-surface-card: #111c28;
  --color-surface-popover: #172330;
  --color-surface-subtle: var(--palette-slate-100);
  --color-surface-hover: #223241;
  --color-surface-active: #2b3d4e;
  --color-surface-selected: var(--palette-blue-050);
  --color-surface-inverse: var(--palette-white);
  --color-surface-glass: rgba(13, 23, 34, 0.88);
  --color-surface-glass-strong: rgba(13, 23, 34, 0.97);
  --color-session-row-background: var(--color-surface-card);
  --color-session-row-hover-background: var(--color-surface-hover);

  /* Text and icons */
  --color-text-primary: var(--palette-slate-950);
  --color-text-secondary: var(--palette-slate-700);
  --color-text-muted: var(--palette-slate-500);
  --color-text-disabled: #718296;
  --color-text-inverse: #111827;
  --color-icon-primary: var(--palette-slate-800);
  --color-icon-secondary: var(--palette-slate-500);
  --color-icon-disabled: #718296;

  /* Borders */
  --color-border-subtle: #263647;
  --color-border-default: #3d5063;
  --color-border-strong: #8294a8;
  --color-border-selected: var(--palette-blue-600);

  /* Visual hierarchy: the dark theme uses luminance steps, not bright boxes. */
  --color-card-border: rgba(190, 207, 224, 0.09);
  --color-divider: rgba(190, 207, 224, 0.1);
  --color-field-background: #0b151f;
  --color-field-border: #2c3d4f;
  --color-field-hover-border: #465b70;
  --color-button-background: transparent;
  --color-button-foreground: var(--palette-slate-700);
  --color-button-border: rgba(190, 207, 224, 0.13);
  --color-button-hover-background: #1a2937;
  --color-button-hover-border: rgba(190, 207, 224, 0.2);
  --color-segment-background: #0b151f;
  --color-segment-active-background: #223241;
  --color-icon-button-background: transparent;
  --color-icon-button-hover-background: #1a2937;

  /* Interactive controls. Keep these separate from decorative card borders. */
  --color-control-background: var(--color-button-background);
  --color-control-foreground: var(--palette-slate-700);
  --color-control-border: var(--color-button-border);
  --color-control-hover-background: var(--color-button-hover-background);
  --color-control-hover-foreground: var(--palette-slate-950);
  --color-control-hover-border: var(--color-button-hover-border);
  --color-control-active-background: #2b3d4e;
  --color-control-active-foreground: var(--palette-slate-950);
  --color-control-active-border: var(--palette-slate-500);
  --color-control-selected-background: var(--palette-blue-100);
  --color-control-selected-foreground: #dce8ff;
  --color-control-selected-border: var(--palette-blue-600);
  --color-control-disabled-background: #111c28;
  --color-control-disabled-foreground: var(--palette-slate-600);
  --color-control-disabled-border: var(--palette-slate-control);

  /* Brand and links */
  --color-primary: var(--palette-blue-700);
  --color-primary-hover: #a8c6ff;
  --color-primary-active: #c2d6ff;
  --color-on-primary: #08111c;
  --color-primary-subtle: var(--palette-blue-100);
  --color-primary-subtle-hover: #284875;
  --color-on-primary-subtle: #dce8ff;
  --color-link: #9abaff;
  --color-link-hover: #bfd2ff;

  /* Membership identity */
  --color-membership-member: #a9b7c7;
  --color-membership-member-surface: #1a2937;
  --color-membership-member-border: #3d5063;
  --color-membership-super-vip: #d8b4fe;
  --color-membership-super-vip-surface: #34224b;
  --color-membership-super-vip-border: #7e53aa;
  --color-membership-custom: #c9c2ff;
  --color-membership-custom-surface: #2b2545;
  --color-membership-custom-border: #776aa8;
  --color-membership-admin: #e1e4e9;
  --color-membership-admin-surface: #2a2d34;
  --color-membership-admin-border: #727985;
  --color-membership-fluid-1: #160a19;
  --color-membership-fluid-2: #321035;
  --color-membership-fluid-3: #5b1e57;
  --color-membership-fluid-4: #9c4f78;
  --color-membership-fluid-5: #b06b3f;
  --color-membership-member-fluid-1: #07101f;
  --color-membership-member-fluid-2: #0d1e3d;
  --color-membership-member-fluid-3: #17356b;
  --color-membership-member-fluid-4: #2c4f98;
  --color-membership-member-fluid-5: #5c7bd1;
  --color-membership-super-vip-fluid-1: #08030b;
  --color-membership-super-vip-fluid-2: #18051f;
  --color-membership-super-vip-fluid-3: #320936;
  --color-membership-super-vip-fluid-4: #6d0e4a;
  --color-membership-super-vip-fluid-5: #b23a78;
  --color-membership-custom-fluid-1: #1c1737;
  --color-membership-custom-fluid-2: #30264f;
  --color-membership-custom-fluid-3: #55458a;
  --color-membership-custom-fluid-4: #806eb8;
  --color-membership-custom-fluid-5: #c1b5ef;
  --color-membership-custom-fluid-foreground: #fbfaff;
  --color-membership-custom-fluid-muted: rgba(239, 235, 255, 0.74);
  --color-membership-custom-fluid-divider: rgba(208, 198, 255, 0.28);
  --color-membership-custom-fluid-overlay: linear-gradient(110deg, rgba(13, 9, 35, 0.54), rgba(19, 12, 47, 0.46)), radial-gradient(circle at 90% 4%, rgba(220, 213, 255, 0.2), transparent 42%);
  --color-membership-admin-fluid-1: #e5e5e8;
  --color-membership-admin-fluid-2: #c5c6cc;
  --color-membership-admin-fluid-3: #9da0aa;
  --color-membership-admin-fluid-4: #f1f1f3;
  --color-membership-admin-fluid-5: #aaa0a5;
  --color-membership-admin-fluid-foreground: #18191e;
  --color-membership-admin-fluid-muted: rgba(24, 25, 30, 0.66);
  --color-membership-admin-fluid-divider: rgba(24, 25, 30, 0.25);
  --color-membership-admin-fluid-overlay: linear-gradient(110deg, rgba(255, 255, 255, 0.08), rgba(63, 66, 75, 0.1)), radial-gradient(circle at 90% 4%, rgba(255, 255, 255, 0.28), transparent 42%);
  --color-on-membership-fluid: #ffffff;
  --color-on-membership-fluid-muted: rgba(232, 241, 255, 0.74);
  --color-membership-fluid-border: rgba(210, 227, 255, 0.26);

  /* Status */
  --color-success: var(--palette-green-700);
  --color-success-strong: var(--palette-green-800);
  --color-success-subtle: var(--palette-green-100);
  --color-on-success: #071a13;
  --color-on-success-subtle: #c8f9df;
  --color-warning: var(--palette-amber-800);
  --color-warning-strong: var(--palette-amber-900);
  --color-warning-subtle: var(--palette-amber-100);
  --color-on-warning: #211805;
  --color-on-warning-subtle: #ffedb5;
  --color-error: var(--palette-red-700);
  --color-error-strong: var(--palette-red-800);
  --color-error-subtle: var(--palette-red-100);
  --color-on-error: #240708;
  --color-on-error-subtle: #ffd6d4;
  --color-info: var(--palette-cyan-800);
  --color-info-subtle: var(--palette-cyan-100);
  --color-on-info: #071526;
  --color-on-info-subtle: #d5ecff;

  /* Inputs and interaction */
  --color-input-background: var(--color-field-background);
  --color-input-text: var(--palette-slate-950);
  --color-input-border: var(--color-field-border);
  --color-placeholder: var(--palette-slate-500);
  --color-focus-ring: var(--palette-blue-600);
  --color-focus-ring-soft: rgba(120, 166, 255, 0.28);
  --color-selection: rgba(120, 166, 255, 0.3);
  --color-overlay: rgba(0, 4, 9, 0.68);
  --color-scrollbar-track: #111c28;
  --color-scrollbar-thumb: #5f7286;
  --color-scrollbar-thumb-hover: #8294a8;

  /* Shadows and decorative atmosphere */
  --shadow-color: rgba(0, 0, 0, 0.26);
  --shadow-color-strong: rgba(0, 0, 0, 0.44);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2);
  --shadow-card: 0 1px 2px rgba(0, 0, 0, 0.16), 0 10px 28px rgba(0, 0, 0, 0.12);
  --shadow-card-hover: 0 2px 4px rgba(0, 0, 0, 0.2), 0 14px 34px rgba(0, 0, 0, 0.18);
  --shadow-field-inset: inset 0 1px 0 rgba(255, 255, 255, 0.035);
  --shadow-segment-active: 0 1px 3px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.035);
  --shadow-md: 0 12px 34px rgba(0, 0, 0, 0.24);
  --shadow-lg: 0 24px 68px var(--shadow-color-strong);
  --color-aurora-primary: rgba(66, 113, 255, 0.16);
  --color-aurora-success: rgba(55, 208, 165, 0.12);
  --color-grid-pattern: rgba(149, 166, 184, 0.08);

  /* Marketing homepage */
  --color-login-home-background-top: #10261c;
  --color-login-home-background-bottom: #060b08;
  --color-home-background: #0b1930;
  --color-home-background-raised: #10213d;
  --color-home-aurora-primary: rgba(67, 124, 244, 0.31);
  --color-home-aurora-secondary: rgba(45, 105, 213, 0.27);
  --color-home-cloud-primary: rgba(62, 118, 226, 0.28);
  --color-home-cloud-secondary: rgba(39, 91, 190, 0.25);
  --color-home-grid: rgba(178, 204, 249, 0.095);
  --color-home-pointer-glow: rgba(117, 168, 255, 0.2);
  --color-home-cursor-ring: rgba(180, 208, 255, 0.72);
  --color-home-cursor-blend: #ffffff;
  --color-home-background-shader-1: #143568;
  --color-home-background-shader-2: #234d8d;
  --color-home-background-shader-3: #0b1930;
  --color-home-background-shader-4: #315b9d;
  --color-home-background-shader-5: #10213d;
  --color-home-brand: #a9c4ff;
  --color-home-heading: #edf4ff;
  --color-home-control-background: rgba(26, 48, 82, 0.78);
  --color-home-control-border: rgba(181, 204, 236, 0.2);
  --color-home-control-selected-background: rgba(68, 103, 158, 0.92);
  --color-home-control-selected-text: #edf4ff;
  --color-home-card-background: rgba(29, 53, 88, 0.7);
  --color-home-card-hover-background: rgba(42, 70, 112, 0.82);
  --color-home-card-border: rgba(181, 204, 236, 0.18);
  --color-home-card-hover-border: rgba(139, 180, 255, 0.48);
  --color-home-card-pointer-glow: rgba(94, 140, 238, 0.27);
  --color-home-rotating-border: conic-gradient(from var(--home-border-angle), rgba(111, 155, 237, 0.12) 0%, rgba(157, 194, 255, 0.76) 25%, rgba(111, 155, 237, 0.12) 50%, rgba(157, 194, 255, 0.76) 75%, rgba(111, 155, 237, 0.12) 100%);
  --color-home-card-title: #a9c4ff;
  --color-home-arrow-background: rgba(139, 180, 255, 0.12);
  --color-home-arrow-text: #b9ceff;
  --shadow-home-card: 0 22px 58px rgba(0, 4, 12, 0.2);
  --shadow-home-card-hover: 0 28px 72px rgba(0, 4, 12, 0.32);
  --color-home-visual-background-start: #2c65b0;
  --color-home-visual-background-end: #0d2a5a;
  --color-home-visual-glow: rgba(142, 190, 255, 0.58);
  --color-home-visual-border: rgba(159, 190, 235, 0.24);
  --color-home-visual-hover-border: rgba(151, 188, 255, 0.44);
  --color-home-visual-text: #f5f9ff;
  --color-home-visual-muted: rgba(225, 237, 255, 0.72);
  --color-home-visual-orb-one: rgba(125, 178, 255, 0.84);
  --color-home-visual-orb-two: rgba(17, 67, 143, 0.96);
  --color-home-visual-orb-three: rgba(190, 222, 255, 0.64);
  --color-home-visual-ink-deep: rgba(4, 23, 59, 0.94);
  --color-home-visual-ink-mid: rgba(35, 83, 161, 0.76);
  --color-home-visual-ink-light: rgba(126, 177, 255, 0.62);
  --color-home-visual-ink-soft: rgba(68, 129, 231, 0.52);
  --color-home-visual-shader-1: #0b2a5a;
  --color-home-visual-shader-2: #2e609f;
  --color-home-visual-shader-3: #6f9bd5;
  --color-home-visual-shader-4: #05183b;
  --color-home-visual-shader-5: #3f6daa;
  --shadow-home-visual: 0 34px 88px rgba(0, 5, 18, 0.42);
  --shadow-home-visual-hover: 0 42px 104px rgba(0, 5, 18, 0.52);
  --color-home-menu-background: rgba(17, 34, 59, 0.96);
  --color-home-footer-background: rgba(11, 25, 47, 0.98);
  --color-home-footer-border: rgba(181, 204, 236, 0.14);

  /* Outer application experience: dark is deep indigo / moon blue / teal. */
  --color-outer-page: #07101a;
  --color-outer-shader-1: #07111d;
  --color-outer-shader-2: #102740;
  --color-outer-shader-3: #12382f;
  --color-outer-shader-4: #1b2340;
  --color-outer-panel: rgba(10, 19, 31, 0.7);
  --color-outer-panel-strong: rgba(13, 24, 38, 0.86);
  --color-outer-panel-soft: rgba(19, 34, 50, 0.6);
  --color-outer-field: var(--color-input-background);
  --color-outer-field-hover: var(--color-control-hover-background);
  --color-outer-field-border: var(--color-input-border);
  --color-outer-field-disabled: var(--color-control-disabled-background);
  --color-outer-field-disabled-foreground: var(--color-control-disabled-foreground);
  --color-outer-field-disabled-border: var(--color-control-disabled-border);
  --color-outer-border: rgba(173, 203, 224, 0.14);
  --color-outer-border-strong: rgba(143, 194, 226, 0.27);
  --color-outer-accent: #8fc4e5;
  --color-outer-accent-soft: rgba(120, 184, 220, 0.13);
  --color-outer-accent-muted: #8da9bb;
  --color-outer-signal: #62d3ae;
  --color-outer-ink-primary: var(--color-text-primary);
  --color-outer-ink-secondary: var(--color-text-secondary);
  --color-outer-ink-muted: var(--color-text-muted);
  --opacity-outer-canvas: .92;
  --mask-outer-canvas: none;
  --shadow-outer-stage: 0 30px 88px rgba(0, 4, 13, 0.36), inset 0 1px 0 rgba(224, 242, 255, 0.055);
  --shadow-outer-float: 0 22px 54px rgba(0, 3, 12, 0.34);

  /* Dashboard shares the outer material while retaining a stronger stage. */
  --color-dashboard-ambient-primary: rgba(98, 174, 216, 0.12);
  --color-dashboard-ambient-secondary: rgba(64, 211, 164, 0.08);
  --color-dashboard-hero-surface: rgba(10, 19, 31, 0.61);
  --color-dashboard-hero-border: var(--color-outer-border);
  --color-dashboard-hero-glow: rgba(114, 184, 225, 0.16);
  --color-dashboard-chassis: rgba(9, 17, 28, 0.76);
  --color-dashboard-segment: rgba(16, 28, 42, 0.77);
  --color-dashboard-segment-strong: rgba(20, 35, 51, 0.9);
  --color-dashboard-segment-hover: rgba(24, 41, 58, 0.94);
  --color-dashboard-divider: rgba(183, 207, 225, 0.11);
  --color-dashboard-accent: var(--color-outer-accent);
  --color-dashboard-accent-soft: var(--color-outer-accent-soft);
  --color-dashboard-accent-muted: var(--color-outer-accent-muted);
  --color-dashboard-signal: var(--color-outer-signal);
  --color-dashboard-panel-hover-border: var(--color-outer-border-strong);
  --shadow-dashboard-stage: var(--shadow-outer-stage);
  --shadow-dashboard-float: var(--shadow-outer-float);
  /* Preserve the existing dark chart chrome while keeping the role semantic. */
  --color-dashboard-bar-track: rgba(255, 255, 255, 0.05);
  --color-dashboard-effort-track: var(--color-chart-background);
  /* Preserve the established dark ledger material through the same roles. */
  --color-dashboard-ledger-header: var(--color-surface-subtle);
  --color-dashboard-ledger-row: var(--color-surface-card);
  --color-dashboard-ledger-row-hover: var(--color-surface-hover);
  /* Dark already has sufficient grid contrast; preserve its established tone. */
  --color-dashboard-radar-grid: var(--color-chart-grid);
  --color-dashboard-radar-axis: var(--color-chart-grid);

  /* Charts and trading data visualisation */
  --color-chart-background: #08111b;
  --color-chart-text: #c4d0dd;
  --color-chart-grid: #28394a;
  --color-chart-axis: #8294a8;
  --color-chart-crosshair: #95a6b8;
  --color-chart-crosshair-label: #263747;
  --color-chart-session-start-line: rgba(96, 165, 250, 0.82);
  --color-chart-session-start-background: rgba(15, 23, 42, 0.94);
  --color-chart-session-start-border: rgba(96, 165, 250, 0.9);
  --color-chart-session-start-text: #bfdbfe;
  /* The dark palette keeps the same hue family, with bright edges on the dark plot. */
  --color-chart-ice-coral-up-fill: #67e8f9;
  --color-chart-ice-coral-up-line: #67e8f9;
  --color-chart-ice-coral-down-fill: #fb7185;
  --color-chart-ice-coral-down-line: #fb7185;
  --color-chart-ice-coral-exit-marker: #4f46e5;
  --color-chart-emerald-coral-up-fill: #32d296;
  --color-chart-emerald-coral-up-line: #32d296;
  --color-chart-emerald-coral-down-fill: #ff6b7a;
  --color-chart-emerald-coral-down-line: #ff6b7a;
  --color-chart-emerald-coral-exit-marker: #a21caf;
  --color-chart-up: var(--color-chart-ice-coral-up-line);
  --color-chart-down: var(--color-chart-ice-coral-down-line);
  --color-chart-mono-up-fill: #e5e7eb;
  --color-chart-mono-up-line: #e5e7eb;
  --color-chart-mono-down-fill: #64748b;
  --color-chart-mono-down-line: #64748b;
  --color-chart-mono-exit-marker: #f97316;
  --color-chart-neutral: #a9b7c7;
  --color-chart-tooltip-background: rgba(17, 28, 40, 0.97);
  --color-chart-tooltip-text: var(--palette-slate-950);
  --color-chart-series-primary: #a89cf5;
  --color-chart-series-primary-strong: #c4bcff;
  --color-chart-series-positive: #55d6a1;
  --color-chart-series-negative: #ff858f;
  --color-chart-series-neutral: #9cabbc;
  --color-chart-area-positive: rgba(85, 214, 161, 0.16);
  --color-chart-area-negative: rgba(255, 133, 143, 0.15);
  --color-chart-bar-positive-start: #65e1af;
  --color-chart-bar-positive-end: #279d72;
  --color-chart-bar-negative-start: #ff939b;
  --color-chart-bar-negative-end: #c95763;
  --color-chart-bar-neutral-start: #aab7c6;
  --color-chart-bar-neutral-end: #708196;
  --color-chart-zero-line: #8192a6;
  --color-chart-hover: #c2baff;
  --color-chart-hover-soft: rgba(194, 186, 255, 0.17);
  --color-data-heatmap-level-1: #064e3b;
  --color-data-heatmap-level-2: #059669;
  --color-data-heatmap-level-3: #34d399;
  --color-data-heatmap-level-4: #2dd4bf;
  --color-data-heatmap-today: #60a5fa;
  --color-trade-buy-background: #173b58;
  --color-trade-buy-text: #b9ddff;
  --color-trade-buy-selected-background: var(--color-primary);
  --color-trade-buy-selected-text: var(--color-on-primary);
  --color-trade-sell-background: #4b2227;
  --color-trade-sell-text: #ffd0ce;
  --color-trade-sell-selected-background: var(--color-error);
  --color-trade-sell-selected-text: var(--color-on-error);
  --color-order-entry: #5794f8;
  --color-order-entry-buy: #5794f8;
  --color-order-entry-buy-ring: rgba(87, 148, 248, 0.28);
  --color-order-entry-buy-background: rgba(16, 35, 59, 0.97);
  --color-order-entry-buy-text: #dce9ff;
  --color-order-entry-sell: #ff6b62;
  --color-order-entry-sell-ring: rgba(255, 107, 98, 0.3);
  --color-order-entry-sell-background: rgba(58, 23, 27, 0.97);
  --color-order-entry-sell-text: #ffe0dd;
  --color-order-entry-background: rgba(8, 17, 27, 0.96);
  --color-order-entry-border: #5794f8;
  --color-order-entry-text: #dce9ff;
  --color-order-target: #42d392;
  --color-order-target-background: rgba(10, 47, 34, 0.97);
  --color-order-target-text: #bff7dd;
  --color-order-stop: #f5a84b;
  --color-order-stop-background: rgba(53, 35, 13, 0.97);
  --color-order-stop-text: #ffe0b3;
  --color-price-axis-order-background: rgba(17, 28, 40, 0.97);
  --color-price-axis-order-border: #718296;
  --color-price-axis-order-shadow: rgba(0, 0, 0, 0.36);
  --color-price-axis-order-buy: #79a7ff;
  --color-price-axis-order-buy-hover: #a9c7ff;
  --color-price-axis-order-sell: #ff8179;
  --color-price-axis-order-sell-hover: #ffaaa4;
  --color-order-pill-separator: #718096;
  --color-order-link: rgba(120, 166, 255, 0.76);
  --color-order-link-halo: rgba(8, 17, 27, 0.94);
  --color-trade-execution-entry-long: #79a7ff;
  --color-trade-execution-entry-short: #ff8179;
  --color-trade-execution-profit: #42d392;
  --color-trade-execution-loss: #ff858f;
  --color-trade-execution-neutral: #a9b7c7;
  --color-trade-execution-liquidation: #f5a84b;
  --color-trade-execution-partial: #67e8f9;
  --color-trade-execution-marker-surface: var(--color-chart-background);
  --color-trade-execution-marker-halo: rgba(8, 17, 27, 0.95);
  --color-trade-execution-connector-profit: #8ae6bd;
  --color-trade-execution-connector-loss: #ffaaa4;
  --color-trade-execution-connector-neutral: #d4dde7;
  --opacity-trade-execution-connector: 0.8;
  --color-trade-execution-label-background: rgba(17, 28, 40, 0.94);
  --color-trade-execution-label-border: rgba(113, 130, 150, 0.5);
  --color-trade-execution-label-text: #dce5ef;
  --color-trade-execution-label-profit: #8ae6bd;
  --color-trade-execution-label-loss: #ffaaa4;
  --color-trade-execution-label-halo: rgba(8, 17, 27, 0.88);
  --color-trade-risk-reward-profit-fill: rgba(138, 230, 189, 0.26);
  --color-trade-risk-reward-profit-fill-selected: rgba(138, 230, 189, 0.34);
  --color-trade-risk-reward-profit-fill-dimmed: rgba(138, 230, 189, 0.19);
  --color-trade-risk-reward-profit-border: rgba(138, 230, 189, 0.58);
  --color-trade-risk-reward-loss-fill: rgba(255, 170, 164, 0.25);
  --color-trade-risk-reward-loss-fill-selected: rgba(255, 170, 164, 0.33);
  --color-trade-risk-reward-loss-fill-dimmed: rgba(255, 170, 164, 0.18);
  --color-trade-risk-reward-loss-border: rgba(255, 170, 164, 0.55);
  --color-trade-risk-reward-result-profit-fill: rgba(138, 230, 189, 0.24);
  --color-trade-risk-reward-result-loss-fill: rgba(255, 170, 164, 0.23);
  --color-trade-risk-reward-result-neutral-fill: rgba(212, 221, 231, 0.18);
  --color-trade-risk-reward-result-profit-stroke: #8ae6bd;
  --color-trade-risk-reward-result-loss-stroke: #ffaaa4;
  --color-trade-risk-reward-result-neutral-stroke: #d4dde7;
  --color-code-background: #172330;
  --color-code-text: #dce5ef;

  /* Bulk-close confirmation surface */
  --color-bulk-close-dialog-background: #303a41;
  --color-bulk-close-dialog-border: #303a41;
  --color-bulk-close-dialog-text: #eef3f6;
  --color-bulk-close-dialog-muted: #aeb9c1;
  --color-bulk-close-dialog-radio-border: #84919a;
  --color-bulk-close-dialog-radio-selected: #a9bec9;
  --color-bulk-close-dialog-radio-dot: #f8fafc;
  --color-bulk-close-dialog-radio-disabled: #59666d;
  --color-bulk-close-dialog-count-background: #3b474e;
  --color-bulk-close-dialog-option-background: transparent;
  --color-bulk-close-dialog-option-hover: rgba(255, 255, 255, 0.06);
  --color-bulk-close-dialog-option-selected: transparent;
  --color-bulk-close-dialog-option-disabled: rgba(255, 255, 255, 0.06);
  --color-bulk-close-dialog-cancel-background: #3e4c55;
  --color-bulk-close-dialog-cancel-hover: #465861;
  --color-bulk-close-dialog-cancel-text: #e8eef2;
  --color-bulk-close-dialog-confirm-background: #ffdb00;
  --color-bulk-close-dialog-confirm-text: #2b2300;
  --color-bulk-close-dialog-confirm-hover: #f5cc00;
}

::selection {
  background: var(--color-selection);
  color: var(--color-text-primary);
}

html {
  background: var(--color-page-background);
}

body {
  accent-color: var(--color-primary);
}

:where(a) {
  color: var(--color-link);
}

:where(a:hover) {
  color: var(--color-link-hover);
}

:where(button, input, select, textarea, a):focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px var(--color-focus-ring-soft);
}

:where(input, select, textarea)::placeholder {
  color: var(--color-placeholder);
  opacity: 1;
}

:where(button, input, select, textarea):disabled,
:where([aria-disabled="true"]) {
  border-color: var(--color-control-disabled-border);
  background: var(--color-control-disabled-background);
  color: var(--color-control-disabled-foreground);
  opacity: 1;
  cursor: not-allowed;
}

:where(code, pre, kbd, samp) {
  color: var(--color-code-text);
  background: var(--color-code-background);
}

* {
  scrollbar-color: var(--color-scrollbar-thumb) var(--color-scrollbar-track);
}

*::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

*::-webkit-scrollbar-track {
  background: var(--color-scrollbar-track);
}

*::-webkit-scrollbar-thumb {
  border: 2px solid var(--color-scrollbar-track);
  border-radius: 999px;
  background: var(--color-scrollbar-thumb);
}

*::-webkit-scrollbar-thumb:hover {
  background: var(--color-scrollbar-thumb-hover);
}

.theme-control {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  color: var(--color-text-muted);
  font-size: 12px;
}

.theme-control__icon {
  display: none;
}

.theme-select,
select[data-theme-select] {
  display: none !important;
}

.theme-picker {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
}

.theme-picker__trigger {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--color-control-border);
  border-radius: 10px;
  background: var(--color-control-background);
  color: var(--color-icon-secondary);
  box-shadow: var(--shadow-sm);
  cursor: pointer;
  transition: color 150ms ease, border-color 150ms ease, background-color 150ms ease, transform 150ms ease;
}

.theme-picker__trigger:hover {
  border-color: var(--color-control-hover-border);
  background: var(--color-control-hover-background);
  color: var(--color-icon-primary);
  transform: translateY(-1px);
}

.theme-picker.is-open .theme-picker__trigger {
  border-color: var(--color-control-active-border);
  background: var(--color-control-active-background);
  color: var(--color-icon-primary);
  transform: none;
}

.theme-picker__trigger-icon,
.theme-picker__option-icon {
  display: inline-grid;
  place-items: center;
}

.theme-picker__trigger-icon svg {
  width: 17px;
  height: 17px;
}

.theme-picker__trigger-icon svg,
.theme-picker__option-icon svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.theme-picker__menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 1600;
  width: 132px;
  padding: 7px;
  border: 1px solid var(--color-border-default);
  border-radius: 13px;
  background: var(--color-surface-popover);
  box-shadow: var(--shadow-lg);
}

.theme-picker__menu-label {
  padding: 4px 8px 6px;
  color: var(--color-text-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
}

.theme-picker__option {
  width: 100%;
  min-height: 38px;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 7px;
  padding: 0 8px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--color-text-secondary);
  text-align: left;
  cursor: pointer;
}

.theme-picker__option:hover,
.theme-picker__option:focus-visible {
  background: var(--color-surface-hover);
  color: var(--color-text-primary);
}

.theme-picker__option.is-selected {
  background: var(--color-surface-active);
  color: var(--color-text-primary);
}

.theme-picker__option-icon {
  color: var(--color-icon-secondary);
}

.theme-picker__option-icon svg {
  width: 16px;
  height: 16px;
}

.theme-picker__option-label {
  min-width: 0;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.theme-picker__check {
  color: var(--color-primary);
  font-size: 13px;
  font-weight: 800;
  opacity: 0;
  text-align: center;
}

.theme-picker__option.is-selected .theme-picker__check {
  opacity: 1;
}

.theme-picker__sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.theme-control--floating {
  position: fixed;
  top: 16px;
  right: 16px;
  z-index: 1000;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.theme-control--floating .theme-picker__trigger {
  background: var(--color-surface-glass-strong);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
