/* ART CONSTRUCTION - boutons de l'ecosysteme et selecteur de langues (memes mesures et couleurs que le Portail) */
.art-eco { position: relative; display: inline-flex; align-items: center; gap: 4px; z-index: 1050; font-family: inherit; line-height: normal; }
.art-eco *, .art-eco *::before, .art-eco *::after { box-sizing: border-box; }
.art-eco button { font-family: inherit; }

/* bouton grille de 9 points */
.art-eco-apps-boite { position: relative; }
/* meme dessin que le Portail : grille 3 x 3 repartie sur tout le bouton de 36 px, points de 3,5 px centres */
.art-eco-grille { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); gap: 3.5px;
  place-items: center; width: 36px; height: 36px; padding: 0; margin: 0; border: 0; border-radius: 8px;
  background: transparent; cursor: pointer; transition: background-color .15s; }
.art-eco-grille:hover, .art-eco-grille[aria-expanded="true"] { background: #F1F3F4; }
.art-eco-grille span { width: 3.5px; height: 3.5px; border-radius: 9999px; background: #5F6368; }

/* panneau des applications (memes mesures que le menu de l'ERP) : position fixe, calculee en JavaScript sur ordinateur,
   centre en haut sur telephone avec un fond grise */
.art-eco-panneau { display: none; position: fixed; left: 50%; top: 64px; transform: translateX(-50%); width: min(20rem, calc(100vw - 2rem));
  box-sizing: border-box; padding: 18px; text-align: left; font-family: inherit; line-height: normal;
  background: #fff; border: 1px solid #E6E8EB; border-radius: 16px;
  box-shadow: 0 12px 32px rgba(20,30,40,.16), 0 2px 8px rgba(20,30,40,.06); z-index: 100000; }
.art-eco-panneau *, .art-eco-panneau *::before, .art-eco-panneau *::after { box-sizing: border-box; }
.art-eco-voile { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.2); z-index: 99990; }
@media (max-width: 639px) { .art-eco-voile.art-eco-ouvert { display: block; } }
.art-eco-pied { margin-top: 12px; padding-top: 12px; border-top: 1px solid #E6E8EB; text-align: center; font-size: 11px; color: #9AA3AC; }
.art-eco-app.art-eco-actif .art-eco-nom { font-weight: 600; color: #085292; }
.art-eco-panneau.art-eco-ouvert { display: block; }
.art-eco-titre { padding: 0 4px 12px; font-size: 11px; font-weight: 600; letter-spacing: .025em; color: #8A94A0; }
.art-eco-grille-apps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }
.art-eco-app { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 14px 4px 10px; border-radius: 10px;
  text-align: center; text-decoration: none !important; transition: background-color .15s; }
.art-eco-app:hover { background: #F5F6F7; }
.art-eco-icone { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px;
  background: #EEF1F3; transition: background-color .15s; }
.art-eco-icone svg { width: 22px; height: 22px; fill: none; stroke: #28425C; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.art-eco-app:hover .art-eco-icone { background: #16A34A; }
.art-eco-app:hover .art-eco-icone svg { stroke: #fff; }
.art-eco-app.art-eco-actif .art-eco-icone { background: #085292; }
.art-eco-app.art-eco-actif .art-eco-icone svg { stroke: #fff; }
.art-eco-nom { font-size: 11.5px; font-weight: 500; line-height: 1.25; color: #202124; }

/* selecteur de langues (format du Portail) */
.art-eco-langue { position: relative; }
.art-eco-langue-bouton { display: flex; align-items: center; gap: 8px; padding: 8px 12px; margin: 0; border: 0; border-radius: 8px;
  background: transparent; font-size: 14px; font-weight: 500; color: #4B5563; cursor: pointer; }
.art-eco-langue-bouton:hover, .art-eco-langue-bouton[aria-expanded="true"] { background: #F9FAFB; color: #085292; }
.art-eco-langue-bouton svg { width: 16px; height: 16px; }
.art-eco-court { display: none; }
.art-eco-liste { display: none; position: absolute; right: 0; top: calc(100% + 4px); width: 208px; padding: 4px 0; background: #fff;
  border: 1px solid #E5E7EB; border-radius: 8px; box-shadow: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1); z-index: 1060; }
.art-eco-liste.art-eco-ouvert { display: block; }
.art-eco-langue-choix { display: flex; align-items: center; gap: 12px; width: 100%; padding: 8px 12px; margin: 0; border: 0;
  background: transparent; text-align: left; font-size: 14px; color: #374151; cursor: pointer; }
.art-eco-langue-choix:hover { background: #F9FAFB; }
.art-eco-langue-choix.art-eco-actif { font-weight: 600; color: #085292; }
.art-eco-code { width: 24px; font-size: 12px; text-transform: uppercase; color: #9CA3AF; }
.art-eco-langue-choix.art-eco-bientot { color: #9CA3AF; cursor: default; }
.art-eco-langue-choix.art-eco-bientot:hover { background: transparent; }
.art-eco-note { margin-left: auto; font-size: 11px; color: #B8C2CC; }

/* barre Art Construction (modules sans menu, ex. Plans) */
.art-eco-barre { position: sticky; top: 0; z-index: 1040; width: 100%; min-width: 100%; align-self: stretch; box-sizing: border-box; background: rgba(255,255,255,.95); -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px); border-bottom: 1px solid #E5E7EB; }
.art-eco-barre-dedans { display: flex; align-items: center; gap: 16px; max-width: 1152px; margin: 0 auto; padding: 10px 24px; }
.art-eco-barre-logo { display: flex; align-items: center; text-decoration: none; font-weight: 700; color: #085292; }
.art-eco-barre-logo img { height: 40px; width: auto; }
.art-eco-barre-titre { font-size: 15px; font-weight: 600; color: #12202D; padding-left: 16px; border-left: 1px solid #E5E7EB; }
.art-eco-barre .art-eco { margin-left: auto; }

@media (max-width: 639px) {
  .art-eco-long { display: none; } .art-eco-court { display: inline; }
  .art-eco-barre-dedans { padding: 8px 16px; }
  .art-eco-barre-logo img { height: 34px; }
  .art-eco-barre-titre { display: none; }
}

/* bas du panneau : lien vers le site mere (slogan) */
.art-eco-pied-lien { display: block; color: #085292 !important; font-weight: 600; text-decoration: none !important; cursor: pointer; }
.art-eco-pied-lien:hover { text-decoration: underline !important; }
