Make It Look at Its Own UI Work
"Make the dashboard look better" produces something that compiles and looks nothing like your design.
Close the loop with an image. Paste the mockup and say: implement this, then screenshot the result, compare it to the original, list the differences, and fix them.
The screenshot is the test. It is the same verification principle as a test suite, applied to something a test suite cannot see.
You stop playing spot-the-difference and the agent self-corrects visually instead. It's one of the few ways I've found to get visual work to converge without you driving every step.