/* =============== Sidebar =============== */
.sb a{
  color:#333;
  display:flex; align-items:center; gap:10px;
  padding:8px 12px;
  transition:background-color .2s ease, color .2s ease;
}
.sb a i,
.sb button i{
  color:#888; font-size:1rem; transition:color .2s ease;
}

/* Hover */
.sb a:hover{ 
  background-color: #f5f5f5; 
  color: #000; 
}

/* Active */
.sb a.active{
  color: #70ad38; background-color: #EAF6FF; font-weight:500;
}
.sb a.active i{ color: #70ad38; }

/* Sidebar container + consistent widths */
#sidebar{
  position:relative; overflow:hidden; transition:width .3s ease;
  width:var(--sidebar-w); min-width:var(--sidebar-w); max-width:var(--sidebar-w);
  flex:0 0 var(--sidebar-w); box-sizing:border-box;
}
#sidebar.collapsed{
  width:var(--sidebar-cw) !important;
  min-width:var(--sidebar-cw) !important;
  max-width:var(--sidebar-cw) !important;
  flex-basis:var(--sidebar-cw) !important;
}

/* Neutralize Bootstrap grid widths if present on some pages */
#sidebar[class*="col-"]{
  flex:0 0 var(--sidebar-w) !important;
  max-width:var(--sidebar-w) !important;
}
#sidebar.collapsed[class*="col-"]{
  flex:0 0 var(--sidebar-cw) !important;
  max-width:var(--sidebar-cw) !important;
}

/* Keep labels hidden when collapsed */
#sidebar.collapsed .sb a span{ display:none; }
#sidebar.collapsed .sb a{
  justify-content:center; padding:8px 0; position:relative;
}
#sidebar.collapsed .sb .std{ margin-left:0; }

/* Sidebar toggle button inside link */
.sidebar-toggle{ position:absolute; right:20px; }
#sidebar.collapsed .sb a .sidebar-toggle{ right:5px; font-size:.6rem; }

/* Floating label (collapsed) */
.floating-label{
  position:fixed; left:var(--sidebar-cw); transform:translateY(-50%);
  background:#f5f5f5; color:#000;
  padding:8px 20px; white-space:nowrap; min-width:140px;
  border-radius:4px; z-index:1000;
  transition:background-color .2s ease, color .2s ease;
}
.floating-label-active{ background-color:var(--bg-active); color:var(--primary); font-weight:500; }
.floating-label-hover{ background-color:var(--danger-10); color:var(--danger); font-weight:500; }

/* Small description text beside links */
.std{ margin-left:20px; opacity:.7; transition:opacity .3s ease; }
.std:hover{ opacity:1; }

/* Dropdown arrow only on hover */
.dropdown .dropdown-arrow{ display:none; font-size:.8rem; }
.dropdown:hover .dropdown-arrow{ display:inline-block; }

/* Ensure main content fills remaining space */
.main-content, #content, .content-wrapper{ flex:1 1 auto; min-width:0; }
