.muted{color:var(--muted)}.small{font-size:13px}.join-page{background:var(--soft);min-height:100vh}.join-page>.site-nav{background:#fff}.join-hero{background:linear-gradient(120deg,var(--navy),#0e416f);color:#fff;padding:55px 0 96px}.join-hero h1{letter-spacing:-2.5px;margin:12px 0;font-size:clamp(39px,5vw,58px);line-height:1.04}.join-hero p:last-child{color:#c7d9e9;max-width:750px;font-size:18px}.join-workspace{margin-top:-58px;padding-bottom:70px}.join-panel,.status-panel{border:1px solid var(--line);background:#fff;border-radius:24px;padding:29px;box-shadow:0 20px 55px #071a2f12}.progress{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:26px;display:grid}.progress i{background:#e2eaf1;border-radius:9px;height:7px}.progress i.on{background:var(--blue)}.join-panel h2,.status-panel h2{letter-spacing:-1px;margin:5px 0;font-size:30px}.role-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:23px;display:grid}.role-choice{text-align:left;border:1px solid var(--line);min-height:154px;color:var(--ink);cursor:pointer;background:#fff;border-radius:17px;padding:18px}.role-choice:hover{background:#f7fbff;border-color:#83b7ea}.role-choice.selected{border:2px solid var(--blue);background:#edf6ff;padding:17px;box-shadow:0 9px 25px #1478e815}.role-choice em{color:#1267bd;background:#edf5fd;border-radius:12px;place-items:center;width:38px;height:38px;font-style:normal;font-weight:900;display:grid}.role-choice b,.role-choice span{display:block}.role-choice b{margin:10px 0 4px;font-size:16px}.role-choice span{color:var(--muted);font-size:13px}.form-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.form-actions.split{justify-content:space-between}.form-actions.centered{justify-content:center}.button:disabled{opacity:.45;cursor:not-allowed}.form-section{border:1px solid var(--line);border-radius:17px;margin-top:18px;padding:19px}.form-section h3{margin:0 0 7px;font-size:18px}.field-grid{grid-template-columns:1fr 1fr;gap:15px 18px;display:grid}label{color:#29445e;font-weight:750;display:block}input,select,textarea{width:100%;font:inherit;color:var(--ink);background:#fbfdff;border:1px solid #bccbda;border-radius:11px;margin-top:6px;padding:11px 12px;display:block}input:focus,select:focus,textarea:focus{border-color:var(--blue);outline:3px solid #1478e81d}label small{color:var(--muted);margin-top:4px;font-weight:500;display:block}.sport-checks{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.sport-checks label{background:#f5f8fb;border:1px solid #e2e9f0;border-radius:10px;align-items:center;gap:8px;padding:9px;font-size:13px;display:flex}.sport-checks input,.consent input{width:auto;margin:0}.consent{align-items:flex-start;gap:9px;margin-top:14px;font-size:13px;display:flex}.consent input{margin-top:4px}.form-message{color:#b01d25;min-height:21px;font-weight:750}.review-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0;display:grid}.review-grid>div{background:#f3f7fb;border-radius:14px;padding:15px}.review-grid small,.review-grid b{display:block}.review-grid b{font-size:17px}.review-card{border:1px solid var(--line);border-radius:16px;padding:20px}.review-card h3{margin-top:0}.success{text-align:center;padding:33px 0}.success-mark{color:#177345;background:#e4f7eb;border-radius:50%;place-items:center;width:72px;height:72px;margin:auto;font-size:34px;font-weight:900;display:grid}.success code{background:var(--navy);color:#fff;border-radius:12px;padding:12px 16px;font-size:17px;font-weight:800;display:inline-block}.status-panel{margin-top:18px}.status-form{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;display:grid}.status-result{border:1px solid var(--line);border-radius:16px;margin-top:16px;padding:19px}.status-result>div{align-items:center;display:flex}.status{color:#754900;background:#fff0d0;border-radius:30px;margin-left:auto;padding:6px 10px;font-size:12px;font-weight:850}.status.approved{color:#17653e;background:#e4f7eb}.status-result ol{border-left:2px solid #dae4ed;padding-left:22px}.status-result li{margin:13px 0}.status-result li b,.status-result li span{display:block}.status-result li span{color:var(--muted);font-size:12px}@media (max-width:900px){.role-grid,.sport-checks{grid-template-columns:1fr 1fr}}@media (max-width:620px){.role-grid,.field-grid,.review-grid,.status-form{grid-template-columns:1fr}.join-panel,.status-panel{padding:20px}.join-page .nav-actions .muted{display:none}.join-hero{padding-top:38px}.sport-checks{grid-template-columns:1fr}}
