v3.26.1
Net Income per Common Share - Schedule of Computation Of Basic and Diluted Net Income Per Share (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Mar. 31, 2026
Jun. 30, 2025
Mar. 31, 2025
Jun. 30, 2026
Jun. 30, 2025
Earnings Per Share [Abstract]            
Net income $ 9,152 $ 8,111 $ 4,427 $ 3,599 $ 17,263 $ 8,026
Basic - weighted-average shares outstanding (in shares) 23,969,254   23,900,390   23,902,802 24,018,119
Effect of dilutive securities:            
Employee stock options and other (in shares) 446,534   201,202   455,766 273,127
Diluted - weighted-average shares outstanding (in shares) 24,415,788   24,101,592   24,358,568 24,291,246
Net income per share:            
Basic (in dollars per share) $ 0.38   $ 0.19   $ 0.72 $ 0.33
Diluted (in dollars per share) $ 0.37   $ 0.18   $ 0.71 $ 0.33