html,body{height:100%;margin:0;padding:0}body{color:#1a1a1a;background:#f4f4f4;font-family:Segoe UI,system-ui,sans-serif}.app-shell{flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.top-bar{z-index:2;background:#f2f6f7;border-bottom:1px solid #e3eaec;flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:10px 14px;display:grid}.top-bar-left{justify-content:flex-start;align-items:center;min-width:0;display:flex}.brand-logo{width:auto;height:56px;display:block}.top-bar-center{text-align:center;justify-content:center;align-items:baseline;gap:10px;min-width:0;display:flex}.region-title{color:#1a1a1a;letter-spacing:.01em;white-space:nowrap;font-size:18px;font-weight:650}.vehicle-count{color:#6a767a;white-space:nowrap;font-size:14px;font-weight:500}.top-bar-right{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.updated-meta{color:#6a767a;white-space:nowrap;font-size:13px}.updated-meta.is-refreshing{animation:1s ease-in-out infinite refresh-pulse}@keyframes refresh-pulse{0%,to{opacity:1}50%{opacity:.35}}.banner{flex-shrink:0;padding:8px 14px;font-size:14px}.banner.error{color:#8a1f1f;background:#fde8e8;border-bottom:1px solid #f0c0c0}.map-root{flex:1;width:100%;min-height:0;position:relative}.map-missing-key{color:#666;flex:1;justify-content:center;align-items:center;padding:24px;display:flex}
