
The package could not be installed. The stylesheet is missing. The message sounds scarier than the problem: the theme is complete, you just uploaded the packaging instead of the content.
WordPress identifies a theme by a single file: the style.css at the root of the ZIP, with the Theme Name: header inside it. If it opens the package and finds documentation and licensing folders instead of that file, it refuses to install.
What is inside the package you downloaded
Extract the ZIP and you will see something like this:
documentation/: instructions in HTMLlicensing/: the licensepsd/ordesign/: artwork files, when the author includes themtheme-name.zip: the installable filetheme-name-child.zip: the child theme, when it exists
It is the theme-name.zip that you upload in Appearance > Themes > Add New > Upload Theme.
How to identify the correct installation ZIP for certain
Open the candidate ZIP. If style.css, index.php, and functions.php exist at its root, it is the right file. That trio is the signature of a WordPress theme and does not show up in any of the package’s other folders.
Watch out for a detail that wastes half an hour: sometimes the inner ZIP contains another folder with the same name, and style.css sits one level down. In that case WordPress refuses it too. Compress the folder that has style.css at its root and upload that new ZIP.
Install the child theme too, if there is one
When the package includes a -child.zip, install both and activate the child. It is not a formality: it is what keeps the theme’s next update from wiping out your changes. The reasoning is in Updating without losing your customization.
If the error persists with the correct file
Then it is no longer the package. The two usual suspects, in this order: the server’s upload limit, when the theme is large, and an interrupted download. On the second one, it is worth reading before downloading again: most ‘corrupted downloads’ are not.

