.amcm{position:relative;left:50%;transform:translateX(-50%);width:calc(100vw - 32px);max-width:1900px;margin:0}
.amcm-panel.is-active>section{width:100%;max-width:none!important}
.amcm-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:16px;align-items:start}
.amcm-main{min-width:0}
.amcm-sidebar{position:sticky;top:20px;padding:14px;background:#f5f9fc;border:1px solid #c9d3df;border-radius:12px}
.amcm-sidebar h3{margin:0 0 4px;font-size:18px;color:#1c2b3a}
.amcm-sidebar p{margin:0 0 12px;font-size:12px;color:#597083}
.amcm-side-btn,.amcm-side-unavailable{display:flex;flex-direction:column;width:100%;margin:5px 0;padding:9px 10px;text-align:left;border:1px solid #d6e0e9;border-radius:8px;background:#fff;color:#1c2b3a;line-height:1.3}
.amcm-side-btn{cursor:pointer}.amcm-side-btn:hover{border-color:#2563a8}.amcm-side-btn.is-active{background:#1d4f8c;border-color:#1d4f8c;color:#fff}
.amcm-side-btn small,.amcm-side-unavailable small{font-size:11px;opacity:.7}
.amcm-side-unavailable{opacity:.8}
.amcm-run{display:block;margin-top:3px;font-size:10px;font-weight:650;line-height:1.3;white-space:normal}
.amcm-bar{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;margin:0 0 12px}
.amcm-btn{display:flex;flex-direction:column;align-items:center;min-width:128px;padding:8px 12px;border:1px solid #c9d3df;border-radius:8px;background:#fff;color:#1c2b3a;cursor:pointer;line-height:1.2}
.amcm-btn small{font-size:11px;opacity:.7}
.amcm-btn:hover{border-color:#2563a8}
.amcm-btn.is-active{background:#1d4f8c;border-color:#1d4f8c;color:#fff}
.amcm-btn.is-active small{opacity:.85}
.amcm-tools{display:flex;align-items:center;gap:8px;margin-left:auto}
.amcm-fs{cursor:pointer;font:inherit;padding:8px 14px;border:1px solid #c9d3df;border-radius:8px;background:#fff;color:#1c2b3a}
.amcm-fs:hover,.amcm-fs[aria-pressed="true"]{border-color:#2563a8;background:#eaf1fb}
.amcm .am-ovl-btn{padding:8px 14px}.amcm [hidden]{display:none!important}

/* Panneau inactif : hors écran mais avec sa largeur réelle, pour que les cartes calculent leur taille */
.amcm-panel{position:absolute;left:-10000px;top:0;width:100%;height:0;overflow:hidden;visibility:hidden}
.amcm-panel.is-active{position:static;left:auto;width:auto;height:auto;overflow:visible;visibility:visible}

/* Le sélecteur pilote plein écran et calques : on masque les commandes propres à chaque module */
.amcm .am-ovl-inner,
.amcm [data-amfm-fullscreen],.amcm [data-arpm-fullscreen],.amcm [data-arp025m-fullscreen],.amcm [data-aifsm-fullscreen],
.amcm [data-cepm-fullscreen],.amcm [data-gfsm-fullscreen],.amcm [data-hmap-fullscreen]{display:none !important}

/* HARMONIE : on ne garde que la carte (pas les onglets tableau ni la recherche de ville) */
.amcm-harmonie .hkw-tabs,.amcm-harmonie .hkw-header{display:none}

/* Plein écran (API Fullscreen ou repli plein cadre pour iOS) */
.amcm:fullscreen,.amcm.amcm-pseudo-fs{left:0;transform:none;width:100%;max-width:none;background:#fff;padding:12px;overflow:auto;box-sizing:border-box}
.amcm.amcm-pseudo-fs{position:fixed;inset:0;z-index:999999;width:100vw;height:100vh;height:100dvh}
.amcm:fullscreen .amcm-panel.is-active [style*="--"],
.amcm.amcm-pseudo-fs .amcm-panel.is-active [style*="--"]{
    --amfm-height:max(360px,calc(100vh - 300px)) !important;--arpm-height:max(360px,calc(100vh - 300px)) !important;
    --arp025m-height:max(360px,calc(100vh - 300px)) !important;--aifsm-height:max(360px,calc(100vh - 300px)) !important;--cepm-height:max(360px,calc(100vh - 300px)) !important;
    --gfsm-height:max(360px,calc(100vh - 300px)) !important;--hmap-height:max(360px,calc(100vh - 300px)) !important}

/* Plein écran « carte uniquement » : la carte d'un module seule, sans titre ni onglets de modèle.
   Les cartes portent leur propre margin/max-width (mise en page normale) : on les neutralise ici,
   sinon la boîte plein écran reste centrée à sa taille normale au lieu de couvrir l'écran. */
.amcm-map-only.amfm-card:fullscreen,.amcm-map-only.arpm-card:fullscreen,.amcm-map-only.arp025m-card:fullscreen,.amcm-map-only.aifsm-card:fullscreen,
.amcm-map-only.cepm-card:fullscreen,.amcm-map-only.gfsm-card:fullscreen,.amcm-map-only.hmap-card:fullscreen,
.amcm-map-only.amcm-pseudo-fs{background:#fff;padding:12px;overflow:auto;box-sizing:border-box;margin:0 !important;max-width:none !important}
.amcm-map-only.amcm-pseudo-fs{position:fixed;inset:0;z-index:999999;width:100vw;height:100vh;height:100dvh}
.amcm-map-only .amfm-header,.amcm-map-only .arpm-header,.amcm-map-only .arp025m-header,.amcm-map-only .aifsm-header,
.amcm-map-only .cepm-header,.amcm-map-only .gfsm-header{display:none !important}
.amcm-map-only:fullscreen[style*="--"],.amcm-map-only.amcm-pseudo-fs[style*="--"]{
    --amfm-height:max(360px,calc(100vh - 150px)) !important;--arpm-height:max(360px,calc(100vh - 150px)) !important;
    --arp025m-height:max(360px,calc(100vh - 150px)) !important;--aifsm-height:max(360px,calc(100vh - 150px)) !important;--cepm-height:max(360px,calc(100vh - 150px)) !important;
    --gfsm-height:max(360px,calc(100vh - 150px)) !important;--hmap-height:max(360px,calc(100vh - 150px)) !important}

.amcm-version{margin:10px 0 0;font-size:12px;opacity:.6;text-align:right}
@media(max-width:600px){
    .amcm{width:calc(100vw - 20px)}
    .amcm-layout{grid-template-columns:1fr}.amcm-sidebar{position:static}.amcm-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.amcm-sidebar h3,.amcm-sidebar p{grid-column:1/-1}.amcm-side-btn,.amcm-side-unavailable{margin:0}
    .amcm-btn{flex:1 1 30%;min-width:0}
    .amcm-tools{width:100%;justify-content:flex-end;flex-wrap:wrap}
}
