/* P2000 Regio 18 — dashboard v1.4.3 | Gemaakt door Rex PD1DMR © 2026 */
.p2000-r18{--bg:#051321;--panel:#091b2d;--card:#0c2135;--line:#183a51;--text:#f2f8ff;--muted:#9cb3c9;--cyan:#38b9ff;--blue:#087cda;box-sizing:border-box;width:100%;max-width:none;margin:0 auto;padding:22px 24px 0;border-radius:17px;background:linear-gradient(135deg,#071726,#03101e 85%);border:1px solid #1a3850;color:var(--text);font:14px/1.48 system-ui,-apple-system,"Segoe UI",sans-serif;overflow:hidden;box-shadow:0 12px 34px #0002}
.p2000-r18 *{box-sizing:border-box}.p2000-r18 button,.p2000-r18 input,.p2000-r18 select{font:inherit}.p2000-r18 button{cursor:pointer}.p2000-r18 button:disabled{cursor:not-allowed;opacity:.45}.p2000-r18 button:focus-visible,.p2000-r18 select:focus-visible,.p2000-r18 input:focus-visible{outline:2px solid #52c7ff;outline-offset:2px}.p2000-r18 [hidden]{display:none!important}
.p2000-r18-head{display:grid;grid-template-columns:minmax(175px,230px) minmax(320px,1fr) auto auto;align-items:center;gap:22px;padding-bottom:18px;border-bottom:1px solid #1b374e}.p2000-r18-brand,.p2000-r18-footer-brand{display:flex;align-items:center;gap:10px;min-width:0}.p2000-r18-antenna{width:46px;height:60px;flex-shrink:0;filter:drop-shadow(0 0 8px #0777df66)}.p2000-r18-brandname{font-size:36px;font-weight:850;color:#2199f5;line-height:1;letter-spacing:-1.2px}.p2000-r18-brand span,.p2000-r18-footer-brand small{display:block;font-size:12px;letter-spacing:.03em;font-weight:750;color:#6ccaff;margin-top:6px;white-space:nowrap}.p2000-r18-heading h2{font:750 clamp(20px,2.05vw,29px)/1.2 system-ui,sans-serif!important;color:#f8fbff!important;margin:0 0 7px!important;letter-spacing:-.6px}.p2000-r18-heading p{margin:0;color:#b6c7d8;font-size:14px}.p2000-r18-headright{display:flex;flex-direction:column;align-items:center;gap:7px}.p2000-r18-live{display:flex;align-items:center;gap:10px;white-space:nowrap;padding:7px 14px;border-radius:24px;background:#04362b;color:#52eaa2;font-weight:750;font-size:13px}.p2000-r18-dot,.p2000-r18-footdot{width:10px;height:10px;border-radius:50%;background:#2ff0a0;box-shadow:0 0 11px #1eff92;display:inline-block;flex-shrink:0}.p2000-r18-synctime{font-size:11px;color:#a9b9c9;text-align:center;max-width:290px}.p2000-r18-settings{background:#0b2438;border:1px solid #224760;color:#dcecff;border-radius:10px;padding:10px 15px;white-space:nowrap}.p2000-r18-settings:hover{background:#16364c}
.p2000-r18-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:17px 0 14px}.p2000-r18-toolbar>label{display:flex;align-items:center;gap:9px;white-space:nowrap;font-size:13px;color:#e3eff9}.p2000-r18-toolbar select{min-height:43px;max-width:240px;border:1px solid #2b4a65;border-radius:10px;background:#10253b;color:#e6f1ff;padding:8px 30px 8px 13px}.p2000-r18-search{margin-left:auto;position:relative;flex:1;min-width:180px;max-width:410px}.p2000-r18-search input{width:100%;height:43px;border:1px solid #234660;border-radius:9px;background:#07192b;color:#f3f9ff;padding:0 39px 0 14px;outline:none}.p2000-r18-search input::placeholder{color:#9eb0c0}.p2000-r18-search>span{position:absolute;right:14px;top:5px;font-size:25px;color:#d6e6f6;pointer-events:none}.p2000-r18-refresh{height:43px;background:#0878db;border:1px solid #188cf2;border-radius:9px;color:white;font-weight:700;padding:0 17px;white-space:nowrap}.p2000-r18-refresh:hover{background:#1593ff}.p2000-r18-settings-panel{background:#10283b;border:1px solid #2a4c65;border-radius:10px;margin:0 0 14px;padding:13px;display:flex;align-items:center;flex-wrap:wrap;gap:18px;color:#c9dceb}.p2000-r18-settings-panel label{display:flex;align-items:center;gap:7px}.p2000-r18-settings-panel a{color:#65c4ff}.p2000-r18-settings-panel input{accent-color:#189bff}
.p2000-r18-layout{display:grid;grid-template-columns:minmax(0,1.57fr) minmax(360px,.93fr);gap:14px;min-height:630px}.p2000-r18-mapwrap{position:relative;min-height:630px;overflow:hidden;border:1px solid #27455d;border-radius:12px;background:#193649}.p2000-r18-map{width:100%;height:100%;min-height:630px;z-index:0}.p2000-r18 .leaflet-container{font:12px/1.4 system-ui,sans-serif}.p2000-r18 .leaflet-popup-content{color:#1b2935;min-width:230px;max-width:330px}.p2000-r18 .leaflet-popup-content strong{display:block;margin-bottom:9px;font-size:13px}.p2000-r18 .leaflet-popup-content small{display:block;color:#536777;margin-top:7px}.p2000-r18 .leaflet-popup-content .p2000-r18-accuracy{background:#fff0c6;border-radius:5px;color:#7d5307;padding:5px}.p2000-r18-popup-row{border-top:1px solid #e1e7ed;padding:5px 0}.p2000-r18-legend{position:absolute;z-index:450;bottom:16px;left:12px;display:flex;gap:15px;flex-wrap:wrap;align-items:center;background:#04152be8;border:1px solid #1b4668;color:#eaf5ff;border-radius:10px;padding:8px 12px;font-size:12px;box-shadow:0 4px 12px #0004}.p2000-r18-legend>span{display:flex;align-items:center;gap:7px}.p2000-r18-legend-icon{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:7px;color:#fff;font-size:17px}.p2000-r18-legend-icon.ambulance,.p2000-r18-pin.ambulance{background:#1558d6}.p2000-r18-legend-icon.brandweer,.p2000-r18-pin.brandweer{background:#e62c34}.p2000-r18-legend-icon.politie,.p2000-r18-pin.politie{background:#617b92}.p2000-r18-legend-icon.overig,.p2000-r18-pin.overig{background:#ffb300;color:#161b24}.p2000-r18-icon{background:transparent;border:0}.p2000-r18-pin{width:38px;height:38px;display:grid;place-items:center;border:2px solid #e5f5ff99;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 4px 9px #001e3a99;color:#fff;font-size:24px;font-weight:900}.p2000-r18-pin>span{transform:rotate(45deg);display:block;line-height:1}.p2000-r18-pin.multiple{background:#526e89;font-size:16px}
.p2000-r18-feed{min-width:0;display:flex;flex-direction:column;min-height:0;max-height:630px;overflow:hidden}.p2000-r18-list{min-height:0;flex:1;overflow:auto;padding:0 4px 0 0;scrollbar-color:#7590a7 #10283c;scrollbar-width:thin}.p2000-r18-item{display:flex;gap:14px;align-items:flex-start;padding:15px 14px 16px;margin-bottom:8px;border:1px solid #1b3850;border-left:6px solid #24e37c;border-radius:10px;background:linear-gradient(115deg,#0b2035,#081b2d);min-height:138px}.p2000-r18-item.brandweer{border-left-color:#fb4145}.p2000-r18-item.politie{border-left-color:#879bb5}.p2000-r18-item.overig{border-left-color:#f8b92c}.p2000-r18-service-symbol{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:12px;color:white;font-size:29px;font-weight:900;margin-top:25px;box-shadow:0 0 19px #1262c14d}.p2000-r18-service-symbol.ambulance{background:#124dc2}.p2000-r18-service-symbol.brandweer{background:#ce1d2a;box-shadow:0 0 18px #e01b2444}.p2000-r18-service-symbol.politie{background:#4a6985}.p2000-r18-service-symbol.overig{background:#ffb81c;color:#142335}.p2000-r18-item-body{flex:1;min-width:0}.p2000-r18-item-top{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px;margin-bottom:7px}.p2000-r18-service{color:#56e7a0;font-weight:750}.p2000-r18-item.brandweer .p2000-r18-service{color:#ff7d65}.p2000-r18-item.politie .p2000-r18-service{color:#b6d2ec}.p2000-r18-item-top time{color:#77bfe7;font-size:11px;text-align:right;white-space:nowrap}.p2000-r18-item-title{display:block;color:#f9fcff!important;font-size:13px;font-weight:750;line-height:1.5;overflow-wrap:anywhere}.p2000-r18-address{margin-top:9px;color:#b4cfe1;font-size:12px}.p2000-r18-accuracy{display:inline-block;margin-top:10px;padding:5px 9px;border-radius:8px;background:#27384c;color:#d6e6f2;font-size:11px}.p2000-r18-accuracy.street{background:#f5af24;color:#1d2731;font-weight:750}.p2000-r18-clickable{cursor:pointer}.p2000-r18-clickable:hover,.p2000-r18-clickable:focus-visible{background:#13324c;outline:1px solid #2689cc}.p2000-r18-duplicates{margin-top:9px;color:#8bd4ff;font-size:11px}.p2000-r18-duplicates summary{cursor:pointer;border-radius:6px;padding:5px 8px;background:#073d70}.p2000-r18-duplicate-entry{padding:7px 5px;border-bottom:1px solid #21415a;color:#c2d6e7}.p2000-r18-placeholder{padding:20px;color:#afc6d6}.p2000-r18-pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0 0;color:#c6d8e8;font-size:12px}.p2000-r18-pagebuttons{display:flex;gap:5px}.p2000-r18-pagebuttons button{background:transparent;border:0;border-radius:6px;color:#dceafa;min-width:30px;min-height:32px}.p2000-r18-pagebuttons button.active,.p2000-r18-pagebuttons button:hover{background:#17446a}.p2000-r18-pagebuttons button:first-child,.p2000-r18-pagebuttons button:last-child{background:#12334e}.p2000-r18-map-only{grid-template-columns:1fr}
.p2000-r18-foot{margin:20px -24px 0;padding:16px 24px;border-top:1px solid #174063;background:linear-gradient(90deg,#041529,#041b34 65%,#031324);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;min-height:92px}.p2000-r18-footer-brand .p2000-r18-antenna{height:48px;width:38px}.p2000-r18-footer-brand strong{display:block;font-size:25px;line-height:1;color:#269df4}.p2000-r18-footer-brand small{font-size:10px;margin-top:5px}.p2000-r18-footer-stats{display:flex;gap:25px;align-items:center;flex-wrap:wrap;color:#b7ccdd;font-size:12px}.p2000-r18-footer-stats b{font-weight:500}.p2000-r18-footdot{width:8px;height:8px;margin-left:6px}.p2000-r18-credit{text-align:right;font-size:13px;color:#d5e6f6}.p2000-r18-credit strong{color:#4cc7ff}.p2000-r18-credit small{display:block;color:#9eb8ce;font-size:11px;margin-top:3px}.p2000-r18-error .p2000-r18-dot,.p2000-r18-error .p2000-r18-footdot{background:#fa525c;box-shadow:0 0 8px #f22}.p2000-r18-error .p2000-r18-live{background:#47212c;color:#ffb0b4}
@media(max-width:1260px){.p2000-r18-head{grid-template-columns:190px 1fr auto;gap:14px}.p2000-r18-headright{grid-column:2;grid-row:2;align-items:flex-start}.p2000-r18-settings{grid-column:3;grid-row:1}.p2000-r18-layout{grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr)}.p2000-r18-toolbar{gap:10px}.p2000-r18-search{max-width:none}}
@media(max-width:850px){.p2000-r18{padding:16px 14px 0}.p2000-r18-head{grid-template-columns:1fr auto;gap:13px}.p2000-r18-brand{grid-column:1}.p2000-r18-heading{grid-column:1/-1;grid-row:2}.p2000-r18-headright{grid-column:1/-1;grid-row:3;align-items:flex-start}.p2000-r18-settings{grid-column:2;grid-row:1}.p2000-r18-layout{grid-template-columns:1fr}.p2000-r18-mapwrap,.p2000-r18-map{min-height:400px}.p2000-r18-feed{max-height:570px}.p2000-r18-foot{margin:18px -14px 0;padding:16px 14px}.p2000-r18-credit{text-align:left}}
@media(max-width:540px){.p2000-r18-brandname{font-size:29px}.p2000-r18-antenna{height:46px;width:35px}.p2000-r18-settings{padding:8px 10px}.p2000-r18-settings span{display:none}.p2000-r18-toolbar{display:grid;grid-template-columns:1fr 1fr}.p2000-r18-toolbar>label{flex-direction:column;align-items:stretch;gap:4px}.p2000-r18-toolbar select{max-width:none;width:100%}.p2000-r18-search{grid-column:1/-1;min-width:0}.p2000-r18-refresh{grid-column:1/-1}.p2000-r18-mapwrap,.p2000-r18-map{min-height:345px}.p2000-r18-legend{gap:7px;padding:6px;font-size:10px;bottom:12px;left:7px}.p2000-r18-legend-icon{width:20px;height:20px;font-size:12px}.p2000-r18-item{padding:10px;gap:9px}.p2000-r18-service-symbol{flex-basis:32px;height:32px;font-size:21px}.p2000-r18-footer-stats{gap:10px}.p2000-r18-pagecount{font-size:10px}}

/* v1.4.4: compacte, scrollbare kaartpopups; plaatscentra zijn geen incidentadressen */
.p2000-r18 .leaflet-popup-content-wrapper{max-width:min(340px,80vw);border-radius:12px}
.p2000-r18 .leaflet-popup-content{max-height:190px;overflow:auto;margin:12px 14px}
.p2000-r18-popup-cluster .p2000-r18-popup-row{padding:7px 0;border-bottom:1px solid #dbe5eb;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.p2000-r18-popup-cluster .p2000-r18-accuracy{font-weight:600;color:#8a4a0a;margin:6px 0}
.p2000-r18-popup-filter{margin-top:10px;background:#0b76d6;color:white;border:0;border-radius:7px;padding:8px 10px;cursor:pointer;font-size:12px}
.p2000-r18-popup-filter:hover{background:#07599f}

/* v1.4.5: volledige maar compacte clusterlijst na inzoomen */
.p2000-r18 .leaflet-popup-content-wrapper:has(.p2000-r18-popup-cluster){max-width:min(395px,88vw)}
.p2000-r18 .leaflet-popup-content:has(.p2000-r18-popup-cluster){max-height:330px;overflow-y:auto}
.p2000-r18-popup-cluster .p2000-r18-popup-entries{max-height:225px;overflow-y:auto;overscroll-behavior:contain;margin-top:7px;border-top:1px solid #dbe5eb}
.p2000-r18-popup-cluster .p2000-r18-popup-row time{font-size:10px;color:#617a8e;display:block;margin-bottom:3px}
.p2000-r18-popup-cluster .p2000-r18-popup-hint{color:#3d6e91;font-size:11px}

/* Tomzulu10 structured incident information; original alert remains prominent. */
.p2000-r18-tomzulu{display:grid;gap:9px;margin-top:10px;padding:10px 11px;border:1px solid #245274;border-radius:9px;background:#102a41;color:#e3f4ff;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.p2000-r18-tomzulu-group{display:grid;gap:5px;min-width:0}
.p2000-r18-tomzulu-heading{font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:#65d5f4;font-weight:800}
.p2000-r18-tomzulu-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 9px}
.p2000-r18-tomzulu-row b{color:#f6fcff;white-space:nowrap}
.p2000-r18-tomzulu-row span{color:#b9d9eb;min-width:0}
.p2000-r18 .leaflet-popup-content .p2000-r18-tomzulu{background:#eaf5fb;color:#12314a;border-color:#c0dce9;max-height:230px;overflow-y:auto}
.p2000-r18 .leaflet-popup-content .p2000-r18-tomzulu-heading{color:#0b668b}
.p2000-r18 .leaflet-popup-content .p2000-r18-tomzulu-row b{color:#103c57}
.p2000-r18 .leaflet-popup-content .p2000-r18-tomzulu-row span{color:#34566a}


/* GRIP 1-4: historic incident-level indicator, never an assertion of current GRIP status. */
.p2000-r18 .p2000-r18-item-top{flex-wrap:wrap}
.p2000-r18 .p2000-r18-item-top time{margin-left:auto}
.p2000-r18 .p2000-r18-grip{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex:0 0 auto;padding:4px 9px;border:1px solid #ffce5e;border-radius:7px;background:#bd251f;color:#fff!important;font-size:12px;font-weight:900;letter-spacing:.045em;line-height:1.2;box-shadow:0 0 10px #ff503c66;animation:p2000-r18-grip-flash 1.5s ease-in-out infinite}
.p2000-r18 .p2000-r18-grip-ended{animation:none;background:#536274;border-color:#8293a8;box-shadow:none}
.p2000-r18 .p2000-r18-grip-incident{border-top-color:#e99039}
.p2000-r18 .p2000-r18-popup>.p2000-r18-grip{display:inline-flex;margin:0 0 9px}
.p2000-r18 .p2000-r18-popup-row>.p2000-r18-grip{margin-bottom:5px}
.p2000-r18 .p2000-r18-icon{position:relative;overflow:visible}
.p2000-r18 .p2000-r18-grip-pin{position:absolute;left:12px;top:-15px;z-index:4;white-space:nowrap;border-radius:5px;border:1px solid #ffe6a5;background:#b8211a;color:#fff;font:900 10px/1.3 system-ui,sans-serif;letter-spacing:.01em;padding:3px 5px;box-shadow:0 0 8px #ff533a;animation:p2000-r18-grip-flash 1.5s ease-in-out infinite;pointer-events:none}
.p2000-r18 .p2000-r18-grip-pin.ended{animation:none;background:#536274;border-color:#8b9aa9;box-shadow:none}
@keyframes p2000-r18-grip-flash{0%,100%{opacity:1}50%{opacity:.48}}
@media(prefers-reduced-motion:reduce){.p2000-r18 .p2000-r18-grip,.p2000-r18 .p2000-r18-grip-pin{animation:none!important}}

/* DARES: eigen discipline in meldingen en op de kaart. */
.p2000-r18-legend-icon.dares,.p2000-r18-pin.dares{background:#087f8c;color:#fff}
.p2000-r18-item.dares{border-left-color:#18c4c8}
.p2000-r18-service-symbol.dares{background:#087f8c;box-shadow:0 0 18px #18c4c844}
.p2000-r18-item.dares .p2000-r18-service{color:#65e8df}

/* Origineel DARES-logo: alleen voor meldingen met discipline DARES. */
.p2000-r18 .p2000-r18-service-symbol.dares,
.p2000-r18 .p2000-r18-legend-icon.dares {
  background:transparent url('dares-logo.png') center / contain no-repeat;
  box-shadow:none;
  color:transparent;
  font-size:0;
}
.p2000-r18 .p2000-r18-pin.dares,
.p2000-r18 .p2000-r18-pin.dares.multiple {
  background:transparent url('dares-logo.png') center / contain no-repeat;
  border:0;
  border-radius:0;
  box-shadow:none;
  transform:none;
  color:transparent;
  font-size:0;
}
.p2000-r18 .p2000-r18-pin.dares > span {transform:none;font-size:0}
.p2000-r18 .p2000-r18-pin.dares.multiple > span {
  position:absolute;right:-5px;bottom:-3px;
  display:grid;place-items:center;min-width:19px;height:19px;
  padding:0 3px;border-radius:10px;
  background:#06243a;color:#fff;border:1px solid #fff;
  font-size:12px;font-weight:800;line-height:1;
}
