    /* 套餐对应关系设置弹窗 */
    .mtgm-overlay {
      position: fixed; inset: 0; background: rgba(0,0,0,.45);
      display: flex; align-items: center; justify-content: center;
      z-index: 9999;
    }
    .mtgm-config-overlay {
      align-items: stretch;
      justify-content: center;
      padding: 16px;
    }
    .mtgm-config-shell {
      width: min(1420px, calc(100vw - 32px));
      max-height: calc(100vh - 32px);
      display: grid;
      grid-template-columns: minmax(640px, 720px) minmax(540px, 1fr);
      gap: 0;
      align-self: center;
      box-shadow: 0 8px 28px rgba(0,0,0,.18);
      border-radius: 10px;
    }
    .mtgm-modal {
      background: #fff; border-radius: 12px; width: 720px; max-height: 80vh;
      display: flex; flex-direction: column; box-shadow: 0 6px 24px rgba(0,0,0,.15);
    }
    .mtgm-config-shell .mtgm-modal {
      width: auto;
      max-height: calc(100vh - 32px);
      border-radius: 8px 0 0 8px;
      box-shadow: none;
    }
    .mtgm-modal-head {
      display: flex; align-items: center; justify-content: space-between;
      padding: 16px 20px; border-bottom: 1px solid var(--border);
    }
    .mtgm-modal-title { font-size: 16px; font-weight: 600; color: var(--text-primary); }
    .mtgm-modal-close {
      width: 28px; height: 28px; display: flex; align-items: center; justify-content: center;
      font-size: 18px; color: var(--text-muted); cursor: pointer; border-radius: 4px;
    }
    .mtgm-modal-close:hover { background: #f5f5f5; color: var(--text-primary); }
    .mtgm-modal-body {
      flex: 1; overflow-y: auto; padding: 16px 20px;
    }
    .mtgm-map-item {
      display: flex; align-items: center; gap: 12px;
      padding: 12px 0; border-bottom: 1px solid var(--border-light);
    }
    .mtgm-map-item.status-auto {
      margin: 0 -8px; padding: 12px 8px; border-left: 3px solid #f0a33a;
      background: #fffaf2;
    }
    .mtgm-map-item.status-unmapped {
      margin: 0 -8px; padding: 12px 8px; border-left: 3px solid var(--red);
      background: #fff8f8;
    }
    .mtgm-map-item:last-child { border-bottom: none; }
    .mtgm-map-left {
      flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px;
    }
    .mtgm-map-img {
      width: 40px; height: 40px; border-radius: 6px;
      display: flex; align-items: center; justify-content: center;
      font-size: 18px; flex-shrink: 0; background: #f5f5f5;
      border: 1px solid var(--border-light);
    }
    .mtgm-map-info { flex: 1; min-width: 0; }
    .mtgm-map-mt-name {
      font-size: 14px; font-weight: 500; color: var(--text-primary);
      white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .mtgm-map-mt-sub {
      font-size: 12px; color: var(--text-muted); margin-top: 2px;
      display: flex; align-items: center; gap: 4px;
    }
    .mtgm-map-price-input {
      width: 80px; padding: 3px 8px; border: 1px solid var(--border);
      border-radius: 4px; font-size: 13px; color: var(--text-primary);
      text-align: right; outline: none;
    }
    .mtgm-map-price-input:focus { border-color: var(--brand); }
    .mtgm-map-arrow {
      flex-shrink: 0; color: var(--text-muted); font-size: 16px;
    }
    .mtgm-map-right { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
    .mtgm-map-picker-btn {
      display: inline-flex; align-items: center; gap: 6px;
      height: 32px; padding: 0 12px; border: 1px dashed var(--brand);
      border-radius: 4px; font-size: 13px; color: var(--brand);
      background: var(--brand-light); cursor: pointer; white-space: nowrap;
      overflow: hidden; text-overflow: ellipsis; max-width: 100%;
    }
    .mtgm-map-picker-btn:hover { background: #d4edda; }
    .mtgm-map-picker-btn.empty { border-style: dashed; color: var(--brand); }
    .mtgm-map-picker-btn.filled { border-style: solid; background: #e8f5ee; color: var(--brand-dark); }
    .mtgm-map-picker-btn.auto { border-style: solid; background: #fff6e6; border-color: #f0a33a; color: #9a5a00; }
    .mtgm-map-bld-hint {
      font-size: 11px; color: var(--text-muted);
    }
    .mtgm-map-status {
      flex-shrink: 0; font-size: 12px; white-space: nowrap;
    }
    .mtgm-map-status.ok { color: var(--brand); }
    .mtgm-map-status.auto { color: #d98200; }
    .mtgm-map-status.no { color: var(--red); }
    .mtgm-map-group {
      background: #f8f9fa; border: 1px solid var(--border-light);
      border-radius: 8px; padding: 10px 12px; margin: 4px 0 8px;
      font-size: 12px; color: var(--text-secondary);
    }
    .mtgm-map-group-title {
      font-size: 13px; font-weight: 600; color: var(--text-primary); margin-bottom: 4px;
    }
    .mtgm-map-option-tag {
      display: inline-flex; align-items: center; height: 20px; padding: 0 7px;
      border-radius: 10px; background: #fff3e0; color: #e09513;
      font-size: 11px; margin-left: 6px; font-weight: 400;
    }
