XML 59 R40.htm IDEA: XBRL DOCUMENT v3.24.0.1
Organization and Summary of Significant Accounting Policies - Valuation and Qualifying Accounts (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
SEC Schedule, 12-09, Valuation and Qualifying Accounts [Abstract]      
Threshold past due account balances for reserve analysis $ 20,000    
Threshold past due days for reserve analysis 60 days    
Sales period (in months) for establishing reserve for inventory obsolescence 12 months    
SEC Schedule, 12-09, Allowance, Credit Loss [Member]      
SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items]      
Balance at beginning of year $ 9,522,000 $ 5,942,000 $ 4,808,000
Bad debt expense 7,526,000 7,449,000 3,377,000
Write-offs, net of recoveries (5,330,000) (3,869,000) (2,243,000)
Balance at end of year 11,718,000 9,522,000 5,942,000
SEC Schedule, 12-09, Reserve, Inventory [Member]      
SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items]      
Balance at beginning of year 21,208,000 15,196,000 11,398,000
Provision for inventory write-downs 8,483,000 11,989,000 7,781,000
Deductions for inventory write-offs (6,227,000) (5,977,000) (3,983,000)
Balance at end of year $ 23,464,000 $ 21,208,000 $ 15,196,000