Bizarre floating point issue causing incorrect sum under 0, so using a max function to sanitize the result
Coloured transaction rows by type