:root {
    /* Светлая тема */
    --light-bg: #f7f7f7;
    --light-text: #2a2a2a;
    --light-accent: #8a4af3;
    --light-accent-hover: #7a3ad3;
    --light-card: #ffffff;
    --light-shadow: rgba(0, 0, 0, 0.05);
    --light-border: rgba(0, 0, 0, 0.08);

    /* Темная тема */
    --dark-bg: #121212;
    --dark-text: #ffffff;
    --dark-accent: #9b6af3;
    --dark-accent-hover: #8852e5;
    --dark-card: #1e1e1e;
    --dark-shadow: rgba(0, 0, 0, 0.4);
    --dark-border: rgba(255, 255, 255, 0.15);

    /* Общие */
    --transition-speed: 0.2s;
    --border-radius: 6px;
    --spacing-unit: 0.8rem;

    /* Дополнительно для глассморфизма */
    --glass-blur: blur(15px); /* степень размытия */
    --glass-light-bg: rgba(255, 255, 255, 0.15);
    --glass-dark-bg: rgba(0, 0, 0, 0.3);

    /* Можно использовать градиенты для фона/акцентных элементов */
    --gradient-accent: linear-gradient(135deg, #8a4af3, #4ac3f3);
}

::selection {
    background-color: var(--light-accent);
    color: #ffffff;
}

::-moz-selection {
    background-color: var(--light-accent);
    color: #ffffff;
}

.dark-mode ::selection {
    background-color: var(--dark-accent);
    color: #ffffff;
}

.dark-mode ::-moz-selection {
    background-color: var(--dark-accent);
    color: #ffffff;
}

body {
    background: var(--light-bg);
    color: var(--light-text);
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
    padding: 0;
    overscroll-behavior: none;
    -webkit-font-smoothing: antialiased;
}

.dark-mode {
    background: var(--dark-bg) !important;
    color: var(--dark-text) !important;
}

/* Принудительно белый текст для всех элементов в темной теме */
.dark-mode,
.dark-mode *,
.dark-mode h1,
.dark-mode h2,
.dark-mode h3,
.dark-mode h4,
.dark-mode h5,
.dark-mode h6,
.dark-mode p,
.dark-mode span,
.dark-mode div,
.dark-mode a,
.dark-mode li,
.dark-mode td,
.dark-mode th,
.dark-mode label {
    color: var(--dark-text) !important;
}

/* Особые случаи для элементов, которые должны сохранить свой цвет */
.dark-mode .btn,
.dark-mode .badge,
.dark-mode .alert {
    color: inherit !important;
}

/* Исключения для кнопок, где цвет определяется типом */
.dark-mode .btn-primary {
    color: #ffffff !important;
}

.dark-mode .btn-secondary {
    color: #ffffff !important;
}

.dark-mode .btn-success {
    color: #ffffff !important;
}

.dark-mode .btn-danger {
    color: #ffffff !important;
}

.dark-mode .btn-warning {
    color: #000000 !important;
}

.dark-mode .btn-info {
    color: #000000 !important;
}

.dark-mode .btn-light {
    color: #000000 !important;
}

.dark-mode .btn-dark {
    color: #ffffff !important;
}

/* Специальные стили для навигации */
.dark-mode .navbar-brand {
    color: var(--dark-accent) !important;
}

.dark-mode .navbar-brand:hover {
    color: var(--dark-accent-hover) !important;
}

/* Ссылки в темной теме */
.dark-mode a {
    color: var(--dark-accent) !important;
}

.dark-mode a:hover {
    color: var(--dark-accent-hover) !important;
}

/* Для card заголовков */
.dark-mode .card-title,
.dark-mode .card-header {
    color: var(--dark-text) !important;
}

/* Для модальных окон */
.dark-mode .modal-title {
    color: var(--dark-text) !important;
}

/* Для таблиц */
.dark-mode table,
.dark-mode .table {
    color: var(--dark-text) !important;
}

.dark-mode th,
.dark-mode td {
    color: var(--dark-text) !important;
}

/* Для форм */
.dark-mode .form-label,
.dark-mode .form-check-label {
    color: var(--dark-text) !important;
}

/* Для списков */
.dark-mode .list-group-item {
    color: var(--dark-text) !important;
}

/* Для dropdown */
.dark-mode .dropdown-item {
    color: var(--dark-text) !important;
}

.dark-mode .dropdown-item:hover {
    color: #ffffff !important;
}

/* Переопределение Bootstrap классов текста */
.dark-mode .text-muted {
    color: #adb5bd !important;
}

.dark-mode .text-white {
    color: #ffffff !important;
}

.dark-mode .text-dark {
    color: var(--dark-text) !important;
}

.dark-mode .text-light {
    color: #f8f9fa !important;
}

/* ===== ВЕРХНИЙ NAVBAR ===== */
.navbar-top {
    background: var(--light-card);
    border-bottom: 1px solid var(--light-border);
    padding: 0.6rem 1.5rem;
    box-shadow: 0 2px 10px var(--light-shadow);
    position: sticky;
    top: 0;
    z-index: 1030;
}

.dark-mode .navbar-top {
    background: var(--dark-card);
    border-bottom: 1px solid var(--dark-border);
    box-shadow: 0 2px 10px var(--dark-shadow);
}

.navbar-brand {
    display: flex;
    align-items: center;
    font-weight: 600;
    font-size: 1.2rem;
    color: var(--light-accent);
    transition: color var(--transition-speed);
}

.navbar-brand:hover {
    color: var(--light-accent-hover);
}

.navbar-brand .bi-share-fill {
    font-size: 1.4rem;
    margin-right: 0.5rem;
}

.navbar-brand .logo-image {
    height: 24px;
}

.dark-mode .navbar-brand {
    color: var(--dark-accent);
}

.dark-mode .navbar-brand:hover {
    color: var(--dark-accent-hover);
}

.navbar-top .nav-link {
    color: var(--light-text);
    padding: 0.5rem 1rem;
    font-weight: 500;
    transition: all var(--transition-speed);
    border-radius: var(--border-radius);
}

.navbar-top .nav-link:hover {
    color: var(--light-accent);
    background: rgba(138, 74, 243, 0.1);
}

.navbar-top .nav-link.active {
    color: var(--light-accent);
    background: rgba(138, 74, 243, 0.15);
    box-shadow: 0 0 0 1px var(--light-accent);
}

.dark-mode .navbar-top .nav-link {
    color: var(--dark-text);
}

.dark-mode .navbar-top .nav-link:hover {
    color: #ffffff;
    background: rgba(155, 106, 243, 0.1);
}

.dark-mode .navbar-top .nav-link.active {
    color: #ffffff;
    background: rgba(155, 106, 243, 0.15);
    box-shadow: 0 0 0 1px var(--dark-accent);
}

.navbar-top .nav-link .bi {
    margin-right: 0.4rem;
    font-size: 1.1rem;
}

.navbar-top .logout-button {
    color: var(--light-text);
    border: none;
    background: none;
    padding: 0.5rem 1rem;
    font-weight: 500;
    transition: color var(--transition-speed);
}

.navbar-top .logout-button:hover {
    color: var(--light-accent);
}

.dark-mode .navbar-top .logout-button {
    color: var(--dark-text);
}

.dark-mode .navbar-top .logout-button:hover {
    color: #ffffff;
}

.navbar-top .dropdown-toggle::after {
    margin-left: 0.4rem;
    border: none;
    content: "▾";
    font-size: 0.8rem;
    vertical-align: middle;
}

.navbar-top .dropdown-menu {
    background: var(--light-card);
    border: 1px solid var(--light-border);
    border-radius: var(--border-radius);
    box-shadow: 0 4px 15px var(--light-shadow);
    margin-top: 0.3rem;
    min-width: 180px;
    font-size: 13px;
    animation: fadeIn 0.2s ease;
}

.dark-mode .navbar-top .dropdown-menu {
    background: var(--dark-card);
    border: 1px solid var(--dark-border);
    box-shadow: 0 4px 15px var(--dark-shadow);
}

.navbar-top .dropdown-item {
    padding: 0.4rem 1.2rem;
    color: var(--light-text);
    transition: all var(--transition-speed);
}

.dark-mode .navbar-top .dropdown-item {
    color: #e6e6e6;
}

.navbar-top .dropdown-item:hover {
    background: var(--light-accent);
    color: #ffffff;
}

.navbar-top .navbar-toggler {
    border: none;
    padding: 0.5rem;
}

.navbar-top .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(42,42,42,0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
    width: 20px;
    height: 20px;
}

.dark-mode .navbar-top .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(224,224,224,0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

/* ===== НИЖНИЙ NAVBAR ===== */
.navbar-second {
    background: var(--dark-card);
    padding: 0.5rem 1.5rem;
    border-bottom: 1px solid var(--dark-border);
}

.dark-mode .navbar-second {
    background: #222222;
}

.navbar-second .nav-link {
    color: var(--dark-text);
    padding: 0.4rem 1rem;
    font-weight: 500;
    transition: all var(--transition-speed);
    border-radius: var(--border-radius);
}

.navbar-second .nav-link:hover {
    color: var(--dark-accent);
    background: rgba(155, 106, 243, 0.1);
}

.navbar-second .nav-link.active {
    color: var(--dark-accent);
    background: rgba(155, 106, 243, 0.15);
    box-shadow: 0 0 0 1px var(--dark-accent);
}

.navbar-second .dropdown-toggle::after {
    margin-left: 0.4rem;
    border: none;
    content: "▾";
    font-size: 0.8rem;
    vertical-align: middle;
}

.navbar-second .dropdown-menu {
    background: var(--light-card);
    border: 1px solid var(--light-border);
    border-radius: var(--border-radius);
    box-shadow: 0 4px 15px var(--light-shadow);
    min-width: 180px;
    font-size: 13px;
    animation: fadeIn 0.2s ease;
}

.dark-mode .navbar-second .dropdown-menu {
    background: var(--dark-card);
    border: 1px solid var(--dark-border);
    box-shadow: 0 4px 15px var(--dark-shadow);
}

.navbar-second .dropdown-item {
    color: var(--light-text);
    padding: 0.4rem 1.2rem;
    transition: all var(--transition-speed);
}

.dark-mode .navbar-second .dropdown-item {
    color: #e6e6e6;
}

.navbar-second .dropdown-item:hover {
    background: var(--light-accent);
    color: #ffffff;
}

.navbar-second .navbar-toggler {
    border: none;
    padding: 0.5rem;
}

.navbar-second .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(224,224,224,0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
    width: 20px;
    height: 20px;
}

/* ===== Тема-переключатель (кнопка темной/светлой темы) ===== */
.theme-toggle {
    position: fixed;
    bottom: 15px;
    right: 15px;
    z-index: 1000;
    background: var(--light-card);
    padding: 0.4rem 0.8rem;
    border-radius: 20px;
    box-shadow: 0 2px 8px var(--light-shadow);
    transition: all var(--transition-speed);
}

.dark-mode .theme-toggle {
    background: var(--dark-card);
    box-shadow: 0 2px 8px var(--dark-shadow);
}

.theme-toggle .form-check-input {
    width: 2.5rem;
    height: 1.2rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E");
    margin-right: 0.4rem;
}

.theme-toggle .form-check-label {
    display: flex;
    align-items: center;
    color: var(--light-text);
}

.dark-mode .theme-toggle .form-check-label {
    color: var(--dark-text);
}

.theme-toggle .bi {
    font-size: 1rem;
}

/* ===== Карточки (стандартные) ===== */
.card {
    background: var(--light-card);
    border: 1px solid var(--light-border);
    border-radius: var(--border-radius);
    box-shadow: 0 2px 10px var(--light-shadow);
    transition: all var(--transition-speed);
    overflow: hidden;
}

.dark-mode .card {
    background: var(--dark-card);
    border: 1px solid var(--dark-border);
    box-shadow: 0 2px 10px var(--dark-shadow);
}

.card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px var(--light-shadow);
}

.dark-mode .card:hover {
    box-shadow: 0 4px 15px var(--dark-shadow);
}

/* ===== Кнопки ===== */
.btn-primary {
    background: var(--light-accent);
    border: none;
    border-radius: var(--border-radius);
    padding: 0.5rem 1.2rem;
    font-weight: 500;
    font-size: 13px;
    transition: all var(--transition-speed);
    color: #ffffff;
    cursor: pointer;
}

.btn-primary:hover {
    background: var(--light-accent-hover);
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(138, 74, 243, 0.3);
}

.dark-mode .btn-primary {
    background: var(--dark-accent);
}

.dark-mode .btn-primary:hover {
    background: var(--dark-accent-hover);
    box-shadow: 0 2px 8px rgba(155, 106, 243, 0.3);
}

/* ===== Таблицы ===== */
table {
    width: 100%;
    border-collapse: collapse;
    background: var(--light-card);
    color: var(--light-text);
    font-size: 13px;
    border-radius: var(--border-radius);
    overflow: hidden;
    box-shadow: 0 2px 10px var(--light-shadow);
}

.dark-mode table {
    background: var(--dark-card);
    color: var(--dark-text);
    box-shadow: 0 2px 10px var(--dark-shadow);
}

th, td {
    padding: 0.6rem 1rem;
    text-align: left;
    border-bottom: 1px solid var(--light-border);
}

.dark-mode th, .dark-mode td {
    border-bottom: 1px solid var(--dark-border);
}

th {
    background: rgba(0, 0, 0, 0.03);
    font-weight: 600;
    position: sticky;
    top: 0;
    z-index: 10;
}

.dark-mode th {
    background: rgba(255, 255, 255, 0.03);
}

tr:hover {
    background: rgba(138, 74, 243, 0.05);
}

.dark-mode tr:hover {
    background: rgba(155, 106, 243, 0.05);
}

@media (max-width: 768px) {
    table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
}

/* ===== Анимация для выпадающих меню ===== */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ===== Адаптивность ===== */
@media (max-width: 576px) {
    .navbar-top, .navbar-second {
        padding: 0.5rem 1rem;
    }
    .navbar-brand .bi-share-fill {
        font-size: 1.2rem;
    }
    .navbar-brand .logo-image {
        height: 20px;
    }
    .navbar-top .nav-link, .navbar-second .nav-link {
        padding: 0.4rem 0.8rem;
    }
    .theme-toggle {
        bottom: 10px;
        right: 10px;
    }
}

/* ===== Скролл-бар ===== */
::-webkit-scrollbar {
    width: 4px;
}

::-webkit-scrollbar-track {
    background: var(--light-bg);
}

::-webkit-scrollbar-thumb {
    background: var(--light-accent);
    border-radius: var(--border-radius);
    opacity: 0.5;
    transition: opacity var(--transition-speed);
}

::-webkit-scrollbar-thumb:hover {
    opacity: 1;
}

.dark-mode ::-webkit-scrollbar-track {
    background: var(--dark-bg);
}

.dark-mode ::-webkit-scrollbar-thumb {
    background: var(--dark-accent);
}


/* ===== ДОПОЛНЕНИЯ ДЛЯ ГЛАССМОРФИЗМА И "НОВИЗНЫ" ===== */

/* Общий класс для глассморфизма (можно применять к .navbar-top, .navbar-second, .card и т.д.) */
.glassmorphic {
    background: var(--glass-light-bg);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

/* В темном режиме фон и обводка отличаются */
.dark-mode .glassmorphic {
    background: var(--glass-dark-bg);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Вариант для карточек: .card.glass-card */
.glass-card {
    background: var(--glass-light-bg);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.dark-mode .glass-card {
    background: var(--glass-dark-bg);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Дополнительный пример градиентной кнопки */
.btn-gradient {
    background: var(--gradient-accent);
    color: #fff;
    border: none;
    border-radius: var(--border-radius);
    padding: 0.6rem 1.4rem;
    font-weight: 600;
    cursor: pointer;
    transition: transform var(--transition-speed), box-shadow var(--transition-speed);
}

.btn-gradient:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 15px rgba(138, 74, 243, 0.3);
}

/* ===== ДОПОЛНИТЕЛЬНЫЕ СТИЛИ ДЛЯ ТЕМНОЙ ТЕМЫ ===== */

/* Формы */
.dark-mode .form-control {
    background: var(--dark-card);
    color: var(--dark-text);
    border: 1px solid var(--dark-border);
}

.dark-mode .form-control:focus {
    background: var(--dark-card);
    color: var(--dark-text);
    border-color: var(--dark-accent);
    box-shadow: 0 0 0 0.2rem rgba(155, 106, 243, 0.25);
}

.dark-mode .form-control::placeholder {
    color: #adb5bd;
}

.dark-mode .form-select {
    background: var(--dark-card);
    color: var(--dark-text);
    border: 1px solid var(--dark-border);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23e0e0e0' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e");
}

.dark-mode .form-select:focus {
    border-color: var(--dark-accent);
    box-shadow: 0 0 0 0.2rem rgba(155, 106, 243, 0.25);
}

/* Чекбоксы и радио кнопки */
.dark-mode .form-check-input {
    background-color: var(--dark-card);
    border: 1px solid var(--dark-border);
}

.dark-mode .form-check-input:checked {
    background-color: var(--dark-accent);
    border-color: var(--dark-accent);
}

.dark-mode .form-check-input:focus {
    border-color: var(--dark-accent);
    box-shadow: 0 0 0 0.25rem rgba(155, 106, 243, 0.25);
}

.dark-mode .form-check-label {
    color: var(--dark-text);
}

/* Улучшенные стили для чекбоксов и радиокнопок в светлой теме */
body:not(.dark-mode) .form-check-input {
    background-color: #ffffff;
    border: 2px solid #6f42c1;
    width: 1.2em;
    height: 1.2em;
}

body:not(.dark-mode) .form-check-input:checked {
    background-color: #6f42c1 !important;
    border-color: #6f42c1 !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e") !important;
}

body:not(.dark-mode) .form-check-input[type="radio"]:checked {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e") !important;
}

body:not(.dark-mode) .form-check-input:focus {
    border-color: #8b6ad1;
    box-shadow: 0 0 0 2px rgba(111, 66, 193, 0.25);
}

body:not(.dark-mode) .form-check-label {
    color: #495057;
    font-weight: 500;
}

/* Textarea */
.dark-mode textarea.form-control {
    background: var(--dark-card);
    color: var(--dark-text);
    border: 1px solid var(--dark-border);
}

.dark-mode textarea.form-control:focus {
    background: var(--dark-card);
    color: var(--dark-text);
    border-color: var(--dark-accent);
    box-shadow: 0 0 0 0.2rem rgba(155, 106, 243, 0.25);
}

/* Кнопки разных типов */
.dark-mode .btn-secondary {
    background: #6c757d;
    border-color: #6c757d;
    color: #ffffff;
}

.dark-mode .btn-secondary:hover {
    background: #5c636a;
    border-color: #545b62;
}

.dark-mode .btn-outline-primary {
    color: var(--dark-accent);
    border-color: var(--dark-accent);
}

.dark-mode .btn-outline-primary:hover {
    background: var(--dark-accent);
    border-color: var(--dark-accent);
    color: #ffffff;
}

.dark-mode .btn-outline-secondary {
    color: #6c757d;
    border-color: #6c757d;
}

.dark-mode .btn-outline-secondary:hover {
    background: #6c757d;
    border-color: #6c757d;
    color: #ffffff;
}

.dark-mode .btn-success {
    background: #198754;
    border-color: #198754;
}

.dark-mode .btn-success:hover {
    background: #157347;
    border-color: #146c43;
}

.dark-mode .btn-danger {
    background: #dc3545;
    border-color: #dc3545;
}

.dark-mode .btn-danger:hover {
    background: #bb2d3b;
    border-color: #b02a37;
}

.dark-mode .btn-warning {
    background: #fd7e14;
    border-color: #fd7e14;
    color: #000;
}

.dark-mode .btn-warning:hover {
    background: #e66b02;
    border-color: #d55200;
    color: #000;
}

.dark-mode .btn-info {
    background: #0dcaf0;
    border-color: #0dcaf0;
    color: #000;
}

.dark-mode .btn-info:hover {
    background: #0bb5d3;
    border-color: #0aa2c0;
    color: #000;
}

/* Списки */
.dark-mode .list-group-item {
    background: var(--dark-card);
    color: var(--dark-text);
    border-color: var(--dark-border);
}

.dark-mode .list-group-item:hover {
    background: rgba(155, 106, 243, 0.1);
}

/* Пагинация */
.dark-mode .page-link {
    background: var(--dark-card);
    color: var(--dark-text);
    border-color: var(--dark-border);
}

.dark-mode .page-link:hover {
    background: var(--dark-accent);
    color: #ffffff;
    border-color: var(--dark-accent);
}

.dark-mode .page-item.active .page-link {
    background: var(--dark-accent);
    border-color: var(--dark-accent);
}

/* Модальные окна Bootstrap */
.dark-mode .modal-content {
    background: var(--dark-card);
    color: var(--dark-text);
    border: 1px solid var(--dark-border);
}

.dark-mode .modal-header {
    border-bottom: 1px solid var(--dark-border);
}

.dark-mode .modal-footer {
    border-top: 1px solid var(--dark-border);
}

.dark-mode .modal-title {
    color: var(--dark-text);
}

.dark-mode .btn-close {
    filter: invert(1);
}

/* Алерты */
.dark-mode .alert {
    background: var(--dark-card);
    color: var(--dark-text);
    border-color: var(--dark-border);
}

.dark-mode .alert-primary {
    background: rgba(155, 106, 243, 0.1);
    color: var(--dark-accent);
    border-color: var(--dark-accent);
}

.dark-mode .alert-success {
    background: rgba(25, 135, 84, 0.1);
    color: #198754;
    border-color: #198754;
}

.dark-mode .alert-danger {
    background: rgba(220, 53, 69, 0.1);
    color: #dc3545;
    border-color: #dc3545;
}

.dark-mode .alert-warning {
    background: rgba(253, 126, 20, 0.1);
    color: #fd7e14;
    border-color: #fd7e14;
}

.dark-mode .alert-info {
    background: rgba(13, 202, 240, 0.1);
    color: #0dcaf0;
    border-color: #0dcaf0;
}

/* Прогресс бары */
.dark-mode .progress {
    background: var(--dark-card);
}

.dark-mode .progress-bar {
    background: var(--dark-accent);
}

/* Вкладки */
.dark-mode .nav-tabs {
    border-bottom: 1px solid var(--dark-border);
}

.dark-mode .nav-tabs .nav-link {
    color: var(--dark-text);
    border: 1px solid transparent;
}

.dark-mode .nav-tabs .nav-link:hover {
    color: var(--dark-accent);
    border-color: var(--dark-border);
}

.dark-mode .nav-tabs .nav-link.active {
    color: var(--dark-accent);
    background: var(--dark-card);
    border-color: var(--dark-border) var(--dark-border) var(--dark-card);
}

.dark-mode .nav-pills .nav-link {
    color: var(--dark-text);
}

.dark-mode .nav-pills .nav-link.active {
    background: var(--dark-accent);
    color: #ffffff;
}

/* Аккордеон */
.dark-mode .accordion-item {
    background: var(--dark-card);
    border: 1px solid var(--dark-border);
}

.dark-mode .accordion-header .accordion-button {
    background: var(--dark-card);
    color: var(--dark-text);
    border-bottom: 1px solid var(--dark-border);
}

.dark-mode .accordion-button:not(.collapsed) {
    background: rgba(155, 106, 243, 0.1);
    color: var(--dark-accent);
}

.dark-mode .accordion-body {
    background: var(--dark-card);
    color: var(--dark-text);
}

/* Дропдауны */
.dark-mode .dropdown-menu {
    background: var(--dark-card);
    border: 1px solid var(--dark-border);
    box-shadow: 0 4px 15px var(--dark-shadow);
}

.dark-mode .dropdown-item {
    color: var(--dark-text);
}

.dark-mode .dropdown-item:hover {
    background: var(--dark-accent);
    color: #ffffff;
}

.dark-mode .dropdown-divider {
    border-color: var(--dark-border);
}

/* Хлебные крошки */
.dark-mode .breadcrumb {
    background: var(--dark-card);
}

.dark-mode .breadcrumb-item a {
    color: var(--dark-accent);
}

.dark-mode .breadcrumb-item.active {
    color: var(--dark-text);
}

/* Карусель */
.dark-mode .carousel-control-prev,
.dark-mode .carousel-control-next {
    filter: invert(1);
}

.dark-mode .carousel-indicators [data-bs-target] {
    background: rgba(255, 255, 255, 0.5);
}

.dark-mode .carousel-indicators .active {
    background: #ffffff;
}

/* Спиннеры */
.dark-mode .spinner-border {
    color: var(--dark-accent);
}

.dark-mode .spinner-grow {
    color: var(--dark-accent);
}

/* Тултипы */
.dark-mode .tooltip .tooltip-inner {
    background: var(--dark-card);
    color: var(--dark-text);
}

/* Поповеры */
.dark-mode .popover {
    background: var(--dark-card);
    border: 1px solid var(--dark-border);
}

.dark-mode .popover-header {
    background: rgba(155, 106, 243, 0.1);
    border-bottom: 1px solid var(--dark-border);
    color: var(--dark-text);
}

.dark-mode .popover-body {
    color: var(--dark-text);
}

/* Тосты */
.dark-mode .toast {
    background: var(--dark-card);
    color: var(--dark-text);
    border: 1px solid var(--dark-border);
}

.dark-mode .toast-header {
    background: rgba(155, 106, 243, 0.1);
    color: var(--dark-text);
    border-bottom: 1px solid var(--dark-border);
}

/* Офкэнвас */
.dark-mode .offcanvas {
    background: var(--dark-card);
    color: var(--dark-text);
}

.dark-mode .offcanvas-header {
    border-bottom: 1px solid var(--dark-border);
}

/* Стили для специфичных элементов */
.dark-mode .text-muted {
    color: #adb5bd !important;
}

.dark-mode .text-primary {
    color: var(--dark-accent) !important;
}

.dark-mode .text-secondary {
    color: #6c757d !important;
}

.dark-mode .text-success {
    color: #198754 !important;
}

.dark-mode .text-danger {
    color: #dc3545 !important;
}

.dark-mode .text-warning {
    color: #fd7e14 !important;
}

.dark-mode .text-info {
    color: #0dcaf0 !important;
}

.dark-mode .text-light {
    color: #f8f9fa !important;
}

.dark-mode .text-dark {
    color: #212529 !important;
}

/* Фоновые цвета */
.dark-mode .bg-primary {
    background-color: var(--dark-accent) !important;
}

.dark-mode .bg-secondary {
    background-color: #6c757d !important;
}

.dark-mode .bg-success {
    background-color: #198754 !important;
}

.dark-mode .bg-danger {
    background-color: #dc3545 !important;
}

.dark-mode .bg-warning {
    background-color: #fd7e14 !important;
}

.dark-mode .bg-info {
    background-color: #0dcaf0 !important;
}

.dark-mode .bg-light {
    background-color: var(--dark-card) !important;
}

.dark-mode .bg-dark {
    background-color: #212529 !important;
}

/* Рамки */
.dark-mode .border {
    border-color: var(--dark-border) !important;
}

.dark-mode .border-primary {
    border-color: var(--dark-accent) !important;
}

.dark-mode .border-secondary {
    border-color: #6c757d !important;
}

.dark-mode .border-success {
    border-color: #198754 !important;
}

.dark-mode .border-danger {
    border-color: #dc3545 !important;
}

.dark-mode .border-warning {
    border-color: #fd7e14 !important;
}

.dark-mode .border-info {
    border-color: #0dcaf0 !important;
}

.dark-mode .border-light {
    border-color: var(--dark-border) !important;
}

.dark-mode .border-dark {
    border-color: #212529 !important;
}

/* HR элементы */
.dark-mode hr {
    color: var(--dark-border);
    opacity: 1;
}

/* Цитаты */
.dark-mode blockquote {
    border-left: 4px solid var(--dark-accent);
    color: var(--dark-text);
}

/* Код */
.dark-mode code {
    background: rgba(155, 106, 243, 0.1);
    color: var(--dark-accent);
}

.dark-mode pre {
    background: var(--dark-card);
    color: var(--dark-text);
    border: 1px solid var(--dark-border);
}

.dark-mode pre code {
    background: transparent;
    color: var(--dark-text);
}

/* Печать - скрываем темную тему при печати */
@media print {
    .dark-mode {
        background: white !important;
        color: black !important;
    }
    
    .dark-mode * {
        background: white !important;
        color: black !important;
        box-shadow: none !important;
    }
}
