/* ═══════════════════════════════════════════════════════════════════════
   pilot-dash.css — Pilotage · etape 3, accueil du kit AQPL.
   Tout scope sous #stats2-root. Cette feuille ne peint PAS le kit (il a la
   sienne, arpe-pilot.css) : elle ne fait que lui menager la place et
   masquer l'ancienne etape 3 quand la v3 est active.
   ═══════════════════════════════════════════════════════════════════════ */

/* Quand la v3 est montee, l'ancien contenu de l'etape 3 est masque — mais il
   reste DANS LE DOM : le repli localStorage.pilotV3Off='1' doit pouvoir le
   ramener ligne pour ligne, sans re-render. */
#stats2-root .s2-view[data-s="3"] .s2-body.v3 > *{ display:none; }
#stats2-root .s2-view[data-s="3"] .s2-body.v3 > #s2-pilot-host{ display:block; }

#stats2-root #s2-pilot-host{ min-height:0; }

/* Ce que la donnee ne porte pas, dit sous le tableau de bord. */
#stats2-root .pdash-notes{
  margin-top:12px; padding:10px 12px; display:flex; flex-direction:column; gap:5px;
  border:1px solid var(--border); border-radius:var(--radius,4px);
  background:var(--s2); font-size:11.5px; color:var(--text-dim); line-height:1.45;
}

/* ═══════════════════════════════════════════════════════════════════════
   [b2491] PLEINE PAGE. Le tableau de bord n'est plus « l'etape 3 d'un
   assistant » : c'est la page. Le rail de gauche et le chrome d'etape
   disparaissent, le kit prend toute la largeur.

   RIEN N'EST SUPPRIME DU DOM — tout est masque par cette classe. Le repli
   localStorage.pilotV3Off='1' retire la classe et l'assistant en trois
   etapes revient exactement comme avant, sans re-render.
   ═══════════════════════════════════════════════════════════════════════ */
#stats2-root.pilot-v3{ grid-template-columns:1fr; min-height:0; }
#stats2-root.pilot-v3 > .s2-rail{ display:none; }
#stats2-root.pilot-v3 .s2-main{ padding:0; animation:none; }
#stats2-root.pilot-v3 .s2-view[data-s="3"] > .s2-main-head{ display:none; }
#stats2-root.pilot-v3 .s2-view[data-s="3"] > .s2-foot{ display:none; }
#stats2-root.pilot-v3 .s2-view[data-s="3"] .s2-body{ animation:none; }

/* ─── Le parametrage devient un POPUP ───
   Aucune chirurgie DOM : les vues 0/1/2 ne sont pas deplacees, elles sont
   simplement sorties du flux par `position:fixed`. La carte MapLibre reste
   donc exactement le meme noeud, au meme endroit de l'arbre — deplacer un
   canvas WebGL est le genre de chose qui marche jusqu'au jour ou non. */
#stats2-root.pilot-v3.configuring .s2-view[data-s="0"],
#stats2-root.pilot-v3.configuring .s2-view[data-s="1"],
#stats2-root.pilot-v3.configuring .s2-view[data-s="2"]{
  position:fixed; z-index:var(--z-modal,9500);
  top:50%; left:50%; transform:translate(-50%,-50%);
  width:min(920px,94vw); max-height:88vh; overflow:auto;
  background:var(--surface); border:1px solid var(--border);
  border-radius:16px; box-shadow:0 24px 70px rgba(0,0,0,.38);
  padding:24px 26px;
}
#stats2-root.pilot-v3.configuring::after{
  content:''; position:fixed; inset:0; background:rgba(8,10,14,.5);
  z-index:calc(var(--z-modal,9500) - 1);
}
#stats2-root .s2-cfg-close{
  position:fixed; z-index:calc(var(--z-modal,9500) + 1);
  width:34px; height:34px; display:none; place-items:center;
  border:1px solid var(--border); border-radius:50%; cursor:pointer;
  background:var(--surface); color:var(--text-dim);
}
#stats2-root.pilot-v3.configuring .s2-cfg-close{ display:grid; }
#stats2-root .s2-cfg-close:hover{ color:var(--text); background:var(--s2); }
#stats2-root .s2-cfg-close svg{ width:16px; height:16px; }

@media (max-width:760px){
  #stats2-root.pilot-v3.configuring .s2-view[data-s="0"],
  #stats2-root.pilot-v3.configuring .s2-view[data-s="1"],
  #stats2-root.pilot-v3.configuring .s2-view[data-s="2"]{
    width:96vw; max-height:92vh; padding:18px 16px;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   [b2493] S3 — la page occupe tout l'espace, sur fond de surface.
   arpentiq-page.css:243 pose `padding:20px 28px 40px !important` sur
   #page-statistiques. Pour le battre il faut du !important A SPECIFICITE
   SUPERIEURE : la classe est donc sur l'HOTE (0,3,1) et pas seulement sur
   la racine interne, qui n'y aurait pas suffi.
   ═══════════════════════════════════════════════════════════════════════ */
body.shell-v2-on #page-statistiques.pilot-page{
  padding:0 !important;
  background:var(--surface);
}
#stats2-root.pilot-v3{ min-height:calc(100vh - 46px); background:var(--surface); }
/* Le kit se peint sur --bg (le gris de l'application). Sur une page qui lui
   est entierement dediee, c'est --surface qu'on veut. */
#stats2-root.pilot-v3 .aqpl{ background:var(--surface); }
#stats2-root.pilot-v3 .s2-view[data-s="3"]{ height:100%; }

/* ═══════════════════════════════════════════════════════════════════════
   [b2493] S1 — la bascule Liste / Carte DANS l'assistant de Margot.
   Sa modale est ajoutee a <body>, hors de #stats2-root : les regles scopees
   sur la page ne l'atteignent pas. Ces regles vivent donc dans son espace de
   noms, avec un prefixe qui n'est pas le sien (.pilotmap-) pour ne jamais
   entrer en collision avec une classe qu'elle ajouterait plus tard.
   ═══════════════════════════════════════════════════════════════════════ */
/* La bascule s'aligne sur la ligne du TITRE, a droite. Le volet est en
   flex-column : une position absolue evite qu'elle pousse le contenu vers le
   bas et garde la hauteur constante de la modale (contrainte explicite de
   son README). */
.aqsu-box .aqsu-pane[data-p="0"]{ position:relative; }
.aqsu-box .pilotmap-vt{
  position:absolute; top:-2px; right:0; z-index:2;
  display:flex; gap:2px; padding:3px; width:max-content;
  background:var(--s2,#f0f2f6); border:1px solid var(--border); border-radius:var(--r,6px);
}
/* Le titre ne doit pas passer sous la bascule. */
.aqsu-box .aqsu-pane[data-p="0"] .aqsu-q,
.aqsu-box .aqsu-pane[data-p="0"] .aqsu-hint{ padding-right:150px; }
.aqsu-box .pilotmap-vt button{
  font:inherit; font-size:12px; font-weight:600; padding:5px 14px; border:0;
  background:transparent; color:var(--muted); border-radius:4px; cursor:pointer;
}
.aqsu-box .pilotmap-vt button.on{ background:var(--text); color:var(--surface); }
.aqsu-box .pilotmap-vt button:not(.on):hover{ background:var(--surface); color:var(--text); }

/* Le conteneur de carte perd les styles de #stats2-root en changeant de
   parent : il faut donc les lui redonner ici, pas les supposer heritees. */
.aqsu-box .pilotmap-host{
  position:relative; flex:1; min-height:240px; margin-top:12px;
  border:1px solid var(--border); border-radius:var(--r-lg,10px); overflow:hidden;
}
.aqsu-box .pilotmap-host .s2-map{ width:100%; height:100%; display:block; }
.aqsu-box .pilotmap-host .s2-metricsel{
  position:absolute; left:10px; top:10px; z-index:2; display:flex; gap:2px; padding:3px;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r,6px);
}
.aqsu-box .pilotmap-host .s2-metricsel button{
  font:inherit; font-size:11px; font-weight:600; padding:4px 9px; border:0;
  background:transparent; color:var(--muted); border-radius:4px; cursor:pointer; white-space:nowrap;
}
.aqsu-box .pilotmap-host .s2-metricsel button.on{ background:var(--text); color:var(--surface); }
.aqsu-box .pilotmap-host .s2-zoom{
  position:absolute; right:10px; top:10px; display:flex; flex-direction:column;
  border:1px solid var(--border); border-radius:var(--r,6px); overflow:hidden;
}
.aqsu-box .pilotmap-host .s2-zoom button{
  width:26px; height:26px; border:0; background:var(--surface); color:var(--text);
  font-size:14px; cursor:pointer;
}
.aqsu-box .pilotmap-host .s2-zoom button+button{ border-top:1px solid var(--border); }
.aqsu-box .pilotmap-host .s2-legend{
  position:absolute; left:10px; bottom:10px; padding:7px 9px; font-size:10px; color:var(--muted);
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r,6px);
}
.aqsu-box .pilotmap-host .s2-legend .lg-scale{ display:flex; }
.aqsu-box .pilotmap-host .s2-legend .lg-scale i{ width:15px; height:8px; display:block; }
.aqsu-box .pilotmap-host .s2-legend .lg-ends,
.aqsu-box .pilotmap-host .s2-legend .lg-nodata{ display:flex; justify-content:space-between; gap:6px; margin-top:3px; }

/* ─── [b2494] Plein écran de la carte dans le popup ───
   Le bouton se place au-dessus des commandes de zoom, meme colonne. */
.aqsu-box .pilotmap-host .pilotmap-fs{
  position:absolute; right:10px; top:10px; z-index:3;
  width:26px; height:26px; display:grid; place-items:center; padding:0;
  border:1px solid var(--border); border-radius:var(--r,6px);
  background:var(--surface); color:var(--text); cursor:pointer;
}
.aqsu-box .pilotmap-host .pilotmap-fs svg{ width:14px; height:14px; }
.aqsu-box .pilotmap-host .pilotmap-fs:hover{ background:var(--s2,#f0f2f6); }
/* Le zoom descend d'un cran pour laisser la place au bouton. */
.aqsu-box .pilotmap-host .s2-zoom{ top:44px; }

/* En plein écran natif, l'élément est seul à l'écran : il lui faut son fond
   (le défaut du navigateur est noir) et toute la place. */
.aqsu-box .pilotmap-host.pilotmap-full,
.pilotmap-host.pilotmap-full{
  width:100vw; height:100vh; border:0; border-radius:0; background:var(--surface);
}
.pilotmap-host.pilotmap-full .s2-map{ width:100%; height:100%; }

/* ─── [b2558] Le bandeau de notes ne colle plus aux bords ─────────────
   Anthony : « il doit avoir du padding droite et gauche, pas collé aux
   bordures de l'écran ». Son `padding:10px 12px` est INTERNE — il ecarte le
   texte de sa propre bordure, pas le bloc du bord de l'ecran. Ce qui
   manquait est une MARGE.

   On reprend la gouttiere du shell (`--shellv2-main-px`) plutot qu'une
   valeur choisie a l'oeil : le bandeau s'aligne alors sur le reste de la
   page, et il suivra si cette gouttiere change. Le repli 24px est celui que
   donna-chrome.css utilise deja pour la meme variable. */
#stats2-root .pdash-notes{
  margin-left:var(--shellv2-main-px, 24px);
  margin-right:var(--shellv2-main-px, 24px);
  margin-bottom:16px;
}
