Der bisherige alert() maskierte die eigentliche Ursache (Vertrag nicht gefunden / Kein Zugriff / Decrypt-Fehler). Ersetzt durch Toast mit Backend-Message + console.error mit Stacktrace, plus Info-Toast wenn die SIM in der DB gar keine PIN/PUK hinterlegt hat. Endpoint (GET /contracts/simcard/:id/credentials) und Auditing unverändert. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>