html, body {
  height: 100%;
}

body {
  font-family: system-ui, -apple-system, sans-serif;
}

a {
  text-decoration: none;
}

table {
  border-collapse: collapse;
}

/* Fade-in animation for new rows */
@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateX(-10px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.failure-row {
  animation: slideIn 0.3s ease-out;
}

/* Toast notification styles */
.toast-enter {
  opacity: 0;
  transform: translateY(-10px);
}

.toast-exit {
  opacity: 0;
  transform: translateY(-10px);
}

/* Button loading state */
button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Smooth transitions */
* {
  transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
