v3.26.1
Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical) - USD ($)
shares in Thousands, $ in Thousands
Jun. 30, 2026
Dec. 31, 2025
Statement of Financial Position [Abstract]    
Allowance for credit losses on accounts receivable and unbilled receivables $ 6,957 $ 8,868
Preferred stock, par value (in dollars per share) $ 0.001 $ 0.001
Preferred stock, authorized (in shares) 5,000 5,000
Preferred stock, issued (in shares) 0 0
Common stock, par value (in dollars per share) $ 0.001 $ 0.001
Common stock, authorized (in shares) 100,000 100,000
Common stock, issued (in shares) 58,419 57,833
Common stock, outstanding (in shares) 45,613 45,027
Treasury stock, outstanding (in shares) 12,806 12,806