Skeletons everywhere — Form, Dashboard, Card

Three new skeleton primitives that share TableSkeleton's mint shimmer (.skeleton-block in src/index.css). Wired into Settings (FormSkeleton), PeopleDashboard + RoutesDashboard (DashboardSkeleton), and TableCard's loading state on Pay / Incident / Training. Detail pages keep the branded lg kangaroo per Zahid's call.

FormSkeleton — Settings

Three sections, four fields each. Mirrors the Settings VerticalTabs panel content shape: section title + sub-copy + label/input pairs.

Lightmax-w-3xl
Darkmax-w-3xl

DashboardSkeleton — PeopleDashboard, RoutesDashboard

Four-card metric row + chart placeholder. Same density as the real dashboard once data arrives. Linear/Stripe pattern.

Light~1280px
Dark~1280px

TableCard isLoading — Pay, Incident, Training

Was a generic grey pulse; now uses the same mint shimmer as everything else. Wired into Pay / Incident / Training so the value chip never flashes "0" before data lands.

Light3-card row
Timesheet hours
Route review hours
Gap in minutes
Dark3-card row
Timesheet hours
Route review hours
Gap in minutes

What ships in this MR