:root {
  --vestates-blue: #2b4293;
  --vestates-blue-dark: #182b70;
  --vestates-blue-soft: #eef1fb;
  --vestates-green: #76b82a;
  --vestates-green-dark: #5c921f;
  --vestates-ink: #14213d;
  --vestates-surface: #f6f8fc;
  --bs-primary-rgb: 43, 66, 147;
  --bs-link-color: #2b4293;
  --bs-link-hover-color: #182b70;
  --iqss-sidebar-bg: #ffffff;
  --iqss-sidebar-border: #dfe5f2;
  --iqss-sidebar-text: #1f2d4d;
  --iqss-sidebar-muted: #71809f;
  --iqss-sidebar-hover: #f1f4fc;
  --iqss-sidebar-active-bg: #e8edf9;
  --iqss-sidebar-active-border: #2b4293;
  --iqss-sidebar-icon: #6f7da0;
  --iqss-sidebar-icon-active: #2b4293;
}

body {
  background: var(--vestates-surface) !important;
  color: var(--vestates-ink);
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

h1, h2, h3, .brand-heading, .iqss-topbar-title {
  color: var(--vestates-ink);
  font-family: "Roboto Slab", Georgia, serif;
}

.iqss-sidebar {
  border-right-color: var(--iqss-sidebar-border) !important;
  box-shadow: 10px 0 35px rgba(24, 43, 112, .06) !important;
}

.iqss-sidebar .sidebar-header {
  align-items: flex-start !important;
  background: linear-gradient(150deg, #fff, #f4f7ff);
  flex-direction: column;
  gap: 4px !important;
  min-height: 112px;
  padding: 18px 20px 14px !important;
}

.iqss-sidebar .sidebar-logo {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  height: 46px !important;
  justify-content: flex-start !important;
  width: 190px !important;
}

.iqss-sidebar .sidebar-logo img {
  max-height: 42px !important;
  max-width: 180px !important;
}

.iqss-sidebar .sidebar-title {
  color: var(--vestates-blue-dark) !important;
  font-family: "Roboto Slab", Georgia, serif;
  font-size: .88rem !important;
}

.iqss-sidebar-nav .nav-link.active,
.iqss-sidebar-nav .nav-sublink.active {
  color: var(--vestates-blue) !important;
  box-shadow: inset 3px 0 0 var(--vestates-green);
}

.iqss-sidebar-nav .nav-link.active i,
.iqss-sidebar-nav .nav-sublink.active i,
.nav-group-toggle[aria-expanded="true"] i {
  color: var(--vestates-blue) !important;
}

.iqss-topbar {
  border-bottom-color: #e1e7f3 !important;
  box-shadow: 0 8px 24px rgba(24, 43, 112, .04);
}

.iqss-topbar .badge-env {
  background: #eef7e4 !important;
  border-color: #d5e9bd !important;
  color: var(--vestates-green-dark) !important;
}

.btn-primary {
  --bs-btn-bg: #2b4293;
  --bs-btn-border-color: #2b4293;
  --bs-btn-hover-bg: #182b70;
  --bs-btn-hover-border-color: #182b70;
  --bs-btn-active-bg: #13245f;
  --bs-btn-active-border-color: #13245f;
  --bs-btn-disabled-bg: #2b4293;
  --bs-btn-disabled-border-color: #2b4293;
}

.btn-success {
  --bs-btn-bg: #76b82a;
  --bs-btn-border-color: #76b82a;
  --bs-btn-hover-bg: #5c921f;
  --bs-btn-hover-border-color: #5c921f;
}

.text-primary { color: var(--vestates-blue) !important; }
.bg-primary { background-color: var(--vestates-blue) !important; }
.border-primary { border-color: var(--vestates-blue) !important; }

.card {
  border-color: #e2e7f1;
  box-shadow: 0 10px 26px rgba(24, 43, 112, .045);
}

.form-control:focus,
.form-select:focus {
  border-color: #7d8fc8;
  box-shadow: 0 0 0 .22rem rgba(43, 66, 147, .14);
}

.table thead th {
  color: #405071;
  font-size: .76rem;
  letter-spacing: .025em;
  text-transform: uppercase;
}

.iqss-sidebar-footer {
  background: #f5f7fc !important;
  color: #657393 !important;
}
