/* FP smart LAB — Color tokens
   Palette extracted from the Sonaflux brand decks (2026).
   Primary is Flux Blue; the four fluid domains each carry a signature hue. */
:root{
  /* ---- Brand core ---- */
  --flux-blue: #2E7FE8;        /* primary — compressed air, links, brand */
  --flux-blue-light: #8FC1F7;  /* signal gradient tail, tints */
  --flux-blue-dark: #1E63C4;   /* hover / pressed */
  --flux-blue-050: #EAF2FD;    /* soft fill / selected row */
  --flux-blue-100: #D3E4FB;

  /* ---- Fluid-domain hues ---- */
  --domain-air: #2E7FE8;       /* Compressed air  (Sonaflux AIR) */
  --domain-gas: #7B5CF0;       /* Industrial gas  (Sonaflux GAS) */
  --domain-h2:  #14B8A6;       /* Hydrogen        (Sonaflux H₂)  */
  --domain-hyd: #E8A23D;       /* Hydraulics      (Sonaflux HYD) */

  /* ---- Ink & slate neutrals ---- */
  --ink-900: #0B1220;          /* deepest — dark page background */
  --ink-800: #151E28;          /* dark card / hero block */
  --ink-700: #1E2A38;          /* dark card raised surface */
  --slate-600: #3A4A5C;        /* body text on light */
  --slate-500: #4F5B67;
  --slate-400: #6B7682;        /* muted / captions */
  --slate-300: #7C8996;        /* faint labels, disabled ink */
  --slate-200: #B9C4CE;        /* strong border on light */
  --mist-200: #DBE1E7;
  --mist-100: #E9EDF1;         /* hairline border */
  --mist-050: #F4F6F8;         /* subtle surface */
  --white: #FFFFFF;

  /* ---- Semantic status ---- */
  --status-info: #2E7FE8;
  --status-success: #14B8A6;
  --status-warning: #E8A23D;
  --status-danger: #DC4A3D;    /* derived — no red in source decks */
  --status-info-bg: #EAF2FD;
  --status-success-bg: #E1F6F2;
  --status-warning-bg: #FBF0DE;
  --status-danger-bg: #FBE7E5;

  /* ---- Semantic aliases ---- */
  --color-primary: var(--flux-blue);
  --color-primary-hover: var(--flux-blue-dark);
  --color-primary-contrast: var(--white);

  --text-strong: var(--ink-900);
  --text-body: var(--slate-600);
  --text-muted: var(--slate-400);
  --text-faint: var(--slate-300);
  --text-link: var(--flux-blue);
  --text-inverse: var(--white);
  --text-inverse-muted: #9DAAB8;

  --surface-page: var(--white);
  --surface-card: var(--white);
  --surface-subtle: var(--mist-050);
  --surface-dark: var(--ink-800);
  --surface-dark-raised: var(--ink-700);
  --surface-dark-page: var(--ink-900);

  --border-subtle: var(--mist-100);
  --border-default: var(--mist-200);
  --border-strong: var(--slate-200);
  --border-dark: #2A3644;      /* hairline on dark surfaces */

  --focus-ring: #2E7FE8;
}
