# Senior Court Monitor (Mobile) — Screen Inventory

> Source: `docs/design/SCREEN_LIST.md` "Senior Court Monitor (SCM)" block (6 role screens) + the shared Auth screens (Module 0) the role passes through on login, **plus one added read-only Team / Zone status view** for this senior role. Surface = Mobile (Flutter) portrait. GZ scope = `own · team`.
> **Pixel target:** the `screens/*.html` mockups at ~390px. **States:** `states/`. **Sheets:** `bottom-sheets/`.
> Mirrors the anchor (Staff Court Monitor) 1:1 except: `MON-*` IDs → `SCM-*`, persona Ramesh → **Karan Patel**, and the **added** `SCM-TEAM-STATUS` screen.

---

## Auth (shared — built in Wave 0, included here as the entry path)

| Screen ID | Screen | Purpose | States / sheets | Mockup |
|---|---|---|---|---|
| `AUTH-LOGIN` | Login | Email/phone + password sign-in | error (bad creds), locked (rate-limited), loading | `screens/01-login.html` |
| `SCM-DASH` (router) | Role-resolved Home | Post-login → Senior Monitor Home via `/me` role resolve | loading | `screens/02-dashboard.html` |

> `AUTH-FORGOT / AUTH-OTP / AUTH-RESET / AUTH-LOGOUT / SH-NOTIF / SH-PROFILE` are Wave-0 shared screens; this pack mocks `01-login.html` + a `07-profile.html` to show the role's entry + More-tab landing. The full shared-auth set ships once in Wave 0 and is reused by every role.

## Senior Court Monitor (SCM) — role screens

| # | Screen ID | Screen | Purpose | States / sheets | Mockup |
|---|---|---|---|---|---|
| 1 | `SCM-DASH` | Senior Monitor Home | Today's auto-assigned checklists + own shift; due-soon / overdue badges; a Team-status entry card | loading, empty (nothing-assigned), overdue badge | `screens/02-dashboard.html` |
| 2 | `SCM-CHK-TODAY` | Today's Checklists | Auto-assigned by role/ride/shift (e.g. Trampoline Daily + Opening); status chips. **Updates live (FCM) when the TL mid-shift-reassigns this monitor to a new ride — ride-changed banner + new ride's checklists (CL-4).** | not-started / in-progress / submitted chips, overdue, empty, **ride-changed** | `screens/03-today-checklists.html` |
| 3 | `SCM-CHK-FILL` | Fill Checklist | G/A per item + note + server-time + auto-initials; mandatory completion photo; per-A-item photo; save-draft | G/A toggle, A-photo-required block, draft-saved; sheets: photo-capture, A-note+photo | `screens/04-checklist-fill.html` |
| 4 | `SCM-CHK-SUBMIT` | Submit Checklist | Final review + submit (blocked until photos present) | missing-photo block, submit confirm sheet | `screens/05-checklist-submit.html` |
| 5 | `SCM-CHK-STATUS` | My Checklist Status | Live cascade status of own submissions (Pending until OH-approved); sent-back re-fill banner | sent-back banner, empty | `screens/06-my-status.html` |
| 6 | `SCM-ROSTER-OWN` | My Roster | Own shifts only (day/week); read-only | day/week toggle, empty | `screens/08-my-roster.html` |
| **7** | **`SCM-TEAM-STATUS`** | **Team / Zone status (read-only)** | **ADDED.** Oversight of the zone's Staff Court Monitors' checklist submissions today; per-monitor status + completion count. **No approve/verify.** | loading, empty (no team activity), all-clear positive, read-only detail | `screens/09-team-status.html` |
| — | `SH-PROFILE` (More) | Profile / More | Own profile, role, reports-to, certified rides; Team-status entry; logout | — | `screens/07-profile.html` |

## States (this pack)

| State | File | Where it appears |
|---|---|---|
| Loading (skeleton) | `states/loading.html` | `SCM-DASH`, `SCM-CHK-TODAY`, `SCM-TEAM-STATUS` |
| Empty (nothing assigned) | `states/empty.html` | `SCM-CHK-TODAY`, `SCM-DASH` |
| Ride changed (TL mid-shift reassign, CL-4) | `states/ride-changed.html` | `SCM-CHK-TODAY` |
| Error (generic + retry) | `states/error.html` | any data screen |
| Offline / no-connection retry | `states/offline.html` | fill + submit (in-memory draft preserved) |
| Locked (rate-limited login) | `states/locked.html` | `AUTH-LOGIN` |
| 403 (out-of-scope Game Zone / action) | `states/forbidden.html` | any |

## Bottom sheets (this pack)

| Sheet | File | Trigger |
|---|---|---|
| Photo-capture (Camera / Gallery) | `bottom-sheets/photo-capture.html` | tap a completion-photo tile or A-item camera |
| A-(Action required) note + photo | `bottom-sheets/a-item-note-photo.html` | toggle an item to **A** |
| Confirm submit | `bottom-sheets/confirm-submit.html` | tap Submit on `SCM-CHK-SUBMIT` |

---

## Counts

- **9 screens** (1 login + Home + Today + Fill + Submit + Status + Roster + **Team status** + Profile/More) — covering the 6 `SCM-*` role screens + the auth entry + the **added** read-only Team / Zone status view.
- **7 state variants** (incl. CL-4 ride-changed) · **3 bottom-sheets**.
- **Total HTML artifacts in this pack: 9 screens + 7 states + 3 sheets = 19 HTML files** (PNG render is a later step).

> Vs the anchor (Staff Court Monitor, 18 HTML): this pack is the anchor + **one added** `SCM-TEAM-STATUS` screen (`09-team-status.html`). The Senior Court Monitor is otherwise a mechanical clone — same flow, same templates auto-assigned by ride-safety (Trampoline etc.), no cleaning-specific override (that is the Cleaning Supervisor pack).
