.candidate-portal{max-width:850px;margin-inline:auto}.candidate-portal>h2{font-size:clamp(39px,5vw,58px);line-height:1.1;letter-spacing:-3px;margin:16px 0}.portal-intro{max-width:620px;color:var(--muted);font-size:15px;line-height:1.75}.portal-card{margin-top:28px;padding:clamp(20px,4vw,38px);border:1px solid #e6e3ef;border-radius:16px;background:rgba(255,255,255,.9);box-shadow:0 18px 45px rgba(38,28,76,.07)}.portal-loading{color:var(--muted);font-size:14px}.portal-signed-out>p:first-child{color:var(--muted);font-size:15px}.portal-small,.field-hint{display:block;color:#80889b;font-size:12px;line-height:1.55}.portal-small{margin:15px 0 0}.portal-user-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--line);font-size:13px;color:#667089;overflow-wrap:anywhere}.text-button{border:0;background:none;color:#6426ca;font-size:12px;font-weight:700;cursor:pointer}.profile-status{margin:14px 0;color:#52617a;font-size:13px;line-height:1.55}.profile-status:empty{display:none}.profile-status[data-kind=error]{padding:12px 14px;border:1px solid #f0c5cd;border-radius:9px;background:#fff4f5;color:#9f2b3d}.profile-status[data-kind=success]{padding:12px 14px;border:1px solid #b9e1cc;border-radius:9px;background:#f1fbf5;color:#21643e}.form-progress{display:flex;align-items:center;gap:18px;margin:18px 0 27px;color:#7441b7;font-size:11px;font-weight:700}.progress-track{height:5px;flex:1;overflow:hidden;border-radius:10px;background:#eee9f5}.progress-track i{display:block;width:50%;height:100%;border-radius:inherit;background:var(--gradient);transition:width .25s ease}.form-step{min-width:0;margin:0;padding:0;border:0}.form-step>legend{padding:0;color:var(--ink);font:700 24px var(--font-display);letter-spacing:-.8px}.form-help{margin:7px 0 22px;color:var(--muted);font-size:13px}.form-step>label,.form-columns>label{display:block;margin:0 0 17px;color:#26314d;font-size:12px;font-weight:700}.form-step input:not([type=checkbox]):not([type=file]),.form-step select,.form-step textarea{width:100%;min-height:46px;margin-top:7px;padding:11px 12px;border:1px solid #dfe2eb;border-radius:8px;background:white;color:var(--ink);font:500 14px var(--font-body);outline:none}.form-step textarea{min-height:84px;resize:vertical}.form-step input:focus,.form-step select:focus,.form-step textarea:focus{border-color:#8c58d2;box-shadow:0 0 0 3px rgba(131,66,207,.12)}.form-step input[type=file]{display:block;width:100%;margin-top:8px;padding:12px;border:1px dashed #cfc8dc;border-radius:8px;background:#fcfbfe;color:#59627a;font:500 12px var(--font-body)}.field-hint{margin-top:4px;font-weight:400}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check-group{display:flex;flex-wrap:wrap;gap:10px 18px;margin:0 0 18px;padding:14px;border:1px solid #e4e3ec;border-radius:9px}.check-group legend{padding:0 5px;color:#26314d;font-size:12px;font-weight:700}.check-group label,.consent-check{display:flex;align-items:center;gap:8px;color:#47516b;font-size:12px;line-height:1.55}.check-group input,.consent-check input{width:16px;height:16px;flex:0 0 auto;accent-color:#742cce}.consent-check{align-items:flex-start;margin:13px 0!important;padding:13px;border-radius:8px;background:#f8f5fc;font-weight:500!important}.consent-check input{margin-top:1px}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:23px}.form-actions .button{border:0;cursor:pointer}.button-secondary{border:1px solid #dedbe8!important;background:#fff;color:#404b66}.button:disabled{opacity:.62;cursor:wait;transform:none}.candidate-portal .privacy-note{max-width:700px;color:#858ba0;font-size:11px;line-height:1.65;margin-top:15px}.page-contact .candidate-portal{padding:0 0 15px}.page-contact .candidate-portal>p:last-child{max-width:850px}@media(max-width:640px){.candidate-portal>h2{font-size:42px;letter-spacing:-2.5px}.portal-intro{font-size:13px}.portal-card{padding:20px 16px;margin-top:21px}.form-columns{grid-template-columns:1fr;gap:0}.form-step>legend{font-size:21px}.form-progress{gap:11px}.form-actions .button{padding:13px 14px;gap:10px}.check-group{gap:12px}.form-step input:not([type=checkbox]):not([type=file]),.form-step select,.form-step textarea{font-size:16px}}
