html,body{height:100%;margin:0;font-family:system-ui,sans-serif;color:#163451}
body{display:flex;flex-direction:column}header{padding:12px 20px;display:flex;align-items:center;gap:18px;background:#fff;border-bottom:1px solid #dce5ef}header span{font-size:14px;color:#526477}header a{margin-left:auto;color:#1d508f}#map{flex:1;min-height:200px}#status{position:absolute;z-index:1000;bottom:30px;left:50%;transform:translateX(-50%);padding:12px 18px;background:white;border-radius:8px;box-shadow:0 2px 12px #0002;max-width:80vw}.leaflet-control-attribution{font-size:12px!important}
.tools{padding:12px 20px;background:#fff;max-height:36vh;overflow:auto}.tools p{font-size:13px;margin:8px 0}.tools label{display:block;font-weight:600;margin-bottom:6px}.tools input{padding:9px;border:1px solid #aebfd0;border-radius:5px;width:min(420px,60vw);font:inherit;box-sizing:border-box}.tools button{padding:9px 12px;background:#1d508f;border:0;border-radius:5px;color:white;cursor:pointer;font:inherit}.tools button:disabled{opacity:.5;cursor:default}.tools ul{padding:0;list-style:none}.tools li{padding:8px 0;border-bottom:1px solid #e1e8ef;display:flex;gap:8px;align-items:center}.tools li span{flex:1}.route-points{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;margin-bottom:10px}.tools li button{font-size:12px;flex-shrink:0}
