Compose complete class names
Framework applications often need conditional classes. Keep the complete Tailwind class strings in source so Tailwind can detect them.
Use a class helper when useful
Libraries such as clsx, tailwind-merge or framework-specific helpers can make conditional composition easier. They solve different problems: conditional selection versus conflict resolution.
Avoid uncontrolled class concatenation
Do not construct arbitrary utility names from raw user input. Map application state to known classes.