## Why

The current session list UI is fragmented between the dashboard home page and the dedicated sessions page, with duplicated rendering logic, inconsistent styling, and missing control actions. Users need a unified, clear view of their sessions with easy access to controls (start, stop, delete, open) regardless of which page they're on.

## What Changes

- Create a unified `SessionCard` component used on both dashboard and sessions pages
- Create a `SessionList` component that handles filtering, grouping, and layout
- Add clear status indicators and action buttons (open, stop, start, delete) to each session card
- Remove duplicated session rendering logic from dashboard.tsx and sessions.tsx
- Consistent empty states and loading states across both pages
- Better visual hierarchy with project/repository context

## Capabilities

### New Capabilities
- `session-list-ui`: Unified session list components with clear information display and control buttons

### Modified Capabilities
- `session-lifecycle-ux`: Update to include unified list component requirements
- `sessions-hub`: Update to use unified components instead of page-specific rendering

## Impact

- Frontend: New components in `apps/web/src/components/session-list.tsx` and `apps/web/src/components/session-card.tsx`
- Modified pages: `apps/web/src/pages/dashboard.tsx`, `apps/web/src/pages/sessions.tsx`
- Modified styles: `apps/web/src/styles.css`
- No API changes required
