#root {
    min-height: 100vh;
    display: flex;
    min-width: 0;
    width: 100%;
    height: 100%;
}

.loader {
    margin: auto;
    width: 50px;
    height: 50px;
}

.circular-loader {
    animation: rotate 2s linear infinite;
}

.loader-path {
    fill: none;
    stroke-width: 3px;
    animation: animate-stroke 1.5s ease-in-out infinite;
    stroke-linecap: round;
}

.preparer-card {
    cursor: grab;
    transition: transform 0.2s, box-shadow 0.2s;
}
  
.preparer-card:active {
    cursor: grabbing;
}

.preparer-card.dragging {
    opacity: 0.5;
    transform: scale(1.05);
}

.order-card {
    transition: background-color 0.2s, transform 0.2s;
}

.order-card.drag-over {
    transform: scale(1.02);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.5);
}

.order-card.just-updated-highlight {
    animation: highlight 2s ease-in-out;
}

.drop-success {
    background-color: #d1fae5 !important;
    transition: background-color 0.5s;
}

@keyframes rotate {
    100% {
        transform: rotate(360deg);
    }
}

@keyframes animate-stroke {
    0% {
        stroke-dasharray: 1, 200;
        stroke-dashoffset: 0;
        stroke: #7352C7;
    }
    50% {
        stroke-dasharray: 89, 200;
        stroke-dashoffset: -35;
        stroke: #7352C7;
    }
    100% {
        stroke-dasharray: 89, 200;
        stroke-dashoffset: -124;
        stroke: #7352C7;
    }
}

.pac-container {
    z-index: 9999;
}

.swal2-container {
    z-index: 2500 !important;
}

#preparers {
    position: sticky;
    top: 80px;
    align-self: flex-start;
}

.preparer-field.preparer-updated {
    animation: preparerFieldFlash 2.2s ease-out;
    border-radius: 6px;
    padding: 2px 6px;
}

@keyframes preparerFieldFlash {
    0% {
        background-color: #bbf7d0; /* green-200 */
    }
    100% {
        background-color: transparent;
    }
}