
.khcm-shell .kh-police-regions{background:linear-gradient(150deg,#0d2634,#174051 70%,#0e2d3b);color:#e2f1f8;text-align:left;border-top:3px solid #5eaccd;padding:22px clamp(12px,3vw,26px) 25px}
.khcm-shell .kh-police-context-top{display:flex;justify-content:space-between;align-items:start;gap:14px;flex-wrap:wrap}
.khcm-shell .kh-police-context-title{flex:1;min-width:240px}
.khcm-shell .kh-police-context-kicker{color:#85c7e9!important;font-size:10px!important;letter-spacing:.13em;text-transform:uppercase;font-weight:850;margin:0 0 6px!important}
.khcm-shell .kh-police-context-title h3{color:#edf8ff!important;font-size:clamp(17px,2.5vw,24px)!important;line-height:1.28;margin:0 0 9px!important}
.khcm-shell .kh-police-context-caution{color:#c2d8e4!important;line-height:1.6!important;font-size:12px!important;max-width:83ch;margin:0 0 17px!important}
.khcm-shell .kh-police-context-count{display:inline-block;border:1px solid #64b2d280;background:#103244;border-radius:30px;padding:7px 12px;font-size:12px;color:#d0eaff;white-space:nowrap}
.khcm-shell .kh-police-region-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.khcm-shell .kh-police-region{border:1px solid #5b94ab80;border-radius:10px;background:#0c2837;min-width:0;overflow:hidden}
.khcm-shell .kh-police-region>summary{cursor:pointer;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:9px;color:#f1f8fe;list-style:revert}
.khcm-shell .kh-police-region>summary strong{font-size:13px;line-height:1.4;color:#f0f8fe}
.khcm-shell .kh-police-region>summary span{font-size:11px;color:#afd7ea;white-space:nowrap}
.khcm-shell .kh-police-region[open]>summary{background:#1c4b61}
.khcm-shell .kh-police-region-cards{display:grid;grid-template-columns:1fr;gap:8px;padding:11px}
.khcm-shell .kh-police-context-card{background:#f3f8fa;color:#203a49;border:1px solid #b3c9d4;border-radius:7px;overflow:hidden}
.khcm-shell .kh-police-context-card>summary{cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:10px 12px;list-style:revert;color:#153447!important}
.khcm-shell .kh-police-context-card summary strong{font-size:12px;line-height:1.35;color:#153447}
.khcm-shell .kh-police-context-card summary small{font-size:10px;color:#59707f}
.khcm-shell .kh-police-context-card-body{padding:10px 12px;border-top:1px solid #c6d9e3;background:#fff}
.khcm-shell .kh-police-context-card-body p{font-size:12px!important;line-height:1.62!important;color:#29465a!important;margin:0 0 10px!important}
.khcm-shell .kh-police-context-card-body p.kh-police-context-result{font-weight:700;color:#185575!important}
.khcm-shell .kh-police-context-card-body p.kh-police-context-limit{border-left:3px solid #57849d;padding-left:10px;font-size:11px!important;color:#4d6170!important}
.khcm-shell .kh-police-context-source{color:#0c638d!important;font-size:12px!important;font-weight:700;display:block;margin:7px 0;text-decoration:underline;overflow-wrap:anywhere}
.khcm-shell .kh-police-context-foot{font-size:11px!important;line-height:1.6!important;color:#bdd5e1!important;margin:16px 0 0!important}
.khcm-shell .kh-police-context-empty{color:#c7e2f1!important;font-size:12px!important;padding:14px}
.khcm-shell.khcm-is-expanded .kh-police-regions{display:none!important}
.khcm-shell.khcm-fullbleed:not(.khcm-is-expanded) .kh-police-regions{max-height:300px;overflow:auto}
@media(max-width:780px){.khcm-shell .kh-police-region-grid{grid-template-columns:1fr}.khcm-shell .kh-police-regions{padding:18px 12px}}

.khcm-shell .kh-police-purple-legend{color:#6736a8;font-weight:800;font-size:12px;
  margin-left:auto;padding:5px 9px;background:#efe5ff;border:1px solid #cfb4ee;border-radius:8px}
.khcm-shell .kh-police-show-all{background:#8950d5;color:#fff;border:1px solid #be97ee;
  border-radius:8px;padding:10px 12px;cursor:pointer;font-size:12px;font-weight:750;max-width:220px}
.khcm-shell .kh-police-show-all:hover{background:#6736b0}
.khcm-shell .kh-police-region-goto{border:1px solid #ae8cde;background:#352250;color:#f4eafa;
  color:#fff;border-radius:6px;padding:7px 10px;margin:1px 11px 11px;cursor:pointer;font-weight:700;font-size:11px}
.khcm-shell .kh-police-region-goto:hover{background:#52357c}
.khcm-shell .kh-police-purple-icon{border-radius:50%;background:#8950d5;border:3px solid #fff;
  box-shadow:0 2px 8px #24123a88;color:white;text-align:center;font-weight:900;font-size:12px}
.khcm-shell .kh-police-purple-icon span{display:block;line-height:24px}
.kh-police-point-popup{font:12px/1.45 system-ui,sans-serif;color:#253447;max-height:250px;overflow:auto}
.kh-police-point-popup>strong{display:block;color:#6736a8;font-size:13px;margin-bottom:7px}
.kh-police-point-popup p{font-size:11px;color:#526679}
.kh-police-point-popup-item{display:flex;flex-wrap:wrap;gap:5px;align-items:center;
  border-top:1px solid #dae2ee;padding:8px 0}
.kh-police-point-popup-item b{width:100%;font-size:11px}
.kh-police-point-popup-item small{flex:1;color:#6b7784}
.kh-police-point-popup-item a{font-size:11px}


/* Source-reviewed 1970–89 West London area cases; muted teal != police purple */
.kh-wl-case-review{margin:28px 0;padding:22px;border:1px solid #3a7782;border-radius:9px;background:#0c2a36;color:#edf4f4;font-family:Arial,Helvetica,sans-serif}
.kh-wl-heading h3{color:#f5f9fc!important;font-size:24px;line-height:1.35;margin:4px 0 10px}
.kh-wl-heading p{color:#dcecef!important;font-size:15px;line-height:1.65}
.kh-wl-heading .kh-wl-kicker{color:#ffdaa8!important;font-weight:800;letter-spacing:.12em;font-size:12px}
.kh-wl-count{display:inline-block;padding:6px 12px;background:#164551;border:1px solid #4c8188;border-radius:24px;color:#fff;font-weight:bold}
.kh-wl-legend{display:flex;flex-wrap:wrap;gap:15px;color:#d8e8ec;margin:17px 0;font-size:14px}
.kh-wl-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:15px}
.kh-wl-group{background:#133846;border:1px solid #578088;border-radius:6px;overflow:hidden}
.kh-wl-group>summary{cursor:pointer;padding:16px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;color:#fff}
.kh-wl-group>summary strong{font-size:17px;color:#fff}
.kh-wl-group>summary span{font-size:12px;color:#dbe8ed}
.kh-wl-list{padding:10px 14px 17px;display:flex;flex-direction:column;gap:10px}
.kh-wl-goto{background:#205b65;color:#fff;border:1px solid #6b9c9e;border-radius:5px;padding:11px 13px;font-weight:700;cursor:pointer;text-align:left}
.kh-wl-card{border:1px solid #456a75;background:#173b48;border-radius:5px}
.kh-wl-card summary{padding:13px;cursor:pointer;display:grid;gap:5px}
.kh-wl-card strong{color:#fff;line-height:1.4}
.kh-wl-card small{color:#f4cc92;line-height:1.5}
.kh-wl-card-body{padding:2px 13px 13px;line-height:1.55}
.kh-wl-card-body p{color:#e3edf1!important;font-size:14px;margin:10px 0}
.kh-wl-card-body .kh-wl-scope{border-left:3px solid #e3bd88;padding-left:10px;color:#e2e9e9!important}
.kh-wl-source{color:#ffdfa9!important;text-decoration:underline;font-size:13px;line-height:1.5;font-weight:700}
.kh-wl-warning{color:#e6eff0!important;font-size:13px;border-left:3px solid #e3bd88;padding-left:12px;margin-top:20px}
.kh-wl-map-icon{border-radius:50%;background:#168d86;border:2px solid #fff;box-shadow:0 2px 9px #061b1a;display:grid;place-items:center;color:#fff;font-weight:900}
.kh-wl-map-icon span{display:grid;place-items:center;width:100%;height:100%;font:bold 15px Arial;color:#fff}
.kh-wl-popup-entry{border-top:1px solid #ccc;padding:7px 0;display:grid;gap:3px}
.kh-wl-popup-entry strong{font-size:12px}
.kh-wl-popup-entry small{font-size:11px}
.kh-wl-popup-entry .kh-wl-source{color:#00566a!important;font-size:12px}
.kh-wl-case-review a:focus-visible,.kh-wl-case-review button:focus-visible,.kh-wl-case-review summary:focus-visible{outline:3px solid #ffd8a1;outline-offset:3px}
@media(max-width:650px){.kh-wl-case-review{padding:14px}.kh-wl-groups{grid-template-columns:1fr}.kh-wl-heading h3{font-size:21px}}

/* Lambeth comparison, Brent staffing leads are clearly contextual */
.kh-wl-group:has(> summary strong:first-child){} 
.kh-wl-case-review .kh-wl-heading h3{color:#f5f9fc!important}
.kh-wl-card-body .kh-wl-scope{color:#f1e4c6!important;font-weight:600}


/* MAP FULLSCREEN SCROLL REPAIR — 18 October 2026.
   Native expansion locks body scrolling: make the expanded shell a genuinely
   scrollable viewport and the expanded source review a separate scrollpane.
   This is scoped ONLY to fullscreen and never affects the normal map. */
.khcm-shell.khcm-is-expanded,
.khcm-shell:fullscreen{
 overflow-y:auto!important;
 overflow-x:hidden!important;
 /* overflow-x:hidden and overflow-y:auto are intentional, no shorthand */
 height:100vh!important;
 height:100dvh!important;
 max-height:100vh!important;
 max-height:100dvh!important;
 min-height:0!important;
 overscroll-behavior:contain;
 -webkit-overflow-scrolling:touch;
 scroll-behavior:auto;
 scroll-padding-top:72px;
 scrollbar-gutter:stable;
}
.khcm-shell.khcm-is-expanded .khcm-heading,
.khcm-shell.khcm-is-expanded .khcm-toolbar,
.khcm-shell.khcm-is-expanded .khcm-layer-controls,
.khcm-shell.khcm-is-expanded .khcm-body,
.khcm-shell.khcm-is-expanded .khcm-footer,
.khcm-shell.khcm-is-expanded .kh-wl-case-review,
.khcm-shell:fullscreen .khcm-heading,
.khcm-shell:fullscreen .khcm-toolbar,
.khcm-shell:fullscreen .khcm-layer-controls,
.khcm-shell:fullscreen .khcm-body,
.khcm-shell:fullscreen .khcm-footer,
.khcm-shell:fullscreen .kh-wl-case-review{
 flex-shrink:0!important;
}
.khcm-shell.khcm-is-expanded .kh-wl-case-review,
.khcm-shell:fullscreen .kh-wl-case-review{
 box-sizing:border-box;
 display:block!important;
 width:100%!important;
 max-height:58vh!important;
 max-height:58dvh!important;
 min-height:175px;
 overflow-y:scroll!important;
 overflow-x:hidden!important;
 overscroll-behavior-y:auto; /* allow scroll chaining when list reaches end */
 -webkit-overflow-scrolling:touch;
 scrollbar-width:auto;
 scrollbar-color:#6ba7b0 #0c2a36;
 touch-action:pan-y;
 position:relative;
}
.khcm-shell.khcm-is-expanded .kh-wl-case-review::-webkit-scrollbar,
.khcm-shell:fullscreen .kh-wl-case-review::-webkit-scrollbar{width:13px}
.khcm-shell.khcm-is-expanded .kh-wl-case-review::-webkit-scrollbar-thumb,
.khcm-shell:fullscreen .kh-wl-case-review::-webkit-scrollbar-thumb{background:#6ba7b0;border:3px solid #0c2a36;border-radius:9px}
.khcm-shell.khcm-is-expanded .khcm-body,
.khcm-shell:fullscreen .khcm-body{
 min-height:340px!important;
 height:max(45vh,360px)!important;
 height:max(45dvh,360px)!important;
}
.khcm-shell.khcm-is-expanded .khcm-canvas,
.khcm-shell:fullscreen .khcm-canvas{
 min-height:340px!important;
}
.khcm-shell .kh-wl-fullscreen-nav{display:none}
.khcm-shell.khcm-is-expanded .kh-wl-fullscreen-nav,
.khcm-shell:fullscreen .kh-wl-fullscreen-nav{
 position:fixed!important;
 display:flex!important;
 flex-wrap:wrap;
 align-items:center;
 justify-content:flex-end;
 gap:7px;
 bottom:max(14px,env(safe-area-inset-bottom))!important;
 right:max(12px,env(safe-area-inset-right))!important;
 z-index:2147482000!important;
 padding:7px;
 background:#0b2936f5;
 border:1px solid #91b8c2;
 border-radius:10px;
 box-shadow:0 6px 32px #07151acc;
 pointer-events:auto!important;
}
.khcm-shell .kh-wl-fullscreen-nav button{
 appearance:none;
 background:#205a66;
 color:#fff!important;
 font:700 13px/1.45 Arial,sans-serif;
 padding:10px 12px;
 border:1px solid #83b5ba;
 border-radius:6px;
 cursor:pointer;
 min-height:40px;
}
.khcm-shell .kh-wl-fullscreen-nav button:hover{background:#377b85}
.khcm-shell .kh-wl-fullscreen-nav button:focus-visible{outline:3px solid #ffdb99;outline-offset:2px}
.khcm-shell .kh-wl-fullscreen-nav .kh-wl-fullscreen-exit{background:#604232;border-color:#e1b98a}
@media(max-width:700px){
 .khcm-shell.khcm-is-expanded .kh-wl-case-review,
 .khcm-shell:fullscreen .kh-wl-case-review{max-height:62dvh!important}
 .khcm-shell .kh-wl-fullscreen-nav{left:10px!important;right:10px!important;justify-content:space-between!important}
 .khcm-shell .kh-wl-fullscreen-nav button{padding:10px 8px;font-size:12px;flex:1}
}


/* KH FULLSCREEN MAP VISIBILITY REPAIR 2026-10-18 V5
   Previous scroll fix made case records accessible but allowed the map itself
   to scroll almost entirely out of sight. Keep a usable map in the viewport
   while browsing the independently scrollable case register.
   Native viewport scrolling and original toolbar/filters remain intact. */
.khcm-shell.khcm-is-expanded .khcm-body,
.khcm-shell:fullscreen .khcm-body {
  position:sticky!important;
  top:0!important;
  z-index:100!important;
  width:100%!important;
  flex:0 0 auto!important;
  box-sizing:border-box!important;
  min-height:330px!important;
  height:clamp(340px,48dvh,600px)!important;
  max-height:60dvh!important;
  overflow:hidden!important;
  background:#f2f7f9!important;
  border-bottom:3px solid #4e7b87!important;
  box-shadow:0 5px 18px rgba(5,27,39,.28)!important;
}
.khcm-shell.khcm-is-expanded .khcm-canvas,
.khcm-shell:fullscreen .khcm-canvas {
  height:100%!important;
  min-height:330px!important;
  max-height:100%!important;
  overflow:hidden!important;
}
.khcm-shell.khcm-is-expanded .khcm-sidebar,
.khcm-shell:fullscreen .khcm-sidebar {
  min-height:0!important;
  max-height:100%!important;
  overflow-y:auto!important;
}
.khcm-shell.khcm-is-expanded .kh-wl-case-review,
.khcm-shell:fullscreen .kh-wl-case-review {
  max-height:calc(100dvh - clamp(340px,48dvh,600px) - 80px)!important;
  min-height:190px!important;
  scroll-margin-top:clamp(340px,48dvh,600px);
}
@media(max-width:700px) {
 .khcm-shell.khcm-is-expanded .khcm-body,
 .khcm-shell:fullscreen .khcm-body {
   height:clamp(300px,43dvh,470px)!important;
   min-height:300px!important;
   max-height:58dvh!important;
 }
 .khcm-shell.khcm-is-expanded .khcm-canvas,
 .khcm-shell:fullscreen .khcm-canvas {min-height:300px!important}
 .khcm-shell.khcm-is-expanded .kh-wl-case-review,
 .khcm-shell:fullscreen .kh-wl-case-review {
   max-height:calc(100dvh - clamp(300px,43dvh,470px) - 58px)!important;
   min-height:170px!important;
   scroll-margin-top:clamp(300px,43dvh,470px);
 }
}


/* FULLSCREEN MAP-FIRST LAYOUT V6. Overrules native flex/sizing clamps.
   Accurate map top is measured from header + filters, not guessed. */
.khcm-shell.khcm-is-expanded,
.khcm-shell:fullscreen {
 position:fixed!important;
 inset:0!important;
 display:block!important;
 width:100vw!important;
 max-width:100vw!important;
 height:100dvh!important;
 max-height:100dvh!important;
 overflow:hidden!important;
 box-sizing:border-box!important;
}
.khcm-shell.khcm-is-expanded .khcm-body,
.khcm-shell:fullscreen .khcm-body {
 position:absolute!important;
 top:var(--kh-fullscreen-map-top,258px)!important;
 left:0!important;
 right:0!important;
 bottom:0!important;
 z-index:20!important;
 margin:0!important;
 padding:0!important;
 display:flex!important;
 flex-direction:row!important;
 align-items:stretch!important;
 box-sizing:border-box!important;
 width:100%!important;
 min-width:0!important;
 min-height:0!important;
 max-height:none!important;
 height:auto!important;
 overflow:hidden!important;
 box-shadow:none!important;
 border-bottom:0!important;
 background:#f1f6fa!important;
}
.khcm-shell.khcm-is-expanded .khcm-canvas,
.khcm-shell:fullscreen .khcm-canvas {
 position:relative!important;
 flex:1 1 auto!important;
 width:75%!important;
 min-width:0!important;
 height:100%!important;
 min-height:0!important;
 max-height:100%!important;
 overflow:hidden!important;
}
.khcm-shell.khcm-is-expanded .khcm-sidebar,
.khcm-shell:fullscreen .khcm-sidebar {
 flex:0 0 25%!important;
 width:25%!important;
 min-width:0!important;
 height:100%!important;
 min-height:0!important;
 max-height:100%!important;
 overflow-y:auto!important;
 overflow-x:auto!important;
}
.khcm-shell.khcm-is-expanded:not(.kh-wl-cases-open) > .kh-wl-case-review,
.khcm-shell:fullscreen:not(.kh-wl-cases-open) > .kh-wl-case-review {
 display:none!important;
}
.khcm-shell.khcm-is-expanded.kh-wl-cases-open > .kh-wl-case-review,
.khcm-shell:fullscreen.kh-wl-cases-open > .kh-wl-case-review {
 display:block!important;
 position:fixed!important;
 top:calc(var(--kh-fullscreen-map-top,258px) + 10px)!important;
 bottom:68px!important;
 left:auto!important;
 right:14px!important;
 width:min(610px,52vw)!important;
 max-width:calc(100vw - 28px)!important;
 height:auto!important;
 min-height:0!important;
 max-height:none!important;
 padding:16px!important;
 margin:0!important;
 overflow-y:auto!important;
 overscroll-behavior:contain;
 box-shadow:0 5px 28px rgba(0,0,0,.56)!important;
 z-index:2000!important;
 border:2px solid #7bb1bb!important;
 scrollbar-gutter:stable;
}
.khcm-shell.khcm-is-expanded .kh-wl-fullscreen-nav,
.khcm-shell:fullscreen .kh-wl-fullscreen-nav {
 z-index:2147482000!important;
}
.khcm-shell.khcm-is-expanded .khcm-heading,
.khcm-shell.khcm-is-expanded .khcm-toolbar,
.khcm-shell.khcm-is-expanded .khcm-layer-controls,
.khcm-shell:fullscreen .khcm-heading,
.khcm-shell:fullscreen .khcm-toolbar,
.khcm-shell:fullscreen .khcm-layer-controls {
 position:relative!important;
 z-index:24!important;
 width:100%!important;
 box-sizing:border-box!important;
}
@media(max-width:700px){
 .khcm-shell.khcm-is-expanded .khcm-canvas,
 .khcm-shell:fullscreen .khcm-canvas{
  width:100%!important;
  flex:1 1 100%!important;
 }
 .khcm-shell.khcm-is-expanded .khcm-sidebar,
 .khcm-shell:fullscreen .khcm-sidebar{
  display:none!important;
 }
 .khcm-shell.khcm-is-expanded.kh-wl-cases-open > .kh-wl-case-review,
 .khcm-shell:fullscreen.kh-wl-cases-open > .kh-wl-case-review{
  top:auto!important;
  bottom:62px!important;
  right:8px!important;
  left:8px!important;
  width:calc(100vw - 16px)!important;
  max-width:none!important;
  height:56dvh!important;
  max-height:56dvh!important;
  padding:11px!important;
 }
}


/* FULL-SCREEN MAP WIDTH CORRECTION V7
   Root cause in authenticated screenshot: native CSS grid reserved 75%/25%
   columns and child canvas/register ALSO sized 75%/25% of those cells.
   This produces a ~56% map + ~6% unreadable register + large empty region.
   Never percentage-size a child within a percentage-sized grid cell. In
   fullscreen, map uses the entire content rectangle. Historical cards and
   the complete 67-entry source register are optional independent drawers. */
.khcm-shell.khcm-is-expanded > .khcm-body,
.khcm-shell:fullscreen > .khcm-body {
 display:block!important;
 grid-template-columns:none!important;
 grid-template-rows:none!important;
 grid-template-areas:none!important;
 position:absolute!important;
 top:var(--kh-fullscreen-map-top,258px)!important;
 inset-inline:0!important;
 bottom:0!important;
 box-sizing:border-box!important;
 width:100%!important;
 max-width:100%!important;
 min-width:0!important;
 height:auto!important;
 max-height:none!important;
 min-height:0!important;
 overflow:hidden!important;
 margin:0!important;
 padding:0!important;
}
.khcm-shell.khcm-is-expanded > .khcm-body > .khcm-canvas,
.khcm-shell:fullscreen > .khcm-body > .khcm-canvas {
 display:block!important;
 position:absolute!important;
 inset:0!important;
 grid-area:unset!important;
 grid-column:auto!important;
 grid-row:auto!important;
 flex:none!important;
 box-sizing:border-box!important;
 width:100%!important;
 max-width:100%!important;
 min-width:100%!important;
 height:100%!important;
 max-height:100%!important;
 min-height:100%!important;
 padding:0!important;
 margin:0!important;
 overflow:hidden!important;
}
.khcm-shell.khcm-is-expanded > .khcm-body > .khcm-sidebar,
.khcm-shell:fullscreen > .khcm-body > .khcm-sidebar {
 display:none!important;
}
.khcm-shell.khcm-is-expanded.kh-wl-sources-open > .khcm-body > .khcm-sidebar,
.khcm-shell:fullscreen.kh-wl-sources-open > .khcm-body > .khcm-sidebar {
 display:flex!important;
 flex-direction:column!important;
 flex:none!important;
 grid-area:unset!important;
 position:absolute!important;
 top:10px!important;
 right:12px!important;
 bottom:66px!important;
 left:auto!important;
 width:min(470px,calc(100vw - 24px))!important;
 min-width:0!important;
 max-width:calc(100vw - 24px)!important;
 height:auto!important;
 min-height:0!important;
 max-height:none!important;
 margin:0!important;
 padding:0!important;
 overflow:hidden!important;
 z-index:2500!important;
 border:2px solid #527986!important;
 border-radius:9px!important;
 background:#f5f9fb!important;
 box-shadow:0 6px 30px #09222b80!important;
}
.khcm-shell.khcm-is-expanded.kh-wl-sources-open > .khcm-body > .khcm-sidebar .khcm-sidebar-head,
.khcm-shell:fullscreen.kh-wl-sources-open > .khcm-body > .khcm-sidebar .khcm-sidebar-head {
 flex:0 0 auto!important;
 width:100%!important;
 min-width:0!important;
 box-sizing:border-box!important;
 padding:13px 15px!important;
 display:flex!important;
 justify-content:space-between!important;
}
.khcm-shell.khcm-is-expanded.kh-wl-sources-open > .khcm-body > .khcm-sidebar .khcm-list,
.khcm-shell:fullscreen.kh-wl-sources-open > .khcm-body > .khcm-sidebar .khcm-list {
 display:block!important;
 flex:1 1 auto!important;
 width:100%!important;
 max-width:100%!important;
 min-width:0!important;
 height:auto!important;
 min-height:0!important;
 overflow-x:hidden!important;
 overflow-y:auto!important;
 overflow-wrap:anywhere!important;
 white-space:normal!important;
 padding:10px!important;
 box-sizing:border-box!important;
}
.khcm-shell.khcm-is-expanded.kh-wl-sources-open > .khcm-body > .khcm-sidebar .khcm-list *,
.khcm-shell:fullscreen.kh-wl-sources-open > .khcm-body > .khcm-sidebar .khcm-list * {
 max-width:100%!important;
 min-width:0!important;
 white-space:normal!important;
 overflow-wrap:break-word!important;
}
.khcm-shell.khcm-is-expanded .kh-wl-fullscreen-nav,
.khcm-shell:fullscreen .kh-wl-fullscreen-nav {
 max-width:calc(100vw - 16px)!important;
}
@media(max-width:700px){
 .khcm-shell.khcm-is-expanded > .khcm-body > .khcm-canvas,
 .khcm-shell:fullscreen > .khcm-body > .khcm-canvas{
   width:100%!important;
   min-width:100%!important;
 }
 .khcm-shell.khcm-is-expanded.kh-wl-sources-open > .khcm-body > .khcm-sidebar,
 .khcm-shell:fullscreen.kh-wl-sources-open > .khcm-body > .khcm-sidebar{
   top:6px!important;
   bottom:66px!important;
   left:6px!important;
   right:6px!important;
   width:calc(100vw - 12px)!important;
   max-width:none!important;
 }
 .khcm-shell .kh-wl-fullscreen-nav button {
   flex:1 1 auto!important;
   min-width:0!important;
   font-size:11px!important;
   padding:8px 5px!important;
 }
}


/* MOBILE NON-FULLSCREEN HEADING BUTTON COLLISION:
   Header may wrap onto toolbar in a narrow browser; keep the fullscreen
   button inside normal document flow so an actual tap reaches it. */
@media(max-width:700px) {
 .khcm-shell:not(.khcm-is-expanded) > .khcm-heading {
   display:flex!important;
   flex-wrap:wrap!important;
   flex-direction:column!important;
   align-items:center!important;
   justify-content:center!important;
   gap:10px!important;
   height:auto!important;
   min-height:0!important;
   box-sizing:border-box!important;
   padding-bottom:18px!important;
   overflow:visible!important;
   position:relative!important;
   z-index:3!important;
 }
 .khcm-shell:not(.khcm-is-expanded) > .khcm-heading .khcm-heading-copy {
   width:100%!important;
   max-width:100%!important;
   flex:0 1 auto!important;
 }
 .khcm-shell:not(.khcm-is-expanded) > .khcm-heading .khcm-expand {
   display:inline-block!important;
   position:relative!important;
   z-index:5!important;
   pointer-events:auto!important;
   touch-action:manipulation!important;
 }
}


/* KH Netherlands link layer — clearly separated verified / allegation / lead */
.kh-nl-connections{margin:25px 0;padding:22px;border:1px solid #ab9a65;background:#112f3b;border-radius:9px;color:#f1f6f7;font-family:Arial,Helvetica,sans-serif}
.kh-nl-connections .kh-nl-kicker{color:#ffdb93!important;font-weight:800;letter-spacing:.09em;font-size:12px}
.kh-nl-connections h3{color:#fff!important;font-size:23px;line-height:1.4;margin:8px 0}
.kh-nl-connections .kh-nl-intro,.kh-nl-connections .kh-nl-footnote,.kh-nl-map-notice{color:#e7eff1!important;font-size:14px;line-height:1.65}
.kh-nl-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:14px 0}
.kh-nl-toggle{color:#fff!important;font-weight:700;padding:8px}
.kh-nl-toggle input{width:17px;height:17px;vertical-align:middle;accent-color:#e3ab50}
.kh-nl-focus,.kh-nl-restore,.kh-nl-full-button{cursor:pointer;background:#22515d;color:#fff!important;border:1px solid #9dbfc3;border-radius:5px;padding:10px 14px;font-weight:700}
.kh-nl-focus:hover,.kh-nl-restore:hover,.kh-nl-full-button:hover{background:#346c79}
.kh-nl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;margin:13px 0}
.kh-nl-record{border:1px solid #6b929b;border-radius:6px;background:#1b404d;overflow:hidden}
.kh-nl-record summary{padding:13px;display:grid;gap:8px;cursor:pointer}
.kh-nl-record summary strong{color:#fff;font-size:15px;line-height:1.45}
.kh-nl-type{color:#ffe0a1;font-size:12px;border-left:4px solid #e1ad54;padding-left:9px;font-weight:700}
.kh-nl-record-text{padding:0 13px 14px;line-height:1.55;font-size:13px}
.kh-nl-record-text p{color:#edf3f3!important;margin:9px 0}
.kh-nl-record-text .kh-nl-caution{border-left:3px solid #e1ad54;padding-left:10px}
.kh-nl-connections .kh-nl-source{color:#ffe0a1!important;text-decoration:underline;font-weight:700}
.kh-nl-popup{max-height:300px;overflow:auto;line-height:1.4;overflow-wrap:anywhere}
.kh-nl-popup strong{font-size:15px}
.kh-nl-popup p{margin:7px 0;font-size:12px}
.kh-nl-popup .kh-nl-source{color:#18566c!important;text-decoration:underline;font-weight:700}
.khcm-shell .kh-nl-fullscreen-actions{display:none}
.khcm-shell.khcm-is-expanded .kh-nl-connections,.khcm-shell:fullscreen .kh-nl-connections{display:none!important}
.khcm-shell.khcm-is-expanded .kh-nl-fullscreen-actions,.khcm-shell:fullscreen .kh-nl-fullscreen-actions{
 display:flex;gap:7px;position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));
 z-index:2147481990;align-items:center;background:#082d38f2;border:1px solid #9eb9bc;border-radius:8px;padding:7px;
 box-shadow:0 4px 20px #02192399
}
.kh-nl-fullscreen-actions button{font-size:12px;min-height:40px}
.kh-nl-connections :focus-visible,.kh-nl-fullscreen-actions :focus-visible{outline:3px solid #fbd897;outline-offset:3px}
@media(max-width:700px){
 .kh-nl-connections{padding:14px}
 .kh-nl-connections h3{font-size:20px}
 .khcm-shell.khcm-is-expanded .kh-nl-fullscreen-actions{top:auto;bottom:69px;left:7px;right:auto}
 .kh-nl-fullscreen-actions button{font-size:11px;padding:8px}
}


/* Strong, fully solid cross-border connection lines and accessible endpoint cards. */
.kh-nl-line-legend{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin:14px 0}
.kh-nl-legend-item{display:inline-flex;align-items:center;gap:8px;color:#f3f6f6!important;font-size:13px;line-height:1.45;font-weight:700}
.kh-nl-legend-line{width:35px;flex:0 0 35px;height:0;display:block;border-top:6px solid #ffcd38;outline:2px solid #091925;border-radius:3px}
.kh-nl-end-context{border-left:4px solid #e2ac38;padding-left:10px;color:#f0f5f5!important}
.kh-nl-popup-end{border-left:3px solid #be8a35;padding-left:8px;font-size:12px!important}
.kh-nl-label-anchor{border:none!important;background:none!important;overflow:visible!important}
.kh-nl-end-label{
 box-sizing:border-box;width:207px;min-height:65px;padding:8px 9px 9px;
 border:2px solid var(--kh-nl-line,#ffc83c);
 border-left-width:7px;border-radius:8px;
 background:rgba(7,26,37,.96);box-shadow:0 2px 10px #010e17c9;
 color:#fff!important;text-align:left;line-height:1.25;
 pointer-events:auto;overflow-wrap:anywhere
}
.kh-nl-end-label strong{display:block;color:#fff!important;font:bold 11px/1.3 Arial,Helvetica,sans-serif;letter-spacing:.025em;margin:0 0 4px}
.kh-nl-end-label small{display:block;color:#eef6f7!important;font:12px/1.25 Arial,Helvetica,sans-serif}
.kh-nl-end-label:hover,.kh-nl-end-label:focus-within{background:#154255;box-shadow:0 0 0 3px #fff,0 3px 12px #0009}
.kh-nl-connections .kh-nl-toggle{display:inline-flex;gap:7px;align-items:center}
@media(max-width:700px){
 .kh-nl-end-label{width:144px;min-height:60px;padding:6px 7px}
 .kh-nl-end-label strong{font-size:9px}
 .kh-nl-end-label small{font-size:10px}
 .kh-nl-line-legend{gap:11px}
}


/* Narrow screen: both endpoint label families stay INSIDE the map frame. */
@media(max-width:700px){
 .kh-nl-end-label.kh-nl-end-mobile{
  box-sizing:border-box;width:124px!important;height:56px!important;
  min-height:56px!important;max-height:56px!important;
  padding:6px 6px 5px!important;border-left-width:5px!important;
  border-radius:6px!important;overflow:hidden!important
 }
 .kh-nl-end-label.kh-nl-end-mobile strong{
  font-size:10px!important;line-height:1.2!important;
  letter-spacing:0!important;white-space:normal!important;
  overflow-wrap:break-word!important;margin:0 0 3px!important
 }
 .kh-nl-end-label.kh-nl-end-mobile small{
  font-size:10px!important;line-height:1.15!important;
  color:#fff!important;overflow-wrap:break-word!important
 }
}
