/* DSA CRM v11.79 — planning sans collision et viewport toujours complet. */

/* La barre garde des colonnes réellement bornées : la date ne peut plus
   passer sous le sélecteur d'agence, même avec une police agrandie. */
#v-calendar .v1169-planning-bar{
  grid-template-columns:minmax(145px,.7fr) minmax(330px,auto) minmax(180px,240px) minmax(280px,390px) auto!important;
  max-width:calc(100% - 18px);min-width:0;
}
#v-calendar .v1169-planning-bar>*{min-width:0}
#v-calendar .v1169-planning-bar .v9-calendar-nav{
  display:grid!important;grid-template-columns:34px auto 34px minmax(148px,1fr)!important;min-width:0!important;width:100%;
}
#v-calendar .v1169-planning-bar .v9-calendar-nav .btn{min-width:0!important}
#v-calendar .v1169-planning-bar .v9-calendar-nav strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Les blocs sont recalculés après chaque rendu. Une transition courte évite
   un saut visuel lorsque l'utilisateur change de semaine ou d'agence. */
#v-calendar .v9-gcal-event{transition:left .12s ease,width .12s ease,transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s ease,filter .18s ease!important}

/* Les conteneurs flex/grid ont le droit de se contracter à tous les niveaux. */
#app,#app .mn,#app .content,#app .view{min-width:0}
#app.v1125-transform-zoom{position:absolute;left:0;top:0;overflow:hidden;will-change:transform}

@media(max-width:1480px){
  #v-calendar .v1169-planning-bar{
    grid-template-columns:minmax(330px,auto) minmax(180px,240px) minmax(300px,1fr) auto!important;
    grid-template-areas:"title title title new" "nav site view view"!important;
  }
}
@media(max-width:900px){
  #v-calendar .v1169-planning-bar{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"title new" "nav nav" "site site" "view view"!important;
  }
  #v-calendar .v1169-planning-bar .v9-calendar-nav{grid-template-columns:34px auto 34px minmax(130px,1fr)!important}
}
@media(prefers-reduced-motion:reduce){#v-calendar .v9-gcal-event{transition:none!important}}
