v3.26.1
Net Income Per Share - Schedule of Anti-dilutive Net Income Per Share (Details) - shares
shares in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]        
Total anti-dilutive shares (in shares) 1,908 1,048 1,771 1,041
Stock options        
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]        
Total anti-dilutive shares (in shares) 1,133 832 1,077 823
Restricted stock units        
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]        
Total anti-dilutive shares (in shares) 745 192 678 206
Employee stock purchase plan        
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]        
Total anti-dilutive shares (in shares) 30 24 16 12