Live case: colchoneriasgonzalez.com/blog. The WordPress login still looked normal. After login, the dashboard was unstyled HTML: no admin chrome, no usable buttons, just a wall of markup.
That split is the clue. If login CSS works and /wp-admin/ does not, you are not looking at a “theme broke”. You are looking at how WordPress concatenates admin CSS.
What was failing
WordPress builds a long load-styles.php?load=… URL for the admin. On this host that concatenated request returned 403. The browser never received the stylesheet bundle, so the dashboard rendered as raw HTML.
A security rule or a too-strict request filter can block those long query strings. The rest of the site can still look fine.
What I changed
In wp-config.php I disabled script/style concatenation for the admin so WordPress loads assets as separate files instead of one blocked URL:
define('CONCATENATE_SCRIPTS', false);
After that, the dashboard CSS loaded. No theme rewrite, no “reinstall WordPress”, no invented malware story.
When this is the wrong diagnosis
If login and admin are both unstyled, look at mixed content, a missing wp-admin rewrite, or a plugin emptying the head. If only the dashboard fails and load-styles.php is 403, start with concatenation and the host’s request limits.
Need the same diagnosis on a live WordPress admin? WordPress developer · Request a quote.