*{box-sizing:border-box} body{margin:0;font-family:system-ui,sans-serif;height:100vh;display:flex;flex-direction:column;color:#252521} header{display:flex;gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid #d3d1c7;background:white;flex-wrap:wrap} h1{font-size:14px;font-weight:600;margin:0 8px 0 0} input{border:1px solid #d3d1c7;border-radius:6px;padding:6px 8px;font-size:13px} #q{width:320px} label{font-size:12px;color:#5f5e5a;display:flex;gap:4px;align-items:center} label input{width:70px} button{border:1px solid #639922;background:#eaf3de;color:#315c0d;border-radius:6px;padding:7px 12px;font-size:13px;cursor:pointer} main{flex:1;display:flex;min-height:0} #map{flex:1} aside{width:390px;border-left:1px solid #d3d1c7;background:#fff;overflow:auto;padding:12px} #status{font-size:13px;line-height:1.45;margin-bottom:8px;padding:8px;background:#f4f3ef;border-radius:6px}.small{font-size:11px;color:#77746d;line-height:1.45;margin-bottom:12px} table{width:100%;border-collapse:collapse;font-size:12px} th,td{text-align:left;padding:6px 4px;border-bottom:1px solid #eceae3;vertical-align:top} th{font-size:10px;text-transform:uppercase;color:#77746d;letter-spacing:.04em}.badge{display:inline-block;border-radius:12px;padding:2px 7px;background:#eaf3de;color:#315c0d;font-size:11px}.warn{background:#faeeda;color:#633806}.road-label{font-size:11px;font-weight:600;color:#223;background:rgba(255,255,255,.85);border:1px solid #d3d1c7;border-radius:4px;padding:1px 4px;}
