/* Clees & Ernster — Color tokens
   Brand values sampled directly from the logo file:
   logo black  #000000
   logo blue   #056CAF  (avg. of solid blue pixels)
   Contrast notes are against --ce-black (#000) unless stated. */
:root{
  /* ---- Brand: logo ---- */
  --ce-black:#000000;
  --ce-white:#FFFFFF;
  --ce-logo-blue:#056CAF;          /* exact logo blue · white text on it 5.6:1 */

  /* ---- Primary: Dunkelblau (trust, main brand colour) — same hue as logo blue, deeper ---- */
  --ce-navy-950:#030E1A;
  --ce-navy-900:#061B31;
  --ce-navy-800:#0A2A4A;
  --ce-navy-700:#0C3963;           /* PRIMARY · white text 11.9:1 */
  --ce-navy-600:#0A4A80;
  --ce-navy-500:#056CAF;           /* = logo blue */

  /* ---- Accent: bright, luminous logo blue (CTAs, highlights, data) ---- */
  --ce-blue-700:#045A92;           /* hover-dark / link on light 7.0:1 on #FFF */
  --ce-blue-600:#056CAF;           /* logo blue · CTA fill */
  --ce-blue-500:#0A84D6;           /* CTA hover on dark */
  --ce-blue-400:#3A9BE8;           /* accent text on dark 6.6:1 */
  --ce-blue-300:#6DB7F2;           /* data / highlight on dark 9.5:1 */
  --ce-blue-200:#A9D4F7;
  --ce-blue-100:#DCEEFC;
  --ce-blue-50:#EFF7FE;

  /* ---- Neutrals (cool, very slightly blue-shifted) ---- */
  --ce-gray-1000:#000000;
  --ce-gray-950:#07080A;
  --ce-gray-900:#0D0F12;
  --ce-gray-850:#13161A;
  --ce-gray-800:#1A1E23;
  --ce-gray-700:#262B32;
  --ce-gray-600:#363C45;
  --ce-gray-500:#5A626D;
  --ce-gray-400:#7D8692;           /* 5.6:1 on #000 · 5.0:1 on gray-900 */
  --ce-gray-300:#A6AEB9;           /* 9.6:1 */
  --ce-gray-200:#CDD2D9;
  --ce-gray-100:#E6E9ED;
  --ce-gray-50:#F4F6F8;
  --ce-gray-0:#FFFFFF;

  /* ---- Status ---- */
  --ce-success-400:#34C47C;        /* on dark 9.1:1 */
  --ce-success-600:#17804A;        /* on light 5.0:1 */
  --ce-warning-400:#F2B33D;        /* on dark 11.5:1 */
  --ce-warning-600:#8F5B00;        /* on light 5.9:1 */
  --ce-error-400:#F25C58;          /* on dark 6.0:1 */
  --ce-error-600:#C02A2A;          /* on light 5.9:1 */

  /* ================= Semantic — DARK (default) ================= */
  --bg-page:var(--ce-black);
  --bg-subtle:var(--ce-gray-950);
  --surface-1:var(--ce-gray-900);   /* cards */
  --surface-2:var(--ce-gray-850);   /* raised / hover */
  --surface-3:var(--ce-gray-800);   /* inputs, wells */
  --surface-brand:var(--ce-navy-700);
  --surface-brand-deep:var(--ce-navy-900);
  --surface-inverse:var(--ce-gray-50);

  --text-1:var(--ce-gray-50);       /* headings, body */
  --text-2:var(--ce-gray-300);      /* secondary */
  --text-3:var(--ce-gray-400);      /* meta, captions */
  --text-disabled:var(--ce-gray-500);
  --text-inverse:var(--ce-gray-950);
  --text-on-accent:var(--ce-white);
  --text-accent:var(--ce-blue-400);
  --text-link:var(--ce-blue-300);

  --border-1:var(--ce-gray-800);    /* hairlines */
  --border-2:var(--ce-gray-700);    /* card / input borders */
  --border-strong:var(--ce-gray-600);
  --border-accent:var(--ce-blue-500);

  --accent:var(--ce-blue-600);
  --accent-hover:var(--ce-blue-500);
  --accent-active:var(--ce-blue-700);
  --accent-soft:rgba(10,132,214,.14);
  --focus-ring:var(--ce-blue-300);

  --success:var(--ce-success-400);
  --warning:var(--ce-warning-400);
  --error:var(--ce-error-400);
  --success-soft:rgba(52,196,124,.12);
  --warning-soft:rgba(242,179,61,.12);
  --error-soft:rgba(242,92,88,.12);

  /* Data-viz series (ordered) */
  --data-1:var(--ce-blue-400);
  --data-2:var(--ce-gray-50);
  --data-3:var(--ce-blue-200);
  --data-4:var(--ce-gray-500);
  --data-5:var(--ce-navy-600);
  --data-grid:var(--ce-gray-800);
  --data-axis:var(--ce-gray-400);
}

/* ================= Semantic — LIGHT variant ================= */
[data-theme="light"]{
  --bg-page:var(--ce-white);
  --bg-subtle:var(--ce-gray-50);
  --surface-1:var(--ce-white);
  --surface-2:var(--ce-gray-50);
  --surface-3:var(--ce-gray-100);
  --surface-brand:var(--ce-navy-700);
  --surface-brand-deep:var(--ce-navy-900);
  --surface-inverse:var(--ce-gray-950);

  --text-1:var(--ce-gray-950);      /* 19.6:1 */
  --text-2:#3C434C;                 /* 10.3:1 */
  --text-3:#5A626D;                 /* 6.2:1 */
  --text-disabled:var(--ce-gray-400);
  --text-inverse:var(--ce-gray-50);
  --text-on-accent:var(--ce-white);
  --text-accent:var(--ce-blue-700);
  --text-link:var(--ce-blue-700);

  --border-1:var(--ce-gray-100);
  --border-2:var(--ce-gray-200);
  --border-strong:var(--ce-gray-400);
  --border-accent:var(--ce-blue-600);

  --accent:var(--ce-blue-600);
  --accent-hover:var(--ce-blue-700);
  --accent-active:var(--ce-navy-600);
  --accent-soft:var(--ce-blue-50);
  --focus-ring:var(--ce-blue-600);

  --success:var(--ce-success-600);
  --warning:var(--ce-warning-600);
  --error:var(--ce-error-600);
  --success-soft:#E6F5EC;
  --warning-soft:#FCF1DC;
  --error-soft:#FCE8E8;

  --data-1:var(--ce-blue-600);
  --data-2:var(--ce-gray-950);
  --data-3:var(--ce-blue-200);
  --data-4:var(--ce-gray-400);
  --data-5:var(--ce-navy-700);
  --data-grid:var(--ce-gray-100);
  --data-axis:var(--text-3);
}
