/* FlowProp v2.0 tokens */
:root {
  --gray-0: #FFFFFF; --gray-50: #FAFAFA; --gray-100: #F4F4F5;
  --gray-200: #E4E4E7; --gray-300: #D4D4D8; --gray-400: #A1A1AA;
  --gray-500: #71717A; --gray-600: #52525B; --gray-700: #3F3F46;
  --gray-800: #27272A; --gray-900: #18181B; --gray-1000: #09090B;

  --accent-50: #FFF4ED; --accent-100: #FFE0CC; --accent-300: #FFB380;
  --accent-500: #FF6A00; --accent-600: #E55A00; --accent-700: #C24800;

  --brand-navy: #002E5E; --brand-navy-ink: #001B38;

  --success: #10B981; --success-bg: #ECFDF5;
  --warning: #F59E0B; --warning-bg: #FFFBEB;
  --danger: #EF4444; --danger-bg: #FEF2F2;
  --info: #006D8E; --info-bg: #ECFEFF;

  --bg-base: var(--gray-0); --bg-surface: var(--gray-0);
  --bg-subtle: var(--gray-50); --bg-muted: var(--gray-100);
  --border: var(--gray-200); --border-strong: var(--gray-300);
  --text-primary: var(--gray-900); --text-body: var(--gray-700);
  --text-muted: var(--gray-500); --text-on-accent: var(--gray-0);

  --font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px;
  --space-5: 20px; --space-6: 24px; --space-8: 32px; --space-10: 40px;
  --space-12: 48px; --space-16: 64px; --space-20: 80px; --space-24: 96px; --space-32: 128px;

  --radius-sm: 6px; --radius-md: 10px; --radius-lg: 14px; --radius-xl: 20px; --radius-full: 999px;

  --shadow-xs: 0 1px 2px rgba(0,0,0,0.04);
  --shadow-sm: 0 2px 4px rgba(0,0,0,0.04), 0 1px 2px rgba(0,0,0,0.03);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.06), 0 2px 4px rgba(0,0,0,0.04);
  --shadow-lg: 0 12px 32px rgba(0,0,0,0.08), 0 4px 8px rgba(0,0,0,0.04);
  --shadow-focus: 0 0 0 3px rgba(255,106,0,0.25);

  --ease-out: cubic-bezier(0.2, 0, 0, 1);
  --duration-fast: 120ms; --duration-base: 180ms; --duration-slow: 280ms;

  --container-max: 1200px; --nav-height: 64px;
}

*,*::before,*::after { box-sizing: border-box; }
html,body { margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font-sans);
  font-size: 16px; line-height: 1.6;
  color: var(--text-body); background: var(--bg-base);
  font-feature-settings: "ss01","cv11"; font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
h1,h2,h3,h4,h5,h6 { margin: 0; color: var(--text-primary); font-weight: 600; letter-spacing: -0.02em; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
.tabular { font-variant-numeric: tabular-nums; }
.mono { font-family: var(--font-mono); }
