/* ==========================================================================
   redesign-admin.css — премиум-тема админ-панели.
   Активна под body.rd-admin (маркер стоит в layouts/dashboard + на admin-страницах
   layouts.app). Разметку НЕ трогаем — переопределяем общие admin-компоненты.
   body.rd-admin .class специфичнее постраничных inline <style> и css-файлов.
   ========================================================================== */

/* ============================ SHELL ============================ */
/* Раскладка: sidebar + контент (аналог .tournament-view) */
body.rd-admin .dashboard-view {
    display: grid;
    grid-template-columns: 264px minmax(0, 1fr);
    gap: 24px;
    max-width: 1340px;
    margin-inline: auto;
    padding: 26px 24px 64px;
    align-items: start;
}
@media (max-width: 900px) {
    body.rd-admin .dashboard-view { grid-template-columns: 1fr; }
}

/* Панели: убираем белое свечение clm-border, ставим premium-поверхность */
body.rd-admin .clm-border,
body.rd-admin .content-main {
    background: linear-gradient(180deg, var(--rd-surface-2), var(--rd-surface));
    border: 1px solid var(--rd-line) !important;
    border-radius: var(--rd-radius-lg);
    box-shadow: var(--rd-shadow);
}
body.rd-admin .content-main {
    padding: 24px 26px;
    max-width: none;
    color: var(--rd-text-2);
}
/* Сайдбар админки */
body.rd-admin .dashboard-view > .sidebar {
    position: sticky; top: 88px;
    width: auto !important;
    padding: 16px;
}
@media (max-width: 900px) {
    body.rd-admin .dashboard-view > .sidebar { position: static; }
}
/* Контентная колонка тянется */
body.rd-admin .dashboard-view > .clm-border:not(.sidebar),
body.rd-admin .dashboard-view > .content-main { flex: 1; min-width: 0; }

/* app-layout admin-страницы (без .dashboard-view) — центрируем контент */
body.rd-admin:not(:has(.dashboard-view)) .content-layout {
    max-width: 1040px;
    margin-inline: auto;
    padding: 32px 24px 64px;
}

/* Заголовки */
body.rd-admin h1 {
    font-family: var(--rd-font-display); font-weight: 700;
    text-transform: uppercase; letter-spacing: .01em;
    color: var(--rd-text); font-size: 26px;
}
body.rd-admin h2 { font-family: var(--rd-font-display); color: var(--rd-text); }
body.rd-admin h3 { color: var(--rd-text); }
body.rd-admin .page-title { color: var(--rd-text); }

/* ============================ ТАБЛИЦЫ ============================ */
/* A. raw <table> (.tournaments-admin-table) + C. (.custom-table) */
body.rd-admin .tournaments-admin-table,
body.rd-admin .custom-table { width: 100%; border-collapse: collapse; }
body.rd-admin .tournaments-admin-table th,
body.rd-admin .custom-table th {
    color: var(--rd-text-3) !important;
    font-family: var(--rd-font-display); font-weight: 600;
    text-transform: uppercase; letter-spacing: .06em; font-size: 12px;
    border-bottom: 1px solid var(--rd-line) !important;
    text-align: left; padding: 12px 10px;
}
body.rd-admin .tournaments-admin-table td,
body.rd-admin .custom-table td {
    border-bottom: 1px solid var(--rd-line) !important;
    color: var(--rd-text-2); padding: 12px 10px; vertical-align: middle;
}
body.rd-admin .tournaments-admin-table tbody tr:hover,
body.rd-admin .custom-table tbody tr:hover { background: rgba(255, 255, 255, .02); }
body.rd-admin .tournaments-admin-table a,
body.rd-admin .custom-table a { color: var(--rd-text); text-decoration: none; }
body.rd-admin .tournaments-admin-table a:hover,
body.rd-admin .custom-table a:hover { color: var(--rd-red-2); }
body.rd-admin .tournaments-admin-table th.sortable:hover { color: var(--rd-red-2) !important; }
body.rd-admin .tournaments-admin-table th .sort-arrow { color: var(--rd-text-3); }

/* B. div-таблицы (.content-table / .table-head / .index-line / .user-row) */
body.rd-admin .content-table .table-head,
body.rd-admin .user-management .table-head {
    color: var(--rd-text-3) !important; font-family: var(--rd-font-display);
    text-transform: uppercase; letter-spacing: .06em; font-size: 12px;
    border-color: var(--rd-line) !important;
}
body.rd-admin .index-line,
body.rd-admin .user-management .user-row {
    border-color: var(--rd-line) !important;
    border-bottom: 1px solid var(--rd-line) !important;
}
body.rd-admin .index-line:hover,
body.rd-admin .user-management .user-row:hover { background: rgba(255, 255, 255, .02); }
body.rd-admin .user-management div[class^="col-"] { color: var(--rd-text-2); }

/* --- Колонка «Действия» — всегда прижата к правому краю строки --- */
/* B. div-таблицы (.content-table): заголовок + контейнеры кнопок уходят вправо. */
body.rd-admin .content-table .table-head .col-actions,
body.rd-admin .content-table .index-line .col-actions,
body.rd-admin .content-table .index-line .action-buttons {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    margin-left: auto;      /* съедает свободное место слева → колонка уходит вправо */
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    padding-right: 0;
    text-align: right;
}

/* A. raw <table> (.custom-table, .tournaments-admin-table): действия — последняя колонка. */
body.rd-admin .custom-table th:last-child,
body.rd-admin .custom-table td:last-child,
body.rd-admin .tournaments-admin-table .actions-col {
    text-align: right;
}
/* Контейнер кнопок внутри ячейки действий тоже прижимаем вправо. */
body.rd-admin .tournaments-admin-table td.actions-col .action-buttons {
    justify-content: flex-end;
    padding-right: 0;
}

/* ============================ ФОРМЫ ============================ */
body.rd-admin label { color: var(--rd-text-3); font-size: 13px; }

/* Сырые контролы + классовые инпуты — единый premium-вид */
body.rd-admin input[type="text"],
body.rd-admin input[type="email"],
body.rd-admin input[type="password"],
body.rd-admin input[type="number"],
body.rd-admin input[type="search"],
body.rd-admin input[type="date"],
body.rd-admin input[type="datetime-local"],
body.rd-admin input[type="url"],
body.rd-admin input[type="tel"],
body.rd-admin select,
body.rd-admin textarea,
body.rd-admin .styled-input,
body.rd-admin .input-block .styled-input,
body.rd-admin .pretty-input,
body.rd-admin .filter-input,
body.rd-admin .filter-select,
body.rd-admin .dropdwown-menu,
body.rd-admin .user-management .search,
body.rd-admin .ban-user-search {
    background: var(--rd-surface-3) !important;
    color: var(--rd-text) !important;
    border: 1px solid var(--rd-line) !important;
    border-radius: 10px !important;
    padding: 9px 13px;
    font-size: 15px; font-family: var(--rd-font-body);
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}
body.rd-admin input::placeholder,
body.rd-admin textarea::placeholder { color: var(--rd-text-3); }
body.rd-admin input:focus,
body.rd-admin select:focus,
body.rd-admin textarea:focus,
body.rd-admin .styled-input:focus,
body.rd-admin .pretty-input:focus,
body.rd-admin .filter-input:focus,
body.rd-admin .filter-select:focus,
body.rd-admin .filter-select:hover,
body.rd-admin .ban-user-search:focus {
    border-color: var(--rd-line-red) !important;
    box-shadow: 0 0 0 3px var(--rd-red-soft) !important;
    background: var(--rd-surface-3) !important;
}
body.rd-admin select option,
body.rd-admin .styled-input option { background: var(--rd-surface-2); color: var(--rd-text); }

/* custom-dropdown */
body.rd-admin .dropdwown-select-options,
body.rd-admin .dropdwown-menu-options {
    background: var(--rd-surface-2) !important;
    border: 1px solid var(--rd-line) !important;
    border-radius: 12px !important;
    box-shadow: var(--rd-shadow);
    overflow: hidden; margin-top: 6px;
}
body.rd-admin .select-option { padding: 9px 13px; color: var(--rd-text-2); cursor: pointer; }
body.rd-admin .select-option:hover { background: var(--rd-red-soft); color: #fff; }
body.rd-admin .dropdwown-menu-arrow { color: var(--rd-text-3); }

/* ============================ КНОПКИ ============================ */
body.rd-admin .btn,
body.rd-admin .btn-primary {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    background: var(--rd-grad-red) !important; color: #fff !important;
    border: 0 !important; border-radius: 10px;
    padding: 10px 18px;
    font-family: var(--rd-font-display); font-weight: 600;
    letter-spacing: .04em; text-transform: uppercase; font-size: 14px;
    cursor: pointer; text-decoration: none;
    box-shadow: 0 6px 18px var(--rd-red-glow);
    transition: transform .15s ease, box-shadow .2s ease;
}
body.rd-admin .btn:hover,
body.rd-admin .btn-primary:hover { transform: translateY(-1px); }

/* нейтральные кнопки (сброс/вторичная) */
body.rd-admin .btn-reset,
body.rd-admin .btn-secondary {
    background: var(--rd-surface-3) !important;
    color: var(--rd-text-2) !important;
    border: 1px solid var(--rd-line) !important;
    border-radius: 10px;
    padding: 9px 16px; cursor: pointer;
    box-shadow: none;
    transition: border-color .2s ease, color .2s ease, background-color .2s ease;
}
body.rd-admin .btn-reset:hover,
body.rd-admin .btn-secondary:hover {
    border-color: var(--rd-line-red) !important;
    color: #fff !important;
    background: var(--rd-red-soft) !important;
}

/* иконки-кнопки в таблицах (articles/videos/categories) — единый premium-корпус */
body.rd-admin .btn-icon-primary,
body.rd-admin .btn-icon-info,
body.rd-admin .btn-icon-danger {
    background: var(--rd-surface-3) !important;
    color: var(--rd-text-2) !important;
    border: 1px solid var(--rd-line) !important;
    border-radius: 10px !important;
    transition: border-color .18s ease, background-color .18s ease, color .18s ease;
}
body.rd-admin .btn-icon-primary:hover,
body.rd-admin .btn-icon-info:hover {
    border-color: var(--rd-line-red) !important;
    background: var(--rd-red-soft) !important;
    color: var(--rd-red-2) !important;
}
body.rd-admin .btn-icon-danger { color: var(--rd-red-2) !important; }
body.rd-admin .btn-icon-danger:hover {
    background: var(--rd-grad-red) !important; color: #fff !important; border-color: transparent !important;
}

/* ============================ МОДАЛКИ / ПАНЕЛИ / МЕЛОЧИ ============================ */
body.rd-admin .create-tournament-dialog,
body.rd-admin .popup-content,
body.rd-admin .ban-modal,
body.rd-admin .active-ban-box {
    background: var(--rd-surface-2) !important;
    border: 1px solid var(--rd-line) !important;
    border-radius: var(--rd-radius) !important;
    color: var(--rd-text) !important;
    box-shadow: var(--rd-shadow);
}
body.rd-admin .modal-close-btn { color: var(--rd-text-3); }
body.rd-admin .modal-close-btn:hover { color: var(--rd-red-2); }
body.rd-admin .filter-count { color: var(--rd-text-3); }

/* уведомления (bootstrap-палитра → тема) */
body.rd-admin .alert-success {
    background: rgba(63, 191, 122, .12) !important; color: #7ad9a3 !important;
    border: 1px solid rgba(63, 191, 122, .3) !important; border-radius: 10px;
}
body.rd-admin .alert-error,
body.rd-admin .alert-danger {
    background: var(--rd-red-soft) !important; color: var(--rd-red-2) !important;
    border: 1px solid var(--rd-line-red) !important; border-radius: 10px;
}

/* ============================ BANS ============================ */
body.rd-admin .ban-card {
    background: var(--rd-surface-2) !important;
    border: 1px solid var(--rd-line) !important;
    border-radius: var(--rd-radius) !important;
}
body.rd-admin .ban-card:hover { border-color: var(--rd-line-red) !important; }
body.rd-admin .ban-card__name:hover { color: var(--rd-red-2) !important; }
body.rd-admin .ban-icon,
body.rd-admin .ban-card__name { color: var(--rd-text); }
body.rd-admin .ban-card__label,
body.rd-admin .ban-card__by,
body.rd-admin .ban-card__hint { color: var(--rd-text-3); }
body.rd-admin .ban-suggestions {
    background: var(--rd-surface-2) !important;
    border: 1px solid var(--rd-line) !important; border-radius: 12px;
}
