diff --git a/AGENTS.md b/AGENTS.md
index dae2a0d..299611b 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -44,6 +44,31 @@ Pull requests should include a short summary, testing performed, linked issues w
Do not commit secrets, local credentials, generated build output, or machine-specific configuration. Store required environment variables in an ignored `.env` file and document safe example values in `.env.example`.
+## Standard architektoniczny: routing (obowiązkowy)
+
+Każdy nowy widok, ekran, zakładka lub podstrona **musi mieć własny, jednoznaczny adres URL** i być obsługiwana przez React Router. To twardy standard całego projektu, nie sugestia.
+
+Zasady:
+
+- **Nie buduj nawigacji na stanie.** Zakazane jako mechanizm przełączania stron: `useState('view')`, `setView`, `activeView`, `selectedPage`, `selectedTab` i pochodne.
+- **Nie przełączaj całych stron warunkowym renderowaniem** bez zmiany adresu (`{view === 'x' && }`).
+- **Do nawigacji używaj** `Link`, `NavLink`, `useNavigate` oraz tras zadeklarowanych w `Routes`.
+- **Identyfikatory obiektów trzymaj w parametrach URL**: `/oferta/:id`, `/profil/:id`, `/wiadomosci/:conversationId` — nie w stanie Reacta.
+- **Filtry, sortowanie, wyszukiwanie i paginację zapisuj w query string** wszędzie tam, gdzie użytkownik powinien móc skopiować lub odświeżyć widok.
+- **Zakładki paneli twórz jako trasy zagnieżdżone**: `/konto/ustawienia`, `/admin/uzytkownicy`.
+- **Trasy wymagające logowania zabezpieczaj `ProtectedRoute`** (`frontend/src/ProtectedRoute.tsx`). Pamiętaj, że to zabezpieczenie interfejsu — autoryzację egzekwuje backend.
+- **Nie używaj `href="#"`** ani przycisków imitujących linki.
+- **Każdy link musi działać** po odświeżeniu (F5), przy bezpośrednim wejściu z adresu, po użyciu Wstecz/Dalej i po otwarciu w nowej karcie.
+
+Gdzie co leży:
+
+- `frontend/src/routes.ts` — centralna mapa adresów (`ROUTES`) i helpery (`listingPath`, `mapPath`, `adminTabPath`). Nowy widok zaczynaj od wpisu tutaj, nie od literału ścieżki w JSX.
+- `frontend/src/ProtectedRoute.tsx` — bramka autoryzacji, obsługuje stan `loading` z `AuthProvider`.
+- `frontend/src/App.tsx` — deklaracja ``.
+- `nginx/default.conf` — `try_files $uri $uri/ /index.html` (SPA fallback, już skonfigurowany).
+
+Przed zakończeniem każdego zadania sprawdź, czy dodane widoki mają trasy i czy adres zmienia się podczas nawigacji. Jeżeli istniejący kod łamie ten standard, nie powielaj starego rozwiązania — dostosuj go do React Routera.
+
## Behavioral Guidelines To Reduce Common LLM Coding Mistakes
Tradeoff: These guidelines bias toward caution over speed. For trivial tasks, use judgment.
diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx
index 3503dd8..86d9d35 100644
--- a/frontend/src/App.tsx
+++ b/frontend/src/App.tsx
@@ -10987,7 +10987,7 @@ function HomePage({ filters, onOpenMap }: { filters: FilterState; onOpenMap: (ci