Organization record
PDF SOLUTIONS INC
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_payable | {"amount": 12387000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2026-06-30 | sec_edgar |
| accounts_payable | {"amount": 16703000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2026-03-31 | sec_edgar |
| accounts_payable | {"amount": 17076000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2025-12-31 | sec_edgar |
| accounts_payable | {"amount": 14653000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2025-09-30 | sec_edgar |
| accounts_payable | {"amount": 6555000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2025-06-30 | sec_edgar |
| accounts_payable | {"amount": 9394000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2025-03-31 | sec_edgar |
| accounts_payable | {"amount": 8255000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2024-12-31 | sec_edgar |
| accounts_payable | {"amount": 7504000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2024-09-30 | sec_edgar |
| accounts_payable | {"amount": 4219000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2024-06-30 | sec_edgar |
| accounts_payable | {"amount": 5729000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2024-03-31 | sec_edgar |
| accounts_payable | {"amount": 2561000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2023-12-31 | sec_edgar |
| accounts_payable | {"amount": 2633000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2023-09-30 | sec_edgar |
| accounts_payable | {"amount": 2279000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2023-06-30 | sec_edgar |
| accounts_payable | {"amount": 6289000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2023-03-31 | sec_edgar |
| accounts_payable | {"amount": 6388000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2022-12-31 | sec_edgar |
| accounts_payable | {"amount": 5186000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2022-09-30 | sec_edgar |
| accounts_payable | {"amount": 3382000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2022-06-30 | sec_edgar |
| accounts_payable | {"amount": 4053000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2022-03-31 | sec_edgar |
| accounts_payable | {"amount": 5554000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2021-12-31 | sec_edgar |
| accounts_payable | {"amount": 3210000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2021-09-30 | sec_edgar |
| accounts_payable | {"amount": 7078000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2021-06-30 | sec_edgar |
| accounts_payable | {"amount": 967000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2021-03-31 | sec_edgar |
| accounts_payable | {"amount": 4399000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2020-12-31 | sec_edgar |
| accounts_payable | {"amount": 2212000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2020-09-30 | sec_edgar |
| accounts_payable | {"amount": 2763000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2020-06-30 | sec_edgar |
| accounts_payable | {"amount": 4828000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2020-03-31 | sec_edgar |
| accounts_payable | {"amount": 7636000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2019-12-31 | sec_edgar |
| accounts_payable | {"amount": 2203000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2019-09-30 | sec_edgar |
| accounts_payable | {"amount": 1813000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2019-06-30 | sec_edgar |
| accounts_payable | {"amount": 2522000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2019-03-31 | sec_edgar |
| accounts_payable | {"amount": 2454000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2018-12-31 | sec_edgar |
| accounts_payable | {"amount": 3286000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2018-09-30 | sec_edgar |
| accounts_payable | {"amount": 2495000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2018-06-30 | sec_edgar |
| accounts_payable | {"amount": 2588000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2018-03-31 | sec_edgar |
| accounts_payable | {"amount": 2536000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2017-12-31 | sec_edgar |
| accounts_payable | {"amount": 2608000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2017-09-30 | sec_edgar |
| accounts_payable | {"amount": 2270000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2017-06-30 | sec_edgar |
| accounts_payable | {"amount": 2436000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2017-03-31 | sec_edgar |
| accounts_payable | {"amount": 2206000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2016-12-31 | sec_edgar |
| accounts_payable | {"amount": 947000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2016-09-30 | sec_edgar |
| accounts_payable | {"amount": 2469000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2016-06-30 | sec_edgar |
| accounts_payable | {"amount": 2016000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2016-03-31 | sec_edgar |
| accounts_payable | {"amount": 1293000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2015-12-31 | sec_edgar |
| accounts_payable | {"amount": 1453000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2015-09-30 | sec_edgar |
| accounts_payable | {"amount": 1898000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2015-06-30 | sec_edgar |
| accounts_payable | {"amount": 1235000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2015-03-31 | sec_edgar |
| accounts_payable | {"amount": 803000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2014-12-31 | sec_edgar |
| accounts_payable | {"amount": 992000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2014-09-30 | sec_edgar |
| accounts_payable | {"amount": 933000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2014-06-30 | sec_edgar |
| accounts_payable | {"amount": 961000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2014-03-31 | sec_edgar |
| accounts_payable | {"amount": 1129000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2013-12-31 | sec_edgar |
| accounts_payable | {"amount": 659000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2013-09-30 | sec_edgar |
| accounts_payable | {"amount": 1049000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2013-06-30 | sec_edgar |
| accounts_payable | {"amount": 1347000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2013-03-31 | sec_edgar |
| accounts_payable | {"amount": 2054000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2012-12-31 | sec_edgar |
| accounts_payable | {"amount": 818000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2012-09-30 | sec_edgar |
| accounts_payable | {"amount": 1546000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2012-06-30 | sec_edgar |
| accounts_payable | {"amount": 1420000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2012-03-31 | sec_edgar |
| accounts_payable | {"amount": 974000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2011-12-31 | sec_edgar |
| accounts_payable | {"amount": 923000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2011-09-30 | sec_edgar |
| accounts_payable | {"amount": 1155000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2011-06-30 | sec_edgar |
| accounts_payable | {"amount": 1080000, "concept": "us-gaap:AccountsPayableCurrent", "currency": "USD"} | 2010-12-31 | sec_edgar |
| accounts_receivable | {"amount": 90579000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2026-06-30 | sec_edgar |
| accounts_receivable | {"amount": 96016000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2026-03-31 | sec_edgar |
| accounts_receivable | {"amount": 82938000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2025-12-31 | sec_edgar |
| accounts_receivable | {"amount": 74949000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2025-09-30 | sec_edgar |
| accounts_receivable | {"amount": 69264000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2025-06-30 | sec_edgar |
| accounts_receivable | {"amount": 63676000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2025-03-31 | sec_edgar |
| accounts_receivable | {"amount": 73649000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2024-12-31 | sec_edgar |
| accounts_receivable | {"amount": 46668000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2024-09-30 | sec_edgar |
| accounts_receivable | {"amount": 56410000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2024-06-30 | sec_edgar |
| accounts_receivable | {"amount": 47267000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2024-03-31 | sec_edgar |
| accounts_receivable | {"amount": 44904000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2023-12-31 | sec_edgar |
| accounts_receivable | {"amount": 40959000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2023-09-30 | sec_edgar |
| accounts_receivable | {"amount": 61451000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2023-06-30 | sec_edgar |
| accounts_receivable | {"amount": 47048000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2023-03-31 | sec_edgar |
| accounts_receivable | {"amount": 42164000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2022-12-31 | sec_edgar |
| accounts_receivable | {"amount": 54981000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2022-09-30 | sec_edgar |
| accounts_receivable | {"amount": 36117000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2022-06-30 | sec_edgar |
| accounts_receivable | {"amount": 37753000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2022-03-31 | sec_edgar |
| accounts_receivable | {"amount": 40087000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2021-12-31 | sec_edgar |
| accounts_receivable | {"amount": 33681000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2021-09-30 | sec_edgar |
| accounts_receivable | {"amount": 30128000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2021-06-30 | sec_edgar |
| accounts_receivable | {"amount": 34785000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2021-03-31 | sec_edgar |
| accounts_receivable | {"amount": 34140000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2020-12-31 | sec_edgar |
| accounts_receivable | {"amount": 40388000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2020-09-30 | sec_edgar |
| accounts_receivable | {"amount": 28666000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2020-06-30 | sec_edgar |
| accounts_receivable | {"amount": 37363000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2020-03-31 | sec_edgar |
| accounts_receivable | {"amount": 40651000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2019-12-31 | sec_edgar |
| accounts_receivable | {"amount": 34556000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2019-09-30 | sec_edgar |
| accounts_receivable | {"amount": 52381000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2019-06-30 | sec_edgar |
| accounts_receivable | {"amount": 53211000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2019-03-31 | sec_edgar |
| accounts_receivable | {"amount": 51570000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2018-12-31 | sec_edgar |
| accounts_receivable | {"amount": 52744000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2018-09-30 | sec_edgar |
| accounts_receivable | {"amount": 53919000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2018-06-30 | sec_edgar |
| accounts_receivable | {"amount": 58436000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2018-03-31 | sec_edgar |
| accounts_receivable | {"amount": 57564000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2017-12-31 | sec_edgar |
| accounts_receivable | {"amount": 52954000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2017-09-30 | sec_edgar |
| accounts_receivable | {"amount": 54029000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2017-06-30 | sec_edgar |
| accounts_receivable | {"amount": 50088000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2017-03-31 | sec_edgar |
| accounts_receivable | {"amount": 48157000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2016-12-31 | sec_edgar |
| accounts_receivable | {"amount": 44023000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2016-09-30 | sec_edgar |
| accounts_receivable | {"amount": 34786000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2016-06-30 | sec_edgar |
| accounts_receivable | {"amount": 29323000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2016-03-31 | sec_edgar |
| accounts_receivable | {"amount": 33438000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2015-12-31 | sec_edgar |
| accounts_receivable | {"amount": 31550000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2015-09-30 | sec_edgar |
| accounts_receivable | {"amount": 30946000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2015-06-30 | sec_edgar |
| accounts_receivable | {"amount": 29193000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2015-03-31 | sec_edgar |
| accounts_receivable | {"amount": 37725000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2014-12-31 | sec_edgar |
| accounts_receivable | {"amount": 27064000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2014-09-30 | sec_edgar |
| accounts_receivable | {"amount": 30705000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2014-06-30 | sec_edgar |
| accounts_receivable | {"amount": 32515000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2014-03-31 | sec_edgar |
| accounts_receivable | {"amount": 34860000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2013-12-31 | sec_edgar |
| accounts_receivable | {"amount": 28288000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2013-09-30 | sec_edgar |
| accounts_receivable | {"amount": 26602000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2013-06-30 | sec_edgar |
| accounts_receivable | {"amount": 32383000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2013-03-31 | sec_edgar |
| accounts_receivable | {"amount": 33959000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2012-12-31 | sec_edgar |
| accounts_receivable | {"amount": 34213000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2012-09-30 | sec_edgar |
| accounts_receivable | {"amount": 26976000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2012-06-30 | sec_edgar |
| accounts_receivable | {"amount": 27876000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2012-03-31 | sec_edgar |
| accounts_receivable | {"amount": 20863000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2011-12-31 | sec_edgar |
| accounts_receivable | {"amount": 21588000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2011-09-30 | sec_edgar |
| accounts_receivable | {"amount": 22176000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2011-06-30 | sec_edgar |
| accounts_receivable | {"amount": 22121000, "concept": "us-gaap:AccountsReceivableNetCurrent", "currency": "USD"} | 2010-12-31 | sec_edgar |
| capex | {"amount": 24528000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2026-06-30 | sec_edgar |
| capex | {"amount": 10473000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2026-03-31 | sec_edgar |
| capex | {"amount": 32631000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2025-12-31 | sec_edgar |
| capex | {"amount": 22840000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2025-09-30 | sec_edgar |
| capex | {"amount": 16651000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2025-06-30 | sec_edgar |
| capex | {"amount": 8105000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2025-03-31 | sec_edgar |
| capex | {"amount": 17155000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2024-12-31 | sec_edgar |
| capex | {"amount": 11518000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2024-09-30 | sec_edgar |
| capex | {"amount": 7343000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2024-06-30 | sec_edgar |
| capex | {"amount": 2023000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2024-03-31 | sec_edgar |
| capex | {"amount": 11236000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2023-12-31 | sec_edgar |
| capex | {"amount": 8574000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2023-09-30 | sec_edgar |
| capex | {"amount": 5694000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2023-06-30 | sec_edgar |
| capex | {"amount": 2902000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2023-03-31 | sec_edgar |
| capex | {"amount": 8409000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2022-12-31 | sec_edgar |
| capex | {"amount": 6651000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2022-09-30 | sec_edgar |
| capex | {"amount": 4454000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2022-06-30 | sec_edgar |
| capex | {"amount": 1765000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2022-03-31 | sec_edgar |
| capex | {"amount": 3672000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2021-12-31 | sec_edgar |
| capex | {"amount": 2713000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2021-09-30 | sec_edgar |
| capex | {"amount": 1121000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2021-06-30 | sec_edgar |
| capex | {"amount": 586000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2021-03-31 | sec_edgar |
| capex | {"amount": 6005000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2020-12-31 | sec_edgar |
| capex | {"amount": 4786000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2020-09-30 | sec_edgar |
| capex | {"amount": 3940000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2020-06-30 | sec_edgar |
| capex | {"amount": 2068000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2020-03-31 | sec_edgar |
| capex | {"amount": 10552000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2019-12-31 | sec_edgar |
| capex | {"amount": 6841000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2019-09-30 | sec_edgar |
| capex | {"amount": 4004000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2019-06-30 | sec_edgar |
| capex | {"amount": 2357000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2019-03-31 | sec_edgar |
| capex | {"amount": 13116000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2018-12-31 | sec_edgar |
| capex | {"amount": 8747000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2018-09-30 | sec_edgar |
| capex | {"amount": 4810000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2018-06-30 | sec_edgar |
| capex | {"amount": 2447000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2018-03-31 | sec_edgar |
| capex | {"amount": 10255000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2017-12-31 | sec_edgar |
| capex | {"amount": 6942000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2017-09-30 | sec_edgar |
| capex | {"amount": 4964000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2017-06-30 | sec_edgar |
| capex | {"amount": 2313000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2017-03-31 | sec_edgar |
| capex | {"amount": 11282000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "cur | 2016-12-31 | sec_edgar |
| capex | {"amount": 8860000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2016-09-30 | sec_edgar |
| capex | {"amount": 5051000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2016-06-30 | sec_edgar |
| capex | {"amount": 1780000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2016-03-31 | sec_edgar |
| capex | {"amount": 4784000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2015-12-31 | sec_edgar |
| capex | {"amount": 4032000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2015-09-30 | sec_edgar |
| capex | {"amount": 2388000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2015-06-30 | sec_edgar |
| capex | {"amount": 1145000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2015-03-31 | sec_edgar |
| capex | {"amount": 3958000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2014-12-31 | sec_edgar |
| capex | {"amount": 3274000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2014-09-30 | sec_edgar |
| capex | {"amount": 1946000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2014-06-30 | sec_edgar |
| capex | {"amount": 929000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2014-03-31 | sec_edgar |
| capex | {"amount": 4628000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2013-12-31 | sec_edgar |
| capex | {"amount": 3372000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2013-09-30 | sec_edgar |
| capex | {"amount": 2537000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2013-06-30 | sec_edgar |
| capex | {"amount": 1211000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2013-03-31 | sec_edgar |
| capex | {"amount": 2334000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2012-12-31 | sec_edgar |
| capex | {"amount": 2066000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curr | 2012-09-30 | sec_edgar |
| capex | {"amount": 639000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2012-06-30 | sec_edgar |
| capex | {"amount": 127000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2012-03-31 | sec_edgar |
| capex | {"amount": 405000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2011-12-31 | sec_edgar |
| capex | {"amount": 353000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2011-09-30 | sec_edgar |
| capex | {"amount": 238000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2011-06-30 | sec_edgar |
| capex | {"amount": 42000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curren | 2011-03-31 | sec_edgar |
| capex | {"amount": 121000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2010-12-31 | sec_edgar |
| capex | {"amount": 121000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2010-09-30 | sec_edgar |
| capex | {"amount": 59000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curren | 2010-06-30 | sec_edgar |
| capex | {"amount": 569000, "concept": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "curre | 2009-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 114883000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currenc | 2026-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 31153000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2026-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 42220000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2025-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 35880000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2025-09-30 | sec_edgar |
| cash_and_equivalents | {"amount": 37415000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2025-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 43734000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2025-03-31 | sec_edgar |
| cash_and_equivalents | {"amount": 90594000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2024-12-31 | sec_edgar |
| cash_and_equivalents | {"amount": 96428000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2024-09-30 | sec_edgar |
| cash_and_equivalents | {"amount": 91987000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2024-06-30 | sec_edgar |
| cash_and_equivalents | {"amount": 85256000, "concept": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "currency | 2024-03-31 | sec_edgar |