v3.26.3
Earnings Per Share - Schedule of Earnings Per Share, Basic and Diluted (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2026
Jun. 30, 2026
Mar. 31, 2026
Sep. 30, 2025
Jun. 30, 2025
Mar. 31, 2025
Sep. 30, 2026
Sep. 30, 2025
Earnings Per Share [Abstract]                
Net income (loss) $ 11,230 $ 12,407 $ 4,492 $ (20,554) $ 7,700 $ 1,122 $ 28,129 $ (11,732)
Weighted average shares outstanding - basic (in shares) 11,455     11,682     11,321 12,110
Dilutive effect of stock options and restricted stock (in shares) 606     0     506 0
Weighted average shares outstanding - diluted (in shares) 12,061     11,682     11,827 12,110
Earnings (loss) per share                
Basic (in USD per share) $ 0.98     $ (1.76)     $ 2.48 $ (0.97)
Diluted (in USD per share) $ 0.93     $ (1.76)     $ 2.38 $ (0.97)