Quarterly report [Sections 13 or 15(d)]

Net Income Per Share - Schedule of computation of basic and diluted earnings per share (Details)

v3.26.1
Net Income Per Share - Schedule of computation of basic and diluted earnings per share (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended
Mar. 31, 2026
Mar. 31, 2025
EPS Numerator:    
Net income $ 8,654 $ 11,446
EPS Denominator-Basic:    
Weighted-average common shares outstanding (in shares) 18,412 17,808
EPS Denominator-Diluted:    
Weighted-average common shares outstanding (in shares) 18,412 17,808
Dilutive effect of stock options, RSUs and shares under Purchase Plan (in shares) 1,274 361
Weighted-average shares outstanding and common stock equivalents (in shares) 19,686 18,169
Net income per share    
Basic (in dollars per share) $ 0.47 $ 0.64
Diluted (in dollars per share) $ 0.44 $ 0.63