/* KDS — semantic tokens. App = dark; white cards override to light via [data-theme="light"]. */
:root{
  --bg-primary:#1A2F4B;
  --surface-primary:#243B5A;
  --surface-secondary:#2D4669;
  --text-primary:#FFFFFF;
  --text-secondary:#A0AEC0;
  --text-placeholder:#8295AD;
  /* ── ICON (global DS naming · KDS colours) ── */
  --color-icon-primary:#FFFFFF;
  --color-icon-secondary:#A0AEC0;
  --color-icon-tertiary:#8295AD;
  --color-icon-primary-inverse:#10243C;
  --color-icon-constant:#FFFFFF;
  --color-icon-info:#3F8DFD;
  --color-icon-negative:#FF5C5C;
  --color-icon-positive:#42D68C;
  --color-icon-brand-primary:#3F8DFD;
  --border-primary:#3E5677;
  --border-active:#3F8DFD;
  --status-success:#42D68C;
  --status-fail:#FF5C5C;
  --status-attention:#FD9C3F;
  /* Primary — buttons & segment control use this gradient */
  --primary:#3F8DFD;
  --gradient-primary:linear-gradient(205deg, #4C9AFF 0%, #0052CC 100%);
  /* Brand background pattern ink — white on the dark app */
  --pattern-ink:#FFFFFF;
}
[data-theme="light"]{
  --bg-primary:#FFFFFF;
  --surface-primary:#F7FAFC;
  --surface-secondary:#FFFFFF;
  --text-primary:#10243C;
  --text-secondary:#3C4F65;
  --text-placeholder:#8A95A3;
  /* ── ICON (global DS naming · KDS colours) ── */
  --color-icon-primary:#10243C;
  --color-icon-secondary:#8A95A3;
  --color-icon-tertiary:#A0AEC0;
  --color-icon-primary-inverse:#FFFFFF;
  --color-icon-constant:#FFFFFF;
  --color-icon-info:#3F8DFD;
  --color-icon-negative:#FF4747;
  --color-icon-positive:#2CB16D;
  --color-icon-brand-primary:#3F8DFD;
  --border-primary:#E2E8F0;
  --border-active:#3F8DFD;
  --status-success:#2CB16D;
  --status-fail:#FF4747;
  --status-attention:#FD9C3F;
  /* Primary gradient stays the same in both themes */
  --primary:#3F8DFD;
  --gradient-primary:linear-gradient(205deg, #4C9AFF 0%, #0052CC 100%);
  /* Brand background pattern ink — grey-50 on light surfaces */
  --pattern-ink:#FAFAFA;
}
