v3.25.2
Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical) - USD ($)
shares in Thousands, $ in Thousands
Jun. 30, 2025
Dec. 31, 2024
Statement of Financial Position [Abstract]    
Allowance for credit losses on accounts receivable and unbilled receivables $ 10,086 $ 6,645
Preferred stock, par value (in dollars per share) $ 0.001 $ 0.001
Preferred stock, shares authorized (in shares) 5,000 5,000
Preferred stock, shares issued (in shares) 0 0
Common stock, par value (in dollars per share) $ 0.001 $ 0.001
Common stock, shares authorized (in shares) 100,000 100,000
Common stock, shares issued (in shares) 57,238 56,665
Common stock, shares outstanding (in shares) 46,419 46,382
Treasury stock, shares outstanding (in shares) 10,819 10,283