/* FullCalendar Basic Styles */
.fc {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 14px;
}

.fc-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.fc-toolbar-title {
    font-size: 1.5rem;
    font-weight: 600;
}

.fc-button {
    background-color: #007bff;
    border: 1px solid #007bff;
    color: white;
    padding: 0.375rem 0.75rem;
    border-radius: 0.25rem;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    font-size: 1rem;
    line-height: 1.5;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}

.fc-button:hover {
    background-color: #0056b3;
    border-color: #0056b3;
    color: white;
}

.fc-button:active {
    background-color: #004085;
    border-color: #004085;
}

.fc-button:disabled {
    background-color: #6c757d;
    border-color: #6c757d;
    cursor: not-allowed;
}

.fc-daygrid-day {
    border: 1px solid #dee2e6;
    min-height: 100px;
}

.fc-daygrid-day-number {
    padding: 0.5rem;
    font-weight: 500;
}

.fc-daygrid-day.fc-day-today {
    background-color: #fff3cd;
}

.fc-daygrid-day.fc-day-past {
    background-color: #f8f9fa;
}

.fc-event {
    background-color: #007bff;
    border: 1px solid #0056b3;
    color: white;
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
    font-size: 0.875rem;
    cursor: pointer;
    margin: 1px 0;
}

.fc-event:hover {
    background-color: #0056b3;
}

.fc-event-title {
    font-weight: 500;
}

.fc-event-time {
    font-size: 0.75rem;
    opacity: 0.8;
}

.fc-daygrid-event-dot {
    border-color: #007bff;
}

.fc-daygrid-day-events {
    padding: 0.25rem;
}

.fc-col-header {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
}

.fc-col-header-cell {
    padding: 0.5rem;
    font-weight: 600;
    text-align: center;
}

.fc-timegrid-slot {
    border: 1px solid #dee2e6;
    height: 40px;
}

.fc-timegrid-slot-label {
    padding: 0.25rem;
    font-size: 0.875rem;
    color: #6c757d;
}

.fc-timegrid-event {
    background-color: #007bff;
    border: 1px solid #0056b3;
    color: white;
    padding: 0.25rem;
    border-radius: 0.25rem;
    font-size: 0.875rem;
}

.fc-list-day {
    background-color: #f8f9fa;
    padding: 0.5rem;
    font-weight: 600;
    border: 1px solid #dee2e6;
}

.fc-list-event {
    padding: 0.5rem;
    border: 1px solid #dee2e6;
    border-top: none;
}

.fc-list-event-dot {
    border-color: #007bff;
}

.fc-list-event-time {
    color: #6c757d;
    font-size: 0.875rem;
}

.fc-list-event-title {
    font-weight: 500;
}

/* Responsive */
@media (max-width: 768px) {
    .fc-toolbar {
        flex-direction: column;
        gap: 1rem;
    }
    
    .fc-toolbar-title {
        font-size: 1.25rem;
    }
    
    .fc-button {
        font-size: 0.875rem;
        padding: 0.25rem 0.5rem;
    }
}
