v3.26.1
Revenue - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2026
Mar. 31, 2025
Dec. 31, 2025
Disaggregation of Revenue [Line Items]      
Revenue $ 324,580 $ 256,045  
Billed and billable receivables 216,504   $ 190,732
Contract assets 45,723   41,468
Contract liabilities 9,381   $ 6,891
Repair      
Disaggregation of Revenue [Line Items]      
Revenue 122,230 95,494  
Distribution      
Disaggregation of Revenue [Line Items]      
Revenue 202,350 160,551  
Commercial      
Disaggregation of Revenue [Line Items]      
Revenue 320,323 254,953  
Government      
Disaggregation of Revenue [Line Items]      
Revenue $ 4,257 $ 1,092