- Replace POST /invitation/:id/accept|decline with PUT /invitation/:id
- Add DELETE /invitation/:id (full CRUD: GET, POST, PUT, DELETE)
- Validate invitation recipient exists before creating invitation (404)
- Block self-invitation (400)
- Propagate server error messages to inline card feedback
- Add Loeschen button to invitation cards (demonstrates DELETE in UI)
- Improve empty state with icon and descriptive text
- Fix login check: use HTTP 200 instead of 201 for GET /api/user
- Add encodeURIComponent for city in Ticketmaster URL
- Re-throw errors in ticketmaster.js so app.js can show user feedback
- Add JSDoc comments to all service and utility modules
- Add German labels and text throughout (de-CH locale)