/* COBAT V1.2.50 — menu Applications chantier en onglets bleus occupant tout le bloc. */

#v1200Shell .apps-area.apps-v1238{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:14px!important;
  overflow:hidden!important;
  background:#ffffff!important;
  border:0!important;
  box-shadow:none!important;
}

#v1200Shell .apps-area.apps-v1238::before,
#v1200Shell .apps-area.apps-v1238::after{
  content:none!important;
  display:none!important;
}

#v1200Shell .appmenu49,
#v1200Shell .appmenu49 *{
  box-sizing:border-box!important;
}

#v1200Shell .appmenu49{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  display:flex!important;
  align-items:stretch!important;
  justify-content:stretch!important;
}

#v1200Shell .appmenu49-grid{
  width:100%!important;
  height:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:14px 16px!important;
  align-items:stretch!important;
}

#v1200Shell .appmenu49-column{
  min-width:0!important;
  height:100%!important;
  display:grid!important;
  grid-template-rows:repeat(5,minmax(0,1fr))!important;
  gap:14px!important;
}

#v1200Shell .appmenu49-card{
  position:relative!important;
  min-width:0!important;
  min-height:0!important;
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:16px 18px!important;
  margin:0!important;
  text-decoration:none!important;
  border:1px solid #0a4f9d!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#0d63c6 0%,#084d9f 100%)!important;
  color:#ffffff!important;
  box-shadow:0 6px 16px rgba(10,52,102,.14)!important;
  overflow:hidden!important;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease!important;
}

#v1200Shell .appmenu49-card:hover,
#v1200Shell .appmenu49-card:focus-visible{
  outline:none!important;
  border-color:#084588!important;
  background:linear-gradient(180deg,#0b5ab5 0%,#073f82 100%)!important;
  box-shadow:0 10px 20px rgba(10,52,102,.20)!important;
  transform:translateY(-1px)!important;
}

#v1200Shell .appmenu49-card::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:inherit!important;
  background:linear-gradient(135deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,0) 48%)!important;
  pointer-events:none!important;
}

#v1200Shell .appmenu49-copy{
  position:relative!important;
  z-index:1!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:5px!important;
}

#v1200Shell .appmenu49-title{
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-size:15px!important;
  line-height:1.12!important;
  font-weight:800!important;
  color:#ffffff!important;
}

#v1200Shell .appmenu49-desc{
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-size:10px!important;
  line-height:1.35!important;
  font-weight:500!important;
  color:rgba(255,255,255,.88)!important;
}

#v1200Shell .appmenu49-card.pending-module{
  border-color:#0a4f9d!important;
  background:linear-gradient(180deg,#0c5cb8 0%,#07468f 100%)!important;
}

#v1200Shell .appmenu49-card.pending-module::after{
  content:"Bientôt"!important;
  position:absolute!important;
  top:10px!important;
  right:12px!important;
  z-index:1!important;
  padding:2px 7px!important;
  border-radius:999px!important;
  font-size:9px!important;
  line-height:1.2!important;
  font-weight:700!important;
  color:#08478f!important;
  background:rgba(255,255,255,.92)!important;
}

#v1200Shell .appmenu49-card.portal-hidden{
  display:none!important;
}

#v1200Shell .appmenu49-card.portal-loading{
  opacity:.28!important;
  pointer-events:none!important;
}

#v1200Shell .appmenu49-access-message{
  display:none!important;
}

@media (min-width:1700px){
  #v1200Shell .apps-area.apps-v1238{padding:16px!important;}
  #v1200Shell .appmenu49-grid{gap:16px 18px!important;}
  #v1200Shell .appmenu49-column{gap:16px!important;}
  #v1200Shell .appmenu49-card{padding:18px 20px!important;}
  #v1200Shell .appmenu49-title{font-size:16px!important;}
  #v1200Shell .appmenu49-desc{font-size:10.6px!important;}
}

@media (max-width:1100px){
  #v1200Shell .apps-area.apps-v1238{padding:12px!important;overflow:auto!important;}
  #v1200Shell .appmenu49{height:auto!important;min-height:100%!important;}
  #v1200Shell .appmenu49-grid{grid-template-columns:1fr!important;gap:12px!important;height:auto!important;}
  #v1200Shell .appmenu49-column{grid-template-rows:none!important;gap:12px!important;height:auto!important;}
  #v1200Shell .appmenu49-card{min-height:78px!important;height:auto!important;}
}


/* COBAT V1.2.51 — intégration des nouvelles icônes utilisateur dans les onglets bleus. */
#v1200Shell .appmenu49-card{
  gap:16px!important;
}

#v1200Shell .appmenu49-icon{
  position:relative!important;
  z-index:1!important;
  flex:0 0 62px!important;
  width:62px!important;
  height:62px!important;
  min-width:62px!important;
  min-height:62px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}

#v1200Shell .appmenu49-icon img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

#v1200Shell .appmenu49-icon-empty{
  opacity:0!important;
  pointer-events:none!important;
}

#v1200Shell .appmenu49-copy{
  flex:1 1 auto!important;
}

@media (min-width:1700px){
  #v1200Shell .appmenu49-icon{
    flex-basis:68px!important;
    width:68px!important;
    height:68px!important;
    min-width:68px!important;
    min-height:68px!important;
  }
}

@media (max-width:1100px){
  #v1200Shell .appmenu49-icon{
    flex-basis:56px!important;
    width:56px!important;
    height:56px!important;
    min-width:56px!important;
    min-height:56px!important;
  }
}


/* COBAT V1.2.52 — ajout des icônes manquantes Consultations fournisseurs et Pointage chantier. */
#v1200Shell .appmenu49-icon img{
  object-fit:contain!important;
  object-position:center!important;
}

/* COBAT V1.2.53 — nettoyage des deux petits éléments parasites sur les icônes Consultations et Pointage. */


/* COBAT V1.2.58 — animation de sélection des applications */
#v1200Shell .appmenu49-card{
  isolation:isolate!important;
  will-change:transform,box-shadow,filter!important;
}

#v1200Shell .appmenu49-card .appmenu49-icon,
#v1200Shell .appmenu49-card .appmenu49-copy{
  transition:transform .24s cubic-bezier(.2,.75,.2,1), opacity .18s ease!important;
}

#v1200Shell .appmenu49-card:hover .appmenu49-icon{
  transform:scale(1.06)!important;
}

#v1200Shell .appmenu49-card.is-selecting{
  pointer-events:none!important;
  z-index:5!important;
  animation:cobatAppCardSelect .34s cubic-bezier(.2,.8,.2,1) both!important;
  border-color:rgba(255,255,255,.82)!important;
  background:linear-gradient(180deg,#1674dd 0%,#0750a6 100%)!important;
  box-shadow:
    0 0 0 3px rgba(255,255,255,.72),
    0 0 0 8px rgba(13,99,198,.20),
    0 14px 30px rgba(6,54,115,.30)!important;
}

#v1200Shell .appmenu49-card.is-selecting .appmenu49-icon{
  animation:cobatAppIconSelect .34s cubic-bezier(.2,.8,.2,1) both!important;
}

#v1200Shell .appmenu49-card.is-selecting .appmenu49-copy{
  transform:translateX(5px)!important;
}

#v1200Shell .appmenu49-card.is-selecting::before{
  background:
    radial-gradient(circle at 18% 50%,rgba(255,255,255,.34) 0,rgba(255,255,255,.16) 18%,rgba(255,255,255,0) 52%),
    linear-gradient(135deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,0) 50%)!important;
  animation:cobatAppGlowSelect .34s ease-out both!important;
}

@keyframes cobatAppCardSelect{
  0%{transform:scale(1) translateY(0)}
  45%{transform:scale(.985) translateY(1px)}
  100%{transform:scale(1.025) translateY(-2px)}
}

@keyframes cobatAppIconSelect{
  0%{transform:scale(1) rotate(0deg)}
  45%{transform:scale(.92) rotate(-2deg)}
  100%{transform:scale(1.12) rotate(0deg)}
}

@keyframes cobatAppGlowSelect{
  0%{opacity:.35}
  100%{opacity:1}
}

@media (prefers-reduced-motion:reduce){
  #v1200Shell .appmenu49-card,
  #v1200Shell .appmenu49-card .appmenu49-icon,
  #v1200Shell .appmenu49-card .appmenu49-copy{
    animation:none!important;
    transition:none!important;
  }
}

/* =========================================================
   V1.2.59 — APPLICATIONS CHANTIER : RÉFÉRENCE ZOOM 100 %
   Les 10 applications restent entièrement visibles dans le bloc central
   sur un écran desktop de hauteur courante, sans recadrage des cartes.
   ========================================================= */
@media (min-width:1101px) and (max-height:1150px){
  #v1200Shell .apps-area.apps-v1238{
    padding:8px!important;
    overflow:hidden!important;
  }
  #v1200Shell .appmenu49,
  #v1200Shell .appmenu49-grid,
  #v1200Shell .appmenu49-column{
    min-height:0!important;
  }
  #v1200Shell .appmenu49-grid{gap:8px 10px!important;}
  #v1200Shell .appmenu49-column{
    grid-template-rows:repeat(5,minmax(0,1fr))!important;
    gap:8px!important;
  }
  #v1200Shell .appmenu49-card{
    min-height:0!important;
    height:100%!important;
    gap:10px!important;
    padding:7px 11px!important;
    border-radius:11px!important;
  }
  #v1200Shell .appmenu49-icon{
    flex:0 0 46px!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
  }
  #v1200Shell .appmenu49-copy{gap:2px!important;}
  #v1200Shell .appmenu49-title{
    font-size:11.5px!important;
    line-height:1.08!important;
  }
  #v1200Shell .appmenu49-desc{
    font-size:7.5px!important;
    line-height:1.18!important;
  }
}

@media (min-width:1101px) and (max-height:820px){
  #v1200Shell .apps-area.apps-v1238{padding:6px!important;}
  #v1200Shell .appmenu49-grid{gap:6px 8px!important;}
  #v1200Shell .appmenu49-column{gap:6px!important;}
  #v1200Shell .appmenu49-card{gap:8px!important;padding:5px 9px!important;border-radius:10px!important;}
  #v1200Shell .appmenu49-icon{
    flex-basis:39px!important;
    width:39px!important;
    height:39px!important;
    min-width:39px!important;
    min-height:39px!important;
  }
  #v1200Shell .appmenu49-title{font-size:10.2px!important;}
  #v1200Shell .appmenu49-desc{font-size:6.6px!important;line-height:1.12!important;}
}

/* Sécurité : le conteneur du menu ne peut plus couper sa dernière ligne. */
@media (min-width:1101px){
  #v1200Shell #v12Applications,
  #v1200Shell #v12Applications #v12AppsSlot,
  #v1200Shell #v12Applications .apps-area.apps-v1238{min-height:0!important;}
}

/* COBAT V2.3.54 — portail : toutes les cartes chantier utilisent exactement le même composant.
   11 modules = deux colonnes de 6 emplacements sur desktop, afin de conserver une hauteur identique. */
@media (min-width:1101px){
  #v1200Shell .appmenu49-column,
  #v1200Shell .appmenu49-column.appmenu49-column-six{
    grid-template-rows:repeat(6,minmax(0,1fr))!important;
  }
}

/* Ferraillage n'a plus aucun style de bannière spécifique : il hérite intégralement
   des dimensions, ombres, transitions et animations de sélection .appmenu49-card. */
#v1200Shell .appmenu49-card[data-app="ferraillage"] .appmenu49-icon img{
  object-fit:contain!important;
  object-position:center!important;
}
