XML 24 R11.htm IDEA: XBRL DOCUMENT
v3.25.3

Net Income (Loss) Per Share | 9 Months Ended
--- | ---
Sep. 30, 2025
Earnings Per Share [Abstract] |
Net Income (Loss) Per Share | Net Income (Loss) Per Share Basic net income (loss) per share is computed by dividing net income (loss) for the period by the weighted-average number of shares outstanding during the period. In periods of net loss, all potential common shares are anti-dilutive, so diluted net loss per share equals the basic net loss per share. In periods of net income, diluted net income per share is computed by dividing net income for the period by the basic weighted-average number of shares plus any dilutive potential common stock outstanding during the period, using the treasury stock method for share-based awards and warrants, and the if-converted method for convertible senior notes. Potential common stock includes the effect of outstanding dilutive stock options, restricted stock awards, and restricted stock units, as well as shares the Company could be obligated to issue from its convertible senior notes and warrants, as described in Note 11, Convertible Senior Notes. In the event of the conversion of the Company’s convertible senior notes, the principal portion will be settled in cash with any conversion consideration in excess of the principal portion settled in cash and/or shares of the Company’s common stock at the Company’s option, therefore, only the amounts expected to be settled in excess of the principal portion are considered dilutive in calculating earnings per share under the if-converted method. Any anti-dilutive weighted-average dilutive shares related to stock award plans, convertible senior notes, and warrants are excluded from the computation of the diluted net income per share. The basic and diluted net income (loss) per share calculations were as follows:
| Three Months Ended September 30, |  | Nine Months Ended September 30,
| 2025 |  | 2024 |  | 2025 |  | 2024
| (In thousands, except per share data)
Net income (loss) | $ | 5,462 |  |  | $ | 8,630 |  |  | $ | 4,078 |  |  | $ | (3,311) |
Weighted-average shares outstanding – basic | 45,540 |  |  | 46,153 |  |  | 46,304 |  |  | 45,947 |
Effect of dilutive securities from stock award plans | 360 |  |  | 274 |  |  | 353 |  |  | — |
Weighted-average shares outstanding – diluted | 45,900 |  |  | 46,427 |  |  | 46,657 |  |  | 45,947 |
Net income (loss) per share – basic | $ | 0.12 |  |  | $ | 0.19 |  |  | $ | 0.09 |  |  | $ | (0.07) |
Net income (loss) per share – diluted | $ | 0.12 |  |  | $ | 0.19 |  |  | $ | 0.09 |  |  | $ | (0.07) |
Anti-dilutive weighted-average shares related to stock award plans | 2,671 |  |  | 2,687 |  |  | 2,557 |  |  | 3,767 |
Anti-dilutive weighted-average shares related to convertible senior notes and warrants | 6,026 |  |  | 11,816 |  |  | 6,026 |  |  | 11,816 |

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 The entire disclosure for earnings per share. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -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 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -Name Accounting Standards Codification -Publisher FASB -URI https://asc.fasb.org/260/tableOfContent Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482662/260-10-50-2 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482662/260-10-50-3 + Details
Name: | us-gaap_EarningsPerShareTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration