Crvi/assets/css/agenda-events.css
2026-01-20 07:54:37 +01:00

297 lines
6.4 KiB
CSS

/* 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;
}