*,
*::before,
*::after {
  box-sizing: border-box;
}

:root {
  --radius-control: 8px;
  --radius-pill: 9999px;
}

:root,
[data-theme="light"] {
  --bg-sidebar: #f5f5f5;
  --bg-canvas: #fcfcfd;
  --line: #e0e0e0;
  --muted: #6b7079;
  --faint: #b0b5c0;
  --ink: #23252a;
  --ink2: #3a3d44;
  --hover: #ececec;
  --active: #e3e3e6;
  --card-bg: #ffffff;
  --card-line: #ececee;
  --kbd-bg: #f7f7f8;

  --voice-cta: #23252a;
  --voice-cta-ink: #ffffff;

  --stage-kickoff: oklch(72% 0.02 270);
  --stage-design: oklch(75% 0.13 75);
  --stage-authority: oklch(68% 0.12 165);
  --stage-approved: oklch(64% 0.12 200);
  --stage-handover: oklch(58% 0.14 285);
  --stage-closed: oklch(55% 0.13 265);

  --chip-authority-bg: #f0f8f4;
  --chip-authority-line: #d8e6df;
  --chip-authority-ink: #2f7a57;
  --warn: #c2820a;
}

[data-theme="dark"] {
  --bg-sidebar: #090909;
  --bg-canvas: #0f0f11;
  --line: #1c1e21;
  --muted: #8b9098;
  --faint: #4f5358;
  --ink: #ffffff;
  --ink2: #e2e3e5;
  --hover: #1c1c1d;
  --active: #252627;
  --card-bg: #131315;
  --card-line: #1c1e21;
  --kbd-bg: #1c1c1d;
  --voice-cta: #ffffff;
  --voice-cta-ink: #0f0f11;

  --chip-authority-bg: #0e2a1e;
  --chip-authority-line: #1e3d2e;
  --chip-authority-ink: #5cba8c;
  --warn: #e0a93b;
}

html, body, #root { height: 100%; }
body {
  margin: 0;
  background: var(--bg-canvas);
  color: var(--ink);
  font-family: "Inter Variable", Inter, system-ui, -apple-system, sans-serif;
  font-feature-settings: "cv11", "ss01";
  -webkit-font-smoothing: antialiased;
}
