.candidate-social-section{width:100%;min-width:0;position:relative;z-index:1}
.candidate-social-options{display:grid;gap:12px;margin:0 0 12px;width:100%}
.candidate-social-button{display:grid!important;grid-template-columns:20px 1fr 20px;align-items:center;gap:12px;min-height:48px;width:100%;padding:10px 18px!important;border:1px solid #747775!important;border-radius:6px;background:#fff!important;color:#1f1f1f!important;font:500 14px/1.4 Arial,sans-serif!important;cursor:pointer;box-sizing:border-box;letter-spacing:.1px}
.candidate-social-button span{text-align:center}.candidate-social-button:hover{background:#f2f5fa!important}.candidate-social-button:focus-visible{outline:3px solid #4285f4;outline-offset:3px}.candidate-social-button svg{flex-shrink:0}
.candidate-social-divider{display:flex;align-items:center;gap:12px;font-size:12px;opacity:.75;margin:0 0 16px}.candidate-social-divider::before,.candidate-social-divider::after{content:"";height:1px;background:currentColor;opacity:.25;flex:1}
.candidate-social-page{margin:0;min-height:100vh;background:#071426;color:#e5ecf7;font:16px/1.6 system-ui,sans-serif;display:grid;place-items:center;padding:32px 16px;box-sizing:border-box}.candidate-social-card{width:min(100%,480px);box-sizing:border-box;padding:32px;border:1px solid #31465f;border-radius:20px;background:#102139;box-shadow:0 24px 72px #0004}.candidate-social-card h1{font-size:26px;line-height:1.25}.candidate-social-card a{color:#95c5ff}.candidate-social-card label{display:block;margin:12px 0 5px}.candidate-social-card input:not([type=hidden]){box-sizing:border-box;width:100%;padding:12px;border:1px solid #62748c;border-radius:8px;background:#071426;color:#fff;font:inherit}.candidate-social-card button.primary{margin-top:20px;width:100%;padding:12px;border:0;border-radius:8px;background:#1475df;color:white;font:600 16px system-ui;cursor:pointer}.candidate-social-card .errorlist,.candidate-social-error{color:#ffc8c8}.candidate-social-card .connection{border-top:1px solid #31465f;padding:16px 0}.candidate-social-card :focus-visible{outline:3px solid #95c5ff;outline-offset:3px}.candidate-social-card .notice{padding:12px;border:1px solid #4e7460;border-radius:8px}.candidate-social-card .fine-print{font-size:14px;color:#b9c8dc}
/* Additional provider controls must remain reachable on short desktop screens. */
body.candidate-login-page:has(.candidate-social-options){height:auto;overflow-y:auto}
body.candidate-login-page:has(.candidate-social-options) .candidate-login-main{height:auto;min-height:100vh}
body.candidate-login-page:has(.candidate-social-options) .candidate-login-shell{height:auto;min-height:calc(100vh - 140px)}
#loginPanel:has(.candidate-social-options){max-height:calc(100dvh - 32px);overflow-y:auto}
@media(max-width:480px){.candidate-social-card{padding:24px}}
@media(max-width:1080px){body.candidate-login-page:has(.candidate-social-options) .candidate-form-panel{order:-1}body.candidate-login-page:has(.candidate-social-options) .candidate-login-shell{gap:28px}}
.candidate-social-card .terms-consent{display:flex;align-items:flex-start;gap:10px;font-size:14px;margin-top:20px}.candidate-social-card .terms-consent input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin-top:3px}
.candidate-social-notice{font-size:12px;line-height:1.6;margin:12px 0;color:inherit;opacity:.85}.candidate-social-notice a{color:inherit;text-decoration:underline}

.candidate-social-button:disabled{cursor:not-allowed;background:#f5f6f8!important;color:#606873!important;border-color:#b8bec7!important}.candidate-social-button small{display:block;font-size:11px;font-weight:400;line-height:1.4;margin-top:2px}
#loginPanel .candidate-social-section{margin-top:22px}
