v3.26.1
CONDENSED CONSOLIDATED STATEMENTS OF INCOME (Parenthetical) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
Share-based compensation expense $ 5,760 $ 4,207 $ 10,024 $ 8,471
Income Statement Location [Axis]: us-gaap:CostOfRevenue        
Share-based compensation expense 621 511 1,063 987
Income Statement Location [Axis]: us-gaap:GeneralAndAdministrativeExpense        
Share-based compensation expense 3,827 2,887 6,760 5,856
Income Statement Location [Axis]: us-gaap:ResearchAndDevelopmentExpense        
Share-based compensation expense 318 107 456 212
Income Statement Location [Axis]: us-gaap:SellingAndMarketingExpense        
Share-based compensation expense $ 994 $ 702 $ 1,745 $ 1,416