
/* ==========================================================
   DESIGN PLANNING GENERAL - uniquement visuel
   ========================================================== */

#calendar,
.fc,
.fullcalendar,
.calendar-wrapper {
    background: #ffffff !important;
    border-radius: 24px !important;
    padding: 16px !important;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .10) !important;
    border: 1px solid rgba(46,139,87,.12) !important;
}

/* Barre du haut */
.fc .fc-toolbar {
    background: linear-gradient(135deg, #2e8b57, #34c77b) !important;
    color: #ffffff !important;
    padding: 14px 16px !important;
    border-radius: 20px !important;
    margin-bottom: 16px !important;
    box-shadow: 0 10px 28px rgba(46,139,87,.22) !important;
}

.fc .fc-toolbar-title {
    color: #ffffff !important;
    font-weight: 900 !important;
    letter-spacing: .2px !important;
    text-transform: capitalize !important;
}

/* Boutons */
.fc .fc-button {
    border: 0 !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.18) !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    box-shadow: none !important;
    transition: all .18s ease !important;
}

.fc .fc-button:hover,
.fc .fc-button:focus,
.fc .fc-button-primary:not(:disabled).fc-button-active {
    background: #ffffff !important;
    color: #2e8b57 !important;
    transform: translateY(-1px) !important;
}

/* En-têtes des jours */
.fc .fc-col-header-cell {
    background: #e8f7ef !important;
    color: #0f172a !important;
    padding: 10px 4px !important;
    border-color: #e8f7ef !important;
}

.fc .fc-col-header-cell-cushion {
    color: #216b43 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
}

/* Cellules */
.fc .fc-daygrid-day,
.fc .fc-timegrid-slot,
.fc .fc-scrollgrid,
.fc .fc-theme-standard td,
.fc .fc-theme-standard th {
    border-color: #e2e8f0 !important;
}

.fc .fc-daygrid-day-frame {
    background: linear-gradient(180deg, #ffffff, #fbfdff) !important;
}

/* Aujourd'hui */
.fc .fc-day-today {
    background: #fff7ed !important;
}

.fc .fc-day-today .fc-daygrid-day-number {
    background: #f97316 !important;
    color: #ffffff !important;
    border-radius: 999px !important;
    padding: 4px 8px !important;
}

/* Numéros des jours */
.fc .fc-daygrid-day-number {
    color: #334155 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    padding: 8px !important;
}

/* Événements */
.fc .fc-event,
.fc .fc-daygrid-event,
.fc .fc-timegrid-event {
    border: 0 !important;
    border-radius: 12px !important;
    padding: 4px 7px !important;
    font-weight: 800 !important;
    box-shadow: 0 8px 18px rgba(15,23,42,.16) !important;
    overflow: hidden !important;
    background: linear-gradient(135deg, #2e8b57, #34c77b) !important;
    color: #ffffff !important;
}

/* Salles / textes contenant salle */
.fc a[title*="Salle"],
.fc a[title*="salle"],
.fc a[title*="🏢"],
.fc a[title*="🏛"] {
    background: linear-gradient(135deg, #7c3aed, #a855f7) !important;
}

/* Véhicules */
.fc a[title*="🚗"],
.fc a[title*="vehicule"],
.fc a[title*="véhicule"],
.fc a[title*="Voiture"] {
    background: linear-gradient(135deg, #2e8b57, #34c77b) !important;
}

/* Terminé / validé si classes présentes */
.fc-event.terminee,
.fc-event.terminée {
    background: linear-gradient(135deg, #64748b, #94a3b8) !important;
}

.fc-event.validee,
.fc-event.validée {
    background: linear-gradient(135deg, #16a34a, #22c55e) !important;
}

/* Texte événements */
.fc .fc-event-title,
.fc .fc-event-time {
    color: #ffffff !important;
    font-weight: 800 !important;
}

/* Hover */
.fc .fc-event:hover {
    filter: brightness(1.05) !important;
    transform: translateY(-1px) !important;
}

/* Vue liste */
.fc .fc-list {
    border-radius: 18px !important;
    overflow: hidden !important;
    border-color: #e2e8f0 !important;
}

.fc .fc-list-day-cushion {
    background: linear-gradient(135deg, #2e8b57, #34c77b) !important;
    color: #ffffff !important;
    font-weight: 900 !important;
}

.fc .fc-list-event:hover td {
    background: #e8f7ef !important;
}

/* Mobile */
@media (max-width: 768px) {
    #calendar,
    .fc,
    .fullcalendar,
    .calendar-wrapper {
        padding: 8px !important;
        border-radius: 18px !important;
    }

    .fc .fc-toolbar {
        flex-direction: column !important;
        gap: 10px !important;
        padding: 12px !important;
    }

    .fc .fc-toolbar-title {
        font-size: 18px !important;
        text-align: center !important;
    }

    .fc .fc-button {
        padding: 7px 9px !important;
        font-size: 12px !important;
    }

    .fc .fc-event {
        font-size: 11px !important;
        padding: 3px 5px !important;
        border-radius: 9px !important;
    }
}
