.mode-btn{padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.9rem;cursor:pointer;transition:background .15s,border-color .15s}.mode-btn:hover{background:var(--border)}.mode-btn[data-active=true]{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.address-search-note{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px 0}.address-search-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:2000;padding:16px}.address-search-modal{width:min(620px,100%);max-height:min(90vh,720px);overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 60px #00000040;padding:20px}.address-search-modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.address-search-modal-body{display:flex;flex-direction:column;gap:14px}.address-search-form{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start}.address-search-form input{flex:1 1 240px;min-width:220px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text)}.address-search-error{color:var(--accent)}.address-search-results{list-style:none;margin:0;padding:0;display:grid;gap:10px}.address-search-item{width:100%;text-align:left;display:flex;flex-direction:column;gap:6px;border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--bg);cursor:pointer;color:inherit}.address-search-item:hover{background:var(--border)}.address-search-item strong{font-size:.95rem}.address-search-item span{font-size:.82rem;color:var(--muted)}.mode-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}.mode-btn.primary:hover:not(:disabled){filter:brightness(1.1)}.mode-btn:disabled{opacity:.7;cursor:not-allowed}*{box-sizing:border-box}:root{--bg: #0f1419;--surface: #1a2332;--border: #2d3a4d;--text: #e6edf3;--muted: #8b9cb8;--accent: #58a6ff;--accent-dim: #388bfd66;--green: #3fb950;--orange: #d29922;--font-sans: "DM Sans", system-ui, sans-serif}[data-theme=light]{--bg: #f0f2f5;--surface: #ffffff;--border: #dde1e6;--text: #1a1a1a;--muted: #5c6370;--accent: #0969da;--accent-dim: #0969da33;--green: #1a7f37;--orange: #9a6700}html,body,#root{margin:0;height:100%;font-family:var(--font-sans);background:var(--bg);color:var(--text)}body{-webkit-font-smoothing:antialiased}.leaflet-container{background:var(--surface)!important;font-family:var(--font-sans)}.leaflet-popup-content-wrapper{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px}.leaflet-popup-tip{background:var(--surface)}.leaflet-div-icon.person-marker{background:transparent!important;border:none!important}.map-theme-control{padding:6px 10px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 1px 4px #00000026;font-size:.85rem;color:var(--text);cursor:pointer;display:flex;align-items:center;gap:6px}.map-theme-control:hover{background:var(--border)}.main-content{flex:1;display:flex;min-height:0}.map-wrapper{flex:1;position:relative}.distance-panel{width:250px;min-width:200px;max-width:720px;background:var(--surface);border-right:1px solid var(--border);padding:16px;overflow-y:auto;position:relative}.resize-handle:hover{background:var(--border)}@media (max-width: 720px){header{padding:10px 12px}.map-theme-control{padding:8px 10px;font-size:.9rem}}.profile-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.profile-controls label{font-size:.85rem;color:var(--muted);white-space:nowrap}.profile-controls select{min-width:180px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text)}.app-header{justify-content:space-between}.app-header-left{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.app-header-left>*{flex-shrink:0}.profile-menu-container{position:relative}.profile-menu{position:absolute;top:100%;right:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:140px;margin-top:4px}.profile-menu-item{width:100%;padding:10px 14px;background:none;border:none;color:var(--text);text-align:left;cursor:pointer;font-size:.9rem;border-radius:0}.profile-menu-item:hover{background:var(--border)}.profile-menu-item:first-child{border-top-left-radius:6px;border-top-right-radius:6px}.profile-menu-item:last-child{border-bottom-left-radius:6px;border-bottom-right-radius:6px}@media (max-width: 720px){.app-header{flex-direction:column;align-items:stretch}.app-header-left{flex-wrap:nowrap;overflow:visible;flex-direction:column;align-items:stretch}.app-header-left h1{width:100%;margin-bottom:8px}.app-header-actions{display:flex;flex-wrap:nowrap;gap:10px;width:100%;overflow:visible;align-items:center}.profile-controls{width:auto;justify-content:flex-start;flex-wrap:nowrap;overflow:visible}.profile-menu-container{overflow:visible}.profile-controls select{width:auto;min-width:120px}.app-header-left>*{flex-shrink:1}.profile-controls .mode-btn{flex:1 1 auto;min-width:0;white-space:nowrap}.profile-menu-container{position:relative}.profile-menu{position:absolute;top:100%;right:0;width:auto;min-width:160px;max-width:calc(100vw - 32px);box-shadow:0 4px 12px #00000026;border:1px solid var(--border);background:var(--surface);border-radius:8px;margin-top:8px;display:block;z-index:1000}.profile-menu-item{width:100%;min-width:0;padding:10px 14px;font-size:.85rem}}.panel-toggle,.panel-toggle-top{padding:6px 8px;font-size:.8rem}.hidden-panel-toggle{position:absolute;top:10px;left:10px;z-index:1000}@media (max-width: 720px){.hidden-panel-toggle{top:auto;bottom:24px;right:12px;left:auto}}.distance-panel.mobile{width:100%!important;left:0}.people-controls{display:flex;align-items:center;gap:8px}.clear-btn{padding:6px 10px;font-size:.85rem;white-space:nowrap}@media (max-width: 720px){.distance-panel{padding:1px}.mode-btn,.clear-btn{padding:6px 8px;font-size:.85rem}}.toast{position:fixed;opacity:.5;top:80px;left:50%;z-index:1001;background:var(--surface);color:var(--text);padding:8px 16px;border-radius:8px;border:1px solid var(--border);box-shadow:0 2px 8px #00000026;font-size:.9rem}
