[x-cloak] { display: none !important; }

.notification-enter { animation: slideIn 0.3s ease-out; }
.notification-exit { animation: slideOut 0.3s ease-in; }

@keyframes slideIn {
  from { transform: translateX(100%); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}
@keyframes slideOut {
  from { transform: translateX(0); opacity: 1; }
  to { transform: translateX(100%); opacity: 0; }
}

.stat-card {
  @apply bg-white rounded-lg shadow p-4;
}

.btn-primary {
  @apply bg-indigo-600 text-white px-4 py-2 rounded-md hover:bg-indigo-700 text-sm font-medium transition-colors;
}
.btn-secondary {
  @apply bg-white text-gray-700 px-4 py-2 rounded-md border border-gray-300 hover:bg-gray-50 text-sm font-medium transition-colors;
}
.btn-danger {
  @apply bg-red-600 text-white px-4 py-2 rounded-md hover:bg-red-700 text-sm font-medium transition-colors;
}
.btn-sm {
  @apply px-3 py-1.5 text-xs;
}

.form-input {
  @apply block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 text-sm;
}
.form-select {
  @apply block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 text-sm;
}
.form-label {
  @apply block text-sm font-medium text-gray-700 mb-1;
}
