holas carlosjdelgadoc te comento que esta pasando , cuando dejas inconcluso el css de alguna elemento por lo general tiende a bloquear los otros estilos en mi parecer es por que no puede seguir leyendo el archivo por eso que cuando lo pones directamente en el html si funciona por que estas rompiendo el flujo del documento.
mira tu error es muy facil de reparar en el estilo #caja_barracolor2 tienes una instruccion que no esta bien escrita y es
Tu error
;
que le falta dime mmmm es facil cierra el parentesis y veras como te funcionara.
lo correcto
Código CSS:
Ver originalbackground-color: linear-gradient();
;
y recuerda cuando un estilo no se aplique , revisa la vinculacion de la hoja de estilos y si esta correcta busca algo que este mal cerrado , por lo general son ; , o ()
espero haberte ayudado ...