v3.26.1
Note 12 - Share-based Compensation - Stock Options Outstanding (Details)
3 Months Ended
Mar. 31, 2026
$ / shares
shares
Outstanding, shares (in shares) | shares 6,405,096
Outstanding, weighted average remaining contractual life (Year) 7 years 2 months 12 days
Outstanding, weighted average exercise price (in dollars per share) $ 4.23
Exercisable, shares (in shares) | shares 2,999,554
Exercisable, weighted average remaining contractual life (Year) 5 years 6 months
Exercise Price Range 1 [Member]  
Share-Based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit (in dollars per share) $ 1
Share-Based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit (in dollars per share) $ 1.99
Outstanding, shares (in shares) | shares 51,443
Outstanding, weighted average remaining contractual life (Year) 6 years 9 months 18 days
Outstanding, weighted average exercise price (in dollars per share) $ 1.64
Exercisable, shares (in shares) | shares 46,756
Exercisable, weighted average remaining contractual life (Year) 6 years 9 months 18 days
Exercise Price Range 2 [Member]  
Share-Based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit (in dollars per share) $ 2
Share-Based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit (in dollars per share) $ 2.99
Outstanding, shares (in shares) | shares 2,016,923
Outstanding, weighted average remaining contractual life (Year) 6 years 8 months 12 days
Outstanding, weighted average exercise price (in dollars per share) $ 2.75
Exercisable, shares (in shares) | shares 1,440,111
Exercisable, weighted average remaining contractual life (Year) 6 years 7 months 6 days
Exercise Price Range 3 [Member]  
Share-Based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit (in dollars per share) $ 3
Share-Based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit (in dollars per share) $ 3.99
Outstanding, shares (in shares) | shares 293,107
Outstanding, weighted average remaining contractual life (Year) 4 years 9 months 18 days
Outstanding, weighted average exercise price (in dollars per share) $ 3.53
Exercisable, shares (in shares) | shares 234,984
Exercisable, weighted average remaining contractual life (Year) 3 years 10 months 24 days
Exercise Price Range 4 [Member]  
Share-Based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit (in dollars per share) $ 4
Share-Based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit (in dollars per share) $ 4.99
Outstanding, shares (in shares) | shares 2,823,069
Outstanding, weighted average remaining contractual life (Year) 7 years 4 months 24 days
Outstanding, weighted average exercise price (in dollars per share) $ 4.32
Exercisable, shares (in shares) | shares 873,414
Exercisable, weighted average remaining contractual life (Year) 4 years 4 months 24 days
Exercise Price Range 5 [Member]  
Share-Based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit (in dollars per share) $ 5
Share-Based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit (in dollars per share) $ 5.99
Outstanding, shares (in shares) | shares 339,287
Outstanding, weighted average remaining contractual life (Year) 6 years 4 months 24 days
Outstanding, weighted average exercise price (in dollars per share) $ 5.12
Exercisable, shares (in shares) | shares 265,850
Exercisable, weighted average remaining contractual life (Year) 5 years 8 months 12 days
Exercise Price Range 6 [Member]  
Share-Based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit (in dollars per share) $ 6
Share-Based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit (in dollars per share) $ 10
Outstanding, shares (in shares) | shares 881,267
Outstanding, weighted average remaining contractual life (Year) 8 years 6 months
Outstanding, weighted average exercise price (in dollars per share) $ 7.32
Exercisable, shares (in shares) | shares 138,439
Exercisable, weighted average remaining contractual life (Year) 3 years 1 month 6 days