.mp-lock{overflow:hidden}
.mp-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:12px;background:rgba(0,0,0,.55)}
.mp-box{width:min(720px,100%);max-height:calc(100dvh - 24px);display:flex;flex-direction:column;border-radius:12px;background:#fff;color:#1c1c1c;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.4);font:14px/1.45 system-ui,"Segoe UI",Arial,sans-serif}
.mp-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e8e8e8;font-size:16px}
.mp-x{width:34px;height:34px;border:0;border-radius:50%;background:#f1f1f1;font-size:22px;line-height:1;cursor:pointer}
.mp-map{height:min(56dvh,460px);min-height:260px;background:#e8eef2}
.mp-hint{margin:0;padding:10px 16px 0;color:#666;font-size:13px}
.mp-warn{margin:8px 16px 0;padding:8px 10px;border-radius:6px;background:#fdecea;color:#b71c1c;font-weight:600;font-size:13px}
.mp-foot{display:flex;gap:8px;align-items:center;padding:12px 16px}
.mp-btn{border:0;border-radius:7px;padding:11px 18px;background:#d62839;color:#fff;font:700 14px system-ui,Arial,sans-serif;cursor:pointer}
.mp-btn.ghost{background:#f1f1f1;color:#1c1c1c}
.mp-btn:disabled{opacity:.45;cursor:not-allowed}
