v3.26.1
Consolidated Statements of Shareholders' Equity - USD ($)
$ in Thousands
Total
Common Stock
Additional Paid-In Capital
Retained Earnings
Accumulated Other Comprehensive Loss
Beginning balance (in shares) at Dec. 31, 2024   24,226,088      
Balance at beginning of period at Dec. 31, 2024 $ 670,151 $ 24 $ 453,705 $ 244,406 $ (27,984)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares)   58,291      
Common shares issued on exercise of options and other, net of shares withheld for tax obligations (961)   (961)    
Stock-based compensation expense 3,992   3,992    
Repurchases of common stock (in shares)   (513,739)      
Repurchases of common stock (21,073) $ (1) (9,621) (11,451)  
Net income 3,599     3,599  
Other comprehensive income          
Foreign currency translation adjustment 1,003       1,003
Net unrealized (loss) gain on investments in securities 90       90
Comprehensive income 4,692        
Ending balance (in shares) at Mar. 31, 2025   23,770,640      
Balance at end of period at Mar. 31, 2025 656,801 $ 23 447,115 236,554 (26,891)
Beginning balance (in shares) at Dec. 31, 2024   24,226,088      
Balance at beginning of period at Dec. 31, 2024 670,151 $ 24 453,705 244,406 (27,984)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net income 8,026        
Other comprehensive income          
Comprehensive income 11,447        
Ending balance (in shares) at Jun. 30, 2025   23,874,601      
Balance at end of period at Jun. 30, 2025 664,707 $ 23 449,903 239,344 (24,563)
Beginning balance (in shares) at Mar. 31, 2025   23,770,640      
Balance at beginning of period at Mar. 31, 2025 656,801 $ 23 447,115 236,554 (26,891)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares)   179,393      
Common shares issued on exercise of options and other, net of shares withheld for tax obligations (58)   (58)    
Stock-based compensation expense 4,259   4,259    
Repurchases of common stock (in shares)   (75,432)      
Repurchases of common stock (3,050)   (1,413) (1,637)  
Net income 4,427     4,427  
Other comprehensive income          
Foreign currency translation adjustment 2,300       2,300
Net unrealized (loss) gain on investments in securities 28       28
Comprehensive income 6,755        
Ending balance (in shares) at Jun. 30, 2025   23,874,601      
Balance at end of period at Jun. 30, 2025 $ 664,707 $ 23 449,903 239,344 (24,563)
Beginning balance (in shares) at Dec. 31, 2025 23,627,422 23,627,422      
Balance at beginning of period at Dec. 31, 2025 $ 673,932 $ 24 454,120 240,764 (20,976)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares)   165,066      
Common shares issued on exercise of options and other, net of shares withheld for tax obligations 375   375    
Stock-based compensation expense 3,219   3,219    
Net income 8,111     8,111  
Other comprehensive income          
Foreign currency translation adjustment (2,382)       (2,382)
Net unrealized (loss) gain on investments in securities (129)       (129)
Comprehensive income 5,600        
Ending balance (in shares) at Mar. 31, 2026   23,792,488      
Balance at end of period at Mar. 31, 2026 $ 683,126 $ 24 457,714 248,875 (23,487)
Beginning balance (in shares) at Dec. 31, 2025 23,627,422 23,627,422      
Balance at beginning of period at Dec. 31, 2025 $ 673,932 $ 24 454,120 240,764 (20,976)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net income 17,263        
Other comprehensive income          
Comprehensive income $ 14,951        
Ending balance (in shares) at Jun. 30, 2026 23,921,897 23,921,897      
Balance at end of period at Jun. 30, 2026 $ 691,733 $ 24 460,671 254,326 (23,288)
Beginning balance (in shares) at Mar. 31, 2026   23,792,488      
Balance at beginning of period at Mar. 31, 2026 683,126 $ 24 457,714 248,875 (23,487)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares)   197,962      
Common shares issued on exercise of options and other, net of shares withheld for tax obligations 204   204    
Stock-based compensation expense 4,088   4,088    
Repurchases of common stock (in shares)   (68,553)      
Repurchases of common stock (5,036)   (1,335) (3,701)  
Net income 9,152     9,152  
Other comprehensive income          
Foreign currency translation adjustment 289       289
Net unrealized (loss) gain on investments in securities (90)       (90)
Comprehensive income $ 9,351        
Ending balance (in shares) at Jun. 30, 2026 23,921,897 23,921,897      
Balance at end of period at Jun. 30, 2026 $ 691,733 $ 24 $ 460,671 $ 254,326 $ (23,288)