Short answer
HubSpot's KB: set the chatflow's availability behavior, for example based on chat operating hours. With multiple chatflows, prioritization doesn't check team availability when picking which one to show. To hide chat on mobile, add a targeting exclusion rule.
1. In HubSpot
The relevant screen in my demo portal.

2. Worth knowing
Bots have their own availability preferences; check both when chat shows at odd times.
3. Related
Chat availability and bot to live chat.