.map-search-row{display:flex;gap:8px;margin-bottom:10px}.map-query{min-width:0;flex:1}.map-search-row .button{flex-shrink:0}.map-stage{height:280px;border:1px solid #e2e8f0;border-radius:14px;position:relative;overflow:hidden;background:#f1f5f9}.map-canvas{width:100%;height:100%}.map-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center;font-size:13px;line-height:1.9;background:#f8fafc;color:#64748b}.map-tools{display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap;margin:10px 0}.map-tools .button{font-size:11px;min-height:34px;padding:5px 9px}.map-status{min-height:36px}.map-results{max-height:210px;overflow:auto;margin:0 0 10px;border:1px solid #e2e8f0;border-radius:12px}.map-result{display:flex;flex-direction:column;align-items:flex-start;gap:5px;width:100%;border:0;border-bottom:1px solid #f1f5f9;text-align:left;padding:12px;background:white;cursor:pointer;font:inherit;color:#334155}.map-result:hover,.map-result:focus-visible{background:#eff6ff}.map-result strong{font-size:13px;font-weight:600}.map-result span{font-size:11px;color:#64748b;line-height:1.7}.map-result:last-child{border-bottom:0}.map-coordinates .help{margin:10px 0}.map-dialog .modal-body{scrollbar-width:thin}.map-dialog .map-canvas img{max-width:none}.map-dialog .amap-copyright,.map-dialog .amap-logo{font-size:9px}.map-dialog .map-stage:focus-within{outline:2px solid #93c5fd;outline-offset:2px}@media(max-width:360px){.map-stage{height:240px}.map-tools .button{font-size:10px;padding:5px 7px}}
.campus-map-pin{display:block;width:26px;height:26px;margin-bottom:7px;background:#2563eb;border:3px solid white;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 2px 6px #1e3a8a66}.campus-map-pin:after{content:"";position:absolute;width:8px;height:8px;left:6px;top:6px;border-radius:50%;background:white}
