Organization record
Multi Ways Holdings Limited
All evidence-backed facts for this organization, identity resolved across official registers.
Facts on record
Newest first; every row links to its evidence page.
| Fact | Value | Period | Source |
|---|---|---|---|
| accounts_receivable | {"amount": 7013000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2025-12-31 | sec_edgar |
| accounts_receivable | {"amount": 6181000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2024-12-31 | sec_edgar |
| accounts_receivable | {"amount": 5341000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2023-12-31 | sec_edgar |
| accounts_receivable | {"amount": 8021000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2022-12-31 | sec_edgar |
| accounts_receivable | {"amount": 5692000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2021-12-31 | sec_edgar |
| capex | {"amount": 202000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2025-12-31 | sec_edgar |
| capex | {"amount": 598000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2024-12-31 | sec_edgar |
| capex | {"amount": 1955000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2023-12-31 | sec_edgar |
| capex | {"amount": 817000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2022-12-31 | sec_edgar |
| capex | {"amount": 637000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2020-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 1892000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2025-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 3258000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2024-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 7073000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2023-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 1003000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2022-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 1533000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency" | 2021-12-31 | sec_edgar |
| cashflow_financing | {"amount": -7307000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "cur | 2025-12-31 | sec_edgar |
| cashflow_financing | {"amount": 9222000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curr | 2024-12-31 | sec_edgar |
| cashflow_financing | {"amount": -875000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curr | 2023-12-31 | sec_edgar |
| cashflow_financing | {"amount": -296000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curr | 2022-12-31 | sec_edgar |
| cashflow_financing | {"amount": -4758000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "cur | 2021-12-31 | sec_edgar |
| cashflow_financing | {"amount": -899000, "concept": "us-gaap:NetCashProvidedByUsedInFinancingActivities", "curr | 2020-12-31 | sec_edgar |
| cashflow_investing | {"amount": -235000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curr | 2025-12-31 | sec_edgar |
| cashflow_investing | {"amount": 26000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curren | 2024-12-31 | sec_edgar |
| cashflow_investing | {"amount": 6810000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curr | 2023-12-31 | sec_edgar |
| cashflow_investing | {"amount": -1140000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "cur | 2022-12-31 | sec_edgar |
| cashflow_investing | {"amount": 343000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curre | 2021-12-31 | sec_edgar |
| cashflow_investing | {"amount": -565000, "concept": "us-gaap:NetCashProvidedByUsedInInvestingActivities", "curr | 2020-12-31 | sec_edgar |
| cashflow_operating | {"amount": 6352000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curr | 2025-12-31 | sec_edgar |
| cashflow_operating | {"amount": -12910000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "cu | 2024-12-31 | sec_edgar |
| cashflow_operating | {"amount": 55000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curren | 2023-12-31 | sec_edgar |
| cashflow_operating | {"amount": 910000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curre | 2022-12-31 | sec_edgar |
| cashflow_operating | {"amount": 5630000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curr | 2021-12-31 | sec_edgar |
| cashflow_operating | {"amount": 1656000, "concept": "us-gaap:NetCashProvidedByUsedInOperatingActivities", "curr | 2020-12-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 33330000, "concept": "us-gaap:CommonStockSharesIssued"} | 2024-12-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 790000, "concept": "us-gaap:CommonStockSharesIssued"} | 2024-09-25 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 1700000, "concept": "us-gaap:CommonStockSharesIssued"} | 2024-08-01 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 30840000, "concept": "us-gaap:CommonStockSharesIssued"} | 2023-12-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 6040000, "concept": "us-gaap:CommonStockSharesIssued"} | 2023-04-05 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 24800000, "concept": "us-gaap:CommonStockSharesIssued"} | 2022-12-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 24800000, "concept": "us-gaap:CommonStockSharesIssued"} | 2021-12-31 | sec_edgar |
| common_shares_issued | {"unit": "shares", "value": 24800000, "concept": "us-gaap:CommonStockSharesIssued"} | 2020-12-31 | sec_edgar |
| common_shares_outstanding | {"unit": "shares", "value": 33330000, "concept": "us-gaap:CommonStockSharesOutstanding"} | 2024-12-31 | sec_edgar |
| common_shares_outstanding | {"unit": "shares", "value": 30840000, "concept": "us-gaap:CommonStockSharesOutstanding"} | 2023-12-31 | sec_edgar |
| common_shares_outstanding | {"unit": "shares", "value": 24800000, "concept": "us-gaap:CommonStockSharesOutstanding"} | 2022-12-31 | sec_edgar |
| common_shares_outstanding | {"unit": "shares", "value": 24800000, "concept": "us-gaap:CommonStockSharesOutstanding"} | 2021-12-31 | sec_edgar |
| common_shares_outstanding | {"unit": "shares", "value": 24800000, "concept": "us-gaap:CommonStockSharesOutstanding"} | 2020-12-31 | sec_edgar |
| cost_of_revenue | {"amount": 33687000, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2025-12-31 | sec_edgar |
| cost_of_revenue | {"amount": 21353000, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2024-12-31 | sec_edgar |
| cost_of_revenue | {"amount": 27366000, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2023-12-31 | sec_edgar |
| cost_of_revenue | {"amount": 28617000, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2022-12-31 | sec_edgar |
| cost_of_revenue | {"amount": 24049000, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2021-12-31 | sec_edgar |
| cost_of_revenue | {"amount": 23044000, "concept": "us-gaap:CostOfRevenue", "currency": "USD"} | 2020-12-31 | sec_edgar |
| current_assets | {"amount": 57005000, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2025-12-31 | sec_edgar |
| current_assets | {"amount": 64999000, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2024-12-31 | sec_edgar |
| current_assets | {"amount": 52381000, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2023-12-31 | sec_edgar |
| current_assets | {"amount": 44071000, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2022-12-31 | sec_edgar |
| current_assets | {"amount": 45118000, "concept": "us-gaap:AssetsCurrent", "currency": "USD"} | 2021-12-31 | sec_edgar |
| current_liabilities | {"amount": 36295000, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2025-12-31 | sec_edgar |
| current_liabilities | {"amount": 44804000, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2024-12-31 | sec_edgar |
| current_liabilities | {"amount": 31478000, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2023-12-31 | sec_edgar |
| current_liabilities | {"amount": 41185000, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2022-12-31 | sec_edgar |
| current_liabilities | {"amount": 40673000, "concept": "us-gaap:LiabilitiesCurrent", "currency": "USD"} | 2021-12-31 | sec_edgar |
| dei:EntityCommonStockSharesOutstanding | {"unit": "shares", "value": 33330000} | 2024-12-31 | sec_edgar |
| dei:EntityCommonStockSharesOutstanding | {"unit": "shares", "value": 30840000} | 2023-12-31 | sec_edgar |
| dei:EntityCommonStockSharesOutstanding | {"unit": "shares", "value": 24800000} | 2022-12-31 | sec_edgar |
| eps_basic | {"per": "shares", "amount": -0.11, "concept": "us-gaap:EarningsPerShareBasic", "currency": | 2025-12-31 | sec_edgar |
| eps_basic | {"per": "shares", "amount": -0.9, "concept": "us-gaap:EarningsPerShareBasic", "currency": | 2024-12-31 | sec_edgar |
| eps_basic | {"per": "shares", "amount": 0.59, "concept": "us-gaap:EarningsPerShareBasic", "currency": | 2023-12-31 | sec_edgar |
| eps_basic | {"per": "shares", "amount": 0.04, "concept": "us-gaap:EarningsPerShareBasic", "currency": | 2022-12-31 | sec_edgar |
| eps_basic | {"per": "shares", "amount": 0.07, "concept": "us-gaap:EarningsPerShareBasic", "currency": | 2021-12-31 | sec_edgar |
| eps_basic | {"per": "shares", "amount": 0.05, "concept": "us-gaap:EarningsPerShareBasic", "currency": | 2020-12-31 | sec_edgar |
| eps_diluted | {"per": "shares", "amount": -0.11, "concept": "us-gaap:EarningsPerShareDiluted", "currency | 2025-12-31 | sec_edgar |
| eps_diluted | {"per": "shares", "amount": -0.9, "concept": "us-gaap:EarningsPerShareDiluted", "currency" | 2024-12-31 | sec_edgar |
| eps_diluted | {"per": "shares", "amount": 0.59, "concept": "us-gaap:EarningsPerShareDiluted", "currency" | 2023-12-31 | sec_edgar |
| eps_diluted | {"per": "shares", "amount": 0.04, "concept": "us-gaap:EarningsPerShareDiluted", "currency" | 2022-12-31 | sec_edgar |
| eps_diluted | {"per": "shares", "amount": 0.07, "concept": "us-gaap:EarningsPerShareDiluted", "currency" | 2021-12-31 | sec_edgar |
| gross_profit | {"amount": 11081000, "concept": "us-gaap:GrossProfit", "currency": "USD"} | 2025-12-31 | sec_edgar |
| gross_profit | {"amount": 9713000, "concept": "us-gaap:GrossProfit", "currency": "USD"} | 2024-12-31 | sec_edgar |
| gross_profit | {"amount": 8650000, "concept": "us-gaap:GrossProfit", "currency": "USD"} | 2023-12-31 | sec_edgar |
| gross_profit | {"amount": 9742000, "concept": "us-gaap:GrossProfit", "currency": "USD"} | 2022-12-31 | sec_edgar |
| gross_profit | {"amount": 9357000, "concept": "us-gaap:GrossProfit", "currency": "USD"} | 2021-12-31 | sec_edgar |
| gross_profit | {"amount": 6842000, "concept": "us-gaap:GrossProfit", "currency": "USD"} | 2020-12-31 | sec_edgar |
| income_tax_expense | {"amount": -310000, "concept": "us-gaap:IncomeTaxExpenseBenefit", "currency": "USD"} | 2024-12-31 | sec_edgar |
| income_tax_expense | {"amount": -53000, "concept": "us-gaap:IncomeTaxExpenseBenefit", "currency": "USD"} | 2023-12-31 | sec_edgar |
| income_tax_expense | {"amount": 529000, "concept": "us-gaap:IncomeTaxExpenseBenefit", "currency": "USD"} | 2022-12-31 | sec_edgar |
| income_tax_expense | {"amount": 230000, "concept": "us-gaap:IncomeTaxExpenseBenefit", "currency": "USD"} | 2021-12-31 | sec_edgar |
| income_tax_expense | {"amount": 3000, "concept": "us-gaap:IncomeTaxExpenseBenefit", "currency": "USD"} | 2020-12-31 | sec_edgar |
| industry_sic | {"code": "3990", "scheme": "SIC", "description": "Miscellaneous Manufacturing Industries"} | sec_edgar | |
| interest_expense | {"amount": 1690000, "concept": "us-gaap:InterestExpense", "currency": "USD"} | 2025-12-31 | sec_edgar |
| interest_expense | {"amount": 1505000, "concept": "us-gaap:InterestExpenseNonoperating", "currency": "USD"} | 2024-12-31 | sec_edgar |
| interest_expense | {"amount": 1105000, "concept": "us-gaap:InterestExpenseNonoperating", "currency": "USD"} | 2023-12-31 | sec_edgar |
| interest_expense | {"amount": 748000, "concept": "us-gaap:InterestExpenseNonoperating", "currency": "USD"} | 2022-12-31 | sec_edgar |
| interest_expense | {"amount": 716000, "concept": "us-gaap:InterestExpense", "currency": "USD"} | 2021-12-31 | sec_edgar |
| interest_expense | {"amount": 858000, "concept": "us-gaap:InterestExpense", "currency": "USD"} | 2020-12-31 | sec_edgar |
| inventory | {"amount": 42396000, "concept": "us-gaap:InventoryNet", "currency": "USD"} | 2025-12-31 | sec_edgar |
| inventory | {"amount": 45098000, "concept": "us-gaap:InventoryNet", "currency": "USD"} | 2024-12-31 | sec_edgar |
| inventory | {"amount": 36692000, "concept": "us-gaap:InventoryNet", "currency": "USD"} | 2023-12-31 | sec_edgar |
| inventory | {"amount": 31442000, "concept": "us-gaap:InventoryNet", "currency": "USD"} | 2022-12-31 | sec_edgar |
| inventory | {"amount": 32874000, "concept": "us-gaap:InventoryNet", "currency": "USD"} | 2021-12-31 | sec_edgar |
| net_income | {"amount": -433000, "concept": "us-gaap:NetIncomeLoss", "currency": "USD"} | 2025-12-31 | sec_edgar |
| net_income | {"amount": -2854000, "concept": "us-gaap:NetIncomeLoss", "currency": "USD"} | 2024-12-31 | sec_edgar |
| net_income | {"amount": 1789000, "concept": "us-gaap:NetIncomeLoss", "currency": "USD"} | 2023-12-31 | sec_edgar |
| net_income | {"amount": 978000, "concept": "us-gaap:NetIncomeLoss", "currency": "USD"} | 2022-12-31 | sec_edgar |
| net_income | {"amount": 1801000, "concept": "us-gaap:NetIncomeLoss", "currency": "USD"} | 2021-12-31 | sec_edgar |
| net_income | {"amount": 1319000, "concept": "us-gaap:NetIncomeLoss", "currency": "USD"} | 2020-12-31 | sec_edgar |
| noncurrent_assets | {"amount": 4928000, "concept": "us-gaap:AssetsNoncurrent", "currency": "USD"} | 2025-12-31 | sec_edgar |
| noncurrent_assets | {"amount": 4576000, "concept": "us-gaap:AssetsNoncurrent", "currency": "USD"} | 2024-12-31 | sec_edgar |
| noncurrent_assets | {"amount": 5620000, "concept": "us-gaap:AssetsNoncurrent", "currency": "USD"} | 2023-12-31 | sec_edgar |
| noncurrent_assets | {"amount": 8715000, "concept": "us-gaap:AssetsNoncurrent", "currency": "USD"} | 2022-12-31 | sec_edgar |
| noncurrent_assets | {"amount": 9497000, "concept": "us-gaap:AssetsNoncurrent", "currency": "USD"} | 2021-12-31 | sec_edgar |
| noncurrent_liabilities | {"amount": 2983000, "concept": "us-gaap:LiabilitiesNoncurrent", "currency": "USD"} | 2025-12-31 | sec_edgar |
| noncurrent_liabilities | {"amount": 4686000, "concept": "us-gaap:LiabilitiesNoncurrent", "currency": "USD"} | 2024-12-31 | sec_edgar |
| noncurrent_liabilities | {"amount": 4696000, "concept": "us-gaap:LiabilitiesNoncurrent", "currency": "USD"} | 2023-12-31 | sec_edgar |
| noncurrent_liabilities | {"amount": 5289000, "concept": "us-gaap:LiabilitiesNoncurrent", "currency": "USD"} | 2022-12-31 | sec_edgar |
| noncurrent_liabilities | {"amount": 8584000, "concept": "us-gaap:LiabilitiesNoncurrent", "currency": "USD"} | 2021-12-31 | sec_edgar |
| operating_income | {"amount": 772000, "concept": "us-gaap:OperatingIncomeLoss", "currency": "USD"} | 2025-12-31 | sec_edgar |
| operating_income | {"amount": -1938000, "concept": "us-gaap:OperatingIncomeLoss", "currency": "USD"} | 2024-12-31 | sec_edgar |
| operating_income | {"amount": -3078000, "concept": "us-gaap:OperatingIncomeLoss", "currency": "USD"} | 2023-12-31 | sec_edgar |
| operating_income | {"amount": 1495000, "concept": "us-gaap:OperatingIncomeLoss", "currency": "USD"} | 2022-12-31 | sec_edgar |
| operating_income | {"amount": 1634000, "concept": "us-gaap:OperatingIncomeLoss", "currency": "USD"} | 2021-12-31 | sec_edgar |
| operating_income | {"amount": -605000, "concept": "us-gaap:OperatingIncomeLoss", "currency": "USD"} | 2020-12-31 | sec_edgar |
| ppe_net | {"amount": 1423000, "concept": "us-gaap:PropertyPlantAndEquipmentNet", "currency": "USD"} | 2025-12-31 | sec_edgar |
| ppe_net | {"amount": 1591000, "concept": "us-gaap:PropertyPlantAndEquipmentNet", "currency": "USD"} | 2024-12-31 | sec_edgar |
| ppe_net | {"amount": 1817000, "concept": "us-gaap:PropertyPlantAndEquipmentNet", "currency": "USD"} | 2023-12-31 | sec_edgar |
| ppe_net | {"amount": 7218000, "concept": "us-gaap:PropertyPlantAndEquipmentNet", "currency": "USD"} | 2022-12-31 | sec_edgar |
| ppe_net | {"amount": 7720000, "concept": "us-gaap:PropertyPlantAndEquipmentNet", "currency": "USD"} | 2021-12-31 | sec_edgar |
| pretax_income | {"amount": -433000, "concept": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxe | 2025-12-31 | sec_edgar |
| pretax_income | {"amount": -3164000, "concept": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTax | 2024-12-31 | sec_edgar |
| pretax_income | {"amount": 1686000, "concept": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxe | 2023-12-31 | sec_edgar |
| pretax_income | {"amount": 1557000, "concept": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxe | 2022-12-31 | sec_edgar |
| pretax_income | {"amount": 2031000, "concept": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxe | 2021-12-31 | sec_edgar |
| pretax_income | {"amount": 1322000, "concept": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxe | 2020-12-31 | sec_edgar |
| profit_loss | {"amount": -433000, "concept": "us-gaap:ProfitLoss", "currency": "USD"} | 2025-12-31 | sec_edgar |
| profit_loss | {"amount": -2854000, "concept": "us-gaap:ProfitLoss", "currency": "USD"} | 2024-12-31 | sec_edgar |
| profit_loss | {"amount": 1739000, "concept": "us-gaap:ProfitLoss", "currency": "USD"} | 2023-12-31 | sec_edgar |
| profit_loss | {"amount": 1028000, "concept": "us-gaap:ProfitLoss", "currency": "USD"} | 2022-12-31 | sec_edgar |
| profit_loss | {"amount": 1801000, "concept": "us-gaap:ProfitLoss", "currency": "USD"} | 2021-12-31 | sec_edgar |
| profit_loss | {"amount": 1319000, "concept": "us-gaap:ProfitLoss", "currency": "USD"} | 2020-12-31 | sec_edgar |
| retained_earnings | {"amount": -263000, "concept": "us-gaap:RetainedEarningsAccumulatedDeficit", "currency": " | 2025-12-31 | sec_edgar |
| retained_earnings | {"amount": 170000, "concept": "us-gaap:RetainedEarningsAccumulatedDeficit", "currency": "U | 2024-12-31 | sec_edgar |
| retained_earnings | {"amount": 3024000, "concept": "us-gaap:RetainedEarningsAccumulatedDeficit", "currency": " | 2023-12-31 | sec_edgar |
| retained_earnings | {"amount": 1235000, "concept": "us-gaap:RetainedEarningsAccumulatedDeficit", "currency": " | 2022-12-31 | sec_edgar |
| retained_earnings | {"amount": 257000, "concept": "us-gaap:RetainedEarningsAccumulatedDeficit", "currency": "U | 2021-12-31 | sec_edgar |
| revenue | {"amount": 44768000, "concept": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedT | 2025-12-31 | sec_edgar |
| revenue | {"amount": 31066000, "concept": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedT | 2024-12-31 | sec_edgar |
| revenue | {"amount": 36016000, "concept": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedT | 2023-12-31 | sec_edgar |
| revenue | {"amount": 38359000, "concept": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedT | 2022-12-31 | sec_edgar |
| revenue | {"amount": 33406000, "concept": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedT | 2021-12-31 | sec_edgar |
| revenue | {"amount": 29886000, "concept": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedT | 2020-12-31 | sec_edgar |
| sga_expense | {"amount": 8114000, "concept": "us-gaap:GeneralAndAdministrativeExpense", "currency": "USD | 2025-12-31 | sec_edgar |
| sga_expense | {"amount": 8735000, "concept": "us-gaap:GeneralAndAdministrativeExpense", "currency": "USD | 2024-12-31 | sec_edgar |
| sga_expense | {"amount": 10776000, "concept": "us-gaap:GeneralAndAdministrativeExpense", "currency": "US | 2023-12-31 | sec_edgar |
| sga_expense | {"amount": 6745000, "concept": "us-gaap:GeneralAndAdministrativeExpense", "currency": "USD | 2022-12-31 | sec_edgar |
| sga_expense | {"amount": 6609000, "concept": "us-gaap:GeneralAndAdministrativeExpense", "currency": "USD | 2021-12-31 | sec_edgar |
| sga_expense | {"amount": 6294000, "concept": "us-gaap:GeneralAndAdministrativeExpense", "currency": "USD | 2020-12-31 | sec_edgar |
| share_based_compensation | {"amount": 1196000, "concept": "us-gaap:ShareBasedCompensation", "currency": "USD"} | 2024-12-31 | sec_edgar |
| share_based_compensation | {"amount": 55465000, "concept": "us-gaap:ShareBasedCompensation", "currency": "USD"} | 2023-12-31 | sec_edgar |
| share_based_compensation | {"amount": 55465000, "concept": "us-gaap:ShareBasedCompensation", "currency": "USD"} | 2022-12-31 | sec_edgar |
| shares_wavg_basic | {"unit": "shares", "value": 3838000, "concept": "us-gaap:WeightedAverageNumberOfSharesOuts | 2025-12-31 | sec_edgar |
| shares_wavg_basic | {"unit": "shares", "value": 3176000, "concept": "us-gaap:WeightedAverageNumberOfSharesOuts | 2024-12-31 | sec_edgar |
| shares_wavg_basic | {"unit": "shares", "value": 2928000, "concept": "us-gaap:WeightedAverageNumberOfSharesOuts | 2023-12-31 | sec_edgar |
| shares_wavg_basic | {"unit": "shares", "value": 24800000, "concept": "us-gaap:WeightedAverageNumberOfSharesOut | 2022-12-31 | sec_edgar |
| shares_wavg_basic | {"unit": "shares", "value": 24800000, "concept": "us-gaap:WeightedAverageNumberOfSharesOut | 2021-12-31 | sec_edgar |
| shares_wavg_basic | {"unit": "shares", "value": 24800000, "concept": "us-gaap:WeightedAverageNumberOfSharesOut | 2020-12-31 | sec_edgar |
| shares_wavg_diluted | {"unit": "shares", "value": 3838000, "concept": "us-gaap:WeightedAverageNumberOfDilutedSha | 2025-12-31 | sec_edgar |
| shares_wavg_diluted | {"unit": "shares", "value": 3176000, "concept": "us-gaap:WeightedAverageNumberOfDilutedSha | 2024-12-31 | sec_edgar |
| shares_wavg_diluted | {"unit": "shares", "value": 2928000, "concept": "us-gaap:WeightedAverageNumberOfDilutedSha | 2023-12-31 | sec_edgar |
| shares_wavg_diluted | {"unit": "shares", "value": 24800000, "concept": "us-gaap:WeightedAverageNumberOfDilutedSh | 2022-12-31 | sec_edgar |
| shares_wavg_diluted | {"unit": "shares", "value": 24800000, "concept": "us-gaap:WeightedAverageNumberOfDilutedSh | 2021-12-31 | sec_edgar |
| total_assets | {"amount": 61933000, "concept": "us-gaap:Assets", "currency": "USD"} | 2025-12-31 | sec_edgar |
| total_assets | {"amount": 69575000, "concept": "us-gaap:Assets", "currency": "USD"} | 2024-12-31 | sec_edgar |
| total_assets | {"amount": 58001000, "concept": "us-gaap:Assets", "currency": "USD"} | 2023-12-31 | sec_edgar |
| total_assets | {"amount": 52786000, "concept": "us-gaap:Assets", "currency": "USD"} | 2022-12-31 | sec_edgar |
| total_assets | {"amount": 54615000, "concept": "us-gaap:Assets", "currency": "USD"} | 2021-12-31 | sec_edgar |
| total_equity | {"amount": 22655000, "concept": "us-gaap:StockholdersEquityIncludingPortionAttributableToN | 2025-12-31 | sec_edgar |
| total_equity | {"amount": 20085000, "concept": "us-gaap:StockholdersEquityIncludingPortionAttributableToN | 2024-12-31 | sec_edgar |
| total_equity | {"amount": 21827000, "concept": "us-gaap:StockholdersEquityIncludingPortionAttributableToN | 2023-12-31 | sec_edgar |
| total_equity | {"amount": 6312000, "concept": "us-gaap:StockholdersEquityIncludingPortionAttributableToNo | 2022-12-31 | sec_edgar |
| total_equity | {"amount": 5358000, "concept": "us-gaap:StockholdersEquityIncludingPortionAttributableToNo | 2021-12-31 | sec_edgar |
| total_equity | {"amount": 15742000, "concept": "us-gaap:StockholdersEquityIncludingPortionAttributableToN | 2020-12-31 | sec_edgar |
| total_equity | {"amount": 14423000, "concept": "us-gaap:StockholdersEquityIncludingPortionAttributableToN | 2019-12-31 | sec_edgar |
| total_liabilities | {"amount": 39278000, "concept": "us-gaap:Liabilities", "currency": "USD"} | 2025-12-31 | sec_edgar |
| total_liabilities | {"amount": 49490000, "concept": "us-gaap:Liabilities", "currency": "USD"} | 2024-12-31 | sec_edgar |
| total_liabilities | {"amount": 36174000, "concept": "us-gaap:Liabilities", "currency": "USD"} | 2023-12-31 | sec_edgar |
| total_liabilities | {"amount": 46474000, "concept": "us-gaap:Liabilities", "currency": "USD"} | 2022-12-31 | sec_edgar |
| total_liabilities | {"amount": 49257000, "concept": "us-gaap:Liabilities", "currency": "USD"} | 2021-12-31 | sec_edgar |
| total_liabilities_and_equity | {"amount": 61933000, "concept": "us-gaap:LiabilitiesAndStockholdersEquity", "currency": "U | 2025-12-31 | sec_edgar |
| total_liabilities_and_equity | {"amount": 69575000, "concept": "us-gaap:LiabilitiesAndStockholdersEquity", "currency": "U | 2024-12-31 | sec_edgar |
| total_liabilities_and_equity | {"amount": 58001000, "concept": "us-gaap:LiabilitiesAndStockholdersEquity", "currency": "U | 2023-12-31 | sec_edgar |
| total_liabilities_and_equity | {"amount": 52786000, "concept": "us-gaap:LiabilitiesAndStockholdersEquity", "currency": "U | 2022-12-31 | sec_edgar |
| total_liabilities_and_equity | {"amount": 54615000, "concept": "us-gaap:LiabilitiesAndStockholdersEquity", "currency": "U | 2021-12-31 | sec_edgar |
| xbrl:AccountsPayableAndAccruedLiabilitiesCurrent | {"amount": 5712000, "currency": "USD"} | 2025-12-31 | sec_edgar |
| xbrl:AccountsPayableAndAccruedLiabilitiesCurrent | {"amount": 6940000, "currency": "USD"} | 2024-12-31 | sec_edgar |
| xbrl:AccountsPayableAndAccruedLiabilitiesCurrent | {"amount": 4758000, "currency": "USD"} | 2023-12-31 | sec_edgar |
| xbrl:AccountsPayableAndAccruedLiabilitiesCurrent | {"amount": 4781000, "currency": "USD"} | 2022-12-31 | sec_edgar |
| xbrl:AccountsPayableAndAccruedLiabilitiesCurrent | {"amount": 4413000, "currency": "USD"} | 2021-12-31 | sec_edgar |
| xbrl:AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrent | {"amount": 5712000, "currency": "USD"} | 2025-12-31 | sec_edgar |
| xbrl:AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrent | {"amount": 6940000, "currency": "USD"} | 2024-12-31 | sec_edgar |
| xbrl:AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrent | {"amount": 4758000, "currency": "USD"} | 2023-12-31 | sec_edgar |
| xbrl:AccountsPayableOtherCurrent | {"amount": 120000, "currency": "USD"} | 2025-12-31 | sec_edgar |