Thank you! this seemed to have fixed the issue. Now when I rotate it stays stable and doesn’t flip over.
The ApplyForce function takes in an offset from the global position. I thought using local position would work as an offset however when rotated the direction in local space stays the same because of course it does!