/* Shared style: mapview.css — the map of both pages: participant/map.js, facilitator/facmap.js,
   shared/mapview.js. */
.mp-wrap{flex:1;display:flex;flex-direction:column;min-width:0;}
.mp-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--aic-line);}
/* the bar's buttons: one shape, one height; the main one (« Add ») in the tool's action colour */
.mp-base,.mp-add{display:inline-flex;align-items:center;gap:6px;box-sizing:border-box;height:32px;border:1px solid var(--aic-line-strong);border-radius:var(--aic-radius-md);padding:0 12px;font:600 13px/1 var(--aic-font-sans);white-space:nowrap;cursor:pointer;}
.mp-base{background:var(--aic-surface-raised);color:var(--aic-ink);}
.mp-base.is-on{border-color:var(--aic-navy);box-shadow:inset 0 0 0 1px var(--aic-navy);}
.mp-add{margin-left:auto;background:var(--aic-action);border-color:var(--aic-action);color:var(--aic-on-action);}
.mp-add.is-on{background:var(--aic-gold);color:var(--aic-ink);}
.mp-add.is-cancel{background:transparent;color:var(--aic-ink);box-shadow:inset 0 0 0 1px var(--aic-line-strong);}
.mp-main{flex:1;display:flex;min-height:0;}
.mp-box{flex:1;min-width:0;background:#a3dbe8;position:relative;isolation:isolate;} /* Leaflet's layers stay inside it */
.mp-side{width:260px;flex-shrink:0;overflow-y:auto;border-left:1px solid var(--aic-line);padding:10px 12px;background:var(--aic-surface-raised);color:var(--aic-ink);}
.mp-h{font-size:14px;font-weight:800;margin:0 0 8px;}
.mp-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;background:none;padding:6px 4px;font-size:13px;color:var(--aic-ink);cursor:pointer;border-radius:6px;overflow-wrap:anywhere;}
.mp-item:hover{background:var(--aic-surface-sunk);}
.mp-item__txt{flex:1;min-width:0;}.mp-item__txt .mp-pop-sub{display:inline;white-space:nowrap;}
.mp-empty{color:var(--aic-ink-2);font-size:13px;padding:12px;}
.mp-form{display:flex;flex-direction:column;gap:4px;}
.mp-form label,.mp-lbl{display:block;font:600 13px/1.3 var(--aic-font-sans);text-transform:none;letter-spacing:0;color:var(--aic-ink-2);margin:10px 0 4px;}
.mp-form .mp-h{font:700 15px/1.3 var(--aic-font-sans);color:var(--aic-ink);margin:0 0 4px;} /* one type for the form */
.mp-form input:not([type]),.mp-form textarea{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--aic-line);border-radius:8px;font:inherit;color:var(--aic-ink);background:var(--aic-surface-raised);}
.mp-form input:not([type]):focus,.mp-form textarea:focus{outline:2px solid var(--aic-focus);outline-offset:0;border-color:var(--aic-focus);}
.mp-form .mp-acts{margin-top:16px;}
.mp-photo{margin-top:12px;}
.mp-teams{display:flex;flex-wrap:wrap;gap:6px;}
.mp-team{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--aic-line);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600;cursor:pointer;background:var(--aic-surface-raised);}
.mp-team:has(input:checked){border-color:var(--aic-navy);box-shadow:inset 0 0 0 1px var(--aic-navy);}
.mp-team input{margin:0;width:auto;height:auto;flex:0 0 auto;}
.mp-form .mp-team{display:inline-flex;align-items:center;margin:0;font:600 13px/1.2 var(--aic-font-sans);color:var(--aic-ink);gap:8px;}
.mp-pop-acts{display:flex;gap:14px;margin-top:8px;}
.mp-colors{display:flex;gap:8px;margin:2px 0 4px;}
.mp-color{width:24px;height:24px;border-radius:50%;border:2px solid var(--aic-surface-raised);box-shadow:0 0 0 1px var(--aic-line);cursor:pointer;padding:0;}
.mp-color.is-on{box-shadow:0 0 0 2px var(--aic-ink);}
.mp-acts{display:flex;gap:8px;justify-content:flex-end;}
.mp-pop{font-size:13px;max-width:240px;overflow-wrap:anywhere;}
.mp-pop p{margin:4px 0;}
.mp-pop-sub{color:var(--aic-ink-2);font-size:12px;}
.mv-icon{background:none;border:0;}
.mv-pin{display:inline-block;width:14px;height:14px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:2px solid var(--aic-surface-raised);box-shadow:0 1px 3px color-mix(in srgb,var(--aic-ink) 40%,transparent);flex-shrink:0;}
.mv-pin--red{background:var(--aic-map-red);}.mv-pin--orange{background:var(--aic-map-orange);}.mv-pin--blue{background:var(--aic-app-mail);}.mv-pin--green{background:var(--aic-teal);}.mv-pin--black{background:var(--aic-ink);}
.mv-pin--fac{border-color:var(--aic-ink);}
.mv-lab{position:absolute;left:18px;top:-2px;white-space:nowrap;font-size:12px;font-weight:700;color:var(--aic-ink);background:var(--aic-surface-raised);padding:0 4px;border-radius:4px;box-shadow:0 0 0 1px var(--aic-line);}
body.phone .mp-main{flex-direction:column;}
.mp-fold{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:0;border:0;background:none;color:var(--aic-ink);font:800 14px/1.3 var(--aic-font-sans);text-align:left;cursor:pointer;}
.mp-fold__chev{font-size:20px;line-height:1;transition:transform .15s ease;}
.mp-fold[aria-expanded="true"]{margin-bottom:4px;}
.mp-fold[aria-expanded="true"] .mp-fold__chev{transform:rotate(90deg);}
body.phone .mp-side{width:auto;max-height:42%;border-left:0;border-top:1px solid var(--aic-line);} /* the form and the list under the map */
.fmap{position:fixed;inset:14px;z-index:690;display:flex;flex-direction:column;background:var(--aic-surface-raised);color:var(--aic-ink);border-radius:var(--aic-radius-lg);box-shadow:var(--aic-shadow-3);overflow:hidden;} /* a window, its close button away from the browser's */
.fmap__aim{margin-left:auto;font-size:13px;font-weight:600;color:var(--aic-ink-2);}
.fmap__aim:not(.hidden)+.mp-add{margin-left:0;}
.fmap.hidden{display:none;}
.fmap__bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--aic-line);}
.fmap__title{font-size:15px;margin-right:6px;}
.fmap__bases{display:flex;flex-wrap:wrap;gap:6px;}
.fmap__close{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--aic-line);border-radius:8px;background:var(--aic-surface-raised);font-size:22px;line-height:1;color:var(--aic-ink);cursor:pointer;}
.fmap__close:hover{background:var(--aic-surface-sunk);}
.fmap__main{flex:1;display:flex;min-height:0;}
/* a point with a symbol — a round mark of its colour, the symbol in white (mapview.js MAPV_SYMBOLS) */
.mv-sym{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:2px solid var(--aic-surface-raised);box-shadow:0 1px 3px color-mix(in srgb,var(--aic-ink) 40%,transparent);box-sizing:border-box;}
.mv-sym svg{width:14px;height:14px;fill:var(--aic-on-dark);}
.mv-lab--sym{left:26px;top:2px;}
/* point names placed so they never overlap (mapview.js mapvLabelsLayout): left, above, below the mark, or hidden */
.mv-lab--l{left:auto;right:calc(100% + 2px);}
.mv-lab--t{left:50%;top:auto;bottom:calc(100% + 2px);transform:translateX(-50%);}
.mv-lab--b{left:50%;top:calc(100% + 2px);transform:translateX(-50%);}
.mv-lab--off{display:none;}
/* the point's symbol and photo, « Mesurer » (participant/mapextra.js) */
.mp-syms{display:flex;flex-wrap:wrap;gap:6px;}
.mp-sym{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:1px solid var(--aic-line);background:var(--aic-surface-raised);cursor:pointer;}
.mp-sym.is-on{border-color:var(--aic-focus);box-shadow:0 0 0 2px var(--aic-focus);}
.mp-photo{display:flex;flex-direction:column;gap:4px;}
.mp-photo img,.mp-pop-img{display:block;max-width:100%;max-height:160px;border-radius:8px;object-fit:cover;}
.mp-photo-add{align-self:flex-start;cursor:pointer;}
.mp-measure{align-self:center;font-size:13px;font-weight:700;color:var(--aic-ink);}
/* placing (mapview.js mapvAim, participant/mapdraw.js mapCorners): a crosshair, the points and zones let the click through */
.leaflet-container.mv-aim,.leaflet-container.mv-aim .leaflet-interactive{cursor:crosshair;}
.leaflet-container.mv-aim .leaflet-marker-icon:not(.mv-finish),.leaflet-container.mv-aim path.leaflet-interactive{pointer-events:none;}
.mv-dot{stroke:var(--aic-surface-raised);stroke-width:2;fill:var(--aic-ink);fill-opacity:1;}
.mv-finish{background:none;border:0;}
.mv-finish button{white-space:nowrap;border:0;border-radius:999px;padding:5px 12px;font:700 12px/1.2 inherit;background:var(--aic-navy);color:var(--aic-on-dark);box-shadow:0 1px 4px color-mix(in srgb,var(--aic-ink) 35%,transparent);cursor:pointer;}
/* printed: the marks keep their colour, the symbol stays white on it */
.mv-pin,.mv-sym,.mv-shape,.mp-color,.mp-shape{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
.mp-measure-line{stroke:var(--aic-late);stroke-width:3;stroke-dasharray:6 6;fill:none;}
/* zones and lines (mapview.js mapvShape, participant/mapdraw.js) */
.mv-shape{stroke-width:3;fill-opacity:.15;}
.mv-shape--red{stroke:var(--aic-late);fill:var(--aic-late);}
.mv-shape--orange{stroke:var(--aic-gold);fill:var(--aic-gold);}
.mv-shape--blue{stroke:var(--aic-app-mail);fill:var(--aic-app-mail);} /* the pin's blue: navy reads as black */
.mv-shape--green{stroke:var(--aic-teal);fill:var(--aic-teal);}
.mv-shape--black{stroke:var(--aic-ink);fill:var(--aic-ink);}
.mv-shape--line{fill:none;} /* a line is never filled */
.leaflet-tooltip.mv-shape-lab{background:var(--aic-surface-raised);color:var(--aic-ink);border:1px solid var(--aic-line);font-size:12px;font-weight:700;padding:1px 5px;box-shadow:none;}
.mp-shape{display:inline-block;flex-shrink:0;width:14px;height:12px;border-radius:2px;opacity:.85;}
.mp-shape--line{height:4px;border-radius:2px;}
/* « Chercher un lieu » (mapview.js mapvSearchControl), on the map's top right */
.mv-find{width:240px;background:var(--aic-surface-raised);border-radius:8px;box-shadow:0 1px 4px color-mix(in srgb,var(--aic-ink) 30%,transparent);font-size:13px;}
.mv-find__q{width:100%;box-sizing:border-box;border:1px solid var(--aic-line);border-radius:8px;padding:7px 10px;font:inherit;color:var(--aic-ink);background:var(--aic-surface-raised);}
.mv-find__list{max-height:260px;overflow-y:auto;}
.mv-find__item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;text-align:left;border:0;border-top:1px solid var(--aic-line);background:none;padding:6px 10px;cursor:pointer;color:var(--aic-ink);font:inherit;}
.mv-find__item:hover,.mv-find__item:focus{background:var(--aic-surface-sunk);}
.mv-find__item span{font-size:12px;color:var(--aic-ink-2);}
.mv-find__none{margin:0;padding:8px 10px;color:var(--aic-ink-2);border-top:1px solid var(--aic-line);}
