/* Sidebar Styles */
.sidebar {
  position: fixed;
  top: 0;
  left: 0;
  width: 250px;
  height: 100vh;
  background: #2c3e50;
  padding: 0px 0 0;
  /* overflow: scroll; */
  /* overflow-y: auto; */
  z-index: 1000;
  transition: transform 0.3s ease;
}
.sidebar-nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.sidebar-nav li {
  margin: 0;
  padding: 0;
  position: relative;
}
.sidebar-nav a {
  display: flex;
  align-items: center;
  padding: 3px 20px;
  color: #ecf0f1;
  text-decoration: none;
  transition: all 0.3s ease;
  position: relative;
}
.sidebar-nav a:hover {
  background: #466686;
}
.sidebar-nav a i {
  margin-right: 10px;
  width: 20px;
  text-align: center;
}
.has-submenu > a::after {
  content: '\f054';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  position: absolute;
  right: 20px;
  transition: transform 0.3s ease;
}
.has-submenu.active > a::after {
  transform: rotate(90deg);
}
.submenu {
  display: none;
  background: #34495e;
  position: absolute;
  left: 100%;
  top: 0;
  min-width: 250px;
  box-shadow: 2px 0 5px rgba(0, 0, 0, 0.2);
  z-index: 1001;
}
.has-submenu:hover .submenu {
  display: block;
}
.submenu a {
  padding: 3px 20px;
  font-size: 0.9em;
}
.submenu .submenu {
  left: 100%;
  top: 0;
}
.sidebar-special > a {
  background: #e4e4e4;
  color: #2c3e50 !important;
  font-weight: bold;
  border-radius: 4px;
  margin: 8px 0px; /* відступ між кнопками */
  transition: background 0.3s, color 0.3s;
}
.sidebar-special > a:hover {
  background: #e6e479;
  color: #1a232b !important;
}
.sidebar-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 10px;
  padding-top: 15px;
}
.sidebar-logo img {
  max-width: 120px;
  width: 100%;
  height: auto;
  display: block;
}
/* Адаптивність */
@media (max-width: 1200px) {
  .sidebar {
    transform: translateX(-100%);
  }
  .sidebar.active {
    transform: translateX(0);
  }
  .submenu {
    position: static;
    box-shadow: none;
    background: #2c3e50;
    padding-left: 20px;
  }
}
