Recently when working with Office 365 I was bit surprised to see that when I try to add a new site theme I was getting Access Denied error. I verified and double checked that I have all the required permission but still no dice.
So I Binged and came across this article. As per the article you will get this error if you have not turned on the option to run the custom script. This option by default is turned off in SharePoint Admin section.
To check this go to your tenant SharePoint Admin section and click Settings from the left navigation. Scroll down and you should see a section for custom script.
As mentioned in the article above click both allow options and wait for some time for your SharePoint Designer to start obeying you. 🙂
I would highly recommend you read the original article as it also has PowerShell way of turning this feature.