/* Критический CSS для предотвращения мигания белого цвета - только ключевые элементы */ @media all { html, body { background-color: #121219 !important; } /* Целевое воздействие только на критичные элементы с белым фоном */ .tab-content, .tab-pane, .modal, .modal-content, .modal-body { background-color: #121219 !important; } } /* Установка темного фона без мигания белым сразу при загрузке */ :root { background-color: #121219 !important; color-scheme: dark; } /* Применение темного фона ко всем ключевым элементам */ .tab-content, .tab-pane, body, html { background-color: #121219 !important; } /* Переопределение для критичных элементов с белым фоном */ .container, .container-fluid, .card, .modal-dialog, .tab-content, .tab-pane { background-color: #121219 !important; } /* Перекрытие inline background (style="background: #fff") на всех уровнях */ .tab-content[style], .tab-pane[style], body[style], html[style] { background-color: #121219 !important; background: #121219 !important; } /* Исправление: fade-анимация появления — чёрный фон вместо белого */ .fade:not(.show) { background-color: #121219 !important; } /* Специально для модальных окон и табов: чёрный фон во время fade */ .modal.fade:not(.show), .tab-pane.fade:not(.show) { background-color: #121219 !important; } /* Усиление: перекрыть фон подложки модального окна и fade-анимаций */ .modal.fade, .tab-pane.fade, .fade:not(.show), .modal-backdrop { background-color: #121219 !important; } /* dark-overrides.css */ /* Подключать сразу после bootstrap.css */ /* 1. Базовые фон и текст */ body { background-color: #121219 !important; color: #e0e0e0 !important; font-family: "Segoe UI", Roboto, sans-serif; } /* 2. Глобальные селекторы текста */ h1, h2, h3, h4, h5, h6, p, li, dt, dd, blockquote, pre, code, small, .lead { color: #e0e0e0 !important; } strong, b { color: #ffffff !important; font-weight: 600 !important; } /* Ссылки белые */ a, a:visited { color: #ffffff !important; text-decoration: none !important; } a:hover, a:focus { color: #e0e0e0 !important; text-decoration: underline !important; } /* 3. Ввод текста в инпутах */ input, textarea, select, .form-control { color: #ffffff !important; background-color: #2a2a36 !important; border: 1px solid #444451 !important; } input::placeholder, textarea::placeholder { color: #9a9a9a !important; } /* 4. Утилиты фона */ .bg-white, .bg-light { background-color: #1e1e26 !important; } .bg-primary { background-color: #4f8ef7 !important; } .bg-secondary { background-color: #5a5a65 !important; } .bg-success { background-color: #3a6e3a !important; } .bg-danger { background-color: #8f3a3a !important; } .bg-warning { background-color: #8e6e3a !important; } .bg-info { background-color: #3a6e8e !important; } .bg-dark { background-color: #000112 !important; } /* 5. Навигация */ .navbar { background-color: #1e1e26 !important; } .navbar-light .navbar-nav .nav-link { color: #e0e0e0 !important; } .navbar-light .navbar-toggler { border-color: #444451 !important; } .navbar-light .navbar-toggler-icon { /* При необходимости заменить на светлую иконку */ } /* 6. Карточки (фон чёрный) */ .card { background-color: #000000 !important; border-color: #27272f !important; } .card-header, .card-footer { background-color: #000000 !important; border-color: #27272f !important; } .card-body { color: #e0e0e0 !important; } .card-title { color: #ffffff !important; } .card-text { color: #b0b0b0 !important; } /* 7. Формы */ .form-control:focus { background-color: #2a2a36 !important; border-color: #4f8ef7 !important; box-shadow: 0 0 0 0.2rem rgba(79,142,247,.25) !important; } /* 8. Кнопки */ .btn { color: #fff !important; border-color: transparent !important; } .btn-primary { background-color: #4f8ef7 !important; border-color: #4f8ef7 !important; } .btn-secondary { background-color: #5a5a65 !important; border-color: #5a5a65 !important; } .btn-success { background-color: #3a6e3a !important; border-color: #3a6e3a !important; } .btn-danger { background-color: #8f3a3a !important; border-color: #8f3a3a !important; } .btn-warning { background-color: #8e6e3a !important; border-color: #8e6e3a !important; } .btn-info { background-color: #3a6e8e !important; border-color: #3a6e8e !important; } .btn-light { background-color: #3a3a44 !important; border-color: #3a3a44 !important; } .btn-dark { background-color: #000112 !important; border-color: #000112 !important; } /* 9. Модальные окна и дропдауны */ .modal-content, .dropdown-menu { background-color: #1e1e26 !important; border-color: #27272f !important; } .modal-header, .modal-footer { border-color: #27272f !important; } /* 10. Таблицы */ .table { color: #e0e0e0 !important; background-color: #1e1e26 !important; } .table thead th { background-color: #242430 !important; } .table tbody tr { border-bottom: 1px solid #27272f !important; } /* 11. Алерты */ .alert { background-color: #2a2a36 !important; color: #e0e0e0 !important; border-color: #444451 !important; } .alert-primary { background-color: #4f8ef7 !important; color: #fff !important; } .alert-secondary { background-color: #5a5a65 !important; color: #fff !important; } .alert-success { background-color: #3a6e3a !important; color: #fff !important; } .alert-danger { background-color: #8f3a3a !important; color: #fff !important; } .alert-warning { background-color: #8e6e3a !important; color: #fff !important; } .alert-info { background-color: #3a6e8e !important; color: #fff !important; } /* 12. Progress bar */ .progress { background-color: #2a2a36 !important; margin-bottom: 15px !important; /* если необходимо */ } .progress-bar { background-color: #4f8ef7 !important; color: #ffffff !important; } /* 13. Список .list-group в тёмной теме */ .list-group { background-color: #1e1e26 !important; /* общий фон списка */ border-radius: 0.25rem; /* чтобы сохранить закругления */ margin-top: 15px !important; margin-bottom: 15px !important; padding-left: 0; padding-right: 0; list-style: none; } /* Элементы списка */ .list-group-item { background-color: #2a2a36 !important; /* темный фон для элементов */ color: #e0e0e0 !important; border: 1px solid #444451 !important; transition: background-color 0.2s ease, color 0.2s ease; padding: 0.75rem 1.25rem; display: flex; align-items: center; justify-content: space-between; } /* Ссылки внутри элементов списка */ .list-group-item a { color: #ffffff !important; text-decoration: none !important; flex-grow: 1; } .list-group-item a:hover, .list-group-item a:focus { color: #4f8ef7 !important; /* Акцентный цвет для ховера */ text-decoration: underline !important; } /* Вариация успешного элемента */ .list-group-item-success { background-color: #3a6e3a !important; color: #e0e0e0 !important; border-color: #2e5a2e !important; } /* Статус справа (выполнено) */ .list-group-item .float-right { color: #3a6e3a !important; /* зеленый цвет */ font-weight: 600; display: flex; align-items: center; gap: 0.25rem; } .list-group-item .float-right i.icon { color: #3a6e3a !important; /* иконка тоже зеленая */ font-size: 1.2rem; } /* Бейджи */ .badge-primary { background-color: #4f8ef7 !important; color: #ffffff !important; font-weight: 600; } /* Плавный переход для списка и элементов */ .list-group, .list-group-item { transition: background-color 0.2s ease, color 0.2s ease !important; } /* Строчный код */ code { background-color: #2a2a36 !important; /* тёмный фон, как у input */ color: #f8f8f2 !important; /* светлый цвет */ padding: 0.2em 0.4em; font-size: 0.9em; border-radius: 3px; font-family: "Courier New", Courier, monospace; transition: background-color 0.2s ease, color 0.2s ease; } /* Блочный код (если есть) */ pre { background-color: #2a2a36 !important; color: #f8f8f2 !important; padding: 1em; border-radius: 5px; overflow-x: auto; font-family: "Courier New", Courier, monospace; font-size: 0.9em; margin-bottom: 1rem; transition: background-color 0.2s ease, color 0.2s ease; } /* Внутри pre — код */ pre > code { background-color: transparent !important; /* чтобы не было двойного фона */ color: inherit !important; padding: 0; border-radius: 0; } /* 14. Sidebar навигация */ .sidebar { background-color: #1e1e26 !important; min-height: 100vh; padding-top: 1rem; border-right: 1px solid #27272f !important; color: #e0e0e0; } /* Убираем стандартные отступы ul.nav */ .sidebar ul.nav { padding-left: 0; margin-bottom: 0; } /* Пункты меню */ .sidebar .nav-link { color: #c0c0c0 !important; padding: 10px 15px !important; font-size: 1rem; border-radius: 0.25rem; transition: background-color 0.2s ease, color 0.2s ease; display: flex; align-items: center; } /* Активный пункт меню */ .sidebar . { background-color: #4f8ef7 !important; color: #ffffff !important; font-weight: 600; } /* Ховер и фокус */ .sidebar .nav-link:hover, .sidebar .nav-link:focus { background-color: #3a6e8e !important; color: #ffffff !important; text-decoration: none !important; outline: none; } /* Иконки внутри nav-link */ .sidebar .nav-link .icon { margin-right: 8px; font-size: 1.2rem; color: inherit; /* наследует цвет родителя */ } /* Логотип в навигации */ .sidebar .nav-link img { height: 35px; margin-left: 8px; } /* Если нужно, чтобы иконка и текст были чуть ближе */ .sidebar .nav-link i.icon { margin-right: 6px; }