Restatement - Statement of Cash Flows (Details) - USD ($) $ in Thousands |
3 Months Ended | 6 Months Ended | 9 Months Ended | 12 Months Ended | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dec. 31, 2025 |
Sep. 27, 2025 |
Jun. 28, 2025 |
Mar. 29, 2025 |
Dec. 31, 2024 |
Sep. 28, 2024 |
Jun. 29, 2024 |
Mar. 30, 2024 |
Jun. 28, 2025 |
Jun. 29, 2024 |
Sep. 27, 2025 |
Sep. 28, 2024 |
Dec. 31, 2025 |
Dec. 31, 2024 |
Dec. 31, 2023 |
|
| Cash Flows from Operating Activities | |||||||||||||||
| Net income | $ 9,318 | $ (60,827) | $ 12,754 | $ 1,402 | $ 6,585 | $ 9,404 | $ (676) | $ 6,364 | $ 14,156 | $ 5,688 | $ (46,671) | $ 15,091 | $ (37,353) | $ 21,677 | $ 15,928 |
| Adjustments to Reconcile Net Income to Net Cash Provided by (Used in) Operating Activities: | |||||||||||||||
| Depreciation and amortization | 8,584 | 8,353 | 16,857 | 16,598 | 25,195 | 25,129 | 33,657 | 33,438 | 32,571 | ||||||
| Non-cash operating lease cost | 2,194 | 2,071 | 4,402 | 4,164 | 6,631 | 6,329 | 8,328 | 8,513 | 8,215 | ||||||
| Stock-based compensation expense | 15,734 | 4,383 | 20,767 | 18,391 | 24,855 | 22,735 | 28,451 | 26,948 | 15,045 | ||||||
| Deferred income taxes | (1,296) | (1,013) | (1,654) | (2,586) | (15,547) | (7,972) | (11,634) | (7,621) | (9,832) | ||||||
| (Recovery of) provision for credit losses | (54) | 65 | 10 | 357 | 10 | 675 | (145) | 624 | 1,417 | ||||||
| Noncash loss on extinguishment of debt | 581 | 0 | 0 | 0 | 581 | 0 | 0 | ||||||||
| Gain on sale of property and other assets | (1,746) | (1,746) | (1,746) | 0 | 0 | ||||||||||
| Litigation Settlement and Related Costs, Net | 97,667 | 4,085 | 0 | 0 | |||||||||||
| Other | 307 | 218 | 408 | 428 | 909 | 190 | 1,253 | 297 | 411 | ||||||
| Changes in Assets and Liabilities: | |||||||||||||||
| Accounts receivable | (8,076) | 128 | (8,320) | (2,250) | (1,563) | (3,713) | (14,580) | (5,648) | 1,998 | ||||||
| Contract assets | (9,988) | (19,130) | (19,028) | (32,628) | (46,592) | (43,748) | (49,370) | (22,789) | 13,604 | ||||||
| Inventories | (1,019) | (9,027) | (1,596) | (2,630) | 2,271 | 13,428 | 14,202 | 2,211 | (15,979) | ||||||
| Production cost of contracts | (16) | (273) | 820 | 1,429 | 790 | 1,902 | (923) | 618 | (2,825) | ||||||
| Other assets | 2,913 | 4,343 | (542) | 2,889 | (67) | 3,999 | (326) | (1,512) | (4,330) | ||||||
| Accounts payable | 4,929 | 12,257 | 9,083 | 4,873 | 10,011 | 3,298 | (551) | 3,239 | (18,420) | ||||||
| Contract liabilities | 3,051 | 3,198 | 2,526 | (3,458) | 5 | (16,617) | 6,249 | (19,047) | 6,424 | ||||||
| Operating lease liabilities | (1,918) | (2,059) | (4,087) | (4,060) | (5,888) | (6,300) | (7,793) | (8,270) | (7,618) | ||||||
| Accrued and other liabilities | (15,976) | (11,526) | (8,875) | (5,391) | (8,988) | 1,330 | (5,790) | 1,502 | (2,538) | ||||||
| Net Cash (Used in) Provided by Operating Activities | 771 | (1,648) | 23,181 | 1,814 | 41,282 | 15,756 | (33,405) | 34,180 | 31,067 | ||||||
| Cash Flows from Investing Activities | |||||||||||||||
| Purchases of property and equipment | (4,815) | (4,974) | (9,082) | (8,292) | (11,172) | (10,280) | (15,238) | (14,129) | (19,522) | ||||||
| Proceeds from sale of property and other assets | 1,979 | 1,979 | 1,984 | 0 | 0 | ||||||||||
| Proceeds from sale of assets | 100 | 138 | 130 | 223 | 404 | ||||||||||
| Net Cash Used in Investing Activities | (4,815) | (4,974) | (7,003) | (8,292) | (9,055) | (10,280) | (13,124) | (13,906) | (133,496) | ||||||
| Cash Flows from Financing Activities | |||||||||||||||
| Borrowings from senior secured revolving credit facility | 15,000 | 10,000 | 25,000 | 20,000 | 25,000 | 20,000 | 145,000 | 20,000 | 176,500 | ||||||
| Repayments of senior secured revolving credit facility | (15,000) | (10,000) | (33,800) | (20,000) | (33,800) | (25,000) | (48,800) | (35,000) | (152,700) | ||||||
| Borrowings from term loans | (3,125) | (6,250) | 200,000 | 0 | 0 | ||||||||||
| Repayments of term loans | (1,563) | (3,125) | (3,125) | (234,375) | (7,813) | (6,250) | |||||||||
| Repayments of other debt | (96) | (84) | (193) | (172) | (279) | (246) | (368) | (329) | (336) | ||||||
| Payments of Debt Issuance Costs | (3,554) | 0 | 0 | ||||||||||||
| Net cash paid upon issuance of common stock under stock plans | (2,267) | (2,528) | (4,082) | (3,683) | (3,119) | (2,702) | (3,224) | (2,856) | (3,275) | ||||||
| Net Cash Used in Financing Activities | (2,363) | (4,175) | (16,200) | (6,980) | (18,448) | (11,073) | 54,679 | (25,998) | 99,046 | ||||||
| Net Increase (Decrease) in Cash and Cash Equivalents | (6,407) | (10,797) | (22) | (13,458) | 13,779 | (5,597) | 8,150 | (5,724) | (3,383) | ||||||
| Cash and Cash Equivalents at Beginning of Year | 50,918 | 37,117 | 30,732 | 37,139 | 37,266 | 29,405 | 32,066 | 42,863 | 37,139 | 42,863 | 37,139 | 42,863 | 37,139 | 42,863 | 46,246 |
| Cash and Cash Equivalents at End of Year | 45,289 | 50,918 | 37,117 | 30,732 | 37,139 | 37,266 | 29,405 | 32,066 | 37,117 | 29,405 | 50,918 | 37,266 | 45,289 | 37,139 | 42,863 |
| As Previously Reported | |||||||||||||||
| Cash Flows from Operating Activities | |||||||||||||||
| Net income | 7,444 | (64,446) | 12,553 | 10,511 | 6,774 | 10,148 | 7,724 | 6,849 | 23,064 | 14,573 | (41,382) | 24,721 | (33,938) | 31,495 | |
| Adjustments to Reconcile Net Income to Net Cash Provided by (Used in) Operating Activities: | |||||||||||||||
| Depreciation and amortization | 8,584 | 8,353 | 16,857 | 16,598 | 25,195 | 25,129 | 33,657 | 33,438 | |||||||
| Non-cash operating lease cost | 2,194 | 2,071 | 4,402 | 4,164 | 6,631 | 6,329 | 8,328 | 8,513 | |||||||
| Stock-based compensation expense | 5,347 | 4,258 | 11,703 | 8,286 | 17,511 | 12,753 | 24,520 | 17,836 | |||||||
| Deferred income taxes | (1,296) | (1,013) | (1,654) | (2,586) | (14,563) | (7,972) | (11,619) | (7,454) | |||||||
| (Recovery of) provision for credit losses | (54) | 65 | 10 | 357 | 10 | 675 | (145) | 624 | |||||||
| Noncash loss on extinguishment of debt | 581 | 581 | |||||||||||||
| Gain on sale of property and other assets | (1,746) | (1,746) | (1,746) | ||||||||||||
| Litigation Settlement and Related Costs, Net | 97,667 | 4,085 | |||||||||||||
| Other | 307 | 218 | 408 | 428 | 909 | 190 | 1,253 | 297 | |||||||
| Changes in Assets and Liabilities: | |||||||||||||||
| Accounts receivable | (9,384) | 128 | (9,976) | (2,250) | (1,563) | (3,713) | (14,580) | (5,648) | |||||||
| Contract assets | (10,313) | (19,370) | (20,462) | (32,628) | (47,818) | (43,748) | (49,261) | (22,898) | |||||||
| Inventories | (533) | (9,758) | (415) | (2,630) | 4,064 | 13,428 | 14,093 | 2,320 | |||||||
| Production cost of contracts | (16) | (273) | 820 | 1,429 | 790 | 1,902 | (923) | 618 | |||||||
| Other assets | 3,622 | 4,343 | (542) | 3,669 | (67) | 4,129 | (324) | (1,507) | |||||||
| Accounts payable | 4,929 | 12,257 | 9,083 | 4,873 | 10,011 | 3,298 | (551) | 3,239 | |||||||
| Contract liabilities | 3,051 | 4,298 | 2,526 | (3,458) | 5 | (16,617) | 6,249 | (19,047) | |||||||
| Operating lease liabilities | (1,918) | (2,059) | (4,087) | (4,060) | (5,888) | (6,300) | (7,793) | (8,270) | |||||||
| Accrued and other liabilities | (14,260) | (12,015) | (6,810) | (4,951) | (8,484) | 1,552 | (5,291) | 624 | |||||||
| Net Cash (Used in) Provided by Operating Activities | 771 | (1,648) | 23,181 | 1,814 | 41,282 | 15,756 | (33,405) | 34,180 | |||||||
| Cash Flows from Investing Activities | |||||||||||||||
| Purchases of property and equipment | (4,815) | (4,974) | (9,082) | (8,292) | (11,172) | (10,280) | (15,238) | (14,129) | |||||||
| Proceeds from sale of property and other assets | 1,979 | 1,979 | 1,984 | ||||||||||||
| Proceeds from sale of assets | 100 | 138 | 130 | 223 | |||||||||||
| Net Cash Used in Investing Activities | (4,815) | (4,974) | (7,003) | (8,292) | (9,055) | (10,280) | (13,124) | (13,906) | |||||||
| Cash Flows from Financing Activities | |||||||||||||||
| Borrowings from senior secured revolving credit facility | 15,000 | 10,000 | 25,000 | 20,000 | 25,000 | 20,000 | 145,000 | 20,000 | |||||||
| Repayments of senior secured revolving credit facility | (15,000) | (10,000) | (33,800) | (20,000) | (33,800) | (25,000) | (48,800) | (35,000) | |||||||
| Borrowings from term loans | (3,125) | (6,250) | 200,000 | ||||||||||||
| Repayments of term loans | (1,563) | (3,125) | (3,125) | (234,375) | (7,813) | ||||||||||
| Repayments of other debt | (96) | (84) | (193) | (172) | (279) | (246) | (368) | (329) | |||||||
| Payments of Debt Issuance Costs | (3,554) | ||||||||||||||
| Net cash paid upon issuance of common stock under stock plans | (2,267) | (2,528) | (4,082) | (3,683) | (3,119) | (2,702) | (3,224) | (2,856) | |||||||
| Net Cash Used in Financing Activities | (2,363) | (4,175) | (16,200) | (6,980) | (18,448) | (11,073) | 54,679 | (25,998) | |||||||
| Net Increase (Decrease) in Cash and Cash Equivalents | (6,407) | (10,797) | (22) | (13,458) | 13,779 | (5,597) | 8,150 | (5,724) | |||||||
| Cash and Cash Equivalents at Beginning of Year | 50,918 | 37,117 | 30,732 | 37,139 | 37,266 | 29,405 | 32,066 | 42,863 | 37,139 | 42,863 | 37,139 | 42,863 | 37,139 | 42,863 | |
| Cash and Cash Equivalents at End of Year | 45,289 | 50,918 | 37,117 | 30,732 | 37,139 | 37,266 | 29,405 | 32,066 | 37,117 | 29,405 | 50,918 | 37,266 | 45,289 | 37,139 | $ 42,863 |
| Adjustments (B) | |||||||||||||||
| Cash Flows from Operating Activities | |||||||||||||||
| Net income | $ 1,874 | $ 3,619 | $ 201 | (9,109) | $ (189) | $ (744) | $ (8,400) | (485) | (8,908) | (8,885) | (5,289) | (9,630) | (3,415) | (9,818) | |
| Adjustments to Reconcile Net Income to Net Cash Provided by (Used in) Operating Activities: | |||||||||||||||
| Stock-based compensation expense | 10,387 | 125 | 9,064 | 10,105 | 7,344 | 9,982 | 3,931 | 9,112 | |||||||
| Deferred income taxes | (984) | (15) | (167) | ||||||||||||
| Changes in Assets and Liabilities: | |||||||||||||||
| Accounts receivable | 1,308 | 1,656 | |||||||||||||
| Contract assets | 325 | 240 | 1,434 | 1,226 | (109) | 109 | |||||||||
| Inventories | (486) | 731 | (1,181) | (1,793) | 109 | (109) | |||||||||
| Other assets | (709) | (780) | (130) | (2) | (5) | ||||||||||
| Contract liabilities | (1,100) | ||||||||||||||
| Accrued and other liabilities | (1,716) | 489 | (2,065) | (440) | $ (504) | (222) | (499) | 878 | |||||||
| Total adjustments | |||||||||||||||
| Cash Flows from Operating Activities | |||||||||||||||
| Net income | 10,400 | 100 | 9,000 | 10,600 | 10,400 | 3,800 | 9,500 | ||||||||
| Adjustments to Reconcile Net Income to Net Cash Provided by (Used in) Operating Activities: | |||||||||||||||
| Stock-based compensation expense | 100 | $ (100) | 100 | 500 | 500 | (100) | 400 | ||||||||
| Changes in Assets and Liabilities: | |||||||||||||||
| Accrued and other liabilities | $ 100 | $ 100 | $ 100 | $ 100 | $ 100 | $ 100 | |||||||||