v3.26.1
Revenue from Contracts with Customers - Disaggregated Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
Disaggregation of Revenue [Line Items]        
Total revenue $ 170,822 $ 203,457 $ 342,143 $ 401,887
Transferred overtime        
Disaggregation of Revenue [Line Items]        
Total revenue 104,968 128,987 196,115 249,526
Transferred at point in time        
Disaggregation of Revenue [Line Items]        
Total revenue 65,854 74,470 146,028 152,361
ESS        
Disaggregation of Revenue [Line Items]        
Total revenue 97,660 125,547 198,350 233,088
ESS | Transferred overtime        
Disaggregation of Revenue [Line Items]        
Total revenue 65,013 89,340 125,033 162,326
ESS | Transferred at point in time        
Disaggregation of Revenue [Line Items]        
Total revenue 32,647 36,207 73,317 70,762
PCS        
Disaggregation of Revenue [Line Items]        
Total revenue 73,162 77,910 143,793 168,799
PCS | Transferred overtime        
Disaggregation of Revenue [Line Items]        
Total revenue 39,955 39,647 71,082 87,200
PCS | Transferred at point in time        
Disaggregation of Revenue [Line Items]        
Total revenue 33,207 38,263 72,711 81,599
Project and other manufacturing contracts revenue        
Disaggregation of Revenue [Line Items]        
Total revenue 10,093 33,139 22,385 57,756
Project and other manufacturing contracts revenue | ESS        
Disaggregation of Revenue [Line Items]        
Total revenue 5,395 29,102 14,416 48,276
Project and other manufacturing contracts revenue | PCS        
Disaggregation of Revenue [Line Items]        
Total revenue 4,698 4,037 7,969 9,480
Sale of products        
Disaggregation of Revenue [Line Items]        
Total revenue 10,494 25,835 30,995 55,966
Sale of products | ESS        
Disaggregation of Revenue [Line Items]        
Total revenue 7,508 12,986 15,651 29,923
Sale of products | PCS        
Disaggregation of Revenue [Line Items]        
Total revenue 2,986 12,849 15,344 26,043
Product revenue        
Disaggregation of Revenue [Line Items]        
Total revenue 20,587 58,974 53,380 113,722
Product revenue | ESS        
Disaggregation of Revenue [Line Items]        
Total revenue 12,903 42,088 30,067 78,199
Product revenue | PCS        
Disaggregation of Revenue [Line Items]        
Total revenue 7,684 16,886 23,313 35,523
Service revenue        
Disaggregation of Revenue [Line Items]        
Total revenue 89,072 92,332 161,081 175,840
Service revenue | ESS        
Disaggregation of Revenue [Line Items]        
Total revenue 53,815 56,722 97,968 98,120
Service revenue | PCS        
Disaggregation of Revenue [Line Items]        
Total revenue 35,257 35,610 63,113 77,720
Spare parts revenue        
Disaggregation of Revenue [Line Items]        
Total revenue 61,163 52,151 127,682 112,325
Spare parts revenue | ESS        
Disaggregation of Revenue [Line Items]        
Total revenue 30,942 26,737 70,315 56,769
Spare parts revenue | PCS        
Disaggregation of Revenue [Line Items]        
Total revenue $ 30,221 $ 25,414 $ 57,367 $ 55,556