:root {
  /* ============================================================
     MANOVEDH DESIGN TOKENS (Deep Green + Mint brand family)
     ============================================================ */

  /* ---- Deep Green + Mint Primary ---- */
  --color-primary-50: #EEF8F0;
  --color-primary-100: #DAF1DE;
  --color-primary-200: #B4D3BC;
  --color-primary-300: #8EB69B;
  --color-primary-400: #59846D;
  --color-primary-500: #235347;
  --color-primary-600: #1C453C;
  --color-primary-700: #163832;
  --color-primary-800: #0B2B26;
  --color-primary-900: #051F20;

  /* ---- Semantic ---- */
  --color-success: #10B981;
  --color-warning: #F59E0B;
  --color-error: #EF4444;
  --color-info: #6366F1;

  /* ---- Neutral Scale (green-tinted) ---- */
  --neutral-50: #F2FAF4;
  --neutral-100: #E6F5EA;
  --neutral-200: #CBEBd1;
  --neutral-300: #A8D3B4;
  --neutral-400: #7FA994;
  --neutral-500: #5C8A73;
  --neutral-600: #35554B;
  --neutral-700: #233F37;
  --neutral-800: #162E28;
  --neutral-900: #051F20;

  /* ---- Tone System (green-derived, Tints = opacity of deepest green) ---- */
  --color-ink: #051F20;
  --color-cream: #DAF1DE;
  --color-cream-light: #FFFFFF;
  --color-ink-3: rgba(5, 31, 32, 0.03);
  --color-ink-4: rgba(5, 31, 32, 0.04);
  --color-ink-40: rgba(5, 31, 32, 0.40);
  --color-ink-82: rgba(5, 31, 32, 0.82);
  --color-ink-83: rgba(5, 31, 32, 0.83);
  --color-surface: #FFFFFF;
  --color-border-warm: #8EB69B;
  --color-border-ink: #235347;

  /* ---- Safe Area & Touch Tokens ---- */
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --touch-target-min: 44px;

  /* ---- Typography ---- */
  --font-sans: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  --font-heading: 'Plus Jakarta Sans', system-ui, sans-serif;
  --font-display: 'Plus Jakarta Sans', system-ui, sans-serif;

  --text-display: clamp(1.75rem, 4vw + 0.75rem, 2.25rem);
  --text-h1: clamp(1.4rem, 2.8vw + 0.6rem, 1.875rem);
  --text-h2: clamp(1.2rem, 2vw + 0.5rem, 1.5rem);
  --text-h3: clamp(1.1rem, 1.5vw + 0.4rem, 1.25rem);
  --text-h4: 1.125rem;
  --text-body: 1rem;
  --text-body-sm: 0.875rem;
  --text-caption: 0.75rem;

  /* ---- Spacing ---- */
  --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;

  /* ---- Radius ---- */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-2xl: 24px;
  --radius-pill: 9999px;

  /* ---- Shadows ---- */
  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.07);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.08);
  --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1);
  --shadow-soft: 0 2px 16px rgb(0 0 0 / 0.06);
  --shadow-inset-btn: rgba(255,255,255,0.2) 0 0.5px 0 0 inset, rgba(0,0,0,0.2) 0 0 0 0.5px inset, rgba(0,0,0,0.05) 0 1px 2px 0;
  --shadow-focus: rgba(0, 0, 0, 0.1) 0 4px 12px;

  /* ---- Transitions ---- */
  --transition-fast: 150ms;
  --transition-base: 200ms;
  --transition-slow: 300ms;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}