How can I load CSS files located outside the web root from within a custom module?
drupal_add_css() expects a path relative to the site root. As such, if you're going to use drupal_add_css() you need to add a path within webroot to access the file. 

One way to that is to use a symlink. For example 

ln -s /srv/assets/css/my_site/general.css sites/all/modules/my_module/css/general.css


As long as the file is readable by your web server, you can use drupal_add_css to reference your symlink path.

drupal_add_css(drupal_get_path('module', 'custom') . '/general/custom.css', array('type' =&gt; 'file'));