dialog{color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:20px;width:min(700px,calc(100% - 24px));max-height:90vh;padding:22px;box-shadow:var(--shadow)}dialog::backdrop{background:#000a;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-head h2{font-size:22px;margin:0 0 16px}.form-stack{display:grid;gap:14px}.form-stack label{display:grid;gap:6px;color:var(--muted);font-size:13px}.form-stack input,.form-stack select,.form-stack textarea{width:100%;padding:12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit}.form-stack textarea{min-height:90px;resize:vertical}.form-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.notice{padding:12px;border:1px solid var(--line);border-radius:12px;background:#ffffff05;font-size:13px;line-height:1.6;color:var(--muted);margin:12px 0}.record{padding:14px;border:1px solid var(--line);border-radius:12px;margin:10px 0;overflow-wrap:anywhere}.record h3{font-size:16px;margin:0 0 6px}.record p{margin:8px 0;line-height:1.6}.record small{color:var(--muted)}.record.unread{border-color:var(--green)}.record .btn{padding:8px 12px;font-size:12px}.danger{color:#ff9e9e}#dialogError{color:#ff9e9e}button:disabled{opacity:.5;cursor:wait}.search-result{display:block;width:100%;padding:12px;text-align:left;color:var(--text);background:var(--panel2);border:1px solid var(--line);border-radius:8px;margin-top:6px}.tag{display:inline-block;padding:4px 8px;border:1px solid var(--line);border-radius:20px;font-size:11px;margin-right:4px}.chat-lines{max-height:45vh;overflow:auto}.chat-line{padding:10px;margin:8px 0;background:var(--panel2);border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere}.chat-line.mine{border-left:3px solid var(--green)}.admin-tabs{display:flex;flex-wrap:wrap;gap:6px}.admin-tabs button{padding:8px 10px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px}.ad-card a{color:var(--green)}#searchResults{max-height:260px;overflow:auto}@media(max-width:1000px){.topbar{height:auto;min-height:76px;flex-wrap:wrap;padding:12px 16px;gap:12px}.brand{min-width:0}.topnav{order:3;width:100%;overflow-x:auto;justify-content:flex-start}.topnav .nav-link{white-space:nowrap}.top-actions{margin-left:auto}.hero-stats{min-width:0}.hero-card{flex-wrap:wrap}.hero-stats{width:100%}.hero-card h1{font-size:28px}}@media(max-width:600px){main{padding:14px 10px}.hero-card{padding:18px}.hero-stats div{padding:12px 8px}.workspace{grid-template-columns:1fr}.map-shell{min-height:500px}.sidebar{border-right:0}.brand strong{font-size:13px}.top-actions .btn{padding:8px}.topbar{position:relative}.hero-card h1{font-size:26px}dialog{padding:16px}}
@media(max-width:1000px){.topnav{display:flex}.top-actions #locationBtn,.top-actions #adminBtn{display:inline-block}.hero-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-stats div{border-bottom:0}}@media(max-width:600px){.map-shell{height:500px}.top-actions{flex-wrap:wrap}.hero-stats strong{font-size:18px}.hero-stats span{font-size:10px}.hero-stats div{border-right:1px solid var(--line)}}
.live-map-marker{background:none;border:0}.live-dot,.operator-dot{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid white;font-weight:800;font-size:18px;line-height:1;box-shadow:0 2px 8px #0006;background:var(--live-color);color:#fff}.live-label,.operator-label{position:absolute;left:32px;top:0;white-space:nowrap;padding:4px 7px;border-radius:6px;background:#102018ed;color:#fff;font-size:11px;font-weight:650;box-shadow:0 1px 5px #0004}.live-label{display:none}.live-close .live-label{display:block}.operator-dot{background:#162a3b;border:2px dashed #64b5f6;font-size:15px;color:#b9dcff}.operator-dot.emergency{border-color:#ffc857;color:#ffc857}.operator-label{font-size:10px;background:#162a3bef;color:#b9dcff}.legend-dot.stale{background:#8896a6}.legend-dot.operator{background:#162a3b;border:1px dashed #64b5f6}.map-legend{flex-wrap:wrap;max-width:calc(100% - 24px)}.leaflet-popup-content a,dialog .record a{color:#18b873}.leaflet-popup-content button{cursor:pointer;margin-top:8px;padding:7px 9px;border-radius:6px;border:1px solid #aaa;background:#fff;color:#183025;font:inherit}
.building-dot{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:#102018;color:var(--live-color);border:2px solid var(--live-color);border-radius:6px;font-size:24px;font-weight:800;box-shadow:0 2px 6px #0006}#buildingsBtn{width:100%;margin:8px 0;font-size:12px}
