/* selno colour tokens. Generated by brand/tools/build_brand_assets.py: edit the script, then re-run.
   Contrast figures are WCAG 2 ratios; body text needs 4.5:1, large text and UI graphics 3:1. */
:root {

  /* brand */
  --selno-ink: #050628;                /* wordmark; dark surfaces; strongest text · 19.75:1 on white */
  --selno-primary: #4F5BFF;            /* UI primary on light: buttons, links, focus. White text on it passes AA · 4.91:1 on white; 4.63:1 on #F7F8FC */
  --selno-primary-strong: #3F48D0;     /* hover / pressed state of primary · 6.89:1 on white */
  --selno-primary-on-dark: #6872FF;    /* primary for text, links and icons on dark surfaces · 5.12:1 on #050628; 4.64:1 on #0E1140 */
  --selno-primary-soft: #F0EFFE;       /* tinted surface: selected rows, badges, the light card on the board · 1.14:1 on white */
  --selno-purple: #B45CFF;             /* gradient end, decoration, large type only (below AA for body text on white) · 3.55:1 on white; 5.56:1 on #050628 */
  --selno-logo-blue: #414FFD;          /* logo artwork only: back band of the o · 5.58:1 on white; 3.54:1 on #050628 */
  --selno-periwinkle: #746DFC;         /* logo artwork only: front band of the o · 3.94:1 on white */

  /* light */
  --selno-light-bg: #F7F8FC;           /* page background · 1.06:1 on white */
  --selno-light-surface: #FFFFFF;      /* cards, panels */
  --selno-light-border: #E4E7F3;       /* hairlines, dividers · 1.23:1 on white */
  --selno-light-border-strong: #8E93AA; /* input borders, anything that must reach 3:1 · 3.04:1 on white */
  --selno-light-text: #182044;         /* body text · 15.80:1 on white; 14.89:1 on #F7F8FC */
  --selno-light-text-muted: #697089;   /* secondary text at body size; the tagline under the wordmark · 4.91:1 on white; 4.62:1 on #F7F8FC */
  --selno-light-text-subtle: #737A92;  /* captions >= 18 px, placeholders, icons (3:1 use only) · 4.26:1 on white; 4.02:1 on #F7F8FC */

  /* dark */
  --selno-dark-bg: #050628;            /* page background · 19.75:1 on white */
  --selno-dark-surface: #0E1140;       /* cards, panels · 1.10:1 on #050628 */
  --selno-dark-border: #262B63;        /* hairlines, dividers · 1.51:1 on #050628 */
  --selno-dark-text: #FFFFFF;          /* body text · 19.75:1 on #050628; 17.90:1 on #0E1140 */
  --selno-dark-text-muted: #8E94B8;    /* secondary text; the tagline under the wordmark · 6.66:1 on #050628; 6.03:1 on #0E1140 */

  /* semantic */
  --selno-success: #107F6E;            /* positive change, done (text and icons on light) · 4.90:1 on white; 4.62:1 on #F7F8FC */
  --selno-success-on-dark: #1D927B;    /* positive change, done (on dark surfaces) · 5.13:1 on #050628; 4.65:1 on #0E1140 */
  --selno-success-soft: #E2F1EE;       /* positive change, done (tinted background) · 1.16:1 on white */
  --selno-warning: #926935;            /* needs attention (text and icons on light) · 4.89:1 on white; 4.61:1 on #F7F8FC */
  --selno-warning-on-dark: #B47D31;    /* needs attention (on dark surfaces) · 5.57:1 on #050628; 5.05:1 on #0E1140 */
  --selno-warning-soft: #F6EFE6;       /* needs attention (tinted background) · 1.14:1 on white */
  --selno-danger: #AC4C54;             /* negative change, errors (text and icons on light) · 5.36:1 on white; 5.05:1 on #F7F8FC */
  --selno-danger-on-dark: #BB6C73;     /* negative change, errors (on dark surfaces) · 5.18:1 on #050628; 4.69:1 on #0E1140 */
  --selno-danger-soft: #F5EAEA;        /* negative change, errors (tinted background) · 1.18:1 on white */

  /* chart */
  --selno-chart-1: #4F5BFF;            /* series 1: the product's own data · 4.91:1 on white */
  --selno-chart-1-on-dark: #4F5BFF;    /* series 1: the product's own data (on dark surfaces) · 4.02:1 on #050628; 3.64:1 on #0E1140 */
  --selno-chart-2: #12A594;            /* series 2 · 3.07:1 on white */
  --selno-chart-2-on-dark: #12A594;    /* series 2 (on dark surfaces) · 6.43:1 on #050628; 5.83:1 on #0E1140 */
  --selno-chart-3: #CF7A1E;            /* series 3 · 3.25:1 on white */
  --selno-chart-3-on-dark: #CF7A1E;    /* series 3 (on dark surfaces) · 6.07:1 on #050628; 5.50:1 on #0E1140 */
  --selno-chart-4: #B45CFF;            /* series 4 · 3.55:1 on white */
  --selno-chart-4-on-dark: #B45CFF;    /* series 4 (on dark surfaces) · 5.56:1 on #050628; 5.04:1 on #0E1140 */
  --selno-chart-5: #A8255B;            /* series 5 · 6.82:1 on white */
  --selno-chart-5-on-dark: #AF3668;    /* series 5 (on dark surfaces) · 3.34:1 on #050628; 3.03:1 on #0E1140 */
  --selno-chart-6: #7A86A8;            /* series 6: benchmark, other · 3.62:1 on white */
  --selno-chart-6-on-dark: #7A86A8;    /* series 6: benchmark, other (on dark surfaces) · 5.46:1 on #050628; 4.95:1 on #0E1140 */

  /* gradients: decoration and large elements only, never behind body text */
  --selno-gradient-brand: linear-gradient(135deg, #4F5BFF 0%, #B45CFF 100%);
  --selno-gradient-icon: linear-gradient(135deg, #414FFD 15%, #A75BFF 100%);
}
