---
phase: 52-mobile-main-menu
plan: 01
type: execute
wave: 1
depends_on: []
files_modified:
- resources/views/layouts/app.php
- resources/scss/app.scss
- public/assets/css/app.css
autonomous: false
---
## Goal
Zamiana obecnego sidebara na pelnoekranowe menu mobilne z hamburgerem, overlay i plynnym otwieraniem/zamykaniem na urzadzeniach <= 768px.
## Purpose
Obecne menu na mobile jest nieuzywalne — sidebar staje sie horyzontalnym paskiem z overflow-x, ktory nie miesci wszystkich linkow i wymaga przewijania. Uzytkownicy mobilni nie moga sprawnie nawigowac po aplikacji.
## Output
- Hamburger button w topbarze (widoczny tylko na mobile)
- Sidebar jako fullscreen overlay z animacja slide-in z lewej
- Zamykanie przez X, tap na overlay lub nawigacje do linku
- Zachowanie pelnej struktury menu (grupy, sublinki)
## Project Context
@.paul/PROJECT.md
@.paul/ROADMAP.md
@.paul/STATE.md
## Source Files
@resources/views/layouts/app.php
@resources/scss/app.scss
## AC-1: Hamburger widoczny na mobile
```gherkin
Given urzadzenie z szerokosc viewportu <= 768px
When strona sie laduje
Then w topbarze widoczny jest przycisk hamburger (3 kreski)
And sidebar jest domyslnie ukryty
```
## AC-2: Otwarcie menu
```gherkin
Given menu mobilne jest zamkniete
When uzytkownik klika hamburger
Then sidebar wysuwa sie z lewej strony jako fullscreen overlay
And tlo jest przyciemnione (backdrop)
And body nie scrolluje sie pod overlayem
```
## AC-3: Zamkniecie menu
```gherkin
Given menu mobilne jest otwarte
When uzytkownik klika X lub backdrop lub link w menu
Then menu zamyka sie z animacja
And body odzyskuje scroll
```
## AC-4: Desktop bez zmian
```gherkin
Given urzadzenie z szerokosc viewportu > 768px
When strona sie laduje
Then sidebar wyglada i dziala identycznie jak dotychczas
And hamburger nie jest widoczny
```
Task 1: Hamburger button + mobile JS w app.php
resources/views/layouts/app.php
1. Dodaj przycisk hamburger w topbarze (przed div z nazwa uzytkownika):
- Klasa: `.topbar__hamburger`
- SVG 3 kreski (24x24), display: none na desktop
- aria-label="Otworz menu"
2. Dodaj backdrop div po sidebar: ``
3. W bloku `