v3.25.2
Note 16 - Segment Reporting - Segment Reporting (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Dec. 31, 2024
Revenue from Contract with Customer, Including Assessed Tax $ 39,235 $ 36,452 $ 76,073 $ 74,068  
Direct materials 20,007 16,848 39,399 35,611  
Direct labor 6,132 4,239 11,155 8,505  
Indirect labor 4,824 4,435 9,311 8,813  
Variable overhead 1,634 1,827 2,981 3,287  
AMP credits (2,904) (1,678) (5,468) (3,395)  
Salaries and benefits 654 401 1,052 980  
Share-based compensation 243 237 389 409  
Depreciation and amortization 1,643 1,718 3,345 3,314  
All other expenses (1) [1] 7,167 7,168 13,890 13,209  
Operating income (loss) (165) 1,257 19 3,335  
Capital expenditures 1,200 790 2,116 2,534  
Total assets 130,511   130,511   $ 128,290
External Customers [Member]          
Revenue from Contract with Customer, Including Assessed Tax 39,235 36,452 76,073 74,068  
Operating Segments [Member] | Heavy Fabrications [Member]          
Revenue from Contract with Customer, Including Assessed Tax 24,989 19,611 50,236 41,628  
Direct materials 13,735 10,498 28,357 23,045  
Direct labor 4,700 2,635 8,462 5,520  
Indirect labor 3,103 2,752 5,914 5,441  
AMP credits (2,904) (1,678) (5,468) (3,395)  
Depreciation and amortization 964 1,022 1,985 1,933  
All other expenses (1) [1] 3,680 2,825 7,034 5,483  
Operating income (loss) 1,711 1,557 3,952 3,601  
Capital expenditures 895 370 1,756 831  
Total assets 51,112   51,112   43,035
Operating Segments [Member] | Heavy Fabrications [Member] | External Customers [Member]          
Revenue from Contract with Customer, Including Assessed Tax 24,989 19,611 50,236 41,628  
Operating Segments [Member] | Gearing [Member]          
Revenue from Contract with Customer, Including Assessed Tax 7,284 10,454 13,251 18,791  
Direct materials 1,826 2,658 3,266 4,488  
Direct labor 1,432 1,604 2,693 2,985  
Indirect labor 1,133 1,298 2,262 2,605  
Variable overhead 975 1,284 1,849 2,287  
AMP credits 0 0 0 0  
Depreciation and amortization 550 553 1,099 1,093  
All other expenses (1) [1] 2,187 2,575 3,793 4,825  
Operating income (loss) (819) 482 (1,711) 508  
Capital expenditures 116 280 142 1,348  
Total assets 39,649   39,649   41,406
Operating Segments [Member] | Gearing [Member] | External Customers [Member]          
Revenue from Contract with Customer, Including Assessed Tax 7,284 10,454 13,251 18,791  
Operating Segments [Member] | Industrial Solutions [Member]          
Revenue from Contract with Customer, Including Assessed Tax 7,363 6,463 13,010 14,456  
Direct materials 4,446 3,692 7,776 8,078  
Indirect labor 588 385 1,135 767  
Variable overhead 659 543 1,132 1,000  
AMP credits 0 0 0 0  
Depreciation and amortization 113 105 227 205  
All other expenses (1) [1] 1,071 1,115 1,924 2,016  
Operating income (loss) 486 623 816 2,390  
Capital expenditures 94 123 94 338  
Total assets 16,993   16,993   14,864
Operating Segments [Member] | Industrial Solutions [Member] | External Customers [Member]          
Revenue from Contract with Customer, Including Assessed Tax 6,962 6,387 12,586 13,649  
Operating Segments [Member] | Corporate Segment [Member]          
Revenue from Contract with Customer, Including Assessed Tax 0 0 0 0  
Direct materials 0 0 0 0  
Direct labor 0 0 0 0  
Indirect labor 0 0 0 0  
Variable overhead 0 0 0 0  
AMP credits 0 0 0 0  
Salaries and benefits 654 401 1,052 980  
Share-based compensation 243 237 389 409  
Depreciation and amortization 16 38 34 83  
All other expenses (1) [1] 630 729 1,563 1,692  
Operating income (loss) (1,543) (1,405) (3,038) (3,164)  
Capital expenditures 95 17 124 17  
Total assets 63,363   63,363   48,488
Operating Segments [Member] | Corporate Segment [Member] | External Customers [Member]          
Revenue from Contract with Customer, Including Assessed Tax 0 0 0 0  
Consolidation, Eliminations [Member]          
Revenue from Contract with Customer, Including Assessed Tax (401) (76) (424) (807)  
Direct labor 0 0 0 0  
Indirect labor 0 0 0 0  
Variable overhead 0 0 0 0  
AMP credits 0 0 0 0  
Salaries and benefits 0 0 0 0  
Share-based compensation 0 0 0 0  
Depreciation and amortization 0 0 0 0  
All other expenses (1) [1] (401) (76) (424) (807)  
Operating income (loss) 0 0 0 0  
Capital expenditures 0 0 0 0  
Total assets (40,606)   (40,606)   $ (19,503)
Consolidation, Eliminations [Member] | External Customers [Member]          
Revenue from Contract with Customer, Including Assessed Tax 0 0 0 0  
Intersegment Eliminations [Member]          
Revenue from Contract with Customer, Including Assessed Tax (401) (76) (424) (807)  
Intersegment Eliminations [Member] | Heavy Fabrications [Member]          
Revenue from Contract with Customer, Including Assessed Tax 0 0 0 0  
Intersegment Eliminations [Member] | Gearing [Member]          
Revenue from Contract with Customer, Including Assessed Tax 0 0 0 0  
Intersegment Eliminations [Member] | Industrial Solutions [Member]          
Revenue from Contract with Customer, Including Assessed Tax 401 76 424 807  
Intersegment Eliminations [Member] | Corporate Segment [Member]          
Revenue from Contract with Customer, Including Assessed Tax $ 0 $ 0 $ 0 $ 0  
[1] All other expenses for each reportable segment primarily consist of: Heavy Fabrications-variable overhead, salaries and benefits, and rent and utilities Gearing- salaries and benefits and rent and utilities Industrial Solutions-direct labor, salaries and benefits, and rent and utilities Corporate-professional expenses