1) Registro y Login
sequenceDiagram
participant U as Usuario
participant S as Flask
participant DB as MySQL
U->>S: POST /main_login/login
S->>DB: Valida credenciales (y 2FA si aplica)
DB-->>S: OK (user_id)
S-->>U: 302 → /
U->>S: GET /
S->>DB: get_active_business_for_user(user_id)
alt sin empresa
S-->>U: 302 → /get-started
else con empresa
S->>DB: has_any_assigned_capabilities(business_id)
alt sin módulos
S-->>U: 302 → /select-modules
else con módulos
S-->>U: Render landing (solo asignados si ?only_available=1)
end
end