# Results portal redesign — design Date: 2026-10-19. Operator requests (voice, Tanglish), choices made on the visual companion mockups (`.superpowers/brainstorm/828-1792395410/`). ## Problem The results page (`web/`, FastAPI + Jinja, 127.0.0.1:8000) opens on the newest run only. A second run (20 claims) hides the first (10 claims) behind a "Run" dropdown nobody noticed, so earlier runs look lost. The front page is three quarters claims table (24 columns, sideways slider), which the operator does not want on the home page. The look is "very basic". ## What the operator chose | Question | Choice | |---|---| | Home page | **Dashboard**: Bot run card (Start / Stop / live progress), today's tiles, one big **Claim status** button | | Claim status page | **Date cards**, newest first | | A date with several runs | **All claims of the day together** (every run's rows in one list) | | One day's page | **Short table + side panel** | | Colours | **Navy & blue** (navy header, white cards on light grey, blue buttons) | | Live run's claim list | In the **Bot run card** ("Live claims" side panel) | | Search one claim over all dates | **Yes** — "Find a claim" on the Dashboard | | Approach | **A** — server pages (FastAPI + Jinja), one page per screen | ## Pages All pages share `base.html`: navy header with the title, a mode pill (VERIFY / LIVE-WRITE from `SAVE_CORRECTIONS`) and a breadcrumb (Dashboard › Claim status › 16 Oct 2026). Light grey background, white cards, blue buttons; Pass green, Fail red, Review amber everywhere. 1. **Dashboard `/`** - Bot run card — the existing Start / Stop / progress / live log, plus a **Live claims** link opening a side panel with every claim of the running (or last) run: Waiting / Checking / result. A claim with a saved result opens `/day/?claim=`. - Today tiles: claims checked today, Pass, Fail, Review (0 when no run today). - **Find a claim** box → `/claim?claim_no=…`. - Big **Claim status →** button → `/days`. - No claims table. 2. **Claim status `/days`** — one card per day (last 90 days with a run), newest first: weekday + date, claims checked, number of runs, Pass / Fail / Review and a thin colour bar. A card opens `/day/`. 3. **One day `/day/YYYY-MM-DD`** - Tiles All / Pass / Fail / Review; a tile is a filter link (`?category=Fail`). Claim # search box (`?claim_no=`). - Short table, 10 rows a page (client-side pager): #, Claim #, Time (the run's time), Payer, Result chip, Comments (one line, cut with an ellipsis). No sideways scroll. - Row click → side panel with every Charge Summary field, the run's time and mode, and the conditions/changes JSON. - `?claim=` opens that claim's panel on load (on its page). 4. **Claim history `/claim?claim_no=…`** — every saved check of claims matching the number (newest first, up to 200): date, time, mode, result, comments; each row opens `/day/?claim=`. `/?run_at=