v3.26.3
Net Income Per Common Share (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2026
Sep. 30, 2025
Sep. 30, 2026
Sep. 30, 2025
Earnings Per Share, Basic, by Common Class, Including Two Class Method [Line Items]        
Numerator for basic EPS — net income $ 31,503 $ 19,137 $ 85,700 $ 25,204
Numerator for diluted EPS — net income $ 31,503 $ 19,137 $ 85,700 $ 25,204
Denominator for basic EPS — weighted average shares (in shares) 80,500,406 78,725,139 80,006,663 78,384,184
Effect of potentially dilutive common stock from:        
Dilutive potential common shares (in shares) 2,284,000 967,000 2,197,000 1,562,000
Denominator for diluted EPS — adjusted weighted average shares and assumed conversions (in shares) 82,783,915 79,691,703 82,204,307 79,946,386
Basic EPS (in USD per share) $ 0.39 $ 0.24 $ 1.07 $ 0.32
Diluted EPS (in USD per share) $ 0.38 $ 0.24 $ 1.04 $ 0.32
Common stock equivalent shares excluded from the dilutive calculation due to antidilutive effect:        
Anti-dilutive potential common shares (in shares) 151,000 1,987,000 172,000 673,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) 129,000 1,057,000 143,000 544,000
Restricted stock units        
Common stock equivalent shares excluded from the dilutive calculation due to antidilutive effect:        
Anti-dilutive potential common shares (in shares) 22,000 930,000 29,000 129,000
Employee stock purchase plan        
Common stock equivalent shares excluded from the dilutive calculation due to antidilutive effect:        
Anti-dilutive potential common shares (in shares) 0 0 0 0
Shares of common stock subject to outstanding options        
Effect of potentially dilutive common stock from:        
Dilutive potential common shares (in shares) 539,000 333,000 551,000 438,000
Restricted stock units        
Effect of potentially dilutive common stock from:        
Dilutive potential common shares (in shares) 1,704,000 595,000 1,597,000 1,081,000
Employee stock purchase plan        
Effect of potentially dilutive common stock from:        
Dilutive potential common shares (in shares) 41,000 39,000 49,000 43,000