v3.26.1
Note 7 - Stockholders' Equity (Tables)
6 Months Ended
Jun. 30, 2026
Equity [Abstract]  
Schedule of Capital Reserved for Future Issuance [Table Text Block]

Common stock reserved for future issuance consists of the following as of June 30, 2026:

 

Stock options outstanding under 2019 Equity Incentive Plan

 

 

479,018

 

Restricted stock units outstanding under 2019 Equity Incentive Plan

 

 

340,950

 

Performance stock units outstanding under 2019 Equity Incentive Plan, at target

 

 

550,465

 

Shares authorized for future issuance under 2019 Equity Incentive Plan

 

 

4,646,787

 

Shares authorized for future issuance under 2019 Employee Stock Purchase Plan

 

 

1,814,096

 

Total

 

 

7,831,316

 

Share-Based Payment Arrangement, Cost by Plan [Table Text Block]

The following table summarizes the Company’s stock-based compensation expense for each period presented:

 

 

 

Three Months Ended June 30,

 

 

Six Months Ended June 30,

 

 

 

2026

 

 

2025

 

 

2026

 

 

2025

 

 

 

($ in thousands)

 

 

($ in thousands)

 

Stock-based compensation

 

$

7,438

 

 

$

5,347

 

 

$

16,224

 

 

$

10,092

 

Share-Based Payment Arrangement, Activity [Table Text Block]

The following table summarizes stock option transactions for the six months ended June 30, 2026:

 

 

 

Number of shares

 

 

Weighted-average exercise price

 

 

Weighted-average remaining contractual term (in years)

 

 

Aggregate intrinsic value ($ in thousands)

 

Outstanding at January 1, 2026

 

 

499,676

 

 

$

32.15

 

 

 

3.9

 

 

$

51,273

 

Options granted

 

 

 

 

 

 

 

 

 

 

 

 

Options exercised

 

 

(20,167

)

 

 

24.06

 

 

 

 

 

 

 

Options cancelled

 

 

(491

)

 

 

61.72

 

 

 

 

 

 

 

Outstanding at June 30, 2026

 

 

479,018

 

 

$

32.46

 

 

 

3.3

 

 

$

44,995

 

Vested and Exercisable at June 30, 2026

 

 

479,018

 

 

$

32.46

 

 

 

3.3

 

 

$

44,995

 

Schedule of Nonvested Restricted Stock Units Activity [Table Text Block]

The following table summarizes RSU transactions for the six months ended June 30, 2026:

 

 

 

Number of shares

 

 

Weighted-average grant date fair value

 

Outstanding at January 1, 2026

 

 

296,285

 

 

$

89.73

 

Granted

 

 

184,609

 

 

 

120.30

 

Released

 

 

(130,338

)

 

 

79.77

 

Forfeited

 

 

(9,606

)

 

 

106.51

 

Non-vested outstanding at June 30, 2026

 

 

340,950

 

 

$

109.62

 

Schedule of Nonvested Performance-Based Units Activity [Table Text Block]

The following table summarizes PSU transactions for the six months ended June 30, 2026:

 

 

 

Number of shares

 

 

Weighted-average grant date fair value

 

Outstanding at January 1, 2026

 

 

502,022

 

 

$

49.05

 

Granted

 

 

120,375

 

 

 

105.64

 

Vested

 

 

(67,883

)

 

 

51.24

 

Forfeited

 

 

(4,049

)

 

 

102.10

 

Non-vested outstanding at June 30, 2026

 

 

550,465

 

 

$

60.77

 

Schedule Of Key Valuation Input Assumptions Used In The Monte Carlo Simulation Relative To Awards Granted [Table Text Block] These PSUs were valued using a Monte Carlo simulation with key valuation assumptions as follows:

 

 

 

2026 Awards

 

 

2025 Awards

 

Term

 

2.9 years

 

 

2.9 years

 

Risk-free interest rate(1)

 

 

3.62

%

 

 

4.22

%

Volatility(2)

 

 

38.72

%

 

 

45.00

%

Weighted average fair value(3)

 

$

125.79

 

 

$

116.50