/** Message styles **/
.sm--availability-schedule {
    position: relative;
    --sm-pulseSize: 10px;
    --sm-active-color: #00FF04;
    --sm-active-transparent-color: rgb(0 255 4 / 0%);
}

.sm--availability-schedule.offline {
    --sm-active-color: #c31c1c;
    --sm-active-transparent-color: rgb(195 28 28 / 0%);
}

.sm--availability-schedule::before {
    content: '';
    display: inline-block;
    width: var(--sm-pulseSize);
    height: var(--sm-pulseSize);
    margin-right: 5px;
    border-radius: 50%;
    background: var(--sm-active-color);
    box-shadow: 0 0 0 var(--sm-active-color);
    animation: sm--availability-schedule-pulsing 2s infinite;
    transition: all 0.2s;
}

.sm--availability-schedule.offline::before {
    animation: none;
}

@keyframes sm--availability-schedule-pulsing {
    from {
        box-shadow: 0 0 0 0 var(--sm-active-color);
    }
    70% {
        box-shadow: 0 0 0 5px var(--sm-active-transparent-color);
    }
    to {
        box-shadow: 0 0 0 0 var(--sm-active-transparent-color);
    }
}

/** Table styles **/
.sm--availability-schedule-table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #ddd;
}

.sm--availability-schedule-table td {
    border: 1px solid #ddd;
    padding: 10px;
}
