XML 71 R59.htm IDEA: XBRL DOCUMENT v3.25.1
Revenue Recognition - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2025
Mar. 31, 2024
Dec. 31, 2024
Dec. 31, 2023
Disaggregation of Revenue [Line Items]        
Billed accounts receivable $ 59,858   $ 70,882 $ 107,100
Unbilled receivables 10,409   20,834 40,100
Retainage 7,846   7,299 4,900
Contract with customer, liability, revenue recognized   $ 9,900    
Deferred revenue $ 15,195   $ 18,737 $ 22,200
Minimum        
Disaggregation of Revenue [Line Items]        
Rebate term 3 months      
Maximum        
Disaggregation of Revenue [Line Items]        
Rebate term 4 months