.signup-plans { border: 0; padding: 0; margin: 0 0 24px; min-width: 0; }
.signup-plans legend { font-weight: 700; margin-bottom: 10px; }
.signup-plan { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; margin-bottom: 8px; border: 1px solid #dce0e4; border-radius: 10px; background: #fff; cursor: pointer; }
.signup-plan:has(input:checked) { border-color: #bc3438; background: #fff7f6; box-shadow: 0 0 0 1px #bc3438; }
.signup-plan:focus-within { outline: 2px solid #253b57; outline-offset: 3px; }
.signup-plan input[type=radio] { width: 18px; height: 18px; flex: 0 0 18px; margin: 3px 0 0; accent-color: #bc3438; }
.signup-plan > span { flex: 1; min-width: 0; }
.signup-plan strong { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; }
.signup-plan strong span { font-weight: 500; }
.signup-plan > span > span { display: block; font-size: .85rem; margin-top: 4px; color: #59616a; }
.signup-note { font-size: .85rem; line-height: 1.5; margin: 10px 0 0; }
.signup-privacy-note { margin-bottom: 14px; }
.signup-invite { padding: 14px 16px; margin: 0 0 24px; border: 1px solid #bc3438; border-radius: 10px; background: #fff7f6; }
.signup-invite strong { display: block; }
.signup-invite span { display: block; font-size: .85rem; margin-top: 4px; color: #59616a; }
.invite-inactive { color: #59616a; margin-bottom: 14px; }
