Clients with the several contacts they actually have, projects beneath them and sub-projects beneath those. Team members are attached with their own billing rates, which is what makes a time entry worth money rather than just hours.
Three levels, deliberately. Deeper nesting is where project tools become filing systems nobody updates.
Three levels, real contacts, and a rate that makes the hours mean something.