Always two words.
Hyphenate when used as adjective: Drew Bledsoe signed a long-term contract with the Patriots; The Pelicans hoped Zion Williamson could lead them long-term.
Unhyphenated when used as a noun: Jacoby Brissett will serve as the Cardinals’ answer at quarterback in the short term.
