:root{
  --app-sidebar-width: 260px;
}

body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.app-topbar{
  position: sticky;
  top: 0;
  z-index: 1030;
  background: var(--bs-body-bg);
}

.app-layout{
  display: flex;
  min-height: calc(100vh - 56px);
}

.app-sidebar{
  width: var(--app-sidebar-width);
  flex: 0 0 var(--app-sidebar-width);
  background: var(--bs-body-bg);
  transition: width .2s ease;
}

.app-content{
  flex: 1 1 auto;
  min-width: 0;
}

.app-navlink{
  border-radius: .5rem;
  color: var(--bs-body-color);
}

.app-navlink:hover{
  background: rgba(13,110,253,.08);
}

body.sidebar-collapsed .app-sidebar{
  width: 0;
  flex: 0 0 0;
  overflow: hidden;
}

@media (max-width: 992px){
  .app-sidebar{
    position: fixed;
    left: 0;
    top: 56px;
    bottom: 0;
    z-index: 1025;
    box-shadow: 0 0.5rem 1.25rem rgba(0,0,0,.12);
    transform: translateX(-100%);
    transition: transform .2s ease;
  }
  body.sidebar-open .app-sidebar{
    transform: translateX(0);
  }
  body.sidebar-open::before{
    content: "";
    position: fixed;
    inset: 56px 0 0 0;
    background: rgba(0,0,0,.35);
    z-index: 1024;
  }
  body.sidebar-open .app-content{
    pointer-events: none;
  }
}

