/* Identity screens share the same quiet field and form language. */
.login-page{min-height:100vh;background:var(--bg)}
.auth-stage{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(460px,.96fr);min-height:100vh}
.auth-visual{position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:clamp(32px,5vw,72px);background:radial-gradient(ellipse 95% 80% at 70% 55%,rgba(36,113,127,.22),transparent 67%),linear-gradient(145deg,#193744,#10232f 74%);border-right:1px solid var(--line)}
.auth-visual:after{content:"";position:absolute;width:1000px;height:1000px;border:1px solid rgba(107,218,219,.11);border-radius:50%;left:16%;top:12%;box-shadow:0 0 0 110px rgba(107,218,219,.017),0 0 0 220px rgba(107,218,219,.01);pointer-events:none}
.auth-logo,.auth-visual-copy,.auth-title,.auth-foot{position:relative;z-index:1}
.auth-logo{display:flex;align-items:center;gap:14px}
.auth-logo .brand-wave{width:42px;height:42px}
.auth-logo .brand-copy strong{font-size:15px}
.auth-visual-copy h1,.auth-title h1{font-size:clamp(42px,4vw,66px);line-height:1.17;letter-spacing:-.055em;margin:18px 0 22px}
.auth-visual-copy p,.auth-title p{color:var(--secondary);font-size:15px}
.auth-foot{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:10px;letter-spacing:.18em}
.auth-foot i{width:34px;height:1px;background:var(--line-strong)}
.auth-field-art{display:none}
.auth-form-pane{display:flex;align-items:center;justify-content:center;padding:50px clamp(30px,6vw,100px)}
.login-flow,.login-card{width:min(100%,430px)}
.login-flow-head{display:flex;justify-content:space-between;align-items:start;gap:20px}
.login-eyebrow{font-size:10px;letter-spacing:.2em;color:var(--brand);font-weight:700}
.login-flow-head h1{font-size:36px;margin:18px 0 8px}
.login-flow-head p{color:var(--secondary);margin:0}
.login-step-count{font-size:11px;color:var(--muted);letter-spacing:.15em;white-space:nowrap}
.login-progress{height:2px;background:var(--line);margin:32px 0 44px}
.login-progress span{display:block;height:100%;width:33%;background:var(--brand);transition:width .2s}
.login-step label{display:block;color:var(--secondary);font-size:12px;margin-bottom:10px}
.login-input-shell{display:flex;gap:8px;align-items:center;padding:5px;border:1px solid var(--line-strong);background:var(--field);border-radius:13px}
.login-input-shell:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(54,217,223,.08)}
.login-input-shell input{flex:1;width:100%;border:0;background:transparent;box-shadow:none;margin:0;padding:10px 13px;font-size:15px}
.login-next{flex:none;width:43px;height:43px;min-height:43px;padding:0;background:var(--brand);border-color:var(--brand);color:#08212a;font-size:24px}
.login-next:hover{background:var(--highlight);color:#08212a}
.login-error{min-height:20px;color:var(--error);font-size:12px}
.login-helper,.login-mfa-actions{display:flex;justify-content:space-between;gap:12px;margin-top:35px;font-size:11px;color:var(--muted)}
.login-helper a,.login-mfa-actions button{color:var(--brand)}
.login-mfa-actions button{background:none;border:0;padding:0;min-height:0}
.login-identity{display:flex;align-items:center;justify-content:space-between;padding:12px 0;margin-bottom:24px;border-bottom:1px solid var(--line);color:var(--secondary)}
.login-identity button{background:none;border:0;padding:0;min-height:0;color:var(--brand)}
.login-mfa-hint{color:var(--secondary)}
.login-step .remember-device{display:flex;align-items:center;margin-top:16px}
.login-node-meta{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px;letter-spacing:.1em;margin-top:80px}
.login-node-dot{width:6px;height:6px;border-radius:50%;background:var(--brand)}
.login-card{padding:40px;background:var(--surface);border:1px solid var(--line);border-radius:18px}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(54,217,223,.4);border-radius:12px;color:var(--brand);font-size:20px}
.login-card h1{font-size:30px;margin:18px 0 5px}
.login-card form{display:grid;gap:17px;margin:28px 0}
.login-card .copy-primary{width:100%;margin-top:6px}
.security-hidden{display:none}
.security-panel{display:flex;gap:24px;margin:18px 0;color:var(--secondary)}
.security-panel>div{min-width:0}
.security-panel small{display:block}
.security-code{letter-spacing:.2em}
.security-note{line-height:1.6}
.security-link{color:var(--brand)}
.auth-logo .brand-wave{position:relative;display:block;flex:none;border:1px solid rgba(54,217,223,.55);border-radius:13px;background:rgba(54,217,223,.08)}
.auth-logo .brand-wave:after{content:"";position:absolute;inset:12px 7px;border-top:2px solid var(--brand);border-radius:50%;transform:rotate(-20deg)}
.auth-logo .brand-copy{display:flex;flex-direction:column;gap:2px}
.auth-logo .brand-copy small{color:var(--muted);font-size:10px;letter-spacing:.13em}
.login-input-shell input:focus{box-shadow:none}
@media(max-width:900px){.auth-stage{grid-template-columns:1fr}
.auth-visual{min-height:310px;padding:34px 30px}
.auth-visual:after{width:650px;height:650px;top:-130px}
.auth-visual-copy h1,.auth-title h1{font-size:38px;margin:16px 0 10px}
.auth-visual-copy p,.auth-title p{font-size:13px}
.auth-foot{display:none}
.auth-form-pane{padding:50px 25px 70px}
.login-node-meta{margin-top:55px}
}
@media(max-width:560px){.auth-visual{min-height:240px;padding:25px 22px}
.auth-logo .brand-wave{width:32px;height:32px}
.auth-logo .brand-copy strong{font-size:12px}
.auth-visual-copy h1,.auth-title h1{font-size:30px}
.auth-visual-copy p,.auth-title p{font-size:12px}
.auth-form-pane{display:block;padding:36px 22px 70px}
.login-flow-head h1{font-size:30px}
.login-progress{margin:26px 0 32px}
.login-helper{display:grid;gap:8px;margin-top:24px}
.login-node-meta{margin-top:56px}
.login-card{padding:24px}
.security-panel{display:block}
}
