#zimuRechargeDock { display: inline-flex; align-items: center; }

.zimu-recharge-inline { margin-left: 8px; }

.zimu-recharge-canvas {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

.zimu-recharge-inline .zimu-recharge-button,
.zimu-recharge-canvas .zimu-recharge-button,
.zimu-recharge-fab .zimu-recharge-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(148, 163, 184, .34);
  outline: none;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.zimu-recharge-inline .zimu-recharge-button {
  min-height: 36px;
  padding: 0 13px;
  border-radius: 10px;
  color: #1f2937;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
}

.zimu-recharge-canvas .zimu-recharge-button {
  min-height: 32px;
  padding: 0 10px;
  border-radius: 7px;
  color: inherit;
  background: rgba(255, 255, 255, .08);
  border-color: rgba(231, 229, 228, .2);
  box-shadow: none;
}

.zimu-recharge-fab {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 64;
}

.zimu-recharge-fab .zimu-recharge-button {
  min-height: 48px;
  padding: 0 16px;
  border-radius: 999px;
  color: #fff;
  background: rgba(17, 24, 39, .92);
  border-color: rgba(255, 255, 255, .1);
  box-shadow: 0 18px 40px rgba(15, 23, 42, .24);
}

.zimu-recharge-inline .zimu-recharge-button:hover,
.zimu-recharge-canvas .zimu-recharge-button:hover,
.zimu-recharge-fab .zimu-recharge-button:hover {
  transform: translateY(-1px);
}

.zimu-recharge-inline .zimu-recharge-button:hover {
  color: #a65340;
  border-color: rgba(166, 83, 64, .35);
}

.zimu-recharge-canvas .zimu-recharge-button:hover {
  color: inherit;
  background: rgba(255, 255, 255, .14);
  border-color: rgba(231, 229, 228, .34);
}

.zimu-recharge-fab .zimu-recharge-button:hover {
  border-color: rgba(255, 255, 255, .18);
}

.zimu-recharge-inline .zimu-recharge-button:active,
.zimu-recharge-canvas .zimu-recharge-button:active,
.zimu-recharge-fab .zimu-recharge-button:active {
  transform: translateY(0) scale(.98);
}

.zimu-recharge-label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
}

.zimu-recharge-balance {
  font-size: 11px;
  font-weight: 600;
  opacity: .72;
  white-space: nowrap;
}

.zimu-recharge-inline .zimu-recharge-balance {
  color: #6b7280;
}

.zimu-recharge-canvas .zimu-recharge-balance {
  color: inherit;
  opacity: .68;
}

.zimu-recharge-fab .zimu-recharge-balance {
  color: rgba(255, 255, 255, .86);
}

@media (max-width: 640px) {
  .zimu-recharge-inline { margin-left: 4px; }
  .zimu-recharge-inline .zimu-recharge-button {
    min-height: 34px;
    padding: 0 11px;
  }
  .zimu-recharge-canvas .zimu-recharge-button {
    min-height: 32px;
    padding: 0 9px;
  }
  .zimu-recharge-fab {
    right: 14px;
    bottom: 14px;
  }
  .zimu-recharge-fab .zimu-recharge-button {
    min-height: 44px;
    padding: 0 14px;
  }
}
