*{box-sizing:border-box}
html{min-height:100%;background:#fff}
body{margin:0;min-height:100vh;font-family:'DM Sans',Arial,sans-serif;color:#101010;background:#fff}
button,input{font:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #777;outline-offset:3px}
.login-header{height:86px;background:#000;display:flex;align-items:center;padding:0 clamp(25px,4.2vw,90px)}
.login-brand{font-family:'Plus Jakarta Sans',sans-serif;color:#fff;text-decoration:none;font-weight:800;font-size:29px;letter-spacing:-1.6px}
.login-main{min-height:calc(100vh - 86px);display:flex;align-items:center;justify-content:center;padding:80px 22px 100px}
.login-panel{width:100%;max-width:445px;margin-top:-44px}
.login-panel h1{font-size:29px;line-height:1.29;letter-spacing:-1.35px;font-weight:700;margin:0 0 13px;color:#101010}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#login-contact-form{display:flex;flex-direction:column;gap:20px}
input[type=text]{width:100%;height:64px;border:2px solid transparent;border-radius:11px;background:#f4f4f4;padding:0 22px;color:#131313;font-size:17px;letter-spacing:-.25px}
input[type=text]::placeholder{color:#777;opacity:1}
input[type=text]:focus{background:#fff;border-color:#191919;outline:none}
.continue-button{display:block;width:100%;min-height:65px;padding:15px 20px;border:0;border-radius:11px;background:#0d0d0d;color:#fff;font-size:18px;font-weight:700;letter-spacing:-.45px;transition:background .16s}
.continue-button:hover{background:#292929}
.login-divider{display:flex;align-items:center;gap:12px;margin:26px 0 22px;font-size:15px;color:#333;text-align:center}
.login-divider:before,.login-divider:after{content:'';height:1px;background:#b3b3b3;flex:1}
.social-login{display:grid;gap:12px}
.social-login button{display:flex;justify-content:center;align-items:center;gap:12px;width:100%;height:63px;border:0;border-radius:11px;background:#ededed;color:#101010;font-size:17px;font-weight:700;letter-spacing:-.4px;transition:background .16s}
.social-login button:hover{background:#e0e0e0}
.provider-icon{flex:none;width:25px;height:25px}
.login-disclaimer{color:#666;font-size:13px;line-height:1.65;margin:58px 0 0;max-width:420px}
.provider-note{font-size:13px;line-height:1.5;color:#333;background:#f4f4f4;border-radius:9px;margin:14px 0 0;padding:13px 15px}
.input-error{font-size:12px;color:#b02323;margin:-9px 0 -4px}
.back-step{border:0;background:transparent;color:#171717;padding:10px 0;font-weight:700;font-size:13px;margin-bottom:17px}
.back-step:hover{text-decoration:underline}
.profile-subtitle{font-size:14px;color:#666;line-height:1.65;margin:0 0 16px}
.entered-contact{font-size:14px;color:#111;background:#f5f5f5;padding:12px 16px;border-radius:9px;overflow-wrap:anywhere;margin:0 0 25px}
.form-label{font-size:15px;font-weight:700;display:block;margin-bottom:10px}
.role-label{margin:24px 0 12px}
.role-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.role-option{min-height:70px;border:2px solid #e0e0e0;background:#f5f5f5;border-radius:11px;color:#333;font-size:13px;font-weight:700;padding:10px}
.role-option span{display:block;font-size:21px;margin-bottom:3px}
.role-option.selected{border-color:#121212;background:#fff;color:#111}
.complete-profile{margin-top:23px}
.profile-disclaimer{margin-top:28px}
[hidden]{display:none!important}
@media(max-width:600px){
  .login-header{height:69px;padding:0 22px}
  .login-brand{font-size:25px}
  .login-main{min-height:calc(100svh - 69px);align-items:flex-start;padding:82px 23px 65px}
  .login-panel{max-width:445px;margin:0}
  .login-panel h1{font-size:26px;line-height:1.32;letter-spacing:-1px;margin-bottom:17px}
  input[type=text]{height:59px;padding:0 17px;font-size:15px}
  .continue-button{min-height:58px;font-size:16px}
  .social-login button{height:57px;font-size:15px}
  .login-divider{margin:22px 0}
  .login-disclaimer{font-size:12px;margin-top:38px}
}
@media(prefers-reduced-motion:reduce){.continue-button,.social-login button{transition:none}}

/* Account access fields */
#email-form,#code-form,#profile-form{display:grid;gap:14px}#code-form{margin-top:28px}input[type=email],select{width:100%;height:64px;border:2px solid transparent;border-radius:11px;background:#f4f4f4;padding:0 20px;font:inherit}input[type=email]:focus,select:focus{outline:2px solid #111}button:disabled{opacity:.6;cursor:wait}#auth-status,#status{font-size:14px;line-height:1.6;overflow-wrap:anywhere}#auth-status[role=alert]{color:#ad1717}
