Annual report [Section 13 and 15(d), not S-K Item 405]

Revenue, Contract Assets, Contract Liabilities and Remaining Performance Obligations - Schedule Of Expects To Recognize Its Remaining Performance Obligations (Details)

v3.26.1
Revenue, Contract Assets, Contract Liabilities and Remaining Performance Obligations - Schedule Of Expects To Recognize Its Remaining Performance Obligations (Details)
$ in Thousands
Dec. 31, 2025
USD ($)
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Revenue remaining performance obligation amount $ 201,759
Revenue remaining performance obligation percentage 100.00%
1 to 12 months [Member]  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Revenue remaining performance obligation amount $ 75,573 [1]
Revenue remaining performance obligation percentage 37.00% [1]
13 to 24 months [Member]  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Revenue remaining performance obligation amount $ 60,219
Revenue remaining performance obligation percentage 30.00%
25 to 36 months [Member]  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Revenue remaining performance obligation amount $ 43,792
Revenue remaining performance obligation percentage 22.00%
37 to 48 months [Member]  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Revenue remaining performance obligation amount $ 13,908
Revenue remaining performance obligation percentage 7.00%
Remaining [Member]  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Revenue remaining performance obligation amount $ 8,267
Revenue remaining performance obligation percentage 4.00%
[1]

(1) In March 2026, the Company received notice from a customer to temporarily suspend work under a contract. The contract has not been terminated, and the customer has until August 29, 2026 to either cancel the suspension or terminate the contract. Contracted future revenue related to this contract is included in the remaining performance obligations disclosed above. As a result, approximately $15.3 million of revenue previously expected to be recognized within the next 12 months may be delayed to future periods or may not be recognized.