.join-page{max-width:1120px!important}.join-page .network-hero{margin-bottom:20px}
.join-role-grid{display:grid;grid-template-columns:1fr;gap:12px;margin:18px 0 30px}
.join-role{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:110px;padding:20px;border:1px solid var(--nw-border);border-radius:16px;background:var(--nw-surface);color:var(--nw-ink);text-decoration:none;transition:border-color .12s,background-color .12s}
.join-role strong{font-size:19px;line-height:1.3}.join-role span{font-size:15px;color:var(--nw-muted);line-height:1.5}
.join-role:hover,.join-role.is-selected{border-color:var(--nw-teal);background:var(--nw-soft)}
.join-stage,.join-status,.join-error{border:1px solid var(--nw-border);background:var(--nw-surface);border-radius:20px;padding:24px;margin:20px 0 28px;max-width:760px}
.join-stage h2,.join-status h2{font-size:24px;line-height:1.3;margin:0 0 12px}
.join-stage p,.join-status p{font-size:16px;line-height:1.6}
.join-form{display:grid;gap:20px;margin-top:26px}.join-form>label{display:flex;flex-direction:column;gap:9px;font-weight:650;font-size:16px}
.join-form input:not([type=checkbox]),.join-form textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--nw-border);border-radius:10px;background:var(--nw-surface);color:var(--nw-ink);font:400 16px/1.5 system-ui,sans-serif}
.join-form textarea{min-height:128px;resize:vertical}
.join-terms{border:1px solid var(--nw-border);border-radius:12px;padding:16px;display:grid;gap:16px}
.join-terms legend{font-weight:700;padding:0 8px}.join-terms label{display:flex;align-items:flex-start;gap:12px;line-height:1.6;font-size:15px}
.join-terms input{min-width:24px;min-height:24px;margin:0;accent-color:var(--nw-teal)}
.join-note{font-size:14px!important;color:var(--nw-muted);line-height:1.6}.join-signedin{background:var(--nw-soft);padding:14px;border-radius:10px}
.join-error{border-left:5px solid #B3261E;background:#FFF0ED;color:#82251D}.join-status{border-left:5px solid var(--nw-teal);background:var(--nw-soft)}
.join-form button[type=submit]{justify-self:start}
.join-page :focus-visible{outline:3px solid var(--nw-focus);outline-offset:3px}
@media(min-width:600px){.join-role-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.join-stage,.join-status,.join-error{padding:32px}}
@media(prefers-color-scheme:dark){.join-error{background:#442628;color:#ffd0c9}}
@media(prefers-reduced-motion:reduce){.join-role{transition:none}}
