Fala rapaziada! Na função removeLinha, que estamos a associar ao evento click do botão remover, estamos fazendo uso de uma variável que nunca é declarada nem inicializada. Faz ela está definida, inclusive dá para imprimir na console! Isso é padrão do jQuery ou dos eventos do javascript?
function removeLinha() {
event.preventDefault();
var linha = $(this).parent().parent();
linha.fadeOut(1000);
setTimeout(function() {
linha.remove();
}, 1000);
}
Grato, José