It's not a good idea to nest expressions so deeply. It makes it hard to debug. Better to define functions.
By running the NDSolve function alone, you get an error msg about Cb0.
In[5]:= NDSolve[{
Cc'[t] == (CLupt Cb[t] + CLo fum Cbm[t] + CLo fum Cam[t] -
2 CLi fuc Cc[t] - fuc Clm Cc [t])/Vc,
Ca'[t] == (CLo fum Cam[t] - CLi Ca[t] + Clae fum Cam[t])/Va,
Cb'[t] == (k0 + CLo fum Cbm[t] - CLi Cb[t] - CLupt Cb[t] - Q Cb[t])/
Vb,
Cam'[t] == (CLi Ca[t] + CLi fuc Cc[t] - 2 CLo fum Cam[t] -
Clae fum Cam[t])/Vam,
Cbm'[t] == (CLi fuc Cc[t] + CLi Cb[t] - 2 CLo fum Cbm[t])/Vbm,
Cam[0] == 0,
Cbm[0] == 0,
Cc[0] == 0,
Cb[0] == Cb0, Ca[0] == 0 },
{Ca, Cb, Cc, Cam, Cbm}, {t, 0, 60}, PrecisionGoal -> \[Infinity]]
During evaluation of In[5]:= NDSolve::ndinnt: Initial condition Cb0 is not a number or a rectangular array of numbers. >>