/* ==========================================================
   NFMUC IT Incident System — supplemental styles
   (Tailwind handles utility classes; this covers the rest)
   ========================================================== */

.nav-link {
  padding: .5rem .85rem;
  border-radius: .5rem;
  font-size: .825rem;
  font-weight: 600;
  color: rgba(255,255,255,.75);
  transition: background-color .15s ease, color .15s ease;
}
.nav-link:hover { background-color: rgba(255,255,255,.1); color: #fff; }
.nav-link-active { background-color: rgba(255,255,255,.15); color: #fff; }

/* Auth page split-panel background */
.auth-bg {
  background: radial-gradient(circle at 15% 20%, rgba(45,151,202,.35), transparent 45%),
              radial-gradient(circle at 85% 80%, rgba(242,165,65,.30), transparent 45%),
              linear-gradient(135deg, #0f3f5c 0%, #123a52 45%, #0a2c40 100%);
}

.auth-card {
  backdrop-filter: blur(6px);
}

/* Floating decorative blobs on auth pages */
.blob {
  position: absolute;
  border-radius: 9999px;
  filter: blur(50px);
  opacity: .35;
  animation: float 9s ease-in-out infinite;
  pointer-events: none;
}
@keyframes float {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50%      { transform: translate(18px, -22px) scale(1.08); }
}

/* Card hover lift used on dashboard stat cards / incident cards */
.lift-hover {
  transition: transform .2s ease, box-shadow .2s ease;
}
.lift-hover:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 24px -12px rgba(15,63,92,.25);
}

/* Animated progress ring stroke (used for dashboard resolution rate) */
.ring-progress {
  transition: stroke-dashoffset 1s cubic-bezier(.4,0,.2,1);
}

/* Table row stagger-in */
.stagger-row { opacity: 0; animation: fadeInUp .45s ease-out forwards; }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

/* Custom scrollbar for modal / long lists */
.thin-scroll::-webkit-scrollbar { width: 6px; }
.thin-scroll::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }
.thin-scroll::-webkit-scrollbar-track { background: transparent; }

/* Password strength bar */
.pw-bar { height: 4px; border-radius: 2px; transition: all .25s ease; }

/* Toast */
.toast {
  position: fixed;
  bottom: 1.25rem;
  right: 1.25rem;
  z-index: 60;
}

/* Skeleton shimmer (optional use) */
.shimmer {
  background: linear-gradient(90deg, #eef2f6 25%, #f7f9fb 37%, #eef2f6 63%);
  background-size: 400% 100%;
  animation: shimmer 1.4s ease infinite;
}
@keyframes shimmer {
  0% { background-position: 100% 50%; }
  100% { background-position: 0 50%; }
}

/* Focus ring consistency on custom inputs */
.input-field:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(45,151,202,.25);
  border-color: #2d97ca;
}
