"The cat was old and thin."
Translation:La kato estis maljuna kaj maldika.
Dika means thick, so maldika means "not thick". Is there a word that more accurately describes the opposite of fat?
"Mal" does not mean "not". "Mal" means opposite. The opposite of thick is thin.
There are some synonyms of maldika in the standard monolingual Esperanto dictionary: http://vortaro.net/#maldika . But the general idea is that in Esperanto this construction is more acceptable than in natural languages, especially when applied to very basic adjectives such as granda and dika.
It seems the better alternatives are "grasa" and "malgrasa" for "fat" and "thin" (http://vortaro.net/#grasa - special attention to this example in the second definition: grasdika homo. It was written by Zamenhof himself in his translation of Judges 3:17: https://www.bibliaonline.com.br/kjv+esperanto/jz/3).