v3.26.1
Net Income Per Share - Schedule of Reconciliation of the Numerators and the Denominators of the Basic and Dilutive Net Income per Common Share Computations (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended
Mar. 31, 2026
Mar. 31, 2025
Numerator:    
Net income $ 15,679 $ 11,011
Denominator:    
Weighted average basic common shares outstanding 22,801 22,570
Effect of dilutive securities:    
Total weighted average shares of common shares outstanding - diluted 23,031 22,899
Net income per share:    
Basic $ 0.69 $ 0.49
Diluted $ 0.68 $ 0.48
Employee Stock Option [Member]    
Effect of dilutive securities:    
Weighted average dilutive, adjustments 174 259
Restricted Stock Units (RSUs) [Member]    
Effect of dilutive securities:    
Weighted average dilutive, adjustments 24 39
Performance Shares [Member]    
Effect of dilutive securities:    
Weighted average dilutive, adjustments 32 31