/* Budget Bear — Design Tokens
   Single source of truth for the visual system. */

:root {
  /* Brand color */
  --green-900: #234a2e;
  --green-800: #2d5c3a;   /* Dark Green */
  --green-700: #366a43;
  --green-600: #3e7a4d;   /* Primary Forest Green */
  --green-500: #4f9160;
  --green-400: #7fc96a;   /* Light Sage Green */
  --green-100: #d9efd6;
  --green-50:  #edf8ed;   /* Soft Mint */

  /* Neutrals */
  --white: #ffffff;
  --off-white: #f9fbf9;
  --border: #e2e8e2;
  --border-strong: #cfd8cf;
  --text: #1b1b1b;
  --text-2: #6b7280;
  --text-3: #9aa1ab;

  /* Status */
  --error: #d9534f;
  --error-bg: #fbf0ef;
  --warning: #d9a441;
  --warning-bg: #faf4e8;

  /* Semantic aliases */
  --bg: var(--off-white);
  --surface: var(--white);
  --primary: var(--green-600);
  --primary-pressed: var(--green-800);
  --accent: var(--green-400);
  --tint: var(--green-50);

  /* Typography */
  --font-sans: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display",
               "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-num: var(--font-sans);

  --fs-11: 0.6875rem;
  --fs-12: 0.75rem;
  --fs-13: 0.8125rem;
  --fs-14: 0.875rem;
  --fs-15: 0.9375rem;
  --fs-16: 1rem;
  --fs-17: 1.0625rem;
  --fs-20: 1.25rem;
  --fs-22: 1.375rem;
  --fs-26: 1.625rem;
  --fs-32: 2rem;
  --fs-40: 2.5rem;

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;

  /* Spacing (4px base) */
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-5: 1.25rem;
  --sp-6: 1.5rem;
  --sp-8: 2rem;
  --sp-10: 2.5rem;
  --sp-12: 3rem;

  /* Radii */
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-xl: 20px;
  --r-full: 999px;

  /* Elevation — soft, barely-there */
  --shadow-1: 0 1px 2px rgba(27, 43, 30, 0.05);
  --shadow-2: 0 2px 8px rgba(27, 43, 30, 0.07);
  --shadow-3: 0 8px 28px rgba(27, 43, 30, 0.12);
  --shadow-nav: 0 -1px 0 var(--border);

  /* Motion */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-inout: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 150ms;
  --dur-base: 220ms;
  --dur-slow: 360ms;

  /* Layout */
  --app-max: 430px;
  --nav-h: 64px;
  --safe-b: env(safe-area-inset-bottom, 0px);
}
