/* Custom Base & Utilities strictly sticking to #F7FBFF, #0077B6, #FF8A5B, #03045E */
:root {
  --bg-color: #F7FBFF;
  --primary: #0077B6;
  --warning: #FF8A5B;
  --dark: #03045E;
}

/* Safe areas for iOS mobile webviews */
.pt-safe {
  padding-top: max(0.75rem, env(safe-area-inset-top));
}
.pb-safe {
  padding-bottom: max(0.5rem, env(safe-area-inset-bottom));
}

/* Prevent zooming and text selection on active elements */
button, input, select {
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

/* Nav Item Styling */
.nav-item {
  color: #03045E;
  opacity: 0.6;
}
.nav-item.active {
  color: #0077B6;
  opacity: 1;
  background-color: #F7FBFF;
  transform: translateY(-1px);
}

/* Smooth cards entrance */
.card-animate {
  animation: fadeIn 0.35s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 6px;
}
::-webkit-scrollbar-track {
  background: #F7FBFF;
}
::-webkit-scrollbar-thumb {
  background: #0077B6;
  border-radius: 9999px;
}