/* ============================================================
   Cobalt Design System — vendored tokens (SSOT)
   출처: Greencar-UXD/design-system (colors / typography / spacing)
   대시보드는 이 파일의 토큰을 var()로 참조한다.
   ※ Geist Mono(--font-mono)는 정의만 두고 사용하지 않음(사용자 요청).
   ============================================================ */

/* ---------- COLORS ---------- */
:root {
  /* Neutral ramp (cool-leaning gray) */
  --gray-0:#ffffff; --gray-50:#f7f8f9; --gray-100:#eceef1; --gray-200:#dde0e5;
  --gray-300:#c5cad1; --gray-400:#9aa1ab; --gray-500:#6b727d; --gray-600:#4d535d;
  --gray-700:#383d45; --gray-800:#24282e; --gray-900:#14171b; --gray-950:#0c0e11;
  /* Cobalt ramp (signature accent) */
  --cobalt-50:#eef2ff; --cobalt-100:#dde5ff; --cobalt-200:#bccbff; --cobalt-300:#93acff;
  --cobalt-400:#5e84ff; --cobalt-500:#2d5bff; --cobalt-600:#2447e0; --cobalt-700:#1f3bb8;
  --cobalt-800:#1c328f; --cobalt-900:#1a2d70;
  /* Status ramps */
  --success-500:#0fa968; --success-600:#0c8a54; --success-50:#e2f6ed;
  --warning-500:#d9870b; --warning-600:#b56e08; --warning-50:#fbf2df;
  --danger-500:#e0433a;  --danger-600:#c5352d;  --danger-50:#fbe9e8;

  /* Semantic — LIGHT */
  --text-primary:var(--gray-900); --text-secondary:var(--gray-600); --text-tertiary:var(--gray-400);
  --text-inverse:var(--gray-0); --text-link:var(--cobalt-600); --text-accent:var(--cobalt-600);
  --surface-page:var(--gray-50); --surface-card:var(--gray-0); --surface-sunken:var(--gray-100);
  --surface-raised:var(--gray-0); --surface-inverse:var(--gray-900); --surface-accent-subtle:var(--cobalt-50);
  --border:var(--gray-200); --border-strong:var(--gray-300); --border-accent:var(--cobalt-500);
  --accent:var(--cobalt-500); --accent-hover:var(--cobalt-600); --on-accent:var(--gray-0); --focus-ring:var(--cobalt-500);
  --action-primary-bg:var(--gray-900); --action-primary-bg-hover:var(--gray-800); --action-primary-fg:var(--gray-0);
  --info-500:var(--cobalt-500); --info-50:var(--cobalt-50);
  /* Data-viz categorical (mono + cobalt led) */
  --chart-1:#2d5bff; --chart-2:#0fa968; --chart-3:#d9870b; --chart-4:#8b5cf6; --chart-5:#e0433a; --chart-6:#6b727d;
}
/* Semantic — DARK */
[data-theme="dark"] {
  --text-primary:#f3f4f6; --text-secondary:#9aa1ab; --text-tertiary:#6b727d;
  --text-inverse:var(--gray-900); --text-link:#7d97ff; --text-accent:#7d97ff;
  --surface-page:#0d0f12; --surface-card:#16181d; --surface-sunken:#1d2025;
  --surface-raised:#1d2025; --surface-inverse:var(--gray-50); --surface-accent-subtle:#18203f;
  --border:#262a30; --border-strong:#343943; --border-accent:#5b7cff;
  --accent:#5b7cff; --accent-hover:#7d97ff; --on-accent:#0d0f12; --focus-ring:#5b7cff;
  --action-primary-bg:#f3f4f6; --action-primary-bg-hover:#ffffff; --action-primary-fg:#0d0f12;
  --info-50:#18203f; --success-50:#0e2d20; --warning-50:#2e2410; --danger-50:#371613;
}

/* ---------- TYPOGRAPHY ---------- */
:root {
  --font-display:"Pretendard Variable","Pretendard",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;
  --font-text:"Pretendard Variable","Pretendard",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;
  --font-mono:"Geist Mono",ui-monospace,"SFMono-Regular","JetBrains Mono","D2Coding",monospace; /* 미사용 */
  --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700;
  --fs-2xs:10px; --fs-caption:12px; --fs-sm:14px; --fs-base:16px; --fs-lg:20px;
  --fs-h4:24px; --fs-h3:28px; --fs-h2:32px; --fs-h1:36px; --fs-display:40px;
  --lh-tight:1.05; --lh-snug:1.18; --lh-normal:1.45; --lh-body:1.6; --lh-relaxed:1.72;
  --ls-tighter:-0.035em; --ls-tight:-0.02em; --ls-snug:-0.01em; --ls-normal:0; --ls-wide:0.04em; --ls-caps:0.13em;
}

/* ---------- SPACING / RADIUS / SHADOW / MOTION ---------- */
:root {
  --space-0:0; --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px;
  --space-6:24px; --space-7:28px; --space-8:32px; --space-10:40px; --space-12:48px;
  --space-16:64px; --space-20:80px; --space-24:96px;
  --radius-xs:4px; --radius-sm:8px; --radius-md:12px; --radius-lg:16px; --radius-xl:20px; --radius-2xl:28px; --radius-pill:999px;
  --shadow-xs:0 1px 2px rgba(16,18,29,.05);
  --shadow-sm:0 1px 2px rgba(16,18,29,.06),0 1px 3px rgba(16,18,29,.04);
  --shadow-md:0 2px 4px rgba(16,18,29,.05),0 8px 16px -8px rgba(16,18,29,.12);
  --shadow-lg:0 4px 8px rgba(16,18,29,.05),0 20px 40px -16px rgba(16,18,29,.18);
  --ease-out:cubic-bezier(.2,.8,.2,1); --ease-in-out:cubic-bezier(.4,0,.2,1);
  --dur-fast:120ms; --dur-base:200ms; --dur-slow:320ms;
}
[data-theme="dark"] {
  --shadow-xs:0 1px 2px rgba(0,0,0,.35);
  --shadow-sm:0 1px 2px rgba(0,0,0,.4),0 1px 3px rgba(0,0,0,.3);
  --shadow-md:0 2px 4px rgba(0,0,0,.4),0 8px 16px -8px rgba(0,0,0,.5);
}
