/* Sign-in, two-factor and invitation pages (light + dark via admin.css tokens). */
.auth{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--bg)}
.auth-brand{position:relative;overflow:hidden;background:radial-gradient(900px 500px at 0% 0%,#1f4a70 0%,#0f2a44 55%,#0a1b2e 100%);color:#e6edf5;padding:48px 56px;display:flex;flex-direction:column;justify-content:space-between;gap:40px}
.auth-brand::after{content:"";position:absolute;right:-160px;bottom:-160px;width:480px;height:480px;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 46px,rgba(227,179,65,.10) 46px 47px);pointer-events:none}
.auth-logo{display:flex;align-items:center;gap:12px;font-weight:700;font-size:17px;color:#fff}
.auth-logo .logo{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#f0c75e,#e3b341);color:#0f2a44;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px}
.auth-logo small{display:block;font-weight:500;font-size:12.5px;color:#9fb3c8}
.auth-brand h2{font-size:clamp(28px,3vw,40px);line-height:1.15;margin:0 0 14px;color:#fff;letter-spacing:-.02em;max-width:520px}
.auth-brand p{color:#b9c8d8;max-width:480px;margin:0;font-size:16px;line-height:1.6}
.auth-points{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-direction:column;gap:12px;position:relative;z-index:1}
.auth-points li{display:flex;gap:12px;align-items:flex-start;color:#d6e1ec;font-size:14.5px}
.auth-points .ico{color:#e3b341;margin-top:2px}
.auth-foot{font-size:12.5px;color:#8fa6bd;position:relative;z-index:1}
.auth-main{display:flex;align-items:center;justify-content:center;padding:40px 24px}
.auth-box{width:100%;max-width:400px}
.auth-box h1{font-size:26px;margin:0 0 6px;letter-spacing:-.02em}
.auth-box .lead{color:var(--ink-2);margin:0 0 24px}
.auth-box .btn-primary{width:100%;min-height:44px;font-size:15px}
.auth-steps{display:flex;gap:8px;list-style:none;margin:0 0 22px;padding:0;font-size:13px;color:var(--ink-3);font-weight:600}
.auth-steps li{display:flex;align-items:center;gap:6px}
.auth-steps li+li::before{content:"";width:18px;height:1px;background:var(--line-2);margin-right:2px}
.auth-steps b{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-3);color:var(--ink-2);font-size:12px}
.auth-steps .on{color:var(--ink)}.auth-steps .on b{background:var(--primary);color:var(--primary-ink)}
.auth-steps .done b{background:var(--good);color:var(--surface)}
.qr{display:flex;justify-content:center;padding:16px;margin:4px 0 16px;background:#fff;border:1px solid var(--line);border-radius:12px}
.qr svg{display:block;width:200px;height:200px}
.secret{display:block;padding:10px 12px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line);font:600 13px var(--mono);letter-spacing:.06em;word-break:break-all;color:var(--ink)}
.otp{font:600 24px var(--mono)!important;letter-spacing:.5em;text-align:center;min-height:56px!important;padding-left:.5em!important}
.auth-alt{margin-top:18px;font-size:13.5px;color:var(--ink-2);text-align:center}
.auth-alt button{background:none;border:0;color:var(--link);font:inherit;cursor:pointer;text-decoration:underline;padding:4px}
.theme-corner{position:absolute;top:16px;right:16px}
@media (max-width:900px){.auth{grid-template-columns:1fr}.auth-brand{padding:28px 24px;gap:16px}.auth-brand h2{font-size:24px}.auth-points,.auth-brand p,.auth-foot{display:none}.auth-brand::after{display:none}}
