A maximum session lifetime with fractional seconds (e.g. 2500ms) was truncated to a 2-second cookie Max-Age, so the browser dropped the cookie before the server-side absolute limit. Round up instead; the stored expires_at keeps the configured duration. Fixes review finding MQ-19-2. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>