[2026-06-15 20:02:27] production.INFO: LoginResponse::toResponse standard login flow {"user_id":1,"user_email":"oscar@svjbrands.com","session_id":"WwEOGyb5TCiIhXZG0y1uPwcE4kt7KuGqAZfE5Euu","has_pending_invite_token":false} 
[2026-06-15 20:02:27] production.INFO: Invite::processPendingInvite ENTER {"user_id":1,"user_email":"oscar@svjbrands.com","has_token":false,"session_id":"WwEOGyb5TCiIhXZG0y1uPwcE4kt7KuGqAZfE5Euu"} 
[2026-06-15 20:02:27] production.INFO: Invite::processPendingInvite no token in session — falling through to default redirect  
[2026-06-15 20:02:27] production.INFO: LoginResponse: home picked {"user_id":1,"is_admin":true,"admin_role":"super_admin","has_workspace":true,"home_picked":"is_admin branch -> /admin/dashboard","home_url":"https://inbox.svjcloud.com/public/admin/dashboard"} 
[2026-06-15 20:02:27] production.INFO: LoginResponse: bridged web -> admin guard {"user_id":1,"admin_id":1,"admin_role":"super_admin","created":false} 
[2026-06-15 20:02:27] production.INFO: LoginResponse: admin lock-in — discarding non-admin intended URL {"user_id":1,"discarded":"https://inbox.svjcloud.com/public/admin/dashboard","discarded_path":"/public/admin/dashboard","forced_target":"https://inbox.svjcloud.com/public/admin/dashboard"} 
[2026-06-15 20:02:27] production.INFO: LoginResponse: final redirect decision {"user_id":1,"raw_intended":"https://inbox.svjcloud.com/public/admin/cms","final_intended":"https://inbox.svjcloud.com/public/admin/dashboard","home_fallback":"https://inbox.svjcloud.com/public/admin/dashboard","used_intended":false} 
