:root {
  --sidebar-width: 260px;
  --sidebar-collapsed-width: 68px;
  --sidebar-speed: 0.3s;
}

/* Sidebar positioning */
.sidebar {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: var(--sidebar-width);
  transition: width var(--sidebar-speed) ease-in-out;
  z-index: 1000;
}

/* Main content offset */
.main-content {
  margin-left: var(--sidebar-width);
  transition: margin-left var(--sidebar-speed) ease-in-out;
}

/* Collapsed state */
body.sidebar-collapsed .sidebar,
html.sidebar-collapsed .sidebar {
  width: var(--sidebar-collapsed-width) !important;
}

body.sidebar-collapsed .main-content,
html.sidebar-collapsed .main-content,
body.sidebar-collapsed .md\:ml-\[260px\],
html.sidebar-collapsed .md\:ml-\[260px\] {
  margin-left: var(--sidebar-collapsed-width) !important;
}

/* Menu text visibility in collapsed state */
body.sidebar-collapsed .sidebar .menu-text,
html.sidebar-collapsed .sidebar .menu-text {
  opacity: 0;
  width: 0;
  display: inline-block;
  overflow: hidden;
}

body.sidebar-collapsed .sidebar:hover .menu-text,
body.sidebar-collapsed.sidebar-hover .menu-text,
html.sidebar-collapsed .sidebar:hover .menu-text,
html.sidebar-collapsed.sidebar-hover .menu-text {
  opacity: 1;
  width: auto;
  overflow: visible;
}

body.sidebar-collapsed .sidebar.expanded .menu-text,
html.sidebar-collapsed .sidebar.expanded .menu-text {
  opacity: 1;
  width: auto;
  overflow: visible;
}

/* Hover expand */
body.sidebar-collapsed .sidebar:hover,
html.sidebar-collapsed .sidebar:hover {
  width: var(--sidebar-width) !important;
}

body.sidebar-collapsed .sidebar.expanded,
html.sidebar-collapsed .sidebar.expanded {
  width: var(--sidebar-width) !important;
}

/* Active link styling */
.sidebar a.active {
  background-color: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
  border-left: 4px solid #d92d20;
}

/* ponytail:responsive — Mobile overrides (≤767px) */
@media (max-width: 767px) {
  /* Sidebar uses transform on mobile, not margin — reset main-content margin */
  .main-content {
    margin-left: 0 !important;
  }
  body.sidebar-collapsed .main-content,
  html.sidebar-collapsed .main-content {
    margin-left: 0 !important;
  }
  /* Cap sidebar width on narrow screens so it doesn't overflow viewport */
  .sidebar {
    max-width: 85vw !important;
  }
  /* Notification dropdown: keep inside viewport when sidebar is open */
  .sidebar .notif-dropdown-mobile {
    left: auto !important;
    right: 0 !important;
    margin-left: 0 !important;
    max-width: calc(100vw - 2rem) !important;
    width: 18rem !important;
  }
  /* Tighten mobile header padding on very small screens */
  .enterprise-nav {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
  /* Ensure mobile header logo text doesn't overflow */
  .enterprise-logo {
    font-size: 1rem !important;
    max-width: 60vw !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
}

/* Search dropdown */
.search-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white !important;
  color: black !important;
  border: 2px solid #3b82f6;
  border-radius: 8px;
  z-index: 99999 !important;
  display: none;
  min-height: 50px;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5);
  max-height: 300px;
  overflow-y: auto;
  margin-top: 4px;
}
.search-dropdown.visible {
  display: block !important;
}
.search-dropdown a {
  display: block;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #edf2f7;
  color: #2d3748;
  text-decoration: none;
  font-size: 0.875rem;
}
.search-dropdown a:hover {
  background: #f7fafc;
  color: #2b6cb0;
}
.search-no-results {
  padding: 1rem;
  text-align: center;
  color: #718096;
  font-size: 0.875rem;
  font-style: italic;
}