:root{
  --p2k-bg:#f5f6f7;
  --p2k-panel:#ffffff;
  --p2k-panel-2:#e9eff5;
  --p2k-line:#cbd6e1;
  --p2k-muted:#536578;
  --p2k-muted-invert:#c7d3e0;
  --p2k-text:#172839;
  --p2k-accent:#133d62;
  --p2k-accent-2:#1b527d;
  --p2k-red:#c83b35;
  --p2k-yellow:#d09c16;
  --p2k-blue:#2879bc;
  --p2k-purple:#7c4fd6;
  --p2k-gray:#7b8798;
  --p2k-green:#1f9d63;
}
.p2k-shell{margin:-4px 0 34px;background:var(--p2k-panel);color:var(--p2k-text);border:1px solid var(--p2k-line);box-shadow:0 5px 20px #133d6210;overflow:hidden}
.p2k-topline{display:flex;justify-content:space-between;gap:22px;align-items:flex-end;padding:24px 24px 20px;background:linear-gradient(110deg,var(--p2k-accent),var(--p2k-accent-2));color:#fff;border-bottom:1px solid var(--p2k-line)}
.p2k-topline h1{font-size:clamp(1.7rem,3vw,2.55rem);line-height:1;margin:5px 0 8px;letter-spacing:-.035em}.p2k-topline p{margin:0;color:#d3ddea;font-size:.91rem;max-width:760px}
.p2k-eyebrow{font-size:.72rem;font-weight:900;letter-spacing:.13em;color:#e3e9f0;display:flex;align-items:center;gap:8px}.p2k-live-dot{width:9px;height:9px;border-radius:50%;background:#ff3131;box-shadow:0 0 0 5px rgba(255,49,49,.18);animation:p2kPulse 1.4s infinite}@keyframes p2kPulse{50%{box-shadow:0 0 0 9px rgba(255,49,49,0)}}
.p2k-statusbox{text-align:right;min-width:150px}.p2k-status-label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--p2k-muted-invert)}.p2k-statusbox strong{display:block;color:var(--p2k-yellow);font-size:.95rem}.p2k-statusbox strong.is-online{color:#4fd39a}.p2k-statusbox strong.is-error{color:#ff9d9d}.p2k-statusbox small{color:var(--p2k-muted-invert);font-size:.72rem}
.p2k-toolbar{padding:14px 16px;background:var(--p2k-panel-2);border-bottom:1px solid var(--p2k-line)}.p2k-filter-group{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.p2k-filter-group button,.p2k-icon-btn,.p2k-feed-head button{border:1px solid var(--p2k-line);background:#fff;color:var(--p2k-text);border-radius:6px;padding:8px 11px;font:inherit;font-size:.82rem;font-weight:800;cursor:pointer}.p2k-filter-group button:hover,.p2k-icon-btn:hover,.p2k-feed-head button:hover{background:#dfe8f0}.p2k-filter-group button.is-active{background:var(--p2k-accent);color:#fff;border-color:var(--p2k-accent)}.p2k-filter-group .dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px}.dot.brandweer,.p2k-legend i.brandweer{background:var(--p2k-red)}.dot.ambulance,.p2k-legend i.ambulance{background:var(--p2k-yellow)}.dot.politie,.p2k-legend i.politie{background:var(--p2k-blue)}.dot.mmt,.p2k-legend i.mmt{background:var(--p2k-purple)}.dot.overig{background:var(--p2k-gray)}
.p2k-controls{display:grid;grid-template-columns:160px 160px minmax(220px,1fr) auto auto;gap:8px;align-items:end}.p2k-controls label>span{display:block;color:var(--p2k-muted);font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin:0 0 4px}.p2k-controls select,.p2k-controls input{width:100%;height:38px;border:1px solid var(--p2k-line);border-radius:6px;background:#fff;color:var(--p2k-text);padding:0 10px;font:inherit;font-size:.83rem}.p2k-icon-btn{height:38px;white-space:nowrap}.p2k-icon-btn[aria-pressed="true"]{border-color:var(--p2k-accent);background:#dfe8f0;color:var(--p2k-accent)}.p2k-search{min-width:0}
.p2k-stats{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-bottom:1px solid var(--p2k-line)}.p2k-stats>div{text-align:center;padding:9px 6px;border-right:1px solid var(--p2k-line)}.p2k-stats>div:last-child{border-right:0}.p2k-stats span{display:block;color:var(--p2k-text);font-weight:900;font-size:1.08rem;font-variant-numeric:tabular-nums}.p2k-stats small{display:block;color:var(--p2k-muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.05em}
.p2k-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);min-height:620px}.p2k-map-card{min-width:0;border-right:1px solid var(--p2k-line);background:#fff}.p2k-map-head,.p2k-feed-head{height:48px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--p2k-line);background:var(--p2k-panel-2)}.p2k-map-head strong,.p2k-feed-head strong{font-size:.91rem;color:var(--p2k-text)}.p2k-legend{display:flex;gap:10px;flex-wrap:wrap;color:var(--p2k-muted);font-size:.66rem}.p2k-legend span{display:flex;align-items:center;gap:4px}.p2k-legend i{width:7px;height:7px;border-radius:50%;display:inline-block}.p2k-map{height:535px;background:#eef2f6}.p2k-map-note{padding:7px 11px;color:var(--p2k-muted);font-size:.68rem;border-top:1px solid var(--p2k-line)}
.p2k-feed-card{min-width:0;background:#fff}.p2k-feed-head small{display:block;color:var(--p2k-muted);font-size:.65rem;margin-top:1px}.p2k-feed-head button{padding:6px 9px}.p2k-feed{height:574px;overflow:auto;scrollbar-color:var(--p2k-line) #f5f6f7;scrollbar-width:thin}.p2k-loading,.p2k-empty{padding:42px 20px;text-align:center;color:var(--p2k-muted)}
.p2k-event{position:relative;border-bottom:1px solid var(--p2k-line);background:#fff;padding:12px 12px 12px 16px;cursor:pointer;transition:background .15s ease,transform .15s ease}.p2k-event:hover{background:#f3f6fa}.p2k-event.is-selected{background:#e3ecf5;box-shadow:inset 3px 0 var(--p2k-accent)}.p2k-event:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--service-color,var(--p2k-gray))}.p2k-event-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.p2k-time{font-weight:900;font-size:.78rem;font-variant-numeric:tabular-nums;color:var(--p2k-text)}.p2k-service-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--p2k-line);border-radius:999px;padding:3px 8px;color:var(--p2k-muted);font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.p2k-service-badge i{width:7px;height:7px;border-radius:50%;background:var(--service-color,var(--p2k-gray))}.p2k-meta-line{margin-top:6px;color:var(--p2k-muted);font-size:.72rem;font-weight:700}.p2k-event-message{margin-top:5px;color:var(--p2k-text);font-size:.91rem;line-height:1.38;font-weight:800;overflow-wrap:anywhere}.p2k-event-actions{display:flex;gap:8px;margin-top:8px}.p2k-event-actions a{border:1px solid var(--p2k-line);color:var(--p2k-accent);border-radius:5px;padding:4px 7px;font-size:.68rem;font-weight:800}.p2k-event-actions a:hover{background:#eef2f6;text-decoration:none}.p2k-no-location{opacity:.72}
.p2k-event.service-brandweer{--service-color:var(--p2k-red)}.p2k-event.service-ambulance{--service-color:var(--p2k-yellow)}.p2k-event.service-politie{--service-color:var(--p2k-blue)}.p2k-event.service-mmt{--service-color:var(--p2k-purple)}.p2k-event.service-overig{--service-color:var(--p2k-gray)}
.p2k-priority-high .p2k-time{color:#a80000}.p2k-priority-high .p2k-service-badge{border-color:var(--service-color)}
.p2k-marker{width:30px;height:30px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:2px solid #fff;box-shadow:0 2px 9px rgba(0,0,0,.35);display:grid;place-items:center;background:var(--marker-color,#778395)}.p2k-marker span{transform:rotate(45deg);font-size:15px;line-height:1}.p2k-marker.brandweer{--marker-color:var(--p2k-red)}.p2k-marker.ambulance{--marker-color:var(--p2k-yellow)}.p2k-marker.politie{--marker-color:var(--p2k-blue)}.p2k-marker.mmt{--marker-color:var(--p2k-purple)}.p2k-marker.overig{--marker-color:var(--p2k-gray)}
.leaflet-container{font-family:Arial,Helvetica,sans-serif}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:var(--p2k-text);box-shadow:0 5px 20px #133d6224}.leaflet-popup-content{margin:12px 14px;min-width:220px}.p2k-popup-time{font-size:.72rem;color:var(--p2k-muted);margin-bottom:4px}.p2k-popup-title{font-weight:900;line-height:1.3}.p2k-popup-meta{font-size:.72rem;color:var(--p2k-muted);margin-top:5px}.p2k-popup-link{display:inline-block;margin-top:8px;background:var(--p2k-accent);color:#fff!important;padding:5px 8px;border-radius:4px;font-size:.72rem;font-weight:900}.p2k-popup-link:hover{text-decoration:none}
.p2k-news-section{margin-top:34px}
@media(max-width:980px){.p2k-controls{grid-template-columns:1fr 1fr 2fr}.p2k-icon-btn{grid-row:2}.p2k-layout{grid-template-columns:1fr}.p2k-map-card{border-right:0;border-bottom:1px solid var(--p2k-line)}.p2k-map{height:430px}.p2k-feed{height:520px}}
@media(max-width:650px){.p2k-topline{align-items:flex-start;padding:18px 14px}.p2k-statusbox{display:none}.p2k-toolbar{padding:10px}.p2k-controls{grid-template-columns:1fr 1fr}.p2k-search{grid-column:1/-1}.p2k-icon-btn{grid-row:auto}.p2k-stats{grid-template-columns:repeat(2,1fr)}.p2k-stats>div:nth-child(2){border-right:0}.p2k-stats>div:nth-child(-n+2){border-bottom:1px solid var(--p2k-line)}.p2k-layout{min-height:0}.p2k-map{height:360px}.p2k-feed{height:auto;max-height:650px}.p2k-map-head{height:auto;min-height:48px;align-items:flex-start;padding-block:10px}.p2k-legend{justify-content:flex-end}.p2k-filter-group button{font-size:.75rem;padding:7px 8px}.p2k-event{padding-right:10px}}

[data-p2k-new][hidden]{display:none}[data-p2k-new]{width:100%;padding:14px;min-height:44px} .p2k-controls input,.p2k-controls select,.p2k-controls button{min-height:44px;max-width:100%}.p2k-controls label{min-width:0} @media(max-width:700px){.p2k-controls{display:grid;grid-template-columns:1fr}.p2k-controls>*{width:100%;box-sizing:border-box}.p2k-filter-group{overflow-x:auto;flex-wrap:nowrap}.p2k-filter-group button{flex-shrink:0;min-height:44px}}
