Is there a limit to how many cards a company can have?

Yes, each company can have up to 100 active virtual cards at a time. This limit includes cards assigned to all team members.