Route guards sunt funcții care controlează dacă navigarea către/de la o rută este permisă. Se execută înainte ca o rută să se activeze (sau înainte să o părasești), permițând verificări de autentificare, control de permisiuni și prompturi "modificări nesalvate".
Tipurile de gărzi
CanActivate → can the user enter this route? (auth/permission check)
CanActivateChild → same, for child routes
CanDeactivate → can the user LEAVE? ("you have unsaved changes")
CanMatch → should this route even be matched? (feature flags, role-based)
resolve → pre-fetch data BEFORE the route activates
