v3.26.1
(Loss) Earnings Per Share (Tables)
6 Months Ended
Jun. 30, 2026
Earnings Per Share [Abstract]  
Schedule of Computation of Basic and Diluted Earnings (Loss) Per Share
The following table shows the computation of basic and diluted earnings (loss) per share (in thousands, except per share data):
 Three Months Ended
June 30,
Six Months Ended
June 30,
 2026202520262025
Numerator:
Net (loss) income$(2,060)$4,523 $(16,582)$(21,325)
Denominator:
Weighted-average common shares outstanding, basic30,399 28,914 30,148 28,763 
Assumed exercise of stock options— 361 — — 
Assumed vesting of RSUs— 186 — — 
Assumed vesting of PSUs— 84 — — 
Assumed issuance of shares under the ESPP— — — — 
Weighted-average common shares outstanding, diluted30,399 29,545 30,148 28,763 
(Loss) earnings per share:
Basic$(0.07)$0.16 $(0.55)$(0.74)
Diluted$(0.07)$0.15 $(0.55)$(0.74)
Schedule of Antidilutive Securities Excluded from Computation of Earnings (Loss) Per Share
The table below provides the weighted-average number of potential common shares associated with outstanding securities not included in our calculation of diluted (loss) earnings per share for the three and six months ended June 30, 2026 and 2025 because to do so would be antidilutive. In regard to the PSUs, we assume that the associated performance targets will be met at the target level of performance for purposes of calculating diluted earnings per share until such time that it is probable that actual performance will be above or below target (in thousands):
Three Months Ended
June 30,
Six Months Ended
June 30,
2026202520262025
Stock options2,704 2,466 2,736 2,965 
RSUs and PSUs4,428 2,958 4,188 4,053 
ESPP244 123 250 150 
Total7,376 5,547 7,174 7,168