Score 2 (letters+digits >=8) previously only matched lowercase letters.
Now uses hasLetter = hasLower || hasUpper to match the spec's intent.
Added test case for uppercase-only + digits password.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Guard onSubmit against concurrent calls via loading flag
- Add role="img" and aria-label to captcha SVG container for accessibility
- Wrap initial captcha fetch in try/catch to show error toast on failure
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Use properly typed computed properties for API data
- Cast UTable rows through unknown to avoid type overlap errors
- Use valid Nuxt UI badge colors (success/error/warning/neutral)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>