/*
 * Страницы входа, регистрации, восстановления пароля и личного кабинета.
 *
 * Основу дают стили Tutor LMS (классы tutor-*), уже подключённые темой, —
 * здесь только то, чего в них нет: карточка формы, сообщения об ошибках и
 * раскладка кабинета.
 */

.auth-card {
    max-width: 560px;
    margin: 0 auto;
    padding: 40px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 4px;
}

.auth-card__title {
    margin-bottom: 25px;
    text-align: center;
}

.auth-hint {
    margin-bottom: 20px;
    color: rgba(0, 0, 0, 0.6);
}

.auth-links {
    margin-top: 15px;
    text-align: center;
}

/* Кнопка, выглядящая как ссылка: «использовать резервный код», «выйти». */
.auth-linkbutton {
    padding: 0;
    background: none;
    border: 0;
    color: var(--the7-accent-color, #148ba9);
    font: inherit;
    cursor: pointer;
    text-decoration: underline;
}

/* ── Сообщения ──────────────────────────────────────────────────────────── */

.auth-alert {
    margin-bottom: 20px;
    padding: 14px 18px;
    border-radius: 3px;
    border-left: 3px solid;
}

.auth-alert ul {
    margin: 0;
    padding-left: 18px;
}

.auth-alert--success {
    background: rgba(35, 141, 91, 0.08);
    border-color: #238d5b;
}

.auth-alert--warning {
    background: rgba(214, 148, 0, 0.1);
    border-color: #d69400;
}

.auth-alert--error {
    background: rgba(190, 45, 45, 0.08);
    border-color: #be2d2d;
}

/* ── Личный кабинет ─────────────────────────────────────────────────────── */

.cabinet {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

.cabinet__nav {
    flex: 0 0 240px;
    padding: 0;
    margin: 0;
    list-style: none;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    overflow: hidden;
}

.cabinet__nav li + li {
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.cabinet__nav a {
    display: block;
    padding: 14px 18px;
}

.cabinet__nav a.is-active {
    background: rgba(20, 139, 169, 0.08);
    font-weight: 600;
}

.cabinet__content {
    flex: 1 1 auto;
    min-width: 0;
}

.cabinet__section + .cabinet__section {
    margin-top: 45px;
    padding-top: 35px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.cabinet__section-title {
    margin-bottom: 20px;
}

/* Список резервных кодов 2FA: моноширинный, в две колонки. */
.recovery-codes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 25px;
    margin: 15px 0 20px;
    padding: 18px;
    background: rgba(0, 0, 0, 0.04);
    border-radius: 3px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 14px;
    list-style: none;
}

.qr-code {
    margin: 15px 0;
}

.qr-code svg {
    width: 190px;
    height: 190px;
}

/* Таблица попыток и доступов. */
.cabinet-table {
    width: 100%;
    border-collapse: collapse;
}

.cabinet-table th,
.cabinet-table td {
    padding: 12px 14px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    text-align: left;
}

.cabinet-table th {
    background: rgba(0, 0, 0, 0.04);
    font-weight: 600;
}

.status-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 13px;
    background: rgba(0, 0, 0, 0.08);
}

.status-badge--success { background: rgba(35, 141, 91, 0.15); color: #1c6f48; }
.status-badge--warning { background: rgba(214, 148, 0, 0.18); color: #8a6100; }
.status-badge--danger  { background: rgba(190, 45, 45, 0.15); color: #8e2020; }

@media screen and (max-width: 992px) {
    .cabinet {
        flex-direction: column;
    }

    .cabinet__nav {
        flex-basis: auto;
        width: 100%;
    }

    .auth-card {
        padding: 25px;
    }
}
