/* Sidebar.css */
.sidebar {
  position: fixed;
  top: 64px;
  left: 0;
  width: 200px;
  height: calc(100vh - 64px);
  background: #fff;
  box-shadow: 2px 0 8px rgba(25,118,210,0.07);
  display: flex;
  flex-direction: column;
  padding-top: 1.5rem;
  z-index: 5;
}
.sidebar-item {
  display: flex;
  align-items: center;
  padding: 0.9rem 1.2rem;
  font-size: 1.1rem;
  color: #1976d2;
  cursor: pointer;
  border-radius: 8px 0 0 8px;
  margin-bottom: 0.3rem;
  transition: background 0.18s, color 0.18s, transform 0.18s cubic-bezier(0.4,0,0.2,1), box-shadow 0.18s;
  animation: slideInLeft 0.7s cubic-bezier(0.4,0,0.2,1);
}
.sidebar-item:hover {
  transform: scale(1.06) translateX(6px);
  box-shadow: 0 10px 32px 0 rgba(25,118,210,0.10);
  border-radius: 18px 8px 8px 18px;
  transition: border-radius 0.18s, box-shadow 0.18s, transform 0.18s;
}
@keyframes slideInLeft {
  from { opacity: 0; transform: translateX(-40px); }
  to { opacity: 1; transform: none; }
}
.sidebar-item.active, .sidebar-item:hover {
  background: #e3f2fd;
  color: #17406d;
}
.sidebar-icon {
  font-size: 1.5rem;
  margin-right: 0.7rem;
}
.sidebar-label {
  font-weight: 500;
}
@media (max-width: 700px) {
  .sidebar {
    width: 60px;
    min-width: 60px;
  }
  .sidebar-label {
    display: none;
  }
}

/* Mobile responsive - 480px and below */
@media (max-width: 480px) {
  .sidebar {
    top: 60px;
    height: calc(100vh - 60px);
    width: 200px;
    min-width: 200px;
    padding-top: 1.5rem;
    overflow-y: auto;
    transform: translateX(-100%);
    transition: transform 0.3s ease-in-out;
  }
  
  .sidebar-open {
    transform: translateX(0);
    box-shadow: 4px 0 20px rgba(0, 0, 0, 0.2);
  }
  
  .sidebar-overlay {
    position: fixed;
    top: 60px;
    left: 0;
    width: 100%;
    height: calc(100vh - 60px);
    background: rgba(0, 0, 0, 0.5);
    z-index: 4;
    animation: fadeIn 0.3s;
  }
  
  @keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }
  
  .sidebar-item {
    padding: 0.9rem 1.2rem;
    font-size: 1.05rem;
  }
  
  .sidebar-icon {
    font-size: 1.4rem;
    margin-right: 0.7rem;
  }
  
  .sidebar-label {
    display: block;
  }
  
  .sidebar-item:hover {
    transform: scale(1.04) translateX(4px);
  }
}
