.recharge-dialog {
  width: min(460px, calc(100vw - 32px));
  box-sizing: border-box;
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
  border: 1px solid #7180bf;
  border-radius: 16px;
  padding: 26px;
  color: #f6f6ff;
  background: #1c2344;
  box-shadow: 0 24px 90px #0008;
  font-family: "Segoe UI", "Microsoft YaHei", sans-serif;
}
.recharge-dialog::backdrop { background: #06091bb3; backdrop-filter: blur(5px); }
.recharge-dialog h2 { margin: 0 0 12px; font-size: 23px; }
.recharge-dialog .recharge-hint { color: #c4cbed; font-size: 14px; line-height: 1.7; }
.recharge-dialog label { display: block; margin: 18px 0; }
.recharge-dialog label span { display: block; margin-bottom: 8px; }
.recharge-dialog input { width: 100%; box-sizing: border-box; padding: 12px; border: 1px solid #7180bf; border-radius: 8px; color: #fff; background: #111936; font: inherit; }
.recharge-dialog input:focus { outline: 2px solid #86edde; outline-offset: 2px; }
.recharge-actions { display: flex; justify-content: flex-end; gap: 12px; }
.recharge-actions button { padding: 10px 18px; border: 1px solid #7e8bc3; border-radius: 8px; color: #fff; background: #303b6a; font: inherit; cursor: pointer; }
#rechargeSubmit { color: #102e38; background: #86edde; border-color: #86edde; }
.recharge-dialog button:disabled { opacity: .55; cursor: wait; }
.recharge-message { white-space: pre-line; min-height: 24px; line-height: 1.7; font-size: 14px; overflow-wrap: anywhere; }
.recharge-message.error { color: #ffb1bd; }
.recharge-message.ok { color: #8af0cd; }
#accessRecharge { grid-column: 1 / -1; }
