{
  "ticker": "CPRX",
  "name": "CATALYST PHARMACEUTICALS, INC.",
  "cik": "0001369568",
  "sic": "2834",
  "sic_description": "Pharmaceutical Preparations",
  "source": "SEC XBRL companyfacts",
  "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001369568.json",
  "as_of": "2026-02-25",
  "note": "Verified SEC companyfacts-derived facts; derived metrics (margins, ratios, free cash flow) are computed from those facts. Descriptive data, not investment advice.",
  "annual": [
    {
      "metric_id": "revenue",
      "label": "Revenue",
      "concept": "RevenueFromContractWithCustomerExcludingAssessedTax",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax"
      ],
      "points": [
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 102306000.0,
          "filed": "2022-03-16",
          "accession": "0001193125-22-077228"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 119073000.0,
          "filed": "2023-03-15",
          "accession": "0001193125-23-071299"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 140833000.0,
          "filed": "2024-02-28",
          "accession": "0001193125-24-050908"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 214203000.0,
          "filed": "2025-02-26",
          "accession": "0000950170-25-027714"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 398204000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 491734000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 588989000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        }
      ]
    },
    {
      "metric_id": "net_income",
      "label": "Net income",
      "concept": "NetIncomeLoss",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:NetIncomeLoss"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": -18072452.0,
          "filed": "2018-03-14",
          "accession": "0001193125-18-082292"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": -18412377.0,
          "filed": "2019-03-18",
          "accession": "0001193125-19-078253"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": -34003514.0,
          "filed": "2021-03-15",
          "accession": "0001193125-21-081545"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 31875000.0,
          "filed": "2022-03-16",
          "accession": "0001193125-22-077228"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 74983000.0,
          "filed": "2023-03-15",
          "accession": "0001193125-23-071299"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 39482000.0,
          "filed": "2024-02-28",
          "accession": "0001193125-24-050908"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 83079000.0,
          "filed": "2025-02-26",
          "accession": "0000950170-25-027714"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 71410000.0,
          "filed": "2026-04-30",
          "accession": "0001193125-26-197490"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 163889000.0,
          "filed": "2026-04-30",
          "accession": "0001193125-26-197490"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 214326000.0,
          "filed": "2026-04-30",
          "accession": "0001193125-26-197490"
        }
      ]
    },
    {
      "metric_id": "operating_income",
      "label": "Operating income",
      "concept": "OperatingIncomeLoss",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:OperatingIncomeLoss"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": -19280201.0,
          "filed": "2018-03-14",
          "accession": "0001193125-18-082292"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": -18679636.0,
          "filed": "2019-03-18",
          "accession": "0001193125-19-078253"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": -35295165.0,
          "filed": "2021-03-15",
          "accession": "0001193125-21-081545"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 31823000.0,
          "filed": "2022-03-16",
          "accession": "0001193125-22-077228"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 41303000.0,
          "filed": "2023-03-15",
          "accession": "0001193125-23-071299"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 52385000.0,
          "filed": "2024-02-28",
          "accession": "0001193125-24-050908"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 101838000.0,
          "filed": "2025-02-26",
          "accession": "0000950170-25-027714"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 86812000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 195124000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 257778000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        }
      ]
    },
    {
      "metric_id": "eps_diluted",
      "label": "Diluted EPS",
      "concept": "EarningsPerShareDiluted",
      "unit": "USD/shares",
      "derived": false,
      "source_concepts": [
        "us-gaap:EarningsPerShareDiluted"
      ],
      "points": [
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": -0.33,
          "filed": "2021-03-15",
          "accession": "0001193125-21-081545"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 0.3,
          "filed": "2022-03-16",
          "accession": "0001193125-22-077228"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 0.71,
          "filed": "2023-03-15",
          "accession": "0001193125-23-071299"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 0.37,
          "filed": "2024-02-28",
          "accession": "0001193125-24-050908"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 0.75,
          "filed": "2025-02-26",
          "accession": "0000950170-25-027714"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 0.63,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 1.31,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 1.68,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        }
      ]
    },
    {
      "metric_id": "operating_cash_flow",
      "label": "Operating cash flow",
      "concept": "NetCashProvidedByUsedInOperatingActivities",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:NetCashProvidedByUsedInOperatingActivities"
      ],
      "points": [
        {
          "fiscal_year": 2013,
          "period_end": "2013-12-31",
          "value": -9875674.0,
          "filed": "2014-03-19",
          "accession": "0001193125-14-104658"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": -13742572.0,
          "filed": "2019-03-18",
          "accession": "0001193125-19-078253"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": -26147545.0,
          "filed": "2021-03-15",
          "accession": "0001193125-21-081545"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 34612000.0,
          "filed": "2022-03-16",
          "accession": "0001193125-22-077228"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 45034000.0,
          "filed": "2023-03-15",
          "accession": "0001193125-23-071299"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 60372000.0,
          "filed": "2024-02-28",
          "accession": "0001193125-24-050908"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 116047000.0,
          "filed": "2025-02-26",
          "accession": "0000950170-25-027714"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 143600000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 239808000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 208670000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        }
      ]
    },
    {
      "metric_id": "capex",
      "label": "Capital expenditures",
      "concept": "PaymentsToAcquirePropertyPlantAndEquipment",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment"
      ],
      "points": [
        {
          "fiscal_year": 2015,
          "period_end": "2015-12-31",
          "value": 23465.0,
          "filed": "2018-03-14",
          "accession": "0001193125-18-082292"
        },
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 96061.0,
          "filed": "2018-03-14",
          "accession": "0001193125-18-082292"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 92018.0,
          "filed": "2021-03-15",
          "accession": "0001193125-21-081545"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 19000.0,
          "filed": "2022-03-16",
          "accession": "0001193125-22-077228"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 11000.0,
          "filed": "2023-03-15",
          "accession": "0001193125-23-071299"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 1021000.0,
          "filed": "2024-02-28",
          "accession": "0001193125-24-050908"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 29000.0,
          "filed": "2025-02-26",
          "accession": "0000950170-25-027714"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 231000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 556000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 58000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        }
      ]
    },
    {
      "metric_id": "share_buybacks",
      "label": "Share buybacks",
      "concept": "PaymentsForRepurchaseOfCommonStock",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:PaymentsForRepurchaseOfCommonStock"
      ],
      "points": [
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 12089000.0,
          "filed": "2024-02-28",
          "accession": "0001193125-24-050908"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 6907000.0,
          "filed": "2025-02-26",
          "accession": "0000950170-25-027714"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 0.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 0.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 25300000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        }
      ]
    },
    {
      "metric_id": "assets",
      "label": "Assets",
      "concept": "Assets",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:Assets"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 41706853.0,
          "filed": "2018-03-14",
          "accession": "0001193125-18-082292"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 85387430.0,
          "filed": "2019-03-18",
          "accession": "0001193125-19-078253"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 60449962.0,
          "filed": "2020-03-16",
          "accession": "0001193125-20-075048"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 112376230.0,
          "filed": "2021-03-15",
          "accession": "0001193125-21-081545"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 192354000.0,
          "filed": "2022-03-16",
          "accession": "0001193125-22-077228"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 237788000.0,
          "filed": "2023-03-15",
          "accession": "0001193125-23-071299"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 375630000.0,
          "filed": "2024-02-28",
          "accession": "0001193125-24-050908"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 470114000.0,
          "filed": "2025-02-26",
          "accession": "0000950170-25-027714"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 851411000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 1103979000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        }
      ]
    },
    {
      "metric_id": "liabilities",
      "label": "Liabilities",
      "concept": "Liabilities",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:Liabilities"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 2397923.0,
          "filed": "2018-03-14",
          "accession": "0001193125-18-082292"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 4423618.0,
          "filed": "2019-03-18",
          "accession": "0001193125-19-078253"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 9666153.0,
          "filed": "2020-03-16",
          "accession": "0001193125-20-075048"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 24746274.0,
          "filed": "2021-03-15",
          "accession": "0001193125-21-081545"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 22756000.0,
          "filed": "2022-03-16",
          "accession": "0001193125-22-077228"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 30957000.0,
          "filed": "2023-03-15",
          "accession": "0001193125-23-071299"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 75209000.0,
          "filed": "2024-02-28",
          "accession": "0001193125-24-050908"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 82233000.0,
          "filed": "2025-02-26",
          "accession": "0000950170-25-027714"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 123779000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 149711000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        }
      ]
    },
    {
      "metric_id": "equity",
      "label": "Stockholders' equity",
      "concept": "StockholdersEquity",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:StockholdersEquity"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 39308930.0,
          "filed": "2019-03-18",
          "accession": "0001193125-19-078253"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 80963812.0,
          "filed": "2021-03-15",
          "accession": "0001193125-21-081545"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 50785000.0,
          "filed": "2022-03-16",
          "accession": "0001193125-22-077228"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 87630000.0,
          "filed": "2023-03-15",
          "accession": "0001193125-23-071299"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 169598000.0,
          "filed": "2024-02-28",
          "accession": "0001193125-24-050908"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 206831000.0,
          "filed": "2025-02-26",
          "accession": "0000950170-25-027714"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 300421000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 387881000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 727632000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 954268000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        }
      ]
    },
    {
      "metric_id": "cash",
      "label": "Cash and cash equivalents",
      "concept": "CashAndCashEquivalentsAtCarryingValue",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:CashAndCashEquivalentsAtCarryingValue"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 13893064.0,
          "filed": "2019-03-18",
          "accession": "0001193125-19-078253"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 57496702.0,
          "filed": "2021-03-15",
          "accession": "0001193125-21-081545"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 16559000.0,
          "filed": "2022-03-16",
          "accession": "0001193125-22-077228"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 89512000.0,
          "filed": "2022-03-16",
          "accession": "0001193125-22-077228"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 130237000.0,
          "filed": "2022-03-16",
          "accession": "0001193125-22-077228"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 171445000.0,
          "filed": "2023-03-15",
          "accession": "0001193125-23-071299"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 298395000.0,
          "filed": "2024-02-28",
          "accession": "0001193125-24-050908"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 137636000.0,
          "filed": "2025-02-26",
          "accession": "0000950170-25-027714"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 517553000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 709171000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        }
      ]
    },
    {
      "metric_id": "free_cash_flow",
      "label": "Free cash flow",
      "concept": "NetCashProvidedByUsedInOperatingActivities - PaymentsToAcquirePropertyPlantAndEquipment",
      "unit": "USD",
      "derived": true,
      "source_concepts": [
        "us-gaap:NetCashProvidedByUsedInOperatingActivities",
        "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment"
      ],
      "points": [
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": -26239563.0,
          "filed": "2021-03-15",
          "accession": "0001193125-21-081545"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 34593000.0,
          "filed": "2022-03-16",
          "accession": "0001193125-22-077228"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 45023000.0,
          "filed": "2023-03-15",
          "accession": "0001193125-23-071299"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 59351000.0,
          "filed": "2024-02-28",
          "accession": "0001193125-24-050908"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 116018000.0,
          "filed": "2025-02-26",
          "accession": "0000950170-25-027714"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 143369000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 239252000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 208612000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        }
      ]
    },
    {
      "metric_id": "net_margin",
      "label": "Net margin",
      "concept": "NetIncomeLoss / RevenueFromContractWithCustomerExcludingAssessedTax",
      "unit": "Percent",
      "derived": true,
      "source_concepts": [
        "us-gaap:NetIncomeLoss",
        "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax"
      ],
      "points": [
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 31.15653040877368,
          "filed": "2022-03-16",
          "accession": "0001193125-22-077228"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 62.97229430685378,
          "filed": "2023-03-15",
          "accession": "0001193125-23-071299"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 28.034622567154006,
          "filed": "2024-02-28",
          "accession": "0001193125-24-050908"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 38.785171076035354,
          "filed": "2025-02-26",
          "accession": "0000950170-25-027714"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 17.933019256461513,
          "filed": "2026-04-30",
          "accession": "0001193125-26-197490"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 33.328791582440914,
          "filed": "2026-04-30",
          "accession": "0001193125-26-197490"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 36.3887950369192,
          "filed": "2026-04-30",
          "accession": "0001193125-26-197490"
        }
      ]
    },
    {
      "metric_id": "operating_margin",
      "label": "Operating margin",
      "concept": "OperatingIncomeLoss / RevenueFromContractWithCustomerExcludingAssessedTax",
      "unit": "Percent",
      "derived": true,
      "source_concepts": [
        "us-gaap:OperatingIncomeLoss",
        "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax"
      ],
      "points": [
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 31.105702500342108,
          "filed": "2022-03-16",
          "accession": "0001193125-22-077228"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 34.68712470501289,
          "filed": "2023-03-15",
          "accession": "0001193125-23-071299"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 37.196537743284594,
          "filed": "2024-02-28",
          "accession": "0001193125-24-050908"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 47.5427515020798,
          "filed": "2025-02-26",
          "accession": "0000950170-25-027714"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 21.800885978041407,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 39.68080303578764,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 43.76618239050305,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        }
      ]
    },
    {
      "metric_id": "roe",
      "label": "Return on equity",
      "concept": "NetIncomeLoss / StockholdersEquity",
      "unit": "Percent",
      "derived": true,
      "source_concepts": [
        "us-gaap:NetIncomeLoss",
        "us-gaap:StockholdersEquity"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": -45.97543611591565,
          "filed": "2019-03-18",
          "accession": "0001193125-18-082292"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": -22.74148974112039,
          "filed": "2021-03-15",
          "accession": "0001193125-19-078253"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": -66.9558216008664,
          "filed": "2022-03-16",
          "accession": "0001193125-21-081545"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 36.37452927079767,
          "filed": "2023-03-15",
          "accession": "0001193125-22-077228"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 44.212195898536535,
          "filed": "2024-02-28",
          "accession": "0001193125-23-071299"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 19.08901470282501,
          "filed": "2025-02-26",
          "accession": "0001193125-24-050908"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 27.654191950629283,
          "filed": "2026-02-25",
          "accession": "0000950170-25-027714"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 18.410285628839773,
          "filed": "2026-04-30",
          "accession": "0001193125-26-197490"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 22.523610836246892,
          "filed": "2026-04-30",
          "accession": "0001193125-26-197490"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 22.459728294357557,
          "filed": "2026-04-30",
          "accession": "0001193125-26-197490"
        }
      ]
    },
    {
      "metric_id": "roa",
      "label": "Return on assets",
      "concept": "NetIncomeLoss / Assets",
      "unit": "Percent",
      "derived": true,
      "source_concepts": [
        "us-gaap:NetIncomeLoss",
        "us-gaap:Assets"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": -43.33209221036169,
          "filed": "2018-03-14",
          "accession": "0001193125-18-082292"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": -21.563334322159598,
          "filed": "2019-03-18",
          "accession": "0001193125-19-078253"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": -56.25067886725884,
          "filed": "2021-03-15",
          "accession": "0001193125-21-081545"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 28.364539369224257,
          "filed": "2022-03-16",
          "accession": "0001193125-22-077228"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 38.98177318901608,
          "filed": "2023-03-15",
          "accession": "0001193125-23-071299"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 16.603865628206638,
          "filed": "2024-02-28",
          "accession": "0001193125-24-050908"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 22.11724303170673,
          "filed": "2025-02-26",
          "accession": "0000950170-25-027714"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 15.189932654632706,
          "filed": "2026-04-30",
          "accession": "0001193125-26-197490"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 19.249105308716942,
          "filed": "2026-04-30",
          "accession": "0001193125-26-197490"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 19.413956243732898,
          "filed": "2026-04-30",
          "accession": "0001193125-26-197490"
        }
      ]
    },
    {
      "metric_id": "liabilities_to_equity",
      "label": "Liabilities / equity",
      "concept": "Liabilities / StockholdersEquity",
      "unit": "Ratio",
      "derived": true,
      "source_concepts": [
        "us-gaap:Liabilities",
        "us-gaap:StockholdersEquity"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 0.06100199115061133,
          "filed": "2019-03-18",
          "accession": "0001193125-18-082292"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 0.054636977814236314,
          "filed": "2021-03-15",
          "accession": "0001193125-19-078253"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 0.19033480358373536,
          "filed": "2022-03-16",
          "accession": "0001193125-20-075048"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 0.28239500171174253,
          "filed": "2023-03-15",
          "accession": "0001193125-21-081545"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 0.1341761105673416,
          "filed": "2024-02-28",
          "accession": "0001193125-22-077228"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 0.14967292137058757,
          "filed": "2025-02-26",
          "accession": "0001193125-23-071299"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 0.25034534869399944,
          "filed": "2026-02-25",
          "accession": "0001193125-24-050908"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 0.21200574402974107,
          "filed": "2026-02-25",
          "accession": "0000950170-25-027714"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 0.1701120896277239,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 0.15688569668059707,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        }
      ]
    },
    {
      "metric_id": "current_ratio",
      "label": "Current ratio",
      "concept": "AssetsCurrent / LiabilitiesCurrent",
      "unit": "Ratio",
      "derived": true,
      "source_concepts": [
        "us-gaap:AssetsCurrent",
        "us-gaap:LiabilitiesCurrent"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 19.7913909292516,
          "filed": "2018-03-14",
          "accession": "0001193125-18-082292"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 19.968101773912945,
          "filed": "2019-03-18",
          "accession": "0001193125-19-078253"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 5.8022660075526575,
          "filed": "2020-03-16",
          "accession": "0001193125-20-075048"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 4.621138439508585,
          "filed": "2021-03-15",
          "accession": "0001193125-21-081545"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 6.997890666197926,
          "filed": "2022-03-16",
          "accession": "0001193125-22-077228"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 7.763588663488896,
          "filed": "2023-03-15",
          "accession": "0001193125-23-071299"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 5.570709175522678,
          "filed": "2024-02-28",
          "accession": "0001193125-24-050908"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 2.8835176104019036,
          "filed": "2025-02-26",
          "accession": "0000950170-25-027714"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 5.16754503720645,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 6.075554528650647,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525"
        }
      ]
    }
  ],
  "quarterly": [
    {
      "metric_id": "revenue",
      "label": "Revenue",
      "concept": "RevenueFromContractWithCustomerExcludingAssessedTax",
      "unit": "USD",
      "source_concepts": [
        "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax"
      ],
      "points": [
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 2,
          "period_label": "2023-Q2",
          "period_end": "2023-06-30",
          "value": 99582000.0,
          "filed": "2023-08-09",
          "accession": "0001193125-23-207344",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 3,
          "period_label": "2023-Q3",
          "period_end": "2023-09-30",
          "value": 102688000.0,
          "filed": "2023-11-08",
          "accession": "0001193125-23-273506",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 4,
          "period_label": "2023-Q4",
          "period_end": "2023-12-31",
          "value": 110568000.0,
          "filed": "2024-02-28",
          "accession": "0001193125-24-050908",
          "derived": true
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 1,
          "period_label": "2024-Q1",
          "period_end": "2024-03-31",
          "value": 98509000.0,
          "filed": "2024-05-08",
          "accession": "0001193125-24-134195",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 2,
          "period_label": "2024-Q2",
          "period_end": "2024-06-30",
          "value": 122710000.0,
          "filed": "2024-08-07",
          "accession": "0000950170-24-092745",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 3,
          "period_label": "2024-Q3",
          "period_end": "2024-09-30",
          "value": 128695000.0,
          "filed": "2024-11-06",
          "accession": "0000950170-24-122282",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 4,
          "period_label": "2024-Q4",
          "period_end": "2024-12-31",
          "value": 141820000.0,
          "filed": "2025-02-26",
          "accession": "0000950170-25-027714",
          "derived": true
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 1,
          "period_label": "2025-Q1",
          "period_end": "2025-03-31",
          "value": 141421000.0,
          "filed": "2025-05-07",
          "accession": "0000950170-25-065652",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 2,
          "period_label": "2025-Q2",
          "period_end": "2025-06-30",
          "value": 146563000.0,
          "filed": "2025-08-06",
          "accession": "0000950170-25-104000",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 3,
          "period_label": "2025-Q3",
          "period_end": "2025-09-30",
          "value": 148392000.0,
          "filed": "2025-11-05",
          "accession": "0001193125-25-266854",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 4,
          "period_label": "2025-Q4",
          "period_end": "2025-12-31",
          "value": 152613000.0,
          "filed": "2026-02-25",
          "accession": "0001193125-26-071525",
          "derived": true
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 1,
          "period_label": "2026-Q1",
          "period_end": "2026-03-31",
          "value": 149390000.0,
          "filed": "2026-05-11",
          "accession": "0001369568-26-000002",
          "derived": false
        }
      ]
    },
    {
      "metric_id": "net_income",
      "label": "Net income",
      "concept": "NetIncomeLoss",
      "unit": "USD",
      "source_concepts": [
        "us-gaap:NetIncomeLoss"
      ],
      "points": [
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 2,
          "period_label": "2023-Q2",
          "period_end": "2023-03-31",
          "value": 29568000.0,
          "filed": "2023-08-09",
          "accession": "0001193125-23-207344",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 3,
          "period_label": "2023-Q3",
          "period_end": "2023-06-30",
          "value": 37762000.0,
          "filed": "2023-11-08",
          "accession": "0001193125-23-273506",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 4,
          "period_label": "2023-Q4",
          "period_end": "2023-12-31",
          "value": 34844000.0,
          "filed": "2024-02-28",
          "accession": "0001193125-24-050908",
          "derived": true
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 1,
          "period_label": "2024-Q1",
          "period_end": "2024-03-31",
          "value": 23275000.0,
          "filed": "2024-05-08",
          "accession": "0001193125-24-134195",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 2,
          "period_label": "2024-Q2",
          "period_end": "2024-03-31",
          "value": 23275000.0,
          "filed": "2024-08-07",
          "accession": "0000950170-24-092745",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 3,
          "period_label": "2024-Q3",
          "period_end": "2024-06-30",
          "value": 40794000.0,
          "filed": "2024-11-06",
          "accession": "0000950170-24-122282",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 4,
          "period_label": "2024-Q4",
          "period_end": "2024-12-31",
          "value": 55936000.0,
          "filed": "2025-02-26",
          "accession": "0000950170-25-027714",
          "derived": true
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 1,
          "period_label": "2025-Q1",
          "period_end": "2025-03-31",
          "value": 56737000.0,
          "filed": "2025-05-07",
          "accession": "0000950170-25-065652",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 2,
          "period_label": "2025-Q2",
          "period_end": "2025-03-31",
          "value": 56737000.0,
          "filed": "2025-08-06",
          "accession": "0000950170-25-104000",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 3,
          "period_label": "2025-Q3",
          "period_end": "2025-06-30",
          "value": 52108000.0,
          "filed": "2025-11-05",
          "accession": "0001193125-25-266854",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 4,
          "period_label": "2025-Q4",
          "period_end": "2025-12-31",
          "value": 52698000.0,
          "filed": "2026-04-30",
          "accession": "0001193125-26-197490",
          "derived": true
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 1,
          "period_label": "2026-Q1",
          "period_end": "2026-03-31",
          "value": 63734000.0,
          "filed": "2026-05-11",
          "accession": "0001369568-26-000002",
          "derived": false
        }
      ]
    },
    {
      "metric_id": "eps_diluted",
      "label": "Diluted EPS",
      "concept": "EarningsPerShareDiluted",
      "unit": "USD/shares",
      "source_concepts": [
        "us-gaap:EarningsPerShareDiluted"
      ],
      "points": [
        {
          "fiscal_year": 2022,
          "fiscal_quarter": 2,
          "period_label": "2022-Q2",
          "period_end": "2022-06-30",
          "value": 0.2,
          "filed": "2022-08-09",
          "accession": "0001193125-22-216148",
          "derived": false
        },
        {
          "fiscal_year": 2022,
          "fiscal_quarter": 3,
          "period_label": "2022-Q3",
          "period_end": "2022-09-30",
          "value": 0.2,
          "filed": "2022-11-09",
          "accession": "0001193125-22-281202",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 1,
          "period_label": "2023-Q1",
          "period_end": "2023-03-31",
          "value": 0.26,
          "filed": "2023-05-10",
          "accession": "0001193125-23-140701",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 2,
          "period_label": "2023-Q2",
          "period_end": "2023-06-30",
          "value": 0.33,
          "filed": "2023-08-09",
          "accession": "0001193125-23-207344",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 3,
          "period_label": "2023-Q3",
          "period_end": "2023-09-30",
          "value": -0.29,
          "filed": "2023-11-08",
          "accession": "0001193125-23-273506",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 1,
          "period_label": "2024-Q1",
          "period_end": "2024-03-31",
          "value": 0.19,
          "filed": "2024-05-08",
          "accession": "0001193125-24-134195",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 2,
          "period_label": "2024-Q2",
          "period_end": "2024-06-30",
          "value": 0.33,
          "filed": "2024-08-07",
          "accession": "0000950170-24-092745",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 3,
          "period_label": "2024-Q3",
          "period_end": "2024-09-30",
          "value": 0.35,
          "filed": "2024-11-06",
          "accession": "0000950170-24-122282",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 1,
          "period_label": "2025-Q1",
          "period_end": "2025-03-31",
          "value": 0.45,
          "filed": "2025-05-07",
          "accession": "0000950170-25-065652",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 2,
          "period_label": "2025-Q2",
          "period_end": "2025-06-30",
          "value": 0.41,
          "filed": "2025-08-06",
          "accession": "0000950170-25-104000",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 3,
          "period_label": "2025-Q3",
          "period_end": "2025-09-30",
          "value": 0.42,
          "filed": "2025-11-05",
          "accession": "0001193125-25-266854",
          "derived": false
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 1,
          "period_label": "2026-Q1",
          "period_end": "2026-03-31",
          "value": 0.5,
          "filed": "2026-05-11",
          "accession": "0001369568-26-000002",
          "derived": false
        }
      ]
    }
  ]
}
