v3.26.1
Condensed Consolidated Statements of Stockholders’ Equity - USD ($)
$ in Thousands
Total
Common Stock
Additional Paid-In Capital
Retained Earnings
Accumulated Other Comprehensive Loss
Beginning balance (in shares) at Nov. 30, 2024   43,361,000      
Beginning balance at Nov. 30, 2024 $ 438,788 $ 434 $ 354,158 $ 120,405 $ (36,209)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Issuance of stock under employee stock purchase plan (in shares)   176,000      
Issuance of stock under employee stock purchase plan 7,403 $ 1 7,402    
Exercise of stock options (in shares)   155,000      
Exercise of stock options 4,252 $ 2 4,250    
Vesting of RSUs (in shares)   477,000      
Vesting of RSUs 0 $ 5 (5)    
Withholding tax payments related to net issuance of RSUs (in shares)   (178,000)      
Withholding tax payments related to net issuance of RSUs (10,101) $ (2) (10,099)    
Stock-based compensation $ 31,424   31,424    
Common stock repurchases and retirements (in shares) (900,000) (890,000)      
Common stock repurchases and retirements $ (50,174) $ (9) (25,039) (25,126)  
Net income 27,975     27,975  
Other comprehensive (loss) income 3,134       3,134
Ending balance (in shares) at May. 31, 2025   43,101,000      
Ending balance at May. 31, 2025 452,701 $ 431 362,091 123,254 (33,075)
Beginning balance (in shares) at Feb. 28, 2025   43,022,000      
Beginning balance at Feb. 28, 2025 431,847 $ 430 353,039 115,999 (37,621)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Issuance of stock under employee stock purchase plan (in shares)   119,000      
Issuance of stock under employee stock purchase plan 5,207 $ 1 5,206    
Exercise of stock options (in shares)   118,000      
Exercise of stock options 2,782 $ 2 2,780    
Vesting of RSUs (in shares)   290,000      
Vesting of RSUs 0 $ 3 (3)    
Withholding tax payments related to net issuance of RSUs (in shares)   (97,000)      
Withholding tax payments related to net issuance of RSUs (5,460) $ (1) (5,459)    
Stock-based compensation $ 16,741   16,741    
Common stock repurchases and retirements (in shares) (400,000) (351,000)      
Common stock repurchases and retirements $ (19,991) $ (4) (10,213) (9,774)  
Net income 17,029     17,029  
Other comprehensive (loss) income 4,546       4,546
Ending balance (in shares) at May. 31, 2025   43,101,000      
Ending balance at May. 31, 2025 $ 452,701 $ 431 362,091 123,254 (33,075)
Beginning balance (in shares) at Nov. 30, 2025 42,335,700 42,336,000      
Beginning balance at Nov. 30, 2025 $ 478,349 $ 423 383,696 127,373 (33,143)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Issuance of stock under employee stock purchase plan (in shares)   286,000      
Issuance of stock under employee stock purchase plan 7,174 $ 3 7,171    
Exercise of stock options (in shares)   18,000      
Exercise of stock options 642   642    
Vesting of RSUs (in shares)   570,000      
Vesting of RSUs 0 $ 6 (6)    
Withholding tax payments related to net issuance of RSUs (in shares)   (207,000)      
Withholding tax payments related to net issuance of RSUs (6,629) $ (2) (6,627)    
Stock-based compensation $ 38,983   38,983    
Common stock repurchases and retirements (in shares) (1,700,000) (1,691,000)      
Common stock repurchases and retirements $ (55,091) $ (17) (8,229) (46,845)  
Net income 43,886     43,886  
Other comprehensive (loss) income $ (1,231)       (1,231)
Ending balance (in shares) at May. 31, 2026 41,311,679 41,312,000      
Ending balance at May. 31, 2026 $ 506,083 $ 413 415,630 124,414 (34,374)
Beginning balance (in shares) at Feb. 28, 2026   42,075,000      
Beginning balance at Feb. 28, 2026 498,795 $ 421 398,033 133,008 (32,667)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Issuance of stock under employee stock purchase plan (in shares)   223,000      
Issuance of stock under employee stock purchase plan 4,872 $ 2 4,870    
Exercise of stock options (in shares)   4,000      
Exercise of stock options 152   152    
Vesting of RSUs (in shares)   352,000      
Vesting of RSUs 0 $ 4 (4)    
Withholding tax payments related to net issuance of RSUs (in shares)   (117,000)      
Withholding tax payments related to net issuance of RSUs (2,921) $ (1) (2,920)    
Stock-based compensation $ 20,509   20,509    
Common stock repurchases and retirements (in shares) (1,200,000) (1,225,000)      
Common stock repurchases and retirements $ (34,690) $ (13) (5,010) (29,667)  
Net income 21,073     21,073  
Other comprehensive (loss) income $ (1,707)       (1,707)
Ending balance (in shares) at May. 31, 2026 41,311,679 41,312,000      
Ending balance at May. 31, 2026 $ 506,083 $ 413 $ 415,630 $ 124,414 $ (34,374)