v3.26.1
Net Income Per Common Share (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended
Mar. 31, 2026
Mar. 31, 2025
Earnings Per Share, Basic, by Common Class, Including Two Class Method [Line Items]    
Numerator for basic EPS — net income $ 28,707 $ 7,047
Numerator for diluted EPS — net income $ 28,707 $ 7,047
Denominator for basic EPS — weighted average shares (in shares) 79,536,601 78,028,254
Effect of potentially dilutive common stock from:    
Dilutive potential common shares (in shares) 1,777,000 2,028,000
Denominator for diluted EPS — adjusted weighted average shares and assumed conversions (in shares) 81,313,588 80,056,024
Basic EPS (in USD per share) $ 0.36 $ 0.09
Diluted EPS (in USD per share) $ 0.35 $ 0.09
Common stock equivalent shares excluded from the dilutive calculation due to antidilutive effect:    
Anti-dilutive potential common shares (in shares) 235,000 332,000
Shares of common stock subject to outstanding options    
Common stock equivalent shares excluded from the dilutive calculation due to antidilutive effect:    
Anti-dilutive potential common shares (in shares) 162,000 305,000
Restricted stock units    
Common stock equivalent shares excluded from the dilutive calculation due to antidilutive effect:    
Anti-dilutive potential common shares (in shares) 73,000 27,000
Shares of common stock subject to outstanding options    
Effect of potentially dilutive common stock from:    
Dilutive potential common shares (in shares) 490,000 671,000
Restricted stock units    
Effect of potentially dilutive common stock from:    
Dilutive potential common shares (in shares) 1,243,000 1,320,000
Employee stock purchase plan    
Effect of potentially dilutive common stock from:    
Dilutive potential common shares (in shares) 44,000 37,000