v3.26.1
Revenue - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
Dec. 31, 2025
Disaggregation of Revenue [Line Items]          
Contract assets $ 0   $ 0   $ 0
Receivable related to contracts with customers 22,400   22,400   32,000
Contract liability 3,200   3,200   3,000
Revenue recognized on contract liability 100 $ (100) 300 $ 100  
Capitalized costs to obtain a contract 4,200   4,200   $ 3,600
Remaining performance obligations 1,214   1,214    
Plant and equipment          
Disaggregation of Revenue [Line Items]          
Capitalized cost, impairment charge       $ 800  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-07-01          
Disaggregation of Revenue [Line Items]          
Remaining performance obligations 87   87    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2027-07-01          
Disaggregation of Revenue [Line Items]          
Remaining performance obligations 159   159    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2028-07-01          
Disaggregation of Revenue [Line Items]          
Remaining performance obligations 158   158    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2029-07-01          
Disaggregation of Revenue [Line Items]          
Remaining performance obligations 148   148    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2030-07-01          
Disaggregation of Revenue [Line Items]          
Remaining performance obligations 97   97    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2031-07-01          
Disaggregation of Revenue [Line Items]          
Remaining performance obligations $ 565   $ 565