/* Scoped P2000 monitor: independent of the site's news layout. */
.p2-monitor{--p2-blue:#133d62;--p2-line:#cbd6e1;--p2-muted:#536578;color:#172839;background:#fff;border:1px solid var(--p2-line);margin-bottom:28px;font:14px/1.45 Arial,Helvetica,sans-serif;box-shadow:0 5px 20px #133d6210}
.p2-monitor *{box-sizing:border-box}.p2-monitor [hidden]{display:none!important}.p2-monitor button,.p2-monitor select,.p2-monitor input{font:inherit;color:inherit}.p2-monitor button{cursor:pointer}.p2-monitor button:disabled{cursor:wait;opacity:.55}.p2-monitor :is(button,input,select,summary,a):focus-visible{outline:3px solid #fbbf24;outline-offset:2px}.p2-header{padding:20px 24px;background:linear-gradient(110deg,#102f4e,#1b527d);color:white;display:flex;justify-content:space-between;gap:20px;align-items:center}.p2-kicker{font-size:10px;letter-spacing:2px;color:#b7d3ea;font-weight:700}.p2-header h2{font-size:29px;letter-spacing:-1px;line-height:1.2;margin:3px 0 0}.p2-header h2 span{font-weight:400}.p2-status{font-size:12px;max-width:390px;padding:8px 12px;border:1px solid #66829a;border-radius:3px;background:#ffffff0b}.p2-status[data-state="ok"]{border-color:#81bda5}.p2-status[data-state="error"]{background:#fff0d0;color:#704610;border-color:#e7ae50}.p2-toolbar{background:#e9eff5;border-bottom:1px solid var(--p2-line);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px}.p2-services,.p2-actions{display:flex;gap:5px;flex-wrap:wrap}.p2-toolbar button,.p2-reset{border:1px solid #bccbda;background:#fff;border-radius:3px;padding:8px 11px;font-size:12px;font-weight:700}.p2-services button.active{background:var(--p2-blue);border-color:var(--p2-blue);color:white}.p2-services [data-service="Brandweer"]{border-bottom:3px solid #c83b35}.p2-services [data-service="Ambulance"]{border-bottom:3px solid #d09c16}.p2-services [data-service="Politie"]{border-bottom:3px solid #2879bc}.p2-layout{display:grid;grid-template-columns:218px minmax(0,1fr)}.p2-sidebar{padding:18px 15px;background:#f1f5f8;border-right:1px solid var(--p2-line)}.p2-sidebar>label,.p2-settings>label:not(.p2-check){display:block;font-size:12px;font-weight:700;margin:0 0 6px}.p2-sidebar input[type="search"],.p2-sidebar select{display:block;width:100%;min-width:0;padding:8px;border:1px solid #b7c7d5;background:white;border-radius:2px;margin-bottom:16px}.p2-reset{width:100%;margin:0 0 18px}.p2-settings{border-top:1px solid var(--p2-line);padding-top:15px}.p2-settings summary{font-weight:700;cursor:pointer;margin-bottom:10px}.p2-check{display:flex;gap:7px;align-items:center;font-size:12px;margin:12px 0}.p2-settings p,.p2-sidebar-note{font-size:11px;color:var(--p2-muted)}.p2-sidebar-note{border-top:1px solid var(--p2-line);padding-top:18px;margin-top:22px}.p2-sidebar-note a{text-decoration:underline}.p2-result-bar{display:flex;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--p2-line);font-size:12px;background:#f8fafc}.p2-result-bar span{color:var(--p2-muted);text-align:right}.p2-notice{background:#fff9eb;color:#66542d;font-size:11px;margin:0;padding:10px 18px;border-bottom:1px solid #eee0c0}.p2-list{min-height:130px}.p2-event{border-bottom:1px solid var(--p2-line);border-left:4px solid #8195a7;padding:14px 18px;background:white;overflow-wrap:anywhere}.p2-event[data-service="Brandweer"]{border-left-color:#c83b35}.p2-event[data-service="Ambulance"]{border-left-color:#d09c16}.p2-event[data-service="Politie"]{border-left-color:#2879bc}.p2-event:nth-child(even){background:#f8fafc}.p2-event-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--p2-muted);font-variant-numeric:tabular-nums}.p2-event-heading strong{color:var(--p2-blue)}.p2-priority{background:#e7edf3;padding:1px 6px;border-radius:3px;font-weight:700}.p2-priority.urgent{background:#fee5e3;color:#aa2420}.p2-event h3{font-size:15px;margin:7px 0 5px;line-height:1.45}.p2-event p{margin:5px 0;font-size:12px;color:var(--p2-muted)}.p2-address{color:#245881!important}.p2-capcodes{width:100%;border-collapse:collapse;margin-top:9px;font-size:11px;text-align:left;table-layout:fixed}.p2-capcodes th{color:#5b6e7e;font-size:10px;font-weight:400;border-bottom:1px solid #dce4eb}.p2-capcodes td{padding:3px 6px 3px 0;overflow-wrap:anywhere}.p2-capcodes th:first-child{width:85px}.p2-capcodes th:nth-child(2){width:65px}.p2-capcodes td:first-child{font-family:Consolas,monospace;color:#1b4d73;font-weight:700}.p2-empty{padding:30px 20px;color:var(--p2-muted);text-align:center}.p2-bottom{padding:12px 18px;font-size:11px;background:#edf3f7;color:var(--p2-muted)}.p2-monitor.compact .p2-event{padding:9px 14px}.p2-monitor.compact .p2-event h3{margin:4px 0;font-size:14px}.p2-monitor.large-text .p2-event h3{font-size:18px}.p2-monitor.large-text .p2-event p,.p2-monitor.large-text .p2-capcodes{font-size:14px}.p2-monitor.hide-caps .p2-capcodes{display:none}.p2-monitor:fullscreen{overflow:auto;margin:0;border:0;width:100%;height:100%}.p2-monitor:fullscreen .p2-header{position:sticky;top:0;z-index:2}.p2-event.fresh{animation:p2-flash 2s ease-out}@keyframes p2-flash{from{background:#d9edff}to{background:inherit}}
@media(max-width:850px){.p2-layout{grid-template-columns:1fr}.p2-sidebar{border-right:0;border-bottom:1px solid var(--p2-line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 12px}.p2-sidebar>label{grid-row:1}.p2-sidebar>input,.p2-sidebar>select{grid-row:2;margin-bottom:0}.p2-reset{grid-column:1/-1;margin:4px 0}.p2-settings{grid-column:1/-1}.p2-sidebar-note{display:none}.p2-header{padding:17px}.p2-status{max-width:290px}.p2-result-bar{align-items:start}}
@media(max-width:520px){.p2-header{display:block}.p2-status{margin-top:13px;max-width:none}.p2-header h2{font-size:26px}.p2-toolbar{padding:9px}.p2-toolbar button{padding:8px;font-size:11px}.p2-sidebar{display:block;padding:13px}.p2-sidebar>input,.p2-sidebar>select{margin-bottom:12px}.p2-result-bar{display:block}.p2-result-bar span{display:block;text-align:left;margin-top:4px}.p2-capcodes th:first-child{width:72px}.p2-capcodes th:nth-child(2){width:55px}.p2-capcodes td,.p2-capcodes th{font-size:10px}.p2-event-heading{gap:8px}.p2-notice{padding:10px 14px}}
@media(prefers-reduced-motion:reduce){.p2-event.fresh{animation:none}}

/* Voertuigtabel per melding: zelfde opmaak als capcodes, maar niet gekoppeld
   aan de "Capcodes tonen"-instelling (dit is geen pagercapcode maar een
   kenteken/roepnummer dat letterlijk op het voertuig staat). */
.p2-vehicles{width:100%;border-collapse:collapse;margin-top:9px;font-size:11px;text-align:left;table-layout:fixed}
.p2-vehicles th{color:#5b6e7e;font-size:10px;font-weight:400;border-bottom:1px solid #dce4eb}
.p2-vehicles td{padding:3px 6px 3px 0;overflow-wrap:anywhere}
.p2-vehicles th:first-child{width:85px}
.p2-vehicles th:nth-child(2){width:90px}
.p2-vehicles td:first-child{font-family:Consolas,monospace;color:#8a5a00;font-weight:700}
.p2-monitor.compact .p2-vehicles{margin-top:6px}
.p2-monitor.large-text .p2-vehicles{font-size:14px}
@media(max-width:520px){.p2-vehicles th:first-child{width:72px}.p2-vehicles th:nth-child(2){width:70px}.p2-vehicles td,.p2-vehicles th{font-size:10px}}

/* Statistics page (p2000-statistics.php): reuses the monitor's look. */
.p2-toolbar a.button{border:1px solid #bccbda;background:#fff;border-radius:3px;padding:8px 11px;font-size:12px;font-weight:700;text-decoration:none;color:inherit;display:inline-block}
.p2-toolbar a.button.active{background:var(--p2-blue);border-color:var(--p2-blue);color:#fff}
.p2-toolbar .p2-back{align-self:center;font-size:12px;text-decoration:underline;color:var(--p2-muted)}
.p2-stats-cards{display:flex;flex-wrap:wrap;gap:12px;padding:18px}
.p2-stats-card{flex:1 1 130px;background:#f8fafc;border:1px solid var(--p2-line);border-top:4px solid #5b6e7e;border-radius:4px;padding:14px 16px;text-align:center}
.p2-stats-card strong{display:block;font-size:28px;color:var(--p2-blue);line-height:1.1}
.p2-stats-card span{font-size:11px;color:var(--p2-muted)}
.p2-stats-card-total{border-top-color:var(--p2-blue);background:#eef4f9}
.p2-stats-panel{padding:8px 18px 18px}
.p2-stats-panel h3{font-size:13px;color:var(--p2-blue);margin:14px 0 10px}
.p2-stats-timeline{display:flex;align-items:flex-end;gap:3px;height:150px;border-bottom:1px solid var(--p2-line);padding-bottom:4px}
.p2-stats-bar{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:6px}
.p2-stats-bar-fill{width:100%;background:var(--p2-blue);border-radius:2px 2px 0 0;min-height:2px}
.p2-stats-bar em{font-style:normal;font-size:9px;color:var(--p2-muted);margin-top:3px}
.p2-stats-bar small{font-size:9px;color:var(--p2-muted);writing-mode:vertical-rl;transform:rotate(180deg);margin-top:3px;max-height:46px}
.p2-stats-columns{display:grid;grid-template-columns:1fr 1fr;gap:0}
.p2-stats-table{width:100%;border-collapse:collapse;font-size:12px}
.p2-stats-table td{padding:6px 4px;border-bottom:1px solid #edf1f5;vertical-align:middle}
.p2-stats-table-bar{width:45%}
.p2-stats-table-bar span{display:block;height:9px;background:var(--p2-blue);border-radius:2px}
.p2-stats-table-n{text-align:right;color:var(--p2-muted);width:36px}
.p2-stats-note{font-size:11px;color:var(--p2-muted);margin:10px 0 0}
.p2-stats-note a{color:var(--p2-blue);text-decoration:underline}
.p2-stats-incidents{border:1px solid var(--p2-line);border-radius:3px;overflow:hidden}
.p2-stats-incidents .p2-event:last-child{border-bottom:0}
.p2-stats-columns-units{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0 22px}
.p2-stats-service-block h4{font-size:12px;color:var(--p2-blue);margin:14px 0 8px;padding-left:9px;border-left:4px solid #5b6e7e}
/* Discipline colours via data-service (CSP blocks inline style="..."). */
.p2-stats-card[data-service="Brandweer"]{border-top-color:#c83b35}
.p2-stats-card[data-service="Ambulance"]{border-top-color:#d09c16}
.p2-stats-card[data-service="Politie"]{border-top-color:#2879bc}
.p2-stats-service-block[data-service="Brandweer"] h4{border-left-color:#c83b35}
.p2-stats-service-block[data-service="Ambulance"] h4{border-left-color:#d09c16}
.p2-stats-service-block[data-service="Politie"] h4{border-left-color:#2879bc}
.p2-stats-service-block[data-service="Brandweer"] .p2-stats-table-bar span{background:#c83b35}
.p2-stats-service-block[data-service="Ambulance"] .p2-stats-table-bar span{background:#d09c16}
.p2-stats-service-block[data-service="Politie"] .p2-stats-table-bar span{background:#2879bc}
/* Bar width/height via fixed 5%-step classes (same CSP reason: no inline style="width:...")). */
.p2-w-0{width:0%}.p2-w-5{width:5%}.p2-w-10{width:10%}.p2-w-15{width:15%}.p2-w-20{width:20%}.p2-w-25{width:25%}.p2-w-30{width:30%}.p2-w-35{width:35%}.p2-w-40{width:40%}.p2-w-45{width:45%}.p2-w-50{width:50%}.p2-w-55{width:55%}.p2-w-60{width:60%}.p2-w-65{width:65%}.p2-w-70{width:70%}.p2-w-75{width:75%}.p2-w-80{width:80%}.p2-w-85{width:85%}.p2-w-90{width:90%}.p2-w-95{width:95%}.p2-w-100{width:100%}
.p2-h-0{height:0%}.p2-h-5{height:5%}.p2-h-10{height:10%}.p2-h-15{height:15%}.p2-h-20{height:20%}.p2-h-25{height:25%}.p2-h-30{height:30%}.p2-h-35{height:35%}.p2-h-40{height:40%}.p2-h-45{height:45%}.p2-h-50{height:50%}.p2-h-55{height:55%}.p2-h-60{height:60%}.p2-h-65{height:65%}.p2-h-70{height:70%}.p2-h-75{height:75%}.p2-h-80{height:80%}.p2-h-85{height:85%}.p2-h-90{height:90%}.p2-h-95{height:95%}.p2-h-100{height:100%}
@media(max-width:850px){.p2-stats-columns{grid-template-columns:1fr}.p2-stats-timeline{height:120px}.p2-stats-bar small{display:none}}
.p2-rit-number{margin-top:6px;font-size:12px;color:var(--p2-muted)}

/* Melding permalink (p2000-melding.php): single-event detail page. */
.p2-event-detail{border-left-width:4px}
.p2-event-detail h1{font-size:19px;margin:9px 0 6px;line-height:1.35}
.p2-melding-type{font-weight:700;color:#1b4d73!important}
.p2-melding-map-card{border-top:1px solid var(--p2-line)}
.p2-melding-map-card .p2k-map{height:380px}
.p2-event h3 a{color:inherit;text-decoration:none}
.p2-event h3 a:hover,.p2-event h3 a:focus-visible{text-decoration:underline}
.p2-capcodes td:first-child a{color:inherit;text-decoration:none}
.p2-capcodes td:first-child a:hover,.p2-capcodes td:first-child a:focus-visible{text-decoration:underline}
.p2k-map.p2k-map-empty{display:flex;align-items:center;justify-content:center;color:var(--p2-muted);font-size:12px;text-align:center;padding:20px}
.p2-technical-badge{background:#e7e2da;color:#6b5e4a;padding:1px 6px;border-radius:3px;font-weight:700;letter-spacing:.02em}
.p2-event.technical{opacity:.72}
.p2-event.technical:hover,.p2-event.technical:focus-within{opacity:1}
@media(max-width:520px){.p2-melding-map-card .p2k-map{height:280px}}
.p2-status[data-state="ok"]::before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#53c78b}
@media(max-width:520px){.p2-services{position:sticky;top:0;z-index:3;background:#e9eff5;padding:3px 0;width:100%;overflow-x:auto;flex-wrap:nowrap}.p2-services button{flex:0 0 auto}}
.p2-group-count{font-weight:700;color:#245881!important}
.p2-archive-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;padding:16px;background:#f1f5f8;border:1px solid #cbd6e1}
.p2-archive-form label{font-size:12px;font-weight:700}
.p2-archive-form :is(input,select,button){display:block;width:100%;min-height:38px;margin-top:5px;padding:8px;border:1px solid #b7c7d5;background:#fff}
.p2-archive-form button{align-self:end;cursor:pointer;background:#133d62;color:#fff;font-weight:700}
@media(max-width:850px){.p2-sidebar-note{display:block;grid-column:1/-1}}

/* Expandable evidence stays readable on narrow screens. */
.p2-message-details { margin-top: .55rem; font-size: .85rem; }
.p2-message-details summary, .p2-group-count summary { cursor: pointer; padding: .35rem 0; }
.p2-details-table { width: 100%; table-layout: fixed; border-collapse: collapse; }
.p2-details-table th, .p2-details-table td { text-align: left; vertical-align: top; overflow-wrap: anywhere; padding: .35rem; border-bottom: 1px solid #dde3e9; }
.p2-details-table th { width: 36%; }
.p2-quality-badge { background: #fff1cd; color: #704a00; border: 1px solid #c69027; border-radius: 3px; padding: 2px 5px; }
.p2-location-note { color: #665126; font-size: .8rem; }
.p2-event.technical { border-left: 3px solid #8b95a3; }
.p2-event.technical h3 { font-size: .9rem; }
.p2-event, .p2-feed-area, .p2-event h3 { min-width: 0; overflow-wrap: anywhere; }

/* P2000 usability upgrade: readable summaries and mobile filters. */
.p2-filter-panel>summary{cursor:pointer;font-weight:700;padding:12px 0}
.p2-filter-panel label{display:block;margin-top:12px}
.p2-filter-panel input,.p2-filter-panel select,.p2-filter-panel button,.p2-filter-panel>a{width:100%;box-sizing:border-box;margin:4px 0;min-height:44px}
.p2-new-updates{position:sticky;top:12px;z-index:3;width:100%;padding:14px;font-weight:700;background:#1649a3;color:white;border:0;border-radius:8px}
.p2-new-updates[hidden]{display:none}
.p2-stats-table{table-layout:auto;width:100%;overflow-wrap:anywhere}.p2-stats-panel{min-width:0;overflow:auto}
.p2-stats-timeline{overflow-x:auto;justify-content:flex-start}.p2-stats-bar{flex:0 0 58px}
.p2-archive-form label{min-width:0}.p2-archive-form input,.p2-archive-form select{max-width:100%;min-height:44px}
.p2-stats-table th{text-align:left}.p2-stats-note,.p2-location-note{line-height:1.6}
@media(max-width:700px){.p2-services{display:flex;flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.p2-services button{flex-shrink:0;min-height:44px}.p2-layout{display:block}.p2-sidebar{width:auto}.p2-actions{flex-wrap:wrap}.p2-actions>*{min-height:44px}.p2-stats-columns,.p2-stats-cards{grid-template-columns:1fr}.p2-archive-form{display:grid;grid-template-columns:1fr}.p2-details-table,.p2-vehicles{font-size:.85rem;overflow-wrap:anywhere}.p2-event{overflow-wrap:anywhere}}

.p2-stats-filters>summary{padding:16px;font-weight:700;cursor:pointer;min-height:44px;box-sizing:border-box;background:#edf3fa;border-bottom:1px solid #ced8e5}.p2-stats-filters[open]>summary{background:#dfeafa}
