.auth-page { padding:0; min-height:100dvh; display:grid; grid-template-columns:minmax(360px,45%) minmax(0,1fr); background:var(--surface); }
.auth-story { display:flex; flex-direction:column; justify-content:space-between; background:#163d3b; color:#e7f2ed; padding:44px 52px 30px; min-height:100dvh; }
.auth-brand,.auth-mobile-brand { display:flex; gap:12px; align-items:center; text-decoration:none; font-size:21px; font-weight:750; letter-spacing:-.04em; color:inherit; }
.auth-brand > .icon { width:32px; height:32px; }
.auth-story-content { max-width:390px; padding:40px 0 60px; }
.auth-story h2 { font-size:38px; line-height:1.3; letter-spacing:-.045em; font-weight:650; margin:32px 0 20px; }
.auth-story p { color:#b0ccc5; font-size:14px; line-height:1.8; max-width:34ch; }
.auth-story-foot { display:flex; gap:10px; align-items:center; font-size:11px !important; max-width:none !important; }
.auth-main { display:flex; flex-direction:column; justify-content:center; align-items:center; padding:56px 32px; min-width:0; }
.auth-card { width:100%; max-width:400px; }
.auth-card h1 { font-size:30px; font-weight:750; letter-spacing:-.045em; line-height:1.3; margin:0 0 12px; }
.auth-card .auth-description { color:var(--muted); font-size:13px; line-height:1.8; margin:0 0 28px; }
.auth-card label { display:block; margin:20px 0 8px; font-size:12px; font-weight:650; color:var(--ink); }
.auth-card input { width:100%; min-height:46px; }
.auth-card button,.auth-card .btn { margin-top:24px; width:100%; min-height:46px; }
.auth-card .error { background:var(--danger-soft); color:var(--danger); padding:12px; border-radius:8px; font-size:13px; }
.auth-card .muted { font-size:12px; line-height:1.8; }
.auth-card p { margin:0 0 16px; }
.auth-security { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:11px; margin:40px 0 0; }
.auth-security .icon { width:14px; height:14px; }
.auth-mobile-brand { display:none; }
.auth-step { display:inline-flex; align-items:center; gap:8px; color:var(--accent); background:var(--accent-soft); padding:7px 10px; border-radius:7px; font-size:11px; font-weight:650; margin-bottom:22px; }
.auth-code input[name=code] { font-size:24px; letter-spacing:.12em; text-align:center; font-variant-numeric:tabular-nums; }
.auth-card .qr { padding:18px; margin:22px 0; background:var(--surface-2); border:1px solid var(--line); border-radius:12px; display:grid; place-items:center; }
.qr svg { width:180px; height:180px; padding:10px; background:white; border-radius:8px; }
.auth-card .codes { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:24px 0; }
.codes span { padding:12px; background:var(--surface-2); border:1px dashed var(--line-strong); border-radius:8px; text-align:center; font:14px ui-monospace,monospace; }
.auth-card .orgs { list-style:none; padding:0; margin:22px 0 0; }
.auth-card .orgs button { justify-content:space-between; text-align:left; padding:16px; background:var(--surface); color:var(--ink); border:1px solid var(--line); margin-top:10px; }
.auth-card .orgs button:hover { border-color:var(--accent); background:var(--accent-soft); }
.auth-card .orgs .icon { color:var(--accent); }
.auth-card .home-actions { display:flex; flex-direction:column; gap:10px; }
.auth-card .home-actions .btn,.auth-card .home-actions button { margin:0; }
.auth-card .password-note { margin-top:18px; }
.lift-illustration { position:relative; width:192px; height:210px; border:1px solid #648b7e; border-bottom:4px solid #86b39c; border-radius:12px 12px 2px 2px; padding:29px 18px 0; background:#204946; }
.lift-door { position:absolute; top:32px; bottom:0; width:72px; background:#416b5e; border:1px solid #719586; }
.lift-door.left { left:20px; border-radius:3px 0 0 0; }
.lift-door.right { right:20px; border-radius:0 3px 0 0; }
.lift-light { position:absolute; left:calc(50% - 14px); top:12px; width:28px; height:7px; border-radius:2px; background:#c4e5be; }
.lift-control { position:absolute; right:-34px; top:90px; color:#c4e5be; }
@media(max-width:1000px) { .auth-story { padding:32px; } .auth-story h2 { font-size:32px; } .auth-page { grid-template-columns:40% 60%; } }
@media(max-width:700px) { .auth-page { display:block; } .auth-story { display:none; } .auth-main { min-height:100dvh; padding:32px 24px; justify-content:flex-start; } .auth-mobile-brand { display:flex; align-self:flex-start; margin-bottom:56px; font-size:18px; color:var(--accent); } .auth-card { max-width:420px; } .auth-card h1 { font-size:28px; } .auth-security { margin-top:36px; } }
