XML 33 R22.htm IDEA: XBRL DOCUMENT
v3.25.3

Net Income (Loss) Per Common Share (Tables) | 9 Months Ended
--- | ---
Sep. 30, 2025
Earnings Per Share [Abstract] |
Schedule of Computation of Basic and Diluted Net Earnings Per Share | The following table sets forth the computation of basic and diluted EPS (in thousands, except per-share amounts):
| Three Months Ended September 30, |  | Nine Months Ended September 30,
| 2025 |  | 2024 |  | 2025 |  | 2024
Numerator for basic and diluted EPS — net income (A) | $ | 19,137 |  |  | $ | 15,155 |  |  | $ | 25,204 |  |  | $ | 19,025 |
Denominator for basic EPS — weighted average shares (B) | 78,725 |  |  | 77,014 |  |  | 78,384 |  |  | 76,107 |
Effect of potentially dilutive common stock from: |  |  |  |  |  |  |
Shares of common stock subject to outstanding options | 333 |  |  | 511 |  |  | 438 |  |  | 503 |
Restricted stock units | 595 |  |  | 907 |  |  | 1,081 |  |  | 696 |
Employee stock purchase plan | 39 |  |  | 33 |  |  | 43 |  |  | 34 |
Dilutive potential common shares | 967 |  |  | 1,451 |  |  | 1,562 |  |  | 1,233 |
Denominator for diluted EPS — adjusted weighted average shares and assumed conversions (C) | 79,692 |  |  | 78,465 |  |  | 79,946 |  |  | 77,340 |
Basic EPS (A / B) | $ | 0.24 |  |  | $ | 0.20 |  |  | $ | 0.32 |  |  | $ | 0.25 |
Diluted EPS (A / C) | $ | 0.24 |  |  | $ | 0.19 |  |  | $ | 0.32 |  |  | $ | 0.25 |
Common stock equivalent shares excluded from the dilutive calculation due to antidilutive effect: |  |  |  |  |  |  |
Shares of common stock subject to outstanding options | 1,057 |  |  | 1,769 |  |  | 544 |  |  | 2,341 |
Restricted stock units | 930 |  |  | 104 |  |  | 129 |  |  | 140 |
Anti-dilutive potential common shares | 1,987 |  |  | 1,873 |  |  | 673 |  |  | 2,481 |

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 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