Add the SoftDeletes import and trait usage so delete() calls perform
soft deletes, preserving cancelled invitations for audit trail.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Invitations were hard-deleted when cancelled, removing the audit trail.
Add SoftDeletes trait and migration for deleted_at column so cancelled
invitations are retained for auditing purposes.
Fixes#22
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>