Register web.php in bootstrap/app.php (was missing, so the route was never loaded). Add null checks for all model queries with helpful error messages instead of TypeErrors. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add email branding columns to organisations table (logo, color, reply-to, sender name, footer) - Create MailBrandingService for resolving per-org branding with defaults - Create CrewliMailable abstract base class with branded from/reply-to - Create shared Blade layout (mail.layouts.crewli) with inline CSS - Refactor Registration*Mail and InvitationMail to extend CrewliMailable - Add config/crewli.php for platform-wide defaults (portal_url, app_url, logo) - Add dev-only /mail-preview/{type} route for browser email previewing - Update Organisation model, resource, and form requests with branding fields Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>