:root {
  --sidebar-w: 240px;
  --bs-primary: #0d6efd;
}

body { background: #f5f7fa; }

.layout {
  display: flex;
  min-height: 100vh;
}

.sidebar {
  width: var(--sidebar-w);
  position: sticky;
  top: 0;
  height: 100vh;
  flex-shrink: 0;
}

.sidebar .nav-link { border-radius: .375rem; padding: .5rem .75rem; }
.sidebar .nav-link.active,
.sidebar .nav-link:hover:not(.disabled) { background: rgba(255,255,255,.08); color: #fff !important; }

.main {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.content { flex: 1; }

@media (max-width: 767.98px) {
  .layout { display: block; }
  .main { width: 100%; }
}

.auth-body {
  background: linear-gradient(135deg, #eef2ff 0%, #f5f7fa 100%);
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.auth-card-wrap { width: 100%; max-width: 420px; }

.table > :not(caption) > * > * { vertical-align: middle; }
