XML 46 R35.htm IDEA: XBRL DOCUMENT
v3.26.1

Net Income Per Share (Tables) | 6 Months Ended
--- | ---
Jun. 30, 2026
Earnings Per Share [Abstract] |
Summary of Components and Computation of Basic and Diluted Net Income Per Share | The components and computation of basic and diluted net income per share were as follows:
| Three Months Ended June 30, |  | Six Months Ended June 30,
(in thousands, except per share amounts) | 2026 |  | 2025 |  | 2026 |  | 2025
Numerator |  |  |  |  |  |  |
Net income | $ | 6,864 |  |  | $ | 19,733 |  |  | $ | 26,593 |  |  | $ | 41,929 |
Denominator |  |  |  |  |  |  |
Weighted average common shares outstanding, basic | 36,533 |  |  | 37,965 |  |  | 36,953 |  |  | 37,978 |
Options to purchase common stock and ESPP | — |  |  | 73 |  |  | 5 |  |  | 86 |
PSUs, RSUs, RSAs, and DSUs | 44 |  |  | 61 |  |  | 68 |  |  | 68 |
Weighted average common shares outstanding, diluted | 36,577 |  |  | 38,099 |  |  | 37,026 |  |  | 38,132 |
Net income per share |  |  |  |  |  |  |
Basic | $ | 0.19 |  |  | $ | 0.52 |  |  | $ | 0.72 |  |  | $ | 1.10 |
Diluted | $ | 0.19 |  |  | $ | 0.52 |  |  | $ | 0.72 |  |  | $ | 1.10 |
Summary of Anti-dilutive Common Shares Excluded from Calculation of Diluted Net Income Per Share | The number of outstanding potential common shares that were excluded from the calculation of diluted net income per share as they were anti-dilutive was as follows:
| Three Months Ended June 30, |  | Six Months Ended June 30,
(in thousands) | 2026 |  | 2025 |  | 2026 |  | 2025
Anti-dilutive shares | 1,038 |  |  | 307 |  |  | 880 |  |  | 319 |

X
- References No definition available. + Details
Name: | us-gaap_EarningsPerShareAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1 + Details
Name: | us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1 + Details
Name: | us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration