/* Approved-client payment + onboarding flow */
.light-bg{background:#faf9f5}
.client-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.client-flow article{padding:28px;background:#fff;border:1px solid var(--line)}
.client-flow b{font-size:11px;color:#a07d35}
.client-flow h3{font-family:var(--serif);font-size:25px;margin:28px 0 8px}
.client-flow p{font-size:13px;color:var(--muted);margin:0}
.payment-note{margin-top:18px;padding:20px 24px;background:var(--navy);color:#fff;display:flex;gap:22px;align-items:center}
.payment-note strong{font-family:var(--serif);font-size:25px;white-space:nowrap}
.payment-note span{color:#bdc8ce;font-size:13px}
.portal-shell{min-height:100vh;background:linear-gradient(145deg,#061a2b,#0d2b42);padding:55px 20px;display:grid;place-items:center}
.portal-card{width:min(760px,100%);background:#faf9f5;border:1px solid rgba(195,154,74,.38);padding:42px;box-shadow:0 30px 80px rgba(0,0,0,.26)}
.portal-card.centered{text-align:center}
.portal-logo{display:inline-block;width:min(310px,76%);background:#f8f6f0;border:1px solid rgba(195,154,74,.45);padding:7px 11px;margin-bottom:30px}
.portal-logo img{width:100%;height:auto}
.portal-card h1,.onboarding-intro h1,.legal-page h1{font-family:var(--serif);font-size:clamp(46px,7vw,70px);line-height:.95;margin:12px 0 18px}
.portal-lede{color:var(--muted);font-size:15px}
.selected-plan{margin:30px 0 22px;border:1px solid var(--line);background:#fff;padding:24px;display:grid;gap:3px}
.selected-plan span{font-size:11px;font-weight:700;letter-spacing:.16em;color:#886a34}
.selected-plan strong{font-family:var(--serif);font-size:42px;line-height:1}
.selected-plan small{color:var(--muted)}
.checkout-form{display:grid;gap:16px}
.checkout-form label:not(.agreement){font-size:11px;font-weight:700;letter-spacing:.04em}
.checkout-form input[type=email]{width:100%;margin-top:7px;border:1px solid #ccd0d0;padding:13px;font:14px var(--sans)}
.agreement{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:var(--muted)}
.agreement input{margin-top:4px}
.checkout-alert{background:#fff2cf;border:1px solid #d9bd73;padding:12px 14px;font-size:13px;margin-top:16px}
.secure-note{margin-top:24px;padding:18px;border-left:3px solid var(--gold);background:#f1ece1;display:grid;gap:2px;text-align:left}
.secure-note strong{font-size:13px}.secure-note span{font-size:12px;color:var(--muted)}
.muted-note{font-size:11px;color:var(--muted);margin-top:20px}.muted-note a{text-decoration:underline}
.next-steps{text-align:left;margin:28px 0}.next-steps>div{display:grid;grid-template-columns:38px 1fr;gap:13px;padding:15px 0;border-bottom:1px solid var(--line)}
.next-steps b{font-size:11px;color:#9a7638}.next-steps strong,.next-steps small{display:block}.next-steps small{color:var(--muted);margin-top:2px}
.onboarding-shell{min-height:100vh;background:#f4efe5;padding:46px 20px 70px}.onboarding-wrap{width:min(900px,100%);margin:auto}
.onboarding-intro{margin:22px 0 28px}.onboarding-intro p{color:var(--muted)}
.onboarding-form{grid-template-columns:1fr 1fr}.onboarding-form textarea{resize:vertical;min-height:105px}
.legal-page{max-width:820px}.legal-page p{color:#4f5b62}.legal-page a{text-decoration:underline}.legal-page .text{color:#76592a;font-weight:700}
button:disabled{opacity:.65;cursor:wait}
@media(max-width:980px){.client-flow{grid-template-columns:repeat(2,1fr)}.payment-note{align-items:flex-start;flex-direction:column;gap:5px}}
@media(max-width:620px){.client-flow{grid-template-columns:1fr}.portal-card{padding:28px 20px}.portal-shell{padding:24px 12px}.onboarding-form{grid-template-columns:1fr}.onboarding-form .fullfield,.onboarding-form button,.onboarding-form .form-note{grid-column:auto}.payment-note strong{white-space:normal}}
