249313072b
Turning on maintenance mode locked out every admin — including ones already logged in — with no way back in from the browser. Two causes: 1. Backend (middleware/maintenance.js): the skipPaths allow-list pointed at /api/admin/login and /api/admin/auth/login, but the real admin auth routes live under /api/auth (POST /api/auth/admin/login, GET /api/auth/session). So during maintenance both the login POST and the session check 503'd. The 503 on /auth/session made the frontend read every admin as logged-out, and also tripped the axios interceptor that force-enables maintenance globally. Fixed the allow-list to the actual endpoints. 2. Frontend (MaintenanceWrapper.tsx): the maintenance screen rendered over every /admin/* route unless an admin session already existed — covering the /admin/login page itself. A logged-out admin could never reach the form to get a session (catch-22). /admin/login is now always allowed through. With both: a logged-in admin keeps working (session check passes), and a logged-out admin can reach /admin/login and sign back in, all while maintenance mode correctly blocks customers.