Good job on this! You really fleshed out a lot of features here, there seems to be some real strategy to win. I appreciate the explanations at the beginning, otherwise I would have felt lost.
Perhaps a clear losing state would have been nice? I got to a point once where I was out of money, and my infrastructure was in ruin. It seems I effectively lost, but the game just kept going. Maybe a set of conditions under which the game would just tell me I've lost would be a nice touch.