feat(11-03): responsive shells and storage rows
- App.vue: mobile header with hamburger button; slide-in overlay drawer
with Teleport backdrop, translate-x-0/-translate-x-full transition;
drawer state owned by App.vue (D-04/D-05); route-change auto-close
- AdminLayout.vue: matching responsive treatment — hamburger, backdrop,
drawer, route-change close (RESP-05)
- StorageBrowser.vue: responsive grid templates
(mobile: grid-cols-[2rem_1fr_6rem], sm: +modified, md: all 5 cols);
Size hidden below md, Modified hidden below sm; action buttons get
min-w-[36px] min-h-[36px] touch targets (RESP-02, RESP-03)
- Tests: drawer open/close/backdrop-close/route-change behaviour;
admin drawer; responsive column and touch-target class assertions