# Task 05 — The login page **Phase:** `11_admin_login` · **Source:** operator request 2026-10-17 — "password protect this dashboard" **Story:** n/a ## Objective A single-purpose page at `/login` that asks for the admin password, says honestly why it refused, and lands the operator on `/` (or the page they were heading to). Hand-rolled HTML + one small script, no CDN, dark/light parity with the dashboards. ## Work 1. `src/dashboards/web/pages/login.html` — modelled on the other four pages' `` (`/static/dash.css`, the same inline SVG favicon, `data-theme="dark"` so `app.js` can flip it from `localStorage` before paint): - title `Homelab · sign in`; the `.masthead` brand link, but **no** `.tabs` nav — the tabs lead to pages that would bounce straight back here, and a nav of links that all redirect is a lie about what is available. - one `.card` in `main`: `

Sign in

`, a `.sub` line naming what this protects ("the fleet's system, engine and battery dashboards — including the UPS controls"), then a form: `` + `` + ``. - a `