/* Minimal backend dashboard styles for collapsible sidebar */
:root {
  --sidebar-width: 240px;
  --sidebar-width-collapsed: 72px;
}

#wrapper { display: flex; min-height: 100vh; }

.sidebar { width: var(--sidebar-width); height: 100vh; transition: width 0.25s ease; overflow-y: auto; overflow-x: hidden; scroll-behavior: smooth; overscroll-behavior: contain; }
.sidebar .nav-link { padding: 0.75rem 1rem; border-radius: .5rem; }
.sidebar .nav-link:hover { background: rgba(255,255,255,0.1); }
.sidebar .sidebar-header { height: 56px; }

.sidebar.collapsed { width: var(--sidebar-width-collapsed); }
.sidebar.collapsed .link-text { display: none; }
.sidebar.collapsed .sidebar-title { display: none; }
.sidebar.collapsed .collapse { display: none !important; }

/* Caret indicator for collapsible menu links */
.sidebar .nav-link .caret { margin-left: auto; transition: transform 0.2s ease; opacity: 0.8; }
.sidebar .nav-link[aria-expanded="true"] .caret { transform: rotate(180deg); }
.sidebar.collapsed .nav-link .caret { display: none; }

/* Sidebar brand/logo alignment and vibrant gradient background */
.sidebar { color: #fff; background: linear-gradient(135deg, rgba(13,202,240,0.95) 0%, rgba(13,110,253,0.95) 50%, rgba(102,16,242,0.9) 100%) !important; }
.sidebar .sidebar-header { display: flex; align-items: center; justify-content: flex-start; }
.sidebar.collapsed .sidebar-header { justify-content: center; }
.sidebar.collapsed .sidebar-header .bi { margin-right: 0 !important; }
.sidebar .nav-link { color: #fff; }
.sidebar .nav-link:hover { background: rgba(255,255,255,0.12); }

#content { min-width: 0; display: flex; flex-direction: column; min-height: 100vh; }
#content .container-fluid { flex: 1 0 auto; }
.footer { margin-top: auto; background: #fff; border-top: 1px solid rgba(0,0,0,0.06); }

/* Card accents similar to Master-CpBackend */
.border-start-primary { border-left: .25rem solid var(--bs-primary) !important; }
.border-start-success { border-left: .25rem solid var(--bs-success) !important; }
.border-start-info { border-left: .25rem solid var(--bs-info) !important; }
.border-start-warning { border-left: .25rem solid var(--bs-warning) !important; }

@media (max-width: 991.98px) {
  .sidebar { position: fixed; z-index: 1031; height: 100vh; left: 0; top: 0; }
  #content { margin-left: var(--sidebar-width); transition: margin-left 0.25s ease; }
  .sidebar.collapsed + #content { margin-left: var(--sidebar-width-collapsed); }
}

/* Desktop: keep sidebar full-height and pinned, content scrolls independently */
@media (min-width: 992px) {
  .sidebar { position: fixed; z-index: 1031; height: 100vh; left: 0; top: 0; }
  .sidebar + #content { margin-left: var(--sidebar-width); transition: margin-left 0.25s ease; }
  .sidebar.collapsed + #content { margin-left: var(--sidebar-width-collapsed); }
}