v3.26.1
Net Income (Loss) Per Share (Tables)
6 Months Ended
Jun. 30, 2026
Earnings Per Share [Abstract]  
Summary of Earnings Per Share, Basic and Diluted
The following table summarizes the calculation of basic and diluted net income per share (in thousands, except per share data):
Three Months Ended June 30,Six Months Ended June 30,
2026202520262025
Numerator:
Net income (loss) - Basic and Diluted$8,845 $1,446 $10,834 $3,035 
Denominator:
Weighted-average common shares outstanding - Basic10,259 10,069 10,371 10,051 
Effect of common share equivalents328 367 314 353 
Weighted-average common shares outstanding - Diluted10,587 10,436 10,685 10,404 
Net income (loss) per share:
Basic$0.86 $0.14 $1.04 $0.30 
Diluted$0.84 $0.14 $1.01 $0.29 
Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share
The following common share equivalents were excluded from the computation of diluted net income (loss) per share because their effect was anti-dilutive (in thousands):
Three Months Ended June 30,Six Months Ended June 30,
2026202520262025
Restricted stock units— — 
Stock options— — — —