/* Определяем CSS-переменные для светлой и тёмной тем */
:root {
    /* Светлая тема (по умолчанию) */
    --body-bg: #f8f9fa;
    --text-color: #343a40;
    --navbar-bg: #343a40;
    --navbar-text: #ffffff;
    --sidebar-bg: #343a40;
    --sidebar-text: #c2c7d0;
    --sidebar-link-hover-bg: #495057;
    --content-bg: #f4f6f9;
    --card-bg: #ffffff;
    --card-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    --table-bg: #ffffff;
    --table-header-bg: #e9ecef;
    --table-row-hover-bg: #f1f1f1;
    --alert-bg: #fff3cd;
    --alert-text: #856404;
    --btn-primary-bg: #007bff;
    --btn-primary-text: #ffffff;
    --btn-danger-bg: #dc3545;
    --btn-danger-text: #ffffff;
}

/* Тёмная тема */
[data-theme="dark"] {
    --body-bg: #212529;
    --text-color: #e9ecef;
    --navbar-bg: #1a2526;
    --navbar-text: #e9ecef;
    --sidebar-bg: #1a2526;
    --sidebar-text: #adb5bd;
    --sidebar-link-hover-bg: #2c3b41;
    --content-bg: #2c3b41;
    --card-bg: #343a40;
    --card-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    --table-bg: #343a40;
    --table-header-bg: #495057;
    --table-row-hover-bg: #495057;
    --alert-bg: #5a4a2b;
    --alert-text: #ffeb99;
    --btn-primary-bg: #0d6efd;
    --btn-primary-text: #ffffff;
    --btn-danger-bg: #dc3545;
    --btn-danger-text: #ffffff;
}

/* Применяем переменные */
body {
    background-color: var(--body-bg);
    font-family: 'Arial', sans-serif;
    color: var(--text-color);
}

/* Navbar */
.main-header.navbar {
    background-color: var(--navbar-bg);
}

.main-header.navbar .nav-link {
    color: var(--navbar-text);
}

.main-header.navbar .nav-link:hover {
    color: #adb5bd;
}

/* Sidebar */
.main-sidebar {
    background-color: var(--sidebar-bg);
}

.main-sidebar .brand-link {
    background-color: var(--sidebar-bg);
    color: var(--sidebar-text);
    border-bottom: 1px solid var(--sidebar-link-hover-bg);
}

.main-sidebar .nav-link {
    color: var(--sidebar-text);
}

.main-sidebar .nav-link:hover {
    background-color: var(--sidebar-link-hover-bg);
    color: #ffffff;
}

/* Content */
.content-wrapper {
    background-color: var(--content-bg);
}

.content-wrapper h1 {
    color: var(--text-color);
}

/* Card */
.card {
    transition: transform 0.2s;
    border: none;
    box-shadow: var(--card-shadow);
    background-color: var(--card-bg);
}

.card:hover {
    transform: translateY(-5px);
}

/* Table */
.table {
    background-color: var(--table-bg);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    color: var(--text-color);
}

.table thead {
    background-color: var(--table-header-bg);
}

.table-hover tbody tr:hover {
    background-color: var(--table-row-hover-bg);
}

/* Alert */
.alert-warning {
    background-color: var(--alert-bg);
    color: var(--alert-text);
    border-color: var(--alert-bg);
}

/* Buttons */
.btn-primary {
    background-color: var(--btn-primary-bg);
    color: var(--btn-primary-text);
    border-color: var(--btn-primary-bg);
    border-radius: 20px;
}

.btn-danger {
    background-color: var(--btn-danger-bg);
    color: var(--btn-danger-text);
    border-color: var(--btn-danger-bg);
    border-radius: 20px;
}

.btn {
    margin-right: 10px;
    border-radius: 20px;
}

/* Form elements */
.form-control, .form-select {
    border-radius: 10px;
    background-color: var(--card-bg);
    color: var(--text-color);
    border-color: var(--table-header-bg);
}

.form-control:focus, .form-select:focus {
    background-color: var(--card-bg);
    color: var(--text-color);
    border-color: var(--btn-primary-bg);
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

/* Адаптивность для мобильных устройств */
@media (max-width: 768px) {
    .table-responsive {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .table {
        font-size: 14px;
        min-width: 600px; /* Минимальная ширина таблицы для прокрутки */
    }

    .table th, .table td {
        padding: 8px;
        white-space: nowrap; /* Предотвращаем перенос текста */
    }

    .table th {
        font-size: 12px;
    }

    .table td {
        font-size: 12px;
    }
}