:root {
  --order3-primary: #3C7DA6;
  --order3-primary-rgb: 60, 125, 166;
  --order3-primary-hover: #346f93;
  --order3-primary-active: #2e6281;
  --order3-primary-subtle: rgba(60, 125, 166, 0.14);
  --order3-primary-subtle-border: rgba(60, 125, 166, 0.28);
  --bs-primary: var(--order3-primary);
  --bs-primary-rgb: var(--order3-primary-rgb);
  --bs-link-color: var(--order3-primary);
  --bs-link-hover-color: var(--order3-primary-hover);
}

body {
  min-height: 100vh;
}

.auth-shell {
  max-width: 520px;
}

.sidebar-link {
  border-radius: 0.65rem;
}

.nav-pills .nav-link.sidebar-link {
  color: #1f2937;
}

.nav-pills .nav-link.sidebar-link:hover {
  background: var(--order3-primary-subtle);
  color: var(--order3-primary);
}

.nav-pills .nav-link.sidebar-link.active,
.nav-pills .show > .nav-link.sidebar-link {
  font-weight: 600;
  background: var(--order3-primary);
  border: 1px solid var(--order3-primary);
  color: #fff !important;
  box-shadow: 0 0.35rem 0.9rem rgba(var(--order3-primary-rgb), 0.28);
}

.offcanvas .nav-pills .nav-link.sidebar-link.active,
.offcanvas .nav-pills .show > .nav-link.sidebar-link {
  background: var(--order3-primary);
  border-color: var(--order3-primary);
  color: #fff !important;
}

.btn-primary {
  --bs-btn-bg: var(--order3-primary);
  --bs-btn-border-color: var(--order3-primary);
  --bs-btn-hover-bg: var(--order3-primary-hover);
  --bs-btn-hover-border-color: var(--order3-primary-hover);
  --bs-btn-active-bg: var(--order3-primary-active);
  --bs-btn-active-border-color: var(--order3-primary-active);
  --bs-btn-disabled-bg: var(--order3-primary);
  --bs-btn-disabled-border-color: var(--order3-primary);
}

.btn-outline-primary {
  --bs-btn-color: var(--order3-primary);
  --bs-btn-border-color: var(--order3-primary);
  --bs-btn-hover-bg: var(--order3-primary);
  --bs-btn-hover-border-color: var(--order3-primary);
  --bs-btn-active-bg: var(--order3-primary-active);
  --bs-btn-active-border-color: var(--order3-primary-active);
}

.text-bg-primary {
  background-color: var(--order3-primary) !important;
  color: #fff !important;
}

.bg-primary {
  background-color: var(--order3-primary) !important;
}

.text-primary {
  color: var(--order3-primary) !important;
}

.form-check-input:checked {
  background-color: var(--order3-primary);
  border-color: var(--order3-primary);
}

.mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.entity-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.entity-card {
  border-radius: 0.9rem;
  border: 1px solid rgba(60, 125, 166, 0.12) !important;
  transition: transform 0.14s ease, box-shadow 0.14s ease, border-color 0.14s ease;
}

.entity-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 0.75rem 1.5rem rgba(14, 24, 36, 0.08) !important;
  border-color: rgba(60, 125, 166, 0.28) !important;
}

.entity-card .card-footer {
  padding-top: 0;
}

.entity-title {
  overflow-wrap: anywhere;
}

@media (max-width: 575.98px) {
  .entity-grid {
    grid-template-columns: 1fr;
  }
}
