:root { font-family: Inter, ui-sans-serif, system-ui, sans-serif; color: #17201c; background: #edf1ed; }
* { box-sizing: border-box; } body { margin: 0; overflow: hidden; } #map { height: 100vh; width: 100vw; }
.panel { position: fixed; z-index: 2; top: 20px; left: 20px; width: 350px; max-height: calc(100vh - 40px); overflow: auto; background: rgba(255,255,255,.94); backdrop-filter: blur(16px); border: 1px solid rgba(22,32,28,.08); border-radius: 18px; box-shadow: 0 12px 40px rgba(23,32,28,.12); padding: 20px; }
.brand { display:flex; gap: 11px; align-items:center; }.brand span { width: 11px; height: 11px; border-radius:50%; background:#22a06b; }.brand h1 { margin:0; font-size:18px; letter-spacing:-.02em; }.brand p,.hint { color:#6c7771; font-size:13px; line-height:1.45; margin:3px 0 0; }
.search { display:flex; align-items:center; gap:8px; margin:20px 0 12px; padding:0 10px; background:#f2f5f3; border-radius:10px; }.search input { width:100%; border:0; outline:0; padding:11px 0; background:transparent; font:inherit; }.search kbd { color:#6c7771; font-size:11px; white-space:nowrap; }.hint { margin-bottom:14px; }.companies { border-top:1px solid #edf0ee; }
.company { width:100%; padding:12px 2px; text-align:left; border:0; border-bottom:1px solid #edf0ee; background:transparent; cursor:pointer; font:inherit; color:inherit; }.company:hover,.company.active { color:#168253; }.company small { display:block; margin-top:3px; color:#87918c; }
.editor { position:fixed; z-index:3; bottom:24px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:16px; padding:13px 14px 13px 18px; border-radius:14px; background:#18231e; color:#fff; box-shadow:0 12px 32px rgba(0,0,0,.18); }.editor span { font-size:12px; color:#b8c3bc; }.editor button,.dialog button { border:0; border-radius:9px; padding:10px 14px; color:#0f281c; background:#75e1ac; cursor:pointer; font-weight:650; }
.notice { position:fixed; z-index:5; bottom:22px; right:22px; max-width:360px; padding:13px 16px; background:#a63030; color:#fff; border-radius:10px; box-shadow:0 12px 32px rgba(0,0,0,.18); font-size:14px; }
@media (max-width: 600px) { .panel { top:10px; left:10px; right:10px; width:auto; max-height:45vh; }.editor { bottom:10px; max-width:calc(100vw - 20px); flex-wrap:wrap; } }
