Note 2 - Summary of Significant Accounting Policies - Schedule of Weighted Average Number of Shares (Details) - shares shares in Thousands |
3 Months Ended | 6 Months Ended | ||
|---|---|---|---|---|
Jun. 30, 2026 |
Jun. 30, 2025 |
Jun. 30, 2026 |
Jun. 30, 2025 |
|
| Basic (in shares) | 18,292 | 18,045 | 18,243 | 18,011 |
| Diluted (in shares) | 18,472 | 18,332 | 18,499 | 18,340 |
| Share-Based Payment Arrangement, Option [Member] | ||||
| Stock options (in shares) | 122 | 219 | 136 | 221 |
| Stock options, Anti-dilutive (in shares) | 0 | 0 | 0 | 0 |
| Restricted Stock [Member] | ||||
| Stock options (in shares) | 58 | 68 | 120 | 108 |
| Stock options, Anti-dilutive (in shares) | 199 | 9 | 122 | 9 |