The account and model <select>s had no value="" placeholder option, so a
controlled value of "" made the browser display the first real entry as if
it were already chosen. Clicking that entry was not a change, so onChange
never fired and the cascade (account->catalog, model->efforts) only ran after
a *second*, different selection.
Prepend a real value="" placeholder option to both dropdowns so the displayed
value matches the controlled state and the first real selection now triggers
onChange as expected.