/**
 * Личный кабинет (/lk) — визуал как у Subaru Parser + реакция на data-theme.
 * Подключается после global.css, bootstrap и components/site/lk/style.css.
 */

/* Legacy-переменные dbooks → токены темы из :root[data-theme] */
body.lk .container {
    background: transparent;
}

body.lk.dbooks {
    --color-stage: var(--bg-secondary);
    --color-text-stage: var(--text-primary);
    --color-back-stage: var(--bg-primary);
    --color-border: var(--border-glass);
    --color-deep-stage: var(--text-muted);
    --color-prime: var(--accent);
    --color-second: var(--accent-hover);
    --color-text-second: #ffffff;
    --color-alert: var(--error);
}

body.lk {
    background: var(--bg-primary) !important;
    color: var(--text-primary);
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    transition: background-color 0.25s ease, color 0.25s ease;
}

body.lk .main {
    padding-top: 24px;
    padding-bottom: 48px;
}

/* Сброс жёстких цветов из public.css / lk/style.css */
body.lk input::placeholder,
body.lk textarea::placeholder {
    color: var(--text-muted) !important;
}

body.lk .lk input[type="text"],
body.lk .lk input[type="email"],
body.lk .lk input[type="tel"],
body.lk .lk input[type="password"],
body.lk .authorization input[type="text"],
body.lk .authorization input[type="password"] {
    color: var(--text-primary) !important;
}

/* Область входа / регистрации */
body.lk .authorization {
    min-height: calc(100vh - 180px);
    padding: 24px 16px;
}

body.lk .authorization .form {
    width: 100%;
    max-width: 420px;
    min-height: auto;
    padding: 28px 28px 24px;
    margin: 0 auto;
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-glass) !important;
    background: var(--bg-glass) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: var(--shadow-md);
}

body.lk .authorization .form h3,
body.lk .authorization .form h5 {
    font-family: inherit !important;
    font-weight: 600 !important;
    color: var(--text-primary) !important;
    background: transparent !important;
    line-height: 1.3;
}

body.lk .authorization .form.login h3.font_hight {
    font-size: 1.35rem !important;
    margin-bottom: 1.25rem !important;
}

/* Плавающие подписи полей */
body.lk .authorization label.helper-text-for-email,
body.lk .authorization label.helper-text-for-pass,
body.lk .authorization label.helper-text {
    color: var(--text-muted) !important;
    background: var(--bg-primary) !important;
    border: 1px solid var(--border-glass) !important;
    border-radius: var(--radius-full);
    padding: 2px 10px !important;
}

/* Поля ввода: рамка на обёртке (как у пароля) — без legacy .border на input */
body.lk .authorization .email-container,
body.lk .authorization .password-container {
    border-radius: var(--radius-md) !important;
    border: 1px solid var(--border-glass) !important;
    background: var(--bg-secondary) !important;
    height: 44px;
    outline: none;
    align-items: stretch;
    box-shadow: none;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

body.lk .authorization .email-container:focus-within,
body.lk .authorization .password-container:focus-within {
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 1px var(--accent);
}

body.lk .authorization .email-container input.email,
body.lk .authorization .password-container input.password {
    flex: 1;
    min-width: 0;
    margin: 0 !important;
    padding-left: 15px;
    padding-right: 12px;
    border: none !important;
    border-radius: var(--radius-md) !important;
    background: transparent !important;
    color: var(--text-primary) !important;
    box-shadow: none !important;
    height: 100%;
    outline: none;
}

/* Регистрация и прочие поля без обёртки */
body.lk .authorization .form input.border,
body.lk .authorization .form input.medium_radius,
body.lk .authorization input.medium_radius {
    border-radius: var(--radius-md) !important;
    border-style: solid !important;
    border-width: 1px !important;
    border-color: var(--border-glass) !important;
    background: var(--bg-secondary) !important;
    height: 44px;
    outline: none;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

body.lk .authorization .form input.border:focus,
body.lk .authorization .form input.border:focus-visible,
body.lk .authorization .form input.medium_radius:focus,
body.lk .authorization .form input.medium_radius:focus-visible,
body.lk .authorization input.medium_radius:focus,
body.lk .authorization input.medium_radius:focus-visible {
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 1px var(--accent);
}

/* Автозаполнение: заливка + кольцо рамки (токены темы обновляются при смене темы) */
body.lk .authorization input:-webkit-autofill,
body.lk .authorization input:-webkit-autofill:hover,
body.lk .authorization textarea:-webkit-autofill,
body.lk .authorization select:-webkit-autofill {
    -webkit-text-fill-color: var(--text-primary) !important;
    caret-color: var(--text-primary);
    border-color: var(--border-glass) !important;
    box-shadow:
        0 0 0 1px var(--border-glass),
        inset 0 0 0 1000px var(--bg-secondary) !important;
    transition:
        background-color 99999s ease-out 0s,
        box-shadow 0.2s ease;
}

body.lk .authorization input:-webkit-autofill:focus,
body.lk .authorization input:-webkit-autofill:focus-visible,
body.lk .authorization textarea:-webkit-autofill:focus,
body.lk .authorization select:-webkit-autofill:focus {
    border-color: var(--accent) !important;
    box-shadow:
        0 0 0 1px var(--accent),
        inset 0 0 0 1000px var(--bg-secondary) !important;
}

body.lk .authorization .email-container input.email:-webkit-autofill,
body.lk .authorization .email-container input.email:-webkit-autofill:hover,
body.lk .authorization .email-container input.email:-webkit-autofill:focus,
body.lk .authorization .email-container input.email:-webkit-autofill:active,
body.lk .authorization .password-container input.password:-webkit-autofill,
body.lk .authorization .password-container input.password:-webkit-autofill:hover,
body.lk .authorization .password-container input.password:-webkit-autofill:focus,
body.lk .authorization .password-container input.password:-webkit-autofill:active {
    -webkit-text-fill-color: var(--text-primary) !important;
    caret-color: var(--text-primary);
    box-shadow:
        inset 0 0 0 1000px var(--bg-secondary) !important;
}

body.lk .authorization .email-container:focus-within input.email:-webkit-autofill,
body.lk .authorization .password-container:focus-within input.password:-webkit-autofill {
    box-shadow:
        inset 0 0 0 1000px var(--bg-secondary) !important;
}

body.lk .lk input:-webkit-autofill,
body.lk .lk input:-webkit-autofill:hover,
body.lk .lk textarea:-webkit-autofill,
body.lk .lk select:-webkit-autofill {
    -webkit-text-fill-color: var(--text-primary) !important;
    caret-color: var(--text-primary);
    border-color: var(--border-glass) !important;
    box-shadow:
        0 0 0 1px var(--border-glass),
        inset 0 0 0 1000px var(--bg-secondary) !important;
    transition: background-color 99999s ease-out 0s, box-shadow 0.2s ease;
}

body.lk .lk input:-webkit-autofill:focus,
body.lk .lk input:-webkit-autofill:focus-visible {
    border-color: var(--accent) !important;
    box-shadow:
        0 0 0 1px var(--accent),
        inset 0 0 0 1000px var(--bg-secondary) !important;
}

/* Firefox и браузеры со стандартным :autofill */
body.lk .authorization .email-container input.email:autofill,
body.lk .authorization .password-container input.password:autofill {
    background-color: transparent !important;
    color: var(--text-primary) !important;
    border: none !important;
}

body.lk .authorization input:autofill,
body.lk .authorization textarea:autofill,
body.lk .authorization select:autofill,
body.lk .lk input:autofill,
body.lk .lk textarea:autofill {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-glass) !important;
}

body.lk .authorization button.toggle-password {
    border: none;
    background: transparent;
    padding: 0 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.75;
}

body.lk .authorization button.toggle-password:hover {
    opacity: 1;
}

[data-theme="dark"] body.lk .authorization button.toggle-password img {
    filter: invert(1) brightness(1.1);
}

[data-theme="light"] body.lk .authorization button.toggle-password img {
    filter: none;
}

/* Кнопка «Войти» и primary */
body.lk .authorization .enter_pass_btn.main_btn,
body.lk .authorization .confirm_registration.main_btn {
    height: 44px;
    border-radius: var(--radius-full) !important;
    border: none !important;
    background: var(--accent) !important;
    color: #fff !important;
    font-weight: 600;
    font-family: inherit !important;
    transition: background 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 2px 12px var(--accent-glow);
}

body.lk .authorization .enter_pass_btn.main_btn:hover,
body.lk .authorization .confirm_registration.main_btn:hover {
    background: var(--accent-hover) !important;
}

body.lk .authorization .text-alert,
body.lk .authorization .open_registration,
body.lk .authorization .open_repair_pass,
body.lk .authorization .open_login {
    color: var(--accent) !important;
}

body.lk .authorization .font_interface,
body.lk .authorization .font_low {
    font-family: inherit !important;
    color: var(--text-muted) !important;
    opacity: 1 !important;
}

body.lk .authorization .form_message {
    border-radius: var(--radius-sm);
    padding: 8px 10px;
}

body.lk .authorization .registration_message.stage {
    background: var(--accent-subtle) !important;
    color: var(--text-primary) !important;
    border-radius: var(--radius-md);
    padding: 10px 12px;
}

body.lk .authorization .text-success {
    color: var(--success) !important;
}

/* Вкладки ЛК (после входа) */
body.lk .lk-tab-btn {
    border-radius: var(--radius-md);
    color: var(--text-secondary);
    font-family: inherit;
    font-weight: 500;
}

body.lk .lk-tab-btn:hover {
    opacity: 1;
    background: var(--accent-subtle);
    color: var(--text-primary);
}

body.lk .lk-tab-btn.active {
    background: var(--accent) !important;
    color: #fff !important;
    border-radius: var(--radius-md);
}

body.lk .lk-col-full h2 {
    color: var(--text-primary);
    font-family: inherit;
    font-weight: 700;
}

body.lk #primary.lk-content h5 {
    color: var(--text-primary);
    font-family: inherit;
    font-weight: 600;
}

/* Кнопка «Выйти» */
body.lk #secondary .logout.main_btn {
    border-radius: var(--radius-full) !important;
    border: 1px solid var(--border-glass) !important;
    background: transparent !important;
    color: var(--text-secondary) !important;
    font-family: inherit !important;
    font-weight: 500;
    transition: border-color 0.2s, color 0.2s, background 0.2s;
}

body.lk #secondary .logout.main_btn:hover {
    border-color: var(--accent) !important;
    color: var(--accent) !important;
    background: var(--accent-subtle) !important;
}

/* Readonly поля */
body.lk input[readonly] {
    background: var(--bg-secondary) !important;
    color: var(--text-muted) !important;
}
