/* Mailiens Signature Analytics Map — isolated after MapLibre so its layout
   and art direction cannot be overridden by the vendor stylesheet. */
.qr-analytics-page .scan-map-panel{
  position:relative;
  overflow:hidden;
  border-color:#b8d7d3;
  background:linear-gradient(145deg,#ffffff 0%,#f4faf8 100%);
}
.qr-analytics-page .scan-map-panel::before{
  content:"";
  position:absolute;
  right:-120px;
  top:-160px;
  width:420px;
  height:420px;
  border:1px solid rgba(22,183,49,.12);
  border-radius:50%;
  box-shadow:0 0 0 48px rgba(57,154,202,.035),0 0 0 96px rgba(22,183,49,.025);
  pointer-events:none;
}
.qr-analytics-page .privacy-scan-map{
  position:relative!important;
  isolation:isolate;
  min-height:470px;
  margin:1.15rem 0;
  overflow:hidden;
  border:1px solid #1c5064;
  border-radius:18px;
  background:
    radial-gradient(circle at 20% 75%,rgba(12,178,123,.20),transparent 24%),
    radial-gradient(circle at 76% 15%,rgba(41,132,210,.23),transparent 30%),
    linear-gradient(145deg,#071c31,#09283d 60%,#061825);
  box-shadow:inset 0 0 0 1px rgba(112,205,218,.08),0 18px 40px rgba(6,25,43,.16);
}
.qr-analytics-page .privacy-scan-map::before,
.qr-analytics-page .privacy-scan-map::after{
  content:"";
  position:absolute;
  z-index:2;
  inset:auto -15% -52% -15%;
  height:75%;
  border:1px solid rgba(43,193,245,.28);
  border-radius:50%;
  box-shadow:0 0 34px rgba(43,193,245,.12),0 -42px 0 -41px rgba(48,230,105,.35);
  pointer-events:none;
}
.qr-analytics-page .privacy-scan-map::after{
  inset:-58% -12% auto 22%;
  border-color:rgba(61,226,113,.22);
  transform:rotate(-9deg);
}
.qr-analytics-page .scan-map-canvas,
.qr-analytics-page .scan-map-fallback{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
}
.qr-analytics-page .scan-map-canvas{
  z-index:1;
  opacity:0;
  transition:opacity .45s ease;
}
.qr-analytics-page .scan-map-loading{
  position:absolute;
  z-index:4;
  top:50%;
  left:50%;
  display:grid;
  justify-items:center;
  gap:7px;
  width:min(320px,calc(100% - 42px));
  padding:16px 20px;
  border:1px solid rgba(147,220,225,.3);
  border-radius:14px;
  color:#f3fffd;
  background:rgba(5,30,45,.84);
  box-shadow:0 14px 34px rgba(0,0,0,.24);
  text-align:center;
  transform:translate(-50%,-50%);
  backdrop-filter:blur(8px);
}
.qr-analytics-page .scan-map-loading>span{width:28px;height:28px;border:3px solid rgba(255,255,255,.25);border-top-color:#69e08a;border-radius:50%;animation:mailiens-map-loading .8s linear infinite}
.qr-analytics-page .scan-map-loading>strong{font-size:.9rem}
.qr-analytics-page .scan-map-loading>small{color:#c7dedb;font-size:.74rem;line-height:1.4}
.qr-analytics-page .privacy-scan-map.maplibre-ready .scan-map-loading{display:none}
.qr-analytics-page .privacy-scan-map.maplibre-unavailable .scan-map-loading>span{display:none}
.qr-analytics-page .privacy-scan-map.maplibre-unavailable .scan-map-loading{border-color:rgba(255,190,110,.5)}
@keyframes mailiens-map-loading{to{transform:rotate(360deg)}}
.qr-analytics-page .scan-map-fallback{z-index:0}
.qr-analytics-page .scan-map-fallback>svg{position:absolute;inset:9% 6%;width:88%;height:82%}
.qr-analytics-page .scan-map-fallback>svg path{fill:#12364b!important;stroke:#54a3b6!important;stroke-width:1!important}
.qr-analytics-page .privacy-scan-map.maplibre-ready .scan-map-canvas{opacity:1}
.qr-analytics-page .privacy-scan-map.maplibre-ready .scan-map-fallback{visibility:hidden}
.qr-analytics-page .privacy-scan-map.maplibre-unavailable .scan-map-canvas{display:none}
.qr-analytics-page .maplibregl-canvas{filter:saturate(1.08) contrast(1.03)}
.qr-analytics-page .maplibregl-ctrl-top-right{z-index:5}
.qr-analytics-page .maplibregl-ctrl-group{
  overflow:hidden;
  border:1px solid rgba(114,196,209,.35);
  border-radius:10px;
  background:rgba(8,31,49,.84);
  box-shadow:0 7px 20px rgba(0,0,0,.22);
  backdrop-filter:blur(8px);
}
.qr-analytics-page .maplibregl-ctrl-group button{width:44px;height:44px;background-color:rgba(255,255,255,.92)}
.qr-analytics-page .mailiens-map-marker{
  --signal-color:#27da5c;
  position:relative;
  width:44px;
  height:44px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  box-shadow:none;
  cursor:pointer;
}
.qr-analytics-page .mailiens-map-marker.surface-back{--signal-color:#3fc8ff}
.qr-analytics-page .mailiens-map-marker span{
  position:absolute;
  inset:14px;
  border:3px solid #fff;
  border-radius:50%;
  background:var(--signal-color);
  box-shadow:0 0 0 7px color-mix(in srgb,var(--signal-color) 23%,transparent),0 0 22px var(--signal-color);
  animation:mailiens-signal-dot 6s calc(var(--signal-order) * 1.1s) infinite both;
}
.qr-analytics-page .mailiens-map-marker span::before,
.qr-analytics-page .mailiens-map-marker span::after{
  content:"";
  position:absolute;
  inset:-10px;
  border:1px solid var(--signal-color);
  border-radius:50%;
  opacity:0;
  animation:mailiens-signal-ring 6s calc(var(--signal-order) * 1.1s) infinite;
}
.qr-analytics-page .mailiens-map-marker span::after{animation-delay:calc(var(--signal-order) * 1.1s + .35s)}
.qr-analytics-page .mailiens-map-marker b{
  position:absolute;
  left:31px;
  top:-5px;
  min-width:28px;
  padding:.22rem .46rem;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:#071d31;
  color:#fff;
  font:800 .7rem/1.2 var(--font-body);
  box-shadow:0 5px 14px rgba(0,0,0,.25);
}
.qr-analytics-page .mailiens-map-marker i{
  position:absolute;
  right:-4px;
  bottom:-2px;
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border:1px solid color-mix(in srgb,var(--signal-color) 65%,#fff);
  border-radius:50%;
  background:#071d31;
  color:var(--signal-color);
  font:900 .58rem/1 var(--font-body);
}
.qr-analytics-page .mailiens-map-popup .maplibregl-popup-content{
  display:grid;
  gap:.18rem;
  min-width:170px;
  padding:.85rem 1rem;
  border:1px solid rgba(77,194,213,.45);
  border-radius:12px;
  background:#081f33;
  color:#dcecf0;
  box-shadow:0 14px 34px rgba(0,0,0,.3);
}
.qr-analytics-page .mailiens-map-popup .maplibregl-popup-content strong{color:#fff}
.qr-analytics-page .mailiens-map-popup .maplibregl-popup-content span{color:#42dc75;font-weight:850}
.qr-analytics-page .mailiens-map-popup .maplibregl-popup-content small{color:#aac6cd}
.qr-analytics-page .mailiens-map-popup .maplibregl-popup-tip{border-top-color:#081f33}
.qr-analytics-page .scan-map-legend{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}
.qr-analytics-page .scan-map-legend>button{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.15rem .55rem;
  padding:.78rem .85rem .78rem 1rem;
  overflow:hidden;
  border:1px solid #d8e5e1;
  border-radius:10px;
  background:#fff;
  color:inherit;
  text-align:left;
  box-shadow:none;
  cursor:pointer;
}
.qr-analytics-page .scan-map-legend>button::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(#34ceee,#20bd4b)}
.qr-analytics-page .scan-map-legend>button:hover,.qr-analytics-page .scan-map-legend>button:focus-visible,.qr-analytics-page .scan-map-legend>button.selected{border-color:#27b857;background:#effaf3;transform:none}
.qr-analytics-page .scan-map-legend>button.selected{background:#0b8308;color:#fff}
.qr-analytics-page .scan-map-legend>button.selected strong,.qr-analytics-page .scan-map-legend>button.selected span{color:#fff}
.qr-analytics-page .scan-map-legend span{color:#14374b;font-weight:800}
.qr-analytics-page .scan-map-legend strong{color:#087a52;font-size:.8rem}
.qr-analytics-page .scan-map-legend small{grid-column:1/-1;color:#687b72}
.qr-analytics-page .production-map-toolbar,.qr-analytics-page .production-response-filters{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-top:1rem}
.qr-analytics-page .production-map-toolbar>span,.qr-analytics-page .production-response-filters>span{color:#5b7168;font-size:.84rem;font-weight:750}
.qr-analytics-page .production-map-views,.qr-analytics-page .production-response-filters{display:flex;align-items:center;gap:.42rem;flex-wrap:wrap}
.qr-analytics-page .production-map-views button,.qr-analytics-page .production-response-filters button{min-height:38px;padding:.48rem .78rem;border:1px solid #c9ddd9;border-radius:999px;background:#fff;color:#17372f;font:800 .78rem/1.1 var(--font-body);box-shadow:none;cursor:pointer}
.qr-analytics-page .production-map-views button:hover,.qr-analytics-page .production-map-views button:focus-visible,.qr-analytics-page .production-map-views button.active,.qr-analytics-page .production-response-filters button:hover,.qr-analytics-page .production-response-filters button:focus-visible,.qr-analytics-page .production-response-filters button.active{border-color:#16a934;background:#eaf9ed;color:#087a31;transform:none}
.qr-analytics-page .production-map-views button:disabled{opacity:.48;cursor:not-allowed}
.qr-analytics-page .production-region-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.75rem;padding:.85rem 1rem;border:1px solid #cae0db;border-radius:11px;background:#f5faf8}
.qr-analytics-page .production-region-summary>div{display:grid;gap:.18rem}.qr-analytics-page .production-region-summary strong{color:#12364b}.qr-analytics-page .production-region-summary span{color:#61766d;font-size:.86rem}.qr-analytics-page .production-region-summary .btn{flex:0 0 auto}
.qr-analytics-page .production-region-actions{display:flex!important;grid-auto-flow:column;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}
.qr-analytics-page .production-region-actions .btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.qr-analytics-page .mailiens-map-marker.selected span{box-shadow:0 0 0 9px color-mix(in srgb,var(--signal-color) 32%,transparent),0 0 30px var(--signal-color);transform:scale(1.2)}
.qr-analytics-page .mailiens-responder-marker{--responder-color:#22c63d;position:relative!important;display:block!important;width:28px!important;min-width:28px!important;max-width:28px!important;height:28px!important;min-height:28px!important;max-height:28px!important;aspect-ratio:1/1!important;padding:0!important;border:0;border-radius:50%!important;background:transparent;cursor:pointer;overflow:visible;box-sizing:border-box;flex:none}.qr-analytics-page .mailiens-responder-marker[hidden]{display:none!important}.qr-analytics-page .mailiens-responder-marker span{position:absolute;left:7px;top:7px;width:14px;height:14px;box-sizing:border-box;border:3px solid #fff;border-radius:50%!important;background:var(--responder-color);box-shadow:0 0 0 3px rgba(34,198,61,.34),0 4px 12px rgba(0,0,0,.32)}.qr-analytics-page .mailiens-responder-marker.signal-shared{--responder-color:#f3a72d}.qr-analytics-page .mailiens-responder-marker:hover span,.qr-analytics-page .mailiens-responder-marker:focus-visible span,.qr-analytics-page .mailiens-responder-marker.selected span,.qr-analytics-page .mailiens-responder-marker.pulse-now span{transform:scale(1.25);box-shadow:0 0 0 8px color-mix(in srgb,var(--responder-color) 28%,transparent),0 0 26px var(--responder-color)}.qr-analytics-page .mailiens-responder-marker.pulse-now::after{content:"";position:absolute;inset:2px;border:2px solid var(--responder-color);border-radius:50%;animation:mailiens-responder-pulse 1.1s ease-out 2}
.qr-analytics-page .map-cohort-responders{display:grid;gap:.5rem;margin-top:.75rem}.qr-analytics-page .map-cohort-responders>small{font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:#087a52}.qr-analytics-page .map-responder-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:center;padding:.55rem;border:1px solid #d6e5df;border-radius:9px;background:#fff}.qr-analytics-page .map-responder-row>[data-map-responder]{display:grid;gap:.12rem;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.qr-analytics-page .map-responder-row>[data-map-responder]:hover strong,.qr-analytics-page .map-responder-row>[data-map-responder]:focus-visible strong{color:#07852c;text-decoration:underline}.qr-analytics-page .map-responder-row .map-follow-up-action{min-height:36px;padding:.42rem .62rem;border:1px solid #9db5ac;border-radius:7px;background:#fff;color:#28483f;font-weight:850;cursor:pointer}.qr-analytics-page .map-responder-row .map-follow-up-action:hover,.qr-analytics-page .map-responder-row .map-follow-up-action:focus-visible{border-color:#bd3d34;background:#fff5f3;color:#9d241d}.qr-analytics-page .map-responder-row .map-follow-up-action[disabled]{cursor:default;border-color:#cdd9d4;background:#f2f6f4;color:#667a72}
.qr-analytics-page .map-responder-row.map-signal-focus{border-color:#16a934;background:#effaf3;box-shadow:0 0 0 3px rgba(32,189,75,.16)}
.qr-analytics-page .map-responder-row.is-selected{border-color:#16a934;background:#f1faf3;box-shadow:inset 4px 0 0 #16a934,0 8px 20px rgba(13,41,66,.08)}
.qr-analytics-page .map-responder-guide{display:grid;gap:.12rem;padding:.1rem .15rem .4rem;border-bottom:1px solid #d9e5df}
.qr-analytics-page .map-responder-guide small{color:#087a52;font-size:.68rem;font-weight:900;letter-spacing:.065em;text-transform:uppercase}
.qr-analytics-page .map-responder-guide span{color:#61766d!important;font-size:.74rem!important;line-height:1.35!important}
.qr-analytics-page .map-responder-row>[data-map-responder][aria-pressed="true"] strong{color:#087a31}
.qr-analytics-page .map-responder-row>[data-map-responder]:focus{outline:none!important}
.qr-analytics-page .map-responder-row>[data-map-responder]:focus-visible{border-radius:5px;outline:2px solid #18aa0f!important;outline-offset:2px;box-shadow:0 0 0 2px #fff!important}

/* Map context polish: readable local geography and a plain-language area selector. */
.qr-analytics-page .mailiens-place-label{display:inline-flex;align-items:center;justify-content:center;min-width:max-content;padding:.24rem .48rem;border:1px solid rgba(188,225,228,.38);border-radius:5px;background:rgba(5,31,47,.86);box-shadow:0 3px 12px rgba(2,19,31,.3);color:#e9fbfb;font-size:.72rem;font-weight:800;letter-spacing:.01em;line-height:1;white-space:nowrap;pointer-events:none;transform:translateY(-18px)}
.qr-analytics-page .mailiens-place-label.place-city{padding:.3rem .56rem;border-color:rgba(119,240,128,.52);color:#fff;font-size:.78rem}
.qr-analytics-page .mailiens-place-label.place-neighborhood{background:rgba(12,67,76,.82);color:#d8f3f2;font-size:.68rem;font-weight:750}
.qr-analytics-page .scan-map-legend>button{display:grid!important;grid-template-columns:1fr!important;gap:.12rem!important;min-width:220px!important;padding:.72rem .82rem .72rem 1rem!important;border:1px solid #cfdfd8!important;border-radius:9px!important;background:#fff!important;color:#17372f!important;box-shadow:none!important;text-align:left!important}
.qr-analytics-page .scan-map-legend>button::before{width:3px!important;background:#18aa0f!important}
.qr-analytics-page .scan-map-legend>button:hover,.qr-analytics-page .scan-map-legend>button:focus-visible{border-color:#8ac69b!important;background:#f6fbf7!important}
.qr-analytics-page .scan-map-legend>button.selected{border-color:#6cbd84!important;background:#eff9f1!important;color:#17372f!important;box-shadow:inset 3px 0 0 #18aa0f!important}
.qr-analytics-page .scan-map-legend>button span{color:#567068!important;font-size:.68rem!important;font-weight:850!important;letter-spacing:.04em;text-transform:uppercase}
.qr-analytics-page .scan-map-legend>button strong{color:#17372f!important;font-size:.92rem!important}
.qr-analytics-page .scan-map-legend>button small{color:#657870!important;font-size:.69rem!important;line-height:1.35}
.qr-analytics-page [data-response-piece][hidden]{display:none!important}
.qr-analytics-page .response-decision-handoff{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:1rem 1.05rem;border:1px solid #b9ddd0;border-radius:13px;background:linear-gradient(115deg,#effaf4 0%,#f8fcfb 62%,#eef7fb 100%)}
.qr-analytics-page .response-decision-handoff>div{display:grid;gap:.2rem;min-width:0}
.qr-analytics-page .response-decision-handoff span{color:#087a52;font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.qr-analytics-page .response-decision-handoff strong{color:#102f42;font-size:1.02rem}
.qr-analytics-page .response-decision-handoff p{max-width:68ch;margin:0;color:#587068;font-size:.86rem}
.qr-analytics-page .response-decision-handoff[data-active-filter="shared"]{border-color:#efc47a;background:linear-gradient(115deg,#fff8e8 0%,#fffdf7 62%,#f5faf8 100%)}
.qr-analytics-page .response-decision-handoff[data-active-filter="shared"] span{color:#9a5600}
.qr-analytics-page .response-ledger-list article{transition:background-color .2s,border-color .2s,transform .2s}
.qr-analytics-page .recent-response-ledger{scroll-margin-top:1rem}
.qr-analytics-page .response-ledger-list article.map-signal-focus,.qr-analytics-page .response-ledger-list article.map-signal-focus:focus{position:relative;z-index:1;border-color:#16a934;background:#effaf3;box-shadow:0 0 0 4px rgba(32,189,75,.18),0 14px 30px rgba(7,77,50,.13);outline:3px solid transparent;animation:mailiens-map-signal-focus .72s ease-out 3!important}
.qr-analytics-page .response-ledger-list article:nth-child(4n+1){animation:mailiens-ledger-focus 6s 0s infinite}
.qr-analytics-page .response-ledger-list article:nth-child(4n+2){animation:mailiens-ledger-focus 6s 1.1s infinite}
.qr-analytics-page .response-ledger-list article:nth-child(4n+3){animation:mailiens-ledger-focus 6s 2.2s infinite}
.qr-analytics-page .response-ledger-list article:nth-child(4n+4){animation:mailiens-ledger-focus 6s 3.3s infinite}
@keyframes mailiens-signal-dot{0%,9%,100%{transform:scale(.92)}13%,22%{transform:scale(1.28)}28%{transform:scale(1)}}
@keyframes mailiens-signal-ring{0%,8%,28%,100%{transform:scale(.5);opacity:0}12%{opacity:.85}24%{transform:scale(2.5);opacity:0}}
@keyframes mailiens-ledger-focus{0%,9%,100%{background:#fff;transform:none}12%,22%{background:#effaf3;border-color:#9ddcb1;transform:translateX(3px)}28%{background:#fff;transform:none}}
@keyframes mailiens-map-signal-focus{0%{box-shadow:0 0 0 0 rgba(32,189,75,.34),0 14px 30px rgba(7,77,50,.13)}55%{box-shadow:0 0 0 9px rgba(32,189,75,.1),0 14px 30px rgba(7,77,50,.18)}100%{box-shadow:0 0 0 4px rgba(32,189,75,.18),0 14px 30px rgba(7,77,50,.13)}}
@keyframes mailiens-responder-pulse{0%{transform:scale(.7);opacity:.95}100%{transform:scale(2.4);opacity:0}}
@media(max-width:820px){
  .qr-analytics-page .privacy-scan-map{min-height:390px}
  .qr-analytics-page .scan-map-legend{grid-template-columns:1fr}
}
@media(max-width:520px){
  .qr-analytics-page .privacy-scan-map{min-height:315px;border-radius:13px}
  .qr-analytics-page .mailiens-map-marker{width:38px;height:38px}
  .qr-analytics-page .mailiens-map-marker span{inset:12px}
  .qr-analytics-page .mailiens-map-marker b{left:26px}
  .qr-analytics-page .production-map-toolbar,.qr-analytics-page .production-response-filters{align-items:stretch}
  .qr-analytics-page .production-map-views{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .qr-analytics-page .production-map-views button{padding-inline:.5rem}
  .qr-analytics-page .production-response-filters button{flex:1 1 auto}
  .qr-analytics-page .response-decision-handoff{align-items:stretch;flex-direction:column}
  .qr-analytics-page .response-decision-handoff .btn{width:100%;text-align:center}
  .qr-analytics-page .production-region-summary{align-items:stretch;flex-direction:column}.qr-analytics-page .production-region-summary .btn{width:100%;text-align:center}.qr-analytics-page .production-region-actions{display:grid!important;grid-auto-flow:row;grid-template-columns:1fr;width:100%}.qr-analytics-page .map-responder-row{grid-template-columns:1fr}.qr-analytics-page .map-responder-row .map-follow-up-action{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .qr-analytics-page .scan-map-canvas{transition:none}
  .qr-analytics-page .scan-map-loading>span{animation:none}
  .qr-analytics-page .mailiens-map-marker,
  .qr-analytics-page .mailiens-map-marker span,
  .qr-analytics-page .mailiens-map-marker span::before,
  .qr-analytics-page .mailiens-map-marker span::after,
  .qr-analytics-page .response-ledger-list article{animation:none!important}
  .qr-analytics-page .response-ledger-list article.map-signal-focus{border-color:#16a934;background:#effaf3;box-shadow:0 0 0 4px rgba(32,189,75,.18)!important}
}
.geography-growth-panel{display:grid;gap:16px}.geography-growth-row{display:grid;gap:10px;padding:16px;border:1px solid #cfe1d8;border-radius:14px;background:linear-gradient(135deg,#fff,#f1faf5)}.geography-growth-row>div:first-child{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.geography-growth-row span,.geography-growth-row p{color:#5f756d}.geography-growth-row p{margin:0}.geography-growth-track{height:10px;border-radius:999px;background:#dce9e4;overflow:hidden}.geography-growth-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#11a80d,#38c6b0)}

/* Production/demo visual parity — the live campaign map now follows the
   accepted opportunity-map hierarchy without borrowing synthetic data. */
.qr-analytics-page .scan-map-panel{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(360px,.85fr);
  grid-template-areas:
    "heading heading"
    "path path"
    "toolbar story"
    "map story"
    "legend story"
    "privacy privacy";
  gap:.9rem 1rem;
  padding:clamp(1rem,2vw,1.45rem);
}
.qr-analytics-page .scan-map-panel>.panel-heading{grid-area:heading;margin:0;position:relative;z-index:1}
.qr-analytics-page .scan-map-panel>.map-decision-path{grid-area:path;margin:0}
.qr-analytics-page .scan-map-panel>.production-map-toolbar{grid-area:toolbar;margin:0;padding:.65rem .75rem;border:1px solid #d6e4df;border-radius:12px;background:rgba(255,255,255,.86);position:relative;z-index:1}
.qr-analytics-page .scan-map-panel>.privacy-scan-map{grid-area:map;margin:0;min-height:clamp(380px,44vw,540px)}
.qr-analytics-page .scan-map-panel>.scan-map-legend{grid-area:legend}
.qr-analytics-page .scan-map-panel>.production-region-summary{
  grid-area:story;
  align-self:start;
  align-content:start;
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
  margin:0;
  padding:1.15rem;
  border:1px solid #b9d9cc;
  border-top:4px solid #18aa0f;
  border-radius:14px;
  background:linear-gradient(155deg,#ffffff,#f0f9f3 68%,#edf7fb);
  box-shadow:0 12px 28px rgba(13,41,66,.07);
  position:relative;
  z-index:1;
  max-height:clamp(500px,58vw,720px);
  overflow:auto;
  scrollbar-gutter:stable;
}
.qr-analytics-page .scan-map-panel>.production-region-summary>div:first-child{align-content:start;gap:.55rem}
.qr-analytics-page .scan-map-panel>.production-region-summary>div:first-child::before{content:"Campaign story";color:#087a52;font-size:.68rem;font-weight:900;letter-spacing:.085em;text-transform:uppercase}
.qr-analytics-page .scan-map-panel>.production-region-summary strong{font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.08;color:#0b1d36}
.qr-analytics-page .scan-map-panel>.production-region-summary span{font-size:.92rem;line-height:1.55;color:#52685e}
.qr-analytics-page .scan-map-panel>.production-region-summary .production-region-actions{display:grid!important;grid-auto-flow:row;grid-template-columns:1fr;align-self:end;width:100%}
.qr-analytics-page .scan-map-panel>.production-region-summary .btn{width:100%;white-space:normal;text-align:center}
.qr-analytics-page .scan-map-panel>.map-privacy-details{grid-area:privacy;margin:0}
.qr-analytics-page .scan-map-panel>.territory-drawer{grid-area:story;align-self:start;margin:0;min-width:0}
.qr-analytics-page .map-responder-row{
  grid-template-columns:minmax(0,1fr)!important;
  align-items:stretch;
  gap:.45rem;
  padding:.65rem;
}
.qr-analytics-page .map-responder-row>[data-map-responder]{min-width:0;padding:.1rem .15rem!important;border:0!important;background:#fff!important;color:#173a2d!important;box-shadow:none!important}
.qr-analytics-page .map-responder-row>[data-map-responder] strong{font-size:.9rem;line-height:1.2;overflow-wrap:anywhere}
.qr-analytics-page .map-responder-row>[data-map-responder] span{font-size:.76rem!important;line-height:1.38!important;overflow-wrap:anywhere}
.qr-analytics-page .map-responder-row .map-follow-up-action{width:100%;font-size:.78rem}
.qr-analytics-page .map-follow-up-state{display:block;padding:.42rem .55rem;border-radius:7px;background:#eef5f1;color:#587067;font-size:.72rem;font-weight:800;text-align:center}
.qr-analytics-page .qr-surface-grid{grid-template-columns:minmax(0,1fr)!important}
.qr-analytics-page .qr-surface-grid .qr-surface-performance{width:100%;min-width:0}
@media(max-width:1280px){
  .qr-analytics-page .scan-map-panel{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "path" "toolbar" "map" "story" "legend" "privacy"}
  .qr-analytics-page .scan-map-panel>.production-region-summary{min-height:auto;max-height:none;overflow:visible}
  .qr-analytics-page .scan-map-panel>.production-region-summary .production-region-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:660px){
  .qr-analytics-page .scan-map-panel{gap:.7rem;padding:.85rem}
  .qr-analytics-page .scan-map-panel>.production-map-toolbar{align-items:stretch}
  .qr-analytics-page .scan-map-panel>.production-map-toolbar>span{padding:.15rem .2rem}
  .qr-analytics-page .scan-map-panel>.production-region-summary .production-region-actions{grid-template-columns:1fr}
}
.qr-analytics-page .map-cohort-responders{display:grid!important;gap:.38rem!important;margin-top:.35rem;padding-top:.7rem;border-top:1px solid #d9e5df}.qr-analytics-page .map-cohort-responders>small{color:#087a52;font-size:.67rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.qr-analytics-page .map-cohort-responders>button{display:grid;gap:.08rem;width:100%;padding:.55rem .65rem;border:1px solid #d8e4df;border-radius:8px;background:#fff;color:#173a2d;text-align:left;cursor:pointer}.qr-analytics-page .map-cohort-responders>button:hover,.qr-analytics-page .map-cohort-responders>button:focus-visible{border-color:#18aa0f;background:#f4fbf5}.qr-analytics-page .map-cohort-responders>button strong{font-size:.8rem}.qr-analytics-page .map-cohort-responders>button span{font-size:.72rem!important;line-height:1.35!important}

/* Focused visual-polish pass: one map, one responder rail, one primary map action. */
.qr-analytics-page .scan-map-panel{gap:.8rem 1.1rem;padding:clamp(1.1rem,2.2vw,1.65rem);border:1px solid #c8dbd7;background:linear-gradient(155deg,#fff 0%,#f7fbf9 68%,#f2f8f7 100%);box-shadow:0 16px 40px rgba(13,41,66,.07)}
.qr-analytics-page .scan-map-panel>.panel-heading{padding-bottom:.15rem}
.qr-analytics-page .scan-map-panel>.panel-heading h2{margin:.18rem 0 .3rem;font-size:clamp(1.55rem,2.5vw,2rem);letter-spacing:-.025em}
.qr-analytics-page .scan-map-panel>.panel-heading .muted{max-width:76ch;font-size:.94rem;line-height:1.55}
.qr-analytics-page .scan-map-panel>.panel-heading>.badge{align-self:flex-start;border-color:#bad9ca;background:#eff9f1;color:#176533}
.qr-analytics-page .scan-map-panel>.production-map-toolbar{padding:.48rem .55rem;border-color:#d5e2de;border-radius:10px;background:#eef4f1;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.qr-analytics-page .production-map-views{gap:.25rem}
.qr-analytics-page .production-map-views button{min-height:34px;padding:.42rem .72rem;border-color:transparent;border-radius:7px;background:transparent;color:#526860}
.qr-analytics-page .production-map-views button:hover,.qr-analytics-page .production-map-views button:focus-visible{border-color:#c8ddd2;background:#fff;color:#174637}
.qr-analytics-page .production-map-views button.active{border-color:#9fcdb0;background:#fff;color:#087a31;box-shadow:0 3px 9px rgba(13,41,66,.08)}
.qr-analytics-page .scan-map-panel>.privacy-scan-map{border-radius:14px;border-color:#17495c;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 12px 28px rgba(7,30,49,.14)}
.qr-analytics-page .scan-map-panel>.production-region-summary{padding:1rem;border:1px solid #ceded8;border-top:1px solid #ceded8;border-radius:12px;background:#fff;box-shadow:0 9px 24px rgba(13,41,66,.06);scrollbar-color:#b7cbc3 transparent}
.qr-analytics-page .scan-map-panel>.production-region-summary>div:first-child::before{content:"Responders";color:#087a52}
.qr-analytics-page .scan-map-panel>.production-region-summary strong{font-size:1.3rem;letter-spacing:-.018em}
.qr-analytics-page .scan-map-panel>.production-region-summary>div:first-child>span{padding-bottom:.2rem;border-bottom:1px solid #e0e9e5;font-size:.83rem;line-height:1.45}
.qr-analytics-page .map-cohort-responders{gap:.45rem!important;margin-top:.15rem;padding-top:.25rem;border-top:0}
.qr-analytics-page .map-responder-guide{padding:.2rem .15rem .45rem}
.qr-analytics-page .map-responder-row{gap:.35rem;padding:.55rem .6rem;border-color:#dce6e2;border-radius:9px;box-shadow:none;transition:border-color .18s,background-color .18s,box-shadow .18s}
.qr-analytics-page .map-responder-row:hover{border-color:#b8d5c8;background:#f8fbf9}
.qr-analytics-page .map-responder-row.is-selected{border-color:#79c58f;background:#f0faf2;box-shadow:inset 3px 0 0 #18aa0f,0 6px 16px rgba(13,41,66,.07)}
.qr-analytics-page .map-responder-row>[data-map-responder] strong{font-size:.88rem}
.qr-analytics-page .map-follow-up-state{padding:.35rem .5rem;background:#f1f5f3;color:#61736c;font-size:.68rem;line-height:1.3;text-align:left}
.qr-analytics-page .scan-map-panel>.production-region-summary .production-region-actions{position:sticky;bottom:-1rem;z-index:2;gap:.5rem;margin:0 -1rem -1rem;padding:.8rem 1rem 1rem;border-top:1px solid #dce7e2;background:linear-gradient(180deg,rgba(255,255,255,.94),#fff 35%)}
.qr-analytics-page .scan-map-panel>.production-region-summary .production-region-actions .btn{min-height:42px;border-radius:8px;font-size:.8rem}
.qr-analytics-page .scan-map-legend{display:flex!important;gap:.5rem;align-items:center;overflow-x:auto;padding:.05rem 0 .2rem}
.qr-analytics-page .scan-map-legend>button{flex:0 0 auto;min-width:180px;padding:.58rem .7rem .58rem .85rem;border-radius:8px}
.qr-analytics-page .scan-map-legend>button.selected{border-color:#80c794;background:#eff9f1;color:#17372f;box-shadow:inset 3px 0 0 #18aa0f}
.qr-analytics-page .scan-map-legend>button.selected strong,.qr-analytics-page .scan-map-legend>button.selected span{color:#17372f}
.qr-analytics-page .scan-map-legend small{font-size:.68rem}
.qr-analytics-page .map-privacy-details{border-top:1px solid #dce7e2}
@media(max-width:1280px){.qr-analytics-page .scan-map-panel>.production-region-summary .production-region-actions{position:static;margin:.35rem 0 0;padding:.75rem 0 0;background:transparent}.qr-analytics-page .scan-map-panel>.production-region-summary .production-region-actions{grid-template-columns:1fr 1fr}}
@media(max-width:660px){.qr-analytics-page .scan-map-panel>.production-region-summary .production-region-actions{grid-template-columns:1fr}.qr-analytics-page .scan-map-panel>.production-map-toolbar>span{font-size:.74rem}.qr-analytics-page .production-map-views{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.qr-analytics-page .production-map-views button{width:100%;padding-inline:.35rem;font-size:.7rem}}
.qr-analytics-page .mailiens-building-marker{position:relative!important;display:grid!important;place-items:center;width:34px!important;height:34px!important;min-width:34px!important;padding:0!important;border:2px solid #d9ffdf!important;border-radius:50%!important;background:#0a7041!important;color:#fff!important;box-shadow:0 0 0 5px rgba(34,198,61,.2),0 8px 20px rgba(0,0,0,.32);cursor:pointer;z-index:0!important}.qr-analytics-page .mailiens-building-marker[hidden]{display:none!important}.qr-analytics-page .mailiens-building-marker span{font-size:.76rem;font-weight:950;line-height:1}.qr-analytics-page .mailiens-building-marker.is-expanded{transform:scale(.76);opacity:.78}.qr-analytics-page .mailiens-building-marker:focus-visible{outline:3px solid #fff!important;outline-offset:3px}
