Fire crews battle 3-alarm apartment blaze