/* ============================================================
   SOTERIS COLOR SYSTEM
   Source: Soteris Brand Style Guide 2026. Palette organised as
   Primary (brand), Secondary (neutrals), Accent (emphasis).
   ============================================================ */
:root {
  /* --- Raw palette (from brand guide) --- */
  --soteris-deep-teal: #033c40;   /* Primary — brand anchor, text on light */
  --soteris-signal-blue: #0980a0; /* Primary — brand palette (see note) */
  --soteris-teal: #0e7a70;        /* Primary interactive/label teal-green (per brand collateral) */
  --soteris-signal-green: #56be95;/* Primary — growth, positive, brand */
  --soteris-sage: #96a1a0;        /* Secondary — muted neutral */
  --soteris-mint: #aceaca;        /* Accent — soft highlight */
  --soteris-mist: #34f7ed;        /* Accent — bright signal pop */
  --soteris-stone: #eae1d5;       /* Secondary — warm neutral surface */
  --soteris-ivory: #f7eee1;       /* Secondary — warm off-white */
  --soteris-cloud: #f7f6f3;       /* Secondary — coolest off-white / app bg */

  /* --- Extended tints/shades (derived, oklch-harmonised) --- */
  --soteris-deep-teal-hover: #05545a;
  --soteris-deep-teal-900: #022a2d;
  --soteris-signal-blue-hover: #0a6f8a;
  --soteris-signal-blue-50: #e6f2f6;
  --soteris-teal-hover: #0b665e;
  --soteris-teal-50: #e6f1ef;
  --soteris-signal-green-hover: #47a882;
  --soteris-signal-green-50: #eaf7f1;
  --soteris-line: #dfe4e2;        /* hairline borders on light */
  --soteris-line-strong: #c3ccc9;

  /* --- Gradients --- */
  --soteris-gradient: linear-gradient(120deg, #56be95 0%, #0980a0 100%); /* @kind color */
  --soteris-gradient-dark: linear-gradient(120deg, #0980a0 0%, #033c40 100%); /* @kind color */
  --soteris-gradient-signal: linear-gradient(120deg, #56be95 0%, #34f7ed 100%); /* @kind color */

  /* --- Semantic aliases --- */
  --color-bg: var(--soteris-ivory);
  --color-surface: #ffffff;
  --color-surface-warm: var(--soteris-ivory);
  --color-surface-sunken: var(--soteris-cloud);
  --color-surface-inverse: var(--soteris-deep-teal);

  --text-strong: var(--soteris-deep-teal);
  --text-body: #1c3538;
  --text-muted: #587072;
  --text-subtle: var(--soteris-sage);
  --text-on-dark: var(--soteris-ivory);
  --text-on-accent: var(--soteris-deep-teal);

  --color-primary: var(--soteris-teal);
  --color-primary-hover: var(--soteris-teal-hover);
  --color-accent: var(--soteris-signal-green);
  --color-brand: var(--soteris-deep-teal);

  --border-default: var(--soteris-line);
  --border-strong: var(--soteris-line-strong);
  --border-focus: var(--soteris-teal);

  /* --- Status --- */
  --status-positive: var(--soteris-signal-green);
  --status-positive-bg: var(--soteris-signal-green-50);
  --status-info: var(--soteris-teal);
  --status-info-bg: var(--soteris-teal-50);
  --status-warning: #c98a2b;
  --status-warning-bg: #f9efdd;
  --status-critical: #d16a54;
  --status-critical-bg: #faece7;
}
