/* Сайдбар */ .sidebar { height: 100vh; background-color: var(--sidebar-color); color: var(--sidebar-text-color); position: fixed; left: 0; top: 0; z-index: 999; overflow: hidden; transition: width 0.2s ease; display: flex; flex-direction: column; } /* Контейнер для основного контента меню */ .sidebar-content { flex: 1; overflow-y: auto; overflow-x: hidden; padding-bottom: 20px; padding-right: 10px; /* Отступ справа для скроллбара */ } /* Заголовок меню */ .sidebar-title { margin-bottom: 20px; font-size: 18px; font-weight: bold; color: var(--sidebar-text-color); padding: 10px; } /* Элементы меню */ .menu-item { margin-bottom: 10px; color: var(--sidebar-text-color); width: 100%; } /* Элемент для перетаскивания */ .sidebar-resizer { width: 5px; height: 100%; background-color: rgba(255, 255, 255, 0.1); position: absolute; right: 0; top: 0; cursor: ew-resize; transition: background-color 0.2s ease; z-index: 1000; } .sidebar-resizer:hover { background-color: rgba(255, 255, 255, 0.3); } /* Стили для заголовка элемента меню */ .menu-item-header { display: flex; align-items: center; justify-content: space-between; /* Распределяем пространство между элементами */ padding: 10px; border-radius: 5px; cursor: pointer; transition: background-color 0.3s ease; width: 100%; /* Занимаем всю доступную ширину */ box-sizing: border-box; /* Учитываем padding в ширине */ } /* Стили для текста элемента меню */ .menu-item-header span { flex: 1; /* Текст занимает все доступное пространство */ margin-right: 14px; /* Отступ справа для текста */ overflow: hidden; /* Скрываем текст, который не помещается */ text-overflow: ellipsis; /* Добавляем многоточие, если текст не помещается */ } /* Стили для иконок */ .menu-item-header .open-parent-icon, .menu-item-header .toggle-icon { flex-shrink: 0; /* Запрещаем сжатие иконок */ margin-left: 1px; /* Отступ между иконками */ cursor: pointer; } .menu-item-header:hover { background-color: rgba(255, 255, 255, 0.1); } /* Круглый индикатор статуса */ .status-indicator { width: 10px; height: 10px; border-radius: 50%; margin-right: 10px; flex-shrink: 0; } /* Подменю */ .submenu { margin-left: 20px; /* Отступ слева для вложенных элементов */ margin-top: 10px; } /* Стили для элементов нижнего уровня вложенности */ /* Дополнительные отступы для элементов без иконок */ .menu-item:not(.has-children) .menu-item-header { padding-right: 25px; /* Добавляем отступ справа для элементов без иконок */ } /* Футер сайдбара */ .sidebar-footer { padding: 10px; background-color: var(--sidebar-color); text-align: center; border-top: 1px solid rgba(255, 255, 255, 0.1); flex-shrink: 0; width: 100%; } .help, .settings { color: var(--sidebar-text-color); margin: 5px 0; overflow-x: hidden; text-align: left; }