/* Вход (login.js): карточка на /login/ и окно поверх страницы с размытым фоном. Значок .ac-badge - и для кабинета. */
.ac-badge { display: block; width: 84px; height: 84px; margin-bottom: 6px; color: var(--red); }
.ac-badge svg { display: block; width: 100%; height: 100%; }

.lg-body .ac-top-in { grid-template-columns: 1fr auto; }
.lg-card { width: 100%; max-width: 520px; margin: 6vh auto 0; padding: 36px 32px 30px; display: grid; justify-items: center; gap: 14px; text-align: center; }
.lg-card h1, .lg-card h2 { font-size: clamp(26px, 3.4vw, 34px); }
.lg-card p { margin: 0; color: var(--ink-2); max-width: 30em; }
.lg-act { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 8px; }
.lg-tg { background: #2a9fd8; color: #fff; box-shadow: 0 10px 28px -12px rgba(42, 159, 216, 0.6); }
.lg-tg:hover { background: #1f8cc2; transform: translateY(-2px); }
.lg-tg svg { width: 22px; height: 22px; }
.lg-tg.is-busy { cursor: progress; opacity: 0.8; transform: none; }
/* способы входа - столбиком одной ширины; Яндекс - чёрная кнопка с логотипом, как в руководстве Яндекс ID */
.lg-ways { flex-direction: column; align-items: stretch; width: min(300px, 100%); }
.lg-ya { background: #000; color: #fff; box-shadow: 0 10px 28px -14px rgba(0, 0, 0, 0.55); }
.lg-ya:hover { background: #222; transform: translateY(-2px); }
.lg-ya svg { width: 22px; height: 22px; }
.lg-ya.is-busy { cursor: progress; opacity: 0.8; transform: none; }
.lg-ways .btn:disabled:not(.is-busy) { opacity: 0.55; transform: none; }
.lg-mail svg { width: 22px; height: 22px; }
/* вход по почте: адрес, затем код из письма */
.lg-form { display: grid; gap: 10px; width: min(300px, 100%); margin-top: 6px; }
.lg-input {
  width: 100%; padding: 13px 14px; border: 1px solid var(--line-strong); border-radius: 12px; background: var(--white);
  font: inherit; font-size: 16px; color: var(--ink); text-align: center; transition: border-color 0.2s, box-shadow 0.3s var(--ease);
}
.lg-input::placeholder { color: var(--ink-3); }
.lg-input:focus { outline: none; border-color: var(--ink); box-shadow: 0 0 0 4px rgba(20, 31, 56, 0.08); }
.lg-input[aria-invalid="true"] { border-color: var(--red); }
.lg-code { padding-left: calc(14px + 0.4em); font-family: var(--font-mono); font-size: 26px; letter-spacing: 0.4em; }
.lg-code::placeholder { color: var(--paper-3); }
.lg-form .btn { justify-content: center; }
.lg-form .btn.is-busy { cursor: progress; opacity: 0.8; transform: none; }
.lg-card .lg-addr { color: var(--ink); font-weight: 600; overflow-wrap: anywhere; }
.lg-link:disabled, .lg-link:disabled:hover { color: var(--ink-3); text-decoration: none; cursor: default; }
.lg-card .lg-err { padding: 10px 14px; border-radius: 12px; background: var(--red-soft); color: var(--red-2); font-size: 14.5px; }
.lg-card .lg-note { padding: 10px 14px; border-radius: 12px; background: var(--paper); border: 1px solid var(--line); font-size: 14.5px; }
.lg-card .lg-consent { font-size: 13px; color: var(--ink-3); }
.lg-consent a, .lg-link { color: var(--ink-2); text-decoration: underline; text-underline-offset: 2px; }
.lg-card .lg-who { font-family: var(--font-mono); font-size: 15px; color: var(--ink); }
.lg-card .lg-not { font-size: 14px; color: var(--ink-3); }
.lg-link { padding: 0; border: 0; background: none; font: inherit; cursor: pointer; }
.lg-link:hover { color: var(--red); }
.lg-wait { display: flex; gap: 8px; padding: 8px 0 4px; }
.lg-wait i { width: 9px; height: 9px; border-radius: 50%; background: var(--ink-3); animation: lg-dot 1.1s var(--ease) infinite; }
.lg-wait i:nth-child(2) { animation-delay: 0.15s; } .lg-wait i:nth-child(3) { animation-delay: 0.3s; }
@keyframes lg-dot { 0%, 80%, 100% { opacity: 0.25; transform: none; } 40% { opacity: 1; transform: translateY(-4px); } }

/* ---------- окно поверх страницы ---------- */
html.lg-locked { overflow: hidden; }
.lg-modal { position: fixed; inset: 0; z-index: 1100; display: grid; place-items: center; padding: 20px 16px; overflow-y: auto; }
.lg-modal-back {
  position: fixed; inset: 0; background: rgba(244, 240, 231, 0.55);
  -webkit-backdrop-filter: blur(14px) saturate(1.1); backdrop-filter: blur(14px) saturate(1.1);
}
.lg-modal-box { position: relative; width: min(480px, 100%); }
.lg-modal-box .lg-card { margin: 0 auto; max-width: none; box-shadow: 0 40px 100px -30px rgba(20, 31, 56, 0.45); }
.lg-x {
  position: absolute; z-index: 1; top: 12px; right: 12px; width: 38px; height: 38px; display: grid; place-items: center;
  border: 0; border-radius: 50%; background: transparent; color: var(--ink-3); cursor: pointer; transition: background 0.2s, color 0.2s;
}
.lg-x:hover { background: var(--paper-2); color: var(--ink); }
.lg-x svg { width: 18px; height: 18px; }
@media (max-width: 560px) {
  .lg-card { padding: 30px 20px 24px; }
  .lg-modal { align-items: end; padding: 12px; }
}

/* «Войти» в ошибке дашборда (decode.js: лист из кабинета без входа) */
.dd-erract { display: flex; flex-wrap: wrap; gap: 10px; }
