/* ============================================================
   ZURI POS — Design Tokens
   Flat-with-depth. One brand hue. Refined neutrals. Light + Dark.
   ============================================================ */

:root {
  /* Brand ramp — iris / indigo (default, overridable via Settings) */
  --brand-50:#eef0ff; --brand-100:#e0e3ff; --brand-200:#c6cbff; --brand-300:#a3a8ff;
  --brand-400:#7c7dfb; --brand-500:#5b56f0; --brand-600:#4f46e5; --brand-700:#4338ca;
  --brand-800:#372fa6; --brand-900:#2f2b83; --brand-950:#1e1b4b;

  /* Neutral slate ramp */
  --slate-50:#f8fafc; --slate-100:#f1f5f9; --slate-200:#e2e8f0; --slate-300:#cbd5e1;
  --slate-400:#94a3b8; --slate-500:#64748b; --slate-600:#475569; --slate-700:#334155;
  --slate-800:#1e293b; --slate-900:#0f172a; --slate-950:#070b16;

  /* Semantics — solid, no gradients */
  --success-50:#ecfdf5; --success-500:#10b981; --success-600:#059669; --success-700:#047857;
  --warning-50:#fffbeb; --warning-500:#f59e0b; --warning-600:#d97706; --warning-700:#b45309;
  --danger-50:#fff1f2;  --danger-500:#f43f5e;  --danger-600:#e11d48;  --danger-700:#be123c;
  --info-50:#f0f9ff;     --info-500:#0ea5e9;    --info-600:#0284c7;    --info-700:#0369a1;

  /* Spacing rhythm (4px) */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px;
  --sp-6:24px; --sp-8:32px; --sp-10:40px; --sp-12:48px; --sp-16:64px;

  /* Radius scale */
  --r-sm:6px; --r-base:9px; --r-md:12px; --r-lg:16px; --r-xl:22px; --r-full:999px;

  /* Type scale */
  --fs-xs:11.5px; --fs-sm:13px; --fs-base:14px; --fs-md:15px; --fs-lg:17px;
  --fs-xl:20px; --fs-2xl:25px; --fs-3xl:32px; --fs-4xl:42px;
  --lh-tight:1.15; --lh-snug:1.3; --lh-base:1.5;
  --font-sans:'Inter','Inter var',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-mono:'JetBrains Mono','SFMono-Regular',ui-monospace,'Cascadia Mono',Menlo,Consolas,monospace;
  --fnum:'tnum' 1,'lnum' 1; /* tabular figures */

  /* Motion */
  --ease:cubic-bezier(.4,0,.2,1);
  --ease-spring:cubic-bezier(.34,1.4,.64,1);
  --t-fast:120ms; --t-base:180ms; --t-slow:240ms;
}

/* ---------- LIGHT THEME (default) ---------- */
:root, [data-theme="light"] {
  color-scheme: light;
  --brand:var(--brand-600); --brand-strong:var(--brand-700); --brand-soft:var(--brand-50);
  --brand-ring:rgba(79,70,229,.35);

  --bg:#f4f5fb;                  /* tinted neutral app bg */
  --bg-subtle:#eceef6;
  --surface:#ffffff;             /* cards */
  --surface-2:#f8fafc;           /* nested */
  --surface-3:#f1f5f9;
  --surface-inset:#f5f7fb;
  --overlay:rgba(15,23,42,.42);

  --text:#0f172a;                /* primary */
  --text-2:#475569;              /* secondary */
  --text-3:#64748b;              /* muted */
  --text-on-brand:#ffffff;

  --border:#e6e9f2;              /* hairline */
  --border-2:#dfe3ee;
  --border-strong:#cdd4e3;

  --ring:var(--brand-ring);
  --field-bg:#ffffff;
  --field-border:#dde2ed;

  --success:var(--success-600); --success-bg:var(--success-50);
  --warning:var(--warning-600); --warning-bg:var(--warning-50);
  --danger:var(--danger-600);   --danger-bg:var(--danger-50);
  --info:var(--info-600);       --info-bg:var(--info-50);

  /* soft, low-contrast layered shadows */
  --sh-xs:0 1px 2px rgba(15,23,42,.05);
  --sh-sm:0 1px 3px rgba(15,23,42,.06),0 1px 2px rgba(15,23,42,.04);
  --sh-md:0 4px 12px -2px rgba(15,23,42,.08),0 2px 6px -2px rgba(15,23,42,.05);
  --sh-lg:0 12px 28px -6px rgba(15,23,42,.14),0 6px 12px -8px rgba(15,23,42,.08);
  --sh-xl:0 24px 56px -12px rgba(15,23,42,.20);
  --sh-brand:0 6px 20px -6px rgba(79,70,229,.45);

  /* premium accents */
  --brand-grad:linear-gradient(135deg,var(--brand-500) 0%,var(--brand-700) 100%);
  --brand-grad-soft:linear-gradient(135deg,rgba(91,86,240,.10),rgba(67,56,202,.04));
  --glass:rgba(255,255,255,.72);
  --glass-border:rgba(255,255,255,.6);
  --hairline:rgba(15,23,42,.06);
  --sidebar-bg:#0f1424;
  --sidebar-text:#b9c2d6;
  --sidebar-muted:#7180a0;
  --sidebar-active:rgba(255,255,255,.08);
  --ring-2:0 0 0 3px var(--ring);
}

/* ---------- DARK THEME ---------- */
[data-theme="dark"] {
  color-scheme: dark;
  --brand:var(--brand-500); --brand-strong:var(--brand-400); --brand-soft:rgba(91,86,240,.16);
  --brand-ring:rgba(124,125,251,.45);

  --bg:#0a0e1a;
  --bg-subtle:#070b16;
  --surface:#111726;
  --surface-2:#161d2e;
  --surface-3:#1c2436;
  --surface-inset:#0d1320;
  --overlay:rgba(3,6,15,.62);

  --text:#eef2fb;
  --text-2:#aab4c8;
  --text-3:#7d8aa3;
  --text-on-brand:#ffffff;

  --border:#222b3e;
  --border-2:#2a3447;
  --border-strong:#374155;

  --ring:var(--brand-ring);
  --field-bg:#0e1422;
  --field-border:#2a3447;

  --success:#34d399; --success-bg:rgba(16,185,129,.13);
  --warning:#fbbf24; --warning-bg:rgba(245,158,11,.13);
  --danger:#fb7185;  --danger-bg:rgba(244,63,94,.14);
  --info:#38bdf8;    --info-bg:rgba(14,165,233,.13);

  --sh-xs:0 1px 2px rgba(0,0,0,.4);
  --sh-sm:0 1px 3px rgba(0,0,0,.5),0 1px 2px rgba(0,0,0,.4);
  --sh-md:0 6px 16px -4px rgba(0,0,0,.55),0 2px 6px -2px rgba(0,0,0,.4);
  --sh-lg:0 16px 36px -8px rgba(0,0,0,.62),0 6px 14px -8px rgba(0,0,0,.5);
  --sh-xl:0 30px 64px -14px rgba(0,0,0,.7);
  --sh-brand:0 6px 22px -6px rgba(91,86,240,.6);

  --brand-grad:linear-gradient(135deg,var(--brand-400) 0%,var(--brand-600) 100%);
  --brand-grad-soft:linear-gradient(135deg,rgba(124,125,251,.14),rgba(79,70,229,.05));
  --glass:rgba(17,23,38,.72);
  --glass-border:rgba(255,255,255,.06);
  --hairline:rgba(255,255,255,.05);
  --sidebar-bg:#0b101d;
  --sidebar-text:#aab4c8;
  --sidebar-muted:#6b7896;
  --sidebar-active:rgba(255,255,255,.06);
  --ring-2:0 0 0 3px var(--ring);
}

@media (prefers-reduced-motion: reduce) {
  * { animation-duration:.001ms !important; animation-iteration-count:1 !important;
      transition-duration:.001ms !important; scroll-behavior:auto !important; }
}
