Quarterly report [Sections 13 or 15(d)]

Revenue, Contract Assets and Liabilities and Other Contract Matters - Summary of Remaining Performance Obligations, Disaggregated by Operating Segment and Contract Type (Parenthetical) (Details)

v3.25.2
Revenue, Contract Assets and Liabilities and Other Contract Matters - Summary of Remaining Performance Obligations, Disaggregated by Operating Segment and Contract Type (Parenthetical) (Details)
$ in Thousands
Jun. 30, 2025
USD ($)
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation $ 6,800 [1]
ENGlobal Business  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation $ 2,100
[1] We expect all of our performance obligations at June 30, 2025, to be recognized as revenue during 2025. Certain factors and circumstances could result in changes in the timing of recognition of our performance obligations as revenue and the amounts ultimately recognized.