XML 59 R40.htm IDEA: XBRL DOCUMENT
v3.25.4

Net Income Per Share (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2025
Earnings Per Share [Abstract] |
Schedule of Earnings Per Share, Basic and Diluted | Basic and diluted net income per share is calculated as follows (in thousands, except share and per share amounts):
| Year ended December 31,
| 2025 |  | 2024 |  | 2023
Numerator: |  |  |  |  |
Net income | $ | 3,575 |  |  | $ | 68,742 |  |  | $ | 38,117 |
Denominator: |  |  |  |  |
Weighted average shares of common stock outstanding, basic | 28,366,770 |  | 24,124,833 |  | 8,948,537
Plus: dilutive effect of stock options | 1,564,697 |  | 2,551,403 |  | 727,076
Plus: dilutive effect of RSUs | 161,266 |  | 184,695 |  | —
Plus: dilutive effect of redeemable convertible preferred stock | — |  | — |  | 17,245,954
Plus: dilutive effect of ESPP | 7,846 |  | — |  | —
Weighted average common shares outstanding, diluted | 30,100,579 |  | 26,860,931 |  | 26,921,567
Net income per share, basic | $ | 0.13 |  |  | $ | 2.85 |  |  | $ | 4.26 |
Net income per share, diluted | $ | 0.12 |  |  | $ | 2.56 |  |  | $ | 1.42 |
Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share | The following potentially dilutive common shares, presented based on amounts outstanding, were excluded from the computation of diluted net income per share because their effect would have been antidilutive for the periods presented:
| Year ended December 31,
| 2025 |  | 2024 |  | 2023
Stock options | 139,985 |  |  | — |  |  | 2,944,025 |
RSUs | 1,613,391 |  |  | 317,120 |  |  | — |
ESPP | — |  |  | 44,109 |  |  | — |
Unvested shares of restricted stock purchase | — |  |  | 11,641 |  |  | 113,846 |
Common stock warrant | 4,121,034 |  |  | 4,121,034 |  |  | 3,528,577 |
Total shares excluded from diluted net income per share | 5,874,410 |  |  | 4,493,904 |  |  | 6,586,448 |

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://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -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