/* Кастомные стили для улучшения адаптивности Django Jazzmin */

/* Общие адаптивные стили */
@media (max-width: 768px) {
    /* Уменьшаем отступы на мобильных */
    .content-wrapper {
        padding: 10px;
    }
    
    /* Уменьшаем размер шрифта заголовков */
    .content-header h1 {
        font-size: 1.5rem;
    }
    
    /* Боковое меню на мобильных */
    .main-sidebar {
        transform: translateX(-100%);
        transition: transform 0.3s ease-in-out;
    }
    
    .sidebar-open .main-sidebar {
        transform: translateX(0);
    }
}

/* Кнопки в админке - делаем их адаптивными */
@media (max-width: 576px) {
    /* Кнопки в списке объектов */
    .object-tools {
        display: flex;
        flex-direction: column;
        gap: 5px;
    }
    
    .object-tools li {
        width: 100%;
        margin: 0;
    }
    
    .object-tools a, .object-tools form {
        width: 100%;
        display: block;
        text-align: center;
        padding: 8px 12px;
        font-size: 0.875rem;
    }
    
    /* Кнопки действий */
    .actions {
        display: flex;
        flex-direction: column;
        gap: 5px;
    }
    
    .actions select, .actions button {
        width: 100%;
        margin: 2px 0;
    }
    
    /* Кнопки формы */
    .submit-row {
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding: 10px;
    }
    
    .submit-row input[type="submit"], 
    .submit-row button,
    .submit-row .deletelink {
        width: 100%;
        margin: 0;
        padding: 10px;
        text-align: center;
    }
    
    /* Кнопки изменения списка */
    .changelist-tools {
        display: flex;
        flex-direction: column;
        gap: 5px;
    }
    
    .changelist-tools .button,
    .changelist-tools a {
        width: 100%;
        text-align: center;
        padding: 8px;
        margin: 2px 0;
    }
}

/* Таблицы на маленьких экранах */
@media (max-width: 768px) {
    .results {
        overflow-x: auto;
    }
    
    .results table {
        min-width: 600px;
        font-size: 0.875rem;
    }
    
    .results th, .results td {
        padding: 6px;
        white-space: nowrap;
    }
}

/* Навигация breadcrumbs */
@media (max-width: 576px) {
    .breadcrumbs {
        font-size: 0.75rem;
        padding: 5px 10px;
    }
    
    .breadcrumbs a {
        padding: 2px 4px;
    }
}

/* Формы на мобильных */
@media (max-width: 576px) {
    .form-row {
        display: flex;
        flex-direction: column;
    }
    
    .form-row label {
        width: 100%;
        margin-bottom: 5px;
        font-weight: bold;
    }
    
    .form-row input,
    .form-row select,
    .form-row textarea {
        width: 100%;
        margin-bottom: 10px;
    }
    
    .aligned .form-row {
        border: none;
        padding: 10px 0;
    }
}

/* Поиск на мобильных */
@media (max-width: 576px) {
    .changelist-search {
        display: flex;
        flex-direction: column;
        gap: 5px;
    }
    
    .changelist-search input[type="text"] {
        width: 100%;
        margin-bottom: 5px;
    }
    
    .changelist-search input[type="submit"] {
        width: 100%;
        padding: 8px;
    }
}

/* Фильтры на мобильных */
@media (max-width: 768px) {
    #changelist-filter {
        position: static;
        width: 100%;
        margin-top: 20px;
        border-left: none;
        border-top: 1px solid #ddd;
        padding-top: 10px;
    }
    
    .filtered #changelist {
        margin-right: 0;
    }
}

/* Улучшения для import/export страниц */
@media (max-width: 576px) {
    .import-preview {
        overflow-x: auto;
        display: block;
        white-space: nowrap;
    }
    
    .import-preview table {
        min-width: 500px;
        font-size: 0.8rem;
    }
    
    .import-preview th,
    .import-preview td {
        padding: 4px;
    }
    
    /* Кнопки import/export */
    .module.aligned .form-row {
        display: flex;
        flex-direction: column;
        padding: 10px;
    }
    
    .module.aligned label {
        width: 100%;
        margin-bottom: 5px;
    }
    
    .module.aligned input,
    .module.aligned select {
        width: 100%;
    }
}

/* Улучшения для карточек статистики */
@media (max-width: 992px) {
    .small-box {
        margin-bottom: 15px;
    }
    
    .info-box {
        margin-bottom: 15px;
    }
}

/* Боковая панель - компактный режим на планшетах */
@media (max-width: 992px) and (min-width: 769px) {
    .sidebar-mini .main-sidebar .nav-link p {
        display: none;
    }
    
    .sidebar-mini .main-sidebar {
        width: 4.6rem;
    }
    
    .sidebar-mini .content-wrapper,
    .sidebar-mini .main-footer {
        margin-left: 4.6rem;
    }
}

/* Уведомления на мобильных */
@media (max-width: 576px) {
    .messages {
        margin: 10px 5px;
    }
    
    .messages .alert {
        padding: 8px 12px;
        font-size: 0.875rem;
    }
}

/* Исправление для jazzmin кнопок действий */
.btn-group-vertical .btn {
    width: 100%;
    margin-bottom: 2px;
}

@media (max-width: 576px) {
    .btn-group {
        display: flex;
        flex-direction: column;
    }
    
    .btn-group .btn {
        width: 100%;
        margin: 2px 0;
        border-radius: 0.25rem !important;
    }
}

/* Исправление наложения кнопок в jazzmin */
@media (max-width: 576px) {
    .card-tools {
        display: flex;
        flex-direction: column;
        gap: 5px;
        width: 100%;
    }
    
    .card-tools .btn {
        width: 100%;
        margin: 0;
    }
    
    .btn-tool {
        padding: 0.25rem 0.5rem;
        font-size: 0.875rem;
    }
    
    .navbar-nav .nav-item .nav-link {
        padding: 0.5rem;
    }
    
    .navbar-nav {
        flex-direction: column;
    }
}

/* Исправление для dropdown на мобильных */
@media (max-width: 576px) {
    .dropdown-menu {
        position: static !important;
        transform: none !important;
        width: 100%;
        margin-top: 5px;
        border-radius: 0.25rem;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    }
}

/* Улучшение читаемости текста на маленьких экранах */
@media (max-width: 576px) {
    body {
        font-size: 14px;
        line-height: 1.4;
    }
    
    .card-title {
        font-size: 1.1rem;
    }
    
    .card-text {
        font-size: 0.9rem;
    }
}

/* Исправление для sticky элементов */
@media (max-width: 768px) {
    .sticky-top {
        position: relative !important;
    }
}

/* Увеличиваем область клика для мобильных */
@media (max-width: 576px) {
    .nav-link, .btn, .form-control, .custom-control-label {
        min-height: 44px;
        display: flex;
        align-items: center;
    }
}

/* Скрываем ненужные элементы на очень маленьких экранах */
@media (max-width: 480px) {
    .d-none-mobile {
        display: none !important;
    }
    
    .sidebar .nav-item .nav-link i {
        margin-right: 5px;
    }
}
.navbar-expand .navbar-nav .dropdown-menu {
    position: absolute !important;
}