:root {
  --vz-primary: #1c4a82;
  --vz-primary-rgb: 28, 74, 130;
  --vz-success: #10b981;
  --vz-success-rgb: 16, 185, 129;
  --vz-warning: #f0b429;
  --vz-warning-rgb: 240, 180, 41;
  --vz-info: #0ea5e9;
  --vz-info-rgb: 14, 165, 233;
  --vz-auth-overlay-start: #10b981;
  --vz-auth-overlay-end: #10b981;
}

.btn-primary {
  background-color: var(--vz-primary);
  border-color: var(--vz-primary);
}
.btn-success {
  background-color: var(--vz-success);
  border-color: var(--vz-success);
}
.btn-warning {
  background-color: var(--vz-warning);
  border-color: var(--vz-warning);
}

a {
  color: var(--vz-primary);
}
a:hover {
  color: #15365f;
}

.badge-soft-primary {
  color: var(--vz-primary);
  background-color: rgba(var(--vz-primary-rgb), 0.15);
}
.badge-soft-success {
  color: var(--vz-success);
  background-color: rgba(var(--vz-success-rgb), 0.15);
}

/* Auth background override: remove centered logo and set green hue */
.auth-one-bg {
  background-image: none !important;
  background-color: #10b981 !important;
}
.auth-one-bg .bg-overlay {
  background: linear-gradient(
    to right,
    var(--vz-auth-overlay-start),
    var(--vz-auth-overlay-end)
  ) !important;
  opacity: 1;
}

/* Sidebar: light, clean look */
.navbar-menu {
  background-color: #ffffff !important;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
  border-right: 1px solid #eef2f6;
}
.navbar-menu .menu-title {
  color: #94a3b8 !important;
  letter-spacing: 0.08em;
  font-weight: 600;
}
.navbar-menu .navbar-nav .nav-link {
  color: #0f172a !important;
  font-weight: 600;
  border-radius: 10px;
  padding: 10px 14px;
  transition: all 0.2s ease;
}
.navbar-menu .navbar-nav .nav-link .badge,
.navbar-menu .navbar-nav .nav-link .menu-arrow {
  color: #94a3b8 !important;
}
.navbar-menu .navbar-nav .nav-link:hover,
.navbar-menu .navbar-nav .nav-link:focus,
.navbar-menu .navbar-nav .nav-link.active {
  background-color: rgba(var(--vz-success-rgb), 0.1);
  color: #0f9b6d !important;
}
.navbar-menu .navbar-nav .nav-link:hover .menu-arrow,
.navbar-menu .navbar-nav .nav-link.active .menu-arrow {
  color: #0f9b6d !important;
}
.navbar-menu .navbar-brand-box {
  background-color: transparent;
  border-bottom: 1px solid #eef2f6;
}

/* Layout fix: remove large blank gap before footer on short pages */
#layout-wrapper {
  min-height: 100vh;
}

.main-content {
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 70px);
}

.main-content .page-content {
  flex: 1 0 auto;
  padding-bottom: 1.5rem !important;
}

.main-content .footer {
  position: static !important;
  height: auto !important;
  left: auto !important;
  right: auto !important;
  margin-top: 0.75rem !important;
}
