/* =============== Sidebar =============== */
:root{
  /* Sidebar widths */
  --sidebar-w: 240px;  /* default (expanded) */
  --sidebar-cw: 80px;  /* collapsed */
}

.sb a{
  color:#636B2E;
  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: rgba(99, 107, 46, .08);
    color: #636B2E; 
}
.sb a:hover i{ 
    color: #636B2E; 
}

/* Active */
.sb a.active{
    color: #636B2E;
    background-color: rgba(99, 107, 46, .15);
    font-weight: 500;
}
.sb a.active i{ color: #636B2E; }

/* 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-color: rgba(99, 107, 46, .08);
  padding:8px 20px; 
  white-space:nowrap; 
  min-width:140px;
  z-index:1000;
  transition:background-color .2s ease, color .2s ease;
}
.floating-label-active {
    color: #636B2E;
    background-color: rgba(99, 107, 46, .15);
    font-weight: 500;
}
.floating-label-hover {
    background-color: rgba(99, 107, 46, .08);
    color: #636B2E; 
}

/* 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; 
}





