Some checks failed
CI / Unit & Component Tests (pull_request) Failing after 2m44s
CI / OCR Service Tests (pull_request) Successful in 20s
CI / Backend Unit Tests (pull_request) Successful in 4m24s
CI / fail2ban Regex (pull_request) Successful in 39s
CI / Compose Bucket Idempotency (pull_request) Successful in 59s
Extracts the mass-import block from +page.svelte into ImportStatusCard.svelte. Changes per the three UX fixes from issue #533: - RUNNING: animated spinner (animate-spin) + processed count at text-base; auto-poll at 2 s was already in place - DONE: processed count at text-base, label at text-xs uppercase tracking-widest - FAILED: maps statusCode (IMPORT_FAILED_NO_SPREADSHEET / IMPORT_FAILED_INTERNAL) to Paraglide messages — no raw German backend string rendered Adds vitest-browser tests covering spinner visibility, count display, and per-statusCode FAILED message selection. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>