v3.26.1
Stockholders' Equity (Tables)
6 Months Ended
Jun. 30, 2026
Schedule of share repurchase program

Three Months Ended

Six Months Ended

June 30,

June 30,

(In thousands, except share and per share data)

2026

2025

2026

2025

Number of shares repurchased

208,900

1,507,496

249,150

2,143,099

Total shares repurchased cost

$

5,284

$

16,704

$

6,357

$

26,772

Average total cost per repurchased share

$

25.29

$

11.08

$

25.51

$

12.49

Schedule of allocation of total stock-based compensation expense

Three Months Ended

Six Months Ended

June 30, 

June 30, 

(In thousands)

  ​ ​ ​

2026

  ​ ​ ​

2025

  ​ ​ ​

2026

  ​ ​ ​

2025

Cost of revenue

$

112

$

101

$

202

$

200

Sales and marketing expenses

430

465

877

968

Research and development expenses

34

52

78

85

Reimbursement, general and administrative expenses

1,684

1,321

2,883

2,752

Total stock-based compensation expense

$

2,260

$

1,939

$

4,040

$

4,005

Schedule of stock option activity

  ​ ​ ​

Weighted-

Weighted-

Average

Average

Aggregate

Options

Exercise Price

Remaining

Intrinsic

(In thousands except options and per share data)

Outstanding

Per Share (1)

Contractual Life

Value (2)

Balance at December 31, 2025

225,448

$

43.87

1.8 years

$

316

Exercised

(11,884)

16.55

$

Cancelled/Expired

(15,003)

54.95

Balance at June 30, 2026

198,561

$

44.67

1.4 years

$

191

Options exercisable at June 30, 2026

198,561

$

44.67

1.4 years

$

191

(1)The exercise price of each option granted during the periods shown was equal to the market price of the underlying stock on the date of grant.
(2)The aggregate intrinsic value of options exercised represents the difference between the exercise price of the option and the closing stock price of our common stock on the date of exercise. The aggregate intrinsic value of options outstanding represents the difference between the exercise price of the option and the closing stock price of our common stock on the last trading day of the period.
Time-Based Restricted Stock Units  
Schedule of stock-settled restricted stock unit activity

Weighted-

  ​ ​ ​

  ​ ​ ​

Average Grant

  ​ ​ ​

Aggregate

Units

Date Fair Value

Intrinsic

(In thousands except unit and per unit data)

Outstanding

Per Unit

Value (1)

Balance at December 31, 2025

718,621

$

13.92

$

20,840

Granted

284,660

27.50

Vested

(350,810)

13.25

Cancelled

(36,581)

16.37

Balance at June 30, 2026

615,890

$

20.44

$

18,341

(1)The aggregate intrinsic value of restricted stock units outstanding was based on our closing stock price on the last trading day of the period.
Performance-based stock-settled restricted stock units  
Schedule of stock-settled restricted stock unit activity

Weighted-

  ​ ​ ​

  ​ ​ ​

Average Grant

  ​ ​ ​

Aggregate

PSUs

Date Fair Value

Intrinsic

(In thousands except unit and per unit data)

Outstanding

Per Unit

Value (1)

Balance at December 31, 2025

310,296

$

14.76

$

8,999

Granted

108,846

28.25

Adjusted

12,705

Vested

(95,377)

14.16

Balance at June 30, 2026

336,470

$

19.33

$

10,020

(1)The aggregate intrinsic value of PSUs outstanding was based on our closing stock price on the last trading day of the period.