v3.24.1.u1
Revenue Recognition - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2022
Dec. 31, 2023
Revenue from Contract with Customer [Abstract]        
Billed accounts receivable $ 99,822   $ 48,600 $ 102,232
Unbilled receivables 23,406   16,700 40,136
Retainage 3,581   2,000 $ 4,886
Contract with customer, liability, revenue recognized $ 9,900 $ 10,100 $ 23,300