v3.26.1
Note 3 - Revenue 1 (Details Textual)
Pure in Thousands, $ in Thousands
3 Months Ended
Mar. 31, 2026
USD ($)
Mar. 31, 2025
USD ($)
Dec. 31, 2025
USD ($)
Dec. 31, 2024
USD ($)
Contract with Customer, Liability, Current $ 1,066   $ 1,026 $ 721
Contract with Customer, Liability, Revenue Recognized $ 452 $ 372    
Contract with Customer, Contracts in Progress, Number of Contracts Identified as Loss Contracts 0   0  
Revenue, Remaining Performance Obligation, Amount $ 6,923      
Air Pollution Control [Member]        
Contract with Customer, Asset, after Allowance for Credit Loss $ 974   $ 887 $ 2,075