1. W `resources/views/orders/show.php`, w sekcji renderującej produkty zamówienia:
- Pod nazwą produktu (`original_name`) dodać blok warunkowy: jeśli `$item['personalization']` nie jest puste
- Wyświetlić personalizację w `` z ikoną lub etykietą "Personalizacja:"
- Każda linia personalizacji (split po `\n`) jako osobna linia w UI
- Escape HTML: użyć `e()` helpera na każdej linii
2. W SCSS dodać style:
- `.item-personalization` — mały font (0.85em), kolor muted, lekki padding-top
- Etykiety (tekst przed `:`) mogą być pogrubione via CSS lub pozostawione jako plain text
- Kompaktowy układ, bez nadmiernych marginesów
Avoid: Nie renderować surowego HTML z custom_fields — zawsze escape.
Avoid: Nie dodawać nowych zależności JS — to statyczny tekst.
- Otworzyć zamówienie z personalizacją w przeglądarce — personalizacja widoczna pod nazwą produktu
- Otworzyć zamówienie bez personalizacji — brak dodatkowej sekcji
- Sprawdzić XSS: wpisać `` w custom_fields shopPRO — powinno być escaped
AC-2 satisfied: personalizacja wyświetlana w UI pod nazwą produktu
## DO NOT CHANGE
- shopPRO codebase (API już zwraca custom_fields — zero zmian po stronie shopPRO)
- payload_json format i zawartość w order_items
- Istniejące kolumny i indeksy order_items
- Logika importu zamówień poza mapowaniem items (OrderImportRepository::upsertOrderAggregate flow)
## SCOPE LIMITS
- Tylko personalizacja z shopPRO (nie Allegro, nie Erli)
- Tylko widok szczegółów zamówienia — bez zmian na liście zamówień
- Bez edycji personalizacji w orderPRO — read-only display
- Bez parsowania personalizacji do struktury klucz-wartość (JSON) — plain text wystarczy
Before declaring plan complete:
- [ ] Migracja wykonuje się bez błędów
- [ ] SCSS kompiluje się bez błędów
- [ ] Zamówienie z personalizacją — dane widoczne w UI
- [ ] Zamówienie bez personalizacji — brak sekcji w UI
- [ ] Brak regresji w istniejącym wyświetlaniu produktów
- [ ] XSS escape działa poprawnie
- [ ] Aktualizacja DOCS/DB_SCHEMA.md i DOCS/ARCHITECTURE.md
- Wszystkie taski zakończone
- Wszystkie weryfikacje przechodzą
- Brak błędów PHP/SCSS
- Personalizacja widoczna w UI dla produktów z custom_fields