Arreglé algo en categorías y en roles.
Hay que hacer un $watch especial para los campos con dependencia (watch en el padre, para poner a los hijos en vacío).
Agregué algo de equipos