v3.26.1
Note 12 - Share-based Compensation - Stock Option Activity (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended
Mar. 31, 2026
Mar. 31, 2025
Jan. 01, 2026
Exercised, options (in shares) (140,136) (37,000)  
Share-Based Payment Arrangement, Option [Member]      
Balance, outstanding (in shares) 6,864,854    
outstanding, weighted average exercise price (in dollars per share) $ 4.11    
Balance, aggregate intrinsic value $ 16,811   $ 26,479
Granted, options (in shares) 125,000    
Granted, weighted average exercise price (in dollars per share) $ 8.53    
Exercised, options (in shares) (140,136)    
Exercised, weighted average exercise price (in dollars per share) $ 3    
Forfeitures, options (in shares) (377,122)    
Forfeitures, weighted average exercise price (in dollars per share) $ 4.39    
Cancellations, options (in shares) 67,500    
Cancellations, weighted average exercise price (in dollars per share) $ 2.16    
Balance, outstanding (in shares) 6,405,096    
outstanding, weighted average exercise price (in dollars per share) $ 4.23