The username input was conditionally hidden when it had a value, causing the field to disappear and focus to jump to password when typing. Fixed by: 1. Always rendering the username input (removed conditional) 2. Using controlled input with value prop 3. Only auto-focus password when username is already entered This fixes the focus-jumping bug that made it impossible to enter usernames.