/* Sidebar component styles */
#ab-sidebar { width:15rem; position:fixed; left:0; top:var(--ab-header-offset,0); height:calc(100vh - var(--ab-header-offset,0)); z-index:1030; display:flex; flex-direction:column; background:var(--bs-body-bg,#fff); transition:transform .2s ease, width .2s ease; }
body.ab-has-sidebar { margin-left:15rem; transition: margin-left .2s ease; }
#ab-sidebar.ab-collapsed { width:4rem; }
body.ab-has-sidebar.ab-sidebar-collapsed { margin-left:4rem; }

/* Mobile/off-canvas for viewports < 600px */
@media (max-width:599.98px){
  body.ab-has-sidebar, body.ab-has-sidebar.ab-sidebar-collapsed { margin-left:0 !important; }
  /* Force full mobile width even if .ab-collapsed is present from desktop state */
  #ab-sidebar, #ab-sidebar.ab-collapsed { width:16rem; }
  #ab-sidebar { transform:translateX(-100%); box-shadow:0 0 0 rgba(0,0,0,0); }
  #ab-sidebar.ab-open { transform:none; box-shadow:0 10px 30px rgba(0,0,0,.2); }
  #ab-sidebar-toggle { display:none !important; }
  .ab-sidebar-head { display:flex !important; }
  .ab-sidebar-fab { display:flex !important; }
}

#ab-sidebar .list-group { flex:1 1 auto; overflow-y:auto; padding-top:1.5rem; }
#ab-sidebar .list-group-item { display:flex; align-items:center; gap:.5rem; border:0; border-radius:0; }
#ab-sidebar .item-icon { width:1.25rem; display:inline-flex; justify-content:center; }
#ab-sidebar .item-text { transition:opacity .15s ease; }
#ab-sidebar.ab-collapsed .item-text { display:none; }
#ab-sidebar-toggle { line-height:1; }
/* Menu items */
#ab-sidebar .ab-menu-item { position:relative; padding:0.65rem 0.75rem 0.65rem 0.9rem !important; font-size:0.95rem; border-left: 3px solid transparent; }
#ab-sidebar .ab-menu-item.ab-active { background:#e8f4fd !important; color:#1565c0 !important; border-left-color: #1976D2 !important; }
#ab-sidebar .ab-menu-item.ab-active .item-icon { color:#1565c0; }
#ab-sidebar .ab-menu-item:not(.ab-active):hover { background:#f5f5f5; }
#ab-sidebar.ab-collapsed .ab-menu-item { justify-content:center; }

/* Mobile overlay and fab */
.ab-sidebar-overlay { position:fixed; inset:0; background:rgba(0,0,0,.35); z-index:1029; opacity:0; visibility:hidden; transition:opacity .2s ease, visibility .2s ease; }
.ab-sidebar-overlay.show { opacity:1; visibility:visible; }
.ab-sidebar-fab { position:fixed; bottom:calc(1rem + env(safe-area-inset-bottom, 0)); left:1rem; z-index:1031; width:2.75rem; height:2.75rem; border-radius:50%; border:0; background:#0d6efd; color:#fff; box-shadow:0 6px 18px rgba(0,0,0,.18); display:none; align-items:center; justify-content:center; }
.ab-sidebar-head { display:none; }
