/* ==========================================================
   Correctif planning mobile style Outlook - vert/blanc
   Portée limitée : planning général, véhicules, salles.
   Aucune logique métier modifiée.
   ========================================================== */

:root{
  --planning-green:#0f8a4b;
  --planning-green-dark:#0b6f3c;
  --planning-green-light:#e9f8ef;
  --planning-border:#e5edf3;
  --planning-text:#0f172a;
}

/* Cartes du menu Planning général : véhicules / salles en vert et blanc */
.page-planning_general .menu-cards-france{
  background:#ffffff !important;
  border:1px solid var(--planning-border) !important;
  box-shadow:0 10px 28px rgba(15,23,42,.08) !important;
}
.page-planning_general .menu-card-link{
  background:linear-gradient(135deg,var(--planning-green),#18a85f) !important;
  color:#ffffff !important;
  border:0 !important;
  box-shadow:0 12px 26px rgba(15,138,75,.22) !important;
}
.page-planning_general .menu-card-link:before{
  background:rgba(255,255,255,.95) !important;
  height:4px !important;
}
.page-planning_general .menu-card-link .label,
.page-planning_general .menu-card-link .desc,
.page-planning_general .menu-card-link .icon{
  color:#ffffff !important;
}
.page-planning_general .menu-card-link:hover{
  background:linear-gradient(135deg,var(--planning-green-dark),var(--planning-green)) !important;
  color:#ffffff !important;
}

/* Calendrier : base claire comme Outlook */
.page-calendar #calendar,
.page-planning_vehicles #calendar,
.page-planning_rooms #calendar,
.page-calendar .fc,
.page-planning_vehicles .fc,
.page-planning_rooms .fc{
  background:#ffffff !important;
  border:1px solid var(--planning-border) !important;
  border-radius:18px !important;
  box-shadow:none !important;
  padding:0 !important;
  overflow:hidden !important;
}

.page-calendar .planning-calendar-card,
.page-planning_vehicles .planning-calendar-card,
.page-planning_rooms .planning-calendar-card{
  background:#ffffff !important;
  border:1px solid var(--planning-border) !important;
  border-radius:22px !important;
  box-shadow:0 8px 24px rgba(15,23,42,.07) !important;
  overflow:hidden !important;
}

/* Barre calendrier : bleu sobre, façon Outlook */
.page-calendar .fc .fc-toolbar,
.page-planning_vehicles .fc .fc-toolbar,
.page-planning_rooms .fc .fc-toolbar{
  background:#2e8b57 !important;
  color:#ffffff !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:16px 14px !important;
  margin:0 !important;
}
.page-calendar .fc .fc-toolbar-title,
.page-planning_vehicles .fc .fc-toolbar-title,
.page-planning_rooms .fc .fc-toolbar-title{
  color:#ffffff !important;
  font-weight:900 !important;
  text-transform:capitalize !important;
  text-shadow:none !important;
}
.page-calendar .fc .fc-button,
.page-planning_vehicles .fc .fc-button,
.page-planning_rooms .fc .fc-button{
  background:rgba(255,255,255,.16) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  color:#ffffff !important;
  box-shadow:none !important;
  border-radius:12px !important;
}
.page-calendar .fc .fc-button:hover,
.page-calendar .fc .fc-button-primary:not(:disabled).fc-button-active,
.page-planning_vehicles .fc .fc-button:hover,
.page-planning_vehicles .fc .fc-button-primary:not(:disabled).fc-button-active,
.page-planning_rooms .fc .fc-button:hover,
.page-planning_rooms .fc .fc-button-primary:not(:disabled).fc-button-active{
  background:#ffffff !important;
  color:#2e8b57 !important;
}

/* Jours / grille */
.page-calendar .fc .fc-col-header-cell,
.page-planning_vehicles .fc .fc-col-header-cell,
.page-planning_rooms .fc .fc-col-header-cell{
  background:#ffffff !important;
  color:var(--planning-text) !important;
  border-color:#eef2f6 !important;
}
.page-calendar .fc .fc-col-header-cell-cushion,
.page-planning_vehicles .fc .fc-col-header-cell-cushion,
.page-planning_rooms .fc .fc-col-header-cell-cushion{
  color:var(--planning-text) !important;
  font-weight:800 !important;
  text-decoration:none !important;
  text-transform:none !important;
}
.page-calendar .fc-theme-standard td,
.page-calendar .fc-theme-standard th,
.page-calendar .fc .fc-scrollgrid,
.page-planning_vehicles .fc-theme-standard td,
.page-planning_vehicles .fc-theme-standard th,
.page-planning_vehicles .fc .fc-scrollgrid,
.page-planning_rooms .fc-theme-standard td,
.page-planning_rooms .fc-theme-standard th,
.page-planning_rooms .fc .fc-scrollgrid{
  border-color:#eef2f6 !important;
}
.page-calendar .fc .fc-daygrid-day-frame,
.page-planning_vehicles .fc .fc-daygrid-day-frame,
.page-planning_rooms .fc .fc-daygrid-day-frame{
  background:#ffffff !important;
}
.page-calendar .fc .fc-day-today,
.page-planning_vehicles .fc .fc-day-today,
.page-planning_rooms .fc .fc-day-today{
  background:var(--planning-green-light) !important;
}
.page-calendar .fc .fc-day-today .fc-daygrid-day-number,
.page-planning_vehicles .fc .fc-day-today .fc-daygrid-day-number,
.page-planning_rooms .fc .fc-day-today .fc-daygrid-day-number{
  background:#2e8b57 !important;
  color:#ffffff !important;
  border-radius:999px !important;
  min-width:24px !important;
  text-align:center !important;
}

/* Événements véhicules/salles : vert + blanc partout */
.page-calendar .fc .fc-event,
.page-calendar .fc .fc-daygrid-event,
.page-calendar .fc .fc-timegrid-event,
.page-calendar .fc .fc-list-event,
.page-planning_vehicles .fc .fc-event,
.page-planning_vehicles .fc .fc-daygrid-event,
.page-planning_vehicles .fc .fc-timegrid-event,
.page-planning_vehicles .fc .fc-list-event,
.page-planning_rooms .fc .fc-event,
.page-planning_rooms .fc .fc-daygrid-event,
.page-planning_rooms .fc .fc-timegrid-event,
.page-planning_rooms .fc .fc-list-event{
  background:var(--planning-green) !important;
  border-color:var(--planning-green) !important;
  color:#ffffff !important;
  border-radius:8px !important;
  box-shadow:none !important;
  font-weight:800 !important;
}
.page-calendar .fc .fc-event * ,
.page-planning_vehicles .fc .fc-event * ,
.page-planning_rooms .fc .fc-event * ,
.page-calendar .fc .fc-list-event * ,
.page-planning_vehicles .fc .fc-list-event * ,
.page-planning_rooms .fc .fc-list-event * {
  color:#ffffff !important;
  text-shadow:none !important;
}
.page-calendar .fc .fc-daygrid-event-dot,
.page-calendar .fc .fc-list-event-dot,
.page-planning_vehicles .fc .fc-daygrid-event-dot,
.page-planning_vehicles .fc .fc-list-event-dot,
.page-planning_rooms .fc .fc-daygrid-event-dot,
.page-planning_rooms .fc .fc-list-event-dot{
  border-color:#ffffff !important;
}

/* Vue liste propre */
.page-calendar .fc .fc-list,
.page-planning_vehicles .fc .fc-list,
.page-planning_rooms .fc .fc-list{
  border:0 !important;
  border-radius:0 !important;
  background:#ffffff !important;
}
.page-calendar .fc .fc-list-day-cushion,
.page-planning_vehicles .fc .fc-list-day-cushion,
.page-planning_rooms .fc .fc-list-day-cushion{
  background:#f8fafc !important;
  color:var(--planning-text) !important;
  font-weight:900 !important;
  text-shadow:none !important;
}
.page-calendar .fc .fc-list-day-cushion a,
.page-planning_vehicles .fc .fc-list-day-cushion a,
.page-planning_rooms .fc .fc-list-day-cushion a{
  color:var(--planning-text) !important;
  text-decoration:none !important;
}
.page-calendar .fc .fc-list-event td,
.page-planning_vehicles .fc .fc-list-event td,
.page-planning_rooms .fc .fc-list-event td{
  background:var(--planning-green) !important;
  color:#ffffff !important;
  border-color:rgba(255,255,255,.35) !important;
}

/* Mobile téléphone : mois visible, jour/list compacts */
@media (max-width: 768px){
  .page-calendar .planning-page,
  .page-planning_vehicles .planning-page,
  .page-planning_rooms .planning-page{
    padding:0 !important;
    margin:0 !important;
  }
  .page-calendar .planning-calendar-card,
  .page-planning_vehicles .planning-calendar-card,
  .page-planning_rooms .planning-calendar-card{
    padding:0 !important;
    margin:10px 0 12px !important;
    min-height:0 !important;
  }
  .page-calendar #calendar,
  .page-planning_vehicles #calendar,
  .page-planning_rooms #calendar,
  .page-calendar .fc,
  .page-planning_vehicles .fc,
  .page-planning_rooms .fc{
    min-height:0 !important;
    height:auto !important;
    overflow:hidden !important;
  }
  .page-calendar .fc .fc-toolbar.fc-header-toolbar,
  .page-planning_vehicles .fc .fc-toolbar.fc-header-toolbar,
  .page-planning_rooms .fc .fc-toolbar.fc-header-toolbar{
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    padding:18px 12px !important;
  }
  .page-calendar .fc .fc-toolbar-title,
  .page-planning_vehicles .fc .fc-toolbar-title,
  .page-planning_rooms .fc .fc-toolbar-title{
    font-size:1.45rem !important;
    line-height:1.15 !important;
  }
  .page-calendar .fc .fc-button,
  .page-planning_vehicles .fc .fc-button,
  .page-planning_rooms .fc .fc-button{
    min-height:34px !important;
    padding:6px 10px !important;
    font-size:12px !important;
  }
  .page-calendar .fc .fc-view-harness,
  .page-calendar .fc .fc-view-harness-active,
  .page-planning_vehicles .fc .fc-view-harness,
  .page-planning_vehicles .fc .fc-view-harness-active,
  .page-planning_rooms .fc .fc-view-harness,
  .page-planning_rooms .fc .fc-view-harness-active{
    min-height:420px !important;
    height:auto !important;
    overflow:visible !important;
  }
  .page-calendar .fc .fc-daygrid-body,
  .page-calendar .fc .fc-daygrid-body table,
  .page-calendar .fc .fc-scrollgrid-sync-table,
  .page-planning_vehicles .fc .fc-daygrid-body,
  .page-planning_vehicles .fc .fc-daygrid-body table,
  .page-planning_vehicles .fc .fc-scrollgrid-sync-table,
  .page-planning_rooms .fc .fc-daygrid-body,
  .page-planning_rooms .fc .fc-daygrid-body table,
  .page-planning_rooms .fc .fc-scrollgrid-sync-table{
    width:100% !important;
    min-height:390px !important;
    height:auto !important;
  }
  .page-calendar .fc .fc-daygrid-day-frame,
  .page-planning_vehicles .fc .fc-daygrid-day-frame,
  .page-planning_rooms .fc .fc-daygrid-day-frame{
    min-height:58px !important;
    padding:2px !important;
  }
  .page-calendar .fc .fc-daygrid-day-number,
  .page-planning_vehicles .fc .fc-daygrid-day-number,
  .page-planning_rooms .fc .fc-daygrid-day-number{
    font-size:12px !important;
    font-weight:800 !important;
    padding:3px 4px !important;
    color:var(--planning-text) !important;
    text-decoration:none !important;
  }
  .page-calendar .fc .fc-event,
  .page-calendar .fc .fc-daygrid-event,
  .page-calendar .fc .fc-timegrid-event,
  .page-planning_vehicles .fc .fc-event,
  .page-planning_vehicles .fc .fc-daygrid-event,
  .page-planning_vehicles .fc .fc-timegrid-event,
  .page-planning_rooms .fc .fc-event,
  .page-planning_rooms .fc .fc-daygrid-event,
  .page-planning_rooms .fc .fc-timegrid-event{
    font-size:10px !important;
    line-height:1.15 !important;
    padding:2px 4px !important;
    margin:1px 2px !important;
    border-radius:5px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  .page-calendar .fc .fc-timegrid-event,
  .page-planning_vehicles .fc .fc-timegrid-event,
  .page-planning_rooms .fc .fc-timegrid-event{
    white-space:normal !important;
  }
  .page-calendar .fc .fc-list-event-time,
  .page-calendar .fc .fc-list-event-title,
  .page-planning_vehicles .fc .fc-list-event-time,
  .page-planning_vehicles .fc .fc-list-event-title,
  .page-planning_rooms .fc .fc-list-event-time,
  .page-planning_rooms .fc .fc-list-event-title{
    font-size:12px !important;
    line-height:1.25 !important;
    white-space:normal !important;
  }
  .page-calendar .fc .fc-list-event td,
  .page-planning_vehicles .fc .fc-list-event td,
  .page-planning_rooms .fc .fc-list-event td{
    padding:8px 6px !important;
  }
  .page-calendar .fc .fc-footer-toolbar,
  .page-planning_vehicles .fc .fc-footer-toolbar,
  .page-planning_rooms .fc .fc-footer-toolbar{
    background:#ffffff !important;
    border-top:1px solid var(--planning-border) !important;
    padding:8px !important;
    margin:0 !important;
  }
}

/* ==========================================================
   Renforcement planning pour forte volumétrie mobile/tablette
   - Mois : 3 lignes max par jour puis + X autres
   - Clic sur une date mobile : liste détaillée du jour
   - Liste/Jour : rendu Outlook clair, vert/blanc lisible
   ========================================================== */
.page-calendar .fc .fc-daygrid-more-link,
.page-planning_vehicles .fc .fc-daygrid-more-link,
.page-planning_rooms .fc .fc-daygrid-more-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#f1f5f9 !important;
  color:#2e8b57 !important;
  border-radius:999px !important;
  padding:2px 7px !important;
  margin:2px 1px !important;
  font-weight:900 !important;
  font-size:11px !important;
  text-decoration:none !important;
}
.page-calendar .fc .resa-event,
.page-planning_vehicles .fc .resa-event,
.page-planning_rooms .fc .resa-event{
  background:var(--planning-green) !important;
  border:1px solid var(--planning-green-dark) !important;
  color:#fff !important;
}
.page-calendar .fc .resa-event .resa-time,
.page-planning_vehicles .fc .resa-event .resa-time,
.page-planning_rooms .fc .resa-event .resa-time{
  font-weight:900 !important;
  opacity:.95 !important;
  margin-right:3px !important;
}
.page-calendar .fc .resa-event .resa-title,
.page-planning_vehicles .fc .resa-event .resa-title,
.page-planning_rooms .fc .resa-event .resa-title{
  font-weight:800 !important;
}
.page-calendar .fc .resa-full,
.page-planning_vehicles .fc .resa-full,
.page-planning_rooms .fc .resa-full{
  display:flex !important;
  flex-direction:column !important;
  gap:2px !important;
  white-space:normal !important;
}
.page-calendar .fc .resa-full small,
.page-planning_vehicles .fc .resa-full small,
.page-planning_rooms .fc .resa-full small{
  color:#ffffff !important;
  font-size:11px !important;
  line-height:1.15 !important;
  opacity:.95 !important;
}
.page-calendar .fc .fc-popover,
.page-planning_vehicles .fc .fc-popover,
.page-planning_rooms .fc .fc-popover{
  border:1px solid var(--planning-border) !important;
  border-radius:16px !important;
  overflow:hidden !important;
  box-shadow:0 18px 40px rgba(15,23,42,.18) !important;
}
.page-calendar .fc .fc-popover-header,
.page-planning_vehicles .fc .fc-popover-header,
.page-planning_rooms .fc .fc-popover-header{
  background:#2e8b57 !important;
  color:#fff !important;
  font-weight:900 !important;
}

/* Vue liste : on évite le gros bloc bleu illisible */
.page-calendar .fc .fc-list-table,
.page-planning_vehicles .fc .fc-list-table,
.page-planning_rooms .fc .fc-list-table{
  border-collapse:separate !important;
  border-spacing:0 8px !important;
  padding:8px !important;
}
.page-calendar .fc .fc-list-event,
.page-planning_vehicles .fc .fc-list-event,
.page-planning_rooms .fc .fc-list-event{
  border-radius:14px !important;
  overflow:hidden !important;
}
.page-calendar .fc .fc-list-event:hover td,
.page-planning_vehicles .fc .fc-list-event:hover td,
.page-planning_rooms .fc .fc-list-event:hover td{
  background:var(--planning-green-dark) !important;
}
.page-calendar .fc .fc-list-event-time,
.page-planning_vehicles .fc .fc-list-event-time,
.page-planning_rooms .fc .fc-list-event-time{
  width:82px !important;
  min-width:82px !important;
  font-weight:900 !important;
  text-align:center !important;
  vertical-align:middle !important;
}
.page-calendar .fc .fc-list-event-title,
.page-planning_vehicles .fc .fc-list-event-title,
.page-planning_rooms .fc .fc-list-event-title{
  vertical-align:middle !important;
}
.page-calendar .fc .resa-list-title,
.page-planning_vehicles .fc .resa-list-title,
.page-planning_rooms .fc .resa-list-title{
  display:flex !important;
  flex-direction:column !important;
  gap:3px !important;
  white-space:normal !important;
}
.page-calendar .fc .resa-list-title small,
.page-planning_vehicles .fc .resa-list-title small,
.page-planning_rooms .fc .resa-list-title small{
  color:#ffffff !important;
  opacity:.95 !important;
  font-size:12px !important;
}

@media (max-width: 768px){
  .page-calendar .fc .fc-dayGridMonth-view .fc-daygrid-day-frame,
  .page-planning_vehicles .fc .fc-dayGridMonth-view .fc-daygrid-day-frame,
  .page-planning_rooms .fc .fc-dayGridMonth-view .fc-daygrid-day-frame{
    min-height:74px !important;
  }
  .page-calendar .fc .fc-dayGridMonth-view .fc-daygrid-event,
  .page-planning_vehicles .fc .fc-dayGridMonth-view .fc-daygrid-event,
  .page-planning_rooms .fc .fc-dayGridMonth-view .fc-daygrid-event{
    height:18px !important;
    min-height:18px !important;
    max-height:18px !important;
    display:block !important;
  }
  .page-calendar .fc .fc-dayGridMonth-view .fc-event-main,
  .page-planning_vehicles .fc .fc-dayGridMonth-view .fc-event-main,
  .page-planning_rooms .fc .fc-dayGridMonth-view .fc-event-main{
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
  .page-calendar .fc .fc-timeGridDay-view .fc-timegrid-slot,
  .page-planning_vehicles .fc .fc-timeGridDay-view .fc-timegrid-slot,
  .page-planning_rooms .fc .fc-timeGridDay-view .fc-timegrid-slot{
    height:34px !important;
  }
  .page-calendar .fc .fc-timeGridDay-view .fc-timegrid-event,
  .page-planning_vehicles .fc .fc-timeGridDay-view .fc-timegrid-event,
  .page-planning_rooms .fc .fc-timeGridDay-view .fc-timegrid-event{
    padding:5px 6px !important;
    font-size:11px !important;
  }
  .page-calendar .fc .fc-list-event-time,
  .page-planning_vehicles .fc .fc-list-event-time,
  .page-planning_rooms .fc .fc-list-event-time{
    width:70px !important;
    min-width:70px !important;
    font-size:11px !important;
  }
  .page-calendar .fc .fc-list-event-title,
  .page-planning_vehicles .fc .fc-list-event-title,
  .page-planning_rooms .fc .fc-list-event-title{
    font-size:12px !important;
  }
  .page-calendar .fc .fc-footer-toolbar .fc-toolbar-chunk,
  .page-planning_vehicles .fc .fc-footer-toolbar .fc-toolbar-chunk,
  .page-planning_rooms .fc .fc-footer-toolbar .fc-toolbar-chunk{
    flex:1 1 0 !important;
    text-align:center !important;
  }
  .page-calendar .fc .fc-footer-toolbar .fc-button,
  .page-planning_vehicles .fc .fc-footer-toolbar .fc-button,
  .page-planning_rooms .fc .fc-footer-toolbar .fc-button{
    width:100% !important;
  }
}

/* Liste claire type Outlook : date, heure, personne, service, ressource */
.fc .planning-list-row{width:100%;display:block;padding:6px 2px;color:#0f172a}.fc .planning-list-main{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:5px}.fc .planning-list-date{font-weight:900;color:#146c43}.fc .planning-list-time{background:#198754;color:#fff;border-radius:999px;padding:3px 8px;font-weight:850;font-size:.82rem}.fc .planning-list-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;font-size:.84rem}.fc .planning-event-mini{color:#fff;line-height:1.15;overflow:hidden}.fc .planning-event-time{font-weight:900;font-size:.78rem}.fc .planning-event-title{font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fc .planning-event-sub{font-size:.72rem;opacity:.95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fc .fc-list-event-dot{border-color:#198754!important}.fc .fc-list-event:hover td{background:#f2fbf5!important}@media(max-width:768px){.fc .planning-list-details{grid-template-columns:1fr}.fc .planning-list-row{padding:8px 0}.fc .planning-list-main{margin-bottom:7px}.fc .fc-list-event-time{width:1px;font-size:0;color:transparent}.fc .fc-list-event-title{padding:8px 6px!important}.fc .planning-event-sub{display:none}.fc .planning-event-title{font-size:.78rem}.fc .planning-event-time{font-size:.72rem}}
