/* Calendar Styles */
.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 5px;
}

.calendar-day-name {
    text-align: center;
    font-weight: bold;
    padding: 5px;
}

.calendar-day {
    padding: 8px;
    text-align: center;
    border: 1px solid #ddd;
    border-radius: 4px;
    cursor: pointer;
    position: relative;
}

.calendar-day:hover {
    background-color: #f8f9fa;
}

.calendar-day.selected {
    background-color: #007bff;
    color: white;
    border-color: #007bff;
}

.calendar-day.empty {
    border: none;
}

.calendar-day.past-day {
    color: #aaa;
    cursor: not-allowed;
    background-color: #f1f1f1;
}

.calendar-day.available::after {
    content: '';
    position: absolute;
    bottom: 3px;
    left: 50%;
    transform: translateX(-50%);
    width: 6px;
    height: 6px;
    background-color: #28a745;
    border-radius: 50%;
}

.calendar-day.custom-availability {
    border-color: #007bff;
    border-width: 2px;
}

/* Button Group Styles */
.btn-group {
    display: flex;
    border-radius: 0.25rem;
    overflow: hidden;
}

.btn-group .btn {
    flex: 1;
    border-radius: 0;
    margin: 0;
    border-right-width: 1px;
    border-right-style: solid;
    border-right-color: rgba(0, 0, 0, 0.1);
}

.btn-group .btn:last-child {
    border-right: none;
} 