## 1. MudBlazor Setup - [x] 1.1 Install MudBlazor 9.2.0 NuGet package in ChatAgent.Client - [x] 1.2 Add MudBlazor CSS, JS, and Material Design Icons font to index.html (remove Bootstrap CSS) - [x] 1.3 Add `@using MudBlazor` to _Imports.razor - [x] 1.4 Register MudBlazor services (`AddMudServices()`) in Program.cs - [x] 1.5 Add MudThemeProvider, MudPopoverProvider, MudDialogProvider to MainLayout.razor ## 2. Layout Migration - [x] 2.1 Replace MainLayout.razor with MudBlazor layout (MudLayout, MudAppBar, MudMainContent) - [x] 2.2 Remove NavMenu.razor (Bootstrap navbar no longer needed) - [x] 2.3 Remove MainLayout.razor.css (MudBlazor handles styling) ## 3. Shared Model - [x] 3.1 Create ChatMessage.cs in ChatAgent.Shared/Models with Role, Content, Timestamp ## 4. Chat Page - [x] 4.1 Create Chat.razor at route `/` with message list and input area - [x] 4.2 Implement message display with MudPaper cards (distinct styling for user vs assistant) - [x] 4.3 Implement text input with MudTextField and send button adornment - [x] 4.4 Wire Enter key and send button to submit handler - [x] 4.5 Block empty/whitespace-only submissions - [x] 4.6 Add hardcoded assistant response after each user message - [x] 4.7 Implement auto-scroll to bottom on new messages ## 5. Cleanup - [x] 5.1 Move Home.razor route from `/` to `/health` - [x] 5.2 Remove Counter.razor and Weather.razor - [x] 5.3 Update app.css — remove Bootstrap-specific styles, keep custom styles that still apply ## 6. Verify - [x] 6.1 Run `dotnet build` on the solution to confirm no errors - [ ] 6.2 Manually verify: chat page loads at `/`, messages display correctly, hardcoded response works