/* ——— вход ——— */
.login { position: fixed; inset: 0; background: var(--bg); display: grid; place-items: center; padding: 24px; }
.login-card {
  width: min(1080px, 100%); height: min(640px, calc(100vh - 48px));
  background: #fff; border-radius: var(--r-panel); overflow: hidden;
  display: grid; grid-template-columns: 1fr 1.08fr;
}
.login-form { padding: 44px 52px 32px; display: flex; flex-direction: column; min-height: 0; }
.login-logo .logo-full { height: 48px; width: auto; margin-left: -6px; }
.login-mid { margin: auto 0; max-width: 400px; }
.login-mid h1 { font-size: 30px; letter-spacing: -.02em; }
.login-mid p { margin: 6px 0 32px; font-size: 16px; color: var(--ink-2); }
.login-btn { width: 100%; white-space: normal; text-align: center; height: auto; min-height: 48px; padding: 12px 20px; line-height: 1.3; }
.login-alt { display: block; margin: 16px auto 0; font-size: 14px; font-weight: 500; }
.login-foot { font-size: 12px; color: var(--ink-3); }
.login-art { background: #EDF2F9; position: relative; overflow: hidden; }
.login-art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 62% 50%; transform: scale(1.35); transform-origin: 70% 55%; }
@media (max-width: 860px) { .login-card { grid-template-columns: 1fr; } .login-art { display: none; } }

/* [frontend] живой вход по учётке контура */
.login-live .input { width: 100%; height: 44px; margin: 0 0 10px; font-size: 15px; }
.login-live .login-btn { margin-top: 6px; }
.login-err { color: var(--bad-ink); font-size: 13px; margin: 0 0 8px; }
.login-live .login-alt[disabled] { color: var(--ink-3); cursor: default; display: flex; align-items: center; justify-content: center; gap: 6px; }
