/* Custom styles that complement Tailwind CDN */

/* Smooth tab transitions */
.tab-content {
  animation: fadeIn 0.15s ease-in;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Sticky table headers */
.sticky-header thead th {
  position: sticky;
  top: 0;
  z-index: 10;
}

/* Custom scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* Status badge overrides */
.status-safe     { background: #dcfce7; color: #166534; }
.status-lost     { background: #fee2e2; color: #991b1b; }
.status-found    { background: #fef9c3; color: #854d0e; }
.status-returned { background: #dbeafe; color: #1e40af; }

/* Loading spinner */
.spinner {
  display: inline-block;
  width: 16px; height: 16px;
  border: 2px solid #e2e8f0;
  border-top-color: #3b82f6;
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* Modal open transition */
.modal-backdrop.open {
  animation: modalFadeIn 0.2s ease;
}
@keyframes modalFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* Responsive table: hide less important cols on mobile */
@media (max-width: 640px) {
  .hide-mobile { display: none; }
}
