## Thinking Path
<!-- 1-3 sentences: what was the goal, why this approach, what alternatives considered. -->

## What Changed
<!-- Bullet list of files/areas + what each change does. -->

## Verification
- [ ] `npx next build` passes locally
- [ ] Type-check (`npm run typecheck` or `tsc --noEmit`) clean
- [ ] Migrations applied + rolled-back in dev (if schema changed)
- [ ] RLS policies tested for cp-tables (if `cp_*` schema touched — see KAR-50)
- [ ] Manual verification in browser (golden path + at least one edge case)
- [ ] Dark mode checked (if UI change)
- [ ] German umlauts verified (`ä ö ü ß` real chars, not `ae oe ue ss`)

## Risks
<!-- What might break in production? Concurrency? RLS regression? Data migration risk? -->

## Model Used
<!-- claude-opus-4-7, claude-sonnet-4-6, claude-haiku-4-5, GPT-5, Cursor, manual, mixed. -->

## Linear / Backlog
<!-- KAR-XX issue link or note if not tracked. -->

## Checklist
- [ ] Diff is focused on one logical change
- [ ] No secrets / tokens in diff
- [ ] Commit author has real email (not `*.local` — see LRN-20260506-005, Vercel rejects builds otherwise)
- [ ] DB migration is idempotent + has down-path (if applicable)
- [ ] BMW Corporate Identity preserved on UI changes
