I know this post has been open for a while, but I had the same problem and due to the research by fika_fa, I was able to identify and solve the problem at least for me.
The authorization that denies users access to the site also denies the loading of assets in folders that are restricted. So in my case the stylesheet was located in a folder called css. This meant that I needed to add an authorization configuration to the web.config to allow anonymous users to be able to access it, thus being able to load the stylesheet.
After the system.web section in the web.config I added the following lines:
<location path="css">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
This solved the problem for me and hopefully if you came here and the above solutions didn't help this will help you.
http://weblogs.asp.net/gurusarkar/archive/2008/09/29/setting-authorization-rules-for-a-particular-page-or-folder-in-web-config.aspx[
^] is an article about how to configure the web.config