.drag-reorder-placeholder {
  box-sizing: border-box;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  min-height: 64px;
  padding: 10px;
  border: 2px dashed #0369a1;
  border-radius: 14px;
  background: #eff8fc;
  color: #075985;
  font-size: .9rem;
  font-weight: 800;
  text-align: center;
  list-style: none;
  pointer-events: none;
}

.drag-reorder-placeholder.is-origin {
  border-color: #64748b;
  background: #f8fafc;
  color: #475569;
}

.drag-reorder-placeholder.is-overlay-target {
  border-color: transparent;
  background: transparent;
  color: transparent;
}

.drag-reorder-placeholder.is-return-target {
  border-color: #64748b;
  background: #f8fafc;
  color: #475569;
}

.stop-drag-preview {
  position: fixed !important;
  z-index: 2147483646;
  margin: 0 !important;
  border: 2px solid #0284c7 !important;
  background: #fff !important;
  box-shadow: 0 16px 38px rgba(3, 105, 161, .28) !important;
  opacity: 1 !important;
  pointer-events: none;
  touch-action: none;
  user-select: none;
  will-change: transform;
  transition: none !important;
}

.drag-slot-overlay {
  position: fixed;
  z-index: 2147483647;
  box-sizing: border-box;
  display: grid;
  place-items: center;
  border: 3px dashed #0369a1;
  border-radius: 14px;
  background: rgba(239, 248, 252, .22);
  color: #075985;
  pointer-events: none;
}

.drag-slot-overlay[hidden] {
  display: none !important;
}

.drag-slot-overlay::after {
  position: absolute;
  top: -11px;
  right: 10px;
  padding: 2px 8px;
  border: 1px solid #bae6fd;
  border-radius: 999px;
  background: #eff8fc;
  box-shadow: 0 1px 4px rgba(8, 47, 73, .12);
  color: #075985;
  content: attr(data-label);
  font-size: .78rem;
  font-weight: 800;
  line-height: 1.4;
}

.stop-drag-preview.is-invalid {
  border-color: #b91c1c !important;
  background: #fff7f7 !important;
  box-shadow: 0 16px 38px rgba(185, 28, 28, .24) !important;
}

.stop-drag-preview.is-returning {
  transition: transform 190ms cubic-bezier(.2, .75, .3, 1) !important;
}

body.is-stop-dragging {
  cursor: grabbing;
  user-select: none;
}

@media (prefers-reduced-motion: reduce) {
  .stop-drag-preview.is-returning {
    transition-duration: .01ms !important;
  }
}
