[data-signup-wizard] { max-width:760px; margin-inline:auto; }
.signup-step[hidden], .signup-navigation [hidden] { display:none !important; }
.signup-progress { margin:16px 0 24px; scroll-margin-top:90px; }
.signup-progress p { margin:0 0 8px; color:#315642; font-weight:700; }
.signup-progress progress { width:100%; height:10px; border:0; border-radius:10px; accent-color:#24543a; overflow:hidden; }
.signup-progress progress::-webkit-progress-bar { background:#e6eddf; }
.signup-progress progress::-webkit-progress-value { background:#24543a; border-radius:10px; }
.signup-step { display:grid; gap:20px; }
.signup-step h2 { font-size:clamp(24px,4vw,32px); margin:0; line-height:1.2; }
.signup-step > p { margin:0; color:#536054; line-height:1.5; }
.signup-step label { min-width:0; }
.signup-step input:not([type=checkbox]):not([type=file]), .signup-step textarea, .signup-step select { width:100%; box-sizing:border-box; }
.signup-navigation { display:flex; justify-content:space-between; gap:16px; margin-top:26px; }
.signup-navigation button, .signup-step button { min-height:48px; }
.signup-navigation button:last-child { margin-left:auto; }
.wizard-notice:not(:empty) { background:#f0f7e5; border:1px solid #d2dfc4; padding:14px; border-radius:10px; }
.wizard-notice:empty { display:none; }
.signup-step .wizard-consent { display:flex; align-items:flex-start; gap:12px; font-size:15px; font-weight:400; }
.wizard-consent input { width:22px; height:22px; flex-shrink:0; }
.signup-step .wizard-confirmed { color:#21643c; font-weight:700; }
.wizard-confirmed:empty { display:none; }
@media(max-width:600px) { .signup-navigation { flex-wrap:wrap; } .signup-navigation button { flex:1; } [data-signup-wizard] { padding:20px; } }

.signup-step h2:focus { outline:none; }

.verification-panel { display:grid; gap:20px; }
.verification-panel[hidden] { display:none !important; }
.verification-actions { display:flex; flex-wrap:wrap; gap:12px; }
.verification-actions button { flex:1; }
.verification-destination { margin:0; overflow-wrap:anywhere; font-weight:600; }

.fundraising-goal-card { width:100%; box-sizing:border-box; min-height:220px; padding:32px 20px; border-radius:24px; text-align:center; display:grid; place-content:center; gap:10px; color:#143e2c; background:radial-gradient(circle at 12% 10%,#eaffb5 0,transparent 48%),linear-gradient(125deg,#c6fa76,#eef9df); border:1px solid #cee8ac; box-shadow:0 12px 30px #23492b12; overflow:hidden; }
.fundraising-goal-card > span:first-child { font-size:12px; font-weight:800; letter-spacing:.16em; }
.fundraising-goal-card output { display:block; font-size:clamp(40px,8vw,78px); font-weight:850; line-height:1.1; letter-spacing:-.045em; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.fundraising-goal-card > span:last-child { font-size:16px; }
.suggested-amounts-box h3 { margin:4px 0 8px; font-size:21px; }
.suggested-amounts-box p { color:#617164; font-size:15px; margin:0 0 18px; }
.suggested-amount-buttons { display:grid; grid-template-columns:repeat(auto-fit,minmax(100px,1fr)); gap:10px; }
.signup-step .suggested-amount-button { border:1px solid #cadbbd; background:#f4faed; color:#214f35; border-radius:15px; padding:19px 8px; min-height:72px; font-size:21px; font-weight:750; overflow-wrap:anywhere; transition:background .15s,transform .15s; }
.signup-step .suggested-amount-button:hover { background:#dcf7b9; transform:translateY(-2px); }
.signup-step .suggested-amount-button:focus-visible { outline:3px solid #40734d; outline-offset:3px; }
.signup-step .suggested-amount-editor { min-width:0; min-height:72px; text-align:center; border:2px solid #40734d; border-radius:15px; font-size:21px; padding:10px 4px; }
@media(max-width:450px) { .fundraising-goal-card { min-height:180px; padding:24px 12px; } .suggested-amount-buttons { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(prefers-reduced-motion:reduce) { .signup-step .suggested-amount-button { transition:none; } }

.signup-step > p.verification-required { color:#111; font-weight:800; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; border-left:4px solid #214f35; padding:12px; background:#eff9df; }

[data-preview-suggested] { display:flex !important; flex-wrap:wrap; gap:8px; margin-top:12px; }
.preview-donation-amount { flex:1 1 75px; border:1px solid #c9dbbd; border-radius:12px; padding:12px 10px; color:#214f35; background:#f4faed; font:inherit; font-weight:750; cursor:pointer; }
.preview-donation-amount:hover, .preview-donation-amount[aria-pressed=true] { background:#c6fa76; border-color:#214f35; }
.preview-donation-amount:focus-visible { outline:3px solid #40734d; outline-offset:2px; }
.fundraiser-preview-panel .meter-row [data-preview-goal] { display:inline; }
