:root{--ink:#111;--muted:#686b72;--line:#d6d9df;--paper:#fff;--soft:#f4f5f7}
html,body{background:#fff}
body{min-height:100vh;background:#fff;color:var(--ink)}
.auth-header{height:88px;justify-content:flex-start;padding:0 clamp(28px,5vw,72px);border-bottom:0;background:transparent}
.auth-brand{display:inline-flex;align-items:center}
.auth-brand img{width:134px;filter:grayscale(1) brightness(0)}
.header-login{display:none}
.auth-main{display:block;width:min(470px,calc(100% - 40px));min-height:0;margin:56px auto 84px;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
.auth-aside{display:none}
.auth-card{display:block;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.auth-card>section{width:100%}
.auth-progress{display:none!important}
.auth-eyebrow{display:none}
.auth-screen{animation:screenIn .18s ease both}
.auth-screen h2{margin:0 0 12px;font-size:42px;font-weight:650;line-height:1.05;letter-spacing:-.052em}
.auth-screen>p{margin:0 0 36px;color:var(--muted);font-size:15px;line-height:1.65}
.auth-tabs{display:flex;gap:30px;margin:0 0 34px;padding:0;border:0;border-bottom:1px solid #cfcdc5;border-radius:0;background:transparent}
.auth-tabs button{position:relative;width:auto;height:46px;padding:0;border:0;border-radius:0;background:transparent;color:#7a7872;font-size:14px;font-weight:700;cursor:pointer;transition:color .15s ease}
.auth-tabs button.active{border:0;background:transparent;color:#111;box-shadow:none}
.auth-tabs button.active::after{display:block;position:absolute;right:0;bottom:-1px;left:0;height:2px;background:#111;content:""}
.auth-form{gap:21px}
.auth-form>label{color:#363531;font-size:13px;font-weight:700}
.auth-form input,.auth-form select{height:58px;margin-top:8px;padding:0 17px;border:1px solid #c9cdd4;border-radius:12px;background:#fff;color:var(--ink);font-size:15px;box-shadow:0 1px 0 rgba(17,17,17,.02);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.auth-form input::placeholder{color:transparent}
.auth-form input:hover,.auth-form select:hover{border-color:#99968e}
.auth-form input:focus,.auth-form select:focus{border-color:#111;background:#fff;box-shadow:0 0 0 3px rgba(17,17,17,.07)}
.password-field input{padding-right:58px}
.password-field button{right:7px;top:16px;display:grid;width:42px;height:42px;padding:0;place-items:center;border:0;border-radius:9px;background:transparent;color:#4d4b45;cursor:pointer}
.password-field button:hover{background:#f0efea;color:#111}
.password-field button:focus-visible{outline:2px solid #111;outline-offset:-2px}
.password-field button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.password-field button[hidden]{display:none}
.password-field button svg[hidden]{display:none}
.password-field.is-invalid input,.password-field.is-invalid input:hover,.password-field.is-invalid input:focus{border-color:#d92d20;box-shadow:0 0 0 3px rgba(217,45,32,.08)}
.password-rule{display:block;margin:7px 0 0 2px;color:#b42318;font-size:12px;font-weight:650;line-height:1.45}
.password-rule[hidden]{display:none}
.consent-row{grid-template-columns:20px 1fr!important;gap:10px!important;color:#5e636b!important;font-size:12px!important;line-height:1.55}
.consent-row i,.remember-row i{display:grid;width:20px;height:20px;place-items:center;border:1px solid #afb4bc;border-radius:5px;background:#fff;color:transparent;font-size:10px;font-style:normal;font-weight:700;transition:.15s ease}
.consent-row input:checked+i,.remember-row input:checked+i{border-color:var(--ink);background:var(--ink);color:#fff}
.consent-row a{color:var(--ink);font-weight:600;text-decoration-thickness:1px;text-underline-offset:3px}
.auth-primary{height:58px;margin-top:5px;justify-content:center;padding:0 18px;border-radius:18px;background:var(--ink);font-size:15px;font-weight:750;text-align:center;transition:background .15s ease,transform .15s ease,box-shadow .15s ease}
.auth-primary:hover{background:#25282e;transform:translateY(-1px);box-shadow:0 8px 18px rgba(17,19,24,.16)}
.auth-primary:disabled{background:#c8cbd0;color:#fff;transform:none;box-shadow:none}
.login-options{font-size:12px}
.login-options label{gap:9px;color:#575c64}
.remember-row{position:relative;cursor:pointer}
.remember-row input{position:absolute;width:1px!important;height:1px!important;margin:0!important;opacity:0;pointer-events:none}
.login-options button{color:#343840;font-size:12px;font-weight:650;text-decoration:none}
.login-options button:hover{text-decoration:underline;text-underline-offset:3px}
.form-error{color:#b42318!important;font-size:12px!important;font-weight:600}
.screen-back{margin:0 0 28px;color:#4f545d;font-size:13px;font-weight:600}
.screen-back::before{margin-right:7px;content:"←"}
.otp-wrap{margin:12px 0 14px}
.otp-slots{gap:8px}
.otp-slots span{aspect-ratio:1/1.04;border:1px solid #cbc9c1;border-radius:12px;background:#fff;font-size:28px;font-weight:700}
.otp-slots span.filled{border-color:#262a30;background:#fafafa}
.otp-slots span.focus{box-shadow:0 0 0 3px rgba(17,19,24,.08)}
.otp-hint{margin:0 0 18px!important;padding:0!important;background:transparent!important;color:#737880!important;font-size:12px!important}
.verify-actions{justify-content:flex-start;margin-top:18px}
.verify-actions button{color:#3f444c;font-size:12px;font-weight:650;text-decoration:none}
.verify-actions button:not(:disabled):hover{text-decoration:underline;text-underline-offset:3px}
.verify-actions button:disabled{color:#8b9098;cursor:default}
.owner-type{grid-template-columns:repeat(3,1fr)}
.owner-type button{border-radius:12px;color:#111!important;-webkit-text-fill-color:#111!important}
.owner-type-error{grid-column:1/-1;margin:2px 0 0;color:#b42318;font-size:12px;font-weight:600}
.success-icon{width:64px;height:64px;background:var(--ink)}
.success-account{border-radius:10px;background:#fafafa}
@media(max-width:620px){
  .auth-header{height:72px;padding:0 20px}
  .auth-brand img{width:126px}
  .auth-main{width:calc(100% - 40px);margin:34px auto 52px}
  .auth-card{min-height:calc(100vh - 120px);padding:0;border-radius:0}
  .auth-screen h2{font-size:36px}
  .auth-tabs{margin-bottom:26px}
  .auth-form input,.auth-form select,.auth-primary{height:54px}
  .profile-form{grid-template-columns:1fr}
  .profile-form>label,.profile-form .owner-type,.profile-form .auth-primary{grid-column:1!important}
  .otp-slots{gap:6px}
  .otp-slots span{border-radius:8px;font-size:24px}
  .verify-actions{align-items:flex-start;flex-direction:column}
  .owner-type{grid-template-columns:1fr}
}
