/* pages/promote/promote.wxss */
.page {
  min-height: 100vh;
  background-color: #F8F9FC;
  display: flex;
  flex-direction: column;
}

/* Header Section (Purple Gradient) */
.header-section {
    background: linear-gradient(180deg, #D499D8 0%, #B06AB3 100%);
    padding-bottom: 60rpx; /* Space for content overlap if needed, or just padding */
    position: relative;
    border-radius: 0 0 40rpx 40rpx;
}

/* Nav Bar */
.nav-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}

.nav-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.nav-back {
  position: absolute;
  left: 10rpx;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  padding: 20rpx;
  z-index: 10;
}

.nav-title {
  font-size: 34rpx;
  font-weight: 700;
  color: #FFFFFF;
}

/* Stats Grid */
.stats-grid {
    display: flex;
    justify-content: space-around;
    padding: 40rpx 0;
    margin-top: 20rpx;
}

.stats-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #FFFFFF;
}

.stats-value {
    font-size: 60rpx;
    font-weight: 800;
    margin-bottom: 12rpx;
}

.stats-label {
    font-size: 30rpx;
    opacity: 0.95;
    font-weight: 500;
}

/* Amount Card */
.amount-card {
    padding: 0 40rpx;
    margin-top: 20rpx;
    color: #FFFFFF;
}

.amount-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16rpx;
}

.amount-label {
    font-size: 28rpx;
    opacity: 0.9;
}

.history-btn-wrap {
    display: flex;
    align-items: center;
    gap: 4rpx;
    background: rgba(255, 255, 255, 0.2);
    padding: 6rpx 16rpx;
    border-radius: 20rpx;
}

.history-text {
    font-size: 24rpx;
}

.amount-value-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.amount-value {
    font-size: 80rpx;
    font-weight: 900;
    line-height: 1;
}

.withdraw-btn {
    background: #FFFFFF;
    color: #B06AB3;
    font-size: 28rpx;
    font-weight: 700;
    padding: 16rpx 40rpx;
    border-radius: 40rpx;
    box-shadow: 0 4rpx 12rpx rgba(0,0,0,0.1);
}

/* Main Body */
.main-body {
    padding: 0 32rpx;
    margin-top: -30rpx; /* Slight overlap */
}

/* Referral Panel */
.referral-panel {
    background: #FFFFFF;
    border-radius: 32rpx;
    padding: 32rpx;
    margin-bottom: 32rpx;
    box-shadow: 0 4rpx 20rpx rgba(0,0,0,0.02);
}

.panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 32rpx;
    padding-top:42rpx;
}

.header-left {
    display: flex;
    align-items: center;
    gap: 12rpx;
}

.purple-dot {
    width: 10rpx;
    height: 38rpx;
    background: #B06AB3;
    border-radius: 6rpx;
}

.panel-title {
    font-size: 38rpx;
    font-weight: 800;
    color: #111827;
}

.referral-count {
    font-size: 38rpx;
    font-weight: 800;
    color: #B06AB3;
}

.see-all {
    font-size: 32rpx;
    color: #B06AB3;
    font-weight: 700;
}

.user-list {
    display: flex;
    flex-direction: column;
    gap: 32rpx;
}

.user-row {
    display: flex;
    align-items: center;
    padding: 32rpx 0;
    border-bottom: 2rpx solid #F3F4F6;
}

.user-row:last-child {
    border-bottom: none;
}

.user-avatar {
    width: 110rpx;
    height: 110rpx;
    border-radius: 50%;
    background: #F3F4F6;
    margin-right: 24rpx;
    flex-shrink: 0;
}

.user-info {
    flex: 1;
    min-width: 0;
}

.user-main {
    display: flex;
    align-items: center;
    gap: 16rpx;
    margin-bottom: 8rpx;
}

.user-name {
    font-size: 36rpx;
    font-weight: 700;
    color: #1F2937;
    max-width: 240rpx;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-level {
    font-size: 24rpx;
    color: #B06AB3;
    background: rgba(176, 106, 179, 0.1);
    padding: 4rpx 16rpx;
    border-radius: 20rpx;
    font-weight: 600;
}

.user-sub {
    font-size: 28rpx;
    color: #4B5563;
}

.user-stats {
    display: flex;
    gap: 24rpx;
    text-align: right;
}

.stat-item {
    display: flex;
    flex-direction: column;
    min-width: 100rpx;
}

.stat-label {
    font-size: 24rpx;
    color: #9CA3AF;
    margin-bottom: 6rpx;
}

.stat-value {
    font-size: 30rpx;
    font-weight: 700;
    color: #1F2937;
}

.empty-state {
    width: 100%;
    text-align: center;
    color: #9CA3AF;
    font-size: 26rpx;
    padding: 40rpx 0;
}

/* Menu List */
.menu-list {
    display: flex;
    flex-direction: column;
    gap: 24rpx;
}

.menu-item {
    background: #FFFFFF;
    border-radius: 24rpx;
    padding: 40rpx 32rpx;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 2rpx 10rpx rgba(0,0,0,0.01);
}

.menu-left {
    display: flex;
    align-items: center;
    gap: 32rpx;
}

.icon-circle {
    width: 88rpx;
    height: 88rpx;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.icon-circle.purple { background: rgba(176, 106, 179, 0.1); }
.icon-circle.pink { background: rgba(236, 72, 153, 0.1); }
.icon-circle.orange { background: rgba(245, 158, 11, 0.1); }

.menu-text {
    font-size: 34rpx;
    font-weight: 700;
    color: #1F2937;
}

.btn-reset {
  background: none;
  border: none;
  padding: 40rpx 32rpx; /* Match menu-item padding */
  margin: 0;
  line-height: normal;
  border-radius: 24rpx; /* Match menu-item border-radius */
  display: flex !important; /* Force flex for button */
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  box-shadow: 0 2rpx 10rpx rgba(0,0,0,0.01);
  background-color: #FFFFFF;
}

.btn-reset::after {
  border: none;
}
