Building a Custom Tailwind CSS Theme System for Multi-Tenant Branding: Dynamic Colors Without CSS-in-JS When I built CitizenApp's first tenant branding feature, I made the mistake every SaaS founder makes: I reached for CSS-in-JS. Emotion, styled-components, the whole nine yards. Within three months, I was shipping 340KB of theme bundles per tenant, bundle-splitting was a nightmare, and dark mode switching caused a flash of unstyled content that users could measure with a stopwatch. The real sol