## MODIFIED Requirements ### Requirement: Message input The chat page SHALL provide a text input area at the bottom of the page where the user can type and submit messages. The input area SHALL also include a file upload button for triggering email extraction. #### Scenario: Submit via button - **WHEN** the user types text and clicks the send button - **THEN** the message is added to the conversation and the input is cleared #### Scenario: Submit via Enter key - **WHEN** the user types text and presses Enter - **THEN** the message is submitted (same as clicking send) #### Scenario: Empty input blocked - **WHEN** the user attempts to send an empty or whitespace-only message - **THEN** nothing is sent and no message is added #### Scenario: Input disabled during streaming - **WHEN** the assistant is currently streaming a response - **THEN** the input field, send button, and upload button are disabled until streaming completes #### Scenario: Upload button opens file picker - **WHEN** the user clicks the upload button in the input area - **THEN** a file picker dialog opens filtered to .html files