/* ── Oqim Color System ──────────────────────────────────────────
   Minimal, white-first. Emerald accent. Sharp neutrals.
   Base palette → semantic aliases. Dark theme overrides at bottom. */

:root {
  /* ── Brand / accent — Emerald ── */
  --emerald-50:  #ecfdf5;
  --emerald-100: #d1fae5;
  --emerald-200: #a7f3d0;
  --emerald-300: #6ee7b7;
  --emerald-400: #34d399;
  --emerald-500: #10b981;
  --emerald-600: #059669;  /* primary accent */
  --emerald-700: #047857;
  --emerald-800: #065f46;
  --emerald-900: #064e3b;

  /* ── Neutral — cool slate ── */
  --neutral-0:   #ffffff;
  --neutral-25:  #fbfcfd;
  --neutral-50:  #f7f9fa;
  --neutral-100: #eef1f4;
  --neutral-150: #e4e8ec;
  --neutral-200: #d6dce1;
  --neutral-300: #b9c2cb;
  --neutral-400: #94a1ad;
  --neutral-500: #6b7884;
  --neutral-600: #4f5a65;
  --neutral-700: #3a434c;
  --neutral-800: #262d34;
  --neutral-900: #161b20;
  --neutral-950: #0c0f12;

  /* ── Semantic raw scales ── */
  --blue-50:  #eff6ff;  --blue-100: #dbeafe;  --blue-500: #3b82f6;  --blue-600: #2563eb;  --blue-700: #1d4ed8;
  --amber-50: #fffbeb;  --amber-100:#fef3c7;  --amber-500:#f59e0b;  --amber-600:#d97706;  --amber-700:#b45309;
  --red-50:   #fef2f2;  --red-100:  #fee2e2;  --red-500:  #ef4444;  --red-600:  #dc2626;  --red-700:  #b91c1c;
  --green-50: #f0fdf4;  --green-100:#dcfce7;  --green-500:#22c55e;  --green-600:#16a34a;  --green-700:#15803d;
  --violet-50:#f5f3ff;  --violet-100:#ede9fe; --violet-500:#8b5cf6; --violet-600:#7c3aed;

  /* ── Semantic aliases (light) ── */
  --accent:            var(--emerald-600);
  --accent-hover:      var(--emerald-700);
  --accent-active:     var(--emerald-800);
  --accent-soft:       var(--emerald-50);
  --accent-soft-bd:    var(--emerald-200);
  --accent-contrast:   #ffffff;

  --bg-app:            var(--neutral-50);
  --bg-canvas:         var(--neutral-25);
  --surface:           var(--neutral-0);
  --surface-raised:    var(--neutral-0);
  --surface-sunken:    var(--neutral-50);
  --surface-hover:     var(--neutral-100);
  --sidebar-bg:        var(--neutral-900);
  --sidebar-fg:        var(--neutral-300);
  --sidebar-fg-strong: var(--neutral-0);
  --sidebar-hover:     rgba(255,255,255,0.06);
  --sidebar-active:    rgba(16,185,129,0.16);

  --text-primary:      var(--neutral-900);
  --text-secondary:    var(--neutral-600);
  --text-tertiary:     var(--neutral-500);
  --text-disabled:     var(--neutral-400);
  --text-inverse:      var(--neutral-0);
  --text-accent:       var(--emerald-700);
  --text-link:         var(--emerald-700);

  --border:            var(--neutral-150);
  --border-strong:     var(--neutral-200);
  --border-subtle:     var(--neutral-100);
  --focus-ring:        rgba(5,150,105,0.35);

  /* status pairs: bg / border / text */
  --success-bg: var(--green-50);  --success-bd: #bbf7d0; --success-fg: var(--green-700); --success-solid: var(--green-600);
  --warning-bg: var(--amber-50);  --warning-bd: #fde68a; --warning-fg: var(--amber-700); --warning-solid: var(--amber-500);
  --danger-bg:  var(--red-50);    --danger-bd:  #fecaca; --danger-fg:  var(--red-700);   --danger-solid:  var(--red-600);
  --info-bg:    var(--blue-50);   --info-bd:    #bfdbfe; --info-fg:    var(--blue-700);  --info-solid:    var(--blue-600);
  --neutral-tag-bg: var(--neutral-100); --neutral-tag-fg: var(--neutral-600);

  /* chart sequence */
  --chart-1: var(--emerald-600);
  --chart-2: var(--blue-500);
  --chart-3: var(--amber-500);
  --chart-4: var(--violet-500);
  --chart-5: var(--neutral-400);
}

/* ── Dark theme ── */
[data-theme="dark"] {
  --accent:            var(--emerald-500);
  --accent-hover:      var(--emerald-400);
  --accent-active:     var(--emerald-300);
  --accent-soft:       rgba(16,185,129,0.12);
  --accent-soft-bd:    rgba(16,185,129,0.30);
  --accent-contrast:   var(--neutral-950);

  --bg-app:            var(--neutral-950);
  --bg-canvas:         #08090b;
  --surface:           var(--neutral-900);
  --surface-raised:    var(--neutral-800);
  --surface-sunken:    var(--neutral-950);
  --surface-hover:     var(--neutral-800);
  --sidebar-bg:        #08090b;
  --sidebar-fg:        var(--neutral-400);
  --sidebar-fg-strong: var(--neutral-0);
  --sidebar-hover:     rgba(255,255,255,0.05);
  --sidebar-active:    rgba(16,185,129,0.18);

  --text-primary:      var(--neutral-50);
  --text-secondary:    var(--neutral-300);
  --text-tertiary:     var(--neutral-400);
  --text-disabled:     var(--neutral-600);
  --text-inverse:      var(--neutral-950);
  --text-accent:       var(--emerald-400);
  --text-link:         var(--emerald-400);

  --border:            var(--neutral-800);
  --border-strong:     var(--neutral-700);
  --border-subtle:     rgba(255,255,255,0.06);
  --focus-ring:        rgba(16,185,129,0.45);

  --success-bg: rgba(34,197,94,0.12);  --success-bd: rgba(34,197,94,0.30); --success-fg: #6ee7b7;
  --warning-bg: rgba(245,158,11,0.12); --warning-bd: rgba(245,158,11,0.30); --warning-fg: #fcd34d;
  --danger-bg:  rgba(239,68,68,0.12);  --danger-bd:  rgba(239,68,68,0.30);  --danger-fg:  #fca5a5;
  --info-bg:    rgba(59,130,246,0.12); --info-bd:    rgba(59,130,246,0.30); --info-fg:    #93c5fd;
  --neutral-tag-bg: var(--neutral-800); --neutral-tag-fg: var(--neutral-300);
}
