/* ═══════════════════════════════════════════════════════════════════════════
   Страницы входа, регистрации, восстановления и установки пароля.

   Эти страницы живут вне оболочки кабинета (свой <html>), поэтому палитра и
   знак подключаются сюда отдельно — те же значения, что в admin-theme.css.
   Файл идёт ПОСЛЕ встроенного <style> страниц и перекрывает их прежние
   синие цвета, не трогая разметку.
   ═══════════════════════════════════════════════════════════════════════ */

@font-face {
    font-family: "Manrope"; font-style: normal; font-weight: 200 800; font-display: swap;
    src: url("../fonts/manrope-latin-var.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
        U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: "Manrope"; font-style: normal; font-weight: 200 800; font-display: swap;
    src: url("../fonts/manrope-cyrillic-var.woff2") format("woff2");
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

:root {
    --primary: #40a8c4;
    --primary-dark: #358da6;
    --primary-light: #e6f4f8;
    --primary-rgb: 64, 168, 196;
    --brand: #f7aa00;
    --strong: #235784;
    --strong-hover: #1c466b;
    --bg: #eef6f7;
    --bg-card: #ffffff;
    --text: #235784;
    --text-secondary: #5b7c97;
    --text-muted: #8fa9bd;
    --border: #dde9ee;
    --secondary-light: #e8f1f5;
    --status-good: #78b63f;
    --status-bad: #e16767;
    --radius: 12px;
    --radius-lg: 18px;
}

body {
    background: var(--bg) !important;
    color: var(--text);
    font-family: "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}

.login-container { max-width: 420px; }
.login-card {
    background: var(--bg-card) !important;
    border-radius: 28px !important;
    box-shadow: 0 2px 4px rgb(35 87 132 / 8%), 0 18px 50px rgb(35 87 132 / 10%) !important;
    padding: 40px 34px !important;
}

/* Знак: градиентный кружок фирменного оранжевого + слово, как в шапке кабинета. */
.login-logo { text-align: center; margin-bottom: 28px !important; }
.login-logo .icon { font-size: 0 !important; margin-bottom: 10px !important; }
.auth-brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.auth-brand__mark {
    width: 38px; height: 38px; flex: none; border-radius: 50%;
    background: linear-gradient(140deg, #ffc94a 0%, var(--brand) 55%, #e08f00 100%);
    box-shadow: 0 2px 10px rgb(247 170 0 / 35%);
}
.auth-brand__word { font-size: 24px; font-weight: 800; letter-spacing: .06em; color: var(--strong); line-height: 1; }
.login-logo p, .login-logo h1 { color: var(--text-secondary) !important; }

/* Поля — как в кабинете: тонкая рамка, скругление, бирюзовый фокус. */
.login-input, .form-control {
    border: 1px solid var(--border) !important;
    border-radius: var(--radius) !important;
    background: var(--bg-card) !important;
    color: var(--text) !important;
    font-family: inherit !important;
    font-size: 15px;
}
.login-input::placeholder, .form-control::placeholder { color: var(--text-muted); }
.login-input:focus, .form-control:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 4px rgb(64 168 196 / 16%) !important;
}
.form-label-sm, .form-label { color: var(--text-secondary) !important; font-weight: 600; }

/* Поле одноразового кода. Раньше на нём стоял инлайновый monospace с разрядкой
   6px: цифры выглядели чужими, а подсказка растягивалась в «К о д   и з   6
   ц и ф р». Шрифт наследуем от кабинета, разрядку оставляем ЦИФРАМ, подсказке
   возвращаем обычный вид. */
input.login-code {
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .3em;
    text-indent: .3em;            /* компенсируем разрядку последнего знака при центровке */
    font-variant-numeric: tabular-nums;
}
input.login-code::placeholder {
    letter-spacing: normal;
    text-indent: 0;
    font-size: 15px;
    font-weight: 500;
}

/* Первичная кнопка — тёмная пилюля. */
.login-btn {
    background: var(--strong) !important;
    color: #fff !important;
    border-radius: 999px !important;
    font-family: inherit !important;
    font-weight: 700 !important;
    transition: background .15s;
}
.login-btn:hover { background: var(--strong-hover) !important; }
.login-btn:disabled { opacity: .55; }

/* Сообщения: без сплошной заливки, рамка и текст цветом статуса.
   БЕЗ !important у цвета и фона: страницы авторизации красят УСПЕХ инлайном
   («Пароль сохранён», «Адрес подтверждён», флеш после установки пароля), а
   !important в таблице стилей перебивает инлайн — замер в браузере показывал
   успех тем же красным, что и ошибку. Свой вид правила и так сохраняют:
   auth.css подключается ПОСЛЕ страничного <style>, значит выигрывают по
   порядку. */
.login-error {
    background: transparent;
    border: 1px solid var(--status-bad);
    color: var(--status-bad);
    border-radius: var(--radius) !important;
}
.login-info {
    background: transparent;
    border: 1px solid var(--primary);
    color: var(--text);
    border-radius: var(--radius) !important;
}

a { color: var(--primary-dark); }
.login-footer { color: var(--text-muted) !important; }

/* Выбор типа при регистрации и карточка успеха. */
.type-selector button, .type-selector label, .type-selector .type-option {
    border-radius: 999px !important;
    font-family: inherit !important;
}
.success-card, .cred-row { border-color: var(--border) !important; }
.cred-label { color: var(--text-secondary) !important; }
.cred-value { color: var(--text) !important; }
