/* ============================================================
   Zahratun Admin — кастомная тема (презентабельный UI)
   Чинит обрезанные кнопки + современный дизайн.
   ============================================================ */

:root {
    --zt-primary: #6c4cd6;        /* фирменный фиолетовый */
    --zt-primary-dark: #5638b5;
    --zt-accent: #ff7eb6;
    --zt-success: #1aa179;
    --zt-danger: #e0455e;
    --zt-info: #2d8cf0;
    --zt-bg: #f4f5fb;
    --zt-radius: 12px;
}

/* ---------- общий фон ---------- */
body, .content-wrapper {
    background-color: var(--zt-bg) !important;
}

/* ============================================================
   1) ИСПРАВЛЕНИЕ ОБРЕЗАННЫХ КНОПОК (правый блок действий формы)
   ============================================================ */
#jazzy-actions .form-group {
    margin-bottom: 10px !important;
}

#jazzy-actions .btn,
.submit-row .btn,
.object-tools .btn {
    white-space: normal !important;   /* перенос длинного текста */
    word-break: break-word !important;
    height: auto !important;
    min-height: 42px !important;
    line-height: 1.3 !important;
    padding: 10px 14px !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    box-shadow: 0 2px 6px rgba(0,0,0,.08) !important;
    transition: transform .08s ease, box-shadow .15s ease !important;
}
#jazzy-actions .btn:hover,
.submit-row .btn:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.15) !important;
}

/* кнопки на всю ширину блока действий — равной высоты */
#jazzy-actions .form-control {
    width: 100% !important;
    text-align: center !important;
}

/* ============================================================
   2) КНОПКИ — фирменные цвета
   ============================================================ */
.btn-success {
    background-color: var(--zt-success) !important;
    border-color: var(--zt-success) !important;
}
.btn-info {
    background-color: var(--zt-info) !important;
    border-color: var(--zt-info) !important;
}
.btn-danger {
    background-color: var(--zt-danger) !important;
    border-color: var(--zt-danger) !important;
}
.btn-primary {
    background-color: var(--zt-primary) !important;
    border-color: var(--zt-primary) !important;
}

/* ============================================================
   3) ВЕРХНЯЯ ПАНЕЛЬ / САЙДБАР
   ============================================================ */
.main-header.navbar {
    background: linear-gradient(90deg, var(--zt-primary), var(--zt-primary-dark)) !important;
    border: none !important;
    box-shadow: 0 2px 10px rgba(108,76,214,.25) !important;
}
.main-header .nav-link,
.main-header .navbar-nav .nav-link {
    color: #fff !important;
}
.main-sidebar {
    background: #241b3a !important;
    box-shadow: 2px 0 12px rgba(0,0,0,.12) !important;
}
.brand-link {
    background: rgba(0,0,0,.15) !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
}
.sidebar .nav-link.active,
.nav-sidebar .nav-item > .nav-link.active {
    background: linear-gradient(90deg, var(--zt-primary), var(--zt-accent)) !important;
    color: #fff !important;
    border-radius: 8px !important;
}
.nav-sidebar .nav-link {
    border-radius: 8px !important;
    margin: 2px 8px !important;
    transition: background .15s ease !important;
}
.nav-sidebar .nav-link:hover {
    background: rgba(255,255,255,.07) !important;
}

/* ============================================================
   4) КАРТОЧКИ / ТАБЛИЦЫ — скругления и тени
   ============================================================ */
.card {
    border: none !important;
    border-radius: var(--zt-radius) !important;
    box-shadow: 0 4px 16px rgba(33,33,80,.06) !important;
    overflow: hidden;
}
.card-primary.card-outline {
    border-top: 3px solid var(--zt-primary) !important;
}
.card-header {
    background: #fff !important;
    border-bottom: 1px solid #eef0f6 !important;
    font-weight: 700 !important;
}

/* таблицы списков */
table.table thead th {
    background: #faf9ff !important;
    color: #4a3a82 !important;
    font-weight: 700 !important;
    border-bottom: 2px solid #ece8fb !important;
}
table.table tbody tr:hover {
    background: #f7f5ff !important;
}
#result_list tbody tr td {
    vertical-align: middle !important;
}

/* ============================================================
   5) ВКЛАДКИ ФОРМЫ (horizontal_tabs)
   ============================================================ */
.nav-tabs .nav-link.active {
    color: var(--zt-primary) !important;
    border-bottom: 3px solid var(--zt-primary) !important;
    font-weight: 700 !important;
}
.nav-tabs .nav-link {
    color: #7a7a8c !important;
}

/* ============================================================
   6) ПОЛЯ ВВОДА
   ============================================================ */
.form-control, .select2-container--default .select2-selection--single {
    border-radius: 9px !important;
    border: 1px solid #e2e0ee !important;
}
.form-control:focus {
    border-color: var(--zt-primary) !important;
    box-shadow: 0 0 0 3px rgba(108,76,214,.12) !important;
}

/* ============================================================
   7) ГЛАВНАЯ (дашборд) — карточки приложений
   ============================================================ */
.dashboard .card .card-header {
    background: linear-gradient(90deg, var(--zt-primary), var(--zt-primary-dark)) !important;
    color: #fff !important;
}
.dashboard .card .card-header a { color: #fff !important; }

/* кнопки-ссылки в строках (наши inline-кнопки) — небольшие отступы */
#result_list td a[href*="/send-test/"],
#result_list td a[href*="/send-all/"],
#result_list td a[href*="/block/"],
#result_list td a[href*="/unblock/"],
#result_list td a[href*="/accept/"],
#result_list td a[href*="/reject/"] {
    margin: 2px !important;
}

/* мелкая адаптивность правого блока действий */
@media (min-width: 992px) {
    #jazzy-actions { position: sticky; top: 80px; }
}

/* ============================================================
   8) ФОРМА ИЗМЕНЕНИЯ (change form) — аккуратный вид
   ============================================================ */
/* карточки fieldset */
.module, fieldset.module {
    border: 1px solid #ece9f6 !important;
    border-radius: var(--zt-radius) !important;
    box-shadow: 0 2px 10px rgba(40,20,90,.05) !important;
    margin-bottom: 18px !important;
    overflow: hidden;
}
/* заголовок секции fieldset */
fieldset.module > h2,
.card-primary > .card-header,
.inline-group h2 {
    background: linear-gradient(90deg, var(--zt-primary), var(--zt-primary-dark)) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    padding: 11px 16px !important;
    letter-spacing: .2px;
}

/* описание секции (help) — читаемый блок-подсказка */
fieldset.module .description,
.aligned .description {
    background: #f6f4fe !important;
    border-left: 4px solid var(--zt-primary) !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    margin: 12px 14px !important;
    color: #4a4560 !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}

/* подписи полей */
.form-row label, .aligned label {
    font-weight: 600 !important;
    color: #3a3550 !important;
}
.help, .helptext, small.form-text {
    color: #8c8aa0 !important;
    font-size: 12.5px !important;
}

/* поля ввода/textarea — комфортная высота */
textarea, input[type="text"], input[type="url"], input[type="number"], select {
    border-radius: 9px !important;
    border: 1px solid #e2e0ee !important;
    padding: 8px 11px !important;
}

/* inline-таблица медиа (фото/видео) */
.inline-group .tabular table {
    border-radius: 10px !important;
    overflow: hidden;
}
.inline-group .tabular thead th {
    background: #efecf9 !important;
    color: #4a4560 !important;
    font-weight: 700 !important;
}
.inline-related .add-row a, .add-row a {
    font-weight: 700 !important;
    color: var(--zt-primary) !important;
}

/* нижняя строка кнопок сохранения — не прилипает, читаемая */
.submit-row {
    background: #fff !important;
    border-radius: var(--zt-radius) !important;
    box-shadow: 0 2px 10px rgba(40,20,90,.06) !important;
    padding: 14px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    align-items: center;
}
.submit-row input[type="submit"], .submit-row .deletelink {
    border-radius: 10px !important;
    font-weight: 600 !important;
    white-space: normal !important;
    height: auto !important;
    min-height: 42px !important;
}
.submit-row input[name="_save"] {
    background: var(--zt-success) !important;
    border-color: var(--zt-success) !important;
}

/* галочка «Добавить кнопку?» — заметнее */
.field-add_view_button label {
    font-size: 14px !important;
}

/* ============================================================
   9) ВКЛАДКИ ФОРМЫ (#jazzy-tabs) — аккуратные, читаемые
   ============================================================ */
#jazzy-tabs.nav-tabs {
    border-bottom: 2px solid #ece9f6 !important;
    gap: 4px;
    flex-wrap: wrap;
}
#jazzy-tabs .nav-item .nav-link {
    border: none !important;
    border-radius: 10px 10px 0 0 !important;
    color: #6a6580 !important;
    font-weight: 600 !important;
    padding: 9px 16px !important;
    margin-bottom: -2px;
    background: #f1eefb !important;
    transition: all .15s ease;
}
#jazzy-tabs .nav-item .nav-link:hover {
    background: #e7e1fb !important;
    color: var(--zt-primary-dark) !important;
}
#jazzy-tabs .nav-item .nav-link.active {
    background: var(--zt-primary) !important;
    color: #fff !important;
    box-shadow: 0 -2px 8px rgba(108,76,214,.25);
}

/* карточка контента вкладки */
.tab-content .card {
    border: 1px solid #ece9f6 !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 12px rgba(40,20,90,.05) !important;
    margin-top: 8px;
}
/* card-header = описание секции — мягкая подсказка, НЕ кричащая */
.tab-content .card > .card-header {
    background: #f6f4fe !important;
    border-bottom: 1px solid #ece9f6 !important;
    border-radius: 12px 12px 0 0 !important;
    padding: 12px 18px !important;
}
.tab-content .card > .card-header .card-title {
    color: #5a5470 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    margin: 0 !important;
    white-space: normal !important;
}
.tab-content .card .card-body.p-5 {
    padding: 22px !important;
}

/* подписи полей слева — выровнены, читаемы */
.form-group label.col-sm-3 {
    font-weight: 600 !important;
    color: #3a3550 !important;
    padding-top: 7px;
}
.help-block {
    color: #9a98ac !important;
    font-size: 12.5px !important;
    margin-top: 4px;
}

/* select2 — одинаковая высота с инпутами */
.select2-container--default .select2-selection--single {
    height: 40px !important;
    border-radius: 9px !important;
    border: 1px solid #e2e0ee !important;
    display: flex !important;
    align-items: center !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 38px !important;
    padding-left: 10px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 38px !important;
}
.select2-container { width: 100% !important; max-width: 420px; }

/* поле «Текст сообщения» — повыше и удобнее */
textarea#id_text { min-height: 160px !important; }

/* строка кнопок «Добавить медиа» */
.add-row a.btn { float: none !important; }
.inline-group .tabular { padding: 4px; }

/* убрать резкие отступы card внутри вкладки */
.tab-content .card .card-body { background: #fff !important; }
