Severity: HIGH
Location: src/Controllers/AuthController.php:68-73
Bug: Lockout only triggers when user row exists; unknown-username attempts accumulate in login_attempts but never produce a lockout.
Fix: Call checkAndLockout($username, $ip, null) in the !$user branch too.
Status: open. Will reply with remediation details when resolved.