Net Income per Common Share - Schedule of Anti-Dilutive Potential Shares (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 antidilutive shares (in shares) | 56 | 1,056 | 220 | 1,022 |
| RSUs | ||||
| Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] | ||||
| Total antidilutive shares (in shares) | 43 | 1,030 | 212 | 1,009 |
| ESPP | ||||
| Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] | ||||
| Total antidilutive shares (in shares) | 13 | 26 | 8 | 13 |