/* Flash + confirm modal (Tailwind handles most UI) */
@keyframes flashSlideIn {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.flash-message {
  animation: flashSlideIn 0.3s ease-out;
}

.confirm-modal:not(.hidden) .confirm-modal-backdrop {
  opacity: 1;
}
.confirm-modal:not(.hidden) .confirm-modal-content {
  transform: scale(1);
  opacity: 1;
}

.extend-modal:not(.hidden) .extend-modal-backdrop {
  opacity: 1;
}
.extend-modal:not(.hidden) .extend-modal-content {
  transform: scale(1);
  opacity: 1;
}

button,
[type="button"],
[type="submit"],
[type="reset"] {
  cursor: pointer;
}

/* Run show header: sticky below main nav (matches staging deployment header) */
:root {
  --nav-height: 57px;
}
@media (min-width: 640px) {
  :root {
    --nav-height: 65px;
  }
}

@media (max-width: 639px) {
  .run-header-subtitle {
    overflow-x: visible;
  }
  .run-header-subtitle-inner {
    white-space: normal;
  }
}

@media (min-width: 640px) {
  .run-header-subtitle-inner {
    white-space: nowrap;
  }
}

.hide-scrollbar {
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.hide-scrollbar::-webkit-scrollbar {
  display: none;
}

.run-actions-strip {
  scroll-snap-type: x mandatory;
}
.run-actions-strip .snap-start {
  scroll-snap-align: start;
}

.run-actions-strip form {
  display: inline-flex;
  flex-shrink: 0;
  scroll-snap-align: start;
  margin: 0;
}
