v3.26.1
Revenue - Schedule of Contract Balances (Details) - USD ($)
$ in Thousands
Jun. 30, 2026
Dec. 31, 2025
Disaggregation of Revenue [Line Items]    
Contract assets, current $ 81,441 $ 67,780
Contract liabilities, current (23,176) (30,027)
Contract liabilities, noncurrent (1,270) (1,414)
Total contract liabilities (24,446) (31,441)
Net contract assets $ 56,995 $ 36,339