Net Income (Loss) Per Common Share - Schedule of Basic and Diluted Weighted Average Common Shares (Detail) - shares shares in Thousands |
3 Months Ended | 6 Months Ended | ||
|---|---|---|---|---|
Jun. 30, 2026 |
Jun. 30, 2025 |
Jun. 30, 2026 |
Jun. 30, 2025 |
|
| Earnings Per Share [Abstract] | ||||
| Basic weighted average common shares outstanding | 19,403 | 19,063 | 19,237 | 18,976 |
| Weighted average common equivalent shares | 52 | 102 | 0 | 0 |
| Diluted weighted average common shares outstanding | 19,455 | 19,165 | 19,237 | 18,976 |
| Options and restricted stock units excluded from diluted weighted average share calculation as effect would have been anti-dilutive | 1,777 | 1,305 | 2,025 | 1,177 |