:root {
  --axios-accent: #3d8bfd;
  --axios-bg-950: #05070a;
  --axios-bg-900: #0d1117;
  --axios-bg-800: #121a26;
  --axios-border: #2d3648;
  --axios-text-muted: #9aa5b1;
  --axios-radius: 0.85rem;
  --axios-shadow: 0 10px 30px rgba(2, 8, 20, 0.32);
}

body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background: radial-gradient(circle at top right, rgba(61, 139, 253, 0.15), transparent 32%), var(--axios-bg-950);
}

.hero-gradient {
  background: radial-gradient(ellipse at top, rgba(61, 139, 253, 0.25), transparent 55%),
    linear-gradient(160deg, #0b1220 0%, var(--axios-bg-900) 45%, var(--axios-bg-950) 100%);
}

.site-header .navbar {
  background: rgba(5, 7, 10, 0.92);
  backdrop-filter: blur(8px);
}

.page-shell {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.01), rgba(255, 255, 255, 0));
}

.navbar-brand {
  letter-spacing: 0.02em;
}

.nav-avatar {
  object-fit: cover;
}

.card {
  border-radius: var(--axios-radius);
  border-color: var(--axios-border);
  box-shadow: var(--axios-shadow);
}

.portal-alert {
  border-radius: var(--axios-radius);
}

.portal-hero-card {
  border: 1px solid var(--axios-border);
  background: linear-gradient(150deg, rgba(18, 26, 38, 0.9), rgba(13, 17, 23, 0.9));
  border-radius: calc(var(--axios-radius) + 0.2rem);
  padding: 1.5rem;
  box-shadow: var(--axios-shadow);
}

.metric-card {
  background: rgba(18, 26, 38, 0.6);
}

.metric-card.metric-primary {
  border-color: rgba(61, 139, 253, 0.5);
}

.metric-card.metric-success {
  border-color: rgba(58, 201, 131, 0.45);
}

.text-secondary {
  color: var(--axios-text-muted) !important;
}

.footer-link {
  color: var(--axios-text-muted);
  text-decoration: none;
}

.footer-link:hover {
  color: #dbe7ff;
}

.table-dark {
  --bs-table-bg: rgba(18, 26, 38, 0.65);
  --bs-table-striped-bg: rgba(33, 41, 57, 0.75);
}

.portal-list-item {
  border: 1px solid var(--axios-border);
  border-radius: var(--axios-radius);
  background: rgba(18, 26, 38, 0.56);
}

.badge {
  letter-spacing: 0.02em;
}

@media (max-width: 991.98px) {
  .site-header .dropdown-menu {
    margin-bottom: 0.75rem;
  }
}
