/* Styles pour les événements CRVI Agenda */ /* Styles de base pour tous les événements */ .crvi-event { border-radius: 4px !important; border-left: 4px solid !important; font-weight: 500; font-size: 0.85em; padding: 2px 4px !important; margin: 1px 0 !important; box-shadow: 0 1px 3px rgba(0,0,0,0.1); } /* Pastille de statut (cercle coloré) */ .crvi-event::before { content: ''; display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 4px; background-color: var(--statut-color, #28a745); border: 1px solid rgba(255,255,255,0.8); } /* Styles par type de RDV (fond) */ .crvi-type-individuel { background-color: #f8f9fa !important; border-color: #dee2e6 !important; } .crvi-type-groupe { background-color: #e9ecef !important; border-color: #ced4da !important; } /* Styles par statut (pastille) */ .crvi-statut-prevu::before { background-color: #28a745 !important; } .crvi-statut-annule::before { background-color: #dc3545 !important; } .crvi-statut-non_tenu::before { background-color: #ffc107 !important; } .crvi-statut-cloture::before { background-color: #6c757d !important; } .crvi-statut-absence::before { background-color: #fd7e14 !important; } /* Styles par département (pour les icônes personnalisées) */ .crvi-departement-soutien-social { /* Styles spécifiques pour le département Soutien Social */ } .crvi-departement-accompagnement { /* Styles spécifiques pour le département Accompagnement */ } .crvi-departement-formation { /* Styles spécifiques pour le département Formation */ } .crvi-departement-consultation { /* Styles spécifiques pour le département Consultation */ } .crvi-departement-urgence { /* Styles spécifiques pour le département Urgence */ } /* Hover effects */ .crvi-event:hover { transform: translateY(-1px); box-shadow: 0 2px 6px rgba(0,0,0,0.15); transition: all 0.2s ease; } /* Styles pour les événements en mode liste */ .fc-list-event.crvi-event { padding: 8px 12px !important; margin: 2px 0 !important; } .fc-list-event.crvi-event::before { width: 10px; height: 10px; margin-right: 8px; } /* Styles pour les événements en mode jour/semaine */ .fc-daygrid-event.crvi-event, .fc-timegrid-event.crvi-event { border-left-width: 6px !important; padding: 3px 6px !important; } .fc-daygrid-event.crvi-event::before, .fc-timegrid-event.crvi-event::before { width: 6px; height: 6px; margin-right: 3px; } /* Responsive */ @media (max-width: 768px) { .crvi-event { font-size: 0.8em; padding: 1px 3px !important; } .crvi-event::before { width: 6px; height: 6px; margin-right: 2px; } } /* Animation pour les nouveaux événements */ @keyframes crviEventAppear { from { opacity: 0; transform: scale(0.9); } to { opacity: 1; transform: scale(1); } } .crvi-event-new { animation: crviEventAppear 0.3s ease-out; } /* Styles pour les événements sélectionnés */ .crvi-event.fc-event-selected { box-shadow: 0 0 0 2px rgba(0,123,255,0.5); transform: scale(1.02); } /* Styles pour les événements en cours */ .crvi-event.crvi-en-cours { border-left-color: #007bff !important; background-color: rgba(0,123,255,0.1) !important; } /* Styles pour les événements en retard */ .crvi-event.crvi-en-retard { border-left-color: #dc3545 !important; background-color: rgba(220,53,69,0.1) !important; } /* Styles pour les événements terminés */ .crvi-event.crvi-termine { opacity: 0.7; background-color: rgba(108,117,125,0.1) !important; } /* Icônes de département dans le titre */ .crvi-departement-icon { font-size: 1.1em; margin-right: 4px; vertical-align: middle; } /* Tooltip personnalisé pour les événements */ .crvi-event-tooltip { position: absolute; background: rgba(0,0,0,0.9); color: white; padding: 8px 12px; border-radius: 4px; font-size: 0.85em; z-index: 1000; max-width: 300px; box-shadow: 0 4px 12px rgba(0,0,0,0.3); pointer-events: none; } .crvi-event-tooltip::before { content: ''; position: absolute; top: -4px; left: 10px; width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-bottom: 4px solid rgba(0,0,0,0.9); } /* Styles pour les filtres visuels */ .crvi-filter-legend { display: flex; flex-wrap: wrap; gap: 10px; margin: 10px 0; padding: 10px; background: #f8f9fa; border-radius: 4px; border: 1px solid #dee2e6; } .crvi-filter-item { display: flex; align-items: center; font-size: 0.9em; padding: 4px 8px; border-radius: 3px; background: white; border: 1px solid #dee2e6; } .crvi-filter-color { width: 12px; height: 12px; border-radius: 50%; margin-right: 6px; border: 1px solid rgba(0,0,0,0.2); } /* Styles pour les statistiques visuelles */ .crvi-stats-bar { height: 4px; background: #e9ecef; border-radius: 2px; overflow: hidden; margin: 2px 0; } .crvi-stats-fill { height: 100%; transition: width 0.3s ease; } .crvi-stats-fill.prevu { background-color: #28a745; } .crvi-stats-fill.annule { background-color: #dc3545; } .crvi-stats-fill.non_tenu { background-color: #ffc107; } .crvi-stats-fill.cloture { background-color: #6c757d; } .crvi-stats-fill.absence { background-color: #fd7e14; } .fade.show { opacity: 1; } .modal-backdrop.fade.show { opacity: 0.5; } .popover.event-popover.fade, .popover.event-popover.fade.show { opacity: 1 !important; } /* Effets de survol pour les boutons de statut */ #eventStatusButtons .btn { transition: all 0.3s ease; transform: scale(1); } #eventStatusButtons .btn:hover { transform: scale(1.05); padding-left: 1rem; padding-right: 1rem; } /* Styles pour les événements passés (non éditables) */ .fc-event.event-past { opacity: 0.6; cursor: not-allowed !important; } .fc-event.event-past .fc-event-title { text-decoration: line-through; } .fc-event.event-past:hover { opacity: 0.6; transform: none; box-shadow: none; } /* Désactiver le curseur de déplacement pour les événements passés */ .fc-event.event-past .fc-event-resizer { display: none !important; } .fc-event.event-past .fc-event-main { cursor: not-allowed !important; }