The older v0 components hard-code colors instead of using the theme tokens. Search for them:
grep -rnE "bg-white|text-black|text-gray-900|border-gray-200" components/ app/Replace with the shadcn tokens, which flip automatically when .dark is on <html>:
| hard-coded | token |
|---|---|
bg-white (page) | bg-background |
bg-white (card) | bg-card text-card-foreground |
text-gray-500 | text-muted-foreground |
border-gray-200 | border-border / border-input |
Don't add dark:bg-zinc-900 next to every bg-white. That doubles your color decisions and you'll miss half of them again next time.