/* =====================================================================
   GROWLEAFY DESIGN SYSTEM — GF tokens (Phase 1, semantic layer)
   One design language across Website · User App · Business · Partner ·
   Team · Developer · Control Center. Density differs, meaning never does.
   ===================================================================== */
:root {
  /* brand */
  --gf-primary: #12a374;
  --gf-primary-hover: #0f8d64;
  --gf-primary-soft: rgba(18, 163, 116, 0.12);
  --gf-primary-strong: #0a4026;
  --gf-on-primary: #ffffff;

  /* neutral */
  --gf-ink: #0b0f0e;
  --gf-text: #161a18;
  --gf-muted: #66706b;
  --gf-faint: #9aa39e;
  --gf-surface: #ffffff;
  --gf-surface-elevated: #ffffff;
  --gf-surface-2: #f5f7f6;
  --gf-border: #e4e9e6;
  --gf-border-2: #d3dbd6;
  --gf-background: #f7faf8;

  /* semantic */
  --gf-success: #0f8d64;
  --gf-success-soft: rgba(15, 141, 100, 0.12);
  --gf-warning: #b45309;
  --gf-warning-soft: rgba(180, 83, 9, 0.12);
  --gf-error: #c23b2e;
  --gf-error-soft: rgba(194, 59, 46, 0.12);
  --gf-info: #2f6fd0;
  --gf-info-soft: rgba(47, 111, 208, 0.12);

  /* signature palette: green stays primary; two sophisticated complements */
  --gf-deepink: #10231b;      /* almost-black green — headlines, nav, data */
  --gf-mint: #ecf6f0;         /* soft green-tinted surface — rhythm sections */
  --gf-blue: #2f6fd0;         /* digital — enterprise/API/data/connectivity, used sparingly */
  --gf-mint-2: #dcefe5;
  --gf-identity: #0f8d64;
  --gf-verified: #0f8d64;
  --gf-connected: #0f8d64;
  --gf-pending: #b45309;
  --gf-suspended: #c23b2e;
  --gf-revoked: #c23b2e;
  --gf-lost: #7c3aed;
  --gf-recovered: #2f6fd0;

  /* financial */
  --gf-fin-revenue: #0f8d64;
  --gf-fin-pending: #b45309;
  --gf-fin-refund: #2f6fd0;
  --gf-fin-failed: #c23b2e;
  --gf-fin-settled: #0a4026;

  /* typography scale */
  --gf-font: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --gf-font-mono: ui-monospace, 'SF Mono', 'Cascadia Code', Menlo, Consolas, monospace;
  --gf-type-display: 800 40px/1.08 var(--gf-font);
  --gf-type-h1: 700 30px/1.15 var(--gf-font);
  --gf-type-h2: 700 22px/1.25 var(--gf-font);
  --gf-type-h3: 700 16.5px/1.35 var(--gf-font);
  --gf-type-body: 400 14.5px/1.65 var(--gf-font);
  --gf-type-label: 700 11px/1.3 var(--gf-font);
  --gf-type-caption: 400 12px/1.5 var(--gf-font);
  --gf-type-data: 800 26px/1.1 var(--gf-font);
  --gf-type-code: 400 12.5px/1.6 var(--gf-font-mono);

  /* spacing (4px grid) */
  --gf-sp-1: 4px; --gf-sp-2: 8px; --gf-sp-3: 12px; --gf-sp-4: 16px;
  --gf-sp-5: 20px; --gf-sp-6: 24px; --gf-sp-8: 32px; --gf-sp-10: 40px; --gf-sp-12: 48px;

  /* radius */
  --gf-r-sm: 8px; --gf-r-md: 12px; --gf-r-lg: 16px; --gf-r-xl: 22px; --gf-r-pill: 999px;

  /* shadow */
  --gf-sh-sm: 0 1px 2px rgba(10, 40, 38, 0.06);
  --gf-sh-md: 0 6px 20px -8px rgba(10, 40, 38, 0.16);
  --gf-sh-lg: 0 18px 48px -22px rgba(10, 40, 38, 0.3);

  /* motion */
  --gf-ease: cubic-bezier(0.25, 0.8, 0.25, 1);
  --gf-dur-fast: 120ms; --gf-dur-med: 220ms; --gf-dur-slow: 380ms;

  /* density */
  --gf-density-comfortable: 12px;
  --gf-density-standard: 10px;
  --gf-density-compact: 6px;
}
