html,
body.p2mp-meldkamer-body {
  margin: 0;
  min-height: 100%;
  background: #000;
  color: #eef6ff;
  overflow: hidden;
}
body.p2mp-meldkamer-body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body.p2mp-meldkamer-body * { box-sizing: border-box; }
.p2mk {
  height: 100vh;
  width: 100vw;
  overflow: hidden;
  background:
    radial-gradient(circle at 15% 0%, rgba(15, 42, 80, .38), transparent 32rem),
    radial-gradient(circle at 85% 10%, rgba(68, 18, 18, .24), transparent 32rem),
    #000;
  color: #eef6ff;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}
.p2mk-topbar {
  min-height: 72px;
  display: grid;
  grid-template-columns: minmax(220px, 320px) minmax(260px, 1fr) minmax(360px, 460px);
  gap: 18px;
  align-items: center;
  padding: 10px 20px;
  border-bottom: 1px solid rgba(255,255,255,.11);
  background: rgba(0,0,0,.88);
}
.p2mk-brand { display:flex; align-items:center; min-width:0; }
.p2mk-brand__logo { max-width: 255px; max-height: 48px; width: auto; height: auto; display:block; object-fit:contain; }
.p2mk-clock { text-align:center; line-height:1.15; color:#aebdd2; font-size:15px; min-width:0; }
.p2mk-clock strong { display:block; color:#fff; font-size:30px; letter-spacing:.04em; font-variant-numeric: tabular-nums; }

.p2mk-sun { display:flex; align-items:center; justify-content:flex-end; gap:12px; min-width:0; flex-wrap:wrap; }
.p2mk-sun__item { display:flex; align-items:center; gap:8px; border:1px solid rgba(250,204,21,.28); background:rgba(250,204,21,.10); color:#f7d774; border-radius:999px; padding:7px 12px; font-size:13px; white-space:nowrap; }
.p2mk-sun__item span { color:#d7c48a; }
.p2mk-sun__item strong { color:#fff; font-variant-numeric:tabular-nums; }
.p2mk-topstatus { display:none !important; }

.p2mk-mobile-block { display:none; }
.p2mk-mobile-block__card { max-width:560px; margin:0 auto; border:1px solid rgba(255,255,255,.12); border-radius:20px; background:rgba(8,12,18,.94); padding:28px; box-shadow:0 16px 42px rgba(0,0,0,.36); text-align:left; }
.p2mk-mobile-block__logo { display:block; max-width:220px; height:auto; margin:0 0 18px; }
.p2mk-mobile-block__badge { display:inline-block; background:rgba(250,204,21,.12); color:#f7d774; border:1px solid rgba(250,204,21,.26); border-radius:999px; padding:7px 12px; font-size:13px; font-weight:800; margin-bottom:14px; }
.p2mk-mobile-block h1 { margin:0 0 12px; color:#fff; font-size:28px; line-height:1.15; }
.p2mk-mobile-block p { margin:0 0 12px; color:#c5d4e6; line-height:1.65; }
.p2mk-mobile-block p:last-child { margin-bottom:0; }

.p2mk-layout {
  min-height:0;
  display:grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap:12px;
  padding:12px;
}
.p2mk-panel {
  min-height:0;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:rgba(8, 12, 18, .92);
  box-shadow: 0 16px 42px rgba(0,0,0,.36);
  overflow:hidden;
}
.p2mk-panel__head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 14px;
  border-bottom:1px solid rgba(255,255,255,.09);
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
}
.p2mk-panel__head h1,
.p2mk-panel__head h2 { margin:0; color:#fff; font-weight:800; letter-spacing:.02em; }
.p2mk-panel__head h1 { font-size:24px; }
.p2mk-panel__head h2 { font-size:16px; text-transform:uppercase; }
.p2mk-panel__head--latest { justify-content:flex-start; flex-wrap:wrap; }
.p2mk-panel__meta { margin-left:auto; color:#95a7bd; font-size:13px; white-space:nowrap; }
.p2mk-region-select,
.p2mk-police-select { display:flex; align-items:center; gap:8px; margin-left:8px; color:#aebdd2; font-size:13px; }
.p2mk-region-select select,
.p2mk-police-select select {
  appearance:none;
  background:#05080d;
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  padding:8px 34px 8px 12px;
  min-width:220px;
  font-size:14px;
}
.p2mk-police-select select { min-width:230px; }
.p2mk-active-filter {
  flex: 0 0 100%;
  color:#9fafc5;
  font-size:12px;
  line-height:1.3;
  margin: -2px 0 0 2px;
  opacity:.86;
}
.p2mk-active-filter[hidden] { display:none !important; }
.p2mk-fetch-note {
  margin: 8px 10px 0;
  padding: 8px 11px;
  border: 1px solid rgba(148, 163, 184, .16);
  border-radius: 12px;
  background: rgba(15, 23, 42, .64);
  color: #aebdd2;
  font-size: 13px;
  line-height: 1.35;
  opacity: .86;
}
.p2mk-fetch-note::before {
  content: '';
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 7px;
  border-radius: 50%;
  background: #60a5fa;
  box-shadow: 0 0 10px rgba(96,165,250,.55);
  vertical-align: 1px;
}
.p2mk-fetch-note[hidden] { display:none !important; }
.p2mk-panel--latest { display:grid; grid-template-rows:auto auto minmax(0,1fr); }
.p2mk-feed { min-height:0; overflow:auto; padding:10px; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.25) transparent; }
.p2mk-feed-card {
  display:grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap:10px 14px;
  padding:11px 12px;
  margin:0 0 9px;
  border-radius:14px;
  background:linear-gradient(90deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
  border:1px solid rgba(255,255,255,.09);
  border-left:4px solid #607089;
}
.p2mk-feed-card--brandweer { border-left-color:#ff4b4b; }
.p2mk-feed-card--ambulance { border-left-color:#f3b63d; }
.p2mk-feed-card--politie { border-left-color:#4da3ff; }
.p2mk-feed-time { color:#fff; font-variant-numeric:tabular-nums; }
.p2mk-feed-time strong { display:block; font-size:20px; line-height:1; }
.p2mk-feed-time small { display:block; margin-top:4px; color:#8495ac; font-size:12px; }
.p2mk-feed-main { min-width:0; }
.p2mk-feed-badges { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:6px; }
.p2mk-feed-badge { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; border-radius:999px; padding:3px 8px; background:rgba(255,255,255,.09); color:#dbe7f6; font-size:12px; border:1px solid rgba(255,255,255,.1); }
.p2mk-feed-badge--brandweer { color:#ffd6d6; background:rgba(255,70,70,.16); }
.p2mk-feed-badge--ambulance { color:#ffe7ad; background:rgba(244,184,64,.16); }
.p2mk-feed-badge--politie { color:#cfe7ff; background:rgba(77,163,255,.16); }
.p2mk-feed-message { color:#fff; font-weight:800; font-size:18px; line-height:1.25; overflow-wrap:anywhere; }
.p2mk-feed-units { grid-column: 2 / -1; display:grid; gap:3px; color:#c5d4e6; font-size:13px; line-height:1.25; }
.p2mk-feed-unit-line { opacity:.95; overflow-wrap:anywhere; }
.p2mk-side { min-height:0; display:grid; grid-template-rows: auto auto auto auto; align-content:start; gap:12px; }
.p2mk-special-list { padding:10px; display:grid; gap:8px; max-height:34vh; overflow:auto; }
.p2mk-special-card { border-radius:12px; padding:10px; background:rgba(255,255,255,.065); border:1px solid rgba(255,255,255,.1); border-left:4px solid #ff4b4b; }
.p2mk-special-card h3 { margin:0 0 5px; color:#fff; font-size:14px; line-height:1.22; }
.p2mk-special-card small { color:#aebdd2; line-height:1.3; }
.p2mk-panel__foot { padding:8px 12px; border-top:1px solid rgba(255,255,255,.08); color:#91a3b9; font-size:12px; }
.p2mk-adbar { border:1px solid rgba(255,255,255,.10); border-radius:16px; overflow:hidden; background:rgba(255,255,255,.045); padding:10px; min-height:90px; display:flex; align-items:center; justify-content:center; }
.p2mk-adbar[hidden], .p2mk-adbar--after-special[hidden] { display:none !important; }
.p2mk-adbar img, .p2mk-adbar iframe, .p2mk-adbar ins { max-width:100% !important; }
.p2mk-status { padding:10px 12px; display:grid; gap:8px; }
.p2mk-status > div { display:flex; align-items:center; justify-content:space-between; gap:10px; border-bottom:1px solid rgba(255,255,255,.07); padding-bottom:7px; color:#aebdd2; font-size:13px; }
.p2mk-status > div:last-child { border-bottom:0; padding-bottom:0; }
.p2mk-status strong { color:#fff; text-align:right; font-variant-numeric:tabular-nums; }
.p2mk-dot { width:8px; height:8px; border-radius:50%; display:inline-block; margin-right:6px; vertical-align:middle; }
.p2mk-dot--ok { background:#2ee781; box-shadow:0 0 12px rgba(46,231,129,.45); }
.p2mk-dot--warn { background:#ffc451; box-shadow:0 0 12px rgba(255,196,81,.45); }
.p2mk-dot--bad { background:#ff4d4d; box-shadow:0 0 12px rgba(255,77,77,.45); }

.p2mk-panel--summary { display:block; }
.p2mk-summary { padding:10px 12px; display:grid; gap:6px; color:#b9c7d8; font-size:12px; line-height:1.35; }
.p2mk-summary__top { display:flex; align-items:center; justify-content:space-between; gap:10px; border-bottom:1px solid rgba(255,255,255,.07); padding-bottom:6px; }
.p2mk-summary__top strong { color:#fff; font-size:18px; font-variant-numeric:tabular-nums; }
.p2mk-summary__line { color:#d7e3f2; font-weight:700; overflow-wrap:anywhere; }
.p2mk-summary__regions { margin-top:2px; color:#9fb0c4; font-size:11px; line-height:1.35; overflow-wrap:anywhere; }
.p2mk-summary small { color:#7f91a7; font-size:10.5px; line-height:1.25; }

.p2mk-empty { padding:18px; color:#9fafc5; text-align:center; }
.p2mk-flash { animation:p2mkFlash 1.6s ease-out; }
.p2mk--loading .p2mk-panel--latest { opacity:.92; }
@keyframes p2mkFlash { 0%{background:rgba(255,255,255,.20);} 100%{background:linear-gradient(90deg, rgba(255,255,255,.075), rgba(255,255,255,.035));} }
@media (max-width: 1100px){
  .p2mk { overflow:auto; height:auto; min-height:100vh; }
  body.p2mp-meldkamer-body { overflow:auto; }
  
.p2mk-mobile-block { display:none; }
.p2mk-mobile-block__card { max-width:560px; margin:0 auto; border:1px solid rgba(255,255,255,.12); border-radius:20px; background:rgba(8,12,18,.94); padding:28px; box-shadow:0 16px 42px rgba(0,0,0,.36); text-align:left; }
.p2mk-mobile-block__logo { display:block; max-width:220px; height:auto; margin:0 0 18px; }
.p2mk-mobile-block__badge { display:inline-block; background:rgba(250,204,21,.12); color:#f7d774; border:1px solid rgba(250,204,21,.26); border-radius:999px; padding:7px 12px; font-size:13px; font-weight:800; margin-bottom:14px; }
.p2mk-mobile-block h1 { margin:0 0 12px; color:#fff; font-size:28px; line-height:1.15; }
.p2mk-mobile-block p { margin:0 0 12px; color:#c5d4e6; line-height:1.65; }
.p2mk-mobile-block p:last-child { margin-bottom:0; }

.p2mk-layout { grid-template-columns:1fr; }
  .p2mk-topbar { grid-template-columns:1fr; min-height:0; height:auto; text-align:center; }
  .p2mk-brand { justify-content:center; }
  .p2mk-sun { justify-content:center; flex-wrap:wrap; }
}


@media (max-width: 900px), (pointer: coarse) and (max-width: 1180px) {
  html,
  body.p2mp-meldkamer-body { overflow:auto; }
  .p2mk { height:auto; min-height:100vh; width:100%; display:block; overflow:auto; }
  .p2mk-topbar { display:none !important; }
  .p2mk-layout { display:none !important; }
  .p2mk-mobile-block { display:block; min-height:100vh; padding:28px 16px; background:
    radial-gradient(circle at 15% 0%, rgba(15, 42, 80, .38), transparent 26rem),
    radial-gradient(circle at 85% 10%, rgba(68, 18, 18, .24), transparent 26rem),
    #000; }
}


/* v1.7.219: mobiele meldkamer gewoon verticaal scrollbaar maken. */
@media (max-width: 1100px), (pointer: coarse) and (max-width: 1180px) {
  html,
  body.p2mp-meldkamer-body {
    height: auto !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .p2mk {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 100vh !important;
    overflow: visible !important;
  }
  .p2mk-topbar {
    display: grid !important;
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    height: auto !important;
    text-align: center !important;
    gap: 14px !important;
    padding: 24px 14px 20px !important;
  }
  .p2mk-brand { justify-content: center !important; }
  .p2mk-brand__logo { max-width: 260px !important; max-height: 58px !important; margin: 0 auto !important; }
  .p2mk-clock strong { font-size: 38px !important; }
  .p2mk-sun { justify-content: center !important; flex-wrap: wrap !important; gap: 10px !important; }
  .p2mk-sun__item { font-size: 15px !important; padding: 9px 14px !important; }
  .p2mk-topstatus { display: none !important; }
  .p2mk-layout {
    display: block !important;
    padding: 12px !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  .p2mk-panel,
  .p2mk-panel--latest,
  .p2mk-feed,
  .p2mk-side,
  .p2mk-special-list {
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
  }
  .p2mk-panel { margin-bottom: 12px !important; }
  .p2mk-panel__head { align-items: flex-start !important; }
  .p2mk-panel__head--latest { display: grid !important; grid-template-columns: 1fr !important; gap: 12px !important; }
  .p2mk-panel__head h1 { font-size: 32px !important; }
  .p2mk-panel__meta { margin-left: 0 !important; }
  .p2mk-region-select { margin-left: 0 !important; width: 100% !important; justify-content: flex-start !important; }
  .p2mk-region-select select,
.p2mk-police-select select { min-width: 0 !important; width: 100% !important; }
  .p2mk-feed-card { grid-template-columns: 88px minmax(0,1fr) !important; }
  .p2mk-feed-message { font-size: 20px !important; }
  .p2mk-mobile-block { display: none !important; }
}
