:root{color-scheme:dark;--bg:#09121e;--panel:#101e2e;--line:#24374a;--text:#e4edf6;--muted:#92a7bd;--green:#ff913d;--amber:#ffc771;--red:#ff8189;--blue:#78b9ed}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}h1,h2,h3,p{margin:0 0 14px}h1{font-size:28px;letter-spacing:-.7px}h2{font-size:17px}h3{font-size:15px}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,.button{border:1px solid transparent;border-radius:7px;padding:10px 14px;background:var(--green);color:#111c2b;font:inherit;font-weight:700;cursor:pointer;display:inline-block;text-align:center;text-decoration:none;transition:background .15s}button:hover,.button:hover{filter:brightness(1.1);text-decoration:none}button:disabled{opacity:.38;cursor:not-allowed}button.quiet,.button.quiet{background:#182a3e;color:#c9d9e9;border-color:#2b4157}button.danger{background:#492630;color:#ffacb0;border-color:#71333e}button.small{padding:5px 10px;font-size:12px}input,select{width:100%;padding:11px 12px;border:1px solid #354a60;background:#0b1725;border-radius:6px;color:var(--text);font:inherit}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:2px}label{display:block;color:#c6d4e2;margin-bottom:14px;font-size:13px}label input,label select{margin-top:5px}input[type=checkbox]{width:16px;height:16px;accent-color:var(--green);margin:0}form{margin:0}form button{margin:3px 0}small{display:block;color:var(--muted);font-size:12px}.muted{color:var(--muted)}.fine{font-size:12px;color:var(--muted)}.accent{color:var(--green)}.amber{color:var(--amber)}.red{color:var(--red)}.eyebrow{font-size:11px;letter-spacing:1.8px;color:var(--green);font-weight:800;margin-bottom:8px}.pill,.live-pill{border-radius:20px;padding:4px 9px;background:#173752;color:#8bc8ff;font-size:10px;font-weight:800;letter-spacing:1px;white-space:nowrap}.live-pill{background:#17314d;color:var(--green)}.alert,.notice{border:1px solid #793c48;background:#3b202c;padding:13px;border-radius:7px;margin-bottom:18px;color:#ffd7dd}.notice{border-color:#326592;background:#153454;color:#c3e2ff}.auth{min-height:100vh;display:grid;place-items:center;padding:40px 24px;background:radial-gradient(ellipse at 20% 10%,#113967 0,transparent 55%),var(--bg)}.auth-layout{max-width:1100px;width:100%;display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center}.auth-intro h1{font-size:60px;line-height:1.08;margin:25px 0;letter-spacing:-2px}.auth-intro p{color:#aebfce;font-size:17px}.brand-mark{background:var(--green);color:#073a70;border-radius:11px;width:40px;height:40px;font-size:28px;display:inline-grid;place-items:center;flex-shrink:0}.auth-intro>.brand-mark{width:58px;height:58px;margin-bottom:32px;font-size:37px}.intro-stats{display:flex;gap:45px;margin:38px 0 45px;font-size:32px;font-weight:700}.intro-stats small{font-weight:400;font-size:12px}.auth-card{border:1px solid var(--line);border-radius:16px;padding:34px;background:#101e2eea;max-width:520px;width:100%;box-shadow:0 20px 60px #0004}.auth-card>p{color:var(--muted)}.auth-card form>button{width:100%;margin:8px 0 20px}.auth-card.wide{max-width:850px}.wide h2{margin-top:25px}details{margin-top:20px;border-top:1px solid var(--line);padding-top:15px}summary{cursor:pointer;color:var(--green);margin-bottom:10px}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:30px;padding:0 24px;background:#0d1927}.brand{display:flex;align-items:center;gap:12px;color:#fff;font-size:20px;font-weight:750;letter-spacing:-.6px;white-space:nowrap}.brand small{font-size:9px;font-weight:600;letter-spacing:2px;color:#91a8b8}.topbar nav{margin-left:auto;display:flex;align-items:center;gap:12px}.topbar nav a{font-weight:600}.topbar button{font-size:12px;padding:8px 12px}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.stat{background:#0e1b2a;padding:15px 24px;min-width:0}.stat label{margin:0 0 3px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:1.5px}.stat strong{font-size:24px;letter-spacing:-.5px}.stat small{font-size:11px}.toolbar{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;gap:15px}.toolbar h1{font-size:21px;margin:0}.toolbar .eyebrow{font-size:9px;margin-bottom:4px}.toolbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.toggle{display:flex;align-items:center;gap:7px;margin:0;font-size:12px}.toolbar-actions button{font-size:12px;padding:8px 11px}.workspace{display:grid;grid-template-columns:260px minmax(360px,1fr) 330px;grid-template-rows:500px auto;gap:14px;padding:0 24px 20px;max-width:2200px;margin:auto}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden;min-width:0}.panel-title{padding:13px 15px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);height:50px}.panel-title h2{font-size:12px;margin:0;letter-spacing:.2px}.panel-title>span:last-child{margin-left:auto}.panel-title .pill{margin-left:auto}.panel-title .muted{font-size:11px}.scroll{overflow:auto;max-height:calc(100% - 50px);scrollbar-width:thin;scrollbar-color:#37536c transparent}.call{padding:14px;border-bottom:1px solid var(--line);cursor:pointer;border-left:3px solid transparent}.call.selected{background:#1a3346;border-left-color:var(--green)}.call:hover{background:#192b3c}.call-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;color:var(--muted)}.call h3{font-size:13px;margin-bottom:5px}.call p{font-size:11px;color:var(--muted);margin:0}.urgency{font-size:10px;font-weight:800;border-radius:4px;padding:2px 6px;background:#334355;color:#cadce9}.urgency.p1{background:#552b34;color:#ffb3b7}.urgency.p2{background:#493c29;color:#ffce88}.empty{padding:30px 20px;color:var(--muted);text-align:center;font-size:13px}.empty strong{display:block;font-size:18px;color:#d5e4ed;margin-bottom:9px}.map-panel{display:flex;flex-direction:column}.map-tools{margin-left:auto;display:flex;gap:4px}.map-tools button{padding:2px 10px;font-size:16px}.map-panel #map{position:relative;flex:1;overflow:hidden;background:#142d36;min-height:250px;background-image:linear-gradient(#253c4740 1px,transparent 1px),linear-gradient(90deg,#253c4740 1px,transparent 1px);background-size:32px 32px}.tile-layer{position:absolute;inset:0;filter:brightness(.44) saturate(.45) hue-rotate(155deg)}.tile-layer img{position:absolute;width:256px;height:256px;max-width:none;left:0;top:0}.map-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab;z-index:2}.map-canvas:active{cursor:grabbing}.map-legend{position:absolute;top:12px;left:12px;display:flex;gap:12px;font-size:10px;background:#0a192bec;border:1px solid #354a60;padding:7px 10px;border-radius:5px;z-index:3;pointer-events:none}.attribution{position:absolute;bottom:0;right:0;z-index:4;background:#0b192ddd;font-size:10px;padding:3px 6px}.attribution a{color:#cedae7}.map-foot{padding:7px 12px;color:var(--muted);font-size:10px;border-top:1px solid var(--line)}#mapInfo{position:absolute;bottom:30px;left:12px;right:12px;z-index:4;color:var(--green);background:#0b1c2be0;border-radius:4px;padding:6px 10px;font-size:12px;pointer-events:none}#mapInfo:empty{display:none}.map-notice{position:absolute;top:48px;left:12px;right:12px;z-index:4;font-size:11px;color:var(--amber);background:#142538ee;pointer-events:none}.detail-content{padding:16px}.detail-content h2{font-size:18px}.chat{display:flex;flex-direction:column;gap:8px;margin:15px 0;max-height:240px;overflow:auto}.bubble{background:#1c3045;border-radius:8px 8px 8px 0;padding:10px 12px;font-size:12px;max-width:94%}.bubble.centralist{align-self:flex-end;background:#193d62;border-radius:8px 8px 0 8px}.bubble small{font-size:9px;color:var(--green);margin-bottom:3px;text-transform:uppercase;letter-spacing:1px}.questions{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0}.questions button{padding:6px 8px;font-size:11px}.dispatch{border-top:1px solid var(--line);margin-top:15px;padding-top:15px}.dispatch label{font-size:11px;margin-bottom:9px}.dispatch select{font-size:12px;padding:8px}.dispatch button{width:100%;font-size:12px}.report{background:#28344c;border:1px solid #496486;padding:14px;border-radius:7px;margin:10px 0;color:#dfebfa;font-size:13px}.report h3{font-size:12px;color:var(--amber)}.progress{height:5px;background:#253c4e;border-radius:6px;overflow:hidden;margin:15px 0}.progress>i{height:100%;display:block;background:var(--green)}.fleet-panel{grid-column:1/3}.fleet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));padding:12px;gap:10px}.vehicle{border:1px solid #2b4054;border-radius:7px;background:#142537;padding:12px}.vehicle-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.vehicle-head strong{font-size:16px;letter-spacing:.5px}.vehicle-icon{color:var(--green);border:1px solid #42678d;padding:2px 7px;border-radius:5px;font-size:10px}.vehicle p{font-size:11px;color:var(--muted);margin-bottom:4px}.vehicle .status{font-size:11px;color:var(--green);font-weight:600}.vehicle .status.attention{color:var(--amber)}.events-panel{grid-column:3;min-height:210px;max-height:290px}.events-panel .panel-title button{margin-left:auto;font-size:10px;padding:3px 6px}.event{padding:9px 13px;border-bottom:1px solid #223347;font-size:11px;display:flex;gap:10px}.event time{color:#829aad;white-space:nowrap}.event.sit,.event.attention,.event.phone{color:var(--amber)}.event.donation,.event.success{color:var(--green)}.console-footer{display:flex;justify-content:space-between;gap:15px;padding:0 24px 15px;font-size:10px;color:var(--muted)}#toast{position:fixed;top:86px;left:50%;transform:translateX(-50%);z-index:100;background:#442432;border:1px solid #8a424e;color:#ffd5dc;padding:12px 20px;border-radius:8px;box-shadow:0 10px 40px #0008;max-width:90%;display:none}#toast.visible{display:block}dialog{background:#101e2e;color:var(--text);border:1px solid #3a5268;border-radius:13px;padding:30px;max-width:760px;width:calc(100% - 30px);max-height:88vh;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#030b15ce;backdrop-filter:blur(4px)}.modal-close{position:absolute;right:12px;top:10px;font-size:22px;padding:0 9px!important}.modal-head{margin-right:20px}dialog h1{font-size:27px}dialog h2{margin-top:18px}.region-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.shop-item{background:#172b3f;border:1px solid #31465b;padding:18px;border-radius:8px}.shop-item h3{min-height:44px}.shop-item p{font-size:12px;color:var(--muted);min-height:55px}.shop-item strong{font-size:20px;display:block;margin-bottom:10px}.shop-item button{width:100%}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}td,th{padding:12px 10px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-size:10px;letter-spacing:.5px;text-transform:uppercase}td small{font-size:11px}.admin-main{max-width:1250px;margin:30px auto;padding:0 24px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.padded{padding:24px;margin-bottom:24px}.inline{display:flex;gap:10px;margin-bottom:20px}.admin form{max-width:500px}.admin details form{max-width:400px}.map-only .workspace{display:block;padding:15px}.map-only .workspace>.panel:not(.map-panel){display:none}.map-only .map-panel{height:calc(100vh - 130px)}.map-only .topbar{height:70px}.map-only #mapLabel{font-size:13px}.map-only .console-footer{padding:0 20px}.map-only .map-foot{font-size:12px}.blink-enabled .needs-action{animation:attention 1.4s ease-in-out infinite}@keyframes attention{0%,100%{box-shadow:inset 0 0 0 1px #ffc77120;background-color:#3c3525}50%{box-shadow:inset 0 0 0 1px #ffc771;background-color:#5b4725}}@media(prefers-reduced-motion:reduce){.blink-enabled .needs-action{animation:none!important;border-color:var(--amber)}}@media(min-width:1700px){.workspace{grid-template-columns:290px minmax(500px,1fr) 370px;grid-template-rows:580px auto}}@media(max-width:1200px){.workspace{grid-template-columns:230px 1fr;grid-template-rows:440px auto auto}.detail-panel{grid-row:2;grid-column:1/3;max-height:450px}.detail-panel .scroll{max-height:380px}.fleet-panel{grid-column:1/3;grid-row:3}.events-panel{grid-row:4;grid-column:1/3}.toolbar{align-items:flex-start}.toolbar-actions{justify-content:flex-end}.topbar{gap:12px}.topbar .live-pill{display:none}.detail-content{display:grid;grid-template-columns:1fr 1fr;gap:15px}.detail-content>.wide-detail{grid-column:1/3}.topbar nav{gap:8px}}@media(max-width:750px){.auth-layout{grid-template-columns:1fr;gap:30px}.auth-intro h1{font-size:40px}.auth-intro .intro-stats{display:none}.auth-intro>.brand-mark{margin-bottom:15px}.auth-card{max-width:none;padding:24px}.topbar{height:auto;min-height:70px;padding:15px;flex-wrap:wrap}.topbar nav{flex-wrap:wrap;margin:0;gap:6px}.brand{font-size:18px}.stats{grid-template-columns:repeat(2,1fr)}.stat{padding:12px 16px}.stat:last-child{grid-column:1/3}.stat strong{font-size:20px}.toolbar{padding:16px;display:block}.toolbar-actions{margin-top:12px;justify-content:flex-start}.workspace{display:flex;flex-direction:column;padding:0 12px 15px;gap:12px}.calls-panel{max-height:270px}.calls-panel .scroll{max-height:210px}.map-panel{height:390px}.detail-panel{max-height:none}.detail-panel .scroll{max-height:none}.detail-content{display:block}.fleet-panel{min-height:200px}.fleet-grid{grid-template-columns:1fr 1fr}.console-footer{padding:0 14px 14px;display:block}.console-footer span{display:block}.admin-grid,.region-grid,.shop-grid{grid-template-columns:1fr}.admin-main{padding:0 15px}.padded{padding:17px}.map-only .map-panel{height:calc(100vh - 165px)}}

/* Meldkamer 144 — blauw-oranje huisstijl, versie 0.1.2. */
.brand-logo{display:block;width:174px;height:auto;background:#fff;border-radius:7px;padding:5px;object-fit:contain}
.hero-logo{display:block;width:100%;max-width:520px;height:auto;background:#fff;border-radius:14px;padding:18px;margin-bottom:28px;box-shadow:0 12px 36px #0003}
.setup-logo{display:block;width:100%;max-width:360px;height:auto;background:#fff;border-radius:10px;padding:12px;margin:18px 0 24px}
.topbar{height:104px;border-bottom-color:#244a74}.topbar .brand{flex-shrink:0}.admin-label{font-size:12px;letter-spacing:2px;color:#a5bdd8}
.map-only .topbar{height:104px}.map-only .map-panel{height:calc(100vh - 164px)}
@media(max-width:750px){.topbar,.map-only .topbar{height:auto;min-height:100px}.brand-logo{width:160px}.hero-logo{max-width:440px;margin-bottom:22px}.map-only .map-panel{height:calc(100vh - 190px)}}

/* Opgenomen Nederlandse spraak */
.speech-volume input{width:74px;padding:0;margin:0;accent-color:#ff913d}.speech-status{font-size:10px;color:var(--muted);min-width:80px}.toolbar-actions{max-width:980px}.toolbar{align-items:flex-start}.toolbar-actions{justify-content:flex-end}@media(max-width:750px){.toolbar-actions{justify-content:flex-start}.speech-status{width:100%}}

/* Compacte meldkamer en heldere wachtrij, versie 0.2.0. */
.console .topbar,.map-only .topbar{height:62px;min-height:62px;gap:18px;padding:4px 20px}
.console .brand-logo{width:106px;height:51px;padding:2px;border-radius:4px}
.console .toolbar{padding:12px 24px}.console .stat{padding:10px 24px}
.map-only .map-panel{height:calc(100vh - 122px)}
.sound-volume input{width:80px;padding:0;margin:0;accent-color:var(--green)}
.place-results{display:grid;gap:6px;margin:12px 0}.place-option{text-align:left}
.call.needs-action{border-left:4px solid var(--amber)}
.notice.needs-action{padding:14px;border:2px solid var(--amber)}
@media(max-width:750px){.console .topbar{height:auto;min-height:62px;gap:8px}.console .toolbar{padding:12px 16px}.console .stat{padding:10px 16px}.map-only .map-panel{height:calc(100vh - 160px)}}
