.loading-container {
    display: none;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.8);
    z-index: 1000;
    flex-direction: column;
}

.loading {
    border: 16px solid #f3f3f3;
    border-top: 16px solid #005EA5;
    border-radius: 50%;
    width: 120px;
    height: 120px;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.loading-active {
    display: flex;
}

/* Inline holding state for the availability auto-search (MEAN-4089) — sits in the slot
   area rather than a full-screen overlay, so the spinner and detail text centre together
   under the "Choose an appointment" heading. Ported from rnd-inspections (MEAN-4042);
   uses the HR brand blue rather than the Inspections grey. */
.availability-holding {
    text-align: center;
    padding: 30px 0;
}

.availability-holding__spinner {
    display: inline-block;
    width: 40px;
    height: 40px;
    border: 5px solid #f3f3f3;
    border-top: 5px solid #005EA5;
    border-radius: 50%;
    animation: spin 1.2s linear infinite;
}
