.pw-subscription { padding: 0 8px 32px; color: #18181b; font-size: 14px; line-height: 1.5; }
.pw-sub-intro { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-bottom: 24px; }
.pw-sub-intro p, .pw-sub-muted { color: #71717a; }
.pw-sub-plan { padding: 20px; background: #fafafa; border-radius: 16px; }
.pw-sub-plan-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.pw-sub-plan h2 { font-size: 18px; font-weight: 900; }
.pw-sub-badge { padding: 4px 10px; border-radius: 20px; background: #e4e4e7; font-size: 12px; font-weight: 700; }
.pw-sub-plan dl { margin-top: 20px; }
.pw-sub-row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 12px 0; border-top: 1px solid #e4e4e7; }
.pw-sub-row dt { color: #52525b; }
.pw-sub-row dd { margin: 0; text-align: right; font-weight: 700; }
.pw-sub-billing, .pw-sub-ending { margin-top: 28px; }
.pw-sub-billing fieldset { padding: 0; border: 0; min-width: 0; }
.pw-sub-billing legend { margin-bottom: 12px; font-weight: 900; }
.pw-sub-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.pw-sub-options label { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 8px; border: 1px solid #d4d4d8; border-radius: 12px; font-weight: 700; cursor: pointer; }
.pw-sub-options label.is-selected { border-color: #18181b; background: #fafafa; box-shadow: inset 0 0 0 1px #18181b; }
.pw-sub-options input { accent-color: #18181b; }
.pw-sub-primary { display: block; width: 100%; min-height: 46px; margin-top: 20px; padding: 12px 18px; border: 0; border-radius: 36px; background: #18181b; color: #fff; font-size: 16px; font-weight: 700; cursor: pointer; }
.pw-sub-primary:disabled { opacity: .4; cursor: default; }
.pw-subscription button:focus-visible, .pw-sub-options label:focus-within { outline: 2px solid #18181b; outline-offset: 4px; }
.pw-sub-notice { color: #3f3f46; margin-top: 16px; }
.pw-sub-notice:empty { display: none; }
.pw-sub-cancel { margin-top: 24px; border-top: 1px solid #e4e4e7; padding-top: 12px; }
.pw-sub-link { display: block; width: 100%; min-height: 44px; padding: 12px 4px; border: 0; background: none; color: #b91c1c; font-weight: 700; cursor: pointer; }
.pw-sub-confirm { margin-top: 12px; padding: 20px; border: 1px solid #e4e4e7; border-radius: 16px; }
.pw-sub-confirm h3 { font-size: 16px; font-weight: 900; margin-bottom: 8px; }
.pw-sub-demo { margin-top: 24px; color: #71717a; font-size: 12px; text-align: center; }
