
/* public/assets/css/app.css */
/* Layout */
:root{
  --sidebar-w: 260px;
  --sidebar-w-collapsed: 64px;
}
body{
  min-height:100vh;
}
.sidebar{
  width:var(--sidebar-w);
  min-height:100vh;
  position:sticky;
  top:0;
  background:#fff;
}
/* Collapsed */
.sidebar.collapsed{
  width:var(--sidebar-w-collapsed);
}
.sidebar .brand{ white-space:nowrap; overflow:hidden; }
.sidebar.collapsed .brand{ display:none; }

.nav .nav-link,
.nav .has-children{
  display:flex; align-items:center; gap:.75rem;
  color:#2f3a4a; padding:.5rem .75rem; border-radius:.75rem; margin:.125rem .25rem;
}
.nav .nav-link i,.nav .has-children i{ font-size:1.1rem; }
.nav .nav-link.active{ background:#e8f0fe; color:#174ea6; }
.nav .nav-link.disabled{ color:#98a2b3; cursor:not-allowed; }
.nav .nav-section{ color:#98a2b3; padding:.75rem .75rem .25rem; }

/* Sublinks */
.nav-sublink{
  display:flex; align-items:center; gap:.5rem;
  color:#334155; padding:.375rem .75rem .375rem 2.3rem;
  margin:.125rem .25rem; border-radius:.5rem; text-decoration:none;
}
.nav-sublink:hover{ background:#f3f4f6; }
.nav-sublink.active{ background:#e8f0fe; color:#174ea6; }
.nav-sublink .dot{
  width:.45rem; height:.45rem; border-radius:50%; background:#94a3b8; display:inline-block;
}

/* Collapsed visuals */
.sidebar.collapsed .nav span{ display:none; }
.sidebar.collapsed .nav .has-children .bi-caret-down{ display:none; }
.sidebar.collapsed .nav-sublink{ padding-left:1.25rem; }
.sidebar.collapsed .nav .nav-section{ display:none; }

/* Main area flex */
#main{
  width:100%;
}

/* Responsive: auto collapse under 992px */
@media (max-width: 991.98px){
  .sidebar{ position:fixed; z-index:1040; left:0; transform:translateX(-100%); transition:transform .2s ease; }
  .sidebar.show{ transform:none; }
  #main{ margin-left:0 !important; }
  body.offcanvas-open{ overflow:hidden; }
}
