/* 支付组件样式，与罚款列表统一 */
.pay-mask {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.5); z-index: 2000;
    display: flex; align-items: flex-end; justify-content: center;
  }
  .pay-panel {
    width: 100%; max-height: 85vh; background: #fff;
    border-radius: 24rpx 24rpx 0 0; display: flex; flex-direction: column; overflow: hidden;
  }
  .pay-head {
    display: flex; justify-content: space-between; align-items: center;
    padding: 28rpx 30rpx 16rpx; border-bottom: 1px solid #eee;
  }
  .pay-title { font-size: 32rpx; font-weight: 600; }
  .pay-close {
    width: 44rpx; height: 44rpx; background: #f5f5f5;
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    font-size: 26rpx; color: #888;
  }
  .pay-body { padding: 20rpx 30rpx; flex: 1; overflow-y: auto; }
  .pay-foot {
    display: flex; padding: 16rpx 30rpx 30rpx; gap: 20rpx; border-top: 1px solid #eee;
  }
  
  .method-item {
    display: flex; flex-direction: column; align-items: center;
    padding: 40rpx 30rpx; background: #f9f9f9; border-radius: 20rpx; margin-bottom: 20rpx;
  }
  .method-icon { font-size: 48rpx; margin-bottom: 12rpx; }
  .method-icon-alipay {
    width: 48rpx; height: 48rpx; line-height: 48rpx; text-align: center;
    background: #1677ff; color: #fff; font-size: 30rpx; font-weight: 700;
    border-radius: 10rpx;
  }
  .method-name { font-size: 28rpx; color: #333; }
  
  .balance-item {
    display: flex; justify-content: space-between; align-items: center;
    padding: 24rpx 0; border-bottom: 1rpx solid #f0f0f0;
  }
  .balance-name { font-size: 28rpx; color: #333; }
  .balance-amount { font-size: 28rpx; color: #E53935; }
  
  .confirm-row { font-size: 28rpx; margin-bottom: 16rpx; }
  .confirm-tip { font-size: 24rpx; color: #888; display: block; margin-top: 20rpx; }
  
  .loading-box {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    background: rgba(0,0,0,0.6);
  }
  .spinner {
    width: 60rpx; height: 60rpx;
    border: 4rpx solid rgba(255,255,255,0.3);
    border-top-color: #fff; border-radius: 50%;
    animation: spin 1s linear infinite; margin-bottom: 20rpx;
  }
  @keyframes spin { to { transform: rotate(360deg); } }
  .loading-text { color: #fff; font-size: 26rpx; }
  
  .pbtn { flex: 1; text-align: center; padding: 22rpx 0; border-radius: 16rpx; font-size: 28rpx; font-weight: 600; }
  .primary { background: #2e7d32; color: #fff; }
  .default { background: #f0f0f0; color: #555; }
  .pbtn:active { opacity: 0.8; }