# Tasks: UI Baseline **Input**: Design documents from `/specs/010-ui-baseline/` **Prerequisites**: plan.md (required), spec.md (required), research.md, data-model.md, contracts/ui-components.md **Tests**: No new tests requested in spec. Existing tests (layer boundary checks) must continue to pass. **Organization**: Tasks grouped by user story. US1+US2 are combined (both P1, same component). ## Format: `[ID] [P?] [Story] Description` - **[P]**: Can run in parallel (different files, no dependencies) - **[Story]**: Which user story this task belongs to (e.g., US1, US2, US3) - Include exact file paths in descriptions ## Phase 1: Setup (Shared Infrastructure) **Purpose**: Install Tailwind CSS v4, shadcn/ui utilities, and configure the build pipeline - [x] T001 Install `tailwindcss` and `@tailwindcss/vite` as devDependencies and add the Tailwind Vite plugin to `apps/web/vite.config.ts` - [x] T002 [P] Create `apps/web/src/index.css` with `@import "tailwindcss"` directive and `@theme` block defining CSS custom properties for the design system (colors, radii, fonts) - [x] T003 [P] Install `clsx` and `tailwind-merge` as dependencies in `apps/web` and create the `cn()` utility in `apps/web/src/lib/utils.ts` - [x] T004 Import `./index.css` in `apps/web/src/main.tsx` - [x] T005 [P] Install `lucide-react` as a dependency in `apps/web` --- ## Phase 2: Foundational (Blocking Prerequisites) **Purpose**: Create shadcn/ui-style primitive components that all user stories depend on **Warning**: No user story work can begin until this phase is complete - [x] T006 [P] Install `class-variance-authority` as a dependency in `apps/web` and create Button component in `apps/web/src/components/ui/button.tsx` following shadcn/ui pattern (variant props: default, outline, ghost, icon; size props: default, sm, icon) using `cn()` and `class-variance-authority` - [x] T007 [P] Create Input component in `apps/web/src/components/ui/input.tsx` following shadcn/ui pattern (styled text/number input replacing browser defaults) using `cn()` **Note**: T008 merged into T006 (install CVA + create Button in one task). **Checkpoint**: Foundation ready — shadcn/ui primitives available, Tailwind active --- ## Phase 3: User Story 1 + 2 — Structured Layout + Active Highlight (Priority: P1) MVP **Goal**: Replace the unstyled `