XML 57 R47.htm IDEA: XBRL DOCUMENT
v3.24.1.u1

Stockholder's Equity - Stock-based Compensation Expense (Details) - USD ($) $ in Thousands | 3 Months Ended | 12 Months Ended
--- | --- | ---
Mar. 31, 2024 | Mar. 31, 2023 | Dec. 31, 2023
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items] |  |  |
Stock-based compensation expense | $ 13,569 | $ 12,766 |
Share-based compensation expense, capitalized in inventory | 1,200 |  | $ 1,300
NonPerformanceShares [Member] |  |  |
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items] |  |  |
Unrecognized compensation cost related to unvested share-based compensation arrangements | $ 56,400 |  |
Unrecognized compensation cost, expected recognition period (in years) | 2 years 7 months 6 days |  |
Performance Shares |  |  |
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items] |  |  |
Award requisite service period | 4 years 3 months |  |
Unrecognized compensation cost related to unvested share-based compensation arrangements | $ 27,300 |  |
Unrecognized compensation cost, expected recognition period (in years) | 3 years 6 months |  |
Cost of revenue |  |  |
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items] |  |  |
Stock-based compensation expense | $ 1,194 | 1,191 |
Research and development |  |  |
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items] |  |  |
Stock-based compensation expense | 2,168 | 2,278 |
Sales, general and administrative |  |  |
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items] |  |  |
Stock-based compensation expense | $ 10,207 | $ 9,297 |

X
- Definition Amount of expense for award under share-based payment arrangement. Excludes amount capitalized. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SAB Topic 14.F) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (h)(1)(i) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_AllocatedShareBasedCompensationExpense
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of cost capitalized for award under share-based payment arrangement. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (h)(1)(ii) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References No definition available. + Details
Name: | us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of cost not yet recognized for nonvested award under share-based payment arrangement. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (i) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (i) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Estimated period over which an employee is required to provide service in exchange for the equity-based payment award, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (a)(1) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_AwardTypeAxis=pen_NonPerformanceSharesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |