.ui-datepicker td[title] {
    position: relative;
    cursor: pointer;
}

.ui-datepicker td[title]:hover::after {
    content: attr(title);
    position: absolute;
    background: #333;
    color: #fff;
    padding: 5px;
    border-radius: 3px;
    top: -25px;
    left: 0;
    white-space: nowrap;
    z-index: 10;
}

.slot-block {
    display: inline-block;
    padding: 10px;
    margin: 5px;
    text-align: center;
    border-radius: 4px;
    width: 120px;
}
.slot-booked {
    background-color: green;
    color: white;
}
.slot-available {
    background-color: lightgray;
    color: black;
}
.slot-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25);
    border-radius: 5px;
    z-index: 999999;
    padding: 20px;
    display: none;
}
#slot_modal .modal-content {
    /* text-align: center; */
    padding: 20px;
}
.modal-content h3{
    font-size: 18px;
}
.modal-content .form-label{
    font-size: 14px;
    margin-left: 0;
}
#slot_modal .modal-content .form-control{
    width: 100%;
    margin-left: 0;
}
.close-modal {
    position: absolute;
    top: 10px;
    right: 10px;
    cursor: pointer;
}
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 99999;
    display: none;
}
.ui-timepicker-container {
    z-index: 9999999 !important; 
    position: absolute;      
}
.ui-widget.ui-widget-content{
    z-index: 9!important;
}

/* Style the loader */
.loading {
    position: relative;
    pointer-events: none;
    opacity: 0.6;
}

.loading::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    margin-left: -10px;
    border: 2px solid rgba(255, 255, 255, 0.6);
    /* border-top-color: rgba(0, 0, 0, 0.8); */
    border-top-color: rgba(4, 250, 49, 0.9);
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

#slotBookingsTable .status-dropdown{
    font-size: 12px;
}

#slotBookingsTable tr th,
.slot-table tr th{
    font-size: 14px;
}
#slotBookingsTable tr td,
.slot-table tr td{
    font-size: 12px;
    vertical-align: middle;
}
#slotBookingsTable .issued td, 
.slot-table .booked td{
    color:rgba(6, 167, 36, 0.9)
}

.time-slot {
    display: inline-block;
    margin: 5px;
    padding: 10px;
    cursor: pointer;
    border-radius: 5px;
    text-align: center;
}

.slot-available {
    background-color: green;
    color: white;
}

.slot-booked {
    background-color: lightgray;
    color: gray;
}

.selected {
    background-color: rgb(69, 192, 254); /* Highlight selected slots */
}

#time_slots{
    padding-left: 11px;
}
#time_slots p{
    text-align: center;
    font-size: 14px;
    margin-bottom: 40px;
    margin-top: 40px;
    color: rgb(249, 64, 64)
}
#time_slots .time-slot{
    font-size: 12px;
}
.slot_available a{
    background-color: rgb(56, 157, 56)!important;
    color: #fff!important;  
}


.manage-slot-section .nav-link{
    color: #666!important;
}
.manage-slot-section .nav-link:focus, .manage-slot-section .nav-link:hover{
    color: #000!important;
}
.manage-slot-section .nav-tabs .nav-item.show .nav-link, .manage-slot-section  .nav-tabs .nav-link.active{
    color: #000!important;
}

#form-message .alert-success{
    padding-top: 65px;
    padding-bottom: 65px;
}
