.xps-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1300;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(15, 23, 42, .6);
  backdrop-filter: blur(5px);
}

.xps-dialog {
  width: min(590px, 100%);
  max-height: min(760px, calc(100vh - 40px));
  overflow: auto;
  border-radius: 20px;
  color: #182230;
  background: #fff;
  box-shadow: 0 28px 90px rgba(15, 23, 42, .32);
  font: 14px/1.55 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.xps-header,
.xps-body { padding: 22px 26px; }
.xps-header { display: flex; justify-content: space-between; gap: 18px; border-bottom: 1px solid #edf0f5; }
.xps-header h2 { margin: 2px 0; font-size: 22px; line-height: 1.3; }
.xps-close { width: 36px; height: 36px; border: 1px solid #e1e6ef; border-radius: 50%; color: #667085; background: #fff; cursor: pointer; font-size: 25px; line-height: 1; }
.xps-close:hover { color: #1d2939; background: #f6f8fb; }

.xps-actions { display: flex; margin-bottom: 14px; }
.xps-button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 17px; border: 1px solid #d0d5dd; border-radius: 10px; color: #344054; background: #fff; text-decoration: none; cursor: pointer; font-weight: 700; }
.xps-button-primary { width: 100%; border-color: #246bfe; color: #fff; background: #246bfe; }
.xps-button-primary:hover { background: #1558de; }
.xps-button:disabled { opacity: .6; cursor: not-allowed; }
.xps-status { min-height: 0; margin-top: 12px; }
.xps-status:empty { display: none; }
.xps-status-success, .xps-status-info { padding: 10px 12px; border-radius: 9px; color: #067647; background: #ecfdf3; }
.xps-status-info { color: #175cd3; background: #eff8ff; }
.xps-status-error { padding: 10px 12px; border-radius: 9px; color: #b42318; background: #fef3f2; }
.xps-channel-content { margin-top: 14px; }
.xps-tabs { display: flex; gap: 8px; padding: 5px; border-radius: 12px; background: #f2f4f7; }
.xps-tab { flex: 1; min-height: 40px; border: 0; border-radius: 9px; color: #667085; background: transparent; cursor: pointer; font-weight: 700; }
.xps-tab[aria-selected="true"] { color: #175cd3; background: #fff; box-shadow: 0 2px 5px rgba(16, 24, 40, .08); }
.xps-panel { padding: 14px 4px 0; }
.xps-wechat-title { color: #1d2939 !important; font-size: 16px; font-weight: 700; }
.xps-qr { display: block; width: min(250px, 100%); margin: 0 auto; border: 1px solid #e4e7ec; border-radius: 12px; background: #fff; }
@media (max-width: 640px) {
  .xps-backdrop { padding: 0; align-items: end; }
  .xps-dialog { width: 100%; max-height: 90vh; border-radius: 20px 20px 0 0; }
  .xps-header, .xps-body { padding: 20px; }
  .xps-header h2 { font-size: 21px; }
}
