Reject pricing until the customer picks cash or check terms, then open that payment path after the invoice.
Co-authored-by: Cursor <cursoragent@cursor.com>
Validate optional referrer code at OTP registration and persist assignedAgentId. Auto-generate unique W-XXXX codes when creating or promoting agents and backfill on agent login when missing.
Co-authored-by: Cursor <cursoragent@cursor.com>
Introduce agent level utilities/service, expand auth and notification flows, update category definitions and seed data, and wire level-aware order and suggestion handling.