/* ============================================
   LicServer — СТИЛИ СЕРВЕРА ЛИЦЕНЗИРОВАНИЯ
   ============================================ */

/* ============================================
   1. БАЗОВАЯ СТРУКТУРА
   ============================================ */

/* Тело страницы — растягивается на всю высоту */
body {
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* Основной контент занимает всё доступное пространство */
main {
    flex: 1 0 auto;
}

/* ============================================
   2. НАВБАР
   ============================================ */

/* Верхняя панель навигации */
.navbar {
    background: var(--navbar-bg) !important;
}

    .navbar .nav-link {
        color: rgba(255, 255, 255, 0.85) !important;
    }

        .navbar .nav-link:hover {
            color: #fff !important;
        }

/* Логотип в навбаре */
.navbar-brand {
    color: #fff !important;
    font-weight: 600;
}

/* ============================================
   3. ССЫЛКИ
   ============================================ */

a {
    color: var(--link-color);
}

    a:hover {
        color: var(--link-hover-color);
    }

/* ============================================
   4. ТАБЛИЦЫ
   ============================================ */

.table {
    color: var(--bs-body-color) !important;
}

    .table td,
    .table th {
        background-color: var(--card-bg) !important;
    }

    /* Шапка таблицы */
    .table thead th {
        background-color: var(--table-header-bg) !important;
        color: var(--table-header-color) !important;
    }

/* Подсветка строки при наведении */
.table-hover tbody tr:hover td {
    background-color: rgba(var(--bs-primary-rgb), 0.05) !important;
}

.table-primary {
    background-color: var(--table-header-bg) !important;
}

/* ============================================
   5. КАРТОЧКИ
   ============================================ */

.card {
    border: none;
    background-color: var(--card-bg);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* Шапка карточки с основным цветом */
.card-header-primary {
    background-color: var(--bs-primary) !important;
    color: #fff;
}

/* Тело карточки */
.card-body {
    color: var(--bs-body-color);
}

/* ============================================
   6. КНОПКИ
   ============================================ */

/* Основная синяя кнопка */
.btn-primary {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: #fff !important;
}

    .btn-primary:hover {
        background-color: var(--link-hover-color) !important;
    }

/* Контурная кнопка */
.btn-outline-primary {
    color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

    .btn-outline-primary:hover {
        background-color: var(--bs-primary) !important;
        color: #fff !important;
    }

/* ============================================
   7. ФОРМЫ
   ============================================ */

/* Поля ввода */
.form-control,
.form-select {
    background-color: var(--input-bg);
    border-color: var(--input-border);
    color: var(--bs-body-color);
}

    .form-control:focus,
    .form-select:focus {
        border-color: var(--bs-primary);
        box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
    }

    /* Заблокированное поле */
    .form-control:disabled {
        background-color: var(--input-bg);
        opacity: 0.7;
    }

/* Группы ввода */
.input-group-text {
    background-color: var(--input-bg);
    border-color: var(--input-border);
    color: var(--bs-body-color);
}

.form-label {
    color: var(--bs-body-color);
}

/* ============================================
   8. БЕЙДЖИ, ТЕКСТ, ЗАГОЛОВКИ
   ============================================ */

.badge.bg-primary {
    background-color: var(--bs-primary) !important;
}

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

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    color: var(--heading-color);
}

    h5.mb-0 {
        color: #fff !important;
    }

/* ============================================
   9. АЛЕРТЫ
   ============================================ */

.alert-success {
    background-color: #d4edda;
    color: #155724;
}

.alert-danger {
    background-color: #f8d7da;
    color: #721c24;
}

/* ============================================
   10. ВЫПАДАЮЩИЕ МЕНЮ
   ============================================ */

.dropdown-menu {
    background-color: var(--card-bg);
}

.dropdown-item {
    color: var(--bs-body-color);
}

    .dropdown-item:hover {
        background-color: rgba(var(--bs-primary-rgb), 0.1);
    }

/* ============================================
   11. СКРОЛЛБАР
   ============================================ */

.table-responsive {
    scrollbar-width: thin;
    scrollbar-color: var(--bs-primary) #e9ecef;
}

/* ============================================
   12. БОКОВОЕ МЕНЮ ПРОФИЛЯ (nav-pills)
   ============================================ */

/* Контейнер — переопределяем Bootstrap-переменные */
.nav-pills {
    --bs-nav-pills-link-active-bg: var(--bs-primary);
    --bs-nav-pills-link-active-color: #fff;
}

    /* Обычная ссылка */
    .nav-pills .nav-link {
        color: var(--bs-primary);
        border-radius: 0.375rem;
        padding: 0.5rem 1rem;
        margin-bottom: 0.25rem;
        transition: all 0.2s;
    }

        .nav-pills .nav-link i {
            margin-right: 0.5rem;
        }

        /* Ховер */
        .nav-pills .nav-link:hover {
            background-color: rgba(var(--bs-primary-rgb), 0.1);
            color: var(--bs-primary);
        }

        /* Активная — жёсткая перебивка Bootstrap */
        .nav-pills .nav-link.active,
        .nav-pills .nav-link.active i,
        .nav-pills .nav-link.active:hover,
        .nav-pills .show > .nav-link {
            color: #fff !important;
            background-color: var(--bs-primary) !important;
        }

/* ============================================
   13. ФУТЕР И НИЖНИЕ БЛОКИ
   ============================================ */

/* Футер */
footer {
    background-color: var(--footer-bg);
}

/* Нижние блоки над футером */
.border-top.py-4,
.border-top.py-3 {
    background-color: var(--footer-bg);
}

/* Анимация гамбургера */
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 2l12 12M14 2L2 14' stroke='rgba(255,255,255,0.85)' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* ============================================
   14. ТЁМНАЯ ТЕМА
   ============================================ */

/* Переменные тёмной темы */
.theme-dark {
    --bs-body-bg: #1e1e2e;
    --bs-body-color: #e8e8f0;
    --navbar-bg: #2d2d3f;
    --link-color: #e3e5ec;
    --link-hover-color: #b0b0c0;
    --table-header-bg: #2d2d3f;
    --table-header-color: #fff;
    --text-muted: #adb5bd;
    --heading-color: #f8f9fa;
    --input-bg: #2d2d3f;
    --input-border: #444;
    --card-bg: #2d2d3f;
    --breadcrumb-active: #adb5bd;
}

    /* --- Текст --- */
    .theme-dark .text-primary {
        color: #e3e5ec !important;
    }

    .theme-dark .breadcrumb-item.active {
        color: #adb5bd !important;
    }

    /* --- Таблицы --- */
    .theme-dark .table td,
    .theme-dark .table th {
        color: #e8e8f0 !important;
    }

    /* --- Кнопки --- */
    .theme-dark .btn-primary {
        background-color: #5a6a8a !important;
        border-color: #5a6a8a !important;
        color: #fff !important;
    }

        .theme-dark .btn-primary:hover {
            background-color: #6b7b9b !important;
            border-color: #6b7b9b !important;
        }

    .theme-dark .btn-outline-primary {
        color: #e3e5ec !important;
        border-color: #5a5a7a !important;
    }

        .theme-dark .btn-outline-primary:hover {
            background-color: #5a5a7a !important;
            color: #fff !important;
            border-color: #5a5a7a !important;
        }

    .theme-dark .btn-outline-dark {
        --bs-btn-color: #adb5bd;
        --bs-btn-border-color: #adb5bd;
        --bs-btn-hover-color: #fff;
        --bs-btn-hover-bg: #5a5a7a;
        --bs-btn-hover-border-color: #5a5a7a;
    }

    /* --- Формы --- */
    .theme-dark .form-control::placeholder,
    .theme-dark .form-select::placeholder,
    .theme-dark textarea::placeholder {
        color: #888 !important;
        opacity: 1;
    }

    .theme-dark .form-control:focus::placeholder,
    .theme-dark .form-select:focus::placeholder,
    .theme-dark textarea:focus::placeholder {
        color: #aaa !important;
    }
    .theme-dark .form-floating label {
        background-color: transparent !important;
    }

        .theme-dark .form-floating label::after {
            background-color: transparent !important;
        }

    /* --- Боковое меню --- */
    .theme-dark .nav-pills .nav-link {
        color: #adb5bd;
    }

        .theme-dark .nav-pills .nav-link:hover {
            background-color: rgba(255, 255, 255, 0.08);
            color: #e3e5ec;
        }

        .theme-dark .nav-pills .nav-link.active,
        .theme-dark .nav-pills .nav-link.active i,
        .theme-dark .nav-pills .nav-link.active:hover,
        .theme-dark .nav-pills .show > .nav-link {
            color: #fff !important;
            background-color: #5a6a8a !important;
        }

    /* --- Футер и границы --- */
    .theme-dark footer,
    .theme-dark .border-top.py-4,
    .theme-dark .border-top.py-3 {
        background-color: var(--navbar-bg);
    }

        .theme-dark footer.border-top,
        .theme-dark .border-top {
            border-top-color: rgba(255, 255, 255, 0.05) !important;
        }
