Condensed Consolidated Statements of Shareholders' Equity (Unaudited) - USD ($) |
Common Stock [Member] |
Additional Paid-in Capital [Member] |
Retained Earnings [Member] |
AOCI Attributable to Parent [Member] |
Total |
|---|---|---|---|---|---|
| Balance (in shares) at Dec. 31, 2024 | 10,816,878 | ||||
| Balance at Dec. 31, 2024 | $ 108,000 | $ 16,368,000 | $ 47,257,000 | $ (1,499,000) | $ 62,234,000 |
| Net income | $ 0 | 0 | 613,000 | 0 | 613,000 |
| Stock-based compensation expense | 136,000 | 0 | 0 | 136,000 | |
| Other comprehensive income (loss) | 0 | 0 | (65,000) | (65,000) | |
| Common stock repurchased and retired (in shares) | (221,413) | ||||
| Common stock repurchased and retired | $ (2,000) | (335,000) | (841,000) | 0 | (1,178,000) |
| Balance (in shares) at Mar. 31, 2025 | 10,595,465 | ||||
| Balance at Mar. 31, 2025 | $ 106,000 | 16,157,000 | 47,029,000 | (1,564,000) | 61,728,000 |
| Treasury stock excise tax | (12,000) | 0 | 0 | (12,000) | |
| Balance (in shares) at Dec. 31, 2024 | 10,816,878 | ||||
| Balance at Dec. 31, 2024 | $ 108,000 | 16,368,000 | 47,257,000 | (1,499,000) | 62,234,000 |
| Net income | $ 1,857,000 | ||||
| Common stock repurchased and retired (in shares) | (402,513) | ||||
| Balance (in shares) at Jun. 30, 2025 | 10,414,365 | ||||
| Balance at Jun. 30, 2025 | $ 104,000 | 16,008,000 | 47,722,000 | (1,586,000) | $ 62,248,000 |
| Balance (in shares) at Mar. 31, 2025 | 10,595,465 | ||||
| Balance at Mar. 31, 2025 | $ 106,000 | 16,157,000 | 47,029,000 | (1,564,000) | 61,728,000 |
| Net income | 0 | 0 | 1,244,000 | 0 | 1,244,000 |
| Stock-based compensation expense | 0 | 136,000 | 0 | 0 | 136,000 |
| Other comprehensive income (loss) | $ 0 | 0 | 0 | (22,000) | $ (22,000) |
| Common stock repurchased and retired (in shares) | (181,100) | (181,100) | |||
| Common stock repurchased and retired | $ (2,000) | (277,000) | (551,000) | 0 | $ (830,000) |
| Balance (in shares) at Jun. 30, 2025 | 10,414,365 | ||||
| Balance at Jun. 30, 2025 | $ 104,000 | 16,008,000 | 47,722,000 | (1,586,000) | 62,248,000 |
| Treasury stock excise tax | $ 0 | (8,000) | 0 | 0 | $ (8,000) |
| Balance (in shares) at Dec. 31, 2025 | 10,131,565 | 10,131,565 | |||
| Balance at Dec. 31, 2025 | $ 101,000 | 15,828,000 | 48,496,000 | (1,947,000) | $ 62,478,000 |
| Net income | 0 | 0 | 702,000 | 0 | 702,000 |
| Stock-based compensation expense | 0 | 132,000 | 0 | 0 | 132,000 |
| Other comprehensive income (loss) | $ 0 | 0 | 0 | (299,000) | (299,000) |
| Balance (in shares) at Mar. 31, 2026 | 10,131,565 | ||||
| Balance at Mar. 31, 2026 | $ 101,000 | 15,960,000 | 49,198,000 | (2,246,000) | $ 63,013,000 |
| Balance (in shares) at Dec. 31, 2025 | 10,131,565 | 10,131,565 | |||
| Balance at Dec. 31, 2025 | $ 101,000 | 15,828,000 | 48,496,000 | (1,947,000) | $ 62,478,000 |
| Net income | $ 2,528,000 | ||||
| Common stock repurchased and retired (in shares) | (21,800) | ||||
| Options exercised (in shares) | 11,086 | ||||
| Balance (in shares) at Jun. 30, 2026 | 10,120,851 | 10,120,851 | |||
| Balance at Jun. 30, 2026 | $ 101,000 | 16,099,000 | 50,959,000 | (2,239,000) | $ 64,920,000 |
| Balance (in shares) at Mar. 31, 2026 | 10,131,565 | ||||
| Balance at Mar. 31, 2026 | $ 101,000 | 15,960,000 | 49,198,000 | (2,246,000) | 63,013,000 |
| Net income | 0 | 0 | 1,826,000 | 0 | 1,826,000 |
| Stock-based compensation expense | 0 | 127,000 | 0 | 0 | 127,000 |
| Other comprehensive income (loss) | $ 0 | 0 | 0 | 7,000 | $ 7,000 |
| Common stock repurchased and retired (in shares) | (21,800) | (21,800) | |||
| Common stock repurchased and retired | $ 0 | (34,000) | (65,000) | 0 | $ (99,000) |
| Options exercised (in shares) | 11,086 | ||||
| Options exercised | $ 0 | 46,000 | 0 | 0 | $ 46,000 |
| Balance (in shares) at Jun. 30, 2026 | 10,120,851 | 10,120,851 | |||
| Balance at Jun. 30, 2026 | $ 101,000 | $ 16,099,000 | $ 50,959,000 | $ (2,239,000) | $ 64,920,000 |
| X | ||||||||||
- Definition Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement. Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef
|
| X | ||||||||||
- Definition Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement. Reference 1: http://www.xbrl.org/2003/role/disclosureRef
|
| X | ||||||||||
- Definition Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation. Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef
|
| X | ||||||||||
- Definition The portion of profit or loss for the period, net of income taxes, which is attributable to the parent. Reference 1: http://www.xbrl.org/2003/role/disclosureRef
|
| X | ||||||||||
- Definition Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity. Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef
|
| X | ||||||||||
- Definition Number of share options (or share units) exercised during the current period. Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef
|
| X | ||||||||||
- Definition Value of stock issued as a result of the exercise of stock options. Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef
|
| X | ||||||||||
- Definition Number of shares that have been repurchased and retired during the period. Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef
|
| X | ||||||||||
- Definition Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital). Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef
|
| X | ||||||||||
- Definition Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest. Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef
|