Quarterly report [Sections 13 or 15(d)]

Note 7 - Stock-based Compensation (Details Textual)

v3.25.2
Note 7 - Stock-based Compensation (Details Textual) - USD ($)
3 Months Ended 6 Months Ended 9 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Dec. 31, 2024
Jun. 30, 2025
Jun. 30, 2024
Share-Based Payment Arrangement, Expense $ 1,313,000 $ 1,152,000   $ 3,740,000 $ 3,437,000
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount 6,885,000     $ 6,885,000  
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition       2 years 4 months 24 days  
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross       38,198 118,706
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period       3 years  
Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price       $ 30.9 $ 26.84
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term (Year)       1 year 3 months 10 days  
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value $ 3,938,824     $ 3,938,824  
Employee Stock Purchase Plan [Member]          
Share-based Compensation Arrangement by Share-based Payment Award, Market Price Percentage, Offering Date     85.00%    
Issuance of common stock under employee stock purchase plan (in shares)     11,415 11,180  
Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price     $ 26.35 $ 26.35  
Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant 121,953     121,953  
Share-Based Payment Arrangement, Option [Member]          
Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Period       5 years 5 years
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period       3 years 3 years
Share-Based Payment Arrangement, Option [Member] | Minimum [Member]          
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period       3 years  
Share-Based Payment Arrangement, Option [Member] | Maximum [Member]          
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period       5 years  
Restricted Stock Units (RSUs) [Member] | Share-Based Payment Arrangement, Nonemployee [Member]          
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period       1 year  
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period       17,886  
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Intrinsic Value, Amount Per Share       $ 32.42  
Restricted Stock Units (RSUs) [Member] | The 2022 Plan [Member] | Share-Based Payment Arrangement, Employee [Member]          
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period       3 years 3 years
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period       104,691 137,928
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Intrinsic Value, Amount Per Share       $ 30.9 $ 26.65
Performance Stock Units [Member]          
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period       50,747 47,745
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights Over 100 Percent, Percentage       100.00%  
Granted, weighted average grant date fair value (in dollars per share)       $ 30.9 $ 26.18
Performance Stock Units [Member] | Share-Based Payment Arrangement, Tranche One [Member]          
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Percentage       50.00%  
Performance Stock Units [Member] | Share-Based Payment Arrangement, Tranche Two [Member]          
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights Over 100 Percent, Percentage       100.00%  
Performance Stock Units [Member] | Share-Based Payment Arrangement, Tranche Three [Member]          
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights Over 100 Percent, Percentage       150.00%  
Selling, General and Administrative Expenses [Member]          
Share-Based Payment Arrangement, Expense $ 1,250,000 1,099,000   $ 3,568,000 $ 3,280,000
Cost of Sales [Member]          
Share-Based Payment Arrangement, Expense $ 63,000 $ 53,000   $ 172,000 $ 157,000