.auth-shell{min-height:calc(100vh - 80px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.7fr);align-items:center;gap:34px}.login-visual{padding:42px 22px}.login-visual h1{max-width:660px}.login-visual p{max-width:630px;color:var(--text-secondary);line-height:1.6;font-size:1.02rem}.login-features{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.login-features span{padding:9px 11px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:.78rem;font-weight:850;color:var(--text-secondary)}.login-card{border:1px solid var(--border);border-radius:20px;background:var(--surface-elevated);padding:26px;box-shadow:0 22px 70px color-mix(in srgb,#000 12%,transparent)}.login-card h2{font-size:1.8rem;margin:.35rem 0 .35rem}.login-card>p{margin:0 0 18px;color:var(--text-secondary);line-height:1.45}.login-form{display:grid;gap:13px}.login-form label{display:grid;gap:6px;font-size:.78rem;font-weight:900;color:var(--text-secondary)}.login-form input{width:100%;padding:12px 13px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text-primary);font:inherit}.login-form input:focus{outline:3px solid color-mix(in srgb,var(--focus-ring) 22%,transparent);border-color:var(--focus-ring)}.login-form .btn{margin-top:3px;padding:12px}.login-message{min-height:22px;margin-top:12px;font-size:.82rem;font-weight:750;line-height:1.4}.login-message.bad{color:var(--danger)}.login-message.good{color:var(--success)}.login-help{display:inline-block;margin-top:9px;color:var(--primary);font-size:.8rem;font-weight:800;text-decoration:none}.login-help:hover{text-decoration:underline}@media(max-width:820px){.auth-shell{grid-template-columns:1fr;gap:10px;align-content:center}.login-visual{padding:28px 6px 10px}.login-card{margin-bottom:30px}}@media(max-width:520px){.auth-shell{min-height:auto}.login-visual{padding-top:18px}.login-visual h1{font-size:2.65rem}.login-card{padding:19px}.login-features{display:grid;grid-template-columns:1fr 1fr}.login-features span:last-child{grid-column:1/-1}}