body.dispatcher-route{--disp-green:#00c853;--disp-yellow:#ffd600;--disp-red:#d50000;--disp-blue:#2979ff;--disp-gray:#9e9e9e;--disp-bg-deep:#121212;--disp-bg-panel:#1a1a1a;--disp-bg-elevated:#1e1e1e;--disp-text:#fff;--disp-text-soft:#e0e0e0;--disp-border:#ffffff1a;--sar-green:var(--disp-green);--sar-red:var(--disp-red);--sar-yellow:var(--disp-yellow);background:var(--disp-bg-deep);color:var(--disp-text-soft)}body.dispatcher-route .dispatcher-shell{background:linear-gradient(160deg, var(--disp-bg-elevated) 0%, var(--disp-bg-deep) 100%)}body.dispatcher-route .card{background:var(--disp-bg-panel);border:1px solid var(--disp-border);box-shadow:none;border-radius:10px}body.dispatcher-route .card-title{color:var(--disp-text)}body.dispatcher-route .card-subtitle{color:var(--disp-text-soft)}body.dispatcher-route .zone-panel{background:var(--disp-bg-elevated);border:1px solid var(--disp-border);border-radius:10px}body.dispatcher-route .zone-panel-header{background:var(--disp-bg-elevated);color:var(--disp-text);border-bottom:1px solid var(--disp-border);margin:-10px -10px 8px}body.dispatcher-route .zone-panel--stress-low{border-left:4px solid var(--disp-green)}body.dispatcher-route .zone-panel--stress-medium{border-left:4px solid var(--disp-yellow)}body.dispatcher-route .zone-panel--stress-high{border-left:4px solid var(--disp-red)}body.dispatcher-route .dispatcher-stress{vertical-align:middle;align-items:center;gap:6px;margin-left:8px;font-size:12px;font-weight:600;display:inline-flex}body.dispatcher-route .dispatcher-stress-icon{border:2px solid var(--disp-text);justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;line-height:1;display:inline-flex}body.dispatcher-route .dispatcher-stress--low .dispatcher-stress-icon{background:var(--disp-green);color:#121212;border-radius:50%}body.dispatcher-route .dispatcher-stress--medium .dispatcher-stress-icon{background:var(--disp-yellow);color:#121212;border-radius:3px}body.dispatcher-route .dispatcher-stress--high .dispatcher-stress-icon{border:none;border-left:11px solid #0000;border-right:11px solid #0000;border-bottom:18px solid var(--disp-red);width:0;height:0;color:var(--disp-red);background:0 0;font-size:0;position:relative}body.dispatcher-route .dispatcher-stress--high .dispatcher-stress-icon:after{content:"!!";color:var(--disp-red);border:none;width:auto;height:auto;font-size:10px;position:absolute;top:20px;left:50%;transform:translate(-50%)}body.dispatcher-route .dispatcher-stress--low .dispatcher-stress-label{color:var(--disp-green)}body.dispatcher-route .dispatcher-stress--medium .dispatcher-stress-label{color:var(--disp-yellow)}body.dispatcher-route .dispatcher-stress--high .dispatcher-stress-label{color:var(--disp-red)}body.dispatcher-route .dispatcher-cap-row{align-items:center;gap:8px;margin-top:6px;display:flex}body.dispatcher-route .dispatcher-cap-bars{flex:1;gap:4px;display:flex}body.dispatcher-route .dispatcher-cap-bar{border:1px solid var(--disp-gray);background:#9e9e9e40;border-radius:3px;flex:1;height:8px}body.dispatcher-route .dispatcher-cap-tier-low .dispatcher-cap-bar.bar-1{background:var(--disp-green);border-color:var(--disp-green)}body.dispatcher-route .dispatcher-cap-tier-medium .dispatcher-cap-bar.bar-1,body.dispatcher-route .dispatcher-cap-tier-medium .dispatcher-cap-bar.bar-2{background:var(--disp-yellow);border-color:var(--disp-yellow)}body.dispatcher-route .dispatcher-cap-tier-high .dispatcher-cap-bar.bar-1,body.dispatcher-route .dispatcher-cap-tier-high .dispatcher-cap-bar.bar-2,body.dispatcher-route .dispatcher-cap-tier-high .dispatcher-cap-bar.bar-3{background:var(--disp-red);border-color:var(--disp-red)}body.dispatcher-route .dispatcher-cap-label{min-width:72px;color:var(--disp-text-soft);font-size:11px}body.dispatcher-route .dispatcher-cap-tier-low .dispatcher-cap-label:before{content:"● ";color:var(--disp-green)}body.dispatcher-route .dispatcher-cap-tier-medium .dispatcher-cap-label:before{content:"■ ";color:var(--disp-yellow)}body.dispatcher-route .dispatcher-cap-tier-high .dispatcher-cap-label:before{content:"▲ ";color:var(--disp-red)}body.dispatcher-route .feed-item.flash:before,body.dispatcher-route .feed-item--medical-priority:before{opacity:0!important;animation:none!important}body.dispatcher-route .feed-item--medical-priority{border-left:4px solid var(--disp-red);background:#d5000014}body.dispatcher-route .feed-item--responder-update{border-left:4px solid var(--disp-blue);background:#2979ff0f}body.dispatcher-route .dispatcher-medical-entry{border:1px solid #d5000073;border-left:4px solid var(--disp-red);background:#d500000f;border-radius:10px;margin-bottom:8px;padding:8px 9px}body.dispatcher-route .dispatcher-log-scroll{background:#9e9e9e14;border-radius:8px;padding:6px}body.dispatcher-route .dispatcher-log-entry{background:var(--disp-bg-elevated);border:1px solid var(--disp-border);border-radius:8px;margin-bottom:6px;padding:8px 10px}body.dispatcher-route .dispatcher-log-entry--critical{border-left:4px solid var(--disp-red);background:#d5000012}body.dispatcher-route .dispatcher-suggestion{color:var(--disp-text-soft);background:#2979ff1f;border:1px solid #2979ff59;border-radius:8px;margin-top:8px;padding:8px;font-size:13px}body.dispatcher-route .dispatcher-sar-list-item{background:var(--disp-bg-elevated);border:1px solid var(--disp-border);border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:6px;padding:8px 10px;display:flex}body.dispatcher-route .dispatcher-sar-list-shape{border:2px solid var(--disp-text);flex-shrink:0;width:16px;height:16px;box-shadow:0 0 0 1px #00000080}body.dispatcher-route .dispatcher-sar-list-item.dispatcher-sar--green .dispatcher-sar-list-shape{background:var(--disp-green);border-radius:50%}body.dispatcher-route .dispatcher-sar-list-item.dispatcher-sar--yellow .dispatcher-sar-list-shape{background:var(--disp-yellow);border-radius:2px}body.dispatcher-route .dispatcher-sar-list-item.dispatcher-sar--red .dispatcher-sar-list-shape{border:none;border-left:9px solid #0000;border-right:9px solid #0000;border-bottom:16px solid var(--disp-red);width:0;height:0;box-shadow:none;background:0 0}body.dispatcher-route .dispatcher-map-view{background:var(--disp-bg-deep);border:1px solid var(--disp-border)}body.dispatcher-route .dispatcher-map-pin{width:auto;min-width:12px;height:auto;min-height:12px;box-shadow:none;border-radius:0}body.dispatcher-route .dispatcher-sar-marker{z-index:2;flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;transform:translate(-50%,-50%)}body.dispatcher-route .dispatcher-sar-marker .dispatcher-sar-shape{border:2px solid #fff;box-shadow:0 0 0 1px #000000a6}body.dispatcher-route .dispatcher-sar--green .dispatcher-sar-shape{background:var(--disp-green);border-radius:50%;width:14px;height:14px}body.dispatcher-route .dispatcher-sar--yellow .dispatcher-sar-shape{background:var(--disp-yellow);border-radius:2px;width:14px;height:14px}body.dispatcher-route .dispatcher-sar--red .dispatcher-sar-shape{border:none;border-left:9px solid #0000;border-right:9px solid #0000;border-bottom:16px solid var(--disp-red);background:0 0;width:0;height:0;box-shadow:0 0 0 1px #000000a6}body.dispatcher-route .dispatcher-sar-tag{color:var(--disp-text);text-shadow:0 1px 2px #000000e6;white-space:nowrap;text-overflow:ellipsis;max-width:80px;font-size:9px;font-weight:600;overflow:hidden}body.dispatcher-route .dispatcher-responder-marker{z-index:3;flex-direction:column;align-items:center;display:flex;position:absolute;transform:translate(-50%,-50%)}body.dispatcher-route .dispatcher-responder-marker .dispatcher-responder-badge{background:var(--disp-blue);color:#fff;letter-spacing:-.02em;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:8px;font-weight:700;display:flex;box-shadow:0 0 0 1px #0009}body.dispatcher-route .dispatcher-map-pin.rescue,body.dispatcher-route .dispatcher-map-pin.hazard,body.dispatcher-route .dispatcher-map-pin.shelter,body.dispatcher-route .dispatcher-map-pin.unit{display:none}body.dispatcher-route .dispatcher-map-legend{color:var(--disp-text-soft);line-height:1.5}body.dispatcher-route .sar-legend-green{color:var(--disp-green)}body.dispatcher-route .sar-legend-red{color:var(--disp-red)}body.dispatcher-route .sar-legend-yellow{color:var(--disp-yellow)}body.dispatcher-route .dispatcher-legend-shape{vertical-align:middle;border:1px solid var(--disp-text);width:10px;height:10px;margin-right:4px;display:inline-block}body.dispatcher-route .dispatcher-legend-shape.circle{background:var(--disp-green);border-radius:50%}body.dispatcher-route .dispatcher-legend-shape.square{background:var(--disp-yellow);border-radius:1px}body.dispatcher-route .dispatcher-legend-shape.triangle{border:none;border-left:5px solid #0000;border-right:5px solid #0000;border-bottom:9px solid var(--disp-red);width:0;height:0}body.dispatcher-route .dispatcher-rolling-popup{background:var(--disp-bg-elevated);border:1px solid var(--disp-border);border-left:4px solid var(--disp-gray);z-index:500;width:280px;color:var(--disp-text-soft);border-radius:10px;padding:12px 14px;transition:opacity .25s;position:fixed;top:20px;right:20px;box-shadow:0 4px 20px #00000073}body.dispatcher-route .dispatcher-rolling-popup--medical,body.dispatcher-route .dispatcher-rolling-popup--shelter{border-left-color:var(--disp-red)}body.dispatcher-route .dispatcher-rolling-popup--evacuate{border-left-color:var(--disp-yellow)}body.dispatcher-route .dispatcher-rolling-popup--safe{border-left-color:var(--disp-green)}body.dispatcher-route .dispatcher-rolling-popup .dispatcher-rp-badge{background:var(--disp-bg-panel);border:1px solid var(--disp-border);color:var(--disp-text);border-radius:4px;margin-right:6px;padding:2px 8px;font-size:11px;display:inline-block}body.dispatcher-route .dispatcher-rolling-popup .dispatcher-rp-status{color:var(--disp-text);font-weight:600}body.dispatcher-route .dispatcher-rolling-popup .dispatcher-rp-time{color:var(--disp-gray);font-size:12px}body.dispatcher-route .dispatcher-panel-highlight{outline:2px solid var(--disp-blue);outline-offset:2px;transition:outline-color .2s}body.dispatcher-route .dispatcher-panel-btn,body.dispatcher-route .dispatcher-layout-btn{background:var(--disp-bg-elevated);border:1px solid var(--disp-border);color:var(--disp-text-soft)}body.dispatcher-route .dispatcher-layout-btn.active{border-color:var(--disp-blue);color:var(--disp-text)}body.dispatcher-route .dispatcher-hotkey-settings{margin-bottom:12px}body.dispatcher-route .dispatcher-hotkey-list{margin:10px 0 0;padding:0;list-style:none}body.dispatcher-route .dispatcher-hotkey-row{border-bottom:1px solid var(--disp-border);align-items:center;gap:10px;padding:8px 0;display:flex}body.dispatcher-route .dispatcher-hotkey-row:last-child{border-bottom:none}body.dispatcher-route .dispatcher-hotkey-label{color:var(--disp-text-soft);flex:1;font-size:13px}body.dispatcher-route .dispatcher-hotkey-kbd{text-align:center;background:var(--disp-bg-deep);border:1px solid var(--disp-border);min-width:40px;color:var(--disp-text);border-radius:4px;padding:4px 8px;font-family:inherit;font-size:12px}body.dispatcher-route .dispatcher-hotkey-listening{color:var(--disp-text);background:#2979ff1f;border:1px solid #2979ff59;border-radius:6px;margin-top:8px;padding:8px 10px;font-size:13px}body.dispatcher-route .dispatcher-hotkey-error{color:#ff8a80;background:#d500001a;border:1px solid #d5000059;border-radius:6px;margin-top:8px;padding:8px 10px;font-size:13px}body.dispatcher-route .dispatcher-panel-btn.active{border-color:var(--disp-blue);color:var(--disp-text)}body.dispatcher-route .feed-badge{color:var(--disp-text-soft)}body.dispatcher-route .dispatcher-health-badge.dispatcher-health--ok{border:1px solid var(--disp-green);color:var(--disp-green);background:#00c85333}body.dispatcher-route .dispatcher-health-badge.dispatcher-health--issue{border:1px solid var(--disp-red);color:var(--disp-red);background:#d5000026}body.dispatcher-route .dispatcher-health-badge.dispatcher-health--pending{border:1px solid var(--disp-gray);color:var(--disp-gray);background:#9e9e9e26}:root{--bg:#05060a;--card:#101320;--accent:#e53935;--accent-soft:#ff7961;--text:#f5f5f5;--muted:#9ea3b0;--success:#4caf50;--warning:#ffb300;--sar-green:#4caf50;--sar-red:#e53935;--sar-yellow:#ffb300}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text);background:radial-gradient(circle at top,#151a2b 0,#05060a 55%);justify-content:center;align-items:stretch;min-height:100vh;padding:16px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}.app-shell{background:linear-gradient(145deg,#0b0f1a,#05060a);border:1px solid #ffffff0f;border-radius:18px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:0;width:100%;max-width:1100px;display:grid;overflow:hidden;box-shadow:0 18px 45px #000000b3}@media (width<=900px){.app-shell{grid-template-columns:1fr}}.left,.right{padding:18px 20px}.left{border-right:1px solid #ffffff0f}@media (width<=900px){.left{border-bottom:1px solid #ffffff0f;border-right:none}}.header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand-logo{color:#fff;background:radial-gradient(circle at 30% 20%,#ffebee 0,#e53935 40%,#b71c1c 100%);border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;font-weight:700;display:flex;box-shadow:0 0 18px #e53935b3}.brand-text{flex-direction:column;display:flex}.brand-text span:first-child{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:15px}.brand-text span:last-child{font-size:18px;font-weight:600}.status-pill{color:var(--success);background:#4caf501f;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;display:inline-flex}.status-dot{background:var(--success);border-radius:50%;width:7px;height:7px;box-shadow:0 0 8px #4caf50e6}.section-title{text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin-bottom:6px;font-size:13px}.card{background:radial-gradient(circle at 0 0,#151a2b 0,#05060a 60%);border:1px solid #ffffff0f;border-radius:14px;margin-bottom:10px;padding:12px 14px}.card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.card-title{font-size:14px;font-weight:500}.card-subtitle{color:var(--muted);font-size:12px}.field-label{color:var(--muted);margin-bottom:4px;font-size:12px}.field-row{gap:8px;margin-bottom:8px;display:flex}.field-row>*{flex:1}select,input[type=text],textarea{width:100%;color:var(--text);background:#0a0c16e6;border:1px solid #ffffff14;border-radius:9px;outline:none;padding:7px 9px;font-size:13px}select:focus,input[type=text]:focus,textarea:focus{border-color:var(--accent-soft);box-shadow:0 0 0 1px #e5393566}textarea{resize:vertical;min-height:60px;max-height:120px}.pill-row{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.pill{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #ffffff1f;border-radius:999px;padding:4px 9px;font-size:11px}.pill.active{border-color:var(--accent-soft);color:#ffebee;background:#e5393529}.primary-button{color:#fff;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:radial-gradient(circle at 30% 0,#ff8a80 0,#e53935 40%,#b71c1c 100%);border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:6px;padding:10px 12px;font-size:15px;font-weight:600;transition:transform 80ms,box-shadow 80ms,filter 80ms;display:flex;box-shadow:0 12px 28px #e5393599}.primary-button:active{filter:brightness(.96);transform:translateY(1px)scale(.99);box-shadow:0 6px 16px #e5393580}.primary-button.disabled{opacity:.5;cursor:default;box-shadow:none}.primary-button span.icon{font-size:18px}.meta-row{color:var(--muted);justify-content:space-between;align-items:center;margin-top:6px;font-size:11px;display:flex}.toggle{cursor:pointer;align-items:center;gap:6px;font-size:11px;display:inline-flex}.toggle-switch{background:#ffffff1f;border-radius:999px;width:26px;height:14px;position:relative}.toggle-knob{background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .12s;position:absolute;top:1px;left:1px}.toggle-switch.active{background:#4caf5066}.toggle-switch.active .toggle-knob{transform:translate(12px)}.right-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.right-header-title{text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-size:13px}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip{color:var(--muted);border:1px solid #ffffff1f;border-radius:999px;padding:3px 8px;font-size:11px}.chip.accent{color:#ffebee;border-color:#e53935b3}.feed{max-height:260px;margin-top:6px;padding-right:4px;overflow-y:auto}.feed-item{background:#0a0c16e6;border:1px solid #ffffff0f;border-radius:10px;margin-bottom:6px;padding:8px 9px;position:relative;overflow:hidden}.feed-item:before{content:"";opacity:0;pointer-events:none;background:linear-gradient(90deg,#e539352e,#0000 40%);position:absolute;inset:0}.feed-item.flash:before{animation:.6s ease-out flash}@keyframes flash{0%{opacity:.9;transform:translate(-40%)}to{opacity:0;transform:translate(40%)}}.feed-top-row{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.feed-badge{color:#ffebee;text-transform:uppercase;letter-spacing:.12em;background:#e539352e;border-radius:999px;padding:2px 7px;font-size:11px}.feed-meta{color:var(--muted);font-size:11px}.feed-message{margin-bottom:4px;font-size:13px}.feed-tags{flex-wrap:wrap;gap:4px;margin-bottom:4px;display:flex}.feed-tag{color:var(--muted);border:1px solid #ffffff1f;border-radius:999px;padding:2px 6px;font-size:10px}.feed-footer{color:var(--muted);justify-content:space-between;align-items:center;font-size:10px;display:flex}.offline-banner{color:#ffe082;background:#ffb30014;border:1px dashed #ffb30099;border-radius:10px;align-items:center;gap:6px;margin-top:6px;padding:6px 8px;font-size:11px;display:flex}.offline-dot{background:var(--warning);border-radius:50%;width:7px;height:7px}.toast{color:var(--text);opacity:0;pointer-events:none;background:#05060af5;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:12px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)translateY(120%);box-shadow:0 12px 30px #000c}.toast.show{animation:.18s ease-out forwards toast-in,.25s ease-in 2.3s forwards toast-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(120%)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes toast-out{to{opacity:0;transform:translate(-50%)translateY(120%)}}.toast-pill{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);border:1px solid #ffffff2e;border-radius:999px;padding:2px 7px;font-size:10px}.toast-pill.accent{color:#ffebee;border-color:#e53935b3}body.pwa-route{align-items:stretch;padding:0}.pwa-app-shell{width:100%;max-width:100%;min-height:100vh;box-shadow:none;background:linear-gradient(145deg,#0b0f1a,#05060a);border:none;border-radius:0;padding:18px 20px;overflow:hidden}.resident-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.resident-btn{color:#fff;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;text-align:center;border:1px solid #ffffff1a;border-radius:14px;justify-content:center;align-items:center;min-height:72px;padding:14px 12px;font-size:13px;font-weight:600;transition:transform 80ms,box-shadow 80ms;display:flex}.resident-btn:active{transform:translateY(1px)scale(.99)}.resident-btn.medical{background:radial-gradient(circle at 30% 0,#ff8a80 0,#e53935 45%,#b71c1c 100%);box-shadow:0 10px 24px #e5393573}.resident-btn.assistance{color:#1a1200;background:radial-gradient(circle at 30% 0,#ffe082 0,#ffb300 45%,#ff8f00 100%);box-shadow:0 10px 24px #ffb30066}.resident-btn.evacuating{background:radial-gradient(circle at 30% 0,#e1bee7 0,#9c27b0 45%,#6a1b9a 100%);box-shadow:0 10px 24px #9c27b073}.resident-btn.safe{background:radial-gradient(circle at 30% 0,#a5d6a7 0,#4caf50 45%,#2e7d32 100%);box-shadow:0 10px 24px #4caf5066}.county-banner{color:#c8e6c9;background:#4caf501a;border:1px solid #4caf5059;border-radius:10px;margin-bottom:10px;padding:8px 10px;font-size:12px}.county-banner.warn{color:#ffe082;background:#ffb30014;border-color:#ffb30080}.resident-freedom-banner{color:#c5cae9;background:#4a6cff1a;border-color:#4a6cff59;font-size:11px;line-height:1.45}.modal-overlay{z-index:9000;background:#05060ad1;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-card{background:linear-gradient(145deg,#0b0f1a,#05060a);border:1px solid #ffffff1a;border-radius:18px;width:100%;max-width:420px;max-height:90vh;padding:14px 16px;overflow-y:auto;box-shadow:0 18px 45px #000c}.modal-actions{gap:8px;margin-top:10px;display:flex}.secondary-button{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #ffffff29;border-radius:999px;flex:1;padding:10px 12px;font-size:13px}input[type=number],input[type=file]{width:100%;color:var(--text);background:#0a0c16e6;border:1px solid #ffffff14;border-radius:9px;padding:7px 9px;font-size:13px}.pwa-feed-scroll{max-height:220px;padding-right:4px;overflow-y:auto}body.dispatcher-route{background:#05060a;align-items:stretch;padding:0}.dispatcher-shell{box-sizing:border-box;background:linear-gradient(145deg,#0b0f1a,#05060a);width:100%;max-width:100%;min-height:100vh;padding:14px 16px 20px}.dispatcher-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:10px;display:flex}.dispatcher-header h1{letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:18px}.dispatcher-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:14px;display:grid}.dispatcher-left{min-height:calc(100vh - 80px)}.dispatcher-right{flex-direction:column;gap:10px;max-height:calc(100vh - 80px);padding-right:4px;display:flex;overflow-y:auto}.zone-panel{background:#0a0c16e6;border:1px solid #ffffff14;border-radius:8px;margin-bottom:10px;padding:10px}.zone-panel h3{margin:0 0 6px;font-size:15px}.zone-panel-header{z-index:2;color:#fff;letter-spacing:.04em;background:#0b1b3b;border-radius:6px 6px 0 0;margin:-10px -10px 8px;padding:6px 10px;font-size:13px;font-weight:600;position:sticky;top:0}.dispatch-actions-row{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.dispatcher-grid{grid-template-columns:1fr}.dispatcher-left,.dispatcher-right{min-height:auto;max-height:none}}.dispatcher-multiscreen-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.dispatcher-layout-btn{color:var(--muted);cursor:pointer;background:#0a0c16e6;border:1px solid #ffffff1f;border-radius:999px;padding:6px 12px;font-size:12px}.dispatcher-layout-btn.active{color:#e8eaf6;background:#4a6cff26;border-color:#4a6cff99}.dispatcher-panels-grid{align-items:start;gap:10px;display:grid}.dispatcher-layout-default .dispatcher-panels-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-areas:"feed shelters""feed zones""feed actions""feed medical""feed broadcast""feed log""map map"}.dispatcher-layout-default .dispatcher-slot-feed{grid-area:feed}.dispatcher-layout-default .dispatcher-slot-map{grid-area:map;display:none}.dispatcher-layout-default .dispatcher-slot-shelters{grid-area:shelters}.dispatcher-layout-default .dispatcher-slot-zones{grid-area:zones}.dispatcher-layout-default .dispatcher-slot-actions{grid-area:actions}.dispatcher-layout-default .dispatcher-slot-medical{grid-area:medical}.dispatcher-layout-default .dispatcher-slot-broadcast{grid-area:broadcast}.dispatcher-layout-default .dispatcher-slot-log{grid-area:log}.dispatcher-layout-two .dispatcher-panels-grid{grid-template-columns:1fr 1fr;min-height:calc(100vh - 140px)}.dispatcher-layout-two .dispatcher-slot-feed{grid-column:1/-1}.dispatcher-layout-two .dispatcher-slot-map{grid-column:1;min-height:280px}.dispatcher-layout-two .dispatcher-slot-shelters,.dispatcher-layout-two .dispatcher-slot-zones,.dispatcher-layout-two .dispatcher-slot-actions,.dispatcher-layout-two .dispatcher-slot-medical,.dispatcher-layout-two .dispatcher-slot-broadcast,.dispatcher-layout-two .dispatcher-slot-log{grid-column:2}.dispatcher-layout-three .dispatcher-panels-grid{grid-template-columns:1fr 1fr 1fr;grid-template-areas:"feed intel map""feed intel map""zones actions shelters""log log log";min-height:calc(100vh - 140px)}.dispatcher-layout-three .dispatcher-slot-feed{grid-area:feed}.dispatcher-layout-three .dispatcher-slot-map{grid-area:map}.dispatcher-layout-three .dispatcher-slot-medical{grid-area:intel}.dispatcher-layout-three .dispatcher-slot-zones{grid-area:zones}.dispatcher-layout-three .dispatcher-slot-actions{grid-area:actions}.dispatcher-layout-three .dispatcher-slot-shelters{grid-area:shelters}.dispatcher-layout-three .dispatcher-slot-broadcast,.dispatcher-layout-three .dispatcher-slot-log{grid-area:log}.dispatcher-layout-four .dispatcher-panels-grid{grid-template-columns:1fr 1fr;grid-template-areas:"feed map""intel shelters""zones actions""log broadcast";min-height:calc(100vh - 140px)}.dispatcher-layout-four .dispatcher-slot-feed{grid-area:feed}.dispatcher-layout-four .dispatcher-slot-map{grid-area:map}.dispatcher-layout-four .dispatcher-slot-medical{grid-area:intel}.dispatcher-layout-four .dispatcher-slot-shelters{grid-area:shelters}.dispatcher-layout-four .dispatcher-slot-zones{grid-area:zones}.dispatcher-layout-four .dispatcher-slot-actions{grid-area:actions}.dispatcher-layout-four .dispatcher-slot-log{grid-area:log}.dispatcher-layout-four .dispatcher-slot-broadcast{grid-area:broadcast}.dispatcher-panel-toolbar{flex-wrap:wrap;gap:8px}.dispatcher-panel-actions{flex-wrap:wrap;gap:6px;display:flex}.dispatcher-panel-btn{color:var(--muted);cursor:pointer;background:#0a0c16e6;border:1px solid #ffffff29;border-radius:999px;padding:5px 10px;font-size:11px}.dispatcher-panel-btn:hover{color:#e8eaf6;border-color:#4a6cff80}.dispatcher-panel-body{min-height:0}.dispatcher-panel-highlight{outline-offset:2px;outline:2px solid #4a6cffa6}.dispatcher-panel-fullscreen{z-index:9500;border-radius:0;height:100vh;max-height:none;margin:0;position:fixed;inset:0;overflow:auto}.dispatcher-panel-fullscreen .dispatcher-panel-body{max-height:calc(100vh - 56px);overflow:auto}.dispatcher-popout-shell{min-height:100vh;padding:12px}.dispatcher-popout-fullscreen{padding:0}.dispatcher-map-layers{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.dispatcher-map-chip{color:var(--muted);cursor:pointer;background:#0a0c16e6;border:1px solid #ffffff1f;border-radius:999px;padding:4px 8px;font-size:10px}.dispatcher-map-chip.on{color:#ffebee;border-color:#e5393599}.dispatcher-map-view{background:#0a0c16e6;border:1px solid #ffffff14;border-radius:10px;height:100%;min-height:220px;position:relative;overflow:hidden}.dispatcher-map-grid{background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0}.dispatcher-map-pin{border-radius:50%;width:10px;height:10px;position:absolute;box-shadow:0 0 10px}.dispatcher-map-pin.rescue{color:#e53935;background:#e53935}.dispatcher-map-pin.hazard{color:#ffb300;background:#ffb300}.dispatcher-map-pin.shelter{color:#4caf50;background:#4caf50}.dispatcher-map-pin.unit{color:#38bdf8;background:#38bdf8}.dispatcher-map-pin.sar-green{color:#4caf50;background:#4caf50}.dispatcher-map-pin.sar-red{color:#e53935;background:#e53935}.dispatcher-map-pin.sar-yellow{color:#ffb300;background:#ffb300}.sar-legend-green{color:#4caf50;margin-right:8px}.sar-legend-red{color:#e53935;margin-right:8px}.sar-legend-yellow{color:#ffb300;margin-right:8px}.resident-emergency-overlay{z-index:9000;pointer-events:auto;background:#05060ad9;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.resident-emergency-panel{background:var(--card);border:1px solid #e5393580;border-radius:12px;width:100%;max-width:420px;padding:16px}.resident-emergency-message{color:var(--text);margin:12px 0;font-size:14px;line-height:1.45}.resident-emergency-fab{z-index:8999;color:#fff;cursor:grab;touch-action:none;background:radial-gradient(circle at 30% 20%,#ffebee 0,#e53935 40%,#b71c1c 100%);border:none;border-radius:50%;width:56px;height:56px;font-size:11px;font-weight:700;position:fixed;box-shadow:0 4px 16px #00000073}.dispatcher-map-legend{color:var(--muted);font-size:10px;position:absolute;bottom:8px;left:8px}@media (width<=1100px){.dispatcher-layout-two .dispatcher-panels-grid,.dispatcher-layout-three .dispatcher-panels-grid,.dispatcher-layout-four .dispatcher-panels-grid{grid-template-columns:1fr;grid-template-areas:unset}.dispatcher-layout-two .dispatcher-slot,.dispatcher-layout-three .dispatcher-slot,.dispatcher-layout-four .dispatcher-slot{grid-area:unset;grid-area:auto}}
