/* ============================================================
   Страница входа в ЛК — единый шаблон по мотивам
   zaim-985 / lotos-money (templates/login.php).

   Тема задаётся классом на <body>:
     .lkb-theme-z985    — палитра Займ-985 (retro hotline)
     .lkb-theme-lotos   — палитра Лотос Мани (emerald luxury)
     .lkb-theme-generic — все остальные домены, цвета приходят
                          из domain_config.php инлайном в :root
   ============================================================ */

/* ─── ПЕРЕМЕННЫЕ ПО УМОЛЧАНИЮ (generic) ───────────────────── */
:root {
    --lkb-accent:        #6d28d9;
    --lkb-accent-hover:  #5b21b6;
    --lkb-accent-soft:   rgba(109, 40, 217, 0.12);
    --lkb-btn-text:      #ffffff;
    --lkb-page-bg:       #f0f2f5;
    --lkb-card-bg:       #ffffff;
    --lkb-input-bg:      #ffffff;
    --lkb-text:          #1f2430;
    --lkb-text-muted:    #6b7280;
    --lkb-line:          rgba(31, 36, 48, 0.14);
    --lkb-shadow:        rgba(17, 24, 39, 0.18);
    --lkb-header-bg:     var(--lkb-accent);
    --lkb-header-text:   #ffffff;
    --lkb-radius-card:   28px;
    --lkb-radius-input:  14px;
    --lkb-font:          'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
    --lkb-font-brand:    var(--lkb-font);
}

/* ─── RESET / BASE ────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; overflow-x: hidden; }
body { margin: 0; }
body.lkb-body {
    min-height: 100vh;
    font-family: var(--lkb-font);
    font-size: 16px;
    line-height: 1.55;
    color: var(--lkb-text);
    background: var(--lkb-page-bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}
body.lkb-body img, body.lkb-body picture, body.lkb-body svg { display: block; max-width: 100%; height: auto; }
body.lkb-body button { font: inherit; cursor: pointer; border: none; }
body.lkb-body a { color: inherit; text-decoration: none; }
body.lkb-body input, body.lkb-body button { font-family: inherit; }

/* ─── КОНТЕЙНЕР ───────────────────────────────────────────── */
.lkb-wrap { width: 100%; max-width: 1400px; margin: 0 auto; padding: 0 20px; }
@media (min-width: 640px) { .lkb-wrap { padding: 0 32px; } }

/* ─── ШАПКА (без кнопок справа) ───────────────────────────── */
.lkb-header {
    position: sticky; top: 0; z-index: 100;
    padding: 14px 0;
    background: var(--lkb-header-bg);
}
.lkb-header__row { display: flex; align-items: center; gap: 12px; min-height: 56px; }
.lkb-logo { display: inline-flex; align-items: center; gap: 12px; min-width: 0; }
.lkb-logo__img {
    width: 44px; height: 44px; flex-shrink: 0;
    border-radius: 50%; overflow: hidden;
    display: grid; place-items: center;
    font-size: 22px; line-height: 1;
}
.lkb-logo__img img { width: 100%; height: 100%; object-fit: contain; transform: scale(1.05); }
.lkb-logo__name {
    font-family: var(--lkb-font-brand);
    font-size: 19px; font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--lkb-header-text);
    overflow-wrap: anywhere;
}

/* ─── ЭКРАН ВХОДА ─────────────────────────────────────────── */
.lkb-login {
    display: grid;
    place-items: start center;
    min-height: calc(100vh - 200px);
    padding: 48px 0 60px;
}
.lkb-login__card {
    width: 100%; max-width: 460px;
    margin: 0 auto;
    padding: 32px 28px 28px;
    background: var(--lkb-card-bg);
    border-radius: var(--lkb-radius-card);
    box-shadow: 0 30px 60px -28px var(--lkb-shadow), inset 0 0 0 1px var(--lkb-line);
    text-align: center;
    position: relative;
}
@media (min-width: 480px) { .lkb-login__card { padding: 40px 36px 32px; } }

.lkb-login__mascot { width: 100px; height: 100px; margin: 0 auto 14px; }
.lkb-login__mascot img {
    width: 100%; height: 100%; object-fit: contain;
    animation: lkbBob 4s ease-in-out infinite;
}
/* Замок — иконка для всех доменов, кроме z985/lotos */
.lkb-login__mascot--lock {
    width: 72px; height: 72px;
    border-radius: 18px;
    background: var(--lkb-accent);
    color: var(--lkb-btn-text);
    display: grid; place-items: center;
    font-size: 32px; line-height: 1;
}
@keyframes lkbBob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }

.lkb-login__eyebrow {
    font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
    color: var(--lkb-accent-ink, var(--lkb-accent)); font-weight: 700; margin: 0 0 6px;
}
.lkb-login__h1 {
    font-family: var(--lkb-font-brand);
    font-size: 28px; font-weight: 700;
    line-height: 1.1; letter-spacing: -0.02em;
    color: var(--lkb-text); margin: 0 0 8px;
    overflow-wrap: break-word;
}
@media (min-width: 480px) { .lkb-login__h1 { font-size: 34px; } }
.lkb-login__sub {
    font-size: 14px; line-height: 1.5;
    color: var(--lkb-text-muted);
    margin: 0 auto 22px;
    max-width: 40ch;
}

.lkb-login__form { margin: 0; display: flex; flex-direction: column; gap: 14px; text-align: left; }
.lkb-login__field { display: flex; flex-direction: column; gap: 6px; }
.lkb-login__label {
    font-size: 11px; letter-spacing: 0.10em; text-transform: uppercase;
    color: var(--lkb-text-muted); font-weight: 600;
    margin-left: 2px;
}
.lkb-login__input {
    width: 100%;
    padding: 14px 16px;
    background: var(--lkb-input-bg);
    border: 1px solid var(--lkb-line);
    border-radius: var(--lkb-radius-input);
    font: inherit; font-size: 15px;
    color: var(--lkb-text);
    font-variant-numeric: tabular-nums;
    transition: border-color .15s, box-shadow .15s, background .15s;
}
.lkb-login__input:focus {
    outline: none;
    border-color: var(--lkb-accent);
    box-shadow: 0 0 0 4px var(--lkb-accent-soft);
}
.lkb-login__input::placeholder { color: var(--lkb-text-muted); opacity: .8; }

.lkb-login__pwdwrap { position: relative; }
.lkb-login__pwdwrap .lkb-login__input { padding-right: 48px; }
.lkb-login__pwdtoggle {
    position: absolute; right: 6px; top: 50%; transform: translateY(-50%);
    width: 36px; height: 36px;
    display: grid; place-items: center;
    background: transparent; border: 0;
    color: var(--lkb-text-muted);
    border-radius: 10px; cursor: pointer;
    transition: background .15s, color .15s;
}
.lkb-login__pwdtoggle:hover { background: var(--lkb-line); color: var(--lkb-text); }
.lkb-login__pwdtoggle.is-on { color: var(--lkb-accent); }

/* Ошибки валидации Yii */
.lkb-login__err {
    font-size: 11.5px; color: #e02b2b;
    margin-left: 2px;
}
.lkb-theme-lotos .lkb-login__err { color: #FF9C8A; }
.lkb-login__field.has-error .lkb-login__input { border-color: #e02b2b; }

/* Чекбокс «запомнить меня» */
.lkb-login__remember {
    display: flex; align-items: center; gap: 8px;
    font-size: 13px; color: var(--lkb-text-muted);
}
.lkb-login__remember input { width: 16px; height: 16px; accent-color: var(--lkb-accent); cursor: pointer; }
.lkb-login__remember label { cursor: pointer; }

.lkb-login__cta {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    margin-top: 4px;
    padding: 15px 22px;
    background: var(--lkb-accent); color: var(--lkb-btn-text);
    border: 0; border-radius: 999px;
    font-size: 15px; font-weight: 700; cursor: pointer;
    box-shadow: 0 16px 34px -14px var(--lkb-accent-soft);
    transition: background .15s, transform .12s;
}
.lkb-login__cta:hover { background: var(--lkb-accent-hover); }
.lkb-login__cta:active { transform: scale(.98); }

.lkb-login__links {
    display: flex; flex-wrap: wrap; justify-content: space-between;
    gap: 8px 12px; margin-top: 6px;
}
.lkb-login__link {
    font-size: 13px; font-weight: 600;
    color: var(--lkb-text-muted);
    text-decoration: underline; text-underline-offset: 3px;
    text-decoration-color: var(--lkb-text-muted);
    transition: color .15s;
}
.lkb-login__link:hover { color: var(--lkb-text); }
.lkb-login__link--accent { color: var(--lkb-accent-ink, var(--lkb-accent)); }

/* Флеш-сообщения */
.lkb-flash {
    text-align: left;
    padding: 12px 14px;
    border-radius: 12px;
    font-size: 13.5px;
    margin-bottom: 14px;
    background: var(--lkb-accent-soft);
    border: 1px solid var(--lkb-line);
    color: var(--lkb-text);
}
.lkb-flash--error { background: rgba(224,43,43,0.10); border-color: rgba(224,43,43,0.35); }

/* ============================================================
   ТЕМА: ЗАЙМ-985 — «Горячая линия» (retro hotline)
   ============================================================ */
body.lkb-theme-z985 {
    --lkb-accent:        #E33E2B;
    --lkb-accent-hover:  #B72A1A;
    --lkb-accent-soft:   rgba(227, 62, 43, 0.14);
    --lkb-btn-text:      #FFF6E9;
    --lkb-page-bg:       #FFF6E9;
    --lkb-card-bg:       #FFFFFF;
    --lkb-input-bg:      #FFF6E9;
    --lkb-text:          #21150F;
    --lkb-text-muted:    #6B584A;
    --lkb-line:          rgba(33, 21, 15, 0.14);
    --lkb-shadow:        rgba(183, 42, 26, 0.30);
    --lkb-header-bg:     #E33E2B;
    --lkb-header-text:   #FFF6E9;
    --lkb-font:          'Inter', system-ui, sans-serif;
    --lkb-font-brand:    'Unbounded', 'Arial Black', sans-serif;

    background:
        repeating-linear-gradient(0deg, transparent 0 46px, rgba(227,62,43,0.05) 46px 47px),
        linear-gradient(180deg, #FFF6E9 0%, #FFEBD1 100%);
}
body.lkb-theme-z985 .lkb-header {
    box-shadow: 0 6px 0 #B72A1A, 0 12px 30px rgba(227,62,43,0.35);
}
body.lkb-theme-z985 .lkb-logo__img {
    background: #FFF6E9;
    box-shadow: inset 0 0 0 5px #B72A1A, inset 0 0 0 7px #FFF6E9;
}
body.lkb-theme-z985 .lkb-login__input:focus { background: #FFF; }
body.lkb-theme-z985 .lkb-login__cta {
    box-shadow: 0 16px 34px -14px rgba(227,62,43,0.60), inset 0 0 0 1px rgba(183,42,26,0.40);
}

/* ============================================================
   ТЕМА: ЛОТОС МАНИ — «Изумрудный лотос» (emerald luxury)
   ============================================================ */
body.lkb-theme-lotos {
    --lkb-accent:        #C9A227;
    --lkb-accent-hover:  #A8861D;
    --lkb-accent-soft:   rgba(201, 162, 39, 0.20);
    --lkb-btn-text:      #071E17;
    --lkb-page-bg:       #0E2B22;
    --lkb-card-bg:       #143528;
    --lkb-input-bg:      #0E2B22;
    --lkb-text:          #F2EFE4;
    --lkb-text-muted:    rgba(242, 239, 228, 0.62);
    --lkb-line:          rgba(201, 162, 39, 0.22);
    --lkb-shadow:        rgba(0, 0, 0, 0.45);
    --lkb-header-bg:     rgba(7, 30, 23, 0.85);
    --lkb-header-text:   #F2EFE4;
    --lkb-font:          'Montserrat', system-ui, sans-serif;
    --lkb-font-brand:    'Cormorant Unicase', 'Prata', Georgia, serif;

    background:
        radial-gradient(ellipse 900px 500px at 20% 0%, rgba(201,162,39,0.09), transparent 55%),
        radial-gradient(ellipse 700px 500px at 90% 90%, rgba(46,158,107,0.10), transparent 60%),
        linear-gradient(170deg, #0E2B22 0%, #071E17 100%);
    background-attachment: fixed;
}
/* Падающие лепестки — фирменная деталь бренда */
body.lkb-theme-lotos::before, body.lkb-theme-lotos::after {
    content: ''; position: fixed; top: -5%; width: 26px; height: 34px;
    background: linear-gradient(160deg, #E7A6B8, #C9748F);
    border-radius: 80% 20% 60% 40% / 90% 40% 60% 10%;
    opacity: 0.3; pointer-events: none; z-index: 1;
    animation: lkbPetalFall 17s linear infinite;
}
body.lkb-theme-lotos::before { left: 16%; }
body.lkb-theme-lotos::after  { left: 74%; animation-delay: 8s; transform: scale(0.72); }
@keyframes lkbPetalFall {
    0%   { top: -5%; transform: rotate(0deg) translateX(0); }
    100% { top: 105%; transform: rotate(300deg) translateX(-60px); }
}
body.lkb-theme-lotos .lkb-header {
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(201,162,39,0.3);
}
body.lkb-theme-lotos .lkb-logo__img {
    border: 1.5px solid #C9A227;
    box-shadow: 0 0 22px rgba(201,162,39,0.3);
}
body.lkb-theme-lotos .lkb-logo__name {
    font-size: 26px; font-weight: 600; letter-spacing: 0.07em;
}
body.lkb-theme-lotos .lkb-login,
body.lkb-theme-lotos .lkb-header { position: relative; z-index: 2; }
body.lkb-theme-lotos .lkb-login__cta {
    background: linear-gradient(100deg, #C9A227 0%, #E8CD6C 55%, #C9A227 100%);
    box-shadow: 0 8px 26px rgba(201,162,39,0.35);
}
body.lkb-theme-lotos .lkb-login__cta:hover { background: linear-gradient(100deg, #A8861D 0%, #D9B945 55%, #A8861D 100%); }

/* ============================================================
   БРЕНДЫ VEGA И TEVRON — светлые «hotline»-темы
   (nice, yonysh, fastr, sola; vanila, flash, dengosha, zmes, z48)
   Общая механика: цветная шапка с «ступенькой», фон-блокнот,
   логотип в кольце. Цвета — из переменных каждой темы ниже.
   ============================================================ */
body.lkb-theme-nice, body.lkb-theme-yonysh,
body.lkb-theme-fastr, body.lkb-theme-sola,
body.lkb-theme-vanila, body.lkb-theme-flash,
body.lkb-theme-dengosha, body.lkb-theme-zmes,
body.lkb-theme-z48, body.lkb-theme-zmeg,
body.lkb-theme-zmana, body.lkb-theme-zloan,
body.lkb-theme-zmatika, body.lkb-theme-zmomo,
body.lkb-theme-bublik, body.lkb-theme-zminika,
body.lkb-theme-zrublik {
    background:
        repeating-linear-gradient(0deg, transparent 0 46px, var(--lkb-bg-line) 46px 47px),
        linear-gradient(180deg, var(--lkb-page-bg) 0%, var(--lkb-bg-end) 100%);
}
body.lkb-theme-nice .lkb-header, body.lkb-theme-yonysh .lkb-header,
body.lkb-theme-fastr .lkb-header, body.lkb-theme-sola .lkb-header,
body.lkb-theme-vanila .lkb-header, body.lkb-theme-flash .lkb-header,
body.lkb-theme-dengosha .lkb-header, body.lkb-theme-zmes .lkb-header,
body.lkb-theme-z48 .lkb-header, body.lkb-theme-zmeg .lkb-header,
body.lkb-theme-zmana .lkb-header, body.lkb-theme-zloan .lkb-header,
body.lkb-theme-zmatika .lkb-header, body.lkb-theme-zmomo .lkb-header,
body.lkb-theme-bublik .lkb-header, body.lkb-theme-zminika .lkb-header,
body.lkb-theme-zrublik .lkb-header {
    box-shadow: 0 6px 0 var(--lkb-accent-hover), 0 12px 30px var(--lkb-shadow);
}
body.lkb-theme-nice .lkb-logo__img, body.lkb-theme-yonysh .lkb-logo__img,
body.lkb-theme-fastr .lkb-logo__img, body.lkb-theme-sola .lkb-logo__img,
body.lkb-theme-vanila .lkb-logo__img, body.lkb-theme-flash .lkb-logo__img,
body.lkb-theme-dengosha .lkb-logo__img, body.lkb-theme-zmes .lkb-logo__img,
body.lkb-theme-z48 .lkb-logo__img, body.lkb-theme-zmeg .lkb-logo__img,
body.lkb-theme-zmana .lkb-logo__img, body.lkb-theme-zloan .lkb-logo__img,
body.lkb-theme-zmatika .lkb-logo__img, body.lkb-theme-zmomo .lkb-logo__img,
body.lkb-theme-bublik .lkb-logo__img, body.lkb-theme-zminika .lkb-logo__img,
body.lkb-theme-zrublik .lkb-logo__img {
    background: var(--lkb-page-bg);
    box-shadow: inset 0 0 0 5px var(--lkb-accent-hover), inset 0 0 0 7px var(--lkb-page-bg);
}
body.lkb-theme-nice .lkb-login__input:focus, body.lkb-theme-yonysh .lkb-login__input:focus,
body.lkb-theme-fastr .lkb-login__input:focus, body.lkb-theme-sola .lkb-login__input:focus,
body.lkb-theme-vanila .lkb-login__input:focus, body.lkb-theme-flash .lkb-login__input:focus,
body.lkb-theme-dengosha .lkb-login__input:focus, body.lkb-theme-zmes .lkb-login__input:focus,
body.lkb-theme-z48 .lkb-login__input:focus, body.lkb-theme-zmeg .lkb-login__input:focus,
body.lkb-theme-zmana .lkb-login__input:focus, body.lkb-theme-zloan .lkb-login__input:focus,
body.lkb-theme-zmatika .lkb-login__input:focus, body.lkb-theme-zmomo .lkb-login__input:focus,
body.lkb-theme-bublik .lkb-login__input:focus, body.lkb-theme-zminika .lkb-login__input:focus,
body.lkb-theme-zrublik .lkb-login__input:focus {
    background: #FFF;
}
body.lkb-theme-nice .lkb-login__cta, body.lkb-theme-yonysh .lkb-login__cta,
body.lkb-theme-fastr .lkb-login__cta, body.lkb-theme-sola .lkb-login__cta,
body.lkb-theme-vanila .lkb-login__cta, body.lkb-theme-flash .lkb-login__cta,
body.lkb-theme-dengosha .lkb-login__cta, body.lkb-theme-zmes .lkb-login__cta,
body.lkb-theme-z48 .lkb-login__cta, body.lkb-theme-zmeg .lkb-login__cta,
body.lkb-theme-zmana .lkb-login__cta, body.lkb-theme-zloan .lkb-login__cta,
body.lkb-theme-zmatika .lkb-login__cta, body.lkb-theme-zmomo .lkb-login__cta,
body.lkb-theme-bublik .lkb-login__cta, body.lkb-theme-zminika .lkb-login__cta,
body.lkb-theme-zrublik .lkb-login__cta {
    box-shadow: 0 16px 34px -14px var(--lkb-shadow), inset 0 0 0 1px rgba(0,0,0,0.12);
}

/* ── НАЙС КРЕДИТ — «Солнечный смайл» ── */
body.lkb-theme-nice {
    --lkb-accent:        #FFB300;
    --lkb-accent-hover:  #F29900;
    --lkb-accent-soft:   rgba(255, 179, 0, 0.18);
    --lkb-btn-text:      #2B2415;
    --lkb-page-bg:       #FFFDF2;
    --lkb-bg-end:        #FFF3CE;
    --lkb-bg-line:       rgba(255, 179, 0, 0.05);
    --lkb-card-bg:       #FFFFFF;
    --lkb-input-bg:      #FFFDF2;
    --lkb-text:          #2B2415;
    --lkb-text-muted:    #857657;
    --lkb-line:          rgba(43, 36, 21, 0.13);
    --lkb-shadow:        rgba(255, 171, 0, 0.35);
    --lkb-header-bg:     #FFB300;
    --lkb-header-text:   #FFFDF2;
    --lkb-font:          'Onest', system-ui, sans-serif;
    --lkb-font-brand:    'Rubik', 'Arial Rounded MT Bold', sans-serif;
}

/* ── ЗАЙМЁНЫШ — «Зайчонок» ── */
body.lkb-theme-yonysh {
    --lkb-accent:        #3FA65C;
    --lkb-accent-hover:  #338A4C;
    --lkb-accent-soft:   rgba(63, 166, 92, 0.16);
    --lkb-btn-text:      #FFFFFF;
    --lkb-page-bg:       #F0FAF0;
    --lkb-bg-end:        #E1F3E3;
    --lkb-bg-line:       rgba(63, 166, 92, 0.05);
    --lkb-card-bg:       #FFFFFF;
    --lkb-input-bg:      #F0FAF0;
    --lkb-text:          #23402B;
    --lkb-text-muted:    #5F7A64;
    --lkb-line:          rgba(35, 64, 43, 0.13);
    --lkb-shadow:        rgba(63, 166, 92, 0.35);
    --lkb-header-bg:     #3FA65C;
    --lkb-header-text:   #F0FAF0;
    --lkb-font:          'Nunito', system-ui, sans-serif;
    --lkb-font-brand:    'Balsamiq Sans', 'Comic Sans MS', sans-serif;
}

/* ── ФАСТ РУБЛЬ — «Гонка» ── */
body.lkb-theme-fastr {
    --lkb-accent:        #E10600;
    --lkb-accent-hover:  #B80500;
    --lkb-accent-soft:   rgba(225, 6, 0, 0.12);
    --lkb-btn-text:      #FFFFFF;
    --lkb-page-bg:       #FAFAFA;
    --lkb-bg-end:        #F0F0F2;
    --lkb-bg-line:       rgba(225, 6, 0, 0.05);
    --lkb-card-bg:       #FFFFFF;
    --lkb-input-bg:      #FAFAFA;
    --lkb-text:          #1A1A1E;
    --lkb-text-muted:    #6E6E76;
    --lkb-line:          rgba(26, 26, 30, 0.14);
    --lkb-shadow:        rgba(225, 6, 0, 0.30);
    --lkb-header-bg:     #E10600;
    --lkb-header-text:   #FAFAFA;
    --lkb-font:          'Inter', system-ui, sans-serif;
    --lkb-font-brand:    'Russo One', 'Arial Black', sans-serif;
}
body.lkb-theme-fastr .lkb-logo__name,
body.lkb-theme-fastr .lkb-login__h1 { font-weight: 400; }

/* ── СОЛА МАНИ — «Закатное солнце» ── */
body.lkb-theme-sola {
    --lkb-accent:        #FF5A4E;
    --lkb-accent-hover:  #E6473C;
    --lkb-accent-soft:   rgba(255, 90, 78, 0.14);
    --lkb-btn-text:      #FFF9F1;
    --lkb-page-bg:       #FFF4E4;
    --lkb-bg-end:        #FFE9CF;
    --lkb-bg-line:       rgba(255, 90, 78, 0.05);
    --lkb-card-bg:       #FFFFFF;
    --lkb-input-bg:      #FFF4E4;
    --lkb-text:          #3A2A20;
    --lkb-text-muted:    #8A7361;
    --lkb-line:          rgba(58, 42, 32, 0.13);
    --lkb-shadow:        rgba(255, 90, 78, 0.35);
    --lkb-header-bg:     #FF5A4E;
    --lkb-header-text:   #FFF4E4;
    --lkb-font:          'Onest', system-ui, sans-serif;
    --lkb-font-brand:    'Comfortaa', 'Arial Rounded MT Bold', sans-serif;
}

/* ── ВАНИЛА КРЕДИТ — «Французская ваниль» ── */
body.lkb-theme-vanila {
    --lkb-accent:        #C29A5B;
    --lkb-accent-hover:  #A8834A;
    --lkb-accent-soft:   rgba(194, 154, 91, 0.16);
    --lkb-btn-text:      #FFFDF8;
    --lkb-page-bg:       #FBF7EF;
    --lkb-bg-end:        #F3EBDB;
    --lkb-bg-line:       rgba(194, 154, 91, 0.05);
    --lkb-card-bg:       #FFFFFF;
    --lkb-input-bg:      #FBF7EF;
    --lkb-text:          #3E3126;
    --lkb-text-muted:    #8C7B66;
    --lkb-line:          rgba(62, 49, 38, 0.13);
    --lkb-shadow:        rgba(194, 154, 91, 0.35);
    --lkb-header-bg:     #C29A5B;
    --lkb-header-text:   #FBF7EF;
    --lkb-font:          'Jost', system-ui, sans-serif;
    --lkb-font-brand:    'Poiret One', 'Philosopher', serif;
}

/* ── МАНИ ФЛЭШ — «Комикс поп-арт» ── */
body.lkb-theme-flash {
    --lkb-accent:        #E4372E;
    --lkb-accent-hover:  #C22A22;
    --lkb-accent-soft:   rgba(228, 55, 46, 0.14);
    --lkb-btn-text:      #FFFFFF;
    --lkb-page-bg:       #FFF8E1;
    --lkb-bg-end:        #FFEFB8;
    --lkb-bg-line:       rgba(228, 55, 46, 0.05);
    --lkb-card-bg:       #FFFFFF;
    --lkb-input-bg:      #FFF8E1;
    --lkb-text:          #14213D;
    --lkb-text-muted:    #5E6A8C;
    --lkb-line:          rgba(20, 33, 61, 0.16);
    --lkb-shadow:        rgba(228, 55, 46, 0.35);
    --lkb-header-bg:     #E4372E;
    --lkb-header-text:   #FFF8E1;
    --lkb-font:          'Rubik', system-ui, sans-serif;
    --lkb-font-brand:    'Rubik Mono One', 'Arial Black', sans-serif;
}
/* Rubik Mono One — одно широкое начертание: без синтетического жирного и с меньшим кеглем */
body.lkb-theme-flash .lkb-logo__name,
body.lkb-theme-flash .lkb-login__h1 { font-weight: 400; letter-spacing: 0; }
body.lkb-theme-flash .lkb-logo__name { font-size: 17px; }
body.lkb-theme-flash .lkb-login__h1 { font-size: 24px; }
@media (min-width: 480px) { body.lkb-theme-flash .lkb-login__h1 { font-size: 27px; } }

/* ── ДЕНЬГОША — «Хомяк-запасливый» ── */
body.lkb-theme-dengosha {
    --lkb-accent:        #E8801A;
    --lkb-accent-hover:  #C96C0F;
    --lkb-accent-soft:   rgba(232, 128, 26, 0.16);
    --lkb-btn-text:      #FFF9F0;
    --lkb-page-bg:       #FFF6EC;
    --lkb-bg-end:        #FBE7CE;
    --lkb-bg-line:       rgba(232, 128, 26, 0.05);
    --lkb-card-bg:       #FFFFFF;
    --lkb-input-bg:      #FFF6EC;
    --lkb-text:          #4A2F1B;
    --lkb-text-muted:    #97795D;
    --lkb-line:          rgba(74, 47, 27, 0.13);
    --lkb-shadow:        rgba(232, 128, 26, 0.35);
    --lkb-header-bg:     #E8801A;
    --lkb-header-text:   #FFF6EC;
    --lkb-font:          'Mulish', system-ui, sans-serif;
    --lkb-font-brand:    'Podkova', Georgia, serif;
}

/* ── ЗАЙМОМЕС — «Стройка» ── */
body.lkb-theme-zmes {
    --lkb-accent:        #F57C00;
    --lkb-accent-hover:  #D96A00;
    --lkb-accent-soft:   rgba(245, 124, 0, 0.14);
    --lkb-btn-text:      #FFFFFF;
    --lkb-page-bg:       #F4F4F2;
    --lkb-bg-end:        #E9E9E6;
    --lkb-bg-line:       rgba(245, 124, 0, 0.05);
    --lkb-card-bg:       #FFFFFF;
    --lkb-input-bg:      #F4F4F2;
    --lkb-text:          #26262A;
    --lkb-text-muted:    #6F6F76;
    --lkb-line:          rgba(38, 38, 42, 0.14);
    --lkb-shadow:        rgba(245, 124, 0, 0.35);
    --lkb-header-bg:     #F57C00;
    --lkb-header-text:   #F4F4F2;
    --lkb-font:          'Inter', system-ui, sans-serif;
    --lkb-font-brand:    'Oswald', 'Arial Narrow', sans-serif;
}
body.lkb-theme-zmes .lkb-logo__name,
body.lkb-theme-zmes .lkb-login__h1 { font-weight: 600; letter-spacing: 0.01em; }

/* ── КРЕДИТ ЗАЙМ 48 — «Курьер-экспресс» ── */
body.lkb-theme-z48 {
    --lkb-accent:        #FF7A00;
    --lkb-accent-hover:  #E06900;
    --lkb-accent-soft:   rgba(255, 122, 0, 0.14);
    --lkb-btn-text:      #FFFFFF;
    --lkb-page-bg:       #FAFBFD;
    --lkb-bg-end:        #EDF1F8;
    --lkb-bg-line:       rgba(255, 122, 0, 0.05);
    --lkb-card-bg:       #FFFFFF;
    --lkb-input-bg:      #FAFBFD;
    --lkb-text:          #172B57;
    --lkb-text-muted:    #64749B;
    --lkb-line:          rgba(23, 43, 87, 0.14);
    --lkb-shadow:        rgba(255, 122, 0, 0.35);
    --lkb-header-bg:     #FF7A00;
    --lkb-header-text:   #FAFBFD;
    --lkb-font:          'PT Sans', system-ui, sans-serif;
    --lkb-font-brand:    'Yanone Kaffeesatz', 'Arial Narrow', sans-serif;
}
/* Yanone Kaffeesatz узкий — компенсируем кеглем */
body.lkb-theme-z48 .lkb-logo__name { font-size: 24px; letter-spacing: 0.01em; }
body.lkb-theme-z48 .lkb-login__h1 { font-size: 36px; letter-spacing: 0; }
@media (min-width: 480px) { body.lkb-theme-z48 .lkb-login__h1 { font-size: 42px; } }

/* ── МОЛАН ЗАЙМ — «Молния» (тёмная тема) ── */
body.lkb-theme-molan {
    --lkb-accent:        #F5D90A;
    --lkb-accent-hover:  #D9BF00;
    --lkb-accent-soft:   rgba(245, 217, 10, 0.20);
    --lkb-btn-text:      #10152B;
    --lkb-page-bg:       #141A33;
    --lkb-card-bg:       #1B2340;
    --lkb-input-bg:      #141A33;
    --lkb-text:          #F2F5FF;
    --lkb-text-muted:    rgba(242, 245, 255, 0.62);
    --lkb-line:          rgba(245, 217, 10, 0.20);
    --lkb-shadow:        rgba(0, 0, 0, 0.50);
    --lkb-header-bg:     rgba(12, 16, 36, 0.85);
    --lkb-header-text:   #F2F5FF;
    --lkb-font:          'Inter', system-ui, sans-serif;
    --lkb-font-brand:    'Tektur', 'Arial Black', sans-serif;

    background:
        radial-gradient(ellipse 900px 500px at 20% 0%, rgba(245,217,10,0.09), transparent 55%),
        radial-gradient(ellipse 700px 500px at 90% 90%, rgba(46,158,107,0.10), transparent 60%),
        linear-gradient(170deg, #141A33 0%, #0C1024 100%);
    background-attachment: fixed;
}
body.lkb-theme-molan .lkb-header {
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(245,217,10,0.3);
}
body.lkb-theme-molan .lkb-logo__img {
    border: 1.5px solid #F5D90A;
    box-shadow: 0 0 22px rgba(245,217,10,0.3);
}
body.lkb-theme-molan .lkb-logo__name { font-size: 26px; font-weight: 600; }
body.lkb-theme-molan .lkb-login__err { color: #FF9C8A; }
body.lkb-theme-molan .lkb-login__cta {
    box-shadow: 0 16px 34px -14px rgba(245,217,10,0.60);
}


/* ── ЗАЙМЕГ — «Мега-акулёнок» ── */
body.lkb-theme-zmeg {
    --lkb-accent:        #FF6B5B;
    --lkb-accent-hover:  #E85547;
    --lkb-accent-soft:   rgba(255, 107, 91, 0.16);
    --lkb-btn-text:      #FFFFFF;
    --lkb-page-bg:       #EFFAFB;
    --lkb-bg-end:        #DDF2F5;
    --lkb-bg-line:       rgba(255, 107, 91, 0.05);
    --lkb-card-bg:       #FFFFFF;
    --lkb-input-bg:      #EFFAFB;
    --lkb-text:          #0B2E45;
    --lkb-text-muted:    #5B7A8C;
    --lkb-line:          rgba(11, 46, 69, 0.13);
    --lkb-shadow:        rgba(255, 107, 91, 0.35);
    --lkb-header-bg:     #FF6B5B;
    --lkb-header-text:   #EFFAFB;
    --lkb-font:          'Nunito', system-ui, sans-serif;
    --lkb-font-brand:    'Days One', 'Arial Black', sans-serif;
}

/* ── ЗАЙМАНА — «Тропик-банан» ── */
body.lkb-theme-zmana {
    --lkb-accent:        #FF5C8A;
    --lkb-accent-hover:  #E64474;
    --lkb-accent-soft:   rgba(255, 92, 138, 0.16);
    --lkb-btn-text:      #FFFFFF;
    --lkb-page-bg:       #FFFBEA;
    --lkb-bg-end:        #FFF3C4;
    --lkb-bg-line:       rgba(255, 92, 138, 0.05);
    --lkb-card-bg:       #FFFFFF;
    --lkb-input-bg:      #FFFBEA;
    --lkb-text:          #1F3A22;
    --lkb-text-muted:    #6B7F5E;
    --lkb-line:          rgba(31, 58, 34, 0.13);
    --lkb-shadow:        rgba(255, 92, 138, 0.35);
    --lkb-header-bg:     #FF5C8A;
    --lkb-header-text:   #FFFBEA;
    --lkb-font:          'Manrope', system-ui, sans-serif;
    --lkb-font-brand:    'Pattaya', 'Comic Sans MS', cursive;
}

/* ── ЗАЙЛОАН — «Британский заяц-банкир» ── */
body.lkb-theme-zloan {
    --lkb-accent:        #7A1F2B;
    --lkb-accent-hover:  #5E1620;
    --lkb-accent-soft:   rgba(122, 31, 43, 0.16);
    --lkb-btn-text:      #F6F1E7;
    --lkb-page-bg:       #F6F1E7;
    --lkb-bg-end:        #EDE5D3;
    --lkb-bg-line:       rgba(122, 31, 43, 0.05);
    --lkb-card-bg:       #FFFFFF;
    --lkb-input-bg:      #F6F1E7;
    --lkb-text:          #1F2A24;
    --lkb-text-muted:    #6D6A5F;
    --lkb-line:          rgba(31, 42, 36, 0.14);
    --lkb-shadow:        rgba(122, 31, 43, 0.30);
    --lkb-header-bg:     #1E3B2F;
    --lkb-header-text:   #F6F1E7;
    --lkb-font:          'Golos Text', system-ui, sans-serif;
    --lkb-font-brand:    'Playfair Display', Georgia, serif;
}

/* ── ЗАЙНИМАТИКА — «Школьная тетрадь» ── */
body.lkb-theme-zmatika {
    --lkb-accent:        #2251C9;
    --lkb-accent-hover:  #1A40A0;
    --lkb-accent-soft:   rgba(34, 81, 201, 0.16);
    --lkb-btn-text:      #FFFFFF;
    --lkb-page-bg:       #FAFCFF;
    --lkb-bg-end:        #EEF3FB;
    --lkb-bg-line:       rgba(34, 81, 201, 0.05);
    --lkb-card-bg:       #FFFFFF;
    --lkb-input-bg:      #FAFCFF;
    --lkb-text:          #1C2A5C;
    --lkb-text-muted:    #5F6B8C;
    --lkb-line:          rgba(28, 42, 92, 0.14);
    --lkb-shadow:        rgba(34, 81, 201, 0.30);
    --lkb-header-bg:     #2251C9;
    --lkb-header-text:   #FAFCFF;
    --lkb-font:          'PT Sans', system-ui, sans-serif;
    --lkb-font-brand:    'Caveat', 'Comic Sans MS', cursive;
}

/* ── ЗАЙМОМО — «Персик-моти» ── */
body.lkb-theme-zmomo {
    --lkb-accent:        #FF7E8F;
    --lkb-accent-hover:  #F2647A;
    --lkb-accent-soft:   rgba(255, 126, 143, 0.16);
    --lkb-btn-text:      #FFFFFF;
    --lkb-page-bg:       #FFF5F2;
    --lkb-bg-end:        #FFE7E0;
    --lkb-bg-line:       rgba(255, 126, 143, 0.05);
    --lkb-card-bg:       #FFFFFF;
    --lkb-input-bg:      #FFF5F2;
    --lkb-text:          #4A2C3A;
    --lkb-text-muted:    #9A7884;
    --lkb-line:          rgba(74, 44, 58, 0.13);
    --lkb-shadow:        rgba(255, 126, 143, 0.35);
    --lkb-header-bg:     #FF7E8F;
    --lkb-header-text:   #FFF5F2;
    --lkb-font:          'Nunito', system-ui, sans-serif;
    --lkb-font-brand:    'Pangolin', 'Comic Sans MS', cursive;
}

/* Рукописные брендовые шрифты (Caveat, Pattaya) — крупнее, без разрядки */
body.lkb-theme-zmatika .lkb-login__h1,
body.lkb-theme-zmana .lkb-login__h1 { font-size: 34px; letter-spacing: 0; }
@media (min-width: 480px) {
    body.lkb-theme-zmatika .lkb-login__h1,
    body.lkb-theme-zmana .lkb-login__h1 { font-size: 40px; }
}


/* ── РУБЛИК-БУБЛИК — «Пекарня» ── */
body.lkb-theme-bublik {
    --lkb-accent:        #C8572B;
    --lkb-accent-hover:  #A8451F;
    --lkb-accent-soft:   rgba(200, 87, 43, 0.16);
    --lkb-btn-text:      #FFFFFF;
    --lkb-page-bg:       #FBF3E6;
    --lkb-bg-end:        #F3E4CC;
    --lkb-bg-line:       rgba(200, 87, 43, 0.05);
    --lkb-card-bg:       #FFFFFF;
    --lkb-input-bg:      #FBF3E6;
    --lkb-text:          #3D2617;
    --lkb-text-muted:    #8B6F58;
    --lkb-line:          rgba(74, 46, 28, 0.14);
    --lkb-shadow:        rgba(200, 87, 43, 0.35);
    --lkb-header-bg:     #C8572B;
    --lkb-header-text:   #FBF3E6;
    --lkb-font:          'Nunito', system-ui, sans-serif;
    --lkb-font-brand:    'Prosto One', Georgia, serif;
}

/* ── ЗАЙМИНИКА — «Ника, богиня победы» ── */
body.lkb-theme-zminika {
    --lkb-accent:        #556B2F;
    --lkb-accent-hover:  #435524;
    --lkb-accent-soft:   rgba(85, 107, 47, 0.16);
    --lkb-btn-text:      #FFFFFF;
    --lkb-page-bg:       #F6F4EE;
    --lkb-bg-end:        #ECE8DC;
    --lkb-bg-line:       rgba(85, 107, 47, 0.05);
    --lkb-card-bg:       #FFFFFF;
    --lkb-input-bg:      #F6F4EE;
    --lkb-text:          #2A2620;
    --lkb-text-muted:    #786F60;
    --lkb-line:          rgba(42, 38, 32, 0.14);
    --lkb-shadow:        rgba(85, 107, 47, 0.30);
    --lkb-header-bg:     #556B2F;
    --lkb-header-text:   #F6F4EE;
    --lkb-font:          'Fira Sans', system-ui, sans-serif;
    --lkb-font-brand:    'Forum', Georgia, serif;
}

/* ── ЗАЙМОРУБЛИК — «Юнга-монетка» ── */
body.lkb-theme-zrublik {
    --lkb-accent:        #D7263D;
    --lkb-accent-hover:  #B51D31;
    --lkb-accent-soft:   rgba(215, 38, 61, 0.16);
    --lkb-btn-text:      #FFFFFF;
    --lkb-page-bg:       #F3F7FB;
    --lkb-bg-end:        #E2EBF5;
    --lkb-bg-line:       rgba(215, 38, 61, 0.05);
    --lkb-card-bg:       #FFFFFF;
    --lkb-input-bg:      #F3F7FB;
    --lkb-text:          #0F2A4A;
    --lkb-text-muted:    #5A6E86;
    --lkb-line:          rgba(15, 42, 74, 0.14);
    --lkb-shadow:        rgba(215, 38, 61, 0.30);
    --lkb-header-bg:     #0F2A4A;
    --lkb-header-text:   #FFFFFF;
    --lkb-font:          'Rubik', system-ui, sans-serif;
    --lkb-font-brand:    'Seymour One', 'Arial Black', sans-serif;
}

/* ── КАЛИНКА МАНИ — «Хохлома» (тёмная тема) ── */
body.lkb-theme-kalinka {
    --lkb-accent:        #D9A520;
    --lkb-accent-hover:  #B5871A;
    --lkb-accent-soft:   rgba(217, 165, 32, 0.20);
    --lkb-btn-text:      #0C0806;
    --lkb-page-bg:       #17100C;
    --lkb-card-bg:       #22170F;
    --lkb-input-bg:      #17100C;
    --lkb-text:          #F7ECD6;
    --lkb-text-muted:    rgba(247, 236, 214, 0.64);
    --lkb-line:          rgba(217, 165, 32, 0.24);
    --lkb-shadow:        rgba(0, 0, 0, 0.50);
    --lkb-header-bg:     rgba(12, 8, 6, 0.85);
    --lkb-header-text:   #F7ECD6;
    --lkb-font:          'Fira Sans', system-ui, sans-serif;
    --lkb-font-brand:    'Kurale', Georgia, serif;

    background:
        radial-gradient(ellipse 900px 500px at 20% 0%, rgba(217,165,32,0.09), transparent 55%),
        radial-gradient(ellipse 700px 500px at 90% 90%, rgba(46,158,107,0.10), transparent 60%),
        linear-gradient(170deg, #17100C 0%, #0C0806 100%);
    background-attachment: fixed;
}
body.lkb-theme-kalinka .lkb-header {
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(217, 165, 32, 0.24);
}
body.lkb-theme-kalinka .lkb-logo__img {
    border: 1.5px solid #D9A520;
    box-shadow: 0 0 22px rgba(217,165,32,0.30);
}
body.lkb-theme-kalinka .lkb-logo__name { font-size: 26px; font-weight: 600; }
body.lkb-theme-kalinka .lkb-login__err { color: #FF9C8A; }
body.lkb-theme-kalinka .lkb-login__cta {
    box-shadow: 0 16px 34px -14px rgba(217,165,32,0.60);
}

/* ── ТУРБО КЭШ — «Улитка с турбиной» (тёмная тема) ── */
body.lkb-theme-turbo {
    --lkb-accent:        #C6FF3D;
    --lkb-accent-hover:  #A8E021;
    --lkb-accent-soft:   rgba(198, 255, 61, 0.20);
    --lkb-btn-text:      #131517;
    --lkb-page-bg:       #1E2124;
    --lkb-card-bg:       #272B2F;
    --lkb-input-bg:      #1E2124;
    --lkb-text:          #EDEFF0;
    --lkb-text-muted:    rgba(237, 239, 240, 0.62);
    --lkb-line:          rgba(198, 255, 61, 0.20);
    --lkb-shadow:        rgba(0, 0, 0, 0.50);
    --lkb-header-bg:     rgba(19, 21, 23, 0.85);
    --lkb-header-text:   #EDEFF0;
    --lkb-font:          'Inter', system-ui, sans-serif;
    --lkb-font-brand:    'Dela Gothic One', 'Arial Black', sans-serif;

    background:
        radial-gradient(ellipse 900px 500px at 20% 0%, rgba(198,255,61,0.09), transparent 55%),
        radial-gradient(ellipse 700px 500px at 90% 90%, rgba(46,158,107,0.10), transparent 60%),
        linear-gradient(170deg, #1E2124 0%, #131517 100%);
    background-attachment: fixed;
}
body.lkb-theme-turbo .lkb-header {
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(198, 255, 61, 0.20);
}
body.lkb-theme-turbo .lkb-logo__img {
    border: 1.5px solid #C6FF3D;
    box-shadow: 0 0 22px rgba(198,255,61,0.30);
}
body.lkb-theme-turbo .lkb-logo__name { font-size: 26px; font-weight: 600; }
body.lkb-theme-turbo .lkb-login__err { color: #FF9C8A; }
body.lkb-theme-turbo .lkb-login__cta {
    box-shadow: 0 16px 34px -14px rgba(198,255,61,0.60);
}

body.lkb-theme-kalinka .lkb-login__cta {
    background: linear-gradient(100deg, #D9A520 0%, #F2CF66 55%, #D9A520 100%);
}
body.lkb-theme-kalinka .lkb-login__cta:hover {
    background: linear-gradient(100deg, #B5871A 0%, #E6B93A 55%, #B5871A 100%);
}
body.lkb-theme-turbo .lkb-login__cta {
    background: linear-gradient(100deg, #C6FF3D 0%, #D9FF7A 55%, #C6FF3D 100%);
}
body.lkb-theme-turbo .lkb-login__cta:hover {
    background: linear-gradient(100deg, #A8E021 0%, #C6FF3D 55%, #A8E021 100%);
}

/* Крупные display-шрифты (Seymour One, Dela Gothic One) — без искусственного веса */
body.lkb-theme-zrublik .lkb-login__h1,
body.lkb-theme-turbo .lkb-login__h1 { font-weight: 400; letter-spacing: 0; }
body.lkb-theme-zrublik .lkb-logo__name,
body.lkb-theme-turbo .lkb-logo__name { font-weight: 400; }


/* Зайлоан: под шапкой — полосатый кант в цветах бренда */
body.lkb-theme-zloan .lkb-header {
    border-bottom: 4px solid transparent;
    border-image: repeating-linear-gradient(90deg, #7A1F2B 0 10px, #C8A55A 10px 14px, #1E3B2F 14px 24px) 4;
}
/* Займорублик: под шапкой — латунный канат */
body.lkb-theme-zrublik .lkb-header { position: relative; }
body.lkb-theme-zrublik .lkb-header::after {
    content: ''; position: absolute; left: 0; right: 0; bottom: -5px; height: 10px;
    border-radius: 5px; pointer-events: none;
    background: repeating-linear-gradient(-45deg, #E8B23A 0 4px, #B9862A 4px 8px);
}
/* у обоих шапка перекрашена — «ступенька» общей светлой темы здесь лишняя */
body.lkb-theme-zloan .lkb-header,
body.lkb-theme-zrublik .lkb-header { box-shadow: 0 12px 30px rgba(15, 42, 74, 0.18); }
body.lkb-theme-zloan .lkb-logo__img,
body.lkb-theme-zrublik .lkb-logo__img { box-shadow: none; }

/* ============================================================
   ТЕМА: ОСТАЛЬНЫЕ ДОМЕНЫ (цвета из domain_config.php)
   ============================================================ */
body.lkb-theme-generic .lkb-logo__img {
    background: rgba(255,255,255,.18);
    color: var(--lkb-header-text);
    border-radius: 12px;
}

@media (max-width: 380px) {
    .lkb-login__card { padding: 26px 20px 24px; }
    .lkb-login__h1 { font-size: 25px; }
}
